(function() { var CSRFToken, Click, ComponentUrl, EVENTS, Link, ProgressBar, browserIsntBuggy, browserSupportsCustomEvents, browserSupportsPushState, browserSupportsTurbolinks, bypassOnLoadPopstate, cacheCurrentPage, cacheSize, changePage, clone, constrainPageCacheTo, createDocument, crossOriginRedirect, currentState, enableProgressBar, enableTransitionCache, executeScriptTags, extractTitleAndBody, fetch, fetchHistory, fetchReplacement, historyStateIsDefined, initializeTurbolinks, installDocumentReadyPageEventTriggers, installHistoryChangeHandler, installJqueryAjaxSuccessPageUpdateTrigger, loadedAssets, manuallyTriggerHashChangeForFirefox, pageCache, pageChangePrevented, pagesCached, popCookie, processResponse, progressBar, recallScrollPosition, ref, referer, reflectNewUrl, reflectRedirectedUrl, rememberCurrentState, rememberCurrentUrl, rememberReferer, removeNoscriptTags, requestMethodIsSafe, resetScrollPosition, setAutofocusElement, transitionCacheEnabled, transitionCacheFor, triggerEvent, visit, xhr, indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; }, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty, slice = [].slice, bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; pageCache = {}; cacheSize = 10; transitionCacheEnabled = false; progressBar = null; currentState = null; loadedAssets = null; referer = null; xhr = null; EVENTS = { BEFORE_CHANGE: 'page:before-change', FETCH: 'page:fetch', RECEIVE: 'page:receive', CHANGE: 'page:change', UPDATE: 'page:update', LOAD: 'page:load', RESTORE: 'page:restore', BEFORE_UNLOAD: 'page:before-unload', EXPIRE: 'page:expire' }; fetch = function(url) { var cachedPage; url = new ComponentUrl(url); rememberReferer(); cacheCurrentPage(); if (progressBar != null) { progressBar.start(); } if (transitionCacheEnabled && (cachedPage = transitionCacheFor(url.absolute))) { fetchHistory(cachedPage); return fetchReplacement(url, null, false); } else { return fetchReplacement(url, resetScrollPosition); } }; transitionCacheFor = function(url) { var cachedPage; cachedPage = pageCache[url]; if (cachedPage && !cachedPage.transitionCacheDisabled) { return cachedPage; } }; enableTransitionCache = function(enable) { if (enable == null) { enable = true; } return transitionCacheEnabled = enable; }; enableProgressBar = function(enable) { if (enable == null) { enable = true; } if (!browserSupportsTurbolinks) { return; } if (enable) { return progressBar != null ? progressBar : progressBar = new ProgressBar('html'); } else { if (progressBar != null) { progressBar.uninstall(); } return progressBar = null; } }; fetchReplacement = function(url, onLoadFunction, showProgressBar) { if (showProgressBar == null) { showProgressBar = true; } triggerEvent(EVENTS.FETCH, { url: url.absolute }); if (xhr != null) { xhr.abort(); } xhr = new XMLHttpRequest; xhr.open('GET', url.withoutHashForIE10compatibility(), true); xhr.setRequestHeader('Accept', 'text/html, application/xhtml+xml, application/xml'); xhr.setRequestHeader('X-XHR-Referer', referer); xhr.onload = function() { var doc; triggerEvent(EVENTS.RECEIVE, { url: url.absolute }); if (doc = processResponse()) { reflectNewUrl(url); reflectRedirectedUrl(); changePage.apply(null, extractTitleAndBody(doc)); manuallyTriggerHashChangeForFirefox(); if (typeof onLoadFunction === "function") { onLoadFunction(); } return triggerEvent(EVENTS.LOAD); } else { return document.location.href = crossOriginRedirect() || url.absolute; } }; if (progressBar && showProgressBar) { xhr.onprogress = (function(_this) { return function(event) { var percent; percent = event.lengthComputable ? event.loaded / event.total * 100 : progressBar.value + (100 - progressBar.value) / 10; return progressBar.advanceTo(percent); }; })(this); } xhr.onloadend = function() { return xhr = null; }; xhr.onerror = function() { return document.location.href = url.absolute; }; return xhr.send(); }; fetchHistory = function(cachedPage) { if (xhr != null) { xhr.abort(); } changePage(cachedPage.title, cachedPage.body); recallScrollPosition(cachedPage); return triggerEvent(EVENTS.RESTORE); }; cacheCurrentPage = function() { var currentStateUrl; currentStateUrl = new ComponentUrl(currentState.url); pageCache[currentStateUrl.absolute] = { url: currentStateUrl.relative, body: document.body, title: document.title, positionY: window.pageYOffset, positionX: window.pageXOffset, cachedAt: new Date().getTime(), transitionCacheDisabled: document.querySelector('[data-no-transition-cache]') != null }; return constrainPageCacheTo(cacheSize); }; pagesCached = function(size) { if (size == null) { size = cacheSize; } if (/^[\d]+$/.test(size)) { return cacheSize = parseInt(size); } }; constrainPageCacheTo = function(limit) { var cacheTimesRecentFirst, i, key, len, pageCacheKeys, results; pageCacheKeys = Object.keys(pageCache); cacheTimesRecentFirst = pageCacheKeys.map(function(url) { return pageCache[url].cachedAt; }).sort(function(a, b) { return b - a; }); results = []; for (i = 0, len = pageCacheKeys.length; i < len; i++) { key = pageCacheKeys[i]; if (!(pageCache[key].cachedAt <= cacheTimesRecentFirst[limit])) { continue; } triggerEvent(EVENTS.EXPIRE, pageCache[key]); results.push(delete pageCache[key]); } return results; }; changePage = function(title, body, csrfToken, runScripts) { triggerEvent(EVENTS.BEFORE_UNLOAD); document.title = title; document.documentElement.replaceChild(body, document.body); if (csrfToken != null) { CSRFToken.update(csrfToken); } setAutofocusElement(); if (runScripts) { executeScriptTags(); } currentState = window.history.state; if (progressBar != null) { progressBar.done(); } triggerEvent(EVENTS.CHANGE); return triggerEvent(EVENTS.UPDATE); }; executeScriptTags = function() { var attr, copy, i, j, len, len1, nextSibling, parentNode, ref, ref1, script, scripts; scripts = Array.prototype.slice.call(document.body.querySelectorAll('script:not([data-turbolinks-eval="false"])')); for (i = 0, len = scripts.length; i < len; i++) { script = scripts[i]; if (!((ref = script.type) === '' || ref === 'text/javascript')) { continue; } copy = document.createElement('script'); ref1 = script.attributes; for (j = 0, len1 = ref1.length; j < len1; j++) { attr = ref1[j]; copy.setAttribute(attr.name, attr.value); } if (!script.hasAttribute('async')) { copy.async = false; } copy.appendChild(document.createTextNode(script.innerHTML)); parentNode = script.parentNode, nextSibling = script.nextSibling; parentNode.removeChild(script); parentNode.insertBefore(copy, nextSibling); } }; removeNoscriptTags = function(node) { node.innerHTML = node.innerHTML.replace(//ig, ''); return node; }; setAutofocusElement = function() { var autofocusElement, list; autofocusElement = (list = document.querySelectorAll('input[autofocus], textarea[autofocus]'))[list.length - 1]; if (autofocusElement && document.activeElement !== autofocusElement) { return autofocusElement.focus(); } }; reflectNewUrl = function(url) { if ((url = new ComponentUrl(url)).absolute !== referer) { return window.history.pushState({ turbolinks: true, url: url.absolute }, '', url.absolute); } }; reflectRedirectedUrl = function() { var location, preservedHash; if (location = xhr.getResponseHeader('X-XHR-Redirected-To')) { location = new ComponentUrl(location); preservedHash = location.hasNoHash() ? document.location.hash : ''; return window.history.replaceState(window.history.state, '', location.href + preservedHash); } }; crossOriginRedirect = function() { var redirect; if (((redirect = xhr.getResponseHeader('Location')) != null) && (new ComponentUrl(redirect)).crossOrigin()) { return redirect; } }; rememberReferer = function() { return referer = document.location.href; }; rememberCurrentUrl = function() { return window.history.replaceState({ turbolinks: true, url: document.location.href }, '', document.location.href); }; rememberCurrentState = function() { return currentState = window.history.state; }; manuallyTriggerHashChangeForFirefox = function() { var url; if (navigator.userAgent.match(/Firefox/) && !(url = new ComponentUrl).hasNoHash()) { window.history.replaceState(currentState, '', url.withoutHash()); return document.location.hash = url.hash; } }; recallScrollPosition = function(page) { return window.scrollTo(page.positionX, page.positionY); }; resetScrollPosition = function() { if (document.location.hash) { return document.location.href = document.location.href; } else { return window.scrollTo(0, 0); } }; clone = function(original) { var copy, key, value; if ((original == null) || typeof original !== 'object') { return original; } copy = new original.constructor(); for (key in original) { value = original[key]; copy[key] = clone(value); } return copy; }; popCookie = function(name) { var ref, value; value = ((ref = document.cookie.match(new RegExp(name + "=(\\w+)"))) != null ? ref[1].toUpperCase() : void 0) || ''; document.cookie = name + '=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/'; return value; }; triggerEvent = function(name, data) { var event; if (typeof Prototype !== 'undefined') { Event.fire(document, name, data, true); } event = document.createEvent('Events'); if (data) { event.data = data; } event.initEvent(name, true, true); return document.dispatchEvent(event); }; pageChangePrevented = function(url) { return !triggerEvent(EVENTS.BEFORE_CHANGE, { url: url }); }; processResponse = function() { var assetsChanged, clientOrServerError, doc, extractTrackAssets, intersection, validContent; clientOrServerError = function() { var ref; return (400 <= (ref = xhr.status) && ref < 600); }; validContent = function() { var contentType; return ((contentType = xhr.getResponseHeader('Content-Type')) != null) && contentType.match(/^(?:text\/html|application\/xhtml\+xml|application\/xml)(?:;|$)/); }; extractTrackAssets = function(doc) { var i, len, node, ref, results; ref = doc.querySelector('head').childNodes; results = []; for (i = 0, len = ref.length; i < len; i++) { node = ref[i]; if ((typeof node.getAttribute === "function" ? node.getAttribute('data-turbolinks-track') : void 0) != null) { results.push(node.getAttribute('src') || node.getAttribute('href')); } } return results; }; assetsChanged = function(doc) { var fetchedAssets; loadedAssets || (loadedAssets = extractTrackAssets(document)); fetchedAssets = extractTrackAssets(doc); return fetchedAssets.length !== loadedAssets.length || intersection(fetchedAssets, loadedAssets).length !== loadedAssets.length; }; intersection = function(a, b) { var i, len, ref, results, value; if (a.length > b.length) { ref = [b, a], a = ref[0], b = ref[1]; } results = []; for (i = 0, len = a.length; i < len; i++) { value = a[i]; if (indexOf.call(b, value) >= 0) { results.push(value); } } return results; }; if (!clientOrServerError() && validContent()) { doc = createDocument(xhr.responseText); if (doc && !assetsChanged(doc)) { return doc; } } }; extractTitleAndBody = function(doc) { var title; title = doc.querySelector('title'); return [title != null ? title.textContent : void 0, removeNoscriptTags(doc.querySelector('body')), CSRFToken.get(doc).token, 'runScripts']; }; CSRFToken = { get: function(doc) { var tag; if (doc == null) { doc = document; } return { node: tag = doc.querySelector('meta[name="csrf-token"]'), token: tag != null ? typeof tag.getAttribute === "function" ? tag.getAttribute('content') : void 0 : void 0 }; }, update: function(latest) { var current; current = this.get(); if ((current.token != null) && (latest != null) && current.token !== latest) { return current.node.setAttribute('content', latest); } } }; createDocument = function(html) { var doc; doc = document.documentElement.cloneNode(); doc.innerHTML = html; doc.head = doc.querySelector('head'); doc.body = doc.querySelector('body'); return doc; }; ComponentUrl = (function() { function ComponentUrl(original1) { this.original = original1 != null ? original1 : document.location.href; if (this.original.constructor === ComponentUrl) { return this.original; } this._parse(); } ComponentUrl.prototype.withoutHash = function() { return this.href.replace(this.hash, '').replace('#', ''); }; ComponentUrl.prototype.withoutHashForIE10compatibility = function() { return this.withoutHash(); }; ComponentUrl.prototype.hasNoHash = function() { return this.hash.length === 0; }; ComponentUrl.prototype.crossOrigin = function() { return this.origin !== (new ComponentUrl).origin; }; ComponentUrl.prototype._parse = function() { var ref; (this.link != null ? this.link : this.link = document.createElement('a')).href = this.original; ref = this.link, this.href = ref.href, this.protocol = ref.protocol, this.host = ref.host, this.hostname = ref.hostname, this.port = ref.port, this.pathname = ref.pathname, this.search = ref.search, this.hash = ref.hash; this.origin = [this.protocol, '//', this.hostname].join(''); if (this.port.length !== 0) { this.origin += ":" + this.port; } this.relative = [this.pathname, this.search, this.hash].join(''); return this.absolute = this.href; }; return ComponentUrl; })(); Link = (function(superClass) { extend(Link, superClass); Link.HTML_EXTENSIONS = ['html']; Link.allowExtensions = function() { var extension, extensions, i, len; extensions = 1 <= arguments.length ? slice.call(arguments, 0) : []; for (i = 0, len = extensions.length; i < len; i++) { extension = extensions[i]; Link.HTML_EXTENSIONS.push(extension); } return Link.HTML_EXTENSIONS; }; function Link(link1) { this.link = link1; if (this.link.constructor === Link) { return this.link; } this.original = this.link.href; this.originalElement = this.link; this.link = this.link.cloneNode(false); Link.__super__.constructor.apply(this, arguments); } Link.prototype.shouldIgnore = function() { return this.crossOrigin() || this._anchored() || this._nonHtml() || this._optOut() || this._target(); }; Link.prototype._anchored = function() { return (this.hash.length > 0 || this.href.charAt(this.href.length - 1) === '#') && (this.withoutHash() === (new ComponentUrl).withoutHash()); }; Link.prototype._nonHtml = function() { return this.pathname.match(/\.[a-z]+$/g) && !this.pathname.match(new RegExp("\\.(?:" + (Link.HTML_EXTENSIONS.join('|')) + ")?$", 'g')); }; Link.prototype._optOut = function() { var ignore, link; link = this.originalElement; while (!(ignore || link === document)) { ignore = link.getAttribute('data-no-turbolink') != null; link = link.parentNode; } return ignore; }; Link.prototype._target = function() { return this.link.target.length !== 0; }; return Link; })(ComponentUrl); Click = (function() { Click.installHandlerLast = function(event) { if (!event.defaultPrevented) { document.removeEventListener('click', Click.handle, false); return document.addEventListener('click', Click.handle, false); } }; Click.handle = function(event) { return new Click(event); }; function Click(event1) { this.event = event1; if (this.event.defaultPrevented) { return; } this._extractLink(); if (this._validForTurbolinks()) { if (!pageChangePrevented(this.link.absolute)) { visit(this.link.href); } this.event.preventDefault(); } } Click.prototype._extractLink = function() { var link; link = this.event.target; while (!(!link.parentNode || link.nodeName === 'A')) { link = link.parentNode; } if (link.nodeName === 'A' && link.href.length !== 0) { return this.link = new Link(link); } }; Click.prototype._validForTurbolinks = function() { return (this.link != null) && !(this.link.shouldIgnore() || this._nonStandardClick()); }; Click.prototype._nonStandardClick = function() { return this.event.which > 1 || this.event.metaKey || this.event.ctrlKey || this.event.shiftKey || this.event.altKey; }; return Click; })(); ProgressBar = (function() { var className; className = 'turbolinks-progress-bar'; function ProgressBar(elementSelector) { this.elementSelector = elementSelector; this._trickle = bind(this._trickle, this); this.value = 0; this.content = ''; this.speed = 300; this.opacity = 0.99; this.install(); } ProgressBar.prototype.install = function() { this.element = document.querySelector(this.elementSelector); this.element.classList.add(className); this.styleElement = document.createElement('style'); document.head.appendChild(this.styleElement); return this._updateStyle(); }; ProgressBar.prototype.uninstall = function() { this.element.classList.remove(className); return document.head.removeChild(this.styleElement); }; ProgressBar.prototype.start = function() { return this.advanceTo(5); }; ProgressBar.prototype.advanceTo = function(value) { var ref; if ((value > (ref = this.value) && ref <= 100)) { this.value = value; this._updateStyle(); if (this.value === 100) { return this._stopTrickle(); } else if (this.value > 0) { return this._startTrickle(); } } }; ProgressBar.prototype.done = function() { if (this.value > 0) { this.advanceTo(100); return this._reset(); } }; ProgressBar.prototype._reset = function() { var originalOpacity; originalOpacity = this.opacity; setTimeout((function(_this) { return function() { _this.opacity = 0; return _this._updateStyle(); }; })(this), this.speed / 2); return setTimeout((function(_this) { return function() { _this.value = 0; _this.opacity = originalOpacity; return _this._withSpeed(0, function() { return _this._updateStyle(true); }); }; })(this), this.speed); }; ProgressBar.prototype._startTrickle = function() { if (this.trickling) { return; } this.trickling = true; return setTimeout(this._trickle, this.speed); }; ProgressBar.prototype._stopTrickle = function() { return delete this.trickling; }; ProgressBar.prototype._trickle = function() { if (!this.trickling) { return; } this.advanceTo(this.value + Math.random() / 2); return setTimeout(this._trickle, this.speed); }; ProgressBar.prototype._withSpeed = function(speed, fn) { var originalSpeed, result; originalSpeed = this.speed; this.speed = speed; result = fn(); this.speed = originalSpeed; return result; }; ProgressBar.prototype._updateStyle = function(forceRepaint) { if (forceRepaint == null) { forceRepaint = false; } if (forceRepaint) { this._changeContentToForceRepaint(); } return this.styleElement.textContent = this._createCSSRule(); }; ProgressBar.prototype._changeContentToForceRepaint = function() { return this.content = this.content === '' ? ' ' : ''; }; ProgressBar.prototype._createCSSRule = function() { return this.elementSelector + "." + className + "::before {\n content: '" + this.content + "';\n position: fixed;\n top: 0;\n left: 0;\n z-index: 2000;\n background-color: #0076ff;\n height: 3px;\n opacity: " + this.opacity + ";\n width: " + this.value + "%;\n transition: width " + this.speed + "ms ease-out, opacity " + (this.speed / 2) + "ms ease-in;\n transform: translate3d(0,0,0);\n}"; }; return ProgressBar; })(); bypassOnLoadPopstate = function(fn) { return setTimeout(fn, 500); }; installDocumentReadyPageEventTriggers = function() { return document.addEventListener('DOMContentLoaded', (function() { triggerEvent(EVENTS.CHANGE); return triggerEvent(EVENTS.UPDATE); }), true); }; installJqueryAjaxSuccessPageUpdateTrigger = function() { if (typeof jQuery !== 'undefined') { return jQuery(document).on('ajaxSuccess', function(event, xhr, settings) { if (!jQuery.trim(xhr.responseText)) { return; } return triggerEvent(EVENTS.UPDATE); }); } }; installHistoryChangeHandler = function(event) { var cachedPage, ref; if ((ref = event.state) != null ? ref.turbolinks : void 0) { if (cachedPage = pageCache[(new ComponentUrl(event.state.url)).absolute]) { cacheCurrentPage(); return fetchHistory(cachedPage); } else { return visit(event.target.location.href); } } }; initializeTurbolinks = function() { rememberCurrentUrl(); rememberCurrentState(); document.addEventListener('click', Click.installHandlerLast, true); window.addEventListener('hashchange', function(event) { rememberCurrentUrl(); return rememberCurrentState(); }, false); return bypassOnLoadPopstate(function() { return window.addEventListener('popstate', installHistoryChangeHandler, false); }); }; historyStateIsDefined = window.history.state !== void 0 || navigator.userAgent.match(/Firefox\/2[6|7]/); browserSupportsPushState = window.history && window.history.pushState && window.history.replaceState && historyStateIsDefined; browserIsntBuggy = !navigator.userAgent.match(/CriOS\//); requestMethodIsSafe = (ref = popCookie('request_method')) === 'GET' || ref === ''; browserSupportsTurbolinks = browserSupportsPushState && browserIsntBuggy && requestMethodIsSafe; browserSupportsCustomEvents = document.addEventListener && document.createEvent; if (browserSupportsCustomEvents) { installDocumentReadyPageEventTriggers(); installJqueryAjaxSuccessPageUpdateTrigger(); } if (browserSupportsTurbolinks) { visit = fetch; initializeTurbolinks(); } else { visit = function(url) { return document.location.href = url; }; } this.Turbolinks = { visit: visit, pagesCached: pagesCached, enableTransitionCache: enableTransitionCache, enableProgressBar: enableProgressBar, allowLinkExtensions: Link.allowExtensions, supported: browserSupportsTurbolinks, EVENTS: clone(EVENTS) }; }).call(this); (function(undefined) { if (typeof(this.Opal) !== 'undefined') { console.warn('Opal already loaded. Loading twice can cause troubles, please fix your setup.'); return this.Opal; } // The Opal object that is exposed globally var Opal = this.Opal = {}; // All bridged classes - keep track to donate methods from Object var bridged_classes = Opal.bridged_classes = []; // TopScope is used for inheriting constants from the top scope var TopScope = function(){}; // Opal just acts as the top scope TopScope.prototype = Opal; // To inherit scopes Opal.constructor = TopScope; // List top scope constants Opal.constants = []; // This is a useful reference to global object inside ruby files Opal.global = this; // Minify common function calls var $hasOwn = Opal.hasOwnProperty; var $slice = Opal.slice = Array.prototype.slice; // Nil object id is always 4 var nil_id = 4; // Generates even sequential numbers greater than 4 // (nil_id) to serve as unique ids for ruby objects var unique_id = nil_id; // Return next unique id Opal.uid = function() { unique_id += 2; return unique_id; }; // Table holds all class variables Opal.cvars = {}; // Globals table Opal.gvars = {}; // Exit function, this should be replaced by platform specific implementation // (See nodejs and phantom for examples) Opal.exit = function(status) { if (Opal.gvars.DEBUG) console.log('Exited with status '+status); }; /** Get a constant on the given scope. Every class and module in Opal has a scope used to store, and inherit, constants. For example, the top level `Object` in ruby has a scope accessible as `Opal.Object.$$scope`. To get the `Array` class using this scope, you could use: Opal.Object.$$scope.get("Array") If a constant with the given name cannot be found, then a dispatch to the class/module's `#const_method` is called, which by default will raise an error. @param [String] name the name of the constant to lookup @returns [RubyObject] */ Opal.get = function(name) { var constant = this[name]; if (constant == null) { return this.base.$const_missing(name); } return constant; }; /* * Create a new constants scope for the given class with the given * base. Constants are looked up through their parents, so the base * scope will be the outer scope of the new klass. */ function create_scope(base, klass, id) { var const_alloc = function() {}; var const_scope = const_alloc.prototype = new base.constructor(); klass.$$scope = const_scope; klass.$$base_module = base.base; const_scope.base = klass; const_scope.constructor = const_alloc; const_scope.constants = []; if (id) { klass.$$orig_scope = base; base[id] = base.constructor[id] = klass; base.constants.push(id); } } Opal.create_scope = create_scope; /* * A `class Foo; end` expression in ruby is compiled to call this runtime * method which either returns an existing class of the given name, or creates * a new class in the given `base` scope. * * If a constant with the given name exists, then we check to make sure that * it is a class and also that the superclasses match. If either of these * fail, then we raise a `TypeError`. Note, superklass may be null if one was * not specified in the ruby code. * * We pass a constructor to this method of the form `function ClassName() {}` * simply so that classes show up with nicely formatted names inside debuggers * in the web browser (or node/sprockets). * * The `base` is the current `self` value where the class is being created * from. We use this to get the scope for where the class should be created. * If `base` is an object (not a class/module), we simple get its class and * use that as the base instead. * * @param [Object] base where the class is being created * @param [Class] superklass superclass of the new class (may be null) * @param [String] id the name of the class to be created * @param [Function] constructor function to use as constructor * @return [Class] new or existing ruby class */ Opal.klass = function(base, superklass, id, constructor) { // If base is an object, use its class if (!base.$$is_class) { base = base.$$class; } // Not specifying a superclass means we can assume it to be Object if (superklass === null) { superklass = ObjectClass; } var klass = base.$$scope[id]; // If a constant exists in the scope, then we must use that if ($hasOwn.call(base.$$scope, id) && klass.$$orig_scope === base.$$scope) { // Make sure the existing constant is a class, or raise error if (!klass.$$is_class) { throw Opal.TypeError.$new(id + " is not a class"); } // Make sure existing class has same superclass if (superklass !== klass.$$super && superklass !== ObjectClass) { throw Opal.TypeError.$new("superclass mismatch for class " + id); } } else if (typeof(superklass) === 'function') { // passed native constructor as superklass, so bridge it as ruby class return bridge_class(id, superklass, base); } else { // if class doesnt exist, create a new one with given superclass klass = boot_class(superklass, constructor); // name class using base (e.g. Foo or Foo::Baz) klass.$$name = id; // every class gets its own constant scope, inherited from current scope create_scope(base.$$scope, klass, id); // Name new class directly onto current scope (Opal.Foo.Baz = klass) base[id] = base.$$scope[id] = klass; // Copy all parent constants to child, unless parent is Object if (superklass !== ObjectClass && superklass !== BasicObjectClass) { donate_constants(superklass, klass); } // call .inherited() hook with new class on the superclass if (superklass.$inherited) { superklass.$inherited(klass); } } return klass; }; // Create generic class with given superclass. function boot_class(superklass, constructor) { var alloc = boot_class_alloc(null, constructor, superklass) return boot_class_object(superklass, alloc); } // Make `boot_class` available to the JS-API Opal.boot = boot_class; /* * The class object itself (as in `Class.new`) * * @param [(Opal) Class] superklass Another class object (as in `Class.new`) * @param [constructor] alloc The constructor that holds the prototype * that will be used for instances of the * newly constructed class. */ function boot_class_object(superklass, alloc) { var singleton_class = function() {}; singleton_class.prototype = superklass.constructor.prototype; function OpalClass() {} OpalClass.prototype = new singleton_class(); var klass = new OpalClass(); setup_module_or_class_object(klass, OpalClass, superklass, alloc.prototype); // @property $$alloc This is the constructor of instances of the current // class. Its prototype will be used for method lookup klass.$$alloc = alloc; // @property $$proto.$$class Make available to instances a reference to the // class they belong to. klass.$$proto.$$class = klass; return klass; } /* * Adds common/required properties to a module or class object * (as in `Module.new` / `Class.new`) * * @param module The module or class that needs to be prepared * * @param constructor The constructor of the module or class itself, * usually it's already assigned by using `new`. Some * ipothesis on why it's needed can be found below. * * @param superklass The superclass of the class/module object, for modules * is `Module` (of `ModuleClass` in JS context) * * @param prototype The prototype on which the class/module methods will * be stored. */ function setup_module_or_class_object(module, constructor, superklass, prototype) { // @property $$id Each class is assigned a unique `id` that helps // comparation and implementation of `#object_id` module.$$id = Opal.uid(); // @property $$proto This is the prototype on which methods will be defined module.$$proto = prototype; // @property constructor keeps a ref to the constructor, but apparently the // constructor is already set on: // // `var module = new constructor` is called. // // Maybe there are some browsers not abiding (IE6?) module.constructor = constructor; // @property $$is_class Clearly mark this as a class-like module.$$is_class = true; // @property $$super the superclass, doesn't get changed by module inclusions module.$$super = superklass; // @property $$parent direct parent class or module // starts with the superclass, after module inclusion is // the last included module module.$$parent = superklass; // @property $$methods keeps track of methods defined on the class // but seems to be used just by `define_basic_object_method` // and for donating (Ruby) Object methods to bridged classes // TODO: check if it can be removed module.$$methods = []; // @property $$inc included modules module.$$inc = []; } /** Define new module (or return existing module). The given `base` is basically the current `self` value the `module` statement was defined in. If this is a ruby module or class, then it is used, otherwise if the base is a ruby object then that objects real ruby class is used (e.g. if the base is the main object, then the top level `Object` class is used as the base). If a module of the given name is already defined in the base, then that instance is just returned. If there is a class of the given name in the base, then an error is generated instead (cannot have a class and module of same name in same base). Otherwise, a new module is created in the base with the given name, and that new instance is returned back (to be referenced at runtime). @param [RubyModule or Class] base class or module this definition is inside @param [String] id the name of the new (or existing) module @returns [RubyModule] */ Opal.module = function(base, id) { var module; if (!base.$$is_class) { base = base.$$class; } if ($hasOwn.call(base.$$scope, id)) { module = base.$$scope[id]; if (!module.$$is_mod && module !== ObjectClass) { throw Opal.TypeError.$new(id + " is not a module"); } } else { module = boot_module_object(); module.$$name = id; create_scope(base.$$scope, module, id); // Name new module directly onto current scope (Opal.Foo.Baz = module) base[id] = base.$$scope[id] = module; } return module; }; /* * Internal function to create a new module instance. This simply sets up * the prototype hierarchy and method tables. */ function boot_module_object() { var mtor = function() {}; mtor.prototype = ModuleClass.constructor.prototype; function module_constructor() {} module_constructor.prototype = new mtor(); var module = new module_constructor(); var module_prototype = {}; setup_module_or_class_object(module, module_constructor, ModuleClass, module_prototype); module.$$is_mod = true; module.$$dep = []; return module; } /** Return the singleton class for the passed object. If the given object alredy has a singleton class, then it will be stored on the object as the `$$meta` property. If this exists, then it is simply returned back. Otherwise, a new singleton object for the class or object is created, set on the object at `$$meta` for future use, and then returned. @param [RubyObject] object the ruby object @returns [RubyClass] the singleton class for object */ Opal.get_singleton_class = function(object) { if (object.$$meta) { return object.$$meta; } if (object.$$is_class) { return build_class_singleton_class(object); } return build_object_singleton_class(object); }; /** Build the singleton class for an existing class. NOTE: Actually in MRI a class' singleton class inherits from its superclass' singleton class which in turn inherits from Class. @param [RubyClass] klass @returns [RubyClass] */ function build_class_singleton_class(klass) { var meta = new Opal.Class.$$alloc; meta.$$class = Opal.Class; meta.$$proto = klass.constructor.prototype; meta.$$is_singleton = true; meta.$$inc = []; meta.$$methods = []; meta.$$scope = klass.$$scope; return klass.$$meta = meta; } /** Build the singleton class for a Ruby (non class) Object. @param [RubyObject] object @returns [RubyClass] */ function build_object_singleton_class(object) { var orig_class = object.$$class, class_id = "#>"; var Singleton = function () {}; var meta = Opal.boot(orig_class, Singleton); meta.$$name = class_id; meta.$$proto = object; meta.$$class = orig_class.$$class; meta.$$scope = orig_class.$$scope; meta.$$parent = orig_class; return object.$$meta = meta; } /** The actual inclusion of a module into a class. ## Class `$$parent` and `iclass` To handle `super` calls, every class has a `$$parent`. This parent is used to resolve the next class for a super call. A normal class would have this point to its superclass. However, if a class includes a module then this would need to take into account the module. The module would also have to then point its `$$parent` to the actual superclass. We cannot modify modules like this, because it might be included in more then one class. To fix this, we actually insert an `iclass` as the class' `$$parent` which can then point to the superclass. The `iclass` acts as a proxy to the actual module, so the `super` chain can then search it for the required method. @param [RubyModule] module the module to include @param [RubyClass] klass the target class to include module into @returns [null] */ Opal.append_features = function(module, klass) { var included = klass.$$inc; // check if this module is already included in the klass for (var j = 0, jj = included.length; j < jj; j++) { if (included[j] === module) { return; } } included.push(module); module.$$dep.push(klass); // iclass var iclass = { $$name: module.$$name, $$proto: module.$$proto, $$parent: klass.$$parent, $$module: module, $$iclass: true }; klass.$$parent = iclass; var donator = module.$$proto, prototype = klass.$$proto, methods = module.$$methods; for (var i = 0, length = methods.length; i < length; i++) { var method = methods[i], current; if ( prototype.hasOwnProperty(method) && !(current = prototype[method]).$$donated && !current.$$stub ) { // if the target class already has a method of the same name defined // and that method was NOT donated, then it must be a method defined // by the class so we do not want to override it } else { prototype[method] = donator[method]; prototype[method].$$donated = true; } } if (klass.$$dep) { donate_methods(klass, methods.slice(), true); } donate_constants(module, klass); }; // Boot a base class (makes instances). function boot_class_alloc(id, constructor, superklass) { if (superklass) { var ctor = function() {}; ctor.prototype = superklass.$$proto || superklass.prototype; if (id) { ctor.displayName = id; } constructor.prototype = new ctor(); } constructor.prototype.constructor = constructor; return constructor; } /* * Builds the class object for core classes: * - make the class object have a singleton class * - make the singleton class inherit from its parent singleton class * * @param id [String] the name of the class * @param alloc [Function] the constructor for the core class instances * @param superclass [Class alloc] the constructor of the superclass */ function boot_core_class_object(id, alloc, superclass) { var superclass_constructor = function() {}; superclass_constructor.prototype = superclass.prototype; var singleton_class = function() {}; singleton_class.prototype = new superclass_constructor(); singleton_class.displayName = "#"; // the singleton_class acts as the class object constructor var klass = new singleton_class(); setup_module_or_class_object(klass, singleton_class, superclass, alloc.prototype); klass.$$alloc = alloc; klass.$$name = id; // Give all instances a ref to their class alloc.prototype.$$class = klass; Opal[id] = klass; Opal.constants.push(id); return klass; } /* * For performance, some core ruby classes are toll-free bridged to their * native javascript counterparts (e.g. a ruby Array is a javascript Array). * * This method is used to setup a native constructor (e.g. Array), to have * its prototype act like a normal ruby class. Firstly, a new ruby class is * created using the native constructor so that its prototype is set as the * target for th new class. Note: all bridged classes are set to inherit * from Object. * * Bridged classes are tracked in `bridged_classes` array so that methods * defined on Object can be "donated" to all bridged classes. This allows * us to fake the inheritance of a native prototype from our Object * prototype. * * Example: * * bridge_class("Proc", Function); * * @param [String] name the name of the ruby class to create * @param [Function] constructor native javascript constructor to use * @param [Object] base where the bridge class is being created. If none is supplied, the top level scope (Opal) will be used * @return [Class] returns new ruby class */ function bridge_class(name, constructor, base) { var klass = boot_class_object(ObjectClass, constructor); klass.$$name = name; if (base === undefined) { base = Opal; } else { base = base.$$scope; } create_scope(base, klass, name); bridged_classes.push(klass); var object_methods = BasicObjectClass.$$methods.concat(ObjectClass.$$methods); for (var i = 0, len = object_methods.length; i < len; i++) { var meth = object_methods[i]; constructor.prototype[meth] = ObjectClass.$$proto[meth]; } add_stubs_subscriber(constructor.prototype); return klass; } /* * constant assign */ Opal.casgn = function(base_module, name, value) { var scope = base_module.$$scope; if (value.$$is_class && value.$$name === nil) { value.$$name = name; } if (value.$$is_class) { value.$$base_module = base_module; } scope.constants.push(name); return scope[name] = value; }; /* * constant decl */ Opal.cdecl = function(base_scope, name, value) { base_scope.constants.push(name); return base_scope[name] = value; }; /* * When a source module is included into the target module, we must also copy * its constants to the target. */ function donate_constants(source_mod, target_mod) { var source_constants = source_mod.$$scope.constants, target_scope = target_mod.$$scope, target_constants = target_scope.constants; for (var i = 0, length = source_constants.length; i < length; i++) { target_constants.push(source_constants[i]); target_scope[source_constants[i]] = source_mod.$$scope[source_constants[i]]; } }; /* * Methods stubs are used to facilitate method_missing in opal. A stub is a * placeholder function which just calls `method_missing` on the receiver. * If no method with the given name is actually defined on an object, then it * is obvious to say that the stub will be called instead, and then in turn * method_missing will be called. * * When a file in ruby gets compiled to javascript, it includes a call to * this function which adds stubs for every method name in the compiled file. * It should then be safe to assume that method_missing will work for any * method call detected. * * Method stubs are added to the BasicObject prototype, which every other * ruby object inherits, so all objects should handle method missing. A stub * is only added if the given property name (method name) is not already * defined. * * Note: all ruby methods have a `$` prefix in javascript, so all stubs will * have this prefix as well (to make this method more performant). * * Opal.add_stubs(["$foo", "$bar", "$baz="]); * * All stub functions will have a private `$$stub` property set to true so * that other internal methods can detect if a method is just a stub or not. * `Kernel#respond_to?` uses this property to detect a methods presence. * * @param [Array] stubs an array of method stubs to add */ Opal.add_stubs = function(stubs) { var subscribers = Opal.stub_subscribers; var subscriber; for (var i = 0, length = stubs.length; i < length; i++) { var method_name = stubs[i], stub = stub_for(method_name); for (var j = 0; j < subscribers.length; j++) { subscriber = subscribers[j]; if (!(method_name in subscriber)) { subscriber[method_name] = stub; } } } }; /* * Add a prototype to the subscribers list, and (TODO) add previously stubbed * methods. * * @param [Prototype] */ function add_stubs_subscriber(prototype) { // TODO: Add previously stubbed methods too. Opal.stub_subscribers.push(prototype); } /* * Keep a list of prototypes that want method_missing stubs to be added. * * @default [Prototype List] BasicObject.prototype */ Opal.stub_subscribers = [BasicObject.prototype]; /* * Add a method_missing stub function to the given prototype for the * given name. * * @param [Prototype] prototype the target prototype * @param [String] stub stub name to add (e.g. "$foo") */ function add_stub_for(prototype, stub) { var method_missing_stub = stub_for(stub); prototype[stub] = method_missing_stub; } /* * Generate the method_missing stub for a given method name. * * @param [String] method_name The js-name of the method to stub (e.g. "$foo") */ function stub_for(method_name) { function method_missing_stub() { // Copy any given block onto the method_missing dispatcher this.$method_missing.$$p = method_missing_stub.$$p; // Set block property to null ready for the next call (stop false-positives) method_missing_stub.$$p = null; // call method missing with correct args (remove '$' prefix on method name) return this.$method_missing.apply(this, [method_name.slice(1)].concat($slice.call(arguments))); } method_missing_stub.$$stub = true; return method_missing_stub; } // Expose for other parts of Opal to use Opal.add_stub_for = add_stub_for; // Arity count error dispatcher Opal.ac = function(actual, expected, object, meth) { var inspect = (object.$$is_class ? object.$$name + '.' : object.$$class.$$name + '#') + meth; var msg = '[' + inspect + '] wrong number of arguments(' + actual + ' for ' + expected + ')'; throw Opal.ArgumentError.$new(msg); }; // Super dispatcher Opal.find_super_dispatcher = function(obj, jsid, current_func, iter, defs) { var dispatcher; if (defs) { dispatcher = obj.$$is_class ? defs.$$super : obj.$$class.$$proto; } else { if (obj.$$is_class) { dispatcher = obj.$$super; } else { dispatcher = find_obj_super_dispatcher(obj, jsid, current_func); } } dispatcher = dispatcher['$' + jsid]; dispatcher.$$p = iter; return dispatcher; }; // Iter dispatcher for super in a block Opal.find_iter_super_dispatcher = function(obj, jsid, current_func, iter, defs) { if (current_func.$$def) { return Opal.find_super_dispatcher(obj, current_func.$$jsid, current_func, iter, defs); } else { return Opal.find_super_dispatcher(obj, jsid, current_func, iter, defs); } }; function find_obj_super_dispatcher(obj, jsid, current_func) { var klass = obj.$$meta || obj.$$class; jsid = '$' + jsid; while (klass) { if (klass.$$proto[jsid] === current_func) { // ok break; } klass = klass.$$parent; } // if we arent in a class, we couldnt find current? if (!klass) { throw new Error("could not find current class for super()"); } klass = klass.$$parent; // else, let's find the next one while (klass) { var working = klass.$$proto[jsid]; if (working && working !== current_func) { // ok break; } klass = klass.$$parent; } return klass.$$proto; }; /* * Used to return as an expression. Sometimes, we can't simply return from * a javascript function as if we were a method, as the return is used as * an expression, or even inside a block which must "return" to the outer * method. This helper simply throws an error which is then caught by the * method. This approach is expensive, so it is only used when absolutely * needed. */ Opal.ret = function(val) { Opal.returner.$v = val; throw Opal.returner; }; // handles yield calls for 1 yielded arg Opal.yield1 = function(block, arg) { if (typeof(block) !== "function") { throw Opal.LocalJumpError.$new("no block given"); } if (block.length > 1 && arg.$$is_array) { return block.apply(null, arg); } else { return block(arg); } }; // handles yield for > 1 yielded arg Opal.yieldX = function(block, args) { if (typeof(block) !== "function") { throw Opal.LocalJumpError.$new("no block given"); } if (block.length > 1 && args.length == 1) { if (args[0].$$is_array) { return block.apply(null, args[0]); } } if (!args.$$is_array) { args = $slice.call(args); } return block.apply(null, args); }; // Finds the corresponding exception match in candidates. Each candidate can // be a value, or an array of values. Returns null if not found. Opal.rescue = function(exception, candidates) { for (var i = 0; i < candidates.length; i++) { var candidate = candidates[i]; if (candidate.$$is_array) { var result = Opal.rescue(exception, candidate); if (result) { return result; } } else if (candidate['$==='](exception)) { return candidate; } } return null; }; Opal.is_a = function(object, klass) { if (object.$$meta === klass) { return true; } var search = object.$$class; while (search) { if (search === klass) { return true; } for (var i = 0, length = search.$$inc.length; i < length; i++) { if (search.$$inc[i] == klass) { return true; } } search = search.$$super; } return false; }; // Helper to convert the given object to an array Opal.to_ary = function(value) { if (value.$$is_array) { return value; } else if (value.$to_ary && !value.$to_ary.$$stub) { return value.$to_ary(); } return [value]; }; /** Used to get a list of rest keyword arguments. Method takes the given keyword args, i.e. the hash literal passed to the method containing all keyword arguemnts passed to method, as well as the used args which are the names of required and optional arguments defined. This method then just returns all key/value pairs which have not been used, in a new hash literal. @param given_args [Hash] all kwargs given to method @param used_args [Object] all keys used as named kwargs @return [Hash] */ Opal.kwrestargs = function(given_args, used_args) { var keys = [], map = {}, key = null, given_map = given_args.smap; for (key in given_map) { if (!used_args[key]) { keys.push(key); map[key] = given_map[key]; } } return Opal.hash2(keys, map); }; /* * Call a ruby method on a ruby object with some arguments: * * var my_array = [1, 2, 3, 4] * Opal.send(my_array, 'length') # => 4 * Opal.send(my_array, 'reverse!') # => [4, 3, 2, 1] * * A missing method will be forwarded to the object via * method_missing. * * The result of either call with be returned. * * @param [Object] recv the ruby object * @param [String] mid ruby method to call */ Opal.send = function(recv, mid) { var args = $slice.call(arguments, 2), func = recv['$' + mid]; if (func) { return func.apply(recv, args); } return recv.$method_missing.apply(recv, [mid].concat(args)); }; Opal.block_send = function(recv, mid, block) { var args = $slice.call(arguments, 3), func = recv['$' + mid]; if (func) { func.$$p = block; return func.apply(recv, args); } return recv.$method_missing.apply(recv, [mid].concat(args)); }; /* * Donate methods for a class/module */ function donate_methods(klass, defined, indirect) { var methods = klass.$$methods, included_in = klass.$$dep; // if (!indirect) { klass.$$methods = methods.concat(defined); // } if (included_in) { for (var i = 0, length = included_in.length; i < length; i++) { var includee = included_in[i]; var dest = includee.$$proto; for (var j = 0, jj = defined.length; j < jj; j++) { var method = defined[j]; dest[method] = klass.$$proto[method]; dest[method].$$donated = true; } if (includee.$$dep) { donate_methods(includee, defined, true); } } } }; /** Define the given method on the module. This also handles donating methods to all classes that include this module. Method conflicts are also handled here, where a class might already have defined a method of the same name, or another included module defined the same method. @param [RubyModule] module the module method defined on @param [String] jsid javascript friendly method name (e.g. "$foo") @param [Function] body method body of actual function */ function define_module_method(module, jsid, body) { module.$$proto[jsid] = body; body.$$owner = module; module.$$methods.push(jsid); if (module.$$module_function) { module[jsid] = body; } var included_in = module.$$dep; if (included_in) { for (var i = 0, length = included_in.length; i < length; i++) { var includee = included_in[i]; var dest = includee.$$proto; var current = dest[jsid]; if (dest.hasOwnProperty(jsid) && !current.$$donated && !current.$$stub) { // target class has already defined the same method name - do nothing } else if (dest.hasOwnProperty(jsid) && !current.$$stub) { // target class includes another module that has defined this method var klass_includees = includee.$$inc; for (var j = 0, jj = klass_includees.length; j < jj; j++) { if (klass_includees[j] === current.$$owner) { var current_owner_index = j; } if (klass_includees[j] === module) { var module_index = j; } } // only redefine method on class if the module was included AFTER // the module which defined the current method body. Also make sure // a module can overwrite a method it defined before if (current_owner_index <= module_index) { dest[jsid] = body; dest[jsid].$$donated = true; } } else { // neither a class, or module included by class, has defined method dest[jsid] = body; dest[jsid].$$donated = true; } if (includee.$$dep) { donate_methods(includee, [jsid], true); } } } } /** Used to define methods on an object. This is a helper method, used by the compiled source to define methods on special case objects when the compiler can not determine the destination object, or the object is a Module instance. This can get called by `Module#define_method` as well. ## Modules Any method defined on a module will come through this runtime helper. The method is added to the module body, and the owner of the method is set to be the module itself. This is used later when choosing which method should show on a class if more than 1 included modules define the same method. Finally, if the module is in `module_function` mode, then the method is also defined onto the module itself. ## Classes This helper will only be called for classes when a method is being defined indirectly; either through `Module#define_method`, or by a literal `def` method inside an `instance_eval` or `class_eval` body. In either case, the method is simply added to the class' prototype. A special exception exists for `BasicObject` and `Object`. These two classes are special because they are used in toll-free bridged classes. In each of these two cases, extra work is required to define the methods on toll-free bridged class' prototypes as well. ## Objects If a simple ruby object is the object, then the method is simply just defined on the object as a singleton method. This would be the case when a method is defined inside an `instance_eval` block. @param [RubyObject or Class] obj the actual obj to define method for @param [String] jsid the javascript friendly method name (e.g. '$foo') @param [Function] body the literal javascript function used as method @returns [null] */ Opal.defn = function(obj, jsid, body) { if (obj.$$is_mod) { define_module_method(obj, jsid, body); } else if (obj.$$is_class) { obj.$$proto[jsid] = body; if (obj === BasicObjectClass) { define_basic_object_method(jsid, body); } else if (obj === ObjectClass) { donate_methods(obj, [jsid]); } } else { obj[jsid] = body; } return nil; }; /* * Define a singleton method on the given object. */ Opal.defs = function(obj, jsid, body) { if (obj.$$is_class || obj.$$is_mod) { obj.constructor.prototype[jsid] = body; } else { obj[jsid] = body; } }; function define_basic_object_method(jsid, body) { BasicObjectClass.$$methods.push(jsid); for (var i = 0, len = bridged_classes.length; i < len; i++) { bridged_classes[i].$$proto[jsid] = body; } } /* * Called to remove a method. */ Opal.undef = function(obj, jsid) { delete obj.$$proto[jsid]; }; Opal.hash = function() { if (arguments.length == 1 && arguments[0].$$class == Opal.Hash) { return arguments[0]; } var hash = new Opal.Hash.$$alloc(), keys = [], _map = {}, smap = {}, key, obj, length, khash, map; hash.map = _map; hash.smap = smap; hash.keys = keys; if (arguments.length == 1) { if (arguments[0].$$is_array) { var args = arguments[0]; for (var i = 0, ii = args.length; i < ii; i++) { var pair = args[i]; if (pair.length !== 2) { throw Opal.ArgumentError.$new("value not of length 2: " + pair.$inspect()); } key = pair[0]; obj = pair[1]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } if (map[khash] == null) { keys.push(key); } map[khash] = obj; } } else { obj = arguments[0]; for (key in obj) { khash = key.$hash(); smap[khash] = obj[khash]; keys.push(key); } } } else { length = arguments.length; if (length % 2 !== 0) { throw Opal.ArgumentError.$new("odd number of arguments for Hash"); } for (var j = 0; j < length; j++) { key = arguments[j]; obj = arguments[++j]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } if (map[khash] == null) { keys.push(key); } map[khash] = obj; } } return hash; }; /* * hash2 is a faster creator for hashes that just use symbols and * strings as keys. The map and keys array can be constructed at * compile time, so they are just added here by the constructor * function */ Opal.hash2 = function(keys, map) { var hash = new Opal.Hash.$$alloc(); hash.keys = keys; hash.map = {}; hash.smap = map; return hash; }; /* * Create a new range instance with first and last values, and whether the * range excludes the last value. */ Opal.range = function(first, last, exc) { var range = new Opal.Range.$$alloc(); range.begin = first; range.end = last; range.exclude = exc; return range; }; // Require system // -------------- (function(Opal) { var loaded_features = ['corelib/runtime'], require_table = {'corelib/runtime': true}, modules = {}; var current_dir = '.'; function mark_as_loaded(filename) { if (require_table[filename]) { return false; } loaded_features.push(filename); require_table[filename] = true; return true; } function normalize_loadable_path(path) { var parts, part, new_parts = [], SEPARATOR = '/'; if (current_dir !== '.') { path = current_dir.replace(/\/*$/, '/') + path; } path = path.replace(/\.(rb|opal|js)$/, ''); parts = path.split(SEPARATOR); for (var i = 0, ii = parts.length; i < ii; i++) { part = parts[i]; if (part == '') continue; (part === '..') ? new_parts.pop() : new_parts.push(part) } return new_parts.join(SEPARATOR); } function load(path) { mark_as_loaded(path); var module = modules[path]; if (module) { module(Opal); } else { var severity = Opal.dynamic_require_severity || 'warning'; var message = 'cannot load such file -- ' + path; if (severity === "error") { Opal.LoadError ? Opal.LoadError.$new(message) : function(){throw message}(); } else if (severity === "warning") { console.warn('WARNING: LoadError: ' + message); } } return true; } function require(path) { if (require_table[path]) { return false; } return load(path); } Opal.modules = modules; Opal.loaded_features = loaded_features; Opal.normalize_loadable_path = normalize_loadable_path; Opal.mark_as_loaded = mark_as_loaded; Opal.load = load; Opal.require = require; })(Opal); // Initialization // -------------- // The actual class for BasicObject var BasicObjectClass; // The actual Object class var ObjectClass; // The actual Module class var ModuleClass; // The actual Class class var ClassClass; // Constructor for instances of BasicObject function BasicObject(){} // Constructor for instances of Object function Object(){} // Constructor for instances of Class function Class(){} // Constructor for instances of Module function Module(){} // Constructor for instances of NilClass (nil) function NilClass(){} // Constructors for *instances* of core objects boot_class_alloc('BasicObject', BasicObject); boot_class_alloc('Object', Object, BasicObject); boot_class_alloc('Module', Module, Object); boot_class_alloc('Class', Class, Module); // Constructors for *classes* of core objects BasicObjectClass = boot_core_class_object('BasicObject', BasicObject, Class); ObjectClass = boot_core_class_object('Object', Object, BasicObjectClass.constructor); ModuleClass = boot_core_class_object('Module', Module, ObjectClass.constructor); ClassClass = boot_core_class_object('Class', Class, ModuleClass.constructor); // Fix booted classes to use their metaclass BasicObjectClass.$$class = ClassClass; ObjectClass.$$class = ClassClass; ModuleClass.$$class = ClassClass; ClassClass.$$class = ClassClass; // Fix superclasses of booted classes BasicObjectClass.$$super = null; ObjectClass.$$super = BasicObjectClass; ModuleClass.$$super = ObjectClass; ClassClass.$$super = ModuleClass; BasicObjectClass.$$parent = null; ObjectClass.$$parent = BasicObjectClass; ModuleClass.$$parent = ObjectClass; ClassClass.$$parent = ModuleClass; // Internally, Object acts like a module as it is "included" into bridged // classes. In other words, we donate methods from Object into our bridged // classes as their prototypes don't inherit from our root Object, so they // act like module includes. ObjectClass.$$dep = bridged_classes; Opal.base = ObjectClass; BasicObjectClass.$$scope = ObjectClass.$$scope = Opal; BasicObjectClass.$$orig_scope = ObjectClass.$$orig_scope = Opal; Opal.Kernel = ObjectClass; ModuleClass.$$scope = ObjectClass.$$scope; ModuleClass.$$orig_scope = ObjectClass.$$orig_scope; ClassClass.$$scope = ObjectClass.$$scope; ClassClass.$$orig_scope = ObjectClass.$$orig_scope; ObjectClass.$$proto.toString = function() { return this.$to_s(); }; ObjectClass.$$proto.$require = Opal.require; Opal.top = new ObjectClass.$$alloc(); // Nil Opal.klass(ObjectClass, ObjectClass, 'NilClass', NilClass); var nil = Opal.nil = new NilClass(); nil.$$id = nil_id; nil.call = nil.apply = function() { throw Opal.LocalJumpError.$new('no block given'); }; Opal.breaker = new Error('unexpected break'); Opal.returner = new Error('unexpected return'); bridge_class('Array', Array); bridge_class('Boolean', Boolean); bridge_class('Numeric', Number); bridge_class('String', String); bridge_class('Proc', Function); bridge_class('Exception', Error); bridge_class('Regexp', RegExp); bridge_class('Time', Date); TypeError.$$super = Error; }).call(this); if (typeof(global) !== 'undefined') { global.Opal = this.Opal; Opal.global = global; } if (typeof(window) !== 'undefined') { window.Opal = this.Opal; Opal.global = window; } ; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/helpers"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$new', '$class', '$===', '$respond_to?', '$raise', '$type_error', '$__send__', '$coerce_to', '$nil?', '$<=>', '$inspect']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$type_error', function(object, type, method, coerced) { var $a, $b, self = this; if (method == null) { method = nil } if (coerced == null) { coerced = nil } if ((($a = (($b = method !== false && method !== nil) ? coerced : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return $scope.get('TypeError').$new("can't convert " + (object.$class()) + " into " + (type) + " (" + (object.$class()) + "#" + (method) + " gives " + (coerced.$class())) } else { return $scope.get('TypeError').$new("no implicit conversion of " + (object.$class()) + " into " + (type)) }; }); Opal.defs(self, '$coerce_to', function(object, type, method) { var $a, self = this; if ((($a = type['$==='](object)) !== nil && (!$a.$$is_boolean || $a == true))) { return object}; if ((($a = object['$respond_to?'](method)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise(self.$type_error(object, type)) }; return object.$__send__(method); }); Opal.defs(self, '$coerce_to!', function(object, type, method) { var $a, self = this, coerced = nil; coerced = self.$coerce_to(object, type, method); if ((($a = type['$==='](coerced)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise(self.$type_error(object, type, method, coerced)) }; return coerced; }); Opal.defs(self, '$coerce_to?', function(object, type, method) { var $a, self = this, coerced = nil; if ((($a = object['$respond_to?'](method)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return nil }; coerced = self.$coerce_to(object, type, method); if ((($a = coerced['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; if ((($a = type['$==='](coerced)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise(self.$type_error(object, type, method, coerced)) }; return coerced; }); Opal.defs(self, '$try_convert', function(object, type, method) { var $a, self = this; if ((($a = type['$==='](object)) !== nil && (!$a.$$is_boolean || $a == true))) { return object}; if ((($a = object['$respond_to?'](method)) !== nil && (!$a.$$is_boolean || $a == true))) { return object.$__send__(method) } else { return nil }; }); Opal.defs(self, '$compare', function(a, b) { var $a, self = this, compare = nil; compare = a['$<=>'](b); if ((($a = compare === nil) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "comparison of " + (a.$class()) + " with " + (b.$class()) + " failed")}; return compare; }); Opal.defs(self, '$destructure', function(args) { var self = this; if (args.length == 1) { return args[0]; } else if (args.$$is_array) { return args; } else { return $slice.call(args); } }); Opal.defs(self, '$respond_to?', function(obj, method) { var self = this; if (obj == null || !obj.$$class) { return false; } return obj['$respond_to?'](method); }); Opal.defs(self, '$inspect', function(obj) { var self = this; if (obj === undefined) { return "undefined"; } else if (obj === null) { return "null"; } else if (!obj.$$class) { return obj.toString(); } else { return obj.$inspect(); } }); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/module"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$attr_reader', '$attr_writer', '$coerce_to!', '$raise', '$=~', '$[]', '$!', '$==', '$inject', '$const_get', '$split', '$const_missing', '$to_str', '$===', '$to_proc', '$lambda', '$bind', '$call', '$class', '$append_features', '$included', '$name', '$new', '$to_s', '$__id__']); return (function($base, $super) { function $Module(){}; var self = $Module = $klass($base, $super, 'Module', $Module); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_3, TMP_5, TMP_6; Opal.defs(self, '$new', TMP_1 = function() { var self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; function AnonModule(){} var klass = Opal.boot(Opal.Module, AnonModule); klass.$$name = nil; klass.$$class = Opal.Module; klass.$$dep = [] klass.$$is_mod = true; klass.$$proto = {}; // inherit scope from parent Opal.create_scope(Opal.Module.$$scope, klass); if (block !== nil) { var block_self = block.$$s; block.$$s = null; block.call(klass); block.$$s = block_self; } return klass; }); def['$==='] = function(object) { var $a, self = this; if ((($a = object == null) !== nil && (!$a.$$is_boolean || $a == true))) { return false}; return Opal.is_a(object, self); }; def['$<'] = function(other) { var self = this; var working = self; while (working) { if (working === other) { return true; } working = working.$$parent; } return false; }; def.$alias_method = function(newname, oldname) { var self = this; var newjsid = '$' + newname, body = self.$$proto['$' + oldname]; if (self.$$is_singleton) { self.$$proto[newjsid] = body; } else { Opal.defn(self, newjsid, body); } return self; return self; }; def.$alias_native = function(mid, jsid) { var self = this; if (jsid == null) { jsid = mid } return self.$$proto['$' + mid] = self.$$proto[jsid]; }; def.$ancestors = function() { var self = this; var parent = self, result = []; while (parent) { result.push(parent); result = result.concat(parent.$$inc); parent = parent.$$super; } return result; }; def.$append_features = function(klass) { var self = this; Opal.append_features(self, klass); return self; }; def.$attr_accessor = function(names) { var $a, $b, self = this; names = $slice.call(arguments, 0); ($a = self).$attr_reader.apply($a, [].concat(names)); return ($b = self).$attr_writer.apply($b, [].concat(names)); }; Opal.defn(self, '$attr', def.$attr_accessor); def.$attr_reader = function(names) { var self = this; names = $slice.call(arguments, 0); var proto = self.$$proto; for (var i = names.length - 1; i >= 0; i--) { var name = names[i], id = '$' + name; // the closure here is needed because name will change at the next // cycle, I wish we could use let. var body = (function(name) { return function() { return this[name]; }; })(name); // initialize the instance variable as nil proto[name] = nil; if (self.$$is_singleton) { proto.constructor.prototype[id] = body; } else { Opal.defn(self, id, body); } } return nil; }; def.$attr_writer = function(names) { var self = this; names = $slice.call(arguments, 0); var proto = self.$$proto; for (var i = names.length - 1; i >= 0; i--) { var name = names[i], id = '$' + name + '='; // the closure here is needed because name will change at the next // cycle, I wish we could use let. var body = (function(name){ return function(value) { return this[name] = value; } })(name); // initialize the instance variable as nil proto[name] = nil; if (self.$$is_singleton) { proto.constructor.prototype[id] = body; } else { Opal.defn(self, id, body); } } return nil; }; def.$autoload = function(const$, path) { var self = this; var autoloaders; if (!(autoloaders = self.$$autoload)) { autoloaders = self.$$autoload = {}; } autoloaders[const$] = path; return nil; ; }; def.$class_variable_get = function(name) { var $a, self = this; name = $scope.get('Opal')['$coerce_to!'](name, $scope.get('String'), "to_str"); if ((($a = name.length < 3 || name.slice(0,2) !== '@@') !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('NameError'), "class vars should start with @@")}; var value = Opal.cvars[name.slice(2)]; (function() {if ((($a = value == null) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$raise($scope.get('NameError'), "uninitialized class variable @@a in") } else { return nil }; return nil; })() return value; }; def.$class_variable_set = function(name, value) { var $a, self = this; name = $scope.get('Opal')['$coerce_to!'](name, $scope.get('String'), "to_str"); if ((($a = name.length < 3 || name.slice(0,2) !== '@@') !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('NameError'))}; Opal.cvars[name.slice(2)] = value; return value; }; def.$constants = function() { var self = this; return self.$$scope.constants; }; def['$const_defined?'] = function(name, inherit) { var $a, self = this; if (inherit == null) { inherit = true } if ((($a = name['$=~'](/^[A-Z]\w*$/)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('NameError'), "wrong constant name " + (name)) }; var scopes = [self.$$scope]; if (inherit || self === Opal.Object) { var parent = self.$$super; while (parent !== Opal.BasicObject) { scopes.push(parent.$$scope); parent = parent.$$super; } } for (var i = 0, length = scopes.length; i < length; i++) { if (scopes[i].hasOwnProperty(name)) { return true; } } return false; }; def.$const_get = function(name, inherit) { var $a, $b, TMP_2, self = this; if (inherit == null) { inherit = true } if ((($a = ($b = name['$[]']("::"), $b !== false && $b !== nil ?name['$==']("::")['$!']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($b = name.$split("::")).$inject, $a.$$p = (TMP_2 = function(o, c){var self = TMP_2.$$s || this; if (o == null) o = nil;if (c == null) c = nil; return o.$const_get(c)}, TMP_2.$$s = self, TMP_2), $a).call($b, self)}; if ((($a = name['$=~'](/^[A-Z]\w*$/)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('NameError'), "wrong constant name " + (name)) }; var scopes = [self.$$scope]; if (inherit || self == Opal.Object) { var parent = self.$$super; while (parent !== Opal.BasicObject) { scopes.push(parent.$$scope); parent = parent.$$super; } } for (var i = 0, length = scopes.length; i < length; i++) { if (scopes[i].hasOwnProperty(name)) { return scopes[i][name]; } } return self.$const_missing(name); }; def.$const_missing = function(name) { var self = this; if (self.$$autoload) { var file = self.$$autoload[name]; if (file) { self.$require(file); return self.$const_get(name); } } return self.$raise($scope.get('NameError'), "uninitialized constant " + (self) + "::" + (name)); }; def.$const_set = function(name, value) { var $a, self = this; if ((($a = name['$=~'](/^[A-Z]\w*$/)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('NameError'), "wrong constant name " + (name)) }; try { name = name.$to_str() } catch ($err) {if (true) { self.$raise($scope.get('TypeError'), "conversion with #to_str failed") }else { throw $err; } }; Opal.casgn(self, name, value); return value; }; def.$define_method = TMP_3 = function(name, method) { var $a, $b, $c, TMP_4, self = this, $iter = TMP_3.$$p, block = $iter || nil, $case = nil; TMP_3.$$p = null; if ((($a = method === undefined && !(block !== nil)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "tried to create a Proc object without a block")}; ((($a = block) !== false && $a !== nil) ? $a : block = (function() {$case = method;if ($scope.get('Proc')['$===']($case)) {return method}else if ($scope.get('Method')['$===']($case)) {return method.$to_proc()}else if ($scope.get('UnboundMethod')['$===']($case)) {return ($b = ($c = self).$lambda, $b.$$p = (TMP_4 = function(args){var self = TMP_4.$$s || this, $a, bound = nil; args = $slice.call(arguments, 0); bound = method.$bind(self); return ($a = bound).$call.apply($a, [].concat(args));}, TMP_4.$$s = self, TMP_4), $b).call($c)}else {return self.$raise($scope.get('TypeError'), "wrong argument type " + (block.$class()) + " (expected Proc/Method)")}})()); var id = '$' + name; block.$$jsid = name; block.$$s = null; block.$$def = block; if (self.$$is_singleton) { self.$$proto[id] = block; } else { Opal.defn(self, id, block); } return name; }; def.$remove_method = function(name) { var self = this; Opal.undef(self, '$' + name); return self; }; def.$include = function(mods) { var self = this; mods = $slice.call(arguments, 0); for (var i = mods.length - 1; i >= 0; i--) { var mod = mods[i]; if (mod === self) { continue; } (mod).$append_features(self); (mod).$included(self); } return self; }; def['$include?'] = function(mod) { var self = this; for (var cls = self; cls; cls = cls.$$super) { for (var i = 0; i != cls.$$inc.length; i++) { var mod2 = cls.$$inc[i]; if (mod === mod2) { return true; } } } return false; }; def.$instance_method = function(name) { var self = this; var meth = self.$$proto['$' + name]; if (!meth || meth.$$stub) { self.$raise($scope.get('NameError'), "undefined method `" + (name) + "' for class `" + (self.$name()) + "'"); } return $scope.get('UnboundMethod').$new(self, meth, name); }; def.$instance_methods = function(include_super) { var self = this; if (include_super == null) { include_super = true } var methods = [], proto = self.$$proto; for (var prop in proto) { if (!(prop.charAt(0) === '$')) { continue; } if (!(typeof(proto[prop]) === "function")) { continue; } if (proto[prop].$$stub) { continue; } if (!self.$$is_mod) { if (self !== Opal.BasicObject && proto[prop] === Opal.BasicObject.$$proto[prop]) { continue; } if (!include_super && !proto.hasOwnProperty(prop)) { continue; } if (!include_super && proto[prop].$$donated) { continue; } } methods.push(prop.substr(1)); } return methods; }; def.$included = function(mod) { var self = this; return nil; }; def.$extended = function(mod) { var self = this; return nil; }; def.$module_eval = TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "no block given") }; var old = block.$$s, result; block.$$s = null; result = block.call(self); block.$$s = old; return result; }; Opal.defn(self, '$class_eval', def.$module_eval); def.$module_exec = TMP_6 = function() { var self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; if (block === nil) { throw new Error("no block given"); } var block_self = block.$$s, result; block.$$s = null; result = block.apply(self, $slice.call(arguments)); block.$$s = block_self; return result; }; Opal.defn(self, '$class_exec', def.$module_exec); def['$method_defined?'] = function(method) { var self = this; var body = self.$$proto['$' + method]; return (!!body) && !body.$$stub; }; def.$module_function = function(methods) { var self = this; methods = $slice.call(arguments, 0); if (methods.length === 0) { self.$$module_function = true; } else { for (var i = 0, length = methods.length; i < length; i++) { var meth = methods[i], func = self.$$proto['$' + meth]; self.constructor.prototype['$' + meth] = func; } } return self; }; def.$name = function() { var self = this; if (self.$$full_name) { return self.$$full_name; } var result = [], base = self; while (base) { if (base.$$name === nil) { return result.length === 0 ? nil : result.join('::'); } result.unshift(base.$$name); base = base.$$base_module; if (base === Opal.Object) { break; } } if (result.length === 0) { return nil; } return self.$$full_name = result.join('::'); }; def.$public = function(methods) { var self = this; methods = $slice.call(arguments, 0); if (methods.length === 0) { self.$$module_function = false; } return nil; }; Opal.defn(self, '$private', def.$public); Opal.defn(self, '$protected', def.$public); Opal.defn(self, '$nesting', def.$public); def.$private_class_method = function(name) { var self = this; return self['$' + name] || nil; }; Opal.defn(self, '$public_class_method', def.$private_class_method); def['$private_method_defined?'] = function(obj) { var self = this; return false; }; def.$private_constant = function() { var self = this; return nil; }; Opal.defn(self, '$protected_method_defined?', def['$private_method_defined?']); Opal.defn(self, '$public_instance_methods', def.$instance_methods); Opal.defn(self, '$public_method_defined?', def['$method_defined?']); def.$remove_class_variable = function() { var self = this; return nil; }; def.$remove_const = function(name) { var self = this; var old = self.$$scope[name]; delete self.$$scope[name]; return old; }; def.$to_s = function() { var $a, self = this; return ((($a = self.$$name) !== false && $a !== nil) ? $a : "#<" + (self.$$is_mod ? 'Module' : 'Class') + ":0x" + (self.$__id__().$to_s(16)) + ">"); }; return (def.$undef_method = function(symbol) { var self = this; Opal.add_stub_for(self.$$proto, "$" + symbol); return self; }, nil) && 'undef_method'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/class"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$raise', '$allocate']); self.$require("corelib/module"); return (function($base, $super) { function $Class(){}; var self = $Class = $klass($base, $super, 'Class', $Class); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2; Opal.defs(self, '$new', TMP_1 = function(sup) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; if (sup == null) { sup = $scope.get('Object') } TMP_1.$$p = null; if (!sup.$$is_class || sup.$$is_mod) { self.$raise($scope.get('TypeError'), "superclass must be a Class"); } function AnonClass(){}; var klass = Opal.boot(sup, AnonClass) klass.$$name = nil; klass.$$parent = sup; // inherit scope from parent Opal.create_scope(sup.$$scope, klass); sup.$inherited(klass); if (block !== nil) { var block_self = block.$$s; block.$$s = null; block.call(klass); block.$$s = block_self; } return klass; ; }); def.$allocate = function() { var self = this; var obj = new self.$$alloc; obj.$$id = Opal.uid(); return obj; }; def.$inherited = function(cls) { var self = this; return nil; }; def.$new = TMP_2 = function(args) { var self = this, $iter = TMP_2.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_2.$$p = null; var obj = self.$allocate(); obj.$initialize.$$p = block; obj.$initialize.apply(obj, args); return obj; ; }; return (def.$superclass = function() { var self = this; return self.$$super || nil; }, nil) && 'superclass'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/basic_object"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$raise', '$inspect']); return (function($base, $super) { function $BasicObject(){}; var self = $BasicObject = $klass($base, $super, 'BasicObject', $BasicObject); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4; Opal.defn(self, '$initialize', function() { var self = this; return nil; }); Opal.defn(self, '$==', function(other) { var self = this; return self === other; }); Opal.defn(self, '$__id__', function() { var self = this; return self.$$id || (self.$$id = Opal.uid()); }); Opal.defn(self, '$__send__', TMP_1 = function(symbol, args) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_1.$$p = null; var func = self['$' + symbol] if (func) { if (block !== nil) { func.$$p = block; } return func.apply(self, args); } if (block !== nil) { self.$method_missing.$$p = block; } return self.$method_missing.apply(self, [symbol].concat(args)); }); Opal.defn(self, '$!', function() { var self = this; return false; }); Opal.defn(self, '$eql?', def['$==']); Opal.defn(self, '$equal?', def['$==']); Opal.defn(self, '$instance_eval', TMP_2 = function() { var self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; if (block !== false && block !== nil) { } else { $scope.get('Kernel').$raise($scope.get('ArgumentError'), "no block given") }; var old = block.$$s, result; block.$$s = null; result = block.call(self, self); block.$$s = old; return result; }); Opal.defn(self, '$instance_exec', TMP_3 = function(args) { var self = this, $iter = TMP_3.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_3.$$p = null; if (block !== false && block !== nil) { } else { $scope.get('Kernel').$raise($scope.get('ArgumentError'), "no block given") }; var block_self = block.$$s, result; block.$$s = null; result = block.apply(self, args); block.$$s = block_self; return result; }); return (Opal.defn(self, '$method_missing', TMP_4 = function(symbol, args) { var $a, self = this, $iter = TMP_4.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_4.$$p = null; return $scope.get('Kernel').$raise($scope.get('NoMethodError'), (function() {if ((($a = self.$inspect && !self.$inspect.$$stub) !== nil && (!$a.$$is_boolean || $a == true))) { return "undefined method `" + (symbol) + "' for " + (self.$inspect()) + ":" + (self.$$class) } else { return "undefined method `" + (symbol) + "' for " + (self.$$class) }; return nil; })()); }), nil) && 'method_missing'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/kernel"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } function $rb_le(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs <= rhs : lhs['$<='](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $gvars = Opal.gvars, $hash2 = Opal.hash2; Opal.add_stubs(['$raise', '$inspect', '$==', '$object_id', '$class', '$new', '$coerce_to?', '$<<', '$allocate', '$copy_instance_variables', '$initialize_clone', '$initialize_copy', '$singleton_class', '$initialize_dup', '$for', '$to_proc', '$each', '$reverse', '$append_features', '$extended', '$length', '$respond_to?', '$[]', '$nil?', '$to_a', '$to_int', '$fetch', '$Integer', '$Float', '$to_ary', '$to_str', '$coerce_to', '$to_s', '$__id__', '$coerce_to!', '$===', '$print', '$format', '$puts', '$empty?', '$rand', '$respond_to_missing?', '$try_convert!', '$expand_path', '$join', '$start_with?']); return (function($base) { var self = $module($base, 'Kernel'); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_6, TMP_7, TMP_9; Opal.defn(self, '$method_missing', TMP_1 = function(symbol, args) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_1.$$p = null; return self.$raise($scope.get('NoMethodError'), "undefined method `" + (symbol) + "' for " + (self.$inspect())); }); Opal.defn(self, '$=~', function(obj) { var self = this; return false; }); Opal.defn(self, '$===', function(other) { var $a, self = this; return ((($a = self.$object_id()['$=='](other.$object_id())) !== false && $a !== nil) ? $a : self['$=='](other)); }); Opal.defn(self, '$<=>', function(other) { var self = this; var x = self['$=='](other); if (x && x !== nil) { return 0; } return nil; ; }); Opal.defn(self, '$method', function(name) { var self = this; var meth = self['$' + name]; if (!meth || meth.$$stub) { self.$raise($scope.get('NameError'), "undefined method `" + (name) + "' for class `" + (self.$class()) + "'"); } return $scope.get('Method').$new(self, meth, name); }); Opal.defn(self, '$methods', function(all) { var self = this; if (all == null) { all = true } var methods = []; for (var key in self) { if (key[0] == "$" && typeof(self[key]) === "function") { if (all == false || all === nil) { if (!Opal.hasOwnProperty.call(self, key)) { continue; } } if (self[key].$$stub === undefined) { methods.push(key.substr(1)); } } } return methods; }); Opal.defn(self, '$Array', function(object) { var self = this; var coerced; if (object === nil) { return []; } if (object.$$is_array) { return object; } coerced = $scope.get('Opal')['$coerce_to?'](object, $scope.get('Array'), "to_ary"); if (coerced !== nil) { return coerced; } coerced = $scope.get('Opal')['$coerce_to?'](object, $scope.get('Array'), "to_a"); if (coerced !== nil) { return coerced; } return [object]; }); Opal.defn(self, '$at_exit', TMP_2 = function() { var $a, self = this, $iter = TMP_2.$$p, block = $iter || nil; if ($gvars.__at_exit__ == null) $gvars.__at_exit__ = nil; TMP_2.$$p = null; ((($a = $gvars.__at_exit__) !== false && $a !== nil) ? $a : $gvars.__at_exit__ = []); return $gvars.__at_exit__['$<<'](block); }); Opal.defn(self, '$caller', function() { var self = this; return []; }); Opal.defn(self, '$class', function() { var self = this; return self.$$class; }); Opal.defn(self, '$copy_instance_variables', function(other) { var self = this; for (var name in other) { if (name.charAt(0) !== '$') { self[name] = other[name]; } } }); Opal.defn(self, '$clone', function() { var self = this, copy = nil; copy = self.$class().$allocate(); copy.$copy_instance_variables(self); copy.$initialize_clone(self); return copy; }); Opal.defn(self, '$initialize_clone', function(other) { var self = this; return self.$initialize_copy(other); }); Opal.defn(self, '$define_singleton_method', TMP_3 = function(name, body) { var $a, self = this, $iter = TMP_3.$$p, block = $iter || nil; if (body == null) { body = nil } TMP_3.$$p = null; ((($a = body) !== false && $a !== nil) ? $a : body = block); if (body !== false && body !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to create Proc object without a block") }; var jsid = '$' + name; body.$$jsid = name; body.$$s = null; body.$$def = body; self.$singleton_class().$$proto[jsid] = body; return self; }); Opal.defn(self, '$dup', function() { var self = this, copy = nil; copy = self.$class().$allocate(); copy.$copy_instance_variables(self); copy.$initialize_dup(self); return copy; }); Opal.defn(self, '$initialize_dup', function(other) { var self = this; return self.$initialize_copy(other); }); Opal.defn(self, '$enum_for', TMP_4 = function(method, args) { var $a, $b, self = this, $iter = TMP_4.$$p, block = $iter || nil; args = $slice.call(arguments, 1); if (method == null) { method = "each" } TMP_4.$$p = null; return ($a = ($b = $scope.get('Enumerator')).$for, $a.$$p = block.$to_proc(), $a).apply($b, [self, method].concat(args)); }); Opal.defn(self, '$to_enum', def.$enum_for); Opal.defn(self, '$equal?', function(other) { var self = this; return self === other; }); Opal.defn(self, '$exit', function(status) { var $a, $b, self = this; if ($gvars.__at_exit__ == null) $gvars.__at_exit__ = nil; if (status == null) { status = true } if ((($a = $gvars.__at_exit__) !== nil && (!$a.$$is_boolean || $a == true))) { ($a = ($b = $gvars.__at_exit__.$reverse()).$each, $a.$$p = "call".$to_proc(), $a).call($b)}; if ((($a = status === true) !== nil && (!$a.$$is_boolean || $a == true))) { status = 0}; Opal.exit(status); return nil; }); Opal.defn(self, '$extend', function(mods) { var self = this; mods = $slice.call(arguments, 0); var singleton = self.$singleton_class(); for (var i = mods.length - 1; i >= 0; i--) { var mod = mods[i]; (mod).$append_features(singleton); (mod).$extended(self); } ; return self; }); Opal.defn(self, '$format', function(format_string, args) { var $a, $b, self = this, ary = nil; if ($gvars.DEBUG == null) $gvars.DEBUG = nil; args = $slice.call(arguments, 1); if ((($a = (($b = args.$length()['$=='](1)) ? args['$[]'](0)['$respond_to?']("to_ary") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { ary = $scope.get('Opal')['$coerce_to?'](args['$[]'](0), $scope.get('Array'), "to_ary"); if ((($a = ary['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { args = ary.$to_a() };}; var result = '', //used for slicing: begin_slice = 0, end_slice, //used for iterating over the format string: i, len = format_string.length, //used for processing field values: arg, str, //used for processing %g and %G fields: exponent, //used for keeping track of width and precision: width, precision, //used for holding temporary values: tmp_num, //used for processing %{} and %<> fileds: hash_parameter_key, closing_brace_char, //used for processing %b, %B, %o, %x, and %X fields: base_number, base_prefix, base_neg_zero_regex, base_neg_zero_digit, //used for processing arguments: next_arg, seq_arg_num = 1, pos_arg_num = 0, //used for keeping track of flags: flags, FNONE = 0, FSHARP = 1, FMINUS = 2, FPLUS = 4, FZERO = 8, FSPACE = 16, FWIDTH = 32, FPREC = 64, FPREC0 = 128; function CHECK_FOR_FLAGS() { if (flags&FWIDTH) { self.$raise($scope.get('ArgumentError'), "flag after width") } if (flags&FPREC0) { self.$raise($scope.get('ArgumentError'), "flag after precision") } } function CHECK_FOR_WIDTH() { if (flags&FWIDTH) { self.$raise($scope.get('ArgumentError'), "width given twice") } if (flags&FPREC0) { self.$raise($scope.get('ArgumentError'), "width after precision") } } function GET_NTH_ARG(num) { if (num >= args.length) { self.$raise($scope.get('ArgumentError'), "too few arguments") } return args[num]; } function GET_NEXT_ARG() { switch (pos_arg_num) { case -1: self.$raise($scope.get('ArgumentError'), "unnumbered(" + (seq_arg_num) + ") mixed with numbered") case -2: self.$raise($scope.get('ArgumentError'), "unnumbered(" + (seq_arg_num) + ") mixed with named") } pos_arg_num = seq_arg_num++; return GET_NTH_ARG(pos_arg_num - 1); } function GET_POS_ARG(num) { if (pos_arg_num > 0) { self.$raise($scope.get('ArgumentError'), "numbered(" + (num) + ") after unnumbered(" + (pos_arg_num) + ")") } if (pos_arg_num === -2) { self.$raise($scope.get('ArgumentError'), "numbered(" + (num) + ") after named") } if (num < 1) { self.$raise($scope.get('ArgumentError'), "invalid index - " + (num) + "$") } pos_arg_num = -1; return GET_NTH_ARG(num - 1); } function GET_ARG() { return (next_arg === undefined ? GET_NEXT_ARG() : next_arg); } function READ_NUM(label) { var num, str = ''; for (;; i++) { if (i === len) { self.$raise($scope.get('ArgumentError'), "malformed format string - %*[0-9]") } if (format_string.charCodeAt(i) < 48 || format_string.charCodeAt(i) > 57) { i--; num = parseInt(str) || 0; if (num > 2147483647) { self.$raise($scope.get('ArgumentError'), "" + (label) + " too big") } return num; } str += format_string.charAt(i); } } function READ_NUM_AFTER_ASTER(label) { var arg, num = READ_NUM(label); if (format_string.charAt(i + 1) === '$') { i++; arg = GET_POS_ARG(num); } else { arg = GET_NEXT_ARG(); } return (arg).$to_int(); } for (i = format_string.indexOf('%'); i !== -1; i = format_string.indexOf('%', i)) { str = undefined; flags = FNONE; width = -1; precision = -1; next_arg = undefined; end_slice = i; i++; switch (format_string.charAt(i)) { case '%': begin_slice = i; case '': case '\n': case '\0': i++; continue; } format_sequence: for (; i < len; i++) { switch (format_string.charAt(i)) { case ' ': CHECK_FOR_FLAGS(); flags |= FSPACE; continue format_sequence; case '#': CHECK_FOR_FLAGS(); flags |= FSHARP; continue format_sequence; case '+': CHECK_FOR_FLAGS(); flags |= FPLUS; continue format_sequence; case '-': CHECK_FOR_FLAGS(); flags |= FMINUS; continue format_sequence; case '0': CHECK_FOR_FLAGS(); flags |= FZERO; continue format_sequence; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': tmp_num = READ_NUM('width'); if (format_string.charAt(i + 1) === '$') { if (i + 2 === len) { str = '%'; i++; break format_sequence; } if (next_arg !== undefined) { self.$raise($scope.get('ArgumentError'), "value given twice - %" + (tmp_num) + "$") } next_arg = GET_POS_ARG(tmp_num); i++; } else { CHECK_FOR_WIDTH(); flags |= FWIDTH; width = tmp_num; } continue format_sequence; case '<': case '\{': closing_brace_char = (format_string.charAt(i) === '<' ? '>' : '\}'); hash_parameter_key = ''; i++; for (;; i++) { if (i === len) { self.$raise($scope.get('ArgumentError'), "malformed name - unmatched parenthesis") } if (format_string.charAt(i) === closing_brace_char) { if (pos_arg_num > 0) { self.$raise($scope.get('ArgumentError'), "named " + (hash_parameter_key) + " after unnumbered(" + (pos_arg_num) + ")") } if (pos_arg_num === -1) { self.$raise($scope.get('ArgumentError'), "named " + (hash_parameter_key) + " after numbered") } pos_arg_num = -2; if (args[0] === undefined || !args[0].$$is_hash) { self.$raise($scope.get('ArgumentError'), "one hash required") } next_arg = (args[0]).$fetch(hash_parameter_key); if (closing_brace_char === '>') { continue format_sequence; } else { str = next_arg.toString(); if (precision !== -1) { str = str.slice(0, precision); } if (flags&FMINUS) { while (str.length < width) { str = str + ' '; } } else { while (str.length < width) { str = ' ' + str; } } break format_sequence; } } hash_parameter_key += format_string.charAt(i); } case '*': i++; CHECK_FOR_WIDTH(); flags |= FWIDTH; width = READ_NUM_AFTER_ASTER('width'); if (width < 0) { flags |= FMINUS; width = -width; } continue format_sequence; case '.': if (flags&FPREC0) { self.$raise($scope.get('ArgumentError'), "precision given twice") } flags |= FPREC|FPREC0; precision = 0; i++; if (format_string.charAt(i) === '*') { i++; precision = READ_NUM_AFTER_ASTER('precision'); if (precision < 0) { flags &= ~FPREC; } continue format_sequence; } precision = READ_NUM('precision'); continue format_sequence; case 'd': case 'i': case 'u': arg = self.$Integer(GET_ARG()); if (arg >= 0) { str = arg.toString(); while (str.length < precision) { str = '0' + str; } if (flags&FMINUS) { if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && precision === -1) { while (str.length < width - ((flags&FPLUS || flags&FSPACE) ? 1 : 0)) { str = '0' + str; } if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } } else { if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } while (str.length < width) { str = ' ' + str; } } } } else { str = (-arg).toString(); while (str.length < precision) { str = '0' + str; } if (flags&FMINUS) { str = '-' + str; while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && precision === -1) { while (str.length < width - 1) { str = '0' + str; } str = '-' + str; } else { str = '-' + str; while (str.length < width) { str = ' ' + str; } } } } break format_sequence; case 'b': case 'B': case 'o': case 'x': case 'X': switch (format_string.charAt(i)) { case 'b': case 'B': base_number = 2; base_prefix = '0b'; base_neg_zero_regex = /^1+/; base_neg_zero_digit = '1'; break; case 'o': base_number = 8; base_prefix = '0'; base_neg_zero_regex = /^3?7+/; base_neg_zero_digit = '7'; break; case 'x': case 'X': base_number = 16; base_prefix = '0x'; base_neg_zero_regex = /^f+/; base_neg_zero_digit = 'f'; break; } arg = self.$Integer(GET_ARG()); if (arg >= 0) { str = arg.toString(base_number); while (str.length < precision) { str = '0' + str; } if (flags&FMINUS) { if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } if (flags&FSHARP && arg !== 0) { str = base_prefix + str; } while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && precision === -1) { while (str.length < width - ((flags&FPLUS || flags&FSPACE) ? 1 : 0) - ((flags&FSHARP && arg !== 0) ? base_prefix.length : 0)) { str = '0' + str; } if (flags&FSHARP && arg !== 0) { str = base_prefix + str; } if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } } else { if (flags&FSHARP && arg !== 0) { str = base_prefix + str; } if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } while (str.length < width) { str = ' ' + str; } } } } else { if (flags&FPLUS || flags&FSPACE) { str = (-arg).toString(base_number); while (str.length < precision) { str = '0' + str; } if (flags&FMINUS) { if (flags&FSHARP) { str = base_prefix + str; } str = '-' + str; while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && precision === -1) { while (str.length < width - 1 - (flags&FSHARP ? 2 : 0)) { str = '0' + str; } if (flags&FSHARP) { str = base_prefix + str; } str = '-' + str; } else { if (flags&FSHARP) { str = base_prefix + str; } str = '-' + str; while (str.length < width) { str = ' ' + str; } } } } else { str = (arg >>> 0).toString(base_number).replace(base_neg_zero_regex, base_neg_zero_digit); while (str.length < precision - 2) { str = base_neg_zero_digit + str; } if (flags&FMINUS) { str = '..' + str; if (flags&FSHARP) { str = base_prefix + str; } while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && precision === -1) { while (str.length < width - 2 - (flags&FSHARP ? base_prefix.length : 0)) { str = base_neg_zero_digit + str; } str = '..' + str; if (flags&FSHARP) { str = base_prefix + str; } } else { str = '..' + str; if (flags&FSHARP) { str = base_prefix + str; } while (str.length < width) { str = ' ' + str; } } } } } if (format_string.charAt(i) === format_string.charAt(i).toUpperCase()) { str = str.toUpperCase(); } break format_sequence; case 'f': case 'e': case 'E': case 'g': case 'G': arg = self.$Float(GET_ARG()); if (arg >= 0 || isNaN(arg)) { if (arg === Infinity) { str = 'Inf'; } else { switch (format_string.charAt(i)) { case 'f': str = arg.toFixed(precision === -1 ? 6 : precision); break; case 'e': case 'E': str = arg.toExponential(precision === -1 ? 6 : precision); break; case 'g': case 'G': str = arg.toExponential(); exponent = parseInt(str.split('e')[1]); if (!(exponent < -4 || exponent >= (precision === -1 ? 6 : precision))) { str = arg.toPrecision(precision === -1 ? (flags&FSHARP ? 6 : undefined) : precision); } break; } } if (flags&FMINUS) { if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && arg !== Infinity && !isNaN(arg)) { while (str.length < width - ((flags&FPLUS || flags&FSPACE) ? 1 : 0)) { str = '0' + str; } if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } } else { if (flags&FPLUS || flags&FSPACE) { str = (flags&FPLUS ? '+' : ' ') + str; } while (str.length < width) { str = ' ' + str; } } } } else { if (arg === -Infinity) { str = 'Inf'; } else { switch (format_string.charAt(i)) { case 'f': str = (-arg).toFixed(precision === -1 ? 6 : precision); break; case 'e': case 'E': str = (-arg).toExponential(precision === -1 ? 6 : precision); break; case 'g': case 'G': str = (-arg).toExponential(); exponent = parseInt(str.split('e')[1]); if (!(exponent < -4 || exponent >= (precision === -1 ? 6 : precision))) { str = (-arg).toPrecision(precision === -1 ? (flags&FSHARP ? 6 : undefined) : precision); } break; } } if (flags&FMINUS) { str = '-' + str; while (str.length < width) { str = str + ' '; } } else { if (flags&FZERO && arg !== -Infinity) { while (str.length < width - 1) { str = '0' + str; } str = '-' + str; } else { str = '-' + str; while (str.length < width) { str = ' ' + str; } } } } if (format_string.charAt(i) === format_string.charAt(i).toUpperCase() && arg !== Infinity && arg !== -Infinity && !isNaN(arg)) { str = str.toUpperCase(); } str = str.replace(/([eE][-+]?)([0-9])$/, '$10$2'); break format_sequence; case 'a': case 'A': // Not implemented because there are no specs for this field type. self.$raise($scope.get('NotImplementedError'), "`A` and `a` format field types are not implemented in Opal yet") case 'c': arg = GET_ARG(); if ((arg)['$respond_to?']("to_ary")) { arg = (arg).$to_ary()[0]; } if ((arg)['$respond_to?']("to_str")) { str = (arg).$to_str(); } else { str = String.fromCharCode($scope.get('Opal').$coerce_to(arg, $scope.get('Integer'), "to_int")); } if (str.length !== 1) { self.$raise($scope.get('ArgumentError'), "%c requires a character") } if (flags&FMINUS) { while (str.length < width) { str = str + ' '; } } else { while (str.length < width) { str = ' ' + str; } } break format_sequence; case 'p': str = (GET_ARG()).$inspect(); if (precision !== -1) { str = str.slice(0, precision); } if (flags&FMINUS) { while (str.length < width) { str = str + ' '; } } else { while (str.length < width) { str = ' ' + str; } } break format_sequence; case 's': str = (GET_ARG()).$to_s(); if (precision !== -1) { str = str.slice(0, precision); } if (flags&FMINUS) { while (str.length < width) { str = str + ' '; } } else { while (str.length < width) { str = ' ' + str; } } break format_sequence; default: self.$raise($scope.get('ArgumentError'), "malformed format string - %" + (format_string.charAt(i))) } } if (str === undefined) { self.$raise($scope.get('ArgumentError'), "malformed format string - %") } result += format_string.slice(begin_slice, end_slice) + str; begin_slice = i + 1; } if ($gvars.DEBUG && pos_arg_num >= 0 && seq_arg_num < args.length) { self.$raise($scope.get('ArgumentError'), "too many arguments for format string") } return result + format_string.slice(begin_slice); ; }); Opal.defn(self, '$freeze', function() { var self = this; self.___frozen___ = true; return self; }); Opal.defn(self, '$frozen?', function() { var $a, self = this; if (self.___frozen___ == null) self.___frozen___ = nil; return ((($a = self.___frozen___) !== false && $a !== nil) ? $a : false); }); Opal.defn(self, '$hash', function() { var self = this; return "" + (self.$class()) + ":" + (self.$class().$__id__()) + ":" + (self.$__id__()); }); Opal.defn(self, '$initialize_copy', function(other) { var self = this; return nil; }); Opal.defn(self, '$inspect', function() { var self = this; return self.$to_s(); }); Opal.defn(self, '$instance_of?', function(klass) { var self = this; return self.$$class === klass; }); Opal.defn(self, '$instance_variable_defined?', function(name) { var self = this; return Opal.hasOwnProperty.call(self, name.substr(1)); }); Opal.defn(self, '$instance_variable_get', function(name) { var self = this; var ivar = self[name.substr(1)]; return ivar == null ? nil : ivar; }); Opal.defn(self, '$instance_variable_set', function(name, value) { var self = this; return self[name.substr(1)] = value; }); Opal.defn(self, '$instance_variables', function() { var self = this; var result = []; for (var name in self) { if (name.charAt(0) !== '$') { if (name !== '$$class' && name !== '$$id') { result.push('@' + name); } } } return result; }); Opal.defn(self, '$Integer', function(value, base) { var self = this; var i, str, base_digits; if (!value.$$is_string) { if (base !== undefined) { self.$raise($scope.get('ArgumentError'), "base specified for non string value") } if (value === nil) { self.$raise($scope.get('TypeError'), "can't convert nil into Integer") } if (value.$$is_number) { if (value === Infinity || value === -Infinity || isNaN(value)) { self.$raise($scope.get('FloatDomainError'), value) } return Math.floor(value); } if (value['$respond_to?']("to_int")) { i = value.$to_int(); if (i !== nil) { return i; } } return $scope.get('Opal')['$coerce_to!'](value, $scope.get('Integer'), "to_i"); } if (base === undefined) { base = 0; } else { base = $scope.get('Opal').$coerce_to(base, $scope.get('Integer'), "to_int"); if (base === 1 || base < 0 || base > 36) { self.$raise($scope.get('ArgumentError'), "invalid radix " + (base)) } } str = value.toLowerCase(); str = str.replace(/(\d)_(?=\d)/g, '$1'); str = str.replace(/^(\s*[+-]?)(0[bodx]?)/, function (_, head, flag) { switch (flag) { case '0b': if (base === 0 || base === 2) { base = 2; return head; } case '0': case '0o': if (base === 0 || base === 8) { base = 8; return head; } case '0d': if (base === 0 || base === 10) { base = 10; return head; } case '0x': if (base === 0 || base === 16) { base = 16; return head; } } self.$raise($scope.get('ArgumentError'), "invalid value for Integer(): \"" + (value) + "\"") }); base = (base === 0 ? 10 : base); base_digits = '0-' + (base <= 10 ? base - 1 : '9a-' + String.fromCharCode(97 + (base - 11))); if (!(new RegExp('^\\s*[+-]?[' + base_digits + ']+\\s*$')).test(str)) { self.$raise($scope.get('ArgumentError'), "invalid value for Integer(): \"" + (value) + "\"") } i = parseInt(str, base); if (isNaN(i)) { self.$raise($scope.get('ArgumentError'), "invalid value for Integer(): \"" + (value) + "\"") } return i; ; }); Opal.defn(self, '$Float', function(value) { var self = this; var str; if (value === nil) { self.$raise($scope.get('TypeError'), "can't convert nil into Float") } if (value.$$is_string) { str = value.toString(); str = str.replace(/(\d)_(?=\d)/g, '$1'); //Special case for hex strings only: if (/^\s*[-+]?0[xX][0-9a-fA-F]+\s*$/.test(str)) { return self.$Integer(str); } if (!/^\s*[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\s*$/.test(str)) { self.$raise($scope.get('ArgumentError'), "invalid value for Float(): \"" + (value) + "\"") } return parseFloat(str); } return $scope.get('Opal')['$coerce_to!'](value, $scope.get('Float'), "to_f"); }); Opal.defn(self, '$Hash', function(arg) { var $a, $b, self = this; if ((($a = ((($b = arg['$nil?']()) !== false && $b !== nil) ? $b : arg['$==']([]))) !== nil && (!$a.$$is_boolean || $a == true))) { return $hash2([], {})}; if ((($a = $scope.get('Hash')['$==='](arg)) !== nil && (!$a.$$is_boolean || $a == true))) { return arg}; return $scope.get('Opal')['$coerce_to!'](arg, $scope.get('Hash'), "to_hash"); }); Opal.defn(self, '$is_a?', function(klass) { var self = this; return Opal.is_a(self, klass); }); Opal.defn(self, '$kind_of?', def['$is_a?']); Opal.defn(self, '$lambda', TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; block.$$is_lambda = true; return block; }); Opal.defn(self, '$load', function(file) { var self = this; file = $scope.get('Opal')['$coerce_to!'](file, $scope.get('String'), "to_str"); return Opal.load(Opal.normalize_loadable_path(file)); }); Opal.defn(self, '$loop', TMP_6 = function() { var self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; while (true) { if (block() === $breaker) { return $breaker.$v; } } return self; }); Opal.defn(self, '$nil?', function() { var self = this; return false; }); Opal.defn(self, '$object_id', def.$__id__); Opal.defn(self, '$printf', function(args) { var $a, self = this; args = $slice.call(arguments, 0); if ($rb_gt(args.$length(), 0)) { self.$print(($a = self).$format.apply($a, [].concat(args)))}; return nil; }); Opal.defn(self, '$private_methods', function() { var self = this; return []; }); Opal.defn(self, '$private_instance_methods', def.$private_methods); Opal.defn(self, '$proc', TMP_7 = function() { var self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to create Proc object without a block") }; block.$$is_lambda = false; return block; }); Opal.defn(self, '$puts', function(strs) { var $a, self = this; if ($gvars.stdout == null) $gvars.stdout = nil; strs = $slice.call(arguments, 0); return ($a = $gvars.stdout).$puts.apply($a, [].concat(strs)); }); Opal.defn(self, '$p', function(args) { var $a, $b, TMP_8, self = this; args = $slice.call(arguments, 0); ($a = ($b = args).$each, $a.$$p = (TMP_8 = function(obj){var self = TMP_8.$$s || this; if ($gvars.stdout == null) $gvars.stdout = nil; if (obj == null) obj = nil; return $gvars.stdout.$puts(obj.$inspect())}, TMP_8.$$s = self, TMP_8), $a).call($b); if ($rb_le(args.$length(), 1)) { return args['$[]'](0) } else { return args }; }); Opal.defn(self, '$print', function(strs) { var $a, self = this; if ($gvars.stdout == null) $gvars.stdout = nil; strs = $slice.call(arguments, 0); return ($a = $gvars.stdout).$print.apply($a, [].concat(strs)); }); Opal.defn(self, '$warn', function(strs) { var $a, $b, self = this; if ($gvars.VERBOSE == null) $gvars.VERBOSE = nil; if ($gvars.stderr == null) $gvars.stderr = nil; strs = $slice.call(arguments, 0); if ((($a = ((($b = $gvars.VERBOSE['$nil?']()) !== false && $b !== nil) ? $b : strs['$empty?']())) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return ($a = $gvars.stderr).$puts.apply($a, [].concat(strs)) }; }); Opal.defn(self, '$raise', function(exception, string) { var self = this; if ($gvars["!"] == null) $gvars["!"] = nil; if (exception == null && $gvars["!"]) { throw $gvars["!"]; } if (exception == null) { exception = $scope.get('RuntimeError').$new(); } else if (exception.$$is_string) { exception = $scope.get('RuntimeError').$new(exception); } else if (exception.$$is_class) { exception = exception.$new(string); } $gvars["!"] = exception; throw exception; ; }); Opal.defn(self, '$fail', def.$raise); Opal.defn(self, '$rand', function(max) { var self = this; if (max === undefined) { return Math.random(); } else if (max.$$is_range) { var arr = max.$to_a(); return arr[self.$rand(arr.length)]; } else { return Math.floor(Math.random() * Math.abs($scope.get('Opal').$coerce_to(max, $scope.get('Integer'), "to_int"))); } }); Opal.defn(self, '$respond_to?', function(name, include_all) { var $a, self = this; if (include_all == null) { include_all = false } if ((($a = self['$respond_to_missing?'](name)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; var body = self['$' + name]; if (typeof(body) === "function" && !body.$$stub) { return true; } return false; }); Opal.defn(self, '$respond_to_missing?', function(method_name) { var self = this; return false; }); Opal.defn(self, '$require', function(file) { var self = this; file = $scope.get('Opal')['$coerce_to!'](file, $scope.get('String'), "to_str"); return Opal.require(Opal.normalize_loadable_path(file)); }); Opal.defn(self, '$require_relative', function(file) { var self = this; $scope.get('Opal')['$try_convert!'](file, $scope.get('String'), "to_str"); file = $scope.get('File').$expand_path($scope.get('File').$join(Opal.current_file, "..", file)); return Opal.require(Opal.normalize_loadable_path(file)); }); Opal.defn(self, '$require_tree', function(path) { var self = this; path = $scope.get('File').$expand_path(path); if (path['$=='](".")) { path = ""}; for (var name in Opal.modules) { if ((name)['$start_with?'](path)) { Opal.require(name); } } ; return nil; }); Opal.defn(self, '$send', def.$__send__); Opal.defn(self, '$public_send', def.$__send__); Opal.defn(self, '$singleton_class', function() { var self = this; return Opal.get_singleton_class(self); }); Opal.defn(self, '$sprintf', def.$format); Opal.defn(self, '$srand', def.$rand); Opal.defn(self, '$String', function(str) { var $a, self = this; return ((($a = $scope.get('Opal')['$coerce_to?'](str, $scope.get('String'), "to_str")) !== false && $a !== nil) ? $a : $scope.get('Opal')['$coerce_to!'](str, $scope.get('String'), "to_s")); }); Opal.defn(self, '$taint', function() { var self = this; return self; }); Opal.defn(self, '$tainted?', function() { var self = this; return false; }); Opal.defn(self, '$tap', TMP_9 = function() { var self = this, $iter = TMP_9.$$p, block = $iter || nil; TMP_9.$$p = null; if (Opal.yield1(block, self) === $breaker) return $breaker.$v; return self; }); Opal.defn(self, '$to_proc', function() { var self = this; return self; }); Opal.defn(self, '$to_s', function() { var self = this; return "#<" + (self.$class()) + ":0x" + (self.$__id__().$to_s(16)) + ">"; }); Opal.defn(self, '$untaint', def.$taint); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/nil_class"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$raise']); (function($base, $super) { function $NilClass(){}; var self = $NilClass = $klass($base, $super, 'NilClass', $NilClass); var def = self.$$proto, $scope = self.$$scope; def['$!'] = function() { var self = this; return true; }; def['$&'] = function(other) { var self = this; return false; }; def['$|'] = function(other) { var self = this; return other !== false && other !== nil; }; def['$^'] = function(other) { var self = this; return other !== false && other !== nil; }; def['$=='] = function(other) { var self = this; return other === nil; }; def.$dup = function() { var self = this; return self.$raise($scope.get('TypeError')); }; def.$inspect = function() { var self = this; return "nil"; }; def['$nil?'] = function() { var self = this; return true; }; def.$singleton_class = function() { var self = this; return $scope.get('NilClass'); }; def.$to_a = function() { var self = this; return []; }; def.$to_h = function() { var self = this; return Opal.hash(); }; def.$to_i = function() { var self = this; return 0; }; Opal.defn(self, '$to_f', def.$to_i); return (def.$to_s = function() { var self = this; return ""; }, nil) && 'to_s'; })(self, null); return Opal.cdecl($scope, 'NIL', nil); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/boolean"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$undef_method']); (function($base, $super) { function $Boolean(){}; var self = $Boolean = $klass($base, $super, 'Boolean', $Boolean); var def = self.$$proto, $scope = self.$$scope; def.$$is_boolean = true; def.$__id__ = function() { var self = this; return self.valueOf() ? 2 : 0; }; Opal.defn(self, '$object_id', def.$__id__); (function(self) { var $scope = self.$$scope, def = self.$$proto; return self.$undef_method("new") })(self.$singleton_class()); def['$!'] = function() { var self = this; return self != true; }; def['$&'] = function(other) { var self = this; return (self == true) ? (other !== false && other !== nil) : false; }; def['$|'] = function(other) { var self = this; return (self == true) ? true : (other !== false && other !== nil); }; def['$^'] = function(other) { var self = this; return (self == true) ? (other === false || other === nil) : (other !== false && other !== nil); }; def['$=='] = function(other) { var self = this; return (self == true) === other.valueOf(); }; Opal.defn(self, '$equal?', def['$==']); Opal.defn(self, '$singleton_class', def.$class); return (def.$to_s = function() { var self = this; return (self == true) ? 'true' : 'false'; }, nil) && 'to_s'; })(self, null); Opal.cdecl($scope, 'TrueClass', $scope.get('Boolean')); Opal.cdecl($scope, 'FalseClass', $scope.get('Boolean')); Opal.cdecl($scope, 'TRUE', true); return Opal.cdecl($scope, 'FALSE', false); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/error"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $module = Opal.module; Opal.add_stubs(['$attr_reader', '$class']); (function($base, $super) { function $Exception(){}; var self = $Exception = $klass($base, $super, 'Exception', $Exception); var def = self.$$proto, $scope = self.$$scope; def.message = nil; self.$attr_reader("message"); Opal.defs(self, '$new', function(message) { var self = this; if (message == null) { message = "Exception" } var err = new self.$$alloc(message); if (Error.captureStackTrace) { Error.captureStackTrace(err); } err.name = self.$$name; err.$initialize(message); return err; }); def.$initialize = function(message) { var self = this; return self.message = message; }; def.$backtrace = function() { var self = this; var backtrace = self.stack; if (typeof(backtrace) === 'string') { return backtrace.split("\n").slice(0, 15); } else if (backtrace) { return backtrace.slice(0, 15); } return []; }; def.$inspect = function() { var self = this; return "#<" + (self.$class()) + ": '" + (self.message) + "'>"; }; return Opal.defn(self, '$to_s', def.$message); })(self, null); (function($base, $super) { function $ScriptError(){}; var self = $ScriptError = $klass($base, $super, 'ScriptError', $ScriptError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $SyntaxError(){}; var self = $SyntaxError = $klass($base, $super, 'SyntaxError', $SyntaxError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('ScriptError')); (function($base, $super) { function $LoadError(){}; var self = $LoadError = $klass($base, $super, 'LoadError', $LoadError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('ScriptError')); (function($base, $super) { function $NotImplementedError(){}; var self = $NotImplementedError = $klass($base, $super, 'NotImplementedError', $NotImplementedError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('ScriptError')); (function($base, $super) { function $SystemExit(){}; var self = $SystemExit = $klass($base, $super, 'SystemExit', $SystemExit); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $NoMemoryError(){}; var self = $NoMemoryError = $klass($base, $super, 'NoMemoryError', $NoMemoryError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $SignalException(){}; var self = $SignalException = $klass($base, $super, 'SignalException', $SignalException); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $Interrupt(){}; var self = $Interrupt = $klass($base, $super, 'Interrupt', $Interrupt); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $StandardError(){}; var self = $StandardError = $klass($base, $super, 'StandardError', $StandardError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); (function($base, $super) { function $NameError(){}; var self = $NameError = $klass($base, $super, 'NameError', $NameError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $NoMethodError(){}; var self = $NoMethodError = $klass($base, $super, 'NoMethodError', $NoMethodError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('NameError')); (function($base, $super) { function $RuntimeError(){}; var self = $RuntimeError = $klass($base, $super, 'RuntimeError', $RuntimeError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $LocalJumpError(){}; var self = $LocalJumpError = $klass($base, $super, 'LocalJumpError', $LocalJumpError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $TypeError(){}; var self = $TypeError = $klass($base, $super, 'TypeError', $TypeError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $ArgumentError(){}; var self = $ArgumentError = $klass($base, $super, 'ArgumentError', $ArgumentError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $IndexError(){}; var self = $IndexError = $klass($base, $super, 'IndexError', $IndexError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $StopIteration(){}; var self = $StopIteration = $klass($base, $super, 'StopIteration', $StopIteration); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('IndexError')); (function($base, $super) { function $KeyError(){}; var self = $KeyError = $klass($base, $super, 'KeyError', $KeyError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('IndexError')); (function($base, $super) { function $RangeError(){}; var self = $RangeError = $klass($base, $super, 'RangeError', $RangeError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $FloatDomainError(){}; var self = $FloatDomainError = $klass($base, $super, 'FloatDomainError', $FloatDomainError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('RangeError')); (function($base, $super) { function $IOError(){}; var self = $IOError = $klass($base, $super, 'IOError', $IOError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); (function($base, $super) { function $SystemCallError(){}; var self = $SystemCallError = $klass($base, $super, 'SystemCallError', $SystemCallError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); return (function($base) { var self = $module($base, 'Errno'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $EINVAL(){}; var self = $EINVAL = $klass($base, $super, 'EINVAL', $EINVAL); var def = self.$$proto, $scope = self.$$scope, TMP_1; return (Opal.defs(self, '$new', TMP_1 = function() { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; return Opal.find_super_dispatcher(self, 'new', TMP_1, null, $EINVAL).apply(self, ["Invalid argument"]); }), nil) && 'new' })(self, $scope.get('SystemCallError')) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/regexp"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$nil?', '$[]', '$raise', '$escape', '$options', '$to_str', '$new', '$join', '$!', '$match', '$begin', '$coerce_to', '$call', '$=~']); (function($base, $super) { function $RegexpError(){}; var self = $RegexpError = $klass($base, $super, 'RegexpError', $RegexpError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); return (function($base, $super) { function $Regexp(){}; var self = $Regexp = $klass($base, $super, 'Regexp', $Regexp); var def = self.$$proto, $scope = self.$$scope, TMP_1; Opal.cdecl($scope, 'IGNORECASE', 1); Opal.cdecl($scope, 'MULTILINE', 4); def.$$is_regexp = true; (function(self) { var $scope = self.$$scope, def = self.$$proto; self.$$proto.$escape = function(string) { var self = this; return string.replace(/([-[\]\/{}()*+?.^$\\| ])/g, '\\$1') .replace(/[\n]/g, '\\n') .replace(/[\r]/g, '\\r') .replace(/[\f]/g, '\\f') .replace(/[\t]/g, '\\t'); }; self.$$proto.$last_match = function(n) { var $a, self = this; if ($gvars["~"] == null) $gvars["~"] = nil; if (n == null) { n = nil } if ((($a = n['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return $gvars["~"] } else { return $gvars["~"]['$[]'](n) }; }; self.$$proto.$quote = self.$$proto.$escape; self.$$proto.$union = function(parts) { var self = this; parts = $slice.call(arguments, 0); var is_first_part_array, quoted_validated, part, options, each_part_options; if (parts.length == 0) { return /(?!)/; } // cover the 2 arrays passed as arguments case is_first_part_array = parts[0].$$is_array; if (parts.length > 1 && is_first_part_array) { self.$raise($scope.get('TypeError'), "no implicit conversion of Array into String") } // deal with splat issues (related to https://github.com/opal/opal/issues/858) if (is_first_part_array) { parts = parts[0]; } options = undefined; quoted_validated = []; for (var i=0; i < parts.length; i++) { part = parts[i]; if (part.$$is_string) { quoted_validated.push(self.$escape(part)); } else if (part.$$is_regexp) { each_part_options = (part).$options(); if (options != undefined && options != each_part_options) { self.$raise($scope.get('TypeError'), "All expressions must use the same options") } options = each_part_options; quoted_validated.push('('+part.source+')'); } else { quoted_validated.push(self.$escape((part).$to_str())); } } return self.$new((quoted_validated).$join("|"), options); }; return (self.$$proto.$new = function(regexp, options) { var self = this; // Play nice with IE8 if (regexp.$$is_string && regexp.substr(regexp.length-1, 1) == "\\") { self.$raise($scope.get('RegexpError'), "too short escape sequence: /" + (regexp) + "/") } if (options == undefined || options['$!']()) { options = undefined; } if (options != undefined) { if (regexp.$$is_regexp) { // options are already in regex options = undefined; } else if (options.$$is_number) { var result = ''; if ($scope.get('IGNORECASE') & options) { result += 'i'; } if ($scope.get('MULTILINE') & options) { result += 'm'; } options = result; } else { options = 'i'; } } return new RegExp(regexp, options); ; }, nil) && 'new'; })(self.$singleton_class()); def['$=='] = function(other) { var self = this; return other.constructor == RegExp && self.toString() === other.toString(); }; def['$==='] = function(string) { var self = this; return self.$match(string) !== nil; }; def['$=~'] = function(string) { var $a, self = this; if ($gvars["~"] == null) $gvars["~"] = nil; return ($a = self.$match(string), $a !== false && $a !== nil ?$gvars["~"].$begin(0) : $a); }; Opal.defn(self, '$eql?', def['$==']); def.$inspect = function() { var self = this; return self.toString(); }; def.$match = TMP_1 = function(string, pos) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; if ($gvars["~"] == null) $gvars["~"] = nil; TMP_1.$$p = null; if (pos === undefined) { pos = 0; } else { pos = $scope.get('Opal').$coerce_to(pos, $scope.get('Integer'), "to_int"); } if (string === nil) { return $gvars["~"] = nil; } string = $scope.get('Opal').$coerce_to(string, $scope.get('String'), "to_str"); if (pos < 0) { pos += string.length; if (pos < 0) { return $gvars["~"] = nil; } } // global RegExp maintains state, so not using self/this var md, re = new RegExp(self.source, 'gm' + (self.ignoreCase ? 'i' : '')); while (true) { md = re.exec(string); if (md === null) { return $gvars["~"] = nil; } if (md.index >= pos) { $gvars["~"] = $scope.get('MatchData').$new(re, md) return block === nil ? $gvars["~"] : block.$call($gvars["~"]); } re.lastIndex = md.index + 1; } ; }; def['$~'] = function() { var self = this; if ($gvars._ == null) $gvars._ = nil; return self['$=~']($gvars._); }; def.$source = function() { var self = this; return self.source; }; def.$options = function() { var self = this; var as_string, text_flags, result, text_flag; as_string = self.toString(); if (as_string == "/(?:)/") { self.$raise($scope.get('TypeError'), "uninitialized Regexp") } text_flags = as_string.replace(self.source, '').match(/\w+/); result = 0; // may have no flags if (text_flags == null) { return result; } // first match contains all of our flags text_flags = text_flags[0]; for (var i=0; i < text_flags.length; i++) { text_flag = text_flags[i]; switch(text_flag) { case 'i': result |= $scope.get('IGNORECASE'); break; case 'm': result |= $scope.get('MULTILINE'); break; default: self.$raise("RegExp flag " + (text_flag) + " does not have a match in Ruby") } } return result; }; return Opal.defn(self, '$to_s', def.$source); })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/comparable"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$===', '$equal?', '$<=>', '$normalize', '$raise', '$class']); return (function($base) { var self = $module($base, 'Comparable'); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$normalize', function(what) { var $a, self = this; if ((($a = $scope.get('Integer')['$==='](what)) !== nil && (!$a.$$is_boolean || $a == true))) { return what}; if ($rb_gt(what, 0)) { return 1}; if ($rb_lt(what, 0)) { return -1}; return 0; }); Opal.defn(self, '$==', function(other) { var $a, self = this, cmp = nil; try { if ((($a = self['$equal?'](other)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = cmp = (self['$<=>'](other))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return false }; return $scope.get('Comparable').$normalize(cmp) == 0; } catch ($err) {if (Opal.rescue($err, [$scope.get('StandardError')])) { return false }else { throw $err; } }; }); Opal.defn(self, '$>', function(other) { var $a, self = this, cmp = nil; if ((($a = cmp = (self['$<=>'](other))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (other.$class()) + " failed") }; return $scope.get('Comparable').$normalize(cmp) > 0; }); Opal.defn(self, '$>=', function(other) { var $a, self = this, cmp = nil; if ((($a = cmp = (self['$<=>'](other))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (other.$class()) + " failed") }; return $scope.get('Comparable').$normalize(cmp) >= 0; }); Opal.defn(self, '$<', function(other) { var $a, self = this, cmp = nil; if ((($a = cmp = (self['$<=>'](other))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (other.$class()) + " failed") }; return $scope.get('Comparable').$normalize(cmp) < 0; }); Opal.defn(self, '$<=', function(other) { var $a, self = this, cmp = nil; if ((($a = cmp = (self['$<=>'](other))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (other.$class()) + " failed") }; return $scope.get('Comparable').$normalize(cmp) <= 0; }); Opal.defn(self, '$between?', function(min, max) { var self = this; if ($rb_lt(self, min)) { return false}; if ($rb_gt(self, max)) { return false}; return true; }); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/enumerable"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$raise', '$enum_for', '$flatten', '$map', '$==', '$destructure', '$nil?', '$coerce_to!', '$coerce_to', '$===', '$new', '$<<', '$[]', '$[]=', '$inspect', '$__send__', '$yield', '$enumerator_size', '$respond_to?', '$size', '$private', '$compare', '$<=>', '$dup', '$to_a', '$lambda', '$sort', '$call', '$first', '$zip']); return (function($base) { var self = $module($base, 'Enumerable'); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_7, TMP_8, TMP_9, TMP_10, TMP_11, TMP_12, TMP_13, TMP_14, TMP_15, TMP_16, TMP_17, TMP_18, TMP_19, TMP_20, TMP_22, TMP_23, TMP_24, TMP_25, TMP_26, TMP_27, TMP_28, TMP_29, TMP_30, TMP_31, TMP_32, TMP_33, TMP_35, TMP_37, TMP_41, TMP_42; Opal.defn(self, '$all?', TMP_1 = function() { var $a, self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; var result = true; if (block !== nil) { self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { result = false; return $breaker; } }; } else { self.$each.$$p = function(obj) { if (arguments.length == 1 && (($a = obj) === nil || ($a.$$is_boolean && $a == false))) { result = false; return $breaker; } }; } self.$each(); return result; }); Opal.defn(self, '$any?', TMP_2 = function() { var $a, self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; var result = false; if (block !== nil) { self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result = true; return $breaker; } }; } else { self.$each.$$p = function(obj) { if (arguments.length != 1 || (($a = obj) !== nil && (!$a.$$is_boolean || $a == true))) { result = true; return $breaker; } } } self.$each(); return result; }); Opal.defn(self, '$chunk', TMP_3 = function(state) { var self = this, $iter = TMP_3.$$p, block = $iter || nil; TMP_3.$$p = null; return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$collect', TMP_4 = function() { var self = this, $iter = TMP_4.$$p, block = $iter || nil; TMP_4.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("collect") }; var result = []; self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } result.push(value); }; self.$each(); return result; }); Opal.defn(self, '$collect_concat', TMP_5 = function() { var $a, $b, TMP_6, self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("collect_concat") }; return ($a = ($b = self).$map, $a.$$p = (TMP_6 = function(item){var self = TMP_6.$$s || this, $a; if (item == null) item = nil; return $a = Opal.yield1(block, item), $a === $breaker ? $a : $a}, TMP_6.$$s = self, TMP_6), $a).call($b).$flatten(1); }); Opal.defn(self, '$count', TMP_7 = function(object) { var $a, self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; var result = 0; if (object != null) { block = function() { return $scope.get('Opal').$destructure(arguments)['$=='](object); }; } else if (block === nil) { block = function() { return true; }; } self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result++; } } self.$each(); return result; }); Opal.defn(self, '$cycle', TMP_8 = function(n) { var $a, self = this, $iter = TMP_8.$$p, block = $iter || nil; if (n == null) { n = nil } TMP_8.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("cycle", n) }; if ((($a = n['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { n = $scope.get('Opal')['$coerce_to!'](n, $scope.get('Integer'), "to_int"); if ((($a = n <= 0) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; }; var result, all = []; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } all.push(param); } self.$each(); if (result !== undefined) { return result; } if (all.length === 0) { return nil; } if ((($a = n['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { while (true) { for (var i = 0, length = all.length; i < length; i++) { var value = Opal.yield1(block, all[i]); if (value === $breaker) { return $breaker.$v; } } } } else { while (n > 1) { for (var i = 0, length = all.length; i < length; i++) { var value = Opal.yield1(block, all[i]); if (value === $breaker) { return $breaker.$v; } } n--; } }; }); Opal.defn(self, '$detect', TMP_9 = function(ifnone) { var $a, self = this, $iter = TMP_9.$$p, block = $iter || nil; TMP_9.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("detect", ifnone) }; var result = undefined; self.$each.$$p = function() { var params = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, params); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result = params; return $breaker; } }; self.$each(); if (result === undefined && ifnone !== undefined) { if (typeof(ifnone) === 'function') { result = ifnone(); } else { result = ifnone; } } return result === undefined ? nil : result; }); Opal.defn(self, '$drop', function(number) { var $a, self = this; number = $scope.get('Opal').$coerce_to(number, $scope.get('Integer'), "to_int"); if ((($a = number < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "attempt to drop negative size")}; var result = [], current = 0; self.$each.$$p = function() { if (number <= current) { result.push($scope.get('Opal').$destructure(arguments)); } current++; }; self.$each() return result; }); Opal.defn(self, '$drop_while', TMP_10 = function() { var $a, self = this, $iter = TMP_10.$$p, block = $iter || nil; TMP_10.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("drop_while") }; var result = [], dropping = true; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if (dropping) { var value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { dropping = false; result.push(param); } } else { result.push(param); } }; self.$each(); return result; }); Opal.defn(self, '$each_cons', TMP_11 = function(n) { var self = this, $iter = TMP_11.$$p, block = $iter || nil; TMP_11.$$p = null; return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$each_entry', TMP_12 = function() { var self = this, $iter = TMP_12.$$p, block = $iter || nil; TMP_12.$$p = null; return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$each_slice', TMP_13 = function(n) { var $a, self = this, $iter = TMP_13.$$p, block = $iter || nil; TMP_13.$$p = null; n = $scope.get('Opal').$coerce_to(n, $scope.get('Integer'), "to_int"); if ((($a = n <= 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "invalid slice size")}; if ((block !== nil)) { } else { return self.$enum_for("each_slice", n) }; var result, slice = [] self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); slice.push(param); if (slice.length === n) { if (Opal.yield1(block, slice) === $breaker) { result = $breaker.$v; return $breaker; } slice = []; } }; self.$each(); if (result !== undefined) { return result; } // our "last" group, if smaller than n then won't have been yielded if (slice.length > 0) { if (Opal.yield1(block, slice) === $breaker) { return $breaker.$v; } } ; return nil; }); Opal.defn(self, '$each_with_index', TMP_14 = function(args) { var $a, self = this, $iter = TMP_14.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_14.$$p = null; if ((block !== nil)) { } else { return ($a = self).$enum_for.apply($a, ["each_with_index"].concat(args)) }; var result, index = 0; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = block(param, index); if (value === $breaker) { result = $breaker.$v; return $breaker; } index++; }; self.$each.apply(self, args); if (result !== undefined) { return result; } return self; }); Opal.defn(self, '$each_with_object', TMP_15 = function(object) { var self = this, $iter = TMP_15.$$p, block = $iter || nil; TMP_15.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each_with_object", object) }; var result; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = block(param, object); if (value === $breaker) { result = $breaker.$v; return $breaker; } }; self.$each(); if (result !== undefined) { return result; } return object; }); Opal.defn(self, '$entries', function(args) { var self = this; args = $slice.call(arguments, 0); var result = []; self.$each.$$p = function() { result.push($scope.get('Opal').$destructure(arguments)); }; self.$each.apply(self, args); return result; }); Opal.defn(self, '$find', def.$detect); Opal.defn(self, '$find_all', TMP_16 = function() { var $a, self = this, $iter = TMP_16.$$p, block = $iter || nil; TMP_16.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("find_all") }; var result = []; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result.push(param); } }; self.$each(); return result; }); Opal.defn(self, '$find_index', TMP_17 = function(object) { var $a, self = this, $iter = TMP_17.$$p, block = $iter || nil; TMP_17.$$p = null; if ((($a = object === undefined && block === nil) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$enum_for("find_index")}; var result = nil, index = 0; if (object != null) { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if ((param)['$=='](object)) { result = index; return $breaker; } index += 1; }; } else if (block !== nil) { self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result = index; return $breaker; } index += 1; }; } self.$each(); return result; }); Opal.defn(self, '$first', function(number) { var $a, self = this, result = nil; if ((($a = number === undefined) !== nil && (!$a.$$is_boolean || $a == true))) { result = nil; self.$each.$$p = function() { result = $scope.get('Opal').$destructure(arguments); return $breaker; }; self.$each(); ; } else { result = []; number = $scope.get('Opal').$coerce_to(number, $scope.get('Integer'), "to_int"); if ((($a = number < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "attempt to take negative size")}; if ((($a = number == 0) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; var current = 0, number = $scope.get('Opal').$coerce_to(number, $scope.get('Integer'), "to_int"); self.$each.$$p = function() { result.push($scope.get('Opal').$destructure(arguments)); if (number <= ++current) { return $breaker; } }; self.$each(); ; }; return result; }); Opal.defn(self, '$flat_map', def.$collect_concat); Opal.defn(self, '$grep', TMP_18 = function(pattern) { var $a, self = this, $iter = TMP_18.$$p, block = $iter || nil; TMP_18.$$p = null; var result = []; if (block !== nil) { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = pattern['$==='](param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } result.push(value); } }; } else { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = pattern['$==='](param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result.push(param); } }; } self.$each(); return result; ; }); Opal.defn(self, '$group_by', TMP_19 = function() { var $a, $b, $c, self = this, $iter = TMP_19.$$p, block = $iter || nil, hash = nil; TMP_19.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("group_by") }; hash = $scope.get('Hash').$new(); var result; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } (($a = value, $b = hash, ((($c = $b['$[]']($a)) !== false && $c !== nil) ? $c : $b['$[]=']($a, []))))['$<<'](param); } self.$each(); if (result !== undefined) { return result; } return hash; }); Opal.defn(self, '$include?', function(obj) { var self = this; var result = false; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if ((param)['$=='](obj)) { result = true; return $breaker; } } self.$each(); return result; }); Opal.defn(self, '$inject', TMP_20 = function(object, sym) { var self = this, $iter = TMP_20.$$p, block = $iter || nil; TMP_20.$$p = null; var result = object; if (block !== nil && sym === undefined) { self.$each.$$p = function() { var value = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = value; return; } value = Opal.yieldX(block, [result, value]); if (value === $breaker) { result = $breaker.$v; return $breaker; } result = value; }; } else { if (sym === undefined) { if (!$scope.get('Symbol')['$==='](object)) { self.$raise($scope.get('TypeError'), "" + (object.$inspect()) + " is not a Symbol"); } sym = object; result = undefined; } self.$each.$$p = function() { var value = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = value; return; } result = (result).$__send__(sym, value); }; } self.$each(); return result == undefined ? nil : result; ; }); Opal.defn(self, '$lazy', function() { var $a, $b, TMP_21, self = this; return ($a = ($b = (($scope.get('Enumerator')).$$scope.get('Lazy'))).$new, $a.$$p = (TMP_21 = function(enum$, args){var self = TMP_21.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); return ($a = enum$).$yield.apply($a, [].concat(args))}, TMP_21.$$s = self, TMP_21), $a).call($b, self, self.$enumerator_size()); }); Opal.defn(self, '$enumerator_size', function() { var $a, self = this; if ((($a = self['$respond_to?']("size")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$size() } else { return nil }; }); self.$private("enumerator_size"); Opal.defn(self, '$map', def.$collect); Opal.defn(self, '$max', TMP_22 = function() { var self = this, $iter = TMP_22.$$p, block = $iter || nil; TMP_22.$$p = null; var result; if (block !== nil) { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = param; return; } var value = block(param, result); if (value === $breaker) { result = $breaker.$v; return $breaker; } if (value === nil) { self.$raise($scope.get('ArgumentError'), "comparison failed"); } if (value > 0) { result = param; } }; } else { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = param; return; } if ($scope.get('Opal').$compare(param, result) > 0) { result = param; } }; } self.$each(); return result === undefined ? nil : result; }); Opal.defn(self, '$max_by', TMP_23 = function() { var self = this, $iter = TMP_23.$$p, block = $iter || nil; TMP_23.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("max_by") }; var result, by; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (result === undefined) { result = param; by = value; return; } if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((value)['$<=>'](by) > 0) { result = param by = value; } }; self.$each(); return result === undefined ? nil : result; }); Opal.defn(self, '$member?', def['$include?']); Opal.defn(self, '$min', TMP_24 = function() { var self = this, $iter = TMP_24.$$p, block = $iter || nil; TMP_24.$$p = null; var result; if (block !== nil) { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = param; return; } var value = block(param, result); if (value === $breaker) { result = $breaker.$v; return $breaker; } if (value === nil) { self.$raise($scope.get('ArgumentError'), "comparison failed"); } if (value < 0) { result = param; } }; } else { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments); if (result === undefined) { result = param; return; } if ($scope.get('Opal').$compare(param, result) < 0) { result = param; } }; } self.$each(); return result === undefined ? nil : result; }); Opal.defn(self, '$min_by', TMP_25 = function() { var self = this, $iter = TMP_25.$$p, block = $iter || nil; TMP_25.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("min_by") }; var result, by; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (result === undefined) { result = param; by = value; return; } if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((value)['$<=>'](by) < 0) { result = param by = value; } }; self.$each(); return result === undefined ? nil : result; }); Opal.defn(self, '$minmax', TMP_26 = function() { var self = this, $iter = TMP_26.$$p, block = $iter || nil; TMP_26.$$p = null; return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$minmax_by', TMP_27 = function() { var self = this, $iter = TMP_27.$$p, block = $iter || nil; TMP_27.$$p = null; return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$none?', TMP_28 = function() { var $a, self = this, $iter = TMP_28.$$p, block = $iter || nil; TMP_28.$$p = null; var result = true; if (block !== nil) { self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result = false; return $breaker; } } } else { self.$each.$$p = function() { var value = $scope.get('Opal').$destructure(arguments); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { result = false; return $breaker; } }; } self.$each(); return result; }); Opal.defn(self, '$one?', TMP_29 = function() { var $a, self = this, $iter = TMP_29.$$p, block = $iter || nil; TMP_29.$$p = null; var result = false; if (block !== nil) { self.$each.$$p = function() { var value = Opal.yieldX(block, arguments); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { if (result === true) { result = false; return $breaker; } result = true; } } } else { self.$each.$$p = function() { var value = $scope.get('Opal').$destructure(arguments); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { if (result === true) { result = false; return $breaker; } result = true; } } } self.$each(); return result; }); Opal.defn(self, '$partition', TMP_30 = function() { var $a, self = this, $iter = TMP_30.$$p, block = $iter || nil; TMP_30.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("partition") }; var truthy = [], falsy = [], result; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { truthy.push(param); } else { falsy.push(param); } }; self.$each(); return [truthy, falsy]; }); Opal.defn(self, '$reduce', def.$inject); Opal.defn(self, '$reject', TMP_31 = function() { var $a, self = this, $iter = TMP_31.$$p, block = $iter || nil; TMP_31.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("reject") }; var result = []; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { result.push(param); } }; self.$each(); return result; }); Opal.defn(self, '$reverse_each', TMP_32 = function() { var self = this, $iter = TMP_32.$$p, block = $iter || nil; TMP_32.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("reverse_each") }; var result = []; self.$each.$$p = function() { result.push(arguments); }; self.$each(); for (var i = result.length - 1; i >= 0; i--) { Opal.yieldX(block, result[i]); } return result; }); Opal.defn(self, '$select', def.$find_all); Opal.defn(self, '$slice_before', TMP_33 = function(pattern) { var $a, $b, TMP_34, self = this, $iter = TMP_33.$$p, block = $iter || nil; TMP_33.$$p = null; if ((($a = pattern === undefined && block === nil || arguments.length > 1) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (" + (arguments.length) + " for 1)")}; return ($a = ($b = $scope.get('Enumerator')).$new, $a.$$p = (TMP_34 = function(e){var self = TMP_34.$$s || this, $a; if (e == null) e = nil; var slice = []; if (block !== nil) { if (pattern === undefined) { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true)) && slice.length > 0) { e['$<<'](slice); slice = []; } slice.push(param); }; } else { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = block(param, pattern.$dup()); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true)) && slice.length > 0) { e['$<<'](slice); slice = []; } slice.push(param); }; } } else { self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = pattern['$==='](param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true)) && slice.length > 0) { e['$<<'](slice); slice = []; } slice.push(param); }; } self.$each(); if (slice.length > 0) { e['$<<'](slice); } ;}, TMP_34.$$s = self, TMP_34), $a).call($b); }); Opal.defn(self, '$sort', TMP_35 = function() { var $a, $b, TMP_36, self = this, $iter = TMP_35.$$p, block = $iter || nil, ary = nil; TMP_35.$$p = null; ary = self.$to_a(); if ((block !== nil)) { } else { block = ($a = ($b = self).$lambda, $a.$$p = (TMP_36 = function(a, b){var self = TMP_36.$$s || this; if (a == null) a = nil;if (b == null) b = nil; return a['$<=>'](b)}, TMP_36.$$s = self, TMP_36), $a).call($b) }; return ary.sort(block); }); Opal.defn(self, '$sort_by', TMP_37 = function() { var $a, $b, TMP_38, $c, $d, TMP_39, $e, $f, TMP_40, self = this, $iter = TMP_37.$$p, block = $iter || nil; TMP_37.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("sort_by") }; return ($a = ($b = ($c = ($d = ($e = ($f = self).$map, $e.$$p = (TMP_40 = function(){var self = TMP_40.$$s || this, arg = nil; arg = $scope.get('Opal').$destructure(arguments); return [block.$call(arg), arg];}, TMP_40.$$s = self, TMP_40), $e).call($f)).$sort, $c.$$p = (TMP_39 = function(a, b){var self = TMP_39.$$s || this; if (a == null) a = nil;if (b == null) b = nil; return a['$[]'](0)['$<=>'](b['$[]'](0))}, TMP_39.$$s = self, TMP_39), $c).call($d)).$map, $a.$$p = (TMP_38 = function(arg){var self = TMP_38.$$s || this; if (arg == null) arg = nil; return arg[1];}, TMP_38.$$s = self, TMP_38), $a).call($b); }); Opal.defn(self, '$take', function(num) { var self = this; return self.$first(num); }); Opal.defn(self, '$take_while', TMP_41 = function() { var $a, self = this, $iter = TMP_41.$$p, block = $iter || nil; TMP_41.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("take_while") }; var result = []; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = Opal.yield1(block, param); if (value === $breaker) { result = $breaker.$v; return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { return $breaker; } result.push(param); }; self.$each(); return result; }); Opal.defn(self, '$to_a', def.$entries); Opal.defn(self, '$zip', TMP_42 = function(others) { var $a, self = this, $iter = TMP_42.$$p, block = $iter || nil; others = $slice.call(arguments, 0); TMP_42.$$p = null; return ($a = self.$to_a()).$zip.apply($a, [].concat(others)); }); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/enumerator"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$allocate', '$new', '$to_proc', '$coerce_to', '$nil?', '$empty?', '$class', '$__send__', '$===', '$call', '$enum_for', '$destructure', '$inspect', '$[]', '$raise', '$yield', '$each', '$enumerator_size', '$respond_to?', '$try_convert', '$for']); self.$require("corelib/enumerable"); return (function($base, $super) { function $Enumerator(){}; var self = $Enumerator = $klass($base, $super, 'Enumerator', $Enumerator); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4; def.size = def.args = def.object = def.method = nil; self.$include($scope.get('Enumerable')); Opal.defs(self, '$for', TMP_1 = function(object, method, args) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 2); if (method == null) { method = "each" } TMP_1.$$p = null; var obj = self.$allocate(); obj.object = object; obj.size = block; obj.method = method; obj.args = args; return obj; ; }); def.$initialize = TMP_2 = function() { var $a, $b, self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; if (block !== false && block !== nil) { self.object = ($a = ($b = $scope.get('Generator')).$new, $a.$$p = block.$to_proc(), $a).call($b); self.method = "each"; self.args = []; self.size = arguments[0] || nil; if ((($a = self.size) !== nil && (!$a.$$is_boolean || $a == true))) { return self.size = $scope.get('Opal').$coerce_to(self.size, $scope.get('Integer'), "to_int") } else { return nil }; } else { self.object = arguments[0]; self.method = arguments[1] || "each"; self.args = $slice.call(arguments, 2); return self.size = nil; }; }; def.$each = TMP_3 = function(args) { var $a, $b, $c, self = this, $iter = TMP_3.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_3.$$p = null; if ((($a = ($b = block['$nil?'](), $b !== false && $b !== nil ?args['$empty?']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; args = $rb_plus(self.args, args); if ((($a = block['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = self.$class()).$new.apply($a, [self.object, self.method].concat(args))}; return ($b = ($c = self.object).$__send__, $b.$$p = block.$to_proc(), $b).apply($c, [self.method].concat(args)); }; def.$size = function() { var $a, self = this; if ((($a = $scope.get('Proc')['$==='](self.size)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = self.size).$call.apply($a, [].concat(self.args)) } else { return self.size }; }; def.$with_index = TMP_4 = function(offset) { var self = this, $iter = TMP_4.$$p, block = $iter || nil; if (offset == null) { offset = 0 } TMP_4.$$p = null; if (offset !== false && offset !== nil) { offset = $scope.get('Opal').$coerce_to(offset, $scope.get('Integer'), "to_int") } else { offset = 0 }; if (block !== false && block !== nil) { } else { return self.$enum_for("with_index", offset) }; var result, index = offset; self.$each.$$p = function() { var param = $scope.get('Opal').$destructure(arguments), value = block(param, index); if (value === $breaker) { result = $breaker.$v; return $breaker; } index++; } self.$each(); if (result !== undefined) { return result; } return self.object; }; Opal.defn(self, '$with_object', def.$each_with_object); def.$inspect = function() { var $a, self = this, result = nil; result = "#<" + (self.$class()) + ": " + (self.object.$inspect()) + ":" + (self.method); if ((($a = self.args['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { result = $rb_plus(result, "(" + (self.args.$inspect()['$[]']($scope.get('Range').$new(1, -2))) + ")") }; return $rb_plus(result, ">"); }; (function($base, $super) { function $Generator(){}; var self = $Generator = $klass($base, $super, 'Generator', $Generator); var def = self.$$proto, $scope = self.$$scope, TMP_5, TMP_6; def.block = nil; self.$include($scope.get('Enumerable')); def.$initialize = TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('LocalJumpError'), "no block given") }; return self.block = block; }; return (def.$each = TMP_6 = function(args) { var $a, $b, self = this, $iter = TMP_6.$$p, block = $iter || nil, yielder = nil; args = $slice.call(arguments, 0); TMP_6.$$p = null; yielder = ($a = ($b = $scope.get('Yielder')).$new, $a.$$p = block.$to_proc(), $a).call($b); try { args.unshift(yielder); if (Opal.yieldX(self.block, args) === $breaker) { return $breaker.$v; } } catch (e) { if (e === $breaker) { return $breaker.$v; } else { throw e; } } ; return self; }, nil) && 'each'; })(self, null); (function($base, $super) { function $Yielder(){}; var self = $Yielder = $klass($base, $super, 'Yielder', $Yielder); var def = self.$$proto, $scope = self.$$scope, TMP_7; def.block = nil; def.$initialize = TMP_7 = function() { var self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; return self.block = block; }; def.$yield = function(values) { var self = this; values = $slice.call(arguments, 0); var value = Opal.yieldX(self.block, values); if (value === $breaker) { throw $breaker; } return value; ; }; return (def['$<<'] = function(values) { var $a, self = this; values = $slice.call(arguments, 0); ($a = self).$yield.apply($a, [].concat(values)); return self; }, nil) && '<<'; })(self, null); return (function($base, $super) { function $Lazy(){}; var self = $Lazy = $klass($base, $super, 'Lazy', $Lazy); var def = self.$$proto, $scope = self.$$scope, TMP_8, TMP_11, TMP_13, TMP_18, TMP_20, TMP_21, TMP_23, TMP_26, TMP_29; def.enumerator = nil; (function($base, $super) { function $StopLazyError(){}; var self = $StopLazyError = $klass($base, $super, 'StopLazyError', $StopLazyError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Exception')); def.$initialize = TMP_8 = function(object, size) { var TMP_9, self = this, $iter = TMP_8.$$p, block = $iter || nil; if (size == null) { size = nil } TMP_8.$$p = null; if ((block !== nil)) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy new without a block") }; self.enumerator = object; return Opal.find_super_dispatcher(self, 'initialize', TMP_8, (TMP_9 = function(yielder, each_args){var self = TMP_9.$$s || this, $a, $b, TMP_10; if (yielder == null) yielder = nil;each_args = $slice.call(arguments, 1); try { return ($a = ($b = object).$each, $a.$$p = (TMP_10 = function(args){var self = TMP_10.$$s || this; args = $slice.call(arguments, 0); args.unshift(yielder); if (Opal.yieldX(block, args) === $breaker) { return $breaker; } ;}, TMP_10.$$s = self, TMP_10), $a).apply($b, [].concat(each_args)) } catch ($err) {if (Opal.rescue($err, [$scope.get('Exception')])) { return nil }else { throw $err; } }}, TMP_9.$$s = self, TMP_9)).apply(self, [size]); }; Opal.defn(self, '$force', def.$to_a); def.$lazy = function() { var self = this; return self; }; def.$collect = TMP_11 = function() { var $a, $b, TMP_12, self = this, $iter = TMP_11.$$p, block = $iter || nil; TMP_11.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy map without a block") }; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_12 = function(enum$, args){var self = TMP_12.$$s || this; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } enum$.$yield(value); }, TMP_12.$$s = self, TMP_12), $a).call($b, self, self.$enumerator_size()); }; def.$collect_concat = TMP_13 = function() { var $a, $b, TMP_14, self = this, $iter = TMP_13.$$p, block = $iter || nil; TMP_13.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy map without a block") }; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_14 = function(enum$, args){var self = TMP_14.$$s || this, $a, $b, TMP_15, $c, TMP_16; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } if ((value)['$respond_to?']("force") && (value)['$respond_to?']("each")) { ($a = ($b = (value)).$each, $a.$$p = (TMP_15 = function(v){var self = TMP_15.$$s || this; if (v == null) v = nil; return enum$.$yield(v)}, TMP_15.$$s = self, TMP_15), $a).call($b) } else { var array = $scope.get('Opal').$try_convert(value, $scope.get('Array'), "to_ary"); if (array === nil) { enum$.$yield(value); } else { ($a = ($c = (value)).$each, $a.$$p = (TMP_16 = function(v){var self = TMP_16.$$s || this; if (v == null) v = nil; return enum$.$yield(v)}, TMP_16.$$s = self, TMP_16), $a).call($c); } } ;}, TMP_14.$$s = self, TMP_14), $a).call($b, self, nil); }; def.$drop = function(n) { var $a, $b, TMP_17, self = this, current_size = nil, set_size = nil, dropped = nil; n = $scope.get('Opal').$coerce_to(n, $scope.get('Integer'), "to_int"); if ($rb_lt(n, 0)) { self.$raise($scope.get('ArgumentError'), "attempt to drop negative size")}; current_size = self.$enumerator_size(); set_size = (function() {if ((($a = $scope.get('Integer')['$==='](current_size)) !== nil && (!$a.$$is_boolean || $a == true))) { if ($rb_lt(n, current_size)) { return n } else { return current_size } } else { return current_size }; return nil; })(); dropped = 0; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_17 = function(enum$, args){var self = TMP_17.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); if ($rb_lt(dropped, n)) { return dropped = $rb_plus(dropped, 1) } else { return ($a = enum$).$yield.apply($a, [].concat(args)) }}, TMP_17.$$s = self, TMP_17), $a).call($b, self, set_size); }; def.$drop_while = TMP_18 = function() { var $a, $b, TMP_19, self = this, $iter = TMP_18.$$p, block = $iter || nil, succeeding = nil; TMP_18.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy drop_while without a block") }; succeeding = true; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_19 = function(enum$, args){var self = TMP_19.$$s || this, $a, $b; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); if (succeeding !== false && succeeding !== nil) { var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { succeeding = false; ($a = enum$).$yield.apply($a, [].concat(args)); } } else { return ($b = enum$).$yield.apply($b, [].concat(args)) }}, TMP_19.$$s = self, TMP_19), $a).call($b, self, nil); }; def.$enum_for = TMP_20 = function(method, args) { var $a, $b, self = this, $iter = TMP_20.$$p, block = $iter || nil; args = $slice.call(arguments, 1); if (method == null) { method = "each" } TMP_20.$$p = null; return ($a = ($b = self.$class()).$for, $a.$$p = block.$to_proc(), $a).apply($b, [self, method].concat(args)); }; def.$find_all = TMP_21 = function() { var $a, $b, TMP_22, self = this, $iter = TMP_21.$$p, block = $iter || nil; TMP_21.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy select without a block") }; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_22 = function(enum$, args){var self = TMP_22.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { ($a = enum$).$yield.apply($a, [].concat(args)); } ;}, TMP_22.$$s = self, TMP_22), $a).call($b, self, nil); }; Opal.defn(self, '$flat_map', def.$collect_concat); def.$grep = TMP_23 = function(pattern) { var $a, $b, TMP_24, $c, TMP_25, self = this, $iter = TMP_23.$$p, block = $iter || nil; TMP_23.$$p = null; if (block !== false && block !== nil) { return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_24 = function(enum$, args){var self = TMP_24.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var param = $scope.get('Opal').$destructure(args), value = pattern['$==='](param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { value = Opal.yield1(block, param); if (value === $breaker) { return $breaker; } enum$.$yield(Opal.yield1(block, param)); } ;}, TMP_24.$$s = self, TMP_24), $a).call($b, self, nil) } else { return ($a = ($c = $scope.get('Lazy')).$new, $a.$$p = (TMP_25 = function(enum$, args){var self = TMP_25.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var param = $scope.get('Opal').$destructure(args), value = pattern['$==='](param); if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { enum$.$yield(param); } ;}, TMP_25.$$s = self, TMP_25), $a).call($c, self, nil) }; }; Opal.defn(self, '$map', def.$collect); Opal.defn(self, '$select', def.$find_all); def.$reject = TMP_26 = function() { var $a, $b, TMP_27, self = this, $iter = TMP_26.$$p, block = $iter || nil; TMP_26.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy reject without a block") }; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_27 = function(enum$, args){var self = TMP_27.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } if ((($a = value) === nil || ($a.$$is_boolean && $a == false))) { ($a = enum$).$yield.apply($a, [].concat(args)); } ;}, TMP_27.$$s = self, TMP_27), $a).call($b, self, nil); }; def.$take = function(n) { var $a, $b, TMP_28, self = this, current_size = nil, set_size = nil, taken = nil; n = $scope.get('Opal').$coerce_to(n, $scope.get('Integer'), "to_int"); if ($rb_lt(n, 0)) { self.$raise($scope.get('ArgumentError'), "attempt to take negative size")}; current_size = self.$enumerator_size(); set_size = (function() {if ((($a = $scope.get('Integer')['$==='](current_size)) !== nil && (!$a.$$is_boolean || $a == true))) { if ($rb_lt(n, current_size)) { return n } else { return current_size } } else { return current_size }; return nil; })(); taken = 0; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_28 = function(enum$, args){var self = TMP_28.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); if ($rb_lt(taken, n)) { ($a = enum$).$yield.apply($a, [].concat(args)); return taken = $rb_plus(taken, 1); } else { return self.$raise($scope.get('StopLazyError')) }}, TMP_28.$$s = self, TMP_28), $a).call($b, self, set_size); }; def.$take_while = TMP_29 = function() { var $a, $b, TMP_30, self = this, $iter = TMP_29.$$p, block = $iter || nil; TMP_29.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to call lazy take_while without a block") }; return ($a = ($b = $scope.get('Lazy')).$new, $a.$$p = (TMP_30 = function(enum$, args){var self = TMP_30.$$s || this, $a; if (enum$ == null) enum$ = nil;args = $slice.call(arguments, 1); var value = Opal.yieldX(block, args); if (value === $breaker) { return $breaker; } if ((($a = value) !== nil && (!$a.$$is_boolean || $a == true))) { ($a = enum$).$yield.apply($a, [].concat(args)); } else { self.$raise($scope.get('StopLazyError')); } ;}, TMP_30.$$s = self, TMP_30), $a).call($b, self, nil); }; Opal.defn(self, '$to_enum', def.$enum_for); return (def.$inspect = function() { var self = this; return "#<" + (self.$class()) + ": " + (self.enumerator.$inspect()) + ">"; }, nil) && 'inspect'; })(self, self); })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/array"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $gvars = Opal.gvars, $range = Opal.range, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$new', '$class', '$raise', '$===', '$to_a', '$respond_to?', '$to_ary', '$coerce_to', '$coerce_to?', '$==', '$to_str', '$clone', '$hash', '$<=>', '$object_id', '$inspect', '$enum_for', '$empty?', '$nil?', '$coerce_to!', '$initialize_clone', '$initialize_dup', '$replace', '$eql?', '$length', '$begin', '$end', '$exclude_end?', '$flatten', '$__id__', '$[]', '$to_s', '$join', '$delete_if', '$to_proc', '$each', '$reverse', '$frozen?', '$rotate', '$!', '$map', '$rand', '$keep_if', '$shuffle!', '$sort', '$times', '$[]=', '$<<', '$at', '$kind_of?', '$last', '$first', '$upto']); self.$require("corelib/enumerable"); return (function($base, $super) { function $Array(){}; var self = $Array = $klass($base, $super, 'Array', $Array); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_6, TMP_7, TMP_8, TMP_9, TMP_10, TMP_11, TMP_12, TMP_13, TMP_14, TMP_15, TMP_16, TMP_17, TMP_18, TMP_19, TMP_21, TMP_22, TMP_23, TMP_24, TMP_25, TMP_30; def.length = nil; self.$include($scope.get('Enumerable')); def.$$is_array = true; Opal.defs(self, '$[]', function(objects) { var self = this; objects = $slice.call(arguments, 0); return objects; }); def.$initialize = function(args) { var $a, self = this; args = $slice.call(arguments, 0); return ($a = self.$class()).$new.apply($a, [].concat(args)); }; Opal.defs(self, '$new', TMP_1 = function(size, obj) { var $a, self = this, $iter = TMP_1.$$p, block = $iter || nil; if (size == null) { size = nil } if (obj == null) { obj = nil } TMP_1.$$p = null; if ((($a = arguments.length > 2) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (" + (arguments.length) + " for 0..2)")}; if ((($a = arguments.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; if ((($a = arguments.length === 1) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = $scope.get('Array')['$==='](size)) !== nil && (!$a.$$is_boolean || $a == true))) { return size.$to_a() } else if ((($a = size['$respond_to?']("to_ary")) !== nil && (!$a.$$is_boolean || $a == true))) { return size.$to_ary()}}; size = $scope.get('Opal').$coerce_to(size, $scope.get('Integer'), "to_int"); if ((($a = size < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "negative array size")}; var result = []; if (block === nil) { for (var i = 0; i < size; i++) { result.push(obj); } } else { for (var i = 0, value; i < size; i++) { value = block(i); if (value === $breaker) { return $breaker.$v; } result[i] = value; } } return result; }); Opal.defs(self, '$try_convert', function(obj) { var self = this; return $scope.get('Opal')['$coerce_to?'](obj, $scope.get('Array'), "to_ary"); }); def['$&'] = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; var result = [], seen = {}; for (var i = 0, length = self.length; i < length; i++) { var item = self[i]; if (!seen[item]) { for (var j = 0, length2 = other.length; j < length2; j++) { var item2 = other[j]; if (!seen[item2] && (item)['$=='](item2)) { seen[item] = true; result.push(item); } } } } return result; }; def['$|'] = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; var result = [], seen = {}; for (var i = 0, length = self.length; i < length; i++) { var item = self[i]; if (!seen[item]) { seen[item] = true; result.push(item); } } for (var i = 0, length = other.length; i < length; i++) { var item = other[i]; if (!seen[item]) { seen[item] = true; result.push(item); } } return result; }; def['$*'] = function(other) { var $a, self = this; if ((($a = other['$respond_to?']("to_str")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.join(other.$to_str())}; if ((($a = other['$respond_to?']("to_int")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('TypeError'), "no implicit conversion of " + (other.$class()) + " into Integer") }; other = $scope.get('Opal').$coerce_to(other, $scope.get('Integer'), "to_int"); if ((($a = other < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "negative argument")}; var result = []; for (var i = 0; i < other; i++) { result = result.concat(self); } return result; }; def['$+'] = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; return self.concat(other); }; def['$-'] = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; if ((($a = other.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$clone()}; var seen = {}, result = []; for (var i = 0, length = other.length; i < length; i++) { seen[other[i]] = true; } for (var i = 0, length = self.length; i < length; i++) { var item = self[i]; if (!seen[item]) { result.push(item); } } return result; }; def['$<<'] = function(object) { var self = this; self.push(object); return self; }; def['$<=>'] = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else if ((($a = other['$respond_to?']("to_ary")) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_ary().$to_a() } else { return nil }; if (self.$hash() === other.$hash()) { return 0; } if (self.length != other.length) { return (self.length > other.length) ? 1 : -1; } for (var i = 0, length = self.length; i < length; i++) { var tmp = (self[i])['$<=>'](other[i]); if (tmp !== 0) { return tmp; } } return 0; ; }; def['$=='] = function(other) { var self = this; var recursed = {}; function _eqeq(array, other) { var i, length, a, b; if (!other.$$is_array) { if ($scope.get('Opal')['$respond_to?'](other, "to_ary")) { return (other)['$=='](array); } else { return false; } } other = other.$to_a(); if (array.length !== other.length) { return false; } recursed[(array).$object_id()] = true; for (i = 0, length = array.length; i < length; i++) { a = array[i]; b = other[i]; if (a.$$is_array) { if (b.$$is_array && b.length !== a.length) { return false; } if (!recursed.hasOwnProperty((a).$object_id())) { if (!_eqeq(a, b)) { return false; } } } else { if (!(a)['$=='](b)) { return false; } } } return true; } return _eqeq(self, other); ; }; def['$[]'] = function(index, length) { var $a, self = this; if ((($a = $scope.get('Range')['$==='](index)) !== nil && (!$a.$$is_boolean || $a == true))) { var size = self.length, exclude = index.exclude, from = $scope.get('Opal').$coerce_to(index.begin, $scope.get('Integer'), "to_int"), to = $scope.get('Opal').$coerce_to(index.end, $scope.get('Integer'), "to_int"); if (from < 0) { from += size; if (from < 0) { return nil; } } if (from > size) { return nil; } if (to < 0) { to += size; if (to < 0) { return []; } } if (!exclude) { to += 1; } return self.slice(from, to); ; } else { index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); var size = self.length; if (index < 0) { index += size; if (index < 0) { return nil; } } if (length === undefined) { if (index >= size || index < 0) { return nil; } return self[index]; } else { length = $scope.get('Opal').$coerce_to(length, $scope.get('Integer'), "to_int"); if (length < 0 || index > size || index < 0) { return nil; } return self.slice(index, index + length); } }; }; def['$[]='] = function(index, value, extra) { var $a, self = this, data = nil, length = nil; if ((($a = $scope.get('Range')['$==='](index)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = $scope.get('Array')['$==='](value)) !== nil && (!$a.$$is_boolean || $a == true))) { data = value.$to_a() } else if ((($a = value['$respond_to?']("to_ary")) !== nil && (!$a.$$is_boolean || $a == true))) { data = value.$to_ary().$to_a() } else { data = [value] }; var size = self.length, exclude = index.exclude, from = $scope.get('Opal').$coerce_to(index.begin, $scope.get('Integer'), "to_int"), to = $scope.get('Opal').$coerce_to(index.end, $scope.get('Integer'), "to_int"); if (from < 0) { from += size; if (from < 0) { self.$raise($scope.get('RangeError'), "" + (index.$inspect()) + " out of range"); } } if (to < 0) { to += size; } if (!exclude) { to += 1; } if (from > size) { for (var i = size; i < from; i++) { self[i] = nil; } } if (to < 0) { self.splice.apply(self, [from, 0].concat(data)); } else { self.splice.apply(self, [from, to - from].concat(data)); } return value; ; } else { if ((($a = extra === undefined) !== nil && (!$a.$$is_boolean || $a == true))) { length = 1 } else { length = value; value = extra; if ((($a = $scope.get('Array')['$==='](value)) !== nil && (!$a.$$is_boolean || $a == true))) { data = value.$to_a() } else if ((($a = value['$respond_to?']("to_ary")) !== nil && (!$a.$$is_boolean || $a == true))) { data = value.$to_ary().$to_a() } else { data = [value] }; }; var size = self.length, index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"), length = $scope.get('Opal').$coerce_to(length, $scope.get('Integer'), "to_int"), old; if (index < 0) { old = index; index += size; if (index < 0) { self.$raise($scope.get('IndexError'), "index " + (old) + " too small for array; minimum " + (-self.length)); } } if (length < 0) { self.$raise($scope.get('IndexError'), "negative length (" + (length) + ")") } if (index > size) { for (var i = size; i < index; i++) { self[i] = nil; } } if (extra === undefined) { self[index] = value; } else { self.splice.apply(self, [index, length].concat(data)); } return value; ; }; }; def.$assoc = function(object) { var self = this; for (var i = 0, length = self.length, item; i < length; i++) { if (item = self[i], item.length && (item[0])['$=='](object)) { return item; } } return nil; }; def.$at = function(index) { var self = this; index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); if (index < 0) { index += self.length; } if (index < 0 || index >= self.length) { return nil; } return self[index]; }; def.$bsearch = TMP_2 = function() { var self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("bsearch") }; var min = 0, max = self.length, mid, val, ret, smaller = false, satisfied = nil; while (min < max) { mid = min + Math.floor((max - min) / 2); val = self[mid]; ret = block(val); if (ret === $breaker) { return $breaker.$v; } else if (ret === true) { satisfied = val; smaller = true; } else if (ret === false || ret === nil) { smaller = false; } else if (ret.$$is_number) { if (ret === 0) { return val; } smaller = (ret < 0); } else { self.$raise($scope.get('TypeError'), "wrong argument type " + ((ret).$class()) + " (must be numeric, true, false or nil)") } if (smaller) { max = mid; } else { min = mid + 1; } } return satisfied; }; def.$cycle = TMP_3 = function(n) { var $a, $b, self = this, $iter = TMP_3.$$p, block = $iter || nil; if (n == null) { n = nil } TMP_3.$$p = null; if ((($a = ((($b = self['$empty?']()) !== false && $b !== nil) ? $b : n['$=='](0))) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; if (block !== false && block !== nil) { } else { return self.$enum_for("cycle", n) }; if ((($a = n['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { while (true) { for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, self[i]); if (value === $breaker) { return $breaker.$v; } } } } else { n = $scope.get('Opal')['$coerce_to!'](n, $scope.get('Integer'), "to_int"); if (n <= 0) { return self; } while (n > 0) { for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, self[i]); if (value === $breaker) { return $breaker.$v; } } n--; } }; return self; }; def.$clear = function() { var self = this; self.splice(0, self.length); return self; }; def.$clone = function() { var self = this, copy = nil; copy = []; copy.$initialize_clone(self); return copy; }; def.$dup = function() { var self = this, copy = nil; copy = []; copy.$initialize_dup(self); return copy; }; def.$initialize_copy = function(other) { var self = this; return self.$replace(other); }; def.$collect = TMP_4 = function() { var self = this, $iter = TMP_4.$$p, block = $iter || nil; TMP_4.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("collect") }; var result = []; for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, self[i]); if (value === $breaker) { return $breaker.$v; } result.push(value); } return result; }; def['$collect!'] = TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("collect!") }; for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, self[i]); if (value === $breaker) { return $breaker.$v; } self[i] = value; } return self; }; def.$combination = TMP_6 = function(n) { var $a, self = this, $iter = TMP_6.$$p, $yield = $iter || nil, num = nil; TMP_6.$$p = null; num = $scope.get('Opal')['$coerce_to!'](n, $scope.get('Integer'), "to_int"); if (($yield !== nil)) { } else { return self.$enum_for("combination", num) }; var i, length, stack, chosen, lev, done, next; if (num === 0) { ((($a = Opal.yield1($yield, [])) === $breaker) ? $breaker.$v : $a) } else if (num === 1) { for (i = 0, length = self.length; i < length; i++) { ((($a = Opal.yield1($yield, [self[i]])) === $breaker) ? $breaker.$v : $a) } } else if (num === self.length) { ((($a = Opal.yield1($yield, self.slice())) === $breaker) ? $breaker.$v : $a) } else if (num >= 0 && num < self.length) { stack = []; for (i = 0; i <= num + 1; i++) { stack.push(0); } chosen = []; lev = 0; done = false; stack[0] = -1; while (!done) { chosen[lev] = self[stack[lev+1]]; while (lev < num - 1) { lev++; next = stack[lev+1] = stack[lev] + 1; chosen[lev] = self[next]; } ((($a = Opal.yield1($yield, chosen.slice())) === $breaker) ? $breaker.$v : $a) lev++; do { done = (lev === 0); stack[lev]++; lev--; } while ( stack[lev+1] + num === self.length + lev + 1 ); } } ; return self; }; def.$compact = function() { var self = this; var result = []; for (var i = 0, length = self.length, item; i < length; i++) { if ((item = self[i]) !== nil) { result.push(item); } } return result; }; def['$compact!'] = function() { var self = this; var original = self.length; for (var i = 0, length = self.length; i < length; i++) { if (self[i] === nil) { self.splice(i, 1); length--; i--; } } return self.length === original ? nil : self; }; def.$concat = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; for (var i = 0, length = other.length; i < length; i++) { self.push(other[i]); } return self; }; def.$delete = TMP_7 = function(object) { var $a, self = this, $iter = TMP_7.$$p, $yield = $iter || nil; TMP_7.$$p = null; var original = self.length; for (var i = 0, length = original; i < length; i++) { if ((self[i])['$=='](object)) { self.splice(i, 1); length--; i--; } } if (self.length === original) { if (($yield !== nil)) { return ((($a = Opal.yieldX($yield, [])) === $breaker) ? $breaker.$v : $a); } return nil; } return object; ; }; def.$delete_at = function(index) { var self = this; index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); if (index < 0) { index += self.length; } if (index < 0 || index >= self.length) { return nil; } var result = self[index]; self.splice(index, 1); return result; ; }; def.$delete_if = TMP_8 = function() { var self = this, $iter = TMP_8.$$p, block = $iter || nil; TMP_8.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("delete_if") }; for (var i = 0, length = self.length, value; i < length; i++) { if ((value = block(self[i])) === $breaker) { return $breaker.$v; } if (value !== false && value !== nil) { self.splice(i, 1); length--; i--; } } return self; }; def.$drop = function(number) { var self = this; if (number < 0) { self.$raise($scope.get('ArgumentError')) } return self.slice(number); ; }; Opal.defn(self, '$dup', def.$clone); def.$each = TMP_9 = function() { var self = this, $iter = TMP_9.$$p, block = $iter || nil; TMP_9.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each") }; for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, self[i]); if (value == $breaker) { return $breaker.$v; } } return self; }; def.$each_index = TMP_10 = function() { var self = this, $iter = TMP_10.$$p, block = $iter || nil; TMP_10.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each_index") }; for (var i = 0, length = self.length; i < length; i++) { var value = Opal.yield1(block, i); if (value === $breaker) { return $breaker.$v; } } return self; }; def['$empty?'] = function() { var self = this; return self.length === 0; }; def['$eql?'] = function(other) { var self = this; var recursed = {}; function _eql(array, other) { var i, length, a, b; if (!other.$$is_array) { return false; } other = other.$to_a(); if (array.length !== other.length) { return false; } recursed[(array).$object_id()] = true; for (i = 0, length = array.length; i < length; i++) { a = array[i]; b = other[i]; if (a.$$is_array) { if (b.$$is_array && b.length !== a.length) { return false; } if (!recursed.hasOwnProperty((a).$object_id())) { if (!_eql(a, b)) { return false; } } } else { if (!(a)['$eql?'](b)) { return false; } } } return true; } return _eql(self, other); }; def.$fetch = TMP_11 = function(index, defaults) { var self = this, $iter = TMP_11.$$p, block = $iter || nil; TMP_11.$$p = null; var original = index; index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); if (index < 0) { index += self.length; } if (index >= 0 && index < self.length) { return self[index]; } if (block !== nil) { return block(original); } if (defaults != null) { return defaults; } if (self.length === 0) { self.$raise($scope.get('IndexError'), "index " + (original) + " outside of array bounds: 0...0") } else { self.$raise($scope.get('IndexError'), "index " + (original) + " outside of array bounds: -" + (self.length) + "..." + (self.length)); } ; }; def.$fill = TMP_12 = function(args) { var $a, self = this, $iter = TMP_12.$$p, block = $iter || nil, one = nil, two = nil, obj = nil, left = nil, right = nil; args = $slice.call(arguments, 0); TMP_12.$$p = null; if (block !== false && block !== nil) { if ((($a = args.length > 2) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (" + (args.$length()) + " for 0..2)")}; $a = Opal.to_ary(args), one = ($a[0] == null ? nil : $a[0]), two = ($a[1] == null ? nil : $a[1]); } else { if ((($a = args.length == 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (0 for 1..3)") } else if ((($a = args.length > 3) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (" + (args.$length()) + " for 1..3)")}; $a = Opal.to_ary(args), obj = ($a[0] == null ? nil : $a[0]), one = ($a[1] == null ? nil : $a[1]), two = ($a[2] == null ? nil : $a[2]); }; if ((($a = $scope.get('Range')['$==='](one)) !== nil && (!$a.$$is_boolean || $a == true))) { if (two !== false && two !== nil) { self.$raise($scope.get('TypeError'), "length invalid with range")}; left = $scope.get('Opal').$coerce_to(one.$begin(), $scope.get('Integer'), "to_int"); if ((($a = left < 0) !== nil && (!$a.$$is_boolean || $a == true))) { left += self.length;}; if ((($a = left < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('RangeError'), "" + (one.$inspect()) + " out of range")}; right = $scope.get('Opal').$coerce_to(one.$end(), $scope.get('Integer'), "to_int"); if ((($a = right < 0) !== nil && (!$a.$$is_boolean || $a == true))) { right += self.length;}; if ((($a = one['$exclude_end?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { right += 1; }; if ((($a = right <= left) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; } else if (one !== false && one !== nil) { left = $scope.get('Opal').$coerce_to(one, $scope.get('Integer'), "to_int"); if ((($a = left < 0) !== nil && (!$a.$$is_boolean || $a == true))) { left += self.length;}; if ((($a = left < 0) !== nil && (!$a.$$is_boolean || $a == true))) { left = 0}; if (two !== false && two !== nil) { right = $scope.get('Opal').$coerce_to(two, $scope.get('Integer'), "to_int"); if ((($a = right == 0) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; right += left; } else { right = self.length }; } else { left = 0; right = self.length; }; if ((($a = left > self.length) !== nil && (!$a.$$is_boolean || $a == true))) { for (var i = self.length; i < right; i++) { self[i] = nil; } ;}; if ((($a = right > self.length) !== nil && (!$a.$$is_boolean || $a == true))) { self.length = right}; if (block !== false && block !== nil) { for (var length = self.length; left < right; left++) { var value = block(left); if (value === $breaker) { return $breaker.$v; } self[left] = value; } ; } else { for (var length = self.length; left < right; left++) { self[left] = obj; } ; }; return self; }; def.$first = function(count) { var self = this; if (count == null) { return self.length === 0 ? nil : self[0]; } count = $scope.get('Opal').$coerce_to(count, $scope.get('Integer'), "to_int"); if (count < 0) { self.$raise($scope.get('ArgumentError'), "negative array size"); } return self.slice(0, count); }; def.$flatten = function(level) { var self = this; var object_id = (self).$object_id(); function _flatten(array, level) { var array = (array).$to_a(), result = [], i, length, item, ary; for (i = 0, length = array.length; i < length; i++) { item = array[i]; if (!$scope.get('Opal')['$respond_to?'](item, "to_ary")) { result.push(item); continue; } ary = (item).$to_ary(); if (ary === nil) { result.push(item); continue; } if (!ary.$$is_array) { self.$raise($scope.get('TypeError')); } if (object_id === (ary).$object_id()) { self.$raise($scope.get('ArgumentError')); } switch (level) { case undefined: result.push.apply(result, _flatten(ary)); break; case 0: result.push(ary); break; default: result.push.apply(result, _flatten(ary, level - 1)); } } return result; } if (level !== undefined) { level = $scope.get('Opal').$coerce_to(level, $scope.get('Integer'), "to_int"); } return _flatten(self, level); ; }; def['$flatten!'] = function(level) { var self = this; var flattened = self.$flatten(level); if (self.length == flattened.length) { for (var i = 0, length = self.length; i < length; i++) { if (self[i] !== flattened[i]) { break; } } if (i == length) { return nil; } } self.$replace(flattened); ; return self; }; def.$hash = function() { var self = this; var hash = ['A'], item; for (var i = 0, length = self.length; i < length; i++) { item = self[i]; if (item.$$is_array && (self)['$eql?'](item)) { hash.push('self'); } else { hash.push(item.$hash()); } } return hash.join(','); }; def['$include?'] = function(member) { var self = this; for (var i = 0, length = self.length; i < length; i++) { if ((self[i])['$=='](member)) { return true; } } return false; }; def.$index = TMP_13 = function(object) { var self = this, $iter = TMP_13.$$p, block = $iter || nil; TMP_13.$$p = null; if (object != null) { for (var i = 0, length = self.length; i < length; i++) { if ((self[i])['$=='](object)) { return i; } } } else if (block !== nil) { for (var i = 0, length = self.length, value; i < length; i++) { if ((value = block(self[i])) === $breaker) { return $breaker.$v; } if (value !== false && value !== nil) { return i; } } } else { return self.$enum_for("index"); } return nil; }; def.$insert = function(index, objects) { var self = this; objects = $slice.call(arguments, 1); index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); if (objects.length > 0) { if (index < 0) { index += self.length + 1; if (index < 0) { self.$raise($scope.get('IndexError'), "" + (index) + " is out of bounds"); } } if (index > self.length) { for (var i = self.length; i < index; i++) { self.push(nil); } } self.splice.apply(self, [index, 0].concat(objects)); } ; return self; }; def.$inspect = function() { var self = this; var result = [], id = self.$__id__(); for (var i = 0, length = self.length; i < length; i++) { var item = self['$[]'](i); if ((item).$__id__() === id) { result.push('[...]'); } else { result.push((item).$inspect()); } } return '[' + result.join(', ') + ']'; ; }; def.$join = function(sep) { var $a, self = this; if ($gvars[","] == null) $gvars[","] = nil; if (sep == null) { sep = nil } if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return ""}; if ((($a = sep === nil) !== nil && (!$a.$$is_boolean || $a == true))) { sep = $gvars[","]}; var result = []; var object_id = (self).$object_id(); for (var i = 0, length = self.length; i < length; i++) { var item = self[i]; if ($scope.get('Opal')['$respond_to?'](item, "to_str")) { var tmp = (item).$to_str(); if (tmp !== nil) { result.push((tmp).$to_s()); continue; } } if ($scope.get('Opal')['$respond_to?'](item, "to_ary")) { var tmp = (item).$to_ary(); if (object_id === (tmp).$object_id()) { self.$raise($scope.get('ArgumentError')); } if (tmp !== nil) { result.push((tmp).$join(sep)); continue; } } if ($scope.get('Opal')['$respond_to?'](item, "to_s")) { var tmp = (item).$to_s(); if (tmp !== nil) { result.push(tmp); continue; } } self.$raise($scope.get('NoMethodError'), "" + ($scope.get('Opal').$inspect(item)) + " doesn't respond to #to_str, #to_ary or #to_s"); } if (sep === nil) { return result.join(''); } else { return result.join($scope.get('Opal')['$coerce_to!'](sep, $scope.get('String'), "to_str").$to_s()); } ; }; def.$keep_if = TMP_14 = function() { var self = this, $iter = TMP_14.$$p, block = $iter || nil; TMP_14.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("keep_if") }; for (var i = 0, length = self.length, value; i < length; i++) { if ((value = block(self[i])) === $breaker) { return $breaker.$v; } if (value === false || value === nil) { self.splice(i, 1); length--; i--; } } return self; }; def.$last = function(count) { var self = this; if (count == null) { return self.length === 0 ? nil : self[self.length - 1]; } count = $scope.get('Opal').$coerce_to(count, $scope.get('Integer'), "to_int"); if (count < 0) { self.$raise($scope.get('ArgumentError'), "negative array size"); } if (count > self.length) { count = self.length; } return self.slice(self.length - count, self.length); }; def.$length = function() { var self = this; return self.length; }; Opal.defn(self, '$map', def.$collect); Opal.defn(self, '$map!', def['$collect!']); def.$pop = function(count) { var $a, self = this; if ((($a = count === undefined) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; return self.pop();}; count = $scope.get('Opal').$coerce_to(count, $scope.get('Integer'), "to_int"); if ((($a = count < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "negative array size")}; if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; if ((($a = count > self.length) !== nil && (!$a.$$is_boolean || $a == true))) { return self.splice(0, self.length); } else { return self.splice(self.length - count, self.length); }; }; def.$product = TMP_15 = function(args) { var $a, self = this, $iter = TMP_15.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_15.$$p = null; var result = (block !== nil) ? null : [], n = args.length + 1, counters = new Array(n), lengths = new Array(n), arrays = new Array(n), i, m, subarray, len, resultlen = 1; arrays[0] = self; for (i = 1; i < n; i++) { arrays[i] = $scope.get('Opal').$coerce_to(args[i - 1], $scope.get('Array'), "to_ary"); } for (i = 0; i < n; i++) { len = arrays[i].length; if (len === 0) { return result || self; } resultlen *= len; if (resultlen > 2147483647) { self.$raise($scope.get('RangeError'), "too big to product") } lengths[i] = len; counters[i] = 0; } outer_loop: for (;;) { subarray = []; for (i = 0; i < n; i++) { subarray.push(arrays[i][counters[i]]); } if (result) { result.push(subarray); } else { ((($a = Opal.yield1(block, subarray)) === $breaker) ? $breaker.$v : $a) } m = n - 1; counters[m]++; while (counters[m] === lengths[m]) { counters[m] = 0; if (--m < 0) break outer_loop; counters[m]++; } } return result || self; ; }; def.$push = function(objects) { var self = this; objects = $slice.call(arguments, 0); for (var i = 0, length = objects.length; i < length; i++) { self.push(objects[i]); } return self; }; def.$rassoc = function(object) { var self = this; for (var i = 0, length = self.length, item; i < length; i++) { item = self[i]; if (item.length && item[1] !== undefined) { if ((item[1])['$=='](object)) { return item; } } } return nil; }; def.$reject = TMP_16 = function() { var self = this, $iter = TMP_16.$$p, block = $iter || nil; TMP_16.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("reject") }; var result = []; for (var i = 0, length = self.length, value; i < length; i++) { if ((value = block(self[i])) === $breaker) { return $breaker.$v; } if (value === false || value === nil) { result.push(self[i]); } } return result; }; def['$reject!'] = TMP_17 = function() { var $a, $b, self = this, $iter = TMP_17.$$p, block = $iter || nil, original = nil; TMP_17.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("reject!") }; original = self.$length(); ($a = ($b = self).$delete_if, $a.$$p = block.$to_proc(), $a).call($b); if (self.$length()['$=='](original)) { return nil } else { return self }; }; def.$replace = function(other) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_a() } else { other = $scope.get('Opal').$coerce_to(other, $scope.get('Array'), "to_ary").$to_a() }; self.splice(0, self.length); self.push.apply(self, other); return self; }; def.$reverse = function() { var self = this; return self.slice(0).reverse(); }; def['$reverse!'] = function() { var self = this; return self.reverse(); }; def.$reverse_each = TMP_18 = function() { var $a, $b, self = this, $iter = TMP_18.$$p, block = $iter || nil; TMP_18.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("reverse_each") }; ($a = ($b = self.$reverse()).$each, $a.$$p = block.$to_proc(), $a).call($b); return self; }; def.$rindex = TMP_19 = function(object) { var self = this, $iter = TMP_19.$$p, block = $iter || nil; TMP_19.$$p = null; if (object != null) { for (var i = self.length - 1; i >= 0; i--) { if ((self[i])['$=='](object)) { return i; } } } else if (block !== nil) { for (var i = self.length - 1, value; i >= 0; i--) { if ((value = block(self[i])) === $breaker) { return $breaker.$v; } if (value !== false && value !== nil) { return i; } } } else if (object == null) { return self.$enum_for("rindex"); } return nil; }; def.$rotate = function(n) { var self = this; if (n == null) { n = 1 } n = $scope.get('Opal').$coerce_to(n, $scope.get('Integer'), "to_int"); var ary, idx, firstPart, lastPart; if (self.length === 1) { return self.slice(); } if (self.length === 0) { return []; } ary = self.slice(); idx = n % ary.length; firstPart = ary.slice(idx); lastPart = ary.slice(0, idx); return firstPart.concat(lastPart); }; def['$rotate!'] = function(cnt) { var $a, self = this, ary = nil; if (cnt == null) { cnt = 1 } if ((($a = self['$frozen?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('RuntimeError'), "can't modify frozen Array")}; if (self.length === 0 || self.length === 1) { return self; } cnt = $scope.get('Opal').$coerce_to(cnt, $scope.get('Integer'), "to_int"); ary = self.$rotate(cnt); return self.$replace(ary); }; def.$sample = function(n) { var $a, $b, TMP_20, self = this; if (n == null) { n = nil } if ((($a = ($b = n['$!'](), $b !== false && $b !== nil ?self['$empty?']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; if ((($a = (($b = n !== false && n !== nil) ? self['$empty?']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; if (n !== false && n !== nil) { return ($a = ($b = ($range(1, n, false))).$map, $a.$$p = (TMP_20 = function(){var self = TMP_20.$$s || this; return self['$[]'](self.$rand(self.$length()))}, TMP_20.$$s = self, TMP_20), $a).call($b) } else { return self['$[]'](self.$rand(self.$length())) }; }; def.$select = TMP_21 = function() { var self = this, $iter = TMP_21.$$p, block = $iter || nil; TMP_21.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("select") }; var result = []; for (var i = 0, length = self.length, item, value; i < length; i++) { item = self[i]; if ((value = Opal.yield1(block, item)) === $breaker) { return $breaker.$v; } if (value !== false && value !== nil) { result.push(item); } } return result; }; def['$select!'] = TMP_22 = function() { var $a, $b, self = this, $iter = TMP_22.$$p, block = $iter || nil; TMP_22.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("select!") }; var original = self.length; ($a = ($b = self).$keep_if, $a.$$p = block.$to_proc(), $a).call($b); return self.length === original ? nil : self; }; def.$shift = function(count) { var $a, self = this; if ((($a = count === undefined) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; return self.shift();}; count = $scope.get('Opal').$coerce_to(count, $scope.get('Integer'), "to_int"); if ((($a = count < 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "negative array size")}; if ((($a = self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; return self.splice(0, count); }; Opal.defn(self, '$size', def.$length); def.$shuffle = function() { var self = this; return self.$clone()['$shuffle!'](); }; def['$shuffle!'] = function() { var self = this; for (var i = self.length - 1; i > 0; i--) { var tmp = self[i], j = Math.floor(Math.random() * (i + 1)); self[i] = self[j]; self[j] = tmp; } return self; }; Opal.defn(self, '$slice', def['$[]']); def['$slice!'] = function(index, length) { var self = this; if (index < 0) { index += self.length; } if (length != null) { return self.splice(index, length); } if (index < 0 || index >= self.length) { return nil; } return self.splice(index, 1)[0]; }; def.$sort = TMP_23 = function() { var $a, self = this, $iter = TMP_23.$$p, block = $iter || nil; TMP_23.$$p = null; if ((($a = self.length > 1) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return self }; if (!(block !== nil)) { block = function(a, b) { return (a)['$<=>'](b); }; } try { return self.slice().sort(function(x, y) { var ret = block(x, y); if (ret === $breaker) { throw $breaker; } else if (ret === nil) { self.$raise($scope.get('ArgumentError'), "comparison of " + ((x).$inspect()) + " with " + ((y).$inspect()) + " failed"); } return $rb_gt(ret, 0) ? 1 : ($rb_lt(ret, 0) ? -1 : 0); }); } catch (e) { if (e === $breaker) { return $breaker.$v; } else { throw e; } } ; }; def['$sort!'] = TMP_24 = function() { var $a, $b, self = this, $iter = TMP_24.$$p, block = $iter || nil; TMP_24.$$p = null; var result; if ((block !== nil)) { result = ($a = ($b = (self.slice())).$sort, $a.$$p = block.$to_proc(), $a).call($b); } else { result = (self.slice()).$sort(); } self.length = 0; for(var i = 0, length = result.length; i < length; i++) { self.push(result[i]); } return self; ; }; def.$take = function(count) { var self = this; if (count < 0) { self.$raise($scope.get('ArgumentError')); } return self.slice(0, count); ; }; def.$take_while = TMP_25 = function() { var self = this, $iter = TMP_25.$$p, block = $iter || nil; TMP_25.$$p = null; var result = []; for (var i = 0, length = self.length, item, value; i < length; i++) { item = self[i]; if ((value = block(item)) === $breaker) { return $breaker.$v; } if (value === false || value === nil) { return result; } result.push(item); } return result; }; def.$to_a = function() { var self = this; return self; }; Opal.defn(self, '$to_ary', def.$to_a); def.$to_h = function() { var self = this; var i, len = self.length, ary, key, val, hash = $hash2([], {}); for (i = 0; i < len; i++) { ary = $scope.get('Opal')['$coerce_to?'](self[i], $scope.get('Array'), "to_ary"); if (!ary.$$is_array) { self.$raise($scope.get('TypeError'), "wrong element type " + ((ary).$class()) + " at " + (i) + " (expected array)") } if (ary.length !== 2) { self.$raise($scope.get('ArgumentError'), "wrong array length at " + (i) + " (expected 2, was " + ((ary).$length()) + ")") } key = ary[0]; val = ary[1]; hash.$store(key, val); } return hash; ; }; Opal.defn(self, '$to_s', def.$inspect); def.$transpose = function() { var $a, $b, TMP_26, self = this, result = nil, max = nil; if ((($a = self['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return []}; result = []; max = nil; ($a = ($b = self).$each, $a.$$p = (TMP_26 = function(row){var self = TMP_26.$$s || this, $a, $b, TMP_27; if (row == null) row = nil; if ((($a = $scope.get('Array')['$==='](row)) !== nil && (!$a.$$is_boolean || $a == true))) { row = row.$to_a() } else { row = $scope.get('Opal').$coerce_to(row, $scope.get('Array'), "to_ary").$to_a() }; ((($a = max) !== false && $a !== nil) ? $a : max = row.length); if ((($a = (row.length)['$=='](max)['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('IndexError'), "element size differs (" + (row.length) + " should be " + (max))}; return ($a = ($b = (row.length)).$times, $a.$$p = (TMP_27 = function(i){var self = TMP_27.$$s || this, $a, $b, $c, entry = nil; if (i == null) i = nil; entry = (($a = i, $b = result, ((($c = $b['$[]']($a)) !== false && $c !== nil) ? $c : $b['$[]=']($a, [])))); return entry['$<<'](row.$at(i));}, TMP_27.$$s = self, TMP_27), $a).call($b);}, TMP_26.$$s = self, TMP_26), $a).call($b); return result; }; def.$uniq = function() { var self = this; var result = [], seen = {}; for (var i = 0, length = self.length, item, hash; i < length; i++) { item = self[i]; hash = item; if (!seen[hash]) { seen[hash] = true; result.push(item); } } return result; }; def['$uniq!'] = function() { var self = this; var original = self.length, seen = {}; for (var i = 0, length = original, item, hash; i < length; i++) { item = self[i]; hash = item; if (!seen[hash]) { seen[hash] = true; } else { self.splice(i, 1); length--; i--; } } return self.length === original ? nil : self; }; def.$unshift = function(objects) { var self = this; objects = $slice.call(arguments, 0); for (var i = objects.length - 1; i >= 0; i--) { self.unshift(objects[i]); } return self; }; def.$values_at = function(args) { var $a, $b, TMP_28, self = this, out = nil; args = $slice.call(arguments, 0); out = []; ($a = ($b = args).$each, $a.$$p = (TMP_28 = function(elem){var self = TMP_28.$$s || this, $a, $b, TMP_29, finish = nil, start = nil, i = nil; if (elem == null) elem = nil; if ((($a = elem['$kind_of?']($scope.get('Range'))) !== nil && (!$a.$$is_boolean || $a == true))) { finish = $scope.get('Opal').$coerce_to(elem.$last(), $scope.get('Integer'), "to_int"); start = $scope.get('Opal').$coerce_to(elem.$first(), $scope.get('Integer'), "to_int"); if (start < 0) { start = start + self.length; return nil;; } if (finish < 0) { finish = finish + self.length; } if (elem['$exclude_end?']()) { finish--; } if (finish < start) { return nil;; } return ($a = ($b = start).$upto, $a.$$p = (TMP_29 = function(i){var self = TMP_29.$$s || this; if (i == null) i = nil; return out['$<<'](self.$at(i))}, TMP_29.$$s = self, TMP_29), $a).call($b, finish); } else { i = $scope.get('Opal').$coerce_to(elem, $scope.get('Integer'), "to_int"); return out['$<<'](self.$at(i)); }}, TMP_28.$$s = self, TMP_28), $a).call($b); return out; }; return (def.$zip = TMP_30 = function(others) { var $a, self = this, $iter = TMP_30.$$p, block = $iter || nil; others = $slice.call(arguments, 0); TMP_30.$$p = null; var result = [], size = self.length, part, o, i, j, jj; for (j = 0, jj = others.length; j < jj; j++) { o = others[j]; if (!o.$$is_array) { others[j] = (((($a = $scope.get('Opal')['$coerce_to?'](o, $scope.get('Array'), "to_ary")) !== false && $a !== nil) ? $a : $scope.get('Opal')['$coerce_to!'](o, $scope.get('Enumerator'), "each"))).$to_a(); } } for (i = 0; i < size; i++) { part = [self[i]]; for (j = 0, jj = others.length; j < jj; j++) { o = others[j][i]; if (o == null) { o = nil; } part[j + 1] = o; } result[i] = part; } if (block !== nil) { for (i = 0; i < size; i++) { block(result[i]); } return nil; } return result; }, nil) && 'zip'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/array/inheritance"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_times(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs * rhs : lhs['$*'](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$new', '$allocate', '$initialize', '$to_proc', '$__send__', '$clone', '$respond_to?', '$==', '$eql?', '$inspect', '$hash', '$class', '$slice', '$uniq', '$flatten']); (function($base, $super) { function $Array(){}; var self = $Array = $klass($base, $super, 'Array', $Array); var def = self.$$proto, $scope = self.$$scope; return (Opal.defs(self, '$inherited', function(klass) { var self = this, replace = nil; replace = $scope.get('Class').$new((($scope.get('Array')).$$scope.get('Wrapper'))); klass.$$proto = replace.$$proto; klass.$$proto.$$class = klass; klass.$$alloc = replace.$$alloc; klass.$$parent = (($scope.get('Array')).$$scope.get('Wrapper')); klass.$allocate = replace.$allocate; klass.$new = replace.$new; klass["$[]"] = replace["$[]"]; }), nil) && 'inherited' })(self, null); return (function($base, $super) { function $Wrapper(){}; var self = $Wrapper = $klass($base, $super, 'Wrapper', $Wrapper); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5; def.literal = nil; def.$$is_array = true; Opal.defs(self, '$allocate', TMP_1 = function(array) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil, obj = nil; if (array == null) { array = [] } TMP_1.$$p = null; obj = Opal.find_super_dispatcher(self, 'allocate', TMP_1, null, $Wrapper).apply(self, []); obj.literal = array; return obj; }); Opal.defs(self, '$new', TMP_2 = function(args) { var $a, $b, self = this, $iter = TMP_2.$$p, block = $iter || nil, obj = nil; args = $slice.call(arguments, 0); TMP_2.$$p = null; obj = self.$allocate(); ($a = ($b = obj).$initialize, $a.$$p = block.$to_proc(), $a).apply($b, [].concat(args)); return obj; }); Opal.defs(self, '$[]', function(objects) { var self = this; objects = $slice.call(arguments, 0); return self.$allocate(objects); }); def.$initialize = TMP_3 = function(args) { var $a, $b, self = this, $iter = TMP_3.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_3.$$p = null; return self.literal = ($a = ($b = $scope.get('Array')).$new, $a.$$p = block.$to_proc(), $a).apply($b, [].concat(args)); }; def.$method_missing = TMP_4 = function(args) { var $a, $b, self = this, $iter = TMP_4.$$p, block = $iter || nil, result = nil; args = $slice.call(arguments, 0); TMP_4.$$p = null; result = ($a = ($b = self.literal).$__send__, $a.$$p = block.$to_proc(), $a).apply($b, [].concat(args)); if ((($a = result === self.literal) !== nil && (!$a.$$is_boolean || $a == true))) { return self } else { return result }; }; def.$initialize_copy = function(other) { var self = this; return self.literal = (other.literal).$clone(); }; def['$respond_to?'] = TMP_5 = function(name) {var $zuper = $slice.call(arguments, 0); var $a, self = this, $iter = TMP_5.$$p, $yield = $iter || nil; TMP_5.$$p = null; return ((($a = Opal.find_super_dispatcher(self, 'respond_to?', TMP_5, $iter).apply(self, $zuper)) !== false && $a !== nil) ? $a : self.literal['$respond_to?'](name)); }; def['$=='] = function(other) { var self = this; return self.literal['$=='](other); }; def['$eql?'] = function(other) { var self = this; return self.literal['$eql?'](other); }; def.$to_a = function() { var self = this; return self.literal; }; def.$to_ary = function() { var self = this; return self; }; def.$inspect = function() { var self = this; return self.literal.$inspect(); }; def.$hash = function() { var self = this; return self.literal.$hash(); }; def['$*'] = function(other) { var self = this; var result = $rb_times(self.literal, other); if (result.$$is_array) { return self.$class().$allocate(result) } else { return result; } ; }; def['$[]'] = function(index, length) { var self = this; var result = self.literal.$slice(index, length); if (result.$$is_array && (index.$$is_range || length !== undefined)) { return self.$class().$allocate(result) } else { return result; } ; }; Opal.defn(self, '$slice', def['$[]']); def.$uniq = function() { var self = this; return self.$class().$allocate(self.literal.$uniq()); }; def.$flatten = function(level) { var self = this; return self.$class().$allocate(self.literal.$flatten(level)); }; def['$-'] = function(other) { var self = this; return $rb_minus(self.literal, other); }; return (def['$+'] = function(other) { var self = this; return $rb_plus(self.literal, other); }, nil) && '+'; })($scope.get('Array'), null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/hash"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$coerce_to?', '$[]', '$merge!', '$allocate', '$raise', '$!', '$==', '$call', '$coerce_to!', '$lambda?', '$abs', '$arity', '$enum_for', '$inspect', '$flatten', '$eql?', '$===', '$clone', '$to_proc', '$alias_method']); self.$require("corelib/enumerable"); return (function($base, $super) { function $Hash(){}; var self = $Hash = $klass($base, $super, 'Hash', $Hash); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_6, TMP_7, TMP_8, TMP_9, TMP_10, TMP_11, TMP_12, TMP_13; def.proc = def.none = nil; self.$include($scope.get('Enumerable')); def.$$is_hash = true; Opal.defs(self, '$[]', function(argv) { var self = this; argv = $slice.call(arguments, 0); var hash, i, argc = argv.length; if (argc === 1) { hash = $scope.get('Opal')['$coerce_to?'](argv['$[]'](0), $scope.get('Hash'), "to_hash"); if (hash !== nil) { return self.$allocate()['$merge!'](hash); } argv = $scope.get('Opal')['$coerce_to?'](argv['$[]'](0), $scope.get('Array'), "to_ary"); if (argv === nil) { self.$raise($scope.get('ArgumentError'), "odd number of arguments for Hash") } argc = argv.length; hash = self.$allocate(); for (i = 0; i < argc; i++) { if (!argv[i].$$is_array) continue; switch(argv[i].length) { case 1: hash.$store(argv[i][0], nil); break; case 2: hash.$store(argv[i][0], argv[i][1]); break; default: self.$raise($scope.get('ArgumentError'), "invalid number of elements (" + (argv[i].length) + " for 1..2)") } } return hash; } if (argc % 2 !== 0) { self.$raise($scope.get('ArgumentError'), "odd number of arguments for Hash") } hash = self.$allocate(); for (i = 0; i < argc; i += 2) { hash.$store(argv[i], argv[i + 1]); } return hash; ; }); Opal.defs(self, '$allocate', function() { var self = this; var hash = new self.$$alloc; hash.map = {}; hash.smap = {}; hash.keys = []; hash.none = nil; hash.proc = nil; return hash; }); def.$initialize = TMP_1 = function(defaults) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; self.none = (defaults === undefined ? nil : defaults); self.proc = block; return self; }; def['$=='] = function(other) { var self = this; if (self === other) { return true; } if (!other.keys || !other.smap || !other.map) { return false; } if (self.keys.length !== other.keys.length) { return false; } var _map = self.map, smap = self.smap, _map2 = other.map, smap2 = other.smap, map, map2, key, khash, value, value2; for (var i = 0, length = self.keys.length; i < length; i++) { key = self.keys[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } value = map[khash]; if (value === undefined) console.log('==', key, self); value2 = map2[khash]; if (value2 === undefined || ((value)['$=='](value2))['$!']()) { return false; } } return true; }; def['$[]'] = function(key) { var self = this; var map, khash; if (key.$$is_string) { map = self.smap; khash = key; } else { map = self.map; khash = key.$hash(); } if (map === undefined) { console.log(self, '[] --> key:', key, khash, map) } if (Opal.hasOwnProperty.call(map, khash)) { return map[khash]; } var proc = self.proc; if (proc !== nil) { return (proc).$call(self, key); } return self.none; }; def['$[]='] = function(key, value) { var self = this; var map, khash, value; if (key.$$is_string) { map = self.smap; khash = key; } else { map = self.map; khash = key.$hash(); } if (!Opal.hasOwnProperty.call(map, khash)) { self.keys.push(key); } map[khash] = value; return value; }; def.$assoc = function(object) { var self = this; var keys = self.keys, map, key, khash; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if ((key)['$=='](object)) { if (key.$$is_string) { map = self.smap; khash = key; } else { map = self.map; khash = key.$hash(); } return [key, map[khash]]; } } return nil; }; def.$clear = function() { var self = this; self.map = {}; self.smap = {}; self.keys = []; return self; }; def.$clone = function() { var self = this; var _map = {}, smap = {}, _map2 = self.map, smap2 = self.smap, keys = [], map, map2, key, khash, value; for (var i = 0, length = self.keys.length; i < length; i++) { key = self.keys[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } value = map2[khash]; keys.push(key); map[khash] = value; } var clone = new self.$$class.$$alloc(); clone.map = _map; clone.smap = smap; clone.keys = keys; clone.none = self.none; clone.proc = self.proc; return clone; }; def.$default = function(val) { var self = this; if (val !== undefined && self.proc !== nil) { return self.proc.$call(self, val); } return self.none; ; }; def['$default='] = function(object) { var self = this; self.proc = nil; return (self.none = object); }; def.$default_proc = function() { var self = this; return self.proc; }; def['$default_proc='] = function(proc) { var self = this; if (proc !== nil) { proc = $scope.get('Opal')['$coerce_to!'](proc, $scope.get('Proc'), "to_proc"); if (proc['$lambda?']() && proc.$arity().$abs() != 2) { self.$raise($scope.get('TypeError'), "default_proc takes two arguments"); } } self.none = nil; return (self.proc = proc); ; }; def.$delete = TMP_2 = function(key) { var self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; var result, map, khash; if (key.$$is_string) { map = self.smap; khash = key; } else { map = self.map; khash = key.$hash(); } result = map[khash]; if (result != null) { delete map[khash]; self.keys.$delete(key); return result; } if (block !== nil) { return block.$call(key); } return nil; }; def.$delete_if = TMP_3 = function() { var self = this, $iter = TMP_3.$$p, block = $iter || nil; TMP_3.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("delete_if") }; var _map = self.map, smap = self.smap, keys = self.keys, map, key, value, obj, khash; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } obj = map[khash]; value = block(key, obj); if (value === $breaker) { return $breaker.$v; } if (value !== false && value !== nil) { keys.splice(i, 1); delete map[khash]; length--; i--; } } return self; }; Opal.defn(self, '$dup', def.$clone); def.$each = TMP_4 = function() { var self = this, $iter = TMP_4.$$p, block = $iter || nil; TMP_4.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("each") }; var _map = self.map, smap = self.smap, keys = self.keys, map, key, khash, value; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } value = Opal.yield1(block, [key, map[khash]]); if (value === $breaker) { return $breaker.$v; } } return self; }; def.$each_key = TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("each_key") }; var keys = self.keys, key; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (block(key) === $breaker) { return $breaker.$v; } } return self; }; Opal.defn(self, '$each_pair', def.$each); def.$each_value = TMP_6 = function() { var self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("each_value") }; var _map = self.map, smap = self.smap, keys = self.keys, key, map, khash; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } if (block(map[khash]) === $breaker) { return $breaker.$v; } } return self; }; def['$empty?'] = function() { var self = this; return self.keys.length === 0; }; Opal.defn(self, '$eql?', def['$==']); def.$fetch = TMP_7 = function(key, defaults) { var self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; var map, khash, value; if (key.$$is_string) { khash = key; map = self.smap; } else { khash = key.$hash(); map = self.map; } value = map[khash]; if (value != null) { return value; } if (block !== nil) { var value; if ((value = block(key)) === $breaker) { return $breaker.$v; } return value; } if (defaults != null) { return defaults; } self.$raise($scope.get('KeyError'), "key not found: " + (key.$inspect())); }; def.$flatten = function(level) { var self = this; var _map = self.map, smap = self.smap, keys = self.keys, result = [], map, key, khash, value; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; result.push(key); if (value.$$is_array) { if (level == null || level === 1) { result.push(value); } else { result = result.concat((value).$flatten(level - 1)); } } else { result.push(value); } } return result; }; def['$has_key?'] = function(key) { var self = this; var keys = self.keys, map, khash; if (key.$$is_string) { khash = key; map = self.smap; } else { khash = key.$hash(); map = self.map; } if (Opal.hasOwnProperty.call(map, khash)) { for (var i = 0, length = keys.length; i < length; i++) { if (!(key['$eql?'](keys[i]))['$!']()) { return true; } } } return false; }; def['$has_value?'] = function(value) { var self = this; var _map = self.map, smap = self.smap, keys = self.keys, key, map, khash; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } if ((map[khash])['$=='](value)) { return true; } } return false; }; var hash_ids = null; def.$hash = function() { var self = this; var top = (hash_ids === null); try { var key, value, hash = ['Hash'], keys = self.keys, id = self.$object_id(), counter = 0; if (top) { hash_ids = {} } if (hash_ids.hasOwnProperty(id)) { return 'self'; } hash_ids[id] = true; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; value = key.$$is_string ? self.smap[key] : self.map[key.$hash()]; key = key.$hash(); value = (typeof(value) === 'undefined') ? '' : value.$hash(); hash.push([key,value]); } return hash.sort().join(); } finally { if (top) { hash_ids = null; } } }; Opal.defn(self, '$include?', def['$has_key?']); def.$index = function(object) { var self = this; var _map = self.map, smap = self.smap, keys = self.keys, map, khash, key; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } if ((map[khash])['$=='](object)) { return key; } } return nil; }; def.$indexes = function(keys) { var self = this; keys = $slice.call(arguments, 0); var result = [], _map = self.map, smap = self.smap, map, key, khash, value; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; if (value != null) { result.push(value); } else { result.push(self.none); } } return result; }; Opal.defn(self, '$indices', def.$indexes); var inspect_ids = null; def.$inspect = function() { var self = this; var top = (inspect_ids === null); try { var key, value, inspect = [], keys = self.keys, id = self.$object_id(), counter = 0; if (top) { inspect_ids = {} } if (inspect_ids.hasOwnProperty(id)) { return '{...}'; } inspect_ids[id] = true; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; value = key.$$is_string ? self.smap[key] : self.map[key.$hash()]; key = key.$inspect(); value = value.$inspect(); inspect.push(key + '=>' + value); } return '{' + inspect.join(', ') + '}'; } finally { if (top) { inspect_ids = null; } } }; def.$invert = function() { var self = this; var result = Opal.hash(), keys = self.keys, _map = self.map, smap = self.smap, keys2 = result.keys, _map2 = result.map, smap2 = result.smap, map, map2, key, khash, value; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } value = map[khash]; keys2.push(value); if (value.$$is_string) { map2 = smap2; khash = value; } else { map2 = _map2; khash = value.$hash(); } map2[khash] = key; } return result; }; def.$keep_if = TMP_8 = function() { var self = this, $iter = TMP_8.$$p, block = $iter || nil; TMP_8.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("keep_if") }; var _map = self.map, smap = self.smap, keys = self.keys, map, key, khash, value, keep; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; keep = block(key, value); if (keep === $breaker) { return $breaker.$v; } if (keep === false || keep === nil) { keys.splice(i, 1); delete map[khash]; length--; i--; } } return self; }; Opal.defn(self, '$key', def.$index); Opal.defn(self, '$key?', def['$has_key?']); def.$keys = function() { var self = this; return self.keys.slice(0); }; def.$length = function() { var self = this; return self.keys.length; }; Opal.defn(self, '$member?', def['$has_key?']); def.$merge = TMP_9 = function(other) { var $a, $b, self = this, $iter = TMP_9.$$p, block = $iter || nil, cloned = nil; TMP_9.$$p = null; if ((($a = $scope.get('Hash')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { other = $scope.get('Opal')['$coerce_to!'](other, $scope.get('Hash'), "to_hash") }; cloned = self.$clone(); ($a = ($b = cloned)['$merge!'], $a.$$p = block.$to_proc(), $a).call($b, other); return cloned; }; def['$merge!'] = TMP_10 = function(other) { var self = this, $iter = TMP_10.$$p, block = $iter || nil; TMP_10.$$p = null; if (! $scope.get('Hash')['$==='](other)) { other = $scope.get('Opal')['$coerce_to!'](other, $scope.get('Hash'), "to_hash"); } var keys = self.keys, _map = self.map, smap = self.smap, keys2 = other.keys, _map2 = other.map, smap2 = other.smap, map, map2, key, khash, value, value2; if (block === nil) { for (var i = 0, length = keys2.length; i < length; i++) { key = keys2[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } if (map[khash] == null) { keys.push(key); } map[khash] = map2[khash]; } } else { for (var i = 0, length = keys2.length; i < length; i++) { key = keys2[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } value = map[khash]; value2 = map2[khash]; if (value == null) { keys.push(key); map[khash] = value2; } else { map[khash] = block(key, value, value2); } } } return self; ; }; def.$rassoc = function(object) { var self = this; var keys = self.keys, _map = self.map, smap = self.smap, key, khash, value, map; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i] if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; if ((value)['$=='](object)) { return [key, value]; } } return nil; }; def.$reject = TMP_11 = function() { var self = this, $iter = TMP_11.$$p, block = $iter || nil; TMP_11.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("reject") }; var keys = self.keys, _map = self.map, smap = self.smap, result = Opal.hash(), _map2 = result.map, smap2 = result.smap, keys2 = result.keys, map, map2, key, khash, object, value; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } object = map[khash]; if ((value = block(key, object)) === $breaker) { return $breaker.$v; } if (value === false || value === nil) { keys2.push(key); map2[khash] = object; } } return result; }; def.$replace = function(other) { var self = this; var keys = self.keys = [], _map = self.map = {}, smap = self.smap = {}, _map2 = other.map, smap2 = other.smap, key, khash, map, map2; for (var i = 0, length = other.keys.length; i < length; i++) { key = other.keys[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } keys.push(key); map[khash] = map2[khash]; } return self; }; def.$select = TMP_12 = function() { var self = this, $iter = TMP_12.$$p, block = $iter || nil; TMP_12.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("select") }; var keys = self.keys, _map = self.map, smap = self.smap, result = Opal.hash(), _map2 = result.map, smap2 = result.smap, keys2 = result.keys, map, map2, key, khash, value, object; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; map2 = smap2; } else { khash = key.$hash(); map = _map; map2 = _map2; } value = map[khash]; object = block(key, value); if (object === $breaker) { return $breaker.$v; } if (object !== false && object !== nil) { keys2.push(key); map2[khash] = value; } } return result; }; def['$select!'] = TMP_13 = function() { var self = this, $iter = TMP_13.$$p, block = $iter || nil; TMP_13.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("select!") }; var _map = self.map, smap = self.smap, keys = self.keys, result = nil, key, khash, value, object, map; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; object = block(key, value); if (object === $breaker) { return $breaker.$v; } if (object === false || object === nil) { keys.splice(i, 1); delete map[khash]; length--; i--; result = self } } return result; }; def.$shift = function() { var self = this; var keys = self.keys, _map = self.map, smap = self.smap, map, key, khash, value; if (keys.length) { key = keys[0]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } value = map[khash]; delete map[khash]; keys.splice(0, 1); return [key, value]; } return nil; }; Opal.defn(self, '$size', def.$length); self.$alias_method("store", "[]="); def.$to_a = function() { var self = this; var keys = self.keys, _map = self.map, smap = self.smap, result = [], map, key, khash; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } result.push([key, map[khash]]); } return result; }; def.$to_h = function() { var self = this; if (self.$$class === Opal.Hash) { return self } var hash = new Opal.Hash.$$alloc, cloned = self.$clone(); hash.map = cloned.map; hash.smap = cloned.smap; hash.keys = cloned.keys; hash.none = cloned.none; hash.proc = cloned.proc; return hash; ; }; def.$to_hash = function() { var self = this; return self; }; Opal.defn(self, '$to_s', def.$inspect); Opal.defn(self, '$update', def['$merge!']); Opal.defn(self, '$value?', def['$has_value?']); Opal.defn(self, '$values_at', def.$indexes); return (def.$values = function() { var self = this; var _map = self.map, smap = self.smap, keys = self.keys, result = [], map, khash, key; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { khash = key; map = smap; } else { khash = key.$hash(); map = _map; } result.push(map[khash]); } return result; }, nil) && 'values'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/string"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_divide(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs / rhs : lhs['$/'](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$require', '$include', '$coerce_to?', '$coerce_to', '$raise', '$===', '$format', '$to_s', '$respond_to?', '$to_str', '$<=>', '$==', '$=~', '$new', '$empty?', '$ljust', '$ceil', '$rjust', '$floor', '$to_a', '$each_char', '$to_proc', '$coerce_to!', '$initialize_clone', '$initialize_dup', '$enum_for', '$chomp', '$[]', '$to_i', '$class', '$each_line', '$match', '$captures', '$proc', '$shift', '$__send__', '$succ', '$escape']); self.$require("corelib/comparable"); (function($base, $super) { function $String(){}; var self = $String = $klass($base, $super, 'String', $String); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_6, TMP_7, TMP_8, TMP_10; def.length = nil; self.$include($scope.get('Comparable')); def.$$is_string = true; def.$__id__ = function() { var self = this; return self.toString(); }; Opal.defn(self, '$object_id', def.$__id__); Opal.defs(self, '$try_convert', function(what) { var self = this; return $scope.get('Opal')['$coerce_to?'](what, $scope.get('String'), "to_str"); }); Opal.defs(self, '$new', function(str) { var self = this; if (str == null) { str = "" } str = $scope.get('Opal').$coerce_to(str, $scope.get('String'), "to_str"); return new String(str); }); def.$initialize = function(str) { var self = this; if (str === undefined) { return self; } return self.$raise($scope.get('NotImplementedError'), "Mutable strings are not supported in Opal."); }; def['$%'] = function(data) { var $a, self = this; if ((($a = $scope.get('Array')['$==='](data)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = self).$format.apply($a, [self].concat(data)) } else { return self.$format(self, data) }; }; def['$*'] = function(count) { var self = this; count = $scope.get('Opal').$coerce_to(count, $scope.get('Integer'), "to_int"); if (count < 0) { self.$raise($scope.get('ArgumentError'), "negative argument") } if (count === 0) { return ''; } var result = '', string = self.toString(); // All credit for the bit-twiddling magic code below goes to Mozilla // polyfill implementation of String.prototype.repeat() posted here: // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat if (string.length * count >= 1 << 28) { self.$raise($scope.get('RangeError'), "multiply count must not overflow maximum string size") } for (;;) { if ((count & 1) === 1) { result += string; } count >>>= 1; if (count === 0) { break; } string += string; } return result; ; }; def['$+'] = function(other) { var self = this; other = $scope.get('Opal').$coerce_to(other, $scope.get('String'), "to_str"); return self + other.$to_s(); }; def['$<=>'] = function(other) { var $a, self = this; if ((($a = other['$respond_to?']("to_str")) !== nil && (!$a.$$is_boolean || $a == true))) { other = other.$to_str().$to_s(); return self > other ? 1 : (self < other ? -1 : 0); } else { var cmp = other['$<=>'](self); if (cmp === nil) { return nil; } else { return cmp > 0 ? -1 : (cmp < 0 ? 1 : 0); } ; }; }; def['$<<'] = function(other) { var self = this; return self.$raise($scope.get('NotImplementedError'), "#<< not supported. Mutable String methods are not supported in Opal."); }; def['$=='] = function(other) { var self = this; if (other.$$is_string) { return self.toString() === other.toString(); } if ($scope.get('Opal')['$respond_to?'](other, "to_str")) { return other['$=='](self); } return false; ; }; Opal.defn(self, '$eql?', def['$==']); Opal.defn(self, '$===', def['$==']); def['$=~'] = function(other) { var self = this; if (other.$$is_string) { self.$raise($scope.get('TypeError'), "type mismatch: String given"); } return other['$=~'](self); ; }; def['$[]'] = function(index, length) { var self = this; var size = self.length; if (index.$$is_range) { var exclude = index.exclude, length = $scope.get('Opal').$coerce_to(index.end, $scope.get('Integer'), "to_int"), index = $scope.get('Opal').$coerce_to(index.begin, $scope.get('Integer'), "to_int"); if (Math.abs(index) > size) { return nil; } if (index < 0) { index += size; } if (length < 0) { length += size; } if (!exclude) { length += 1; } length = length - index; if (length < 0) { length = 0; } return self.substr(index, length); } if (index.$$is_string) { if (length != null) { self.$raise($scope.get('TypeError')) } return self.indexOf(index) !== -1 ? index : nil; } if (index.$$is_regexp) { var match = self.match(index); if (match === null) { $gvars["~"] = nil return nil; } $gvars["~"] = $scope.get('MatchData').$new(index, match) if (length == null) { return match[0]; } length = $scope.get('Opal').$coerce_to(length, $scope.get('Integer'), "to_int"); if (length < 0 && -length < match.length) { return match[length += match.length]; } if (length >= 0 && length < match.length) { return match[length]; } return nil; } index = $scope.get('Opal').$coerce_to(index, $scope.get('Integer'), "to_int"); if (index < 0) { index += size; } if (length == null) { if (index >= size || index < 0) { return nil; } return self.substr(index, 1); } length = $scope.get('Opal').$coerce_to(length, $scope.get('Integer'), "to_int"); if (length < 0) { return nil; } if (index > size || index < 0) { return nil; } return self.substr(index, length); ; }; def.$capitalize = function() { var self = this; return self.charAt(0).toUpperCase() + self.substr(1).toLowerCase(); }; Opal.defn(self, '$capitalize!', def['$<<']); def.$casecmp = function(other) { var self = this; other = $scope.get('Opal').$coerce_to(other, $scope.get('String'), "to_str").$to_s(); var ascii_only = /^[\x00-\x7F]*$/; if (ascii_only.test(self) && ascii_only.test(other)) { self = self.toLowerCase(); other = other.toLowerCase(); } return self['$<=>'](other); }; def.$center = function(width, padstr) { var $a, self = this; if (padstr == null) { padstr = " " } width = $scope.get('Opal').$coerce_to(width, $scope.get('Integer'), "to_int"); padstr = $scope.get('Opal').$coerce_to(padstr, $scope.get('String'), "to_str").$to_s(); if ((($a = padstr['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "zero width padding")}; if ((($a = width <= self.length) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; var ljustified = self.$ljust($rb_divide(($rb_plus(width, self.length)), 2).$ceil(), padstr), rjustified = self.$rjust($rb_divide(($rb_plus(width, self.length)), 2).$floor(), padstr); return rjustified + ljustified.slice(self.length); ; }; def.$chars = TMP_1 = function() { var $a, $b, self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; if (block !== false && block !== nil) { } else { return self.$each_char().$to_a() }; return ($a = ($b = self).$each_char, $a.$$p = block.$to_proc(), $a).call($b); }; def.$chomp = function(separator) { var $a, self = this; if ($gvars["/"] == null) $gvars["/"] = nil; if (separator == null) { separator = $gvars["/"] } if ((($a = separator === nil || self.length === 0) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; separator = $scope.get('Opal')['$coerce_to!'](separator, $scope.get('String'), "to_str").$to_s(); if (separator === "\n") { return self.replace(/\r?\n?$/, ''); } else if (separator === "") { return self.replace(/(\r?\n)+$/, ''); } else if (self.length > separator.length) { var tail = self.substr(self.length - separator.length, separator.length); if (tail === separator) { return self.substr(0, self.length - separator.length); } } return self; }; Opal.defn(self, '$chomp!', def['$<<']); def.$chop = function() { var self = this; var length = self.length; if (length <= 1) { return ""; } if (self.charAt(length - 1) === "\n" && self.charAt(length - 2) === "\r") { return self.substr(0, length - 2); } else { return self.substr(0, length - 1); } }; Opal.defn(self, '$chop!', def['$<<']); def.$chr = function() { var self = this; return self.charAt(0); }; def.$clone = function() { var self = this, copy = nil; copy = self.slice(); copy.$initialize_clone(self); return copy; }; def.$dup = function() { var self = this, copy = nil; copy = self.slice(); copy.$initialize_dup(self); return copy; }; def.$count = function(sets) { var self = this; sets = $slice.call(arguments, 0); if (sets.length === 0) { self.$raise($scope.get('ArgumentError'), "ArgumentError: wrong number of arguments (0 for 1+)") } var char_class = char_class_from_char_sets(sets); if (char_class === null) { return 0; } return self.length - self.replace(new RegExp(char_class, 'g'), '').length; ; }; def.$delete = function(sets) { var self = this; sets = $slice.call(arguments, 0); if (sets.length === 0) { self.$raise($scope.get('ArgumentError'), "ArgumentError: wrong number of arguments (0 for 1+)") } var char_class = char_class_from_char_sets(sets); if (char_class === null) { return self; } return self.replace(new RegExp(char_class, 'g'), ''); ; }; Opal.defn(self, '$dup', def.$clone); def.$downcase = function() { var self = this; return self.toLowerCase(); }; Opal.defn(self, '$downcase!', def['$<<']); def.$each_char = TMP_2 = function() { var $a, self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each_char") }; for (var i = 0, length = self.length; i < length; i++) { ((($a = Opal.yield1(block, self.charAt(i))) === $breaker) ? $breaker.$v : $a); } return self; }; def.$each_line = TMP_3 = function(separator) { var $a, self = this, $iter = TMP_3.$$p, $yield = $iter || nil; if ($gvars["/"] == null) $gvars["/"] = nil; if (separator == null) { separator = $gvars["/"] } TMP_3.$$p = null; if (($yield !== nil)) { } else { return self.$enum_for("each_line", separator) }; if (separator === nil) { ((($a = Opal.yield1($yield, self)) === $breaker) ? $breaker.$v : $a); return self; } separator = $scope.get('Opal').$coerce_to(separator, $scope.get('String'), "to_str") if (separator.length === 0) { for (var a = self.split(/(\n{2,})/), i = 0, n = a.length; i < n; i += 2) { if (a[i] || a[i + 1]) { ((($a = Opal.yield1($yield, (a[i] || "") + (a[i + 1] || ""))) === $breaker) ? $breaker.$v : $a); } } return self; } var chomped = self.$chomp(separator), trailing = self.length != chomped.length, splitted = chomped.split(separator); for (var i = 0, length = splitted.length; i < length; i++) { if (i < length - 1 || trailing) { ((($a = Opal.yield1($yield, splitted[i] + separator)) === $breaker) ? $breaker.$v : $a); } else { ((($a = Opal.yield1($yield, splitted[i])) === $breaker) ? $breaker.$v : $a); } } ; return self; }; def['$empty?'] = function() { var self = this; return self.length === 0; }; def['$end_with?'] = function(suffixes) { var self = this; suffixes = $slice.call(arguments, 0); for (var i = 0, length = suffixes.length; i < length; i++) { var suffix = $scope.get('Opal').$coerce_to(suffixes[i], $scope.get('String'), "to_str").$to_s(); if (self.length >= suffix.length && self.substr(self.length - suffix.length, suffix.length) == suffix) { return true; } } return false; }; Opal.defn(self, '$eql?', def['$==']); Opal.defn(self, '$equal?', def['$===']); def.$gsub = TMP_4 = function(pattern, replacement) { var self = this, $iter = TMP_4.$$p, block = $iter || nil; TMP_4.$$p = null; var result = '', match_data = nil, index = 0, match, _replacement; if (pattern.$$is_regexp) { pattern = new RegExp(pattern.source, 'gm' + (pattern.ignoreCase ? 'i' : '')); } else { pattern = $scope.get('Opal').$coerce_to(pattern, $scope.get('String'), "to_str"); pattern = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gm'); } while (true) { match = pattern.exec(self); if (match === null) { $gvars["~"] = nil result += self.slice(index); break; } match_data = $scope.get('MatchData').$new(pattern, match); if (replacement === undefined) { if (block === nil) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (1 for 2)") } _replacement = block(match[0]); } else if (replacement.$$is_hash) { _replacement = (replacement)['$[]'](match[0]).$to_s(); } else { if (!replacement.$$is_string) { replacement = $scope.get('Opal').$coerce_to(replacement, $scope.get('String'), "to_str"); } _replacement = replacement.replace(/([\\]+)([0-9+&`'])/g, function (original, slashes, command) { if (slashes.length % 2 === 0) { return original; } switch (command) { case "+": for (var i = match.length - 1; i > 0; i--) { if (match[i] !== undefined) { return slashes.slice(1) + match[i]; } } return ''; case "&": return slashes.slice(1) + match[0]; case "`": return slashes.slice(1) + self.slice(0, match.index); case "'": return slashes.slice(1) + self.slice(match.index + match[0].length); default: return slashes.slice(1) + (match[command] || ''); } }).replace(/\\\\/g, '\\'); } if (pattern.lastIndex === match.index) { result += (_replacement + self.slice(index, match.index + 1)) pattern.lastIndex += 1; } else { result += (self.slice(index, match.index) + _replacement) } index = pattern.lastIndex; } $gvars["~"] = match_data return result; }; Opal.defn(self, '$gsub!', def['$<<']); def.$hash = function() { var self = this; return self.toString(); }; def.$hex = function() { var self = this; return self.$to_i(16); }; def['$include?'] = function(other) { var $a, self = this; if (other.$$is_string) { return self.indexOf(other) !== -1; } if ((($a = other['$respond_to?']("to_str")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('TypeError'), "no implicit conversion of " + (other.$class()) + " into String") }; return self.indexOf(other.$to_str()) !== -1; }; def.$index = function(search, offset) { var self = this; var index, match, regex; if (offset === undefined) { offset = 0; } else { offset = $scope.get('Opal').$coerce_to(offset, $scope.get('Integer'), "to_int"); if (offset < 0) { offset += self.length; if (offset < 0) { return nil; } } } if (search.$$is_regexp) { regex = new RegExp(search.source, 'gm' + (search.ignoreCase ? 'i' : '')); while (true) { match = regex.exec(self); if (match === null) { $gvars["~"] = nil; index = -1; break; } if (match.index >= offset) { $gvars["~"] = $scope.get('MatchData').$new(regex, match) index = match.index; break; } regex.lastIndex = match.index + 1; } } else { search = $scope.get('Opal').$coerce_to(search, $scope.get('String'), "to_str"); if (search.length === 0 && offset > self.length) { index = -1; } else { index = self.indexOf(search, offset); } } return index === -1 ? nil : index; }; def.$inspect = function() { var self = this; var escapable = /[\\\"\x00-\x1f\x7f-\x9f\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, meta = { '\u0007': '\\a', '\u001b': '\\e', '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\v': '\\v', '"' : '\\"', '\\': '\\\\' }, escaped = self.replace(escapable, function (chr) { return meta[chr] || '\\u' + ('0000' + chr.charCodeAt(0).toString(16).toUpperCase()).slice(-4); }); return '"' + escaped.replace(/\#[\$\@\{]/g, '\\$&') + '"'; }; def.$intern = function() { var self = this; return self; }; def.$lines = TMP_5 = function(separator) { var $a, $b, self = this, $iter = TMP_5.$$p, block = $iter || nil, e = nil; if ($gvars["/"] == null) $gvars["/"] = nil; if (separator == null) { separator = $gvars["/"] } TMP_5.$$p = null; e = ($a = ($b = self).$each_line, $a.$$p = block.$to_proc(), $a).call($b, separator); if (block !== false && block !== nil) { return self } else { return e.$to_a() }; }; def.$length = function() { var self = this; return self.length; }; def.$ljust = function(width, padstr) { var $a, self = this; if (padstr == null) { padstr = " " } width = $scope.get('Opal').$coerce_to(width, $scope.get('Integer'), "to_int"); padstr = $scope.get('Opal').$coerce_to(padstr, $scope.get('String'), "to_str").$to_s(); if ((($a = padstr['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "zero width padding")}; if ((($a = width <= self.length) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; var index = -1, result = ""; width -= self.length; while (++index < width) { result += padstr; } return self + result.slice(0, width); }; def.$lstrip = function() { var self = this; return self.replace(/^\s*/, ''); }; Opal.defn(self, '$lstrip!', def['$<<']); def.$match = TMP_6 = function(pattern, pos) { var $a, $b, self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; if ((($a = ((($b = $scope.get('String')['$==='](pattern)) !== false && $b !== nil) ? $b : pattern['$respond_to?']("to_str"))) !== nil && (!$a.$$is_boolean || $a == true))) { pattern = $scope.get('Regexp').$new(pattern.$to_str())}; if ((($a = $scope.get('Regexp')['$==='](pattern)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('TypeError'), "wrong argument type " + (pattern.$class()) + " (expected Regexp)") }; return ($a = ($b = pattern).$match, $a.$$p = block.$to_proc(), $a).call($b, self, pos); }; def.$next = function() { var self = this; var i = self.length; if (i === 0) { return ''; } var result = self; var first_alphanum_char_index = self.search(/[a-zA-Z0-9]/); var carry = false; var code; while (i--) { code = self.charCodeAt(i); if ((code >= 48 && code <= 57) || (code >= 65 && code <= 90) || (code >= 97 && code <= 122)) { switch (code) { case 57: carry = true; code = 48; break; case 90: carry = true; code = 65; break; case 122: carry = true; code = 97; break; default: carry = false; code += 1; } } else { if (first_alphanum_char_index === -1) { if (code === 255) { carry = true; code = 0; } else { carry = false; code += 1; } } else { carry = true; } } result = result.slice(0, i) + String.fromCharCode(code) + result.slice(i + 1); if (carry && (i === 0 || i === first_alphanum_char_index)) { switch (code) { case 65: break; case 97: break; default: code += 1; } if (i === 0) { result = String.fromCharCode(code) + result; } else { result = result.slice(0, i) + String.fromCharCode(code) + result.slice(i); } carry = false; } if (!carry) { break; } } return result; }; Opal.defn(self, '$next!', def['$<<']); def.$oct = function() { var self = this; var result, string = self, radix = 8; if (/^\s*_/.test(string)) { return 0; } string = string.replace(/^(\s*[+-]?)(0[bodx]?)(.+)$/i, function (original, head, flag, tail) { switch (tail.charAt(0)) { case '+': case '-': return original; case '0': if (tail.charAt(1) === 'x' && flag === '0x') { return original; } } switch (flag) { case '0b': radix = 2; break; case '0': case '0o': radix = 8; break; case '0d': radix = 10; break; case '0x': radix = 16; break; } return head + tail; }); result = parseInt(string.replace(/_(?!_)/g, ''), radix); return isNaN(result) ? 0 : result; }; def.$ord = function() { var self = this; return self.charCodeAt(0); }; def.$partition = function(sep) { var self = this; var i, m; if (sep.$$is_regexp) { m = sep.exec(self); if (m === null) { i = -1; } else { $scope.get('MatchData').$new(sep, m); sep = m[0]; i = m.index; } } else { sep = $scope.get('Opal').$coerce_to(sep, $scope.get('String'), "to_str"); i = self.indexOf(sep); } if (i === -1) { return [self, '', '']; } return [ self.slice(0, i), self.slice(i, i + sep.length), self.slice(i + sep.length) ]; }; def.$reverse = function() { var self = this; return self.split('').reverse().join(''); }; Opal.defn(self, '$reverse!', def['$<<']); def.$rindex = function(search, offset) { var self = this; var i, m, r, _m; if (offset === undefined) { offset = self.length; } else { offset = $scope.get('Opal').$coerce_to(offset, $scope.get('Integer'), "to_int"); if (offset < 0) { offset += self.length; if (offset < 0) { return nil; } } } if (search.$$is_regexp) { m = null; r = new RegExp(search.source, 'gm' + (search.ignoreCase ? 'i' : '')); while (true) { _m = r.exec(self); if (_m === null || _m.index > offset) { break; } m = _m; r.lastIndex = m.index + 1; } if (m === null) { $gvars["~"] = nil i = -1; } else { $scope.get('MatchData').$new(r, m); i = m.index; } } else { search = $scope.get('Opal').$coerce_to(search, $scope.get('String'), "to_str"); i = self.lastIndexOf(search, offset); } return i === -1 ? nil : i; }; def.$rjust = function(width, padstr) { var $a, self = this; if (padstr == null) { padstr = " " } width = $scope.get('Opal').$coerce_to(width, $scope.get('Integer'), "to_int"); padstr = $scope.get('Opal').$coerce_to(padstr, $scope.get('String'), "to_str").$to_s(); if ((($a = padstr['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "zero width padding")}; if ((($a = width <= self.length) !== nil && (!$a.$$is_boolean || $a == true))) { return self}; var chars = Math.floor(width - self.length), patterns = Math.floor(chars / padstr.length), result = Array(patterns + 1).join(padstr), remaining = chars - result.length; return result + padstr.slice(0, remaining) + self; }; def.$rpartition = function(sep) { var self = this; var i, m, r, _m; if (sep.$$is_regexp) { m = null; r = new RegExp(sep.source, 'gm' + (sep.ignoreCase ? 'i' : '')); while (true) { _m = r.exec(self); if (_m === null) { break; } m = _m; r.lastIndex = m.index + 1; } if (m === null) { i = -1; } else { $scope.get('MatchData').$new(r, m); sep = m[0]; i = m.index; } } else { sep = $scope.get('Opal').$coerce_to(sep, $scope.get('String'), "to_str"); i = self.lastIndexOf(sep); } if (i === -1) { return ['', '', self]; } return [ self.slice(0, i), self.slice(i, i + sep.length), self.slice(i + sep.length) ]; }; def.$rstrip = function() { var self = this; return self.replace(/[\s\u0000]*$/, ''); }; def.$scan = TMP_7 = function(pattern) { var self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; var result = [], match_data = nil, match; if (pattern.$$is_regexp) { pattern = new RegExp(pattern.source, 'gm' + (pattern.ignoreCase ? 'i' : '')); } else { pattern = $scope.get('Opal').$coerce_to(pattern, $scope.get('String'), "to_str"); pattern = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gm'); } while ((match = pattern.exec(self)) != null) { match_data = $scope.get('MatchData').$new(pattern, match); if (block === nil) { match.length == 1 ? result.push(match[0]) : result.push((match_data).$captures()); } else { match.length == 1 ? block(match[0]) : block.call(self, (match_data).$captures()); } if (pattern.lastIndex === match.index) { pattern.lastIndex += 1; } } $gvars["~"] = match_data return (block !== nil ? self : result); }; Opal.defn(self, '$size', def.$length); Opal.defn(self, '$slice', def['$[]']); Opal.defn(self, '$slice!', def['$<<']); def.$split = function(pattern, limit) { var $a, self = this; if ($gvars[";"] == null) $gvars[";"] = nil; if (self.length === 0) { return []; } if (limit === undefined) { limit = 0; } else { limit = $scope.get('Opal')['$coerce_to!'](limit, $scope.get('Integer'), "to_int"); if (limit === 1) { return [self]; } } if (pattern === undefined || pattern === nil) { pattern = ((($a = $gvars[";"]) !== false && $a !== nil) ? $a : " "); } var result = [], string = self.toString(), index = 0, match, i; if (pattern.$$is_regexp) { pattern = new RegExp(pattern.source, 'gm' + (pattern.ignoreCase ? 'i' : '')); } else { pattern = $scope.get('Opal').$coerce_to(pattern, $scope.get('String'), "to_str").$to_s(); if (pattern === ' ') { pattern = /\s+/gm; string = string.replace(/^\s+/, ''); } else { pattern = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'), 'gm'); } } result = string.split(pattern); if (result.length === 1 && result[0] === string) { return result; } while ((i = result.indexOf(undefined)) !== -1) { result.splice(i, 1); } if (limit === 0) { while (result[result.length - 1] === '') { result.length -= 1; } return result; } match = pattern.exec(string); if (limit < 0) { if (match !== null && match[0] === '' && pattern.source.indexOf('(?=') === -1) { for (i = 0; i < match.length; i++) { result.push(''); } } return result; } if (match !== null && match[0] === '') { result.splice(limit - 1, result.length - 1, result.slice(limit - 1).join('')); return result; } i = 0; while (match !== null) { i++; index = pattern.lastIndex; if (i + 1 === limit) { break; } match = pattern.exec(string); } result.splice(limit - 1, result.length - 1, string.slice(index)); return result; }; def.$squeeze = function(sets) { var self = this; sets = $slice.call(arguments, 0); if (sets.length === 0) { return self.replace(/(.)\1+/g, '$1'); } var char_class = char_class_from_char_sets(sets); if (char_class === null) { return self; } return self.replace(new RegExp('(' + char_class + ')\\1+', 'g'), '$1'); }; Opal.defn(self, '$squeeze!', def['$<<']); def['$start_with?'] = function(prefixes) { var self = this; prefixes = $slice.call(arguments, 0); for (var i = 0, length = prefixes.length; i < length; i++) { var prefix = $scope.get('Opal').$coerce_to(prefixes[i], $scope.get('String'), "to_str").$to_s(); if (self.indexOf(prefix) === 0) { return true; } } return false; }; def.$strip = function() { var self = this; return self.replace(/^\s*/, '').replace(/[\s\u0000]*$/, ''); }; Opal.defn(self, '$strip!', def['$<<']); def.$sub = TMP_8 = function(pattern, replacement) { var self = this, $iter = TMP_8.$$p, block = $iter || nil; TMP_8.$$p = null; if (!pattern.$$is_regexp) { pattern = $scope.get('Opal').$coerce_to(pattern, $scope.get('String'), "to_str"); pattern = new RegExp(pattern.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')); } var result = pattern.exec(self); if (result === null) { $gvars["~"] = nil return self.toString(); } $scope.get('MatchData').$new(pattern, result) if (replacement === undefined) { if (block === nil) { self.$raise($scope.get('ArgumentError'), "wrong number of arguments (1 for 2)") } return self.slice(0, result.index) + block(result[0]) + self.slice(result.index + result[0].length); } if (replacement.$$is_hash) { return self.slice(0, result.index) + (replacement)['$[]'](result[0]).$to_s() + self.slice(result.index + result[0].length); } replacement = $scope.get('Opal').$coerce_to(replacement, $scope.get('String'), "to_str"); replacement = replacement.replace(/([\\]+)([0-9+&`'])/g, function (original, slashes, command) { if (slashes.length % 2 === 0) { return original; } switch (command) { case "+": for (var i = result.length - 1; i > 0; i--) { if (result[i] !== undefined) { return slashes.slice(1) + result[i]; } } return ''; case "&": return slashes.slice(1) + result[0]; case "`": return slashes.slice(1) + self.slice(0, result.index); case "'": return slashes.slice(1) + self.slice(result.index + result[0].length); default: return slashes.slice(1) + (result[command] || ''); } }).replace(/\\\\/g, '\\'); return self.slice(0, result.index) + replacement + self.slice(result.index + result[0].length); ; }; Opal.defn(self, '$sub!', def['$<<']); Opal.defn(self, '$succ', def.$next); Opal.defn(self, '$succ!', def['$<<']); def.$sum = function(n) { var self = this; if (n == null) { n = 16 } n = $scope.get('Opal').$coerce_to(n, $scope.get('Integer'), "to_int"); var result = 0, length = self.length, i = 0; for (; i < length; i++) { result += self.charCodeAt(i); } if (n <= 0) { return result; } return result & (Math.pow(2, n) - 1); ; }; def.$swapcase = function() { var self = this; var str = self.replace(/([a-z]+)|([A-Z]+)/g, function($0,$1,$2) { return $1 ? $0.toUpperCase() : $0.toLowerCase(); }); if (self.constructor === String) { return str; } return self.$class().$new(str); }; Opal.defn(self, '$swapcase!', def['$<<']); def.$to_f = function() { var self = this; if (self.charAt(0) === '_') { return 0; } var result = parseFloat(self.replace(/_/g, '')); if (isNaN(result) || result == Infinity || result == -Infinity) { return 0; } else { return result; } }; def.$to_i = function(base) { var self = this; if (base == null) { base = 10 } var result, string = self.toLowerCase(), radix = $scope.get('Opal').$coerce_to(base, $scope.get('Integer'), "to_int"); if (radix === 1 || radix < 0 || radix > 36) { self.$raise($scope.get('ArgumentError'), "invalid radix " + (radix)) } if (/^\s*_/.test(string)) { return 0; } string = string.replace(/^(\s*[+-]?)(0[bodx]?)(.+)$/, function (original, head, flag, tail) { switch (tail.charAt(0)) { case '+': case '-': return original; case '0': if (tail.charAt(1) === 'x' && flag === '0x' && (radix === 0 || radix === 16)) { return original; } } switch (flag) { case '0b': if (radix === 0 || radix === 2) { radix = 2; return head + tail; } break; case '0': case '0o': if (radix === 0 || radix === 8) { radix = 8; return head + tail; } break; case '0d': if (radix === 0 || radix === 10) { radix = 10; return head + tail; } break; case '0x': if (radix === 0 || radix === 16) { radix = 16; return head + tail; } break; } return original }); result = parseInt(string.replace(/_(?!_)/g, ''), radix); return isNaN(result) ? 0 : result; ; }; def.$to_proc = function() { var $a, $b, TMP_9, self = this, sym = nil; sym = self; return ($a = ($b = self).$proc, $a.$$p = (TMP_9 = function(args){var self = TMP_9.$$s || this, block, $a, $b, obj = nil; args = $slice.call(arguments, 0); block = TMP_9.$$p || nil, TMP_9.$$p = null; if ((($a = args['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "no receiver given")}; obj = args.$shift(); return ($a = ($b = obj).$__send__, $a.$$p = block.$to_proc(), $a).apply($b, [sym].concat(args));}, TMP_9.$$s = self, TMP_9), $a).call($b); }; def.$to_s = function() { var self = this; return self.toString(); }; Opal.defn(self, '$to_str', def.$to_s); Opal.defn(self, '$to_sym', def.$intern); def.$tr = function(from, to) { var self = this; from = $scope.get('Opal').$coerce_to(from, $scope.get('String'), "to_str").$to_s(); to = $scope.get('Opal').$coerce_to(to, $scope.get('String'), "to_str").$to_s(); if (from.length == 0 || from === to) { return self; } var subs = {}; var from_chars = from.split(''); var from_length = from_chars.length; var to_chars = to.split(''); var to_length = to_chars.length; var inverse = false; var global_sub = null; if (from_chars[0] === '^' && from_chars.length > 1) { inverse = true; from_chars.shift(); global_sub = to_chars[to_length - 1] from_length -= 1; } var from_chars_expanded = []; var last_from = null; var in_range = false; for (var i = 0; i < from_length; i++) { var ch = from_chars[i]; if (last_from == null) { last_from = ch; from_chars_expanded.push(ch); } else if (ch === '-') { if (last_from === '-') { from_chars_expanded.push('-'); from_chars_expanded.push('-'); } else if (i == from_length - 1) { from_chars_expanded.push('-'); } else { in_range = true; } } else if (in_range) { var start = last_from.charCodeAt(0); var end = ch.charCodeAt(0); if (start > end) { self.$raise($scope.get('ArgumentError'), "invalid range \"" + (String.fromCharCode(start)) + "-" + (String.fromCharCode(end)) + "\" in string transliteration") } for (var c = start + 1; c < end; c++) { from_chars_expanded.push(String.fromCharCode(c)); } from_chars_expanded.push(ch); in_range = null; last_from = null; } else { from_chars_expanded.push(ch); } } from_chars = from_chars_expanded; from_length = from_chars.length; if (inverse) { for (var i = 0; i < from_length; i++) { subs[from_chars[i]] = true; } } else { if (to_length > 0) { var to_chars_expanded = []; var last_to = null; var in_range = false; for (var i = 0; i < to_length; i++) { var ch = to_chars[i]; if (last_from == null) { last_from = ch; to_chars_expanded.push(ch); } else if (ch === '-') { if (last_to === '-') { to_chars_expanded.push('-'); to_chars_expanded.push('-'); } else if (i == to_length - 1) { to_chars_expanded.push('-'); } else { in_range = true; } } else if (in_range) { var start = last_from.charCodeAt(0); var end = ch.charCodeAt(0); if (start > end) { self.$raise($scope.get('ArgumentError'), "invalid range \"" + (String.fromCharCode(start)) + "-" + (String.fromCharCode(end)) + "\" in string transliteration") } for (var c = start + 1; c < end; c++) { to_chars_expanded.push(String.fromCharCode(c)); } to_chars_expanded.push(ch); in_range = null; last_from = null; } else { to_chars_expanded.push(ch); } } to_chars = to_chars_expanded; to_length = to_chars.length; } var length_diff = from_length - to_length; if (length_diff > 0) { var pad_char = (to_length > 0 ? to_chars[to_length - 1] : ''); for (var i = 0; i < length_diff; i++) { to_chars.push(pad_char); } } for (var i = 0; i < from_length; i++) { subs[from_chars[i]] = to_chars[i]; } } var new_str = '' for (var i = 0, length = self.length; i < length; i++) { var ch = self.charAt(i); var sub = subs[ch]; if (inverse) { new_str += (sub == null ? global_sub : ch); } else { new_str += (sub != null ? sub : ch); } } return new_str; }; Opal.defn(self, '$tr!', def['$<<']); def.$tr_s = function(from, to) { var self = this; from = $scope.get('Opal').$coerce_to(from, $scope.get('String'), "to_str").$to_s(); to = $scope.get('Opal').$coerce_to(to, $scope.get('String'), "to_str").$to_s(); if (from.length == 0) { return self; } var subs = {}; var from_chars = from.split(''); var from_length = from_chars.length; var to_chars = to.split(''); var to_length = to_chars.length; var inverse = false; var global_sub = null; if (from_chars[0] === '^' && from_chars.length > 1) { inverse = true; from_chars.shift(); global_sub = to_chars[to_length - 1] from_length -= 1; } var from_chars_expanded = []; var last_from = null; var in_range = false; for (var i = 0; i < from_length; i++) { var ch = from_chars[i]; if (last_from == null) { last_from = ch; from_chars_expanded.push(ch); } else if (ch === '-') { if (last_from === '-') { from_chars_expanded.push('-'); from_chars_expanded.push('-'); } else if (i == from_length - 1) { from_chars_expanded.push('-'); } else { in_range = true; } } else if (in_range) { var start = last_from.charCodeAt(0); var end = ch.charCodeAt(0); if (start > end) { self.$raise($scope.get('ArgumentError'), "invalid range \"" + (String.fromCharCode(start)) + "-" + (String.fromCharCode(end)) + "\" in string transliteration") } for (var c = start + 1; c < end; c++) { from_chars_expanded.push(String.fromCharCode(c)); } from_chars_expanded.push(ch); in_range = null; last_from = null; } else { from_chars_expanded.push(ch); } } from_chars = from_chars_expanded; from_length = from_chars.length; if (inverse) { for (var i = 0; i < from_length; i++) { subs[from_chars[i]] = true; } } else { if (to_length > 0) { var to_chars_expanded = []; var last_to = null; var in_range = false; for (var i = 0; i < to_length; i++) { var ch = to_chars[i]; if (last_from == null) { last_from = ch; to_chars_expanded.push(ch); } else if (ch === '-') { if (last_to === '-') { to_chars_expanded.push('-'); to_chars_expanded.push('-'); } else if (i == to_length - 1) { to_chars_expanded.push('-'); } else { in_range = true; } } else if (in_range) { var start = last_from.charCodeAt(0); var end = ch.charCodeAt(0); if (start > end) { self.$raise($scope.get('ArgumentError'), "invalid range \"" + (String.fromCharCode(start)) + "-" + (String.fromCharCode(end)) + "\" in string transliteration") } for (var c = start + 1; c < end; c++) { to_chars_expanded.push(String.fromCharCode(c)); } to_chars_expanded.push(ch); in_range = null; last_from = null; } else { to_chars_expanded.push(ch); } } to_chars = to_chars_expanded; to_length = to_chars.length; } var length_diff = from_length - to_length; if (length_diff > 0) { var pad_char = (to_length > 0 ? to_chars[to_length - 1] : ''); for (var i = 0; i < length_diff; i++) { to_chars.push(pad_char); } } for (var i = 0; i < from_length; i++) { subs[from_chars[i]] = to_chars[i]; } } var new_str = '' var last_substitute = null for (var i = 0, length = self.length; i < length; i++) { var ch = self.charAt(i); var sub = subs[ch] if (inverse) { if (sub == null) { if (last_substitute == null) { new_str += global_sub; last_substitute = true; } } else { new_str += ch; last_substitute = null; } } else { if (sub != null) { if (last_substitute == null || last_substitute !== sub) { new_str += sub; last_substitute = sub; } } else { new_str += ch; last_substitute = null; } } } return new_str; }; Opal.defn(self, '$tr_s!', def['$<<']); def.$upcase = function() { var self = this; return self.toUpperCase(); }; Opal.defn(self, '$upcase!', def['$<<']); def.$freeze = function() { var self = this; return self; }; def['$frozen?'] = function() { var self = this; return true; }; def.$upto = TMP_10 = function(stop, excl) { var self = this, $iter = TMP_10.$$p, block = $iter || nil; if (excl == null) { excl = false } TMP_10.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("upto", stop, excl) }; stop = $scope.get('Opal').$coerce_to(stop, $scope.get('String'), "to_str"); var a, b, s = self.toString(); if (s.length === 1 && stop.length === 1) { a = s.charCodeAt(0); b = stop.charCodeAt(0); while (a <= b) { if (excl && a === b) { break; } block(String.fromCharCode(a)); a += 1; } } else if (parseInt(s).toString() === s && parseInt(stop).toString() === stop) { a = parseInt(s); b = parseInt(stop); while (a <= b) { if (excl && a === b) { break; } block(a.toString()); a += 1; } } else { while (s.length <= stop.length && s <= stop) { if (excl && s === stop) { break; } block(s); s = (s).$succ(); } } return self; }; function char_class_from_char_sets(sets) { function explode_sequences_in_character_set(set) { var result = '', i, len = set.length, curr_char, skip_next_dash, char_code_from, char_code_upto, char_code; for (i = 0; i < len; i++) { curr_char = set.charAt(i); if (curr_char === '-' && i > 0 && i < (len - 1) && !skip_next_dash) { char_code_from = set.charCodeAt(i - 1); char_code_upto = set.charCodeAt(i + 1); if (char_code_from > char_code_upto) { self.$raise($scope.get('ArgumentError'), "invalid range \"" + (char_code_from) + "-" + (char_code_upto) + "\" in string transliteration") } for (char_code = char_code_from + 1; char_code < char_code_upto + 1; char_code++) { result += String.fromCharCode(char_code); } skip_next_dash = true; i++; } else { skip_next_dash = (curr_char === '\\'); result += curr_char; } } return result; } function intersection(setA, setB) { if (setA.length === 0) { return setB; } var result = '', i, len = setA.length, chr; for (i = 0; i < len; i++) { chr = setA.charAt(i); if (setB.indexOf(chr) !== -1) { result += chr; } } return result; } var i, len, set, neg, chr, tmp, pos_intersection = '', neg_intersection = ''; for (i = 0, len = sets.length; i < len; i++) { set = $scope.get('Opal').$coerce_to(sets[i], $scope.get('String'), "to_str"); neg = (set.charAt(0) === '^' && set.length > 1); set = explode_sequences_in_character_set(neg ? set.slice(1) : set); if (neg) { neg_intersection = intersection(neg_intersection, set); } else { pos_intersection = intersection(pos_intersection, set); } } if (pos_intersection.length > 0 && neg_intersection.length > 0) { tmp = ''; for (i = 0, len = pos_intersection.length; i < len; i++) { chr = pos_intersection.charAt(i); if (neg_intersection.indexOf(chr) === -1) { tmp += chr; } } pos_intersection = tmp; neg_intersection = ''; } if (pos_intersection.length > 0) { return '[' + $scope.get('Regexp').$escape(pos_intersection) + ']'; } if (neg_intersection.length > 0) { return '[^' + $scope.get('Regexp').$escape(neg_intersection) + ']'; } return null; } })(self, null); return Opal.cdecl($scope, 'Symbol', $scope.get('String')); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/string/inheritance"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_times(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs * rhs : lhs['$*'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$new', '$allocate', '$initialize', '$to_proc', '$__send__', '$class', '$clone', '$respond_to?', '$==', '$inspect', '$map', '$split', '$enum_for', '$each_line', '$to_a', '$%']); (function($base, $super) { function $String(){}; var self = $String = $klass($base, $super, 'String', $String); var def = self.$$proto, $scope = self.$$scope; return (Opal.defs(self, '$inherited', function(klass) { var self = this, replace = nil; replace = $scope.get('Class').$new((($scope.get('String')).$$scope.get('Wrapper'))); klass.$$proto = replace.$$proto; klass.$$proto.$$class = klass; klass.$$alloc = replace.$$alloc; klass.$$parent = (($scope.get('String')).$$scope.get('Wrapper')); klass.$allocate = replace.$allocate; klass.$new = replace.$new; }), nil) && 'inherited' })(self, null); return (function($base, $super) { function $Wrapper(){}; var self = $Wrapper = $klass($base, $super, 'Wrapper', $Wrapper); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_6, TMP_8; def.literal = nil; def.$$is_string = true; Opal.defs(self, '$allocate', TMP_1 = function(string) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil, obj = nil; if (string == null) { string = "" } TMP_1.$$p = null; obj = Opal.find_super_dispatcher(self, 'allocate', TMP_1, null, $Wrapper).apply(self, []); obj.literal = string; return obj; }); Opal.defs(self, '$new', TMP_2 = function(args) { var $a, $b, self = this, $iter = TMP_2.$$p, block = $iter || nil, obj = nil; args = $slice.call(arguments, 0); TMP_2.$$p = null; obj = self.$allocate(); ($a = ($b = obj).$initialize, $a.$$p = block.$to_proc(), $a).apply($b, [].concat(args)); return obj; }); Opal.defs(self, '$[]', function(objects) { var self = this; objects = $slice.call(arguments, 0); return self.$allocate(objects); }); def.$initialize = function(string) { var self = this; if (string == null) { string = "" } return self.literal = string; }; def.$method_missing = TMP_3 = function(args) { var $a, $b, self = this, $iter = TMP_3.$$p, block = $iter || nil, result = nil; args = $slice.call(arguments, 0); TMP_3.$$p = null; result = ($a = ($b = self.literal).$__send__, $a.$$p = block.$to_proc(), $a).apply($b, [].concat(args)); if ((($a = result.$$is_string != null) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = result == self.literal) !== nil && (!$a.$$is_boolean || $a == true))) { return self } else { return self.$class().$allocate(result) } } else { return result }; }; def.$initialize_copy = function(other) { var self = this; return self.literal = (other.literal).$clone(); }; def['$respond_to?'] = TMP_4 = function(name) {var $zuper = $slice.call(arguments, 0); var $a, self = this, $iter = TMP_4.$$p, $yield = $iter || nil; TMP_4.$$p = null; return ((($a = Opal.find_super_dispatcher(self, 'respond_to?', TMP_4, $iter).apply(self, $zuper)) !== false && $a !== nil) ? $a : self.literal['$respond_to?'](name)); }; def['$=='] = function(other) { var self = this; return self.literal['$=='](other); }; Opal.defn(self, '$eql?', def['$==']); Opal.defn(self, '$===', def['$==']); def.$to_s = function() { var self = this; return self.literal; }; Opal.defn(self, '$to_str', def.$to_s); def.$inspect = function() { var self = this; return self.literal.$inspect(); }; def['$+'] = function(other) { var self = this; return $rb_plus(self.literal, other); }; def['$*'] = function(other) { var self = this; var result = $rb_times(self.literal, other); if (result.$$is_string) { return self.$class().$allocate(result) } else { return result; } ; }; def.$split = function(pattern, limit) { var $a, $b, TMP_5, self = this; return ($a = ($b = self.literal.$split(pattern, limit)).$map, $a.$$p = (TMP_5 = function(str){var self = TMP_5.$$s || this; if (str == null) str = nil; return self.$class().$allocate(str)}, TMP_5.$$s = self, TMP_5), $a).call($b); }; def.$replace = function(string) { var self = this; return self.literal = string; }; def.$each_line = TMP_6 = function(separator) { var $a, $b, TMP_7, self = this, $iter = TMP_6.$$p, $yield = $iter || nil; if ($gvars["/"] == null) $gvars["/"] = nil; if (separator == null) { separator = $gvars["/"] } TMP_6.$$p = null; if (($yield !== nil)) { } else { return self.$enum_for("each_line", separator) }; return ($a = ($b = self.literal).$each_line, $a.$$p = (TMP_7 = function(str){var self = TMP_7.$$s || this, $a; if (str == null) str = nil; return $a = Opal.yield1($yield, self.$class().$allocate(str)), $a === $breaker ? $a : $a}, TMP_7.$$s = self, TMP_7), $a).call($b, separator); }; def.$lines = TMP_8 = function(separator) { var $a, $b, self = this, $iter = TMP_8.$$p, block = $iter || nil, e = nil; if ($gvars["/"] == null) $gvars["/"] = nil; if (separator == null) { separator = $gvars["/"] } TMP_8.$$p = null; e = ($a = ($b = self).$each_line, $a.$$p = block.$to_proc(), $a).call($b, separator); if (block !== false && block !== nil) { return self } else { return e.$to_a() }; }; return (def['$%'] = function(data) { var self = this; return self.literal['$%'](data); }, nil) && '%'; })($scope.get('String'), null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/match_data"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$attr_reader', '$[]', '$raise', '$===', '$inspect', '$to_a', '$coerce_to!']); return (function($base, $super) { function $MatchData(){}; var self = $MatchData = $klass($base, $super, 'MatchData', $MatchData); var def = self.$$proto, $scope = self.$$scope; def.matches = nil; self.$attr_reader("post_match", "pre_match", "regexp", "string"); def.$initialize = function(regexp, match_groups) { var self = this; $gvars["~"] = self; self.regexp = regexp; self.begin = match_groups.index; self.string = match_groups.input; self.pre_match = match_groups.input.slice(0, match_groups.index); self.post_match = match_groups.input.slice(match_groups.index + match_groups[0].length); self.matches = []; for (var i = 0, length = match_groups.length; i < length; i++) { var group = match_groups[i]; if (group == null) { self.matches.push(nil); } else { self.matches.push(group); } } }; def['$[]'] = function(args) { var $a, self = this; args = $slice.call(arguments, 0); return ($a = self.matches)['$[]'].apply($a, [].concat(args)); }; def.$offset = function(n) { var self = this; if (n !== 0) { self.$raise($scope.get('ArgumentError'), "MatchData#offset only supports 0th element") } return [self.begin, self.begin + self.matches[n].length]; ; }; def['$=='] = function(other) { var $a, $b, $c, $d, self = this; if ((($a = $scope.get('MatchData')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return false }; return ($a = ($b = ($c = ($d = self.string == other.string, $d !== false && $d !== nil ?self.regexp.toString() == other.regexp.toString() : $d), $c !== false && $c !== nil ?self.pre_match == other.pre_match : $c), $b !== false && $b !== nil ?self.post_match == other.post_match : $b), $a !== false && $a !== nil ?self.begin == other.begin : $a); }; Opal.defn(self, '$eql?', def['$==']); def.$begin = function(n) { var self = this; if (n !== 0) { self.$raise($scope.get('ArgumentError'), "MatchData#begin only supports 0th element") } return self.begin; ; }; def.$end = function(n) { var self = this; if (n !== 0) { self.$raise($scope.get('ArgumentError'), "MatchData#end only supports 0th element") } return self.begin + self.matches[n].length; ; }; def.$captures = function() { var self = this; return self.matches.slice(1); }; def.$inspect = function() { var self = this; var str = "#"; ; }; def.$length = function() { var self = this; return self.matches.length; }; Opal.defn(self, '$size', def.$length); def.$to_a = function() { var self = this; return self.matches; }; def.$to_s = function() { var self = this; return self.matches[0]; }; return (def.$values_at = function(args) { var self = this; args = $slice.call(arguments, 0); var i, a, index, values = []; for (i = 0; i < args.length; i++) { if (args[i].$$is_range) { a = (args[i]).$to_a(); a.unshift(i, 1); Array.prototype.splice.apply(args, a); } index = $scope.get('Opal')['$coerce_to!'](args[i], $scope.get('Integer'), "to_int"); if (index < 0) { index += self.matches.length; if (index < 0) { values.push(nil); continue; } } values.push(self.matches[index]); } return values; }, nil) && 'values_at'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/numeric"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } function $rb_divide(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs / rhs : lhs['$/'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$coerce', '$===', '$raise', '$class', '$__send__', '$send_coerced', '$coerce_to!', '$-@', '$**', '$respond_to?', '$==', '$enum_for', '$gcd', '$lcm', '$floor', '$%']); self.$require("corelib/comparable"); (function($base, $super) { function $Numeric(){}; var self = $Numeric = $klass($base, $super, 'Numeric', $Numeric); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3, TMP_4, TMP_5, TMP_6; self.$include($scope.get('Comparable')); def.$$is_number = true; def.$__id__ = function() { var self = this; return (self * 2) + 1; }; Opal.defn(self, '$object_id', def.$__id__); def.$coerce = function(other, type) { var self = this, $case = nil; if (type == null) { type = "operation" } try { if (other.$$is_number) { return [self, other]; } else { return other.$coerce(self); } } catch ($err) {if (true) { return (function() {$case = type;if ("operation"['$===']($case)) {return self.$raise($scope.get('TypeError'), "" + (other.$class()) + " can't be coerced into Numeric")}else if ("comparison"['$===']($case)) {return self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (other.$class()) + " failed")}else { return nil }})() }else { throw $err; } }; }; def.$send_coerced = function(method, other) { var $a, self = this, type = nil, $case = nil, a = nil, b = nil; type = (function() {$case = method;if ("+"['$===']($case) || "-"['$===']($case) || "*"['$===']($case) || "/"['$===']($case) || "%"['$===']($case) || "&"['$===']($case) || "|"['$===']($case) || "^"['$===']($case) || "**"['$===']($case)) {return "operation"}else if (">"['$===']($case) || ">="['$===']($case) || "<"['$===']($case) || "<="['$===']($case) || "<=>"['$===']($case)) {return "comparison"}else { return nil }})(); $a = Opal.to_ary(self.$coerce(other, type)), a = ($a[0] == null ? nil : $a[0]), b = ($a[1] == null ? nil : $a[1]); return a.$__send__(method, b); }; def['$+'] = function(other) { var self = this; if (other.$$is_number) { return self + other; } else { return self.$send_coerced("+", other); } }; def['$-'] = function(other) { var self = this; if (other.$$is_number) { return self - other; } else { return self.$send_coerced("-", other); } }; def['$*'] = function(other) { var self = this; if (other.$$is_number) { return self * other; } else { return self.$send_coerced("*", other); } }; def['$/'] = function(other) { var self = this; if (other.$$is_number) { return self / other; } else { return self.$send_coerced("/", other); } }; def['$%'] = function(other) { var self = this; if (other.$$is_number) { if (other < 0 || self < 0) { return (self % other + other) % other; } else { return self % other; } } else { return self.$send_coerced("%", other); } }; def['$&'] = function(other) { var self = this; if (other.$$is_number) { return self & other; } else { return self.$send_coerced("&", other); } }; def['$|'] = function(other) { var self = this; if (other.$$is_number) { return self | other; } else { return self.$send_coerced("|", other); } }; def['$^'] = function(other) { var self = this; if (other.$$is_number) { return self ^ other; } else { return self.$send_coerced("^", other); } }; def['$<'] = function(other) { var self = this; if (other.$$is_number) { return self < other; } else { return self.$send_coerced("<", other); } }; def['$<='] = function(other) { var self = this; if (other.$$is_number) { return self <= other; } else { return self.$send_coerced("<=", other); } }; def['$>'] = function(other) { var self = this; if (other.$$is_number) { return self > other; } else { return self.$send_coerced(">", other); } }; def['$>='] = function(other) { var self = this; if (other.$$is_number) { return self >= other; } else { return self.$send_coerced(">=", other); } }; def['$<=>'] = function(other) { var self = this; try { if (other.$$is_number) { return self > other ? 1 : (self < other ? -1 : 0); } else { return self.$send_coerced("<=>", other); } } catch ($err) {if (Opal.rescue($err, [$scope.get('ArgumentError')])) { return nil }else { throw $err; } }; }; def['$<<'] = function(count) { var self = this; count = $scope.get('Opal')['$coerce_to!'](count, $scope.get('Integer'), "to_int"); return count > 0 ? self << count : self >> -count; }; def['$>>'] = function(count) { var self = this; count = $scope.get('Opal')['$coerce_to!'](count, $scope.get('Integer'), "to_int"); return count > 0 ? self >> count : self << -count; }; def['$[]'] = function(bit) { var self = this, min = nil, max = nil; bit = $scope.get('Opal')['$coerce_to!'](bit, $scope.get('Integer'), "to_int"); min = ((2)['$**'](30))['$-@'](); max = $rb_minus(((2)['$**'](30)), 1); return (bit < min || bit > max) ? 0 : (self >> bit) % 2; }; def['$+@'] = function() { var self = this; return +self; }; def['$-@'] = function() { var self = this; return -self; }; def['$~'] = function() { var self = this; return ~self; }; def['$**'] = function(other) { var self = this; if (other.$$is_number) { return Math.pow(self, other); } else { return self.$send_coerced("**", other); } }; def['$=='] = function(other) { var self = this; if (other.$$is_number) { return self == Number(other); } else if (other['$respond_to?']("==")) { return other['$=='](self); } else { return false; } ; }; def.$abs = function() { var self = this; return Math.abs(self); }; def.$ceil = function() { var self = this; return Math.ceil(self); }; def.$chr = function(encoding) { var self = this; return String.fromCharCode(self); }; def.$conj = function() { var self = this; return self; }; Opal.defn(self, '$conjugate', def.$conj); def.$downto = TMP_1 = function(finish) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("downto", finish) }; if (!finish.$$is_number) { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (finish.$class()) + " failed") } for (var i = self; i >= finish; i--) { if (block(i) === $breaker) { return $breaker.$v; } } ; return self; }; Opal.defn(self, '$eql?', def['$==']); def['$equal?'] = function(other) { var $a, self = this; return ((($a = self['$=='](other)) !== false && $a !== nil) ? $a : isNaN(self) && isNaN(other)); }; def['$even?'] = function() { var self = this; return self % 2 === 0; }; def.$floor = function() { var self = this; return Math.floor(self); }; def.$gcd = function(other) { var $a, self = this; if ((($a = $scope.get('Integer')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('TypeError'), "not an integer") }; var min = Math.abs(self), max = Math.abs(other); while (min > 0) { var tmp = min; min = max % min; max = tmp; } return max; }; def.$gcdlcm = function(other) { var self = this; return [self.$gcd(), self.$lcm()]; }; def.$hash = function() { var self = this; return 'Numeric:'+self.toString(); }; def['$integer?'] = function() { var self = this; return self % 1 === 0; }; def['$is_a?'] = TMP_2 = function(klass) {var $zuper = $slice.call(arguments, 0); var $a, $b, self = this, $iter = TMP_2.$$p, $yield = $iter || nil; TMP_2.$$p = null; if ((($a = (($b = klass['$==']($scope.get('Fixnum'))) ? $scope.get('Integer')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = (($b = klass['$==']($scope.get('Integer'))) ? $scope.get('Integer')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = (($b = klass['$==']($scope.get('Float'))) ? $scope.get('Float')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; return Opal.find_super_dispatcher(self, 'is_a?', TMP_2, $iter).apply(self, $zuper); }; Opal.defn(self, '$kind_of?', def['$is_a?']); def['$instance_of?'] = TMP_3 = function(klass) {var $zuper = $slice.call(arguments, 0); var $a, $b, self = this, $iter = TMP_3.$$p, $yield = $iter || nil; TMP_3.$$p = null; if ((($a = (($b = klass['$==']($scope.get('Fixnum'))) ? $scope.get('Integer')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = (($b = klass['$==']($scope.get('Integer'))) ? $scope.get('Integer')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = (($b = klass['$==']($scope.get('Float'))) ? $scope.get('Float')['$==='](self) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; return Opal.find_super_dispatcher(self, 'instance_of?', TMP_3, $iter).apply(self, $zuper); }; def.$lcm = function(other) { var $a, self = this; if ((($a = $scope.get('Integer')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('TypeError'), "not an integer") }; if (self == 0 || other == 0) { return 0; } else { return Math.abs(self * other / self.$gcd(other)); } }; Opal.defn(self, '$magnitude', def.$abs); Opal.defn(self, '$modulo', def['$%']); def.$next = function() { var self = this; return self + 1; }; def['$nonzero?'] = function() { var self = this; return self == 0 ? nil : self; }; def['$odd?'] = function() { var self = this; return self % 2 !== 0; }; def.$ord = function() { var self = this; return self; }; def.$pred = function() { var self = this; return self - 1; }; def.$round = function(ndigits) { var self = this; if (ndigits == null) { ndigits = 0 } var scale = Math.pow(10, ndigits); return Math.round(self * scale) / scale; }; def.$step = TMP_4 = function(limit, step) { var $a, self = this, $iter = TMP_4.$$p, block = $iter || nil; if (step == null) { step = 1 } TMP_4.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("step", limit, step) }; if ((($a = step == 0) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "step cannot be 0")}; var value = self; if (step > 0) { while (value <= limit) { block(value); value += step; } } else { while (value >= limit) { block(value); value += step; } } return self; }; Opal.defn(self, '$succ', def.$next); def.$times = TMP_5 = function() { var self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("times") }; for (var i = 0; i < self; i++) { if (block(i) === $breaker) { return $breaker.$v; } } return self; }; def.$to_f = function() { var self = this; return self; }; def.$to_i = function() { var self = this; return parseInt(self); }; Opal.defn(self, '$to_int', def.$to_i); def.$to_s = function(base) { var $a, $b, self = this; if (base == null) { base = 10 } if ((($a = ((($b = $rb_lt(base, 2)) !== false && $b !== nil) ? $b : $rb_gt(base, 36))) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), "base must be between 2 and 36")}; return self.toString(base); }; Opal.defn(self, '$inspect', def.$to_s); def.$divmod = function(rhs) { var self = this, q = nil, r = nil; q = ($rb_divide(self, rhs)).$floor(); r = self['$%'](rhs); return [q, r]; }; def.$upto = TMP_6 = function(finish) { var self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("upto", finish) }; if (!finish.$$is_number) { self.$raise($scope.get('ArgumentError'), "comparison of " + (self.$class()) + " with " + (finish.$class()) + " failed") } for (var i = self; i <= finish; i++) { if (block(i) === $breaker) { return $breaker.$v; } } ; return self; }; def['$zero?'] = function() { var self = this; return self == 0; }; def.$size = function() { var self = this; return 4; }; def['$nan?'] = function() { var self = this; return isNaN(self); }; def['$finite?'] = function() { var self = this; return self != Infinity && self != -Infinity; }; def['$infinite?'] = function() { var self = this; if (self == Infinity) { return +1; } else if (self == -Infinity) { return -1; } else { return nil; } }; def['$positive?'] = function() { var self = this; return 1 / self > 0; }; return (def['$negative?'] = function() { var self = this; return 1 / self < 0; }, nil) && 'negative?'; })(self, null); Opal.cdecl($scope, 'Fixnum', $scope.get('Numeric')); (function($base, $super) { function $Integer(){}; var self = $Integer = $klass($base, $super, 'Integer', $Integer); var def = self.$$proto, $scope = self.$$scope; return (Opal.defs(self, '$===', function(other) { var self = this; if (!other.$$is_number) { return false; } return (other % 1) === 0; }), nil) && '===' })(self, $scope.get('Numeric')); return (function($base, $super) { function $Float(){}; var self = $Float = $klass($base, $super, 'Float', $Float); var def = self.$$proto, $scope = self.$$scope, $a; Opal.defs(self, '$===', function(other) { var self = this; return !!other.$$is_number; }); Opal.cdecl($scope, 'INFINITY', Infinity); Opal.cdecl($scope, 'NAN', NaN); if ((($a = (typeof(Number.EPSILON) !== "undefined")) !== nil && (!$a.$$is_boolean || $a == true))) { return Opal.cdecl($scope, 'EPSILON', Number.EPSILON) } else { return Opal.cdecl($scope, 'EPSILON', 2.2204460492503130808472633361816E-16) }; })(self, $scope.get('Numeric')); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/complex"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; return (function($base, $super) { function $Complex(){}; var self = $Complex = $klass($base, $super, 'Complex', $Complex); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Numeric')) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/rational"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; return (function($base, $super) { function $Rational(){}; var self = $Rational = $klass($base, $super, 'Rational', $Rational); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('Numeric')) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/proc"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$raise']); return (function($base, $super) { function $Proc(){}; var self = $Proc = $klass($base, $super, 'Proc', $Proc); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2; def.$$is_proc = true; def.$$is_lambda = false; Opal.defs(self, '$new', TMP_1 = function() { var self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; if (block !== false && block !== nil) { } else { self.$raise($scope.get('ArgumentError'), "tried to create a Proc object without a block") }; return block; }); def.$call = TMP_2 = function(args) { var self = this, $iter = TMP_2.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_2.$$p = null; if (block !== nil) { self.$$p = block; } var result; if (self.$$is_lambda) { result = self.apply(null, args); } else { result = Opal.yieldX(self, args); } if (result === $breaker) { return $breaker.$v; } return result; }; Opal.defn(self, '$[]', def.$call); def.$to_proc = function() { var self = this; return self; }; def['$lambda?'] = function() { var self = this; return !!self.$$is_lambda; }; return (def.$arity = function() { var self = this; return self.length; }, nil) && 'arity'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/method"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$attr_reader', '$class', '$arity', '$new', '$name']); (function($base, $super) { function $Method(){}; var self = $Method = $klass($base, $super, 'Method', $Method); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.method = def.receiver = def.owner = def.name = def.obj = nil; self.$attr_reader("owner", "receiver", "name"); def.$initialize = function(receiver, method, name) { var self = this; self.receiver = receiver; self.owner = receiver.$class(); self.name = name; return self.method = method; }; def.$arity = function() { var self = this; return self.method.$arity(); }; def.$call = TMP_1 = function(args) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 0); TMP_1.$$p = null; self.method.$$p = block; return self.method.apply(self.receiver, args); ; }; Opal.defn(self, '$[]', def.$call); def.$unbind = function() { var self = this; return $scope.get('UnboundMethod').$new(self.owner, self.method, self.name); }; def.$to_proc = function() { var self = this; return self.method; }; return (def.$inspect = function() { var self = this; return "#"; }, nil) && 'inspect'; })(self, null); return (function($base, $super) { function $UnboundMethod(){}; var self = $UnboundMethod = $klass($base, $super, 'UnboundMethod', $UnboundMethod); var def = self.$$proto, $scope = self.$$scope; def.method = def.name = def.owner = nil; self.$attr_reader("owner", "name"); def.$initialize = function(owner, method, name) { var self = this; self.owner = owner; self.method = method; return self.name = name; }; def.$arity = function() { var self = this; return self.method.$arity(); }; def.$bind = function(object) { var self = this; return $scope.get('Method').$new(object, self.method, self.name); }; return (def.$inspect = function() { var self = this; return "#"; }, nil) && 'inspect'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/range"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_le(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs <= rhs : lhs['$<='](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$attr_reader', '$<=>', '$raise', '$include?', '$enum_for', '$succ', '$!', '$==', '$===', '$exclude_end?', '$eql?', '$begin', '$end', '$abs', '$to_i', '$inspect']); self.$require("corelib/enumerable"); return (function($base, $super) { function $Range(){}; var self = $Range = $klass($base, $super, 'Range', $Range); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2, TMP_3; def.begin = def.exclude = def.end = nil; self.$include($scope.get('Enumerable')); def.$$is_range = true; self.$attr_reader("begin", "end"); def.$initialize = function(first, last, exclude) { var $a, self = this; if (exclude == null) { exclude = false } if ((($a = first['$<=>'](last)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError')) }; self.begin = first; self.end = last; return self.exclude = exclude; }; def['$=='] = function(other) { var self = this; if (!other.$$is_range) { return false; } return self.exclude === other.exclude && self.begin == other.begin && self.end == other.end; }; def['$==='] = function(value) { var self = this; return self['$include?'](value); }; def['$cover?'] = function(value) { var $a, $b, self = this; return (($a = $rb_le(self.begin, value)) ? ((function() {if ((($b = self.exclude) !== nil && (!$b.$$is_boolean || $b == true))) { return $rb_lt(value, self.end) } else { return $rb_le(value, self.end) }; return nil; })()) : $a); }; def.$each = TMP_1 = function() { var $a, $b, self = this, $iter = TMP_1.$$p, block = $iter || nil, current = nil, last = nil; TMP_1.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each") }; current = self.begin; last = self.end; while ($rb_lt(current, last)) { if (Opal.yield1(block, current) === $breaker) return $breaker.$v; current = current.$succ();}; if ((($a = ($b = self.exclude['$!'](), $b !== false && $b !== nil ?current['$=='](last) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { if (Opal.yield1(block, current) === $breaker) return $breaker.$v}; return self; }; def['$eql?'] = function(other) { var $a, $b, self = this; if ((($a = $scope.get('Range')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return false }; return ($a = ($b = self.exclude['$==='](other['$exclude_end?']()), $b !== false && $b !== nil ?self.begin['$eql?'](other.$begin()) : $b), $a !== false && $a !== nil ?self.end['$eql?'](other.$end()) : $a); }; def['$exclude_end?'] = function() { var self = this; return self.exclude; }; Opal.defn(self, '$first', def.$begin); Opal.defn(self, '$include?', def['$cover?']); Opal.defn(self, '$last', def.$end); def.$max = TMP_2 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_2.$$p, $yield = $iter || nil; TMP_2.$$p = null; if (($yield !== nil)) { return Opal.find_super_dispatcher(self, 'max', TMP_2, $iter).apply(self, $zuper) } else { return self.exclude ? self.end - 1 : self.end; }; }; Opal.defn(self, '$member?', def['$cover?']); def.$min = TMP_3 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_3.$$p, $yield = $iter || nil; TMP_3.$$p = null; if (($yield !== nil)) { return Opal.find_super_dispatcher(self, 'min', TMP_3, $iter).apply(self, $zuper) } else { return self.begin }; }; Opal.defn(self, '$member?', def['$include?']); def.$size = function() { var $a, $b, self = this, _begin = nil, _end = nil, infinity = nil; _begin = self.begin; _end = self.end; if ((($a = self.exclude) !== nil && (!$a.$$is_boolean || $a == true))) { _end = $rb_minus(_end, 1)}; if ((($a = ($b = $scope.get('Numeric')['$==='](_begin), $b !== false && $b !== nil ?$scope.get('Numeric')['$==='](_end) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return nil }; if ($rb_lt(_end, _begin)) { return 0}; infinity = (($scope.get('Float')).$$scope.get('INFINITY')); if ((($a = ((($b = infinity['$=='](_begin.$abs())) !== false && $b !== nil) ? $b : _end.$abs()['$=='](infinity))) !== nil && (!$a.$$is_boolean || $a == true))) { return infinity}; return ((Math.abs(_end - _begin) + 1)).$to_i(); }; def.$step = function(n) { var self = this; if (n == null) { n = 1 } return self.$raise($scope.get('NotImplementedError')); }; def.$to_s = function() { var self = this; return self.begin.$inspect() + (self.exclude ? '...' : '..') + self.end.$inspect(); }; return Opal.defn(self, '$inspect', def.$to_s); })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/time"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_le(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs <= rhs : lhs['$<='](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_divide(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs / rhs : lhs['$/'](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$include', '$kind_of?', '$to_i', '$coerce_to', '$between?', '$raise', '$new', '$compact', '$nil?', '$===', '$<=>', '$to_f', '$strftime', '$is_a?', '$zero?', '$wday', '$utc?', '$warn', '$year', '$mon', '$day', '$yday', '$hour', '$min', '$sec', '$rjust', '$ljust', '$zone', '$to_s', '$[]', '$cweek_cyear', '$month', '$isdst', '$private', '$!', '$==', '$ceil']); self.$require("corelib/comparable"); return (function($base, $super) { function $Time(){}; var self = $Time = $klass($base, $super, 'Time', $Time); var def = self.$$proto, $scope = self.$$scope; def.tz_offset = nil; self.$include($scope.get('Comparable')); var days_of_week = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], short_days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], short_months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], long_months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"]; ; Opal.defs(self, '$at', function(seconds, frac) { var self = this; if (frac == null) { frac = 0 } return new Date(seconds * 1000 + frac); }); Opal.defs(self, '$new', function(year, month, day, hour, minute, second, utc_offset) { var self = this; switch (arguments.length) { case 1: return new Date(year, 0); case 2: return new Date(year, month - 1); case 3: return new Date(year, month - 1, day); case 4: return new Date(year, month - 1, day, hour); case 5: return new Date(year, month - 1, day, hour, minute); case 6: return new Date(year, month - 1, day, hour, minute, second); case 7: return new Date(year, month - 1, day, hour, minute, second); default: return new Date(); } }); Opal.defs(self, '$local', function(year, month, day, hour, minute, second, millisecond) { var $a, self = this; if (month == null) { month = nil } if (day == null) { day = nil } if (hour == null) { hour = nil } if (minute == null) { minute = nil } if (second == null) { second = nil } if (millisecond == null) { millisecond = nil } if ((($a = arguments.length === 10) !== nil && (!$a.$$is_boolean || $a == true))) { var args = $slice.call(arguments).reverse(); second = args[9]; minute = args[8]; hour = args[7]; day = args[6]; month = args[5]; year = args[4]; }; year = (function() {if ((($a = year['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return year.$to_i() } else { return $scope.get('Opal').$coerce_to(year, $scope.get('Integer'), "to_int") }; return nil; })(); month = (function() {if ((($a = month['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return month.$to_i() } else { return $scope.get('Opal').$coerce_to(((($a = month) !== false && $a !== nil) ? $a : 1), $scope.get('Integer'), "to_int") }; return nil; })(); if ((($a = month['$between?'](1, 12)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "month out of range: " + (month)) }; day = (function() {if ((($a = day['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return day.$to_i() } else { return $scope.get('Opal').$coerce_to(((($a = day) !== false && $a !== nil) ? $a : 1), $scope.get('Integer'), "to_int") }; return nil; })(); if ((($a = day['$between?'](1, 31)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "day out of range: " + (day)) }; hour = (function() {if ((($a = hour['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return hour.$to_i() } else { return $scope.get('Opal').$coerce_to(((($a = hour) !== false && $a !== nil) ? $a : 0), $scope.get('Integer'), "to_int") }; return nil; })(); if ((($a = hour['$between?'](0, 24)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "hour out of range: " + (hour)) }; minute = (function() {if ((($a = minute['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return minute.$to_i() } else { return $scope.get('Opal').$coerce_to(((($a = minute) !== false && $a !== nil) ? $a : 0), $scope.get('Integer'), "to_int") }; return nil; })(); if ((($a = minute['$between?'](0, 59)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "minute out of range: " + (minute)) }; second = (function() {if ((($a = second['$kind_of?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { return second.$to_i() } else { return $scope.get('Opal').$coerce_to(((($a = second) !== false && $a !== nil) ? $a : 0), $scope.get('Integer'), "to_int") }; return nil; })(); if ((($a = second['$between?'](0, 59)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "second out of range: " + (second)) }; return ($a = self).$new.apply($a, [].concat([year, month, day, hour, minute, second].$compact())); }); Opal.defs(self, '$gm', function(year, month, day, hour, minute, second, utc_offset) { var $a, self = this; if ((($a = year['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('TypeError'), "missing year (got nil)")}; if (month > 12 || day > 31 || hour > 24 || minute > 59 || second > 59) { self.$raise($scope.get('ArgumentError')); } var date = new Date(Date.UTC(year, (month || 1) - 1, (day || 1), (hour || 0), (minute || 0), (second || 0))); date.tz_offset = 0 return date; ; }); (function(self) { var $scope = self.$$scope, def = self.$$proto; self.$$proto.$mktime = self.$$proto.$local; return self.$$proto.$utc = self.$$proto.$gm; })(self.$singleton_class()); Opal.defs(self, '$now', function() { var self = this; return new Date(); }); def['$+'] = function(other) { var $a, self = this; if ((($a = $scope.get('Time')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('TypeError'), "time + time?")}; other = $scope.get('Opal').$coerce_to(other, $scope.get('Integer'), "to_int"); var result = new Date(self.getTime() + (other * 1000)); result.tz_offset = self.tz_offset; return result; }; def['$-'] = function(other) { var $a, self = this; if ((($a = $scope.get('Time')['$==='](other)) !== nil && (!$a.$$is_boolean || $a == true))) { return (self.getTime() - other.getTime()) / 1000}; other = $scope.get('Opal').$coerce_to(other, $scope.get('Integer'), "to_int"); var result = new Date(self.getTime() - (other * 1000)); result.tz_offset = self.tz_offset; return result; }; def['$<=>'] = function(other) { var self = this; return self.$to_f()['$<=>'](other.$to_f()); }; def['$=='] = function(other) { var self = this; return self.$to_f() === other.$to_f(); }; def.$asctime = function() { var self = this; return self.$strftime("%a %b %e %H:%M:%S %Y"); }; Opal.defn(self, '$ctime', def.$asctime); def.$day = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCDate(); } else { return self.getDate(); } ; }; def.$yday = function() { var self = this; // http://javascript.about.com/library/bldayyear.htm var onejan = new Date(self.getFullYear(), 0, 1); return Math.ceil((self - onejan) / 86400000); }; def.$isdst = function() { var self = this; return self.$raise($scope.get('NotImplementedError')); }; def['$eql?'] = function(other) { var $a, self = this; return ($a = other['$is_a?']($scope.get('Time')), $a !== false && $a !== nil ?(self['$<=>'](other))['$zero?']() : $a); }; def['$friday?'] = function() { var self = this; return self.$wday() == 5; }; def.$hour = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCHours(); } else { return self.getHours(); } ; }; def.$inspect = function() { var $a, self = this; if ((($a = self['$utc?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$strftime("%Y-%m-%d %H:%M:%S UTC") } else { return self.$strftime("%Y-%m-%d %H:%M:%S %z") }; }; Opal.defn(self, '$mday', def.$day); def.$min = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCMinutes(); } else { return self.getMinutes(); } ; }; def.$mon = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCMonth() + 1; } else { return self.getMonth() + 1; } ; }; def['$monday?'] = function() { var self = this; return self.$wday() == 1; }; Opal.defn(self, '$month', def.$mon); def['$saturday?'] = function() { var self = this; return self.$wday() == 6; }; def.$sec = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCSeconds(); } else { return self.getSeconds(); } ; }; def.$usec = function() { var self = this; self.$warn("Microseconds are not supported"); return 0; }; def.$zone = function() { var self = this; var string = self.toString(), result; if (string.indexOf('(') == -1) { result = string.match(/[A-Z]{3,4}/)[0]; } else { result = string.match(/\([^)]+\)/)[0].match(/[A-Z]/g).join(''); } if (result == "GMT" && /(GMT\W*\d{4})/.test(string)) { return RegExp.$1; } else { return result; } }; def.$getgm = function() { var self = this; var result = new Date(self.getTime()); result.tz_offset = 0; return result; }; def['$gmt?'] = function() { var self = this; return self.tz_offset === 0; }; def.$gmt_offset = function() { var self = this; return -self.getTimezoneOffset() * 60; }; def.$strftime = function(format) { var self = this; return format.replace(/%([\-_#^0]*:{0,2})(\d+)?([EO]*)(.)/g, function(full, flags, width, _, conv) { var result = "", width = parseInt(width), zero = flags.indexOf('0') !== -1, pad = flags.indexOf('-') === -1, blank = flags.indexOf('_') !== -1, upcase = flags.indexOf('^') !== -1, invert = flags.indexOf('#') !== -1, colons = (flags.match(':') || []).length; if (zero && blank) { if (flags.indexOf('0') < flags.indexOf('_')) { zero = false; } else { blank = false; } } switch (conv) { case 'Y': result += self.$year(); break; case 'C': zero = !blank; result += Math.round(self.$year() / 100); break; case 'y': zero = !blank; result += (self.$year() % 100); break; case 'm': zero = !blank; result += self.$mon(); break; case 'B': result += long_months[self.$mon() - 1]; break; case 'b': case 'h': blank = !zero; result += short_months[self.$mon() - 1]; break; case 'd': zero = !blank result += self.$day(); break; case 'e': blank = !zero result += self.$day(); break; case 'j': result += self.$yday(); break; case 'H': zero = !blank; result += self.$hour(); break; case 'k': blank = !zero; result += self.$hour(); break; case 'I': zero = !blank; result += (self.$hour() % 12 || 12); break; case 'l': blank = !zero; result += (self.$hour() % 12 || 12); break; case 'P': result += (self.$hour() >= 12 ? "pm" : "am"); break; case 'p': result += (self.$hour() >= 12 ? "PM" : "AM"); break; case 'M': zero = !blank; result += self.$min(); break; case 'S': zero = !blank; result += self.$sec() break; case 'L': zero = !blank; width = isNaN(width) ? 3 : width; result += self.getMilliseconds(); break; case 'N': width = isNaN(width) ? 9 : width; result += (self.getMilliseconds().toString()).$rjust(3, "0"); result = (result).$ljust(width, "0"); break; case 'z': var offset = self.getTimezoneOffset(), hours = Math.floor(Math.abs(offset) / 60), minutes = Math.abs(offset) % 60; result += offset < 0 ? "+" : "-"; result += hours < 10 ? "0" : ""; result += hours; if (colons > 0) { result += ":"; } result += minutes < 10 ? "0" : ""; result += minutes; if (colons > 1) { result += ":00"; } break; case 'Z': result += self.$zone(); break; case 'A': result += days_of_week[self.$wday()]; break; case 'a': result += short_days[self.$wday()]; break; case 'u': result += (self.$wday() + 1); break; case 'w': result += self.$wday(); break; case 'V': result += self.$cweek_cyear()['$[]'](0).$to_s().$rjust(2, "0"); break; case 'G': result += self.$cweek_cyear()['$[]'](1); break; case 'g': result += self.$cweek_cyear()['$[]'](1)['$[]']($range(-2, -1, false)); break; case 's': result += self.$to_i(); break; case 'n': result += "\n"; break; case 't': result += "\t"; break; case '%': result += "%"; break; case 'c': result += self.$strftime("%a %b %e %T %Y"); break; case 'D': case 'x': result += self.$strftime("%m/%d/%y"); break; case 'F': result += self.$strftime("%Y-%m-%d"); break; case 'v': result += self.$strftime("%e-%^b-%4Y"); break; case 'r': result += self.$strftime("%I:%M:%S %p"); break; case 'R': result += self.$strftime("%H:%M"); break; case 'T': case 'X': result += self.$strftime("%H:%M:%S"); break; default: return full; } if (upcase) { result = result.toUpperCase(); } if (invert) { result = result.replace(/[A-Z]/, function(c) { c.toLowerCase() }). replace(/[a-z]/, function(c) { c.toUpperCase() }); } if (pad && (zero || blank)) { result = (result).$rjust(isNaN(width) ? 2 : width, blank ? " " : "0"); } return result; }); }; def['$sunday?'] = function() { var self = this; return self.$wday() == 0; }; def['$thursday?'] = function() { var self = this; return self.$wday() == 4; }; def.$to_a = function() { var self = this; return [self.$sec(), self.$min(), self.$hour(), self.$day(), self.$month(), self.$year(), self.$wday(), self.$yday(), self.$isdst(), self.$zone()]; }; def.$to_f = function() { var self = this; return self.getTime() / 1000; }; def.$to_i = function() { var self = this; return parseInt(self.getTime() / 1000); }; Opal.defn(self, '$to_s', def.$inspect); def['$tuesday?'] = function() { var self = this; return self.$wday() == 2; }; Opal.defn(self, '$utc?', def['$gmt?']); Opal.defn(self, '$utc_offset', def.$gmt_offset); def.$wday = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCDay(); } else { return self.getDay(); } ; }; def['$wednesday?'] = function() { var self = this; return self.$wday() == 3; }; def.$year = function() { var self = this; if (self.tz_offset === 0) { return self.getUTCFullYear(); } else { return self.getFullYear(); } ; }; self.$private("cweek_cyear"); return (def.$cweek_cyear = function() { var $a, $b, self = this, jan01 = nil, jan01_wday = nil, first_monday = nil, year = nil, offset = nil, week = nil, dec31 = nil, dec31_wday = nil; jan01 = $scope.get('Time').$new(self.$year(), 1, 1); jan01_wday = jan01.$wday(); first_monday = 0; year = self.$year(); if ((($a = (($b = $rb_le(jan01_wday, 4)) ? jan01_wday['$=='](0)['$!']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { offset = $rb_minus(jan01_wday, 1) } else { offset = $rb_minus($rb_minus(jan01_wday, 7), 1); if (offset['$=='](-8)) { offset = -1}; }; week = ($rb_divide(($rb_plus(self.$yday(), offset)), 7.0)).$ceil(); if ($rb_le(week, 0)) { return $scope.get('Time').$new($rb_minus(self.$year(), 1), 12, 31).$cweek_cyear() } else if (week['$=='](53)) { dec31 = $scope.get('Time').$new(self.$year(), 12, 31); dec31_wday = dec31.$wday(); if ((($a = (($b = $rb_le(dec31_wday, 3)) ? dec31_wday['$=='](0)['$!']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { week = 1; year = $rb_plus(year, 1);};}; return [week, year]; }, nil) && 'cweek_cyear'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/struct"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } function $rb_ge(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$==', '$[]', '$upcase', '$const_set', '$new', '$unshift', '$each', '$define_struct_attribute', '$instance_eval', '$to_proc', '$raise', '$<<', '$members', '$attr_accessor', '$each_with_index', '$instance_variable_set', '$class', '$===', '$-@', '$size', '$include?', '$to_sym', '$instance_variable_get', '$enum_for', '$hash', '$all?', '$length', '$map', '$join', '$inspect', '$each_pair', '$inject', '$[]=', '$flatten', '$to_a']); self.$require("corelib/enumerable"); return (function($base, $super) { function $Struct(){}; var self = $Struct = $klass($base, $super, 'Struct', $Struct); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_6, TMP_8; self.$include($scope.get('Enumerable')); Opal.defs(self, '$new', TMP_1 = function(name, args) {var $zuper = $slice.call(arguments, 0); var $a, $b, $c, TMP_2, self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_1.$$p = null; if (self['$==']($scope.get('Struct'))) { } else { return Opal.find_super_dispatcher(self, 'new', TMP_1, $iter, $Struct).apply(self, $zuper) }; if (name['$[]'](0)['$=='](name['$[]'](0).$upcase())) { return $scope.get('Struct').$const_set(name, ($a = self).$new.apply($a, [].concat(args))) } else { args.$unshift(name); return ($b = ($c = $scope.get('Class')).$new, $b.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this, $a, $b, TMP_3, $c; ($a = ($b = args).$each, $a.$$p = (TMP_3 = function(arg){var self = TMP_3.$$s || this; if (arg == null) arg = nil; return self.$define_struct_attribute(arg)}, TMP_3.$$s = self, TMP_3), $a).call($b); if (block !== false && block !== nil) { return ($a = ($c = self).$instance_eval, $a.$$p = block.$to_proc(), $a).call($c) } else { return nil };}, TMP_2.$$s = self, TMP_2), $b).call($c, self); }; }); Opal.defs(self, '$define_struct_attribute', function(name) { var self = this; if (self['$==']($scope.get('Struct'))) { self.$raise($scope.get('ArgumentError'), "you cannot define attributes to the Struct class")}; self.$members()['$<<'](name); return self.$attr_accessor(name); }); Opal.defs(self, '$members', function() { var $a, self = this; if (self.members == null) self.members = nil; if (self['$==']($scope.get('Struct'))) { self.$raise($scope.get('ArgumentError'), "the Struct class has no members")}; return ((($a = self.members) !== false && $a !== nil) ? $a : self.members = []); }); Opal.defs(self, '$inherited', function(klass) { var $a, $b, TMP_4, self = this, members = nil; if (self.members == null) self.members = nil; members = self.members; return ($a = ($b = klass).$instance_eval, $a.$$p = (TMP_4 = function(){var self = TMP_4.$$s || this; return self.members = members}, TMP_4.$$s = self, TMP_4), $a).call($b); }); (function(self) { var $scope = self.$$scope, def = self.$$proto; return self.$$proto['$[]'] = self.$$proto.$new })(self.$singleton_class()); def.$initialize = function(args) { var $a, $b, TMP_5, self = this; args = $slice.call(arguments, 0); return ($a = ($b = self.$members()).$each_with_index, $a.$$p = (TMP_5 = function(name, index){var self = TMP_5.$$s || this; if (name == null) name = nil;if (index == null) index = nil; return self.$instance_variable_set("@" + (name), args['$[]'](index))}, TMP_5.$$s = self, TMP_5), $a).call($b); }; def.$members = function() { var self = this; return self.$class().$members(); }; def['$[]'] = function(name) { var $a, self = this; if ((($a = $scope.get('Integer')['$==='](name)) !== nil && (!$a.$$is_boolean || $a == true))) { if ($rb_lt(name, self.$members().$size()['$-@']())) { self.$raise($scope.get('IndexError'), "offset " + (name) + " too small for struct(size:" + (self.$members().$size()) + ")")}; if ($rb_ge(name, self.$members().$size())) { self.$raise($scope.get('IndexError'), "offset " + (name) + " too large for struct(size:" + (self.$members().$size()) + ")")}; name = self.$members()['$[]'](name); } else if ((($a = $scope.get('String')['$==='](name)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = self.$members()['$include?'](name.$to_sym())) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('NameError'), "no member '" + (name) + "' in struct") } } else { self.$raise($scope.get('TypeError'), "no implicit conversion of " + (name.$class()) + " into Integer") }; return self.$instance_variable_get("@" + (name)); }; def['$[]='] = function(name, value) { var $a, self = this; if ((($a = $scope.get('Integer')['$==='](name)) !== nil && (!$a.$$is_boolean || $a == true))) { if ($rb_lt(name, self.$members().$size()['$-@']())) { self.$raise($scope.get('IndexError'), "offset " + (name) + " too small for struct(size:" + (self.$members().$size()) + ")")}; if ($rb_ge(name, self.$members().$size())) { self.$raise($scope.get('IndexError'), "offset " + (name) + " too large for struct(size:" + (self.$members().$size()) + ")")}; name = self.$members()['$[]'](name); } else if ((($a = $scope.get('String')['$==='](name)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = self.$members()['$include?'](name.$to_sym())) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('NameError'), "no member '" + (name) + "' in struct") } } else { self.$raise($scope.get('TypeError'), "no implicit conversion of " + (name.$class()) + " into Integer") }; return self.$instance_variable_set("@" + (name), value); }; def.$each = TMP_6 = function() { var $a, $b, TMP_7, self = this, $iter = TMP_6.$$p, $yield = $iter || nil; TMP_6.$$p = null; if (($yield !== nil)) { } else { return self.$enum_for("each") }; ($a = ($b = self.$members()).$each, $a.$$p = (TMP_7 = function(name){var self = TMP_7.$$s || this, $a; if (name == null) name = nil; return $a = Opal.yield1($yield, self['$[]'](name)), $a === $breaker ? $a : $a}, TMP_7.$$s = self, TMP_7), $a).call($b); return self; }; def.$each_pair = TMP_8 = function() { var $a, $b, TMP_9, self = this, $iter = TMP_8.$$p, $yield = $iter || nil; TMP_8.$$p = null; if (($yield !== nil)) { } else { return self.$enum_for("each_pair") }; ($a = ($b = self.$members()).$each, $a.$$p = (TMP_9 = function(name){var self = TMP_9.$$s || this, $a; if (name == null) name = nil; return $a = Opal.yieldX($yield, [name, self['$[]'](name)]), $a === $breaker ? $a : $a}, TMP_9.$$s = self, TMP_9), $a).call($b); return self; }; def['$eql?'] = function(other) { var $a, $b, $c, TMP_10, self = this; return ((($a = self.$hash()['$=='](other.$hash())) !== false && $a !== nil) ? $a : ($b = ($c = other.$each_with_index())['$all?'], $b.$$p = (TMP_10 = function(object, index){var self = TMP_10.$$s || this; if (object == null) object = nil;if (index == null) index = nil; return self['$[]'](self.$members()['$[]'](index))['$=='](object)}, TMP_10.$$s = self, TMP_10), $b).call($c)); }; def.$length = function() { var self = this; return self.$members().$length(); }; Opal.defn(self, '$size', def.$length); def.$to_a = function() { var $a, $b, TMP_11, self = this; return ($a = ($b = self.$members()).$map, $a.$$p = (TMP_11 = function(name){var self = TMP_11.$$s || this; if (name == null) name = nil; return self['$[]'](name)}, TMP_11.$$s = self, TMP_11), $a).call($b); }; Opal.defn(self, '$values', def.$to_a); def.$inspect = function() { var $a, $b, TMP_12, self = this, result = nil; result = "#"); return result; }; Opal.defn(self, '$to_s', def.$inspect); def.$to_h = function() { var $a, $b, TMP_13, self = this; return ($a = ($b = self.$members()).$inject, $a.$$p = (TMP_13 = function(h, name){var self = TMP_13.$$s || this; if (h == null) h = nil;if (name == null) name = nil; h['$[]='](name, self['$[]'](name)); return h;}, TMP_13.$$s = self, TMP_13), $a).call($b, $hash2([], {})); }; return (def.$values_at = function(args) { var $a, $b, TMP_14, self = this; args = $slice.call(arguments, 0); args = ($a = ($b = args).$map, $a.$$p = (TMP_14 = function(arg){var self = TMP_14.$$s || this; if (arg == null) arg = nil; return arg.$$is_range ? arg.$to_a() : arg;}, TMP_14.$$s = self, TMP_14), $a).call($b).$flatten(); var result = []; for (var i = 0, len = args.length; i < len; i++) { if (!args[i].$$is_number) { self.$raise($scope.get('TypeError'), "no implicit conversion of " + ((args[i]).$class()) + " into Integer") } result.push(self['$[]'](args[i])); } return result; ; }, nil) && 'values_at'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/io"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $module = Opal.module, $gvars = Opal.gvars; if ($gvars.stdout == null) $gvars.stdout = nil; if ($gvars.stderr == null) $gvars.stderr = nil; Opal.add_stubs(['$attr_accessor', '$size', '$write', '$join', '$map', '$String', '$empty?', '$concat', '$chomp', '$getbyte', '$getc', '$raise', '$new', '$write_proc=', '$extend']); (function($base, $super) { function $IO(){}; var self = $IO = $klass($base, $super, 'IO', $IO); var def = self.$$proto, $scope = self.$$scope; def.tty = def.closed = nil; Opal.cdecl($scope, 'SEEK_SET', 0); Opal.cdecl($scope, 'SEEK_CUR', 1); Opal.cdecl($scope, 'SEEK_END', 2); def['$tty?'] = function() { var self = this; return self.tty; }; def['$closed?'] = function() { var self = this; return self.closed; }; self.$attr_accessor("write_proc"); def.$write = function(string) { var self = this; self.write_proc(string); return string.$size(); }; self.$attr_accessor("sync"); (function($base) { var self = $module($base, 'Writable'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$<<', function(string) { var self = this; self.$write(string); return self; }); Opal.defn(self, '$print', function(args) { var $a, $b, TMP_1, self = this; if ($gvars[","] == null) $gvars[","] = nil; args = $slice.call(arguments, 0); self.$write(($a = ($b = args).$map, $a.$$p = (TMP_1 = function(arg){var self = TMP_1.$$s || this; if (arg == null) arg = nil; return self.$String(arg)}, TMP_1.$$s = self, TMP_1), $a).call($b).$join($gvars[","])); return nil; }); Opal.defn(self, '$puts', function(args) { var $a, $b, TMP_2, self = this, newline = nil; if ($gvars["/"] == null) $gvars["/"] = nil; args = $slice.call(arguments, 0); newline = $gvars["/"]; if ((($a = args['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$write($gvars["/"]) } else { self.$write(($a = ($b = args).$map, $a.$$p = (TMP_2 = function(arg){var self = TMP_2.$$s || this; if (arg == null) arg = nil; return self.$String(arg).$chomp()}, TMP_2.$$s = self, TMP_2), $a).call($b).$concat([nil]).$join(newline)) }; return nil; }); })(self); return (function($base) { var self = $module($base, 'Readable'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$readbyte', function() { var self = this; return self.$getbyte(); }); Opal.defn(self, '$readchar', function() { var self = this; return self.$getc(); }); Opal.defn(self, '$readline', function(sep) { var self = this; if ($gvars["/"] == null) $gvars["/"] = nil; if (sep == null) { sep = $gvars["/"] } return self.$raise($scope.get('NotImplementedError')); }); Opal.defn(self, '$readpartial', function(integer, outbuf) { var self = this; if (outbuf == null) { outbuf = nil } return self.$raise($scope.get('NotImplementedError')); }); })(self); })(self, null); Opal.cdecl($scope, 'STDERR', $gvars.stderr = $scope.get('IO').$new()); Opal.cdecl($scope, 'STDIN', $gvars.stdin = $scope.get('IO').$new()); Opal.cdecl($scope, 'STDOUT', $gvars.stdout = $scope.get('IO').$new()); (($a = [typeof(process) === 'object' ? function(s){process.stdout.write(s)} : function(s){console.log(s)}]), $b = $gvars.stdout, $b['$write_proc='].apply($b, $a), $a[$a.length-1]); (($a = [typeof(process) === 'object' ? function(s){process.stderr.write(s)} : function(s){console.warn(s)}]), $b = $gvars.stderr, $b['$write_proc='].apply($b, $a), $a[$a.length-1]); $gvars.stdout.$extend((($scope.get('IO')).$$scope.get('Writable'))); return $gvars.stderr.$extend((($scope.get('IO')).$$scope.get('Writable'))); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/main"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$include']); Opal.defs(self, '$to_s', function() { var self = this; return "main"; }); return (Opal.defs(self, '$include', function(mod) { var self = this; return $scope.get('Object').$include(mod); }), nil) && 'include'; }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/variables"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $gvars = Opal.gvars, $hash2 = Opal.hash2; Opal.add_stubs(['$new']); $gvars["&"] = $gvars["~"] = $gvars["`"] = $gvars["'"] = nil; $gvars.LOADED_FEATURES = $gvars["\""] = Opal.loaded_features; $gvars.LOAD_PATH = $gvars[":"] = []; $gvars["/"] = "\n"; $gvars[","] = nil; Opal.cdecl($scope, 'ARGV', []); Opal.cdecl($scope, 'ARGF', $scope.get('Object').$new()); Opal.cdecl($scope, 'ENV', $hash2([], {})); $gvars.VERBOSE = false; $gvars.DEBUG = false; $gvars.SAFE = 0; Opal.cdecl($scope, 'RUBY_PLATFORM', "opal"); Opal.cdecl($scope, 'RUBY_ENGINE', "opal"); Opal.cdecl($scope, 'RUBY_VERSION', "2.1.5"); Opal.cdecl($scope, 'RUBY_ENGINE_VERSION', "0.8.1"); return Opal.cdecl($scope, 'RUBY_RELEASE_DATE', "2015-10-12"); }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/dir"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$[]']); return (function($base, $super) { function $Dir(){}; var self = $Dir = $klass($base, $super, 'Dir', $Dir); var def = self.$$proto, $scope = self.$$scope; return (function(self) { var $scope = self.$$scope, def = self.$$proto, TMP_1; self.$$proto.$chdir = TMP_1 = function(dir) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil, prev_cwd = nil; TMP_1.$$p = null; try { prev_cwd = Opal.current_dir; Opal.current_dir = dir; return $a = Opal.yieldX($yield, []), $a === $breaker ? $a : $a; } finally { Opal.current_dir = prev_cwd; }; }; self.$$proto.$pwd = function() { var self = this; return Opal.current_dir || '.'; }; self.$$proto.$getwd = self.$$proto.$pwd; return (self.$$proto.$home = function() { var $a, self = this; return ((($a = $scope.get('ENV')['$[]']("HOME")) !== false && $a !== nil) ? $a : "."); }, nil) && 'home'; })(self.$singleton_class()) })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["corelib/file"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$join', '$compact', '$split', '$==', '$first', '$[]=', '$home', '$each', '$pop', '$<<', '$[]', '$gsub', '$find', '$=~']); return (function($base, $super) { function $File(){}; var self = $File = $klass($base, $super, 'File', $File); var def = self.$$proto, $scope = self.$$scope; Opal.cdecl($scope, 'Separator', Opal.cdecl($scope, 'SEPARATOR', "/")); Opal.cdecl($scope, 'ALT_SEPARATOR', nil); Opal.cdecl($scope, 'PATH_SEPARATOR', ":"); return (function(self) { var $scope = self.$$scope, def = self.$$proto; self.$$proto.$expand_path = function(path, basedir) { var $a, $b, TMP_1, self = this, parts = nil, new_parts = nil; if (basedir == null) { basedir = nil } path = [basedir, path].$compact().$join($scope.get('SEPARATOR')); parts = path.$split($scope.get('SEPARATOR')); new_parts = []; if (parts.$first()['$==']("~")) { parts['$[]='](0, $scope.get('Dir').$home())}; ($a = ($b = parts).$each, $a.$$p = (TMP_1 = function(part){var self = TMP_1.$$s || this; if (part == null) part = nil; if (part['$==']("..")) { return new_parts.$pop() } else { return new_parts['$<<'](part) }}, TMP_1.$$s = self, TMP_1), $a).call($b); return new_parts.$join($scope.get('SEPARATOR')); }; self.$$proto.$dirname = function(path) { var self = this; return self.$split(path)['$[]']($range(0, -2, false)); }; self.$$proto.$basename = function(path) { var self = this; return self.$split(path)['$[]'](-1); }; self.$$proto['$exist?'] = function(path) { var self = this; return Opal.modules[path] != null; }; self.$$proto['$exists?'] = self.$$proto['$exist?']; self.$$proto['$directory?'] = function(path) { var $a, $b, TMP_2, self = this, files = nil, file = nil; files = []; for (var key in Opal.modules) { files.push(key) } ; path = path.$gsub((new RegExp("(^." + $scope.get('SEPARATOR') + "+|" + $scope.get('SEPARATOR') + "+$)"))); file = ($a = ($b = files).$find, $a.$$p = (TMP_2 = function(file){var self = TMP_2.$$s || this; if (file == null) file = nil; return file['$=~']((new RegExp("^" + path)))}, TMP_2.$$s = self, TMP_2), $a).call($b); return file; }; self.$$proto.$join = function(paths) { var self = this; paths = $slice.call(arguments, 0); return paths.$join($scope.get('SEPARATOR')).$gsub((new RegExp("" + $scope.get('SEPARATOR') + "+")), $scope.get('SEPARATOR')); }; return (self.$$proto.$split = function(path) { var self = this; return path.$split($scope.get('SEPARATOR')); }, nil) && 'split'; })(self.$singleton_class()); })(self, $scope.get('IO')) }; /* Generated by Opal 0.8.1 */ (function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require']); self.$require("corelib/runtime"); self.$require("corelib/helpers"); self.$require("corelib/module"); self.$require("corelib/class"); self.$require("corelib/basic_object"); self.$require("corelib/kernel"); self.$require("corelib/nil_class"); self.$require("corelib/boolean"); self.$require("corelib/error"); self.$require("corelib/regexp"); self.$require("corelib/comparable"); self.$require("corelib/enumerable"); self.$require("corelib/enumerator"); self.$require("corelib/array"); self.$require("corelib/array/inheritance"); self.$require("corelib/hash"); self.$require("corelib/string"); self.$require("corelib/string/inheritance"); self.$require("corelib/match_data"); self.$require("corelib/numeric"); self.$require("corelib/complex"); self.$require("corelib/rational"); self.$require("corelib/proc"); self.$require("corelib/method"); self.$require("corelib/range"); self.$require("corelib/time"); self.$require("corelib/struct"); self.$require("corelib/io"); self.$require("corelib/main"); self.$require("corelib/variables"); self.$require("corelib/dir"); return self.$require("corelib/file"); })(Opal); (function(){ if (!window.qx) window.qx = {}; qx.$$start = new Date(); if (!qx.$$environment) qx.$$environment = {}; var envinfo = {"qx.application":"qx_lib.Application","qx.debug":false,"qx.debug.databinding":false,"qx.debug.dispose":false,"qx.debug.io":false,"qx.debug.ui.queue":false,"qx.optimization.basecalls":true,"qx.optimization.comments":true,"qx.optimization.privates":true,"qx.optimization.strings":true,"qx.optimization.variables":true,"qx.optimization.variants":true,"qx.optimization.whitespace":true,"qx.revision":"","qx.theme":"qx_lib.theme.Theme","qx.version":"5.0.1"}; for (var k in envinfo) qx.$$environment[k] = envinfo[k]; if (!qx.$$libraries) qx.$$libraries = {}; var libinfo = {"__out__":{"sourceUri":"script"},"qx":{"resourceUri":"resource","sourceUri":"script","sourceViewUri":"https://github.com/qooxdoo/qooxdoo/blob/%{qxGitBranch}/framework/source/class/%{classFilePath}#L%{lineNumber}"},"qx_lib":{"resourceUri":"resource","sourceUri":"script"}}; for (var k in libinfo) qx.$$libraries[k] = libinfo[k]; qx.$$resources = {}; qx.$$translations = {"C":null,"en":null}; qx.$$locales = {"C":null,"en":null}; qx.$$packageData = {}; qx.$$g = {} qx.$$loader = { parts : {"boot":[0]}, packages : {"0":{"uris":["__out__:qx_lib.3e8d40ef3ca0.js"]}}, urisBefore : [], cssBefore : [], boot : "boot", closureParts : {}, bootIsInline : true, addNoCacheParam : false, decodeUris : function(compressedUris) { var libs = qx.$$libraries; var uris = []; for (var i=0; i0) { for (var i=0, m=l.cssBefore.length; i0){ loadScriptList(l.urisBefore, function(){ l.initUris(); }); } else { l.initUris(); } } // Load qooxdoo boot stuff qx.$$loader.initUris = function(){ var l=qx.$$loader; var bootPackageHash=l.parts[l.boot][0]; if (l.bootIsInline){ l.importPackageData(qx.$$packageData[bootPackageHash]); l.signalStartup(); } else { loadScriptList(l.decodeUris(l.packages[l.parts[l.boot][0]].uris), function(){ // Opera needs this extra time to parse the scripts window.setTimeout(function(){ l.importPackageData(qx.$$packageData[bootPackageHash] || {}); l.signalStartup(); }, 0); }); } } })(); qx.$$packageData['0']={"locales":{"C":{"alternateQuotationEnd":"’","alternateQuotationStart":"‘","cldr_am":"AM","cldr_date_format_full":"EEEE, MMMM d, y","cldr_date_format_long":"MMMM d, y","cldr_date_format_medium":"MMM d, y","cldr_date_format_short":"M/d/yy","cldr_date_time_format_EHm":"E HH:mm","cldr_date_time_format_EHms":"E HH:mm:ss","cldr_date_time_format_Ed":"d E","cldr_date_time_format_Ehm":"E h:mm a","cldr_date_time_format_Ehms":"E h:mm:ss a","cldr_date_time_format_Gy":"y G","cldr_date_time_format_GyMMM":"MMM y G","cldr_date_time_format_GyMMMEd":"E, MMM d, y G","cldr_date_time_format_GyMMMd":"MMM d, y G","cldr_date_time_format_H":"HH","cldr_date_time_format_Hm":"HH:mm","cldr_date_time_format_Hms":"HH:mm:ss","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E, M/d","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E, MMM d","cldr_date_time_format_MMMd":"MMM d","cldr_date_time_format_Md":"M/d","cldr_date_time_format_d":"d","cldr_date_time_format_h":"h a","cldr_date_time_format_hm":"h:mm a","cldr_date_time_format_hms":"h:mm:ss a","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"M/y","cldr_date_time_format_yMEd":"E, M/d/y","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"E, MMM d, y","cldr_date_time_format_yMMMd":"MMM d, y","cldr_date_time_format_yMd":"M/d/y","cldr_date_time_format_yQQQ":"QQQ y","cldr_date_time_format_yQQQQ":"QQQQ y","cldr_day_format_abbreviated_fri":"Fri","cldr_day_format_abbreviated_mon":"Mon","cldr_day_format_abbreviated_sat":"Sat","cldr_day_format_abbreviated_sun":"Sun","cldr_day_format_abbreviated_thu":"Thu","cldr_day_format_abbreviated_tue":"Tue","cldr_day_format_abbreviated_wed":"Wed","cldr_day_format_short_fri":"Fr","cldr_day_format_short_mon":"Mo","cldr_day_format_short_sat":"Sa","cldr_day_format_short_sun":"Su","cldr_day_format_short_thu":"Th","cldr_day_format_short_tue":"Tu","cldr_day_format_short_wed":"We","cldr_day_format_wide_fri":"Friday","cldr_day_format_wide_mon":"Monday","cldr_day_format_wide_sat":"Saturday","cldr_day_format_wide_sun":"Sunday","cldr_day_format_wide_thu":"Thursday","cldr_day_format_wide_tue":"Tuesday","cldr_day_format_wide_wed":"Wednesday","cldr_day_stand-alone_narrow_fri":"F","cldr_day_stand-alone_narrow_mon":"M","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"S","cldr_day_stand-alone_narrow_thu":"T","cldr_day_stand-alone_narrow_tue":"T","cldr_day_stand-alone_narrow_wed":"W","cldr_month_format_abbreviated_1":"Jan","cldr_month_format_abbreviated_10":"Oct","cldr_month_format_abbreviated_11":"Nov","cldr_month_format_abbreviated_12":"Dec","cldr_month_format_abbreviated_2":"Feb","cldr_month_format_abbreviated_3":"Mar","cldr_month_format_abbreviated_4":"Apr","cldr_month_format_abbreviated_5":"May","cldr_month_format_abbreviated_6":"Jun","cldr_month_format_abbreviated_7":"Jul","cldr_month_format_abbreviated_8":"Aug","cldr_month_format_abbreviated_9":"Sep","cldr_month_format_wide_1":"January","cldr_month_format_wide_10":"October","cldr_month_format_wide_11":"November","cldr_month_format_wide_12":"December","cldr_month_format_wide_2":"February","cldr_month_format_wide_3":"March","cldr_month_format_wide_4":"April","cldr_month_format_wide_5":"May","cldr_month_format_wide_6":"June","cldr_month_format_wide_7":"July","cldr_month_format_wide_8":"August","cldr_month_format_wide_9":"September","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":".","cldr_number_group_separator":",","cldr_number_percent_format":"#,##0%","cldr_pm":"PM","cldr_time_format_full":"h:mm:ss a zzzz","cldr_time_format_long":"h:mm:ss a z","cldr_time_format_medium":"h:mm:ss a","cldr_time_format_short":"h:mm a","quotationEnd":"”","quotationStart":"“"},"en":{"alternateQuotationEnd":"’","alternateQuotationStart":"‘","cldr_am":"AM","cldr_date_format_full":"EEEE, MMMM d, y","cldr_date_format_long":"MMMM d, y","cldr_date_format_medium":"MMM d, y","cldr_date_format_short":"M/d/yy","cldr_date_time_format_EHm":"E HH:mm","cldr_date_time_format_EHms":"E HH:mm:ss","cldr_date_time_format_Ed":"d E","cldr_date_time_format_Ehm":"E h:mm a","cldr_date_time_format_Ehms":"E h:mm:ss a","cldr_date_time_format_Gy":"y G","cldr_date_time_format_GyMMM":"MMM y G","cldr_date_time_format_GyMMMEd":"E, MMM d, y G","cldr_date_time_format_GyMMMd":"MMM d, y G","cldr_date_time_format_H":"HH","cldr_date_time_format_Hm":"HH:mm","cldr_date_time_format_Hms":"HH:mm:ss","cldr_date_time_format_M":"L","cldr_date_time_format_MEd":"E, M/d","cldr_date_time_format_MMM":"LLL","cldr_date_time_format_MMMEd":"E, MMM d","cldr_date_time_format_MMMd":"MMM d","cldr_date_time_format_Md":"M/d","cldr_date_time_format_d":"d","cldr_date_time_format_h":"h a","cldr_date_time_format_hm":"h:mm a","cldr_date_time_format_hms":"h:mm:ss a","cldr_date_time_format_ms":"mm:ss","cldr_date_time_format_y":"y","cldr_date_time_format_yM":"M/y","cldr_date_time_format_yMEd":"E, M/d/y","cldr_date_time_format_yMMM":"MMM y","cldr_date_time_format_yMMMEd":"E, MMM d, y","cldr_date_time_format_yMMMd":"MMM d, y","cldr_date_time_format_yMd":"M/d/y","cldr_date_time_format_yQQQ":"QQQ y","cldr_date_time_format_yQQQQ":"QQQQ y","cldr_day_format_abbreviated_fri":"Fri","cldr_day_format_abbreviated_mon":"Mon","cldr_day_format_abbreviated_sat":"Sat","cldr_day_format_abbreviated_sun":"Sun","cldr_day_format_abbreviated_thu":"Thu","cldr_day_format_abbreviated_tue":"Tue","cldr_day_format_abbreviated_wed":"Wed","cldr_day_format_short_fri":"Fr","cldr_day_format_short_mon":"Mo","cldr_day_format_short_sat":"Sa","cldr_day_format_short_sun":"Su","cldr_day_format_short_thu":"Th","cldr_day_format_short_tue":"Tu","cldr_day_format_short_wed":"We","cldr_day_format_wide_fri":"Friday","cldr_day_format_wide_mon":"Monday","cldr_day_format_wide_sat":"Saturday","cldr_day_format_wide_sun":"Sunday","cldr_day_format_wide_thu":"Thursday","cldr_day_format_wide_tue":"Tuesday","cldr_day_format_wide_wed":"Wednesday","cldr_day_stand-alone_narrow_fri":"F","cldr_day_stand-alone_narrow_mon":"M","cldr_day_stand-alone_narrow_sat":"S","cldr_day_stand-alone_narrow_sun":"S","cldr_day_stand-alone_narrow_thu":"T","cldr_day_stand-alone_narrow_tue":"T","cldr_day_stand-alone_narrow_wed":"W","cldr_month_format_abbreviated_1":"Jan","cldr_month_format_abbreviated_10":"Oct","cldr_month_format_abbreviated_11":"Nov","cldr_month_format_abbreviated_12":"Dec","cldr_month_format_abbreviated_2":"Feb","cldr_month_format_abbreviated_3":"Mar","cldr_month_format_abbreviated_4":"Apr","cldr_month_format_abbreviated_5":"May","cldr_month_format_abbreviated_6":"Jun","cldr_month_format_abbreviated_7":"Jul","cldr_month_format_abbreviated_8":"Aug","cldr_month_format_abbreviated_9":"Sep","cldr_month_format_wide_1":"January","cldr_month_format_wide_10":"October","cldr_month_format_wide_11":"November","cldr_month_format_wide_12":"December","cldr_month_format_wide_2":"February","cldr_month_format_wide_3":"March","cldr_month_format_wide_4":"April","cldr_month_format_wide_5":"May","cldr_month_format_wide_6":"June","cldr_month_format_wide_7":"July","cldr_month_format_wide_8":"August","cldr_month_format_wide_9":"September","cldr_month_stand-alone_narrow_1":"J","cldr_month_stand-alone_narrow_10":"O","cldr_month_stand-alone_narrow_11":"N","cldr_month_stand-alone_narrow_12":"D","cldr_month_stand-alone_narrow_2":"F","cldr_month_stand-alone_narrow_3":"M","cldr_month_stand-alone_narrow_4":"A","cldr_month_stand-alone_narrow_5":"M","cldr_month_stand-alone_narrow_6":"J","cldr_month_stand-alone_narrow_7":"J","cldr_month_stand-alone_narrow_8":"A","cldr_month_stand-alone_narrow_9":"S","cldr_number_decimal_separator":".","cldr_number_group_separator":",","cldr_number_percent_format":"#,##0%","cldr_pm":"PM","cldr_time_format_full":"h:mm:ss a zzzz","cldr_time_format_long":"h:mm:ss a z","cldr_time_format_medium":"h:mm:ss a","cldr_time_format_short":"h:mm a","quotationEnd":"”","quotationStart":"“"}},"resources":{"qx/decoration/Classic/arrows-combined.gif":[124,7,"gif","qx"],"qx/decoration/Classic/arrows/down-invert.gif":[7,4,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-38,0],"qx/decoration/Classic/arrows/down-small-invert.gif":[5,3,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-87,0],"qx/decoration/Classic/arrows/down-small.gif":[5,3,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-53,0],"qx/decoration/Classic/arrows/down.gif":[7,4,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-113,0],"qx/decoration/Classic/arrows/forward-invert.gif":[8,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-30,0],"qx/decoration/Classic/arrows/forward.gif":[8,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-18,0],"qx/decoration/Classic/arrows/left-invert.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-92,0],"qx/decoration/Classic/arrows/left-small-invert.gif":[3,5,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-58,0],"qx/decoration/Classic/arrows/left-small.gif":[3,5,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-15,0],"qx/decoration/Classic/arrows/left.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-120,0],"qx/decoration/Classic/arrows/next-invert.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-80,0],"qx/decoration/Classic/arrows/next.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-109,0],"qx/decoration/Classic/arrows/previous-invert.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-69,0],"qx/decoration/Classic/arrows/previous.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-65,0],"qx/decoration/Classic/arrows/rewind-invert.gif":[8,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-45,0],"qx/decoration/Classic/arrows/rewind.gif":[8,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-101,0],"qx/decoration/Classic/arrows/right-invert.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-61,0],"qx/decoration/Classic/arrows/right-small-invert.gif":[3,5,"gif","qx","qx/decoration/Classic/arrows-combined.gif",0,0],"qx/decoration/Classic/arrows/right-small.gif":[3,5,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-84,0],"qx/decoration/Classic/arrows/right.gif":[4,7,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-26,0],"qx/decoration/Classic/arrows/up-invert.gif":[7,4,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-73,0],"qx/decoration/Classic/arrows/up-small-invert.gif":[5,3,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-96,0],"qx/decoration/Classic/arrows/up-small.gif":[5,3,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-3,0],"qx/decoration/Classic/arrows/up.gif":[7,4,"gif","qx","qx/decoration/Classic/arrows-combined.gif",-8,0],"qx/decoration/Classic/checkbox-radiobutton-combined.png":[504,14,"png","qx"],"qx/decoration/Classic/colorselector-combined.gif":[46,11,"gif","qx"],"qx/decoration/Classic/colorselector/brightness-field.png":[19,256,"png","qx"],"qx/decoration/Classic/colorselector/brightness-handle.gif":[35,11,"gif","qx","qx/decoration/Classic/colorselector-combined.gif",-11,0],"qx/decoration/Classic/colorselector/huesaturation-field.jpg":[256,256,"jpeg","qx"],"qx/decoration/Classic/colorselector/huesaturation-handle.gif":[11,11,"gif","qx","qx/decoration/Classic/colorselector-combined.gif",0,0],"qx/decoration/Classic/cursors-combined.gif":[71,20,"gif","qx"],"qx/decoration/Classic/cursors/alias.gif":[19,15,"gif","qx","qx/decoration/Classic/cursors-combined.gif",-52,0],"qx/decoration/Classic/cursors/copy.gif":[19,15,"gif","qx","qx/decoration/Classic/cursors-combined.gif",-20,0],"qx/decoration/Classic/cursors/move.gif":[13,9,"gif","qx","qx/decoration/Classic/cursors-combined.gif",-39,0],"qx/decoration/Classic/cursors/nodrop.gif":[20,20,"gif","qx","qx/decoration/Classic/cursors-combined.gif",0,0],"qx/decoration/Classic/datechooser/last-month-invert.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/last-month.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/last-year-invert.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/last-year.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/next-month-invert.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/next-month.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/next-year-invert.png":[16,16,"png","qx"],"qx/decoration/Classic/datechooser/next-year.png":[16,16,"png","qx"],"qx/decoration/Classic/form/checkbox-checked-disabled.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-336,0],"qx/decoration/Classic/form/checkbox-checked-focused-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-28,0],"qx/decoration/Classic/form/checkbox-checked-focused.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-462,0],"qx/decoration/Classic/form/checkbox-checked-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-112,0],"qx/decoration/Classic/form/checkbox-checked-hovered.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-140,0],"qx/decoration/Classic/form/checkbox-checked-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-98,0],"qx/decoration/Classic/form/checkbox-checked-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-308,0],"qx/decoration/Classic/form/checkbox-checked-pressed.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",0,0],"qx/decoration/Classic/form/checkbox-checked.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-266,0],"qx/decoration/Classic/form/checkbox-disabled.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-84,0],"qx/decoration/Classic/form/checkbox-focused-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-476,0],"qx/decoration/Classic/form/checkbox-focused.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-392,0],"qx/decoration/Classic/form/checkbox-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-196,0],"qx/decoration/Classic/form/checkbox-hovered.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-154,0],"qx/decoration/Classic/form/checkbox-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-350,0],"qx/decoration/Classic/form/checkbox-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-448,0],"qx/decoration/Classic/form/checkbox-pressed.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-70,0],"qx/decoration/Classic/form/checkbox-undetermined-disabled.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined-focused-invalid.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined-focused.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined-hovered-invalid.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined-hovered.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined-invalid.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox-undetermined.png":[14,14,"png","qx"],"qx/decoration/Classic/form/checkbox.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-490,0],"qx/decoration/Classic/form/radiobutton-checked-disabled.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-210,0],"qx/decoration/Classic/form/radiobutton-checked-focused-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-406,0],"qx/decoration/Classic/form/radiobutton-checked-focused.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-378,0],"qx/decoration/Classic/form/radiobutton-checked-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-252,0],"qx/decoration/Classic/form/radiobutton-checked-hovered.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-182,0],"qx/decoration/Classic/form/radiobutton-checked-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-294,0],"qx/decoration/Classic/form/radiobutton-checked-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-420,0],"qx/decoration/Classic/form/radiobutton-checked-pressed.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-56,0],"qx/decoration/Classic/form/radiobutton-checked.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-322,0],"qx/decoration/Classic/form/radiobutton-disabled.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-364,0],"qx/decoration/Classic/form/radiobutton-focused-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-434,0],"qx/decoration/Classic/form/radiobutton-focused.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-168,0],"qx/decoration/Classic/form/radiobutton-hovered-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-126,0],"qx/decoration/Classic/form/radiobutton-hovered.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-42,0],"qx/decoration/Classic/form/radiobutton-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-280,0],"qx/decoration/Classic/form/radiobutton-pressed-invalid.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-238,0],"qx/decoration/Classic/form/radiobutton-pressed.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-14,0],"qx/decoration/Classic/form/radiobutton.png":[14,14,"png","qx","qx/decoration/Classic/checkbox-radiobutton-combined.png",-224,0],"qx/decoration/Classic/menu-combined.gif":[64,7,"gif","qx"],"qx/decoration/Classic/menu/checkbox-invert.gif":[16,7,"gif","qx","qx/decoration/Classic/menu-combined.gif",-16,0],"qx/decoration/Classic/menu/checkbox.gif":[16,7,"gif","qx","qx/decoration/Classic/menu-combined.gif",-32,0],"qx/decoration/Classic/menu/radiobutton-invert.gif":[16,5,"gif","qx","qx/decoration/Classic/menu-combined.gif",0,0],"qx/decoration/Classic/menu/radiobutton.gif":[16,5,"gif","qx","qx/decoration/Classic/menu-combined.gif",-48,0],"qx/decoration/Classic/shadow-lr-combined.png":[30,382,"png","qx"],"qx/decoration/Classic/shadow-small-lr-combined.png":[10,136,"png","qx"],"qx/decoration/Classic/shadow-small-tb-combined.png":[5,30,"png","qx"],"qx/decoration/Classic/shadow-tb-combined.png":[15,90,"png","qx"],"qx/decoration/Classic/shadow/shadow-b.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,-30],"qx/decoration/Classic/shadow/shadow-bl.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,0],"qx/decoration/Classic/shadow/shadow-br.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,-60],"qx/decoration/Classic/shadow/shadow-c.png":[40,382,"png","qx"],"qx/decoration/Classic/shadow/shadow-l.png":[15,382,"png","qx","qx/decoration/Classic/shadow-lr-combined.png",-15,0],"qx/decoration/Classic/shadow/shadow-r.png":[15,382,"png","qx","qx/decoration/Classic/shadow-lr-combined.png",0,0],"qx/decoration/Classic/shadow/shadow-small-b.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,-25],"qx/decoration/Classic/shadow/shadow-small-bl.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,-20],"qx/decoration/Classic/shadow/shadow-small-br.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,0],"qx/decoration/Classic/shadow/shadow-small-c.png":[40,136,"png","qx"],"qx/decoration/Classic/shadow/shadow-small-l.png":[5,136,"png","qx","qx/decoration/Classic/shadow-small-lr-combined.png",0,0],"qx/decoration/Classic/shadow/shadow-small-r.png":[5,136,"png","qx","qx/decoration/Classic/shadow-small-lr-combined.png",-5,0],"qx/decoration/Classic/shadow/shadow-small-t.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,-5],"qx/decoration/Classic/shadow/shadow-small-tl.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,-15],"qx/decoration/Classic/shadow/shadow-small-tr.png":[5,5,"png","qx","qx/decoration/Classic/shadow-small-tb-combined.png",0,-10],"qx/decoration/Classic/shadow/shadow-small.png":[114,146,"png","qx"],"qx/decoration/Classic/shadow/shadow-t.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,-75],"qx/decoration/Classic/shadow/shadow-tl.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,-45],"qx/decoration/Classic/shadow/shadow-tr.png":[15,15,"png","qx","qx/decoration/Classic/shadow-tb-combined.png",0,-15],"qx/decoration/Classic/shadow/shadow.png":[381,412,"png","qx"],"qx/decoration/Classic/splitpane/knob-horizontal.png":[4,15,"png","qx"],"qx/decoration/Classic/splitpane/knob-vertical.png":[15,4,"png","qx"],"qx/decoration/Classic/table-combined.png":[72,11,"png","qx"],"qx/decoration/Classic/table/ascending-invert.png":[10,10,"png","qx","qx/decoration/Classic/table-combined.png",-62,0],"qx/decoration/Classic/table/ascending.png":[10,10,"png","qx","qx/decoration/Classic/table-combined.png",-52,0],"qx/decoration/Classic/table/boolean-false.png":[11,11,"png","qx","qx/decoration/Classic/table-combined.png",-31,0],"qx/decoration/Classic/table/boolean-true.png":[11,11,"png","qx","qx/decoration/Classic/table-combined.png",-10,0],"qx/decoration/Classic/table/descending-invert.png":[10,10,"png","qx","qx/decoration/Classic/table-combined.png",-42,0],"qx/decoration/Classic/table/descending.png":[10,10,"png","qx","qx/decoration/Classic/table-combined.png",0,0],"qx/decoration/Classic/table/select-column-order.png":[10,9,"png","qx","qx/decoration/Classic/table-combined.png",-21,0],"qx/decoration/Classic/tree/minus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/tree/plus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/cross.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/cross_minus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/cross_plus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/end.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/end_minus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/end_plus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/line.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/only_minus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/only_plus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/start.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/start_minus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/treevirtual/start_plus.gif":[19,16,"gif","qx"],"qx/decoration/Classic/window-captionbar-buttons-combined.gif":[36,9,"gif","qx"],"qx/decoration/Classic/window/close.gif":[10,9,"gif","qx","qx/decoration/Classic/window-captionbar-buttons-combined.gif",0,0],"qx/decoration/Classic/window/maximize.gif":[9,9,"gif","qx","qx/decoration/Classic/window-captionbar-buttons-combined.gif",-10,0],"qx/decoration/Classic/window/minimize.gif":[9,9,"gif","qx","qx/decoration/Classic/window-captionbar-buttons-combined.gif",-19,0],"qx/decoration/Classic/window/restore.gif":[8,9,"gif","qx","qx/decoration/Classic/window-captionbar-buttons-combined.gif",-28,0],"qx/decoration/Indigo/font/JosefinSlab-SemiBold.ttf":"qx","qx/decoration/Indigo/font/JosefinSlab-SemiBold.woff":"qx","qx/decoration/Modern/arrows-combined.png":[87,8,"png","qx"],"qx/decoration/Modern/arrows/down-invert.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-74,0],"qx/decoration/Modern/arrows/down-small.png":[5,3,"png","qx","qx/decoration/Modern/arrows-combined.png",-49,0],"qx/decoration/Modern/arrows/down.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-20,0],"qx/decoration/Modern/arrows/forward.png":[10,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-59,0],"qx/decoration/Modern/arrows/left.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-44,0],"qx/decoration/Modern/arrows/rewind.png":[10,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-10,0],"qx/decoration/Modern/arrows/right-invert.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-5,0],"qx/decoration/Modern/arrows/right.png":[5,8,"png","qx","qx/decoration/Modern/arrows-combined.png",-54,0],"qx/decoration/Modern/arrows/up-invert.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-28,0],"qx/decoration/Modern/arrows/up-small.png":[5,3,"png","qx","qx/decoration/Modern/arrows-combined.png",-82,0],"qx/decoration/Modern/arrows/up.png":[8,5,"png","qx","qx/decoration/Modern/arrows-combined.png",-36,0],"qx/decoration/Modern/colorselector-combined.gif":[46,11,"gif","qx"],"qx/decoration/Modern/colorselector/brightness-field.png":[19,256,"png","qx"],"qx/decoration/Modern/colorselector/brightness-handle.gif":[35,11,"gif","qx","qx/decoration/Modern/colorselector-combined.gif",0,0],"qx/decoration/Modern/colorselector/huesaturation-field.jpg":[256,256,"jpeg","qx"],"qx/decoration/Modern/colorselector/huesaturation-handle.gif":[11,11,"gif","qx","qx/decoration/Modern/colorselector-combined.gif",-35,0],"qx/decoration/Modern/cursors-combined.gif":[71,20,"gif","qx"],"qx/decoration/Modern/cursors/alias.gif":[19,15,"gif","qx","qx/decoration/Modern/cursors-combined.gif",-52,0],"qx/decoration/Modern/cursors/copy.gif":[19,15,"gif","qx","qx/decoration/Modern/cursors-combined.gif",-33,0],"qx/decoration/Modern/cursors/move.gif":[13,9,"gif","qx","qx/decoration/Modern/cursors-combined.gif",-20,0],"qx/decoration/Modern/cursors/nodrop.gif":[20,20,"gif","qx","qx/decoration/Modern/cursors-combined.gif",0,0],"qx/decoration/Modern/form/checked.png":[6,6,"png","qx"],"qx/decoration/Modern/form/tooltip-error-arrow-right.png":[11,14,"png","qx"],"qx/decoration/Modern/form/tooltip-error-arrow.png":[11,14,"png","qx"],"qx/decoration/Modern/form/undetermined.png":[6,2,"png","qx"],"qx/decoration/Modern/menu-checkradio-combined.gif":[64,7,"gif","qx"],"qx/decoration/Modern/menu/checkbox-invert.gif":[16,7,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-16,0],"qx/decoration/Modern/menu/checkbox.gif":[16,7,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-48,0],"qx/decoration/Modern/menu/radiobutton-invert.gif":[16,5,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",-32,0],"qx/decoration/Modern/menu/radiobutton.gif":[16,5,"gif","qx","qx/decoration/Modern/menu-checkradio-combined.gif",0,0],"qx/decoration/Modern/scrollbar-combined.png":[54,12,"png","qx"],"qx/decoration/Modern/scrollbar/scrollbar-down.png":[6,4,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-28,0],"qx/decoration/Modern/scrollbar/scrollbar-left.png":[4,6,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-50,0],"qx/decoration/Modern/scrollbar/scrollbar-right.png":[4,6,"png","qx","qx/decoration/Modern/scrollbar-combined.png",-46,0],"qx/decoration/Modern/scrollbar/scrollbar-up.png":[6,4,"png","qx","qx/decoration/Modern/scrollbar-combined.png",0,0],"qx/decoration/Modern/splitpane-knobs-combined.png":[8,9,"png","qx"],"qx/decoration/Modern/splitpane/knob-horizontal.png":[1,8,"png","qx","qx/decoration/Modern/splitpane-knobs-combined.png",0,-1],"qx/decoration/Modern/splitpane/knob-vertical.png":[8,1,"png","qx","qx/decoration/Modern/splitpane-knobs-combined.png",0,0],"qx/decoration/Modern/table-combined.png":[94,18,"png","qx"],"qx/decoration/Modern/table/ascending.png":[8,5,"png","qx","qx/decoration/Modern/table-combined.png",0,0],"qx/decoration/Modern/table/boolean-false.png":[14,14,"png","qx","qx/decoration/Modern/table-combined.png",-80,0],"qx/decoration/Modern/table/boolean-true.png":[14,14,"png","qx","qx/decoration/Modern/table-combined.png",-26,0],"qx/decoration/Modern/table/descending.png":[8,5,"png","qx","qx/decoration/Modern/table-combined.png",-18,0],"qx/decoration/Modern/table/select-column-order.png":[10,9,"png","qx","qx/decoration/Modern/table-combined.png",-8,0],"qx/decoration/Modern/toolbar/toolbar-handle-knob.gif":[1,8,"gif","qx"],"qx/decoration/Modern/toolbar/toolbar-part.gif":[7,1,"gif","qx"],"qx/decoration/Modern/tree-combined.png":[32,8,"png","qx"],"qx/decoration/Modern/tree/closed-selected.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",-24,0],"qx/decoration/Modern/tree/closed.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",-16,0],"qx/decoration/Modern/tree/open-selected.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",-8,0],"qx/decoration/Modern/tree/open.png":[8,8,"png","qx","qx/decoration/Modern/tree-combined.png",0,0],"qx/decoration/Modern/window-captionbar-buttons-combined.png":[108,9,"png","qx"],"qx/decoration/Modern/window/close-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-27,0],"qx/decoration/Modern/window/close-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-9,0],"qx/decoration/Modern/window/close-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-90,0],"qx/decoration/Modern/window/maximize-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-18,0],"qx/decoration/Modern/window/maximize-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-81,0],"qx/decoration/Modern/window/maximize-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-54,0],"qx/decoration/Modern/window/minimize-active-hovered.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-63,0],"qx/decoration/Modern/window/minimize-active.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-72,0],"qx/decoration/Modern/window/minimize-inactive.png":[9,9,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-36,0],"qx/decoration/Modern/window/restore-active-hovered.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",0,0],"qx/decoration/Modern/window/restore-active.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-99,0],"qx/decoration/Modern/window/restore-inactive.png":[9,8,"png","qx","qx/decoration/Modern/window-captionbar-buttons-combined.png",-45,0],"qx/decoration/Simple/arrows/down-invert.gif":[7,4,"gif","qx"],"qx/decoration/Simple/arrows/down-small.gif":[5,3,"gif","qx"],"qx/decoration/Simple/arrows/down.gif":[7,4,"gif","qx"],"qx/decoration/Simple/arrows/forward.gif":[8,7,"gif","qx"],"qx/decoration/Simple/arrows/left-invert.gif":[4,7,"gif","qx"],"qx/decoration/Simple/arrows/left.gif":[4,7,"gif","qx"],"qx/decoration/Simple/arrows/rewind.gif":[8,7,"gif","qx"],"qx/decoration/Simple/arrows/right-invert.gif":[4,7,"gif","qx"],"qx/decoration/Simple/arrows/right.gif":[4,7,"gif","qx"],"qx/decoration/Simple/arrows/up-invert.gif":[7,4,"gif","qx"],"qx/decoration/Simple/arrows/up-small.gif":[5,3,"gif","qx"],"qx/decoration/Simple/arrows/up.gif":[7,4,"gif","qx"],"qx/decoration/Simple/checkbox/checked-disabled.png":[6,6,"png","qx"],"qx/decoration/Simple/checkbox/checked.png":[6,6,"png","qx"],"qx/decoration/Simple/checkbox/undetermined-disabled.png":[6,2,"png","qx"],"qx/decoration/Simple/checkbox/undetermined.png":[6,2,"png","qx"],"qx/decoration/Simple/colorselector/brightness-field.png":[19,256,"png","qx"],"qx/decoration/Simple/colorselector/brightness-handle.gif":[35,11,"gif","qx"],"qx/decoration/Simple/colorselector/huesaturation-field.jpg":[256,256,"jpeg","qx"],"qx/decoration/Simple/colorselector/huesaturation-handle.gif":[11,11,"gif","qx"],"qx/decoration/Simple/cursors/alias.gif":[19,15,"gif","qx"],"qx/decoration/Simple/cursors/copy.gif":[19,15,"gif","qx"],"qx/decoration/Simple/cursors/move.gif":[13,9,"gif","qx"],"qx/decoration/Simple/cursors/nodrop.gif":[20,20,"gif","qx"],"qx/decoration/Simple/menu/checkbox-invert.gif":[16,7,"gif","qx"],"qx/decoration/Simple/menu/checkbox.gif":[16,7,"gif","qx"],"qx/decoration/Simple/menu/radiobutton-invert.gif":[16,5,"gif","qx"],"qx/decoration/Simple/menu/radiobutton.gif":[16,5,"gif","qx"],"qx/decoration/Simple/splitpane/knob-horizontal.png":[1,8,"png","qx"],"qx/decoration/Simple/splitpane/knob-vertical.png":[8,1,"png","qx"],"qx/decoration/Simple/table/ascending-invert.png":[10,10,"png","qx"],"qx/decoration/Simple/table/ascending.png":[10,10,"png","qx"],"qx/decoration/Simple/table/boolean-false.png":[11,11,"png","qx"],"qx/decoration/Simple/table/boolean-true.png":[11,11,"png","qx"],"qx/decoration/Simple/table/descending-invert.png":[10,10,"png","qx"],"qx/decoration/Simple/table/descending.png":[10,10,"png","qx"],"qx/decoration/Simple/table/select-column-order.png":[10,9,"png","qx"],"qx/decoration/Simple/tabview/close.gif":[10,9,"gif","qx"],"qx/decoration/Simple/tree/minus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/tree/plus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/cross.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/cross_minus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/cross_plus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/end.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/end_minus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/end_plus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/line.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/only_minus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/only_plus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/start.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/start_minus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/treevirtual/start_plus.gif":[19,16,"gif","qx"],"qx/decoration/Simple/window/close-white.gif":[10,9,"gif","qx"],"qx/decoration/Simple/window/close.gif":[10,9,"gif","qx"],"qx/decoration/Simple/window/maximize-white.gif":[9,9,"gif","qx"],"qx/decoration/Simple/window/maximize.gif":[9,9,"gif","qx"],"qx/decoration/Simple/window/minimize-white.gif":[9,9,"gif","qx"],"qx/decoration/Simple/window/minimize.gif":[9,9,"gif","qx"],"qx/decoration/Simple/window/restore-white.gif":[8,9,"gif","qx"],"qx/decoration/Simple/window/restore.gif":[8,9,"gif","qx"],"qx/icon/Oxygen/16/actions/dialog-cancel.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/actions/dialog-ok.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/actions/view-refresh.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/actions/window-close.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/apps/office-calendar.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/mimetypes/text-plain.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/places/folder-open.png":[16,16,"png","qx"],"qx/icon/Oxygen/16/places/folder.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-cancel.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/dialog-ok.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/view-refresh.png":[16,16,"png","qx"],"qx/icon/Tango/16/actions/window-close.png":[16,16,"png","qx"],"qx/icon/Tango/16/apps/office-calendar.png":[16,16,"png","qx"],"qx/icon/Tango/16/apps/utilities-color-chooser.png":[16,16,"png","qx"],"qx/icon/Tango/16/mimetypes/office-document.png":[16,16,"png","qx"],"qx/icon/Tango/16/mimetypes/text-plain.png":[16,16,"png","qx"],"qx/icon/Tango/16/places/folder-open.png":[16,16,"png","qx"],"qx/icon/Tango/16/places/folder.png":[16,16,"png","qx"],"qx/icon/Tango/22/mimetypes/office-document.png":[22,22,"png","qx"],"qx/icon/Tango/22/places/folder-open.png":[22,22,"png","qx"],"qx/icon/Tango/22/places/folder.png":[22,22,"png","qx"],"qx/icon/Tango/32/mimetypes/office-document.png":[32,32,"png","qx"],"qx/icon/Tango/32/places/folder-open.png":[32,32,"png","qx"],"qx/icon/Tango/32/places/folder.png":[32,32,"png","qx"],"qx/static/blank.gif":[1,1,"gif","qx"],"qx/static/blank.png":[1,1,"png","qx"]},"translations":{"C":{},"en":{}}}; (function(){var b=".prototype",c="function",d="Boolean",e="Error",f="Object.keys requires an object as argument.",g="constructor",h="warn",j="default",k="Null",m="hasOwnProperty",n="Undefined",o="string",p="Object",q="toLocaleString",r="error",s="toString",t="qx.debug",u="()",v="RegExp",w="String",x="info",y="BROKEN_IE",z="isPrototypeOf",A="Date",B="",C="qx.Bootstrap",D="Function",E="]",F="Cannot call super class. Method is not derived: ",G="Array",H="[Class ",I="valueOf",J="Number",K="Class",L="debug",M="ES5",N=".",O="propertyIsEnumerable",P="object";if(!window.qx){window.qx={};};qx.Bootstrap={genericToString:function(){return H+this.classname+E;},createNamespace:function(name,Q){var T=name.split(N);var S=T[0];var parent=qx.$$namespaceRoot&&qx.$$namespaceRoot[S]?qx.$$namespaceRoot:window;for(var i=0,R=T.length-1;i-1){var C=A.slice(0,E);var z=A.slice(E+1);var B=qx.Bootstrap.getByName(C);if(B!=undefined){return [B,z];};};};return [undefined,undefined];},getAsync:function(H,K,self){var L=this;if(this.__c[H]!=undefined){window.setTimeout(function(){K.call(self,L.__c[H]);},0);return;};var I=this._asyncChecks[H];if(I){I(function(N){L.__c[H]=N;K.call(self,N);});return;};var G=this._getClassNameFromEnvKey(H);if(G[0]!=undefined){var J=G[0];var M=G[1];J[M](function(O){L.__c[H]=O;K.call(self,O);});return;};if(qx.Bootstrap.DEBUG){qx.Bootstrap.warn(H+r+h);qx.Bootstrap.trace(this);};},select:function(Q,P){return this.__d(this.get(Q),P);},selectAsync:function(S,R,self){this.getAsync(S,function(T){var U=this.__d(S,R);U.call(self,T);},this);},__d:function(Y,X){var W=X[Y];if(X.hasOwnProperty(Y)){return W;};for(var ba in X){if(ba.indexOf(g)!=-1){var V=ba.split(g);for(var i=0;i=0;i-- ){if(this[i]===r){return i;};};return -1;},forEach:function(t,u){var l=this.length;for(var i=0;i=0;i-- ){if(i in this){P=N.call(undefined,P,this[i],i,this);};};return P;}},defer:function(Q){if(!qx.core.Environment.get(g)){Array.prototype.indexOf=Q.indexOf;};if(!qx.core.Environment.get(b)){Array.prototype.lastIndexOf=Q.lastIndexOf;};if(!qx.core.Environment.get(k)){Array.prototype.forEach=Q.forEach;};if(!qx.core.Environment.get(d)){Array.prototype.filter=Q.filter;};if(!qx.core.Environment.get(c)){Array.prototype.map=Q.map;};if(!qx.core.Environment.get(n)){Array.prototype.some=Q.some;};if(!qx.core.Environment.get(o)){Array.prototype.every=Q.every;};if(!qx.core.Environment.get(j)){Array.prototype.reduce=Q.reduce;};if(!qx.core.Environment.get(m)){Array.prototype.reduceRight=Q.reduceRight;};}});})();(function(){var a="qx.Mixin",b=".prototype",c="]",d='Conflict between mixin "',e="constructor",f="Array",g='"!',h='" and "',j="destruct",k='" in property "',m="Mixin",n='" in member "',o="[Mixin ";qx.Bootstrap.define(a,{statics:{define:function(name,q){if(q){if(q.include&&!(qx.Bootstrap.getClass(q.include)===f)){q.include=[q.include];};{};var r=q.statics?q.statics:{};qx.Bootstrap.setDisplayNames(r,name);for(var p in r){if(r[p] instanceof Function){r[p].$$mixin=r;};};if(q.construct){r.$$constructor=q.construct;qx.Bootstrap.setDisplayName(q.construct,name,e);};if(q.include){r.$$includes=q.include;};if(q.properties){r.$$properties=q.properties;};if(q.members){r.$$members=q.members;qx.Bootstrap.setDisplayNames(q.members,name+b);};for(var p in r.$$members){if(r.$$members[p] instanceof Function){r.$$members[p].$$mixin=r;};};if(q.events){r.$$events=q.events;};if(q.destruct){r.$$destructor=q.destruct;qx.Bootstrap.setDisplayName(q.destruct,name,j);};}else {var r={};};r.$$type=m;r.name=name;r.toString=this.genericToString;r.basename=qx.Bootstrap.createNamespace(name,r);this.$$registry[name]=r;return r;},checkCompatibility:function(t){var u=this.flatten(t);var v=u.length;if(v<2){return true;};var w={};var x={};var z={};var y;for(var i=0;i=1;i-- ){var I=J[i];var parent=J[i-1];if(qx.Bootstrap.isFunction(I)||qx.Bootstrap.objectGetLength(I)===0){delete parent[K[i-1]];}else {break;};};},isDefined:qx.util.OOUtil.classIsDefined,getTotalNumber:function(){return qx.Bootstrap.objectGetLength(this.$$registry);},getByName:qx.Bootstrap.getByName,include:function(M,L){{};qx.Class.__W(M,L,false);},patch:function(O,N){{};qx.Class.__W(O,N,true);},isSubClassOf:function(Q,P){if(!Q){return false;};if(Q==P){return true;};if(Q.prototype instanceof P){return true;};return false;},getPropertyDefinition:qx.util.OOUtil.getPropertyDefinition,getProperties:function(S){var R=[];while(S){if(S.$$properties){R.push.apply(R,Object.keys(S.$$properties));};S=S.superclass;};return R;},getByProperty:function(T,name){while(T){if(T.$$properties&&T.$$properties[name]){return T;};T=T.superclass;};return null;},hasProperty:qx.util.OOUtil.hasProperty,getEventType:qx.util.OOUtil.getEventType,supportsEvent:qx.util.OOUtil.supportsEvent,hasOwnMixin:function(V,U){return V.$$includes&&V.$$includes.indexOf(U)!==-1;},getByMixin:function(Y,X){var W,i,l;while(Y){if(Y.$$includes){W=Y.$$flatIncludes;for(i=0,l=W.length;i0:false;};if(!bl){this.__bi(br.targetObject,br.targetPropertyChain,br.options.converter());}else {this.__bh(br.targetObject,br.targetPropertyChain);};}else {this.__bh(br.targetObject,br.targetPropertyChain);};break;};if(j==br.propertyNames.length-1){if(qx.Class.implementsInterface(bp,qx.data.IListData)){var bt=br.arrayIndexValues[j]===N?bp.length-1:br.arrayIndexValues[j];var bm=bp.getItem(bt);this.__bm(bm,br.targetObject,br.targetPropertyChain,br.options,br.sources[br.index]);br.listenerIds[j]=this.__bo(bp,s,br.targetObject,br.targetPropertyChain,br.options,br.arrayIndexValues[j]);}else {if(br.propertyNames[j]!=null&&bp[u+qx.lang.String.firstUp(br.propertyNames[j])]!=null){var bm=bp[u+qx.lang.String.firstUp(br.propertyNames[j])]();this.__bm(bm,br.targetObject,br.targetPropertyChain,br.options,br.sources[br.index]);};var bn=this.__bg(bp,br.propertyNames[j]);if(!bn){this.__bh(br.targetObject,br.targetPropertyChain);break;};br.listenerIds[j]=this.__bo(bp,bn,br.targetObject,br.targetPropertyChain,br.options);};}else {if(br.listeners[j]==null){var bo=qx.lang.Function.bind(this.__be,this,br);br.listeners.push(bo);};if(qx.Class.implementsInterface(bp,qx.data.IListData)){var bn=s;}else {var bn=this.__bg(bp,br.propertyNames[j]);};if(!bn){this.__bh(br.targetObject,br.targetPropertyChain);return;};br.listenerIds[j]=bp.addListener(bn,br.listeners[j]);};};},__bf:function(bw,bE,bI,bA,bC){var bz=bA.split(D);var bx=this.__bn(bz);var bH=[];var bG=[];var bB=[];var bF=[];var by=bI;for(var i=0;icP){return;};}else {var cS=e.getData();};{};cS=qx.data.SingleValueBinding.__bq(cS,cO,cM,cK,cG);{};try{if(cS!==undefined){qx.data.SingleValueBinding.__bi(cO,cM,cS);}else {qx.data.SingleValueBinding.__bh(cO,cM);};if(cK&&cK.onUpdate){cK.onUpdate(cG,cO,cS);};}catch(cT){if(!(cT instanceof qx.core.ValidationError)){throw cT;};if(cK&&cK.onSetFail){cK.onSetFail(cT);}else {qx.log.Logger.warn(r+cS+H+cO+a+cT);};};};if(!cI){cI=z;};cL=qx.lang.Function.bind(cL,cG,cI);var cN=cG.addListener(cJ,cL);return cN;},__bp:function(da,cU,cX,db,cY){var cV;cV=cU.toHashCode();if(this.__bc[cV]===undefined){this.__bc[cV]=[];};var cW=[da,cU,cX,db,cY];this.__bc[cV].push(cW);cV=db.toHashCode();if(this.__bd[cV]===undefined){this.__bd[cV]=[];};this.__bd[cV].push(cW);},__bq:function(df,dl,de,dh,dc){if(dh&&dh.converter){var di;if(dl.getModel){di=dl.getModel();};return dh.converter(df,di,dc,dl);}else {var dg=this.__bk(de);var dd=this.__bl(dl,dg);var dm=de.substring(de.lastIndexOf(D)+1,de.length);if(dd==null){return df;};var dj=qx.Class.getPropertyDefinition(dd.constructor,dm);var dk=dj==null?z:dj.check;return this.__bs(df,dk);};},__br:function(dn,dq){var dp=qx.Class.getPropertyDefinition(dn.constructor,dq);if(dp==null){return null;};return dp.event;},__bs:function(dt,ds){var dr=qx.lang.Type.getClass(dt);if((dr==J||dr==x)&&(ds==l||ds==E)){dt=parseInt(dt,10);};if((dr==b||dr==J||dr==L)&&ds==x){dt=dt+z;};if((dr==J||dr==x)&&(ds==J||ds==A)){dt=parseFloat(dt);};return dt;},removeBindingFromObject:function(du,dy){if(dy.type==f){for(var i=0;i=0;i-- ){this.removeBindingFromObject(dA,dz[i][0]);};};},removeRelatedBindings:function(dC,dD){{};var dF=this.getAllBindingsForObject(dC);if(dF!=undefined){for(var i=dF.length-1;i>=0;i-- ){var dE=dF[i][1];var dB=dF[i][3];if(dE===dD||dB===dD){this.removeBindingFromObject(dC,dF[i][0]);};};};},getAllBindingsForObject:function(dH){var dI=dH.toHashCode();if(this.__bc[dI]===undefined){this.__bc[dI]=[];};var dJ=this.__bc[dI];var dG=this.__bd[dI]?this.__bd[dI]:[];return qx.lang.Array.unique(dJ.concat(dG));},removeAllBindings:function(){for(var dL in this.__bc){var dK=qx.core.ObjectRegistry.fromHashCode(dL);if(dK==null){delete this.__bc[dL];continue;};this.removeAllBindingsForObject(dK);};this.__bc={};},getAllBindings:function(){return this.__bc;},showBindingInLog:function(dN,dP){var dO;for(var i=0;iy.length?B:y;for(var i=0;i=0){continue;};var s=null;var C=w.split(n);var v=/(.*?)\(/.exec(C[C.length-1]);if(v&&v.length==2){s=v[1];C.pop();};if(C[C.length-1]==p){C.pop();};var E=C.join(n);var u=y[i];var F=u.split(m);var A=F[0];var z=F[1];var r;if(F[2]){r=F[2];};var x=null;if(qx.Class&&qx.Class.getByName(A)){x=A;}else {x=E;};var D=x;if(s){D+=n+s;};D+=m+z;if(r){D+=m+r;};t[i]=D;};}else {t=this.getStackTraceFromCaller(arguments);};};return t;},getStackTraceFromCaller:function(K){var J=[];var M=qx.lang.Function.getCaller(K);var H={};while(M){var L=qx.lang.Function.getName(M);J.push(L);try{M=M.caller;}catch(N){break;};if(!M){break;};var I=qx.core.ObjectRegistry.toHashCode(M);if(H[I]){J.push(b);break;};H[I]=M;};return J;},getStackTraceFromError:function(bd){var T=[];var R,S,ba,Q,P,bf,bb;var bc=qx.dev.StackTrace.hasEnvironmentCheck?qx.core.Environment.get(j):null;if(bc===l){if(!bd.stack){return T;};R=/@(.+):(\d+)$/gm;while((S=R.exec(bd.stack))!=null){bb=S[1];Q=S[2];ba=this.__bw(bb);T.push(ba+m+Q);};if(T.length>0){return this.__by(T);};R=/at (.*)/gm;var be=/\((.*?)(:[^\/].*)\)/;var Y=/(.*?)(:[^\/].*)/;while((S=R.exec(bd.stack))!=null){var X=be.exec(S[1]);if(!X){X=Y.exec(S[1]);};if(X){ba=this.__bw(X[1]);T.push(ba+X[2]);}else {T.push(S[1]);};};}else if(bc===q){var U=bd.stacktrace;if(!U){return T;};if(U.indexOf(h)>=0){U=U.split(h)[0];};R=/line\ (\d+?),\ column\ (\d+?)\ in\ (?:.*?)\ in\ (.*?):[^\/]/gm;while((S=R.exec(U))!=null){Q=S[1];P=S[2];bb=S[3];ba=this.__bw(bb);T.push(ba+m+Q+m+P);};if(T.length>0){return this.__by(T);};R=/Line\ (\d+?)\ of\ linked\ script\ (.*?)$/gm;while((S=R.exec(U))!=null){Q=S[1];bb=S[2];ba=this.__bw(bb);T.push(ba+m+Q);};}else if(bd.message&&bd.message.indexOf(k)>=0){var W=bd.message.split(k)[1].trim();var V=W.split(e);for(var i=0;i=2){Q=O[1];bf=this.__bw(O[2]);T.push(bf+m+Q);};};}else if(bd.sourceURL&&bd.line){T.push(this.__bw(bd.sourceURL)+m+bd.line);};return this.__by(T);},__bw:function(bh){if(typeof qx.dev.StackTrace.FILENAME_TO_CLASSNAME==o){var bg=qx.dev.StackTrace.FILENAME_TO_CLASSNAME(bh);{};return bg;};return qx.dev.StackTrace.__bx(bh);},__bx:function(bk){var bl=g;var bi=bk.indexOf(bl);var bm=bk.indexOf(f);if(bm>=0){bk=bk.substring(0,bm);};var bj=(bi==-1)?bk:bk.substring(bi+bl.length).replace(/\//g,n).replace(/\.js$/,d);return bj;},__by:function(bn){if(typeof qx.dev.StackTrace.FORMAT_STACKTRACE==o){bn=qx.dev.StackTrace.FORMAT_STACKTRACE(bn);{};};return bn;}},defer:function(bo){bo.hasEnvironmentCheck=qx.bom&&qx.bom.client&&qx.bom.client.EcmaScript&&qx.bom.client.EcmaScript.getStackTrace;}});})();(function(){var a="mshtml",b="engine.name",c="[object Array]",d="qx.lang.Array",e="Cannot clean-up map entry doneObjects[",f="]",g="qx",h="number",j="][",k="string";qx.Bootstrap.define(d,{statics:{cast:function(m,o,p){if(m.constructor===o){return m;};if(qx.data&&qx.data.IListData){if(qx.Class&&qx.Class.hasInterface(m,qx.data.IListData)){var m=m.toArray();};};var n=new o;if((qx.core.Environment.get(b)==a)){if(m.item){for(var i=p||0,l=m.length;iX){X=W[i];};};return X===undefined?null:X;},min:function(ba){{};var i,bc=ba.length,bb=ba[0];for(i=1;i-1;}},defer:function(G){qx.core.Environment.add(j,G.getVersion);qx.core.Environment.add(u,G.getName);}});})();(function(){var a='anonymous()',b="()",c="qx.globalErrorHandling",d="qx.lang.Function",e=".",f=".prototype.",g=".constructor()";qx.Bootstrap.define(d,{statics:{getCaller:function(h){return h.caller?h.caller.callee:h.callee.caller;},getName:function(i){if(i.displayName){return i.displayName;};if(i.$$original||i.wrapper||i.classname){return i.classname+g;};if(i.$$mixin){for(var j in i.$$mixin.$$members){if(i.$$mixin.$$members[j]==i){return i.$$mixin.name+f+j+b;};};for(var j in i.$$mixin){if(i.$$mixin[j]==i){return i.$$mixin.name+e+j+b;};};};if(i.self){var l=i.self.constructor;if(l){for(var j in l.prototype){if(l.prototype[j]==i){return l.classname+f+j+b;};};for(var j in l){if(l[j]==i){return l.classname+e+j+b;};};};};var k=i.toString().match(/function\s*(\w*)\s*\(.*/);if(k&&k.length>=1&&k[1]){return k[1]+b;};return a;},globalEval:function(data){if(window.execScript){return window.execScript(data);}else {return eval.call(window,data);};},create:function(n,m){{};if(!m){return n;};if(!(m.self||m.args||m.delay!=null||m.periodical!=null||m.attempt)){return n;};return function(event){{};var p=qx.lang.Array.fromArguments(arguments);if(m.args){p=m.args.concat(p);};if(m.delay||m.periodical){var o=function(){return n.apply(m.self||this,p);};if(qx.core.Environment.get(c)){o=qx.event.GlobalError.observeMethod(o);};if(m.delay){return window.setTimeout(o,m.delay);};if(m.periodical){return window.setInterval(o,m.periodical);};}else if(m.attempt){var q=false;try{q=n.apply(m.self||this,p);}catch(r){};return q;}else {return n.apply(m.self||this,p);};};},bind:function(s,self,t){return this.create(s,{self:self,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null});},curry:function(u,v){return this.create(u,{args:arguments.length>1?qx.lang.Array.fromArguments(arguments,1):null});},listener:function(x,self,y){if(arguments.length<3){return function(event){return x.call(self||this,event||window.event);};}else {var w=qx.lang.Array.fromArguments(arguments,2);return function(event){var z=[event||window.event];z.push.apply(z,w);x.apply(self||this,z);};};},attempt:function(A,self,B){return this.create(A,{self:self,attempt:true,args:arguments.length>2?qx.lang.Array.fromArguments(arguments,2):null})();},delay:function(D,C,self,E){return this.create(D,{delay:C,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();},periodical:function(G,F,self,H){return this.create(G,{periodical:F,self:self,args:arguments.length>3?qx.lang.Array.fromArguments(arguments,3):null})();}}});})();(function(){var a="qx.globalErrorHandling",b="qx.event.GlobalError";qx.Bootstrap.define(b,{statics:{__bF:null,__bG:null,__bH:null,__bI:function(){if(qx.core&&qx.core.Environment){return qx.core.Environment.get(a);}else {return !!qx.Bootstrap.getEnvironmentSetting(a);};},setErrorHandler:function(c,d){this.__bF=c||null;this.__bH=d||window;if(this.__bI()){if(c&&window.onerror){var e=qx.Bootstrap.bind(this.__bJ,this);if(this.__bG==null){this.__bG=window.onerror;};var self=this;window.onerror=function(f,g,h){self.__bG(f,g,h);e(f,g,h);};};if(c&&!window.onerror){window.onerror=qx.Bootstrap.bind(this.__bJ,this);};if(this.__bF==null){if(this.__bG!=null){window.onerror=this.__bG;this.__bG=null;}else {window.onerror=null;};};};},__bJ:function(i,j,k){if(this.__bF){this.handleError(new qx.core.WindowError(i,j,k));};},observeMethod:function(l){if(this.__bI()){var self=this;return function(){if(!self.__bF){return l.apply(this,arguments);};try{return l.apply(this,arguments);}catch(m){self.handleError(new qx.core.GlobalError(m,arguments));};};}else {return l;};},handleError:function(n){if(this.__bF){this.__bF.call(this.__bH,n);};}},defer:function(o){if(qx.core&&qx.core.Environment){qx.core.Environment.add(a,true);}else {qx.Bootstrap.setEnvironmentSetting(a,true);};o.setErrorHandler(null,null);}});})();(function(){var a="",b="qx.core.WindowError";qx.Bootstrap.define(b,{extend:Error,construct:function(c,e,f){var d=Error.call(this,c);if(d.stack){this.stack=d.stack;};if(d.stacktrace){this.stacktrace=d.stacktrace;};this.__bK=c;this.__bL=e||a;this.__bM=f===undefined?-1:f;},members:{__bK:null,__bL:null,__bM:null,toString:function(){return this.__bK;},getUri:function(){return this.__bL;},getLineNumber:function(){return this.__bM;}}});})();(function(){var a="GlobalError: ",b="qx.core.GlobalError";qx.Bootstrap.define(b,{extend:Error,construct:function(e,c){if(qx.Bootstrap.DEBUG){qx.core.Assert.assertNotUndefined(e);};this.__bK=a+(e&&e.message?e.message:e);var d=Error.call(this,this.__bK);if(d.stack){this.stack=d.stack;};if(d.stacktrace){this.stacktrace=d.stacktrace;};this.__bN=c;this.__bO=e;},members:{__bO:null,__bN:null,__bK:null,toString:function(){return this.__bK;},getArguments:function(){return this.__bN;},getSourceException:function(){return this.__bO;}},destruct:function(){this.__bO=null;this.__bN=null;this.__bK=null;}});})();(function(){var a="qx.lang.Type",b="Error",c="RegExp",d="Date",e="Number",f="Boolean";qx.Bootstrap.define(a,{statics:{getClass:qx.Bootstrap.getClass,isString:qx.Bootstrap.isString,isArray:qx.Bootstrap.isArray,isObject:qx.Bootstrap.isObject,isFunction:qx.Bootstrap.isFunction,isRegExp:function(g){return this.getClass(g)==c;},isNumber:function(h){return (h!==null&&(this.getClass(h)==e||h instanceof Number));},isBoolean:function(i){return (i!==null&&(this.getClass(i)==f||i instanceof Boolean));},isDate:function(j){return (j!==null&&(this.getClass(j)==d||j instanceof Date));},isError:function(k){return (k!==null&&(this.getClass(k)==b||k instanceof Error));}}});})();(function(){var a=" != ",b="qx.core.Object",c="Expected value to be an array but found ",d="' (rgb(",f=") was fired.",g="Expected value to be an integer >= 0 but found ",h="' to be not equal with '",j="' to '",k="Expected object '",m="Called assertTrue with '",n="Expected value to be a map but found ",o="The function did not raise an exception!",p="Expected value to be undefined but found ",q="Expected value to be a DOM element but found '",r="Expected value to be a regular expression but found ",s="' to implement the interface '",t="Expected value to be null but found ",u="Invalid argument 'type'",v="Called assert with 'false'",w="Assertion error! ",x="'",y="null",z="' but found '",A="'undefined'",B=",",C="' must must be a key of the map '",D="Expected '",E="The String '",F="Expected value to be a string but found ",G="Event (",H="Expected value to be the CSS color '",I="!",J="Expected value not to be undefined but found undefined!",K="qx.util.ColorUtil",L=": ",M="The raised exception does not have the expected type! ",N=") not fired.",O="'!",P="qx.core.Assert",Q="",R="Expected value to be typeof object but found ",S="' but found ",T="' (identical) but found '",U="' must have any of the values defined in the array '",V="Expected value to be a number but found ",W="Called assertFalse with '",X="qx.ui.core.Widget",Y="]",bJ="Expected value to be a qooxdoo object but found ",bK="' arguments.",bL="Expected value '%1' to be in the range '%2'..'%3'!",bF="Array[",bG="' does not match the regular expression '",bH="' to be not identical with '",bI="Expected [",bP="' arguments but found '",bQ="', which cannot be converted to a CSS color!",bR=", ",cg="qx.core.AssertionError",bM="Expected value to be a boolean but found ",bN="Expected value not to be null but found null!",bO="))!",bD="Expected value to be a qooxdoo widget but found ",bU="The value '",bE="Expected value to be typeof '",bV="\n Stack trace: \n",bW="Expected value to be typeof function but found ",cb="Expected value to be an integer but found ",bS="Called fail().",cf="The parameter 're' must be a string or a regular expression.",bT=")), but found value '",bX="qx.util.ColorUtil not available! Your code must have a dependency on 'qx.util.ColorUtil'",bY="Expected value to be a number >= 0 but found ",ca="Expected value to be instanceof '",cc="], but found [",cd="Wrong number of arguments given. Expected '",ce="object";qx.Bootstrap.define(P,{statics:{__bP:true,__bQ:function(ch,ci){var cm=Q;for(var i=1,l=arguments.length;i10){cn=bF+co.length+Y;}else if((co instanceof Object)&&(co.toString==null)){cn=qx.lang.Json.stringify(co,null,2);}else {try{cn=co.toString();}catch(e){cn=Q;};};return cn;},assert:function(cq,cp){cq==true||this.__bQ(cp||Q,v);},fail:function(cr,cs){var ct=cs?Q:bS;this.__bQ(cr||Q,ct);},assertTrue:function(cv,cu){(cv===true)||this.__bQ(cu||Q,m,cv,x);},assertFalse:function(cx,cw){(cx===false)||this.__bQ(cw||Q,W,cx,x);},assertEquals:function(cy,cz,cA){cy==cz||this.__bQ(cA||Q,D,cy,z,cz,O);},assertNotEquals:function(cB,cC,cD){cB!=cC||this.__bQ(cD||Q,D,cB,h,cC,O);},assertIdentical:function(cE,cF,cG){cE===cF||this.__bQ(cG||Q,D,cE,T,cF,O);},assertNotIdentical:function(cH,cI,cJ){cH!==cI||this.__bQ(cJ||Q,D,cH,bH,cI,O);},assertNotUndefined:function(cL,cK){cL!==undefined||this.__bQ(cK||Q,J);},assertUndefined:function(cN,cM){cN===undefined||this.__bQ(cM||Q,p,cN,I);},assertNotNull:function(cP,cO){cP!==null||this.__bQ(cO||Q,bN);},assertNull:function(cR,cQ){cR===null||this.__bQ(cQ||Q,t,cR,I);},assertJsonEquals:function(cS,cT,cU){this.assertEquals(qx.lang.Json.stringify(cS),qx.lang.Json.stringify(cT),cU);},assertMatch:function(cX,cW,cV){this.assertString(cX);this.assert(qx.lang.Type.isRegExp(cW)||qx.lang.Type.isString(cW),cf);cX.search(cW)>=0||this.__bQ(cV||Q,E,cX,bG,cW.toString(),O);},assertArgumentsCount:function(db,dc,dd,cY){var da=db.length;(da>=dc&&da<=dd)||this.__bQ(cY||Q,cd,dc,j,dd,bP,da,bK);},assertEventFired:function(de,event,dh,di,dj){var df=false;var dg=function(e){if(di){di.call(de,e);};df=true;};var dk;try{dk=de.addListener(event,dg,de);dh.call(de);}catch(dl){throw dl;}finally{try{de.removeListenerById(dk);}catch(dm){};};df===true||this.__bQ(dj||Q,G,event,N);},assertEventNotFired:function(dn,event,dr,ds){var dp=false;var dq=function(e){dp=true;};var dt=dn.addListener(event,dq,dn);dr.call();dp===false||this.__bQ(ds||Q,G,event,f);dn.removeListenerById(dt);},assertException:function(dx,dw,dv,du){var dw=dw||Error;var dy;try{this.__bP=false;dx();}catch(dz){dy=dz;}finally{this.__bP=true;};if(dy==null){this.__bQ(du||Q,o);};dy instanceof dw||this.__bQ(du||Q,M,dw,a,dy);if(dv){this.assertMatch(dy.toString(),dv,du);};},assertInArray:function(dC,dB,dA){dB.indexOf(dC)!==-1||this.__bQ(dA||Q,bU,dC,U,dB,x);},assertArrayEquals:function(dD,dE,dF){this.assertArray(dD,dF);this.assertArray(dE,dF);dF=dF||bI+dD.join(bR)+cc+dE.join(bR)+Y;if(dD.length!==dE.length){this.fail(dF,true);};for(var i=0;i=0)||this.__bQ(dR||Q,bY,dS,I);},assertInteger:function(dU,dT){(qx.lang.Type.isNumber(dU)&&isFinite(dU)&&dU%1===0)||this.__bQ(dT||Q,cb,dU,I);},assertPositiveInteger:function(dX,dV){var dW=(qx.lang.Type.isNumber(dX)&&isFinite(dX)&&dX%1===0&&dX>=0);dW||this.__bQ(dV||Q,g,dX,I);},assertInRange:function(eb,ec,ea,dY){(eb>=ec&&eb<=ea)||this.__bQ(dY||Q,qx.lang.String.format(bL,[eb,ec,ea]));},assertObject:function(ee,ed){var ef=ee!==null&&(qx.lang.Type.isObject(ee)||typeof ee===ce);ef||this.__bQ(ed||Q,R,(ee),I);},assertArray:function(eh,eg){qx.lang.Type.isArray(eh)||this.__bQ(eg||Q,c,eh,I);},assertMap:function(ej,ei){qx.lang.Type.isObject(ej)||this.__bQ(ei||Q,n,ej,I);},assertRegExp:function(el,ek){qx.lang.Type.isRegExp(el)||this.__bQ(ek||Q,r,el,I);},assertType:function(eo,en,em){this.assertString(en,u);typeof (eo)===en||this.__bQ(em||Q,bE,en,S,eo,I);},assertInstance:function(er,es,ep){var eq=es.classname||es+Q;er instanceof es||this.__bQ(ep||Q,ca,eq,S,er,I);},assertInterface:function(ev,eu,et){qx.Class&&qx.Class.implementsInterface(ev,eu)||this.__bQ(et||Q,k,ev,s,eu,O);},assertCssColor:function(eC,ez,eB){var ew=qx.Class?qx.Class.getByName(K):null;if(!ew){throw new Error(bX);};var ey=ew.stringToRgb(eC);try{var eA=ew.stringToRgb(ez);}catch(eE){this.__bQ(eB||Q,H,eC,d,ey.join(B),bT,ez,bQ);};var eD=ey[0]==eA[0]&&ey[1]==eA[1]&&ey[2]==eA[2];eD||this.__bQ(eB||Q,H,ey,d,ey.join(B),bT,ez,d,eA.join(B),bO);},assertElement:function(eG,eF){!!(eG&&eG.nodeType===1)||this.__bQ(eF||Q,q,eG,O);},assertQxObject:function(eI,eH){this.__bS(eI,b)||this.__bQ(eH||Q,bJ,eI,I);},assertQxWidget:function(eK,eJ){this.__bS(eK,X)||this.__bQ(eJ||Q,bD,eK,I);},__bS:function(eM,eL){if(!eM){return false;};var eN=eM.constructor;while(eN){if(eN.classname===eL){return true;};eN=eN.superclass;};return false;}}});})();(function(){var a="\x00\b\n\f\r\t",b="-",c="function",d="[null,null,null]",e="T",f="+",g=",\n",h="constructor",i="{\n",j='"+275760-09-13T00:00:00.000Z"',k="true",l="\\n",m="false",n='"-271821-04-20T00:00:00.000Z"',o="json",p='object',q='""',r="qx.lang.Json",s="{}",t="hasOwnProperty",u="@",v="prototype",w='hasOwnProperty',x='"',y="toLocaleString",z="0",A='function',B="",C='\\"',D="\t",E="string",F="}",G="\r",H="toJSON",I=":",J="[\n 1,\n 2\n]",K="\\f",L='"1969-12-31T23:59:59.999Z"',M="/",N="\\b",O="Z",P="\\t",Q="\b",R="[object Number]",S="isPrototypeOf",T="{",U="toString",V="0x",W="[1]",X="\\r",Y="]",bO=",",bP="null",bQ="\\u00",bK="\n",bL="json-stringify",bM="[]",bN="1",bU="000000",bV="[object Boolean]",bW="valueOf",cm="\\\\",bR="[object String]",bS="json-parse",bT="bug-string-char-index",bG="[object Array]",ca="$",bJ="[\n",cb='"-000001-01-01T00:00:00.000Z"',cc="[",bI="[null]",bX="\\",cl="[object Date]",bY='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}',cd="a",ce=" ",cf=".",ci="[object Function]",cj="01",ck='"\t"',bH="propertyIsEnumerable",cg="\f",ch="object";qx.Bootstrap.define(r,{statics:{stringify:null,parse:null}});(function(){var co;var cn;var cp;(function(window){var cr={}.toString,cG,cQ,cC;var cy=typeof cp===c&&cp.amd,cx=typeof cn==ch&&cn;if(cx||cy){if(typeof JSON==ch&&JSON){if(cx){cx.stringify=JSON.stringify;cx.parse=JSON.parse;}else {cx=JSON;};}else if(cy){cx=window.JSON={};};}else {cx=window.JSON||(window.JSON={});};var cU=new Date(-3509827334573292);try{cU=cU.getUTCFullYear()==-109252&&cU.getUTCMonth()===0&&cU.getUTCDate()===1&&cU.getUTCHours()==10&&cU.getUTCMinutes()==37&&cU.getUTCSeconds()==6&&cU.getUTCMilliseconds()==708;}catch(da){};function cJ(name){if(name==bT){return cd[0]!=cd;};var de,dd=bY,dh=name==o;if(dh||name==bL||name==bS){if(name==bL||dh){var db=cx.stringify,dg=typeof db==c&&cU;if(dg){(de=function(){return 1;}).toJSON=de;try{dg=db(0)===z&&db(new Number())===z&&db(new String())==q&&db(cr)===cC&&db(cC)===cC&&db()===cC&&db(de)===bN&&db([de])==W&&db([cC])==bI&&db(null)==bP&&db([cC,cr,null])==d&&db({"a":[de,true,false,null,a]})==dd&&db(null,de)===bN&&db([1,2],null,1)==J&&db(new Date(-8.64e15))==n&&db(new Date(8.64e15))==j&&db(new Date(-621987552e5))==cb&&db(new Date(-1))==L;}catch(di){dg=false;};};if(!dh){return dg;};};if(name==bS||dh){var df=cx.parse;if(typeof df==c){try{if(df(z)===0&&!df(false)){de=df(dd);var dc=de[cd].length==5&&de[cd][0]===1;if(dc){try{dc=!df(ck);}catch(dj){};if(dc){try{dc=df(cj)!==1;}catch(dk){};};};};}catch(dl){dc=false;};};if(!dh){return dc;};};return dg&&dc;};};if(!cJ(o)){var cV=ci;var cN=cl;var cv=R;var cY=bR;var cR=bG;var cF=bV;var cE=cJ(bT);if(!cU){var cD=Math.floor;var cM=[0,31,59,90,120,151,181,212,243,273,304,334];var cX=function(dm,dn){return cM[dn]+365*(dm-1970)+cD((dm-1969+(dn=+(dn>1)))/4)-cD((dm-1901+dn)/100)+cD((dm-1601+dn)/400);};};if(!(cG={}.hasOwnProperty)){cG=function(dp){var dq={},dr;if((dq.__bT=null,dq.__bT={"toString":1},dq).toString!=cr){cG=function(ds){var dt=this.__bT,du=ds in (this.__bT=null,this);this.__bT=dt;return du;};}else {dr=dq.constructor;cG=function(dv){var parent=(this.constructor||dr).prototype;return dv in this&&!(dv in parent&&this[dv]===parent[dv]);};};dq=null;return cG.call(this,dp);};};var cH={'boolean':1,'number':1,'string':1,'undefined':1};var cP=function(dy,dw){var dx=typeof dy[dw];return dx==p?!!dy[dw]:!cH[dx];};cQ=function(dz,dA){var dF=0,dE,dC,dD,dB;(dE=function(){this.valueOf=0;}).prototype.valueOf=0;dC=new dE();for(dD in dC){if(cG.call(dC,dD)){dF++ ;};};dE=dC=null;if(!dF){dC=[bW,U,y,bH,S,t,h];dB=function(dH,dI){var dJ=cr.call(dH)==cV,dK,length;var dG=!dJ&&typeof dH.constructor!=A&&cP(dH,w)?dH.hasOwnProperty:cG;for(dK in dH){if(!(dJ&&dK==v)&&dG.call(dH,dK)){dI(dK);};};for(length=dC.length;dK=dC[ --length];dG.call(dH,dK)&&dI(dK));};}else if(dF==2){dB=function(dP,dL){var dO={},dM=cr.call(dP)==cV,dN;for(dN in dP){if(!(dM&&dN==v)&&!cG.call(dO,dN)&&(dO[dN]=1)&&cG.call(dP,dN)){dL(dN);};};};}else {dB=function(dT,dQ){var dR=cr.call(dT)==cV,dS,dU;for(dS in dT){if(!(dR&&dS==v)&&cG.call(dT,dS)&&!(dU=dS===h)){dQ(dS);};};if(dU||cG.call(dT,(dS=h))){dQ(dS);};};};return dB(dz,dA);};if(!cJ(bL)){var cT={'92':cm,'34':C,'8':N,'12':K,'10':l,'13':X,'9':P};var cI=bU;var cW=function(dV,dW){return (cI+(dW||0)).slice(-dV);};var cB=bQ;var cL=function(dY){var eb=x,dX=0,length=dY.length,ec=length>10&&cE,ea;if(ec){ea=dY.split(B);};for(;dX-1/0&&et<1/0){if(cX){er=cD(et/864e5);for(ei=cD(er/365.2425)+1970-1;cX(ei+1,0)<=er;ei++ );for(ef=cD((er-cX(ei,0))/30.42);cX(ei,ef+1)<=er;ef++ );er=1+er-cX(ei,ef);ey=(et%864e5+864e5)%864e5;ep=cD(ey/36e5)%24;eA=cD(ey/6e4)%60;en=cD(ey/1e3)%60;em=ey%1e3;}else {ei=et.getUTCFullYear();ef=et.getUTCMonth();er=et.getUTCDate();ep=et.getUTCHours();eA=et.getUTCMinutes();en=et.getUTCSeconds();em=et.getUTCMilliseconds();};et=(ei<=0||ei>=1e4?(ei<0?b:f)+cW(6,ei<0?-ei:ei):cW(4,ei))+b+cW(2,ef+1)+b+cW(2,er)+e+cW(2,ep)+I+cW(2,eA)+I+cW(2,en)+cf+cW(3,em)+O;}else {et=null;};}else if(typeof et.toJSON==c&&((ev!=cv&&ev!=cY&&ev!=cR)||cG.call(et,H))){et=et.toJSON(ez);};};if(ew){et=ew.call(eo,ez,et);};if(et===null){return bP;};ev=cr.call(et);if(ev==cF){return B+et;}else if(ev==cv){return et>-1/0&&et<1/0?B+et:bP;}else if(ev==cY){return cL(B+et);};if(typeof et==ch){for(length=es.length;length-- ;){if(es[length]===et){throw TypeError();};};es.push(et);ee=[];eg=ex;ex+=ek;if(ev==cR){for(ej=0,length=et.length;ej0){for(eF=B,eL>10&&(eL=10);eF.length=48&&eR<=57||eR>=97&&eR<=102||eR>=65&&eR<=70)){cw();};};eN+=cA(V+eO.slice(eM,cq));break;default:cw();};}else {if(eR==34){break;};eR=eO.charCodeAt(cq);eM=cq;while(eR>=32&&eR!=92&&eR!=34){eR=eO.charCodeAt( ++cq);};eN+=eO.slice(eM,cq);};};if(eO.charCodeAt(cq)==34){cq++ ;return eN;};cw();default:eM=cq;if(eR==45){eP=true;eR=eO.charCodeAt( ++cq);};if(eR>=48&&eR<=57){if(eR==48&&((eR=eO.charCodeAt(cq+1)),eR>=48&&eR<=57)){cw();};eP=false;for(;cq=48&&eR<=57);cq++ );if(eO.charCodeAt(cq)==46){eQ= ++cq;for(;eQ=48&&eR<=57);eQ++ );if(eQ==cq){cw();};cq=eQ;};eR=eO.charCodeAt(cq);if(eR==101||eR==69){eR=eO.charCodeAt( ++cq);if(eR==43||eR==45){cq++ ;};for(eQ=cq;eQ=48&&eR<=57);eQ++ );if(eQ==cq){cw();};cq=eQ;};return +eO.slice(eM,cq);};if(eP){cw();};if(eO.slice(cq,cq+4)==k){cq+=4;return true;}else if(eO.slice(cq,cq+5)==m){cq+=5;return false;}else if(eO.slice(cq,cq+4)==bP){cq+=4;return null;};cw();};};return ca;};var cK=function(eU){var eT,eS;if(eU==ca){cw();};if(typeof eU==E){if((cE?eU.charAt(0):eU[0])==u){return eU.slice(1);};if(eU==cc){eT=[];for(;;eS||(eS=true)){eU=cS();if(eU==Y){break;};if(eS){if(eU==bO){eU=cS();if(eU==Y){cw();};}else {cw();};};if(eU==bO){cw();};eT.push(cK(eU));};return eT;}else if(eU==T){eT={};for(;;eS||(eS=true)){eU=cS();if(eU==F){break;};if(eS){if(eU==bO){eU=cS();if(eU==F){cw();};}else {cw();};};if(eU==bO||typeof eU!=E||(cE?eU.charAt(0):eU[0])!=u||cS()!=I){cw();};eT[eU.slice(1)]=cK(cS());};return eT;};cw();};return eU;};var cO=function(eV,eW,eX){var eY=ct(eV,eW,eX);if(eY===cC){delete eV[eW];}else {eV[eW]=eY;};};var ct=function(fa,fb,fd){var fc=fa[fb],length;if(typeof fc==ch&&fc){if(cr.call(fc)==cR){for(length=fc.length;length-- ;){cO(fc,length,fd);};}else {cQ(fc,function(fe){cO(fc,fe,fd);});};};return fd.call(fa,fb,fc);};cx.parse=function(ff,fi){var fg,fh;cq=0;cu=B+ff;fg=cK(cS());if(cS()!=ca){cw();};cq=cu=null;return fi&&cr.call(fi)==cV?ct((fh={},fh[B]=fg,fh),B,fi):fg;};};};if(cy){cp(function(){return cx;});};}(this));}());qx.lang.Json.stringify=window.JSON.stringify;qx.lang.Json.parse=window.JSON.parse;})();(function(){var a="-",b="]",c='\\u',d="undefined",e="",f='\\$1',g="0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05250531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0800-0815081A082408280904-0939093D09500958-0961097109720979-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-167F1681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA18B0-18F51900-191C1950-196D1970-19741980-19AB19C1-19C71A00-1A161A20-1A541AA71B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1CE9-1CEC1CEE-1CF11D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2CE42CEB-2CEE2D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF3400-4DB54E00-9FCBA000-A48CA4D0-A4FDA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A6A0-A6E5A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A8F2-A8F7A8FBA90A-A925A930-A946A960-A97CA984-A9B2A9CFAA00-AA28AA40-AA42AA44-AA4BAA60-AA76AA7AAA80-AAAFAAB1AAB5AAB6AAB9-AABDAAC0AAC2AADB-AADDABC0-ABE2AC00-D7A3D7B0-D7C6D7CB-D7FBF900-FA2DFA30-FA6DFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC",h="\\\\",j='-',k="g",l="\\\"",m="qx.lang.String",n="(^|[^",o="0",p="%",q='"',r=' ',s='\n',t="])[";qx.Bootstrap.define(m,{statics:{__bU:g,__bV:null,__bW:{},camelCase:function(v){var u=this.__bW[v];if(!u){u=v.replace(/\-([a-z])/g,function(x,w){return w.toUpperCase();});if(v.indexOf(a)>=0){this.__bW[v]=u;};};return u;},hyphenate:function(z){var y=this.__bW[z];if(!y){y=z.replace(/[A-Z]/g,function(A){return (j+A.charAt(0).toLowerCase());});if(z.indexOf(a)==-1){this.__bW[z]=y;};};return y;},capitalize:function(C){if(this.__bV===null){var B=c;this.__bV=new RegExp(n+this.__bU.replace(/[0-9A-F]{4}/g,function(D){return B+D;})+t+this.__bU.replace(/[0-9A-F]{4}/g,function(E){return B+E;})+b,k);};return C.replace(this.__bV,function(F){return F.toUpperCase();});},clean:function(G){return G.replace(/\s+/g,r).trim();},trimLeft:function(H){return H.replace(/^\s+/,e);},trimRight:function(I){return I.replace(/\s+$/,e);},startsWith:function(K,J){return K.indexOf(J)===0;},endsWith:function(M,L){return M.substring(M.length-L.length,M.length)===L;},repeat:function(N,O){return N.length>0?new Array(O+1).join(N):e;},pad:function(Q,length,P){var R=length-Q.length;if(R>0){if(typeof P===d){P=o;};return this.repeat(P,R)+Q;}else {return Q;};},firstUp:qx.Bootstrap.firstUp,firstLow:qx.Bootstrap.firstLow,contains:function(T,S){return T.indexOf(S)!=-1;},format:function(U,V){var W=U;var i=V.length;while(i-- ){W=W.replace(new RegExp(p+(i+1),k),function(){return V[i]+e;});};return W;},escapeRegexpChars:function(X){return X.replace(/([.*+?^${}()|[\]\/\\])/g,f);},toArray:function(Y){return Y.split(/\B|\b/g);},stripTags:function(ba){return ba.replace(/<\/?[^>]+>/gi,e);},stripScripts:function(bd,bc){var be=e;var bb=bd.replace(/]*>([\s\S]*?)<\/script>/gi,function(){be+=arguments[1]+s;return e;});if(bc===true){qx.lang.Function.globalEval(be);};return bb;},quote:function(bf){return q+bf.replace(/\\/g,h).replace(/\"/g,l)+q;}}});})();(function(){var c="-",d="",e="qx.core.ObjectRegistry",f="Disposed ",g="$$hash",h="-0",j=" objects",k="Could not dispose object ",m=": ";qx.Bootstrap.define(e,{statics:{inShutDown:false,__j:{},__bX:0,__bY:[],__ca:d,__cb:{},register:function(n){var q=this.__j;if(!q){return;};var p=n.$$hash;if(p==null){var o=this.__bY;if(o.length>0&&true){p=o.pop();}else {p=(this.__bX++ )+this.__ca;};n.$$hash=p;{};};{};q[p]=n;},unregister:function(r){var s=r.$$hash;if(s==null){return;};var t=this.__j;if(t&&t[s]){delete t[s];this.__bY.push(s);};try{delete r.$$hash;}catch(u){if(r.removeAttribute){r.removeAttribute(g);};};},toHashCode:function(v){{};var x=v.$$hash;if(x!=null){return x;};var w=this.__bY;if(w.length>0){x=w.pop();}else {x=(this.__bX++ )+this.__ca;};return v.$$hash=x;},clearHashCode:function(y){{};var z=y.$$hash;if(z!=null){this.__bY.push(z);try{delete y.$$hash;}catch(A){if(y.removeAttribute){y.removeAttribute(g);};};};},fromHashCode:function(B){return this.__j[B]||null;},shutdown:function(){this.inShutDown=true;var D=this.__j;var F=[];for(var C in D){F.push(C);};F.sort(function(a,b){return parseInt(b,10)-parseInt(a,10);});var E,i=0,l=F.length;while(true){try{for(;ithis.__cd){f=this.__cd;};if(j&&this.__ce&&(f>this.__cf)){f=this.__cf;};if(f>0){var h=this.__ci(this.__cc,-1);var g=this.__ci(h,-f+1);var i;if(g<=h){i=this.__cg.slice(g,h+1);}else {i=this.__cg.slice(g,this.__cd).concat(this.__cg.slice(0,h+1));};}else {i=[];};return i;},clear:function(){this.__cg=new Array(this.getMaxEntries());this.__cd=0;this.__cf=0;this.__cc=0;},__ci:function(n,l){var k=this.getMaxEntries();var m=(n+l)%k;if(m<0){m+=k;};return m;}}});})();(function(){var a="qx.log.appender.RingBuffer";qx.Bootstrap.define(a,{extend:qx.util.RingBuffer,construct:function(b){this.setMaxMessages(b||50);},members:{setMaxMessages:function(c){this.setMaxEntries(c);},getMaxMessages:function(){return this.getMaxEntries();},process:function(d){this.addEntry(d);},getAllLogEvents:function(){return this.getAllEntries();},retrieveLogEvents:function(e,f){return this.getEntries(e,f);},clearHistory:function(){this.clear();}}});})();(function(){var a="qx.log.Logger",b="[",c="...(+",d="array",e=")",f="info",g="node",h="instance",j="string",k="null",m="error",n="#",o="class",p=": ",q="warn",r="document",s="{...(",t="",u="number",v="stringify",w="]",x="date",y="unknown",z="function",A="text[",B="[...(",C="boolean",D="\n",E=")}",F="debug",G=")]",H="map",I="undefined",J="object";qx.Bootstrap.define(a,{statics:{__cj:F,setLevel:function(K){this.__cj=K;},getLevel:function(){return this.__cj;},setTreshold:function(L){this.__cm.setMaxMessages(L);},getTreshold:function(){return this.__cm.getMaxMessages();},__ck:{},__cl:0,register:function(P){if(P.$$id){return;};var M=this.__cl++ ;this.__ck[M]=P;P.$$id=M;var N=this.__cn;var O=this.__cm.getAllLogEvents();for(var i=0,l=O.length;i=N[this.__cj]){P.process(O[i]);};};},unregister:function(Q){var R=Q.$$id;if(R==null){return;};delete this.__ck[R];delete Q.$$id;},debug:function(T,S){qx.log.Logger.__co(F,arguments);},info:function(V,U){qx.log.Logger.__co(f,arguments);},warn:function(X,W){qx.log.Logger.__co(q,arguments);},error:function(ba,Y){qx.log.Logger.__co(m,arguments);},trace:function(bb){var bc=qx.dev.StackTrace.getStackTrace();qx.log.Logger.__co(f,[(typeof bb!==I?[bb].concat(bc):bc).join(D)]);},deprecatedMethodWarning:function(bf,bd){{var be;};},deprecatedClassWarning:function(bi,bg){{var bh;};},deprecatedEventWarning:function(bl,event,bj){{var bk;};},deprecatedMixinWarning:function(bn,bm){{var bo;};},deprecatedConstantWarning:function(bs,bq,bp){{var self,br;};},deprecateMethodOverriding:function(bv,bu,bw,bt){{var bx;};},clear:function(){this.__cm.clearHistory();},__cm:new qx.log.appender.RingBuffer(50),__cn:{debug:0,info:1,warn:2,error:3},__co:function(bz,bB){var bE=this.__cn;if(bE[bz]20){bM.push(c+(l-i)+e);break;};bM.push(this.__cq(bP[i],false));};}else {bM=B+bP.length+G;};break;case H:if(bO){var bK;var bR=[];for(var bQ in bP){bR.push(bQ);};bR.sort();bM=[];for(var i=0,l=bR.length;i20){bM.push(c+(l-i)+e);break;};bQ=bR[i];bK=this.__cq(bP[bQ],false);bK.key=bQ;bM.push(bK);};}else {var bN=0;for(var bQ in bP){bN++ ;};bM=s+bN+E;};break;};return {type:bS,text:bM,trace:bL};}},defer:function(bT){var bU=qx.Bootstrap.$$logs;for(var i=0;i9){return true;};var bc=[p,s];if(bb===D&&bc.indexOf(ba)>-1){var W=[b,C,j,F,k,t,x,d,n,u,E];if(W.indexOf(be.toLowerCase())>-1){return true;};};if(V!=window&&be.toLowerCase().indexOf(f)!=-1){var bd=qx.core.Environment.get(o);return (bd&&bd[z]==be);};var X=G+be.toLowerCase();var Y=(X in V);if(!Y){Y=typeof V[X]==a;if(!Y&&V.setAttribute){V.setAttribute(X,q);Y=typeof V[X]==a;V.removeAttribute(X);};};return Y;},getEventName:function(bf,bi){var bg=[v].concat(qx.bom.Style.VENDOR_PREFIXES);for(var i=0,l=bg.length;i=8){return qx.bom.client.Engine.DOCUMENT_MODE===5;}else {return document.compatMode!==a;};},__cy:{"webkit":i,"gecko":p,"mshtml":q,"opera":H}[qx.bom.client.Engine.getName()]},defer:function(V){qx.core.Environment.add(k,V.getName);qx.core.Environment.add(C,V.getVersion);qx.core.Environment.add(K,V.getDocumentMode);qx.core.Environment.add(j,V.getQuirksMode);}});})();(function(){var a="qx.bom.client.CssTransition",b="E",c="transitionEnd",d="e",e="nd",f="transition",g="css.transition",h="Trans";qx.Bootstrap.define(a,{statics:{getTransitionName:function(){return qx.bom.Style.getPropertyName(f);},getSupport:function(){var name=qx.bom.client.CssTransition.getTransitionName();if(!name){return null;};var i=qx.bom.Event.getEventName(window,c);i=i==c?i.toLowerCase():i;if(!i){i=name+(name.indexOf(h)>0?b:d)+e;};return {name:name,"end-event":i};}},defer:function(j){qx.core.Environment.add(g,j.getSupport);}});})();(function(){var a="__cD",b="UNKNOWN_",c="|bubble",d="",e="_",f="__cE",g="c",h="|",j="qx.globalErrorHandling",k="unload",m="|capture",n="DOM_",o="WIN_",p="QX_",q="qx.event.Manager",r="capture",s="DOCUMENT_";qx.Class.define(q,{extend:Object,construct:function(t,v){this.__cz=t;this.__cA=qx.core.ObjectRegistry.toHashCode(t);this.__cB=v;if(t.qx!==qx){var self=this;var u=function(){qx.bom.Event.removeNativeListener(t,k,arguments.callee);self.dispose();};if(qx.core.Environment.get(j)){qx.bom.Event.addNativeListener(t,k,qx.event.GlobalError.observeMethod(u));}else {qx.bom.Event.addNativeListener(t,k,u);};};this.__cC={};this.__cD={};this.__cE={};this.__cF={};},statics:{__cG:0,getNextUniqueId:function(){return (this.__cG++ )+d;}},members:{__cB:null,__cC:null,__cE:null,__cH:null,__cD:null,__cF:null,__cz:null,__cA:null,getWindow:function(){return this.__cz;},getWindowId:function(){return this.__cA;},getHandler:function(x){var w=this.__cD[x.classname];if(w){return w;};return this.__cD[x.classname]=new x(this);},getDispatcher:function(z){var y=this.__cE[z.classname];if(y){return y;};return this.__cE[z.classname]=new z(this,this.__cB);},getListeners:function(B,F,A){var D=B.$$hash||qx.core.ObjectRegistry.toHashCode(B);var G=this.__cC[D];if(!G){return null;};var E=F+(A?m:c);var C=G[E];return C?C.concat():null;},getAllListeners:function(){return this.__cC;},serializeListeners:function(I){var M=I.$$hash||qx.core.ObjectRegistry.toHashCode(I);var Q=this.__cC[M];var L=[];if(Q){var J,P,H,K,N;for(var O in Q){J=O.indexOf(h);P=O.substring(0,J);H=O.charAt(J+1)==g;K=Q[O];for(var i=0,l=K.length;i0);},importListeners:function(bi,bk){{};var bo=bi.$$hash||qx.core.ObjectRegistry.toHashCode(bi);var bq=this.__cC[bo]={};var bm=qx.event.Manager;for(var bj in bk){var bn=bk[bj];var bp=bn.type+(bn.capture?m:c);var bl=bq[bp];if(!bl){bl=bq[bp]=[];this.__cI(bi,bn.type,bn.capture);};bl.push({handler:bn.listener,context:bn.self,unique:bn.unique||(bm.__cG++ )+d});};},addListener:function(bt,bA,bv,self,br){{var bx;};var bs=bt.$$hash||qx.core.ObjectRegistry.toHashCode(bt);var bB=this.__cC[bs];if(!bB){bB=this.__cC[bs]={};};var bw=bA+(br?m:c);var bu=bB[bw];if(!bu){bu=bB[bw]=[];};if(bu.length===0){this.__cI(bt,bA,br);};var bz=(qx.event.Manager.__cG++ )+d;var by={handler:bv,context:self,unique:bz};bu.push(by);return bw+h+bz;},findHandler:function(bG,bP){var bN=false,bF=false,bQ=false,bC=false;var bM;if(bG.nodeType===1){bN=true;bM=n+bG.tagName.toLowerCase()+e+bP;}else if(bG.nodeType===9){bC=true;bM=s+bP;}else if(bG==this.__cz){bF=true;bM=o+bP;}else if(bG.classname){bQ=true;bM=p+bG.classname+e+bP;}else {bM=b+bG+e+bP;};var bE=this.__cF;if(bE[bM]){return bE[bM];};var bL=this.__cB.getHandlers();var bH=qx.event.IEventHandler;var bJ,bK,bI,bD;for(var i=0,l=bL.length;i0){cu=cw.split(h);cx=cu[0];cs=cu[1]===r;this.__cJ(ct,cx,cs);};};delete this.__cC[cv];return true;},deleteAllListeners:function(cz){delete this.__cC[cz];},__cJ:function(cD,cC,cA){var cB=this.findHandler(cD,cC);if(cB){cB.unregisterEvent(cD,cC,cA);return;};{};},dispatchEvent:function(cF,event){{var cJ;};var cK=event.getType();if(!event.getBubbles()&&!this.hasListener(cF,cK)){qx.event.Pool.getInstance().poolObject(event);return true;};if(!event.getTarget()){event.setTarget(cF);};var cI=this.__cB.getDispatchers();var cH;var cE=false;for(var i=0,l=cI.length;i=0;i-- ){s=r[i];if(s){s.dispose();};};}catch(t){throw new Error(h+p+d+q+f+t);};r.length=0;q[p]=null;},disposeMap:function(v,u){var w=v[u];if(!w){return;};if(qx.core.ObjectRegistry.inShutDown){v[u]=null;return;};try{var y;for(var x in w){y=w[x];if(w.hasOwnProperty(x)&&y){y.dispose();};};}catch(z){throw new Error(g+u+d+v+f+z);};v[u]=null;},disposeTriggeredBy:function(A,C){var B=C.dispose;C.dispose=function(){B.call(C);A.dispose();};},destroyContainer:function(E){{};var D=[];this._collectContainerChildren(E,D);var F=D.length;for(var i=F-1;i>=0;i-- ){D[i].destroy();};E.destroy();},_collectContainerChildren:function(I,H){var J=I.getChildren();for(var i=0;ithis.getSize()){if(k.destroy){k.destroy();}else {k.dispose();};return;};k.$$pooled=true;m.push(k);}},destruct:function(){var p=this.__cO;var n,o,i,l;for(n in p){o=p[n];for(i=0,l=o.length;i8)){qx.bom.Event.addNativeListener(this._window,n,this._onNativeLoadWrapped);}else {var self=this;var A=function(){try{document.documentElement.doScroll(m);if(document.body){self._onNativeLoadWrapped();};}catch(B){window.setTimeout(A,100);};};A();};qx.bom.Event.addNativeListener(this._window,j,this._onNativeLoadWrapped);};this._onNativeUnloadWrapped=qx.lang.Function.bind(this._onNativeUnload,this);qx.bom.Event.addNativeListener(this._window,k,this._onNativeUnloadWrapped);},_stopObserver:function(){if(this._onNativeLoadWrapped){qx.bom.Event.removeNativeListener(this._window,j,this._onNativeLoadWrapped);};qx.bom.Event.removeNativeListener(this._window,k,this._onNativeUnloadWrapped);this._onNativeLoadWrapped=null;this._onNativeUnloadWrapped=null;},_onNativeLoad:function(){var C=qx.core.Environment.select(i,{"true":qx.event.GlobalError.observeMethod(this.__db),"false":this.__db});C.apply(this,arguments);},__db:function(){this.__cV=true;this.__da();},_onNativeUnload:function(){var D=qx.core.Environment.select(i,{"true":qx.event.GlobalError.observeMethod(this.__dc),"false":this.__dc});D.apply(this,arguments);},__dc:function(){if(!this.__cY){this.__cY=true;try{qx.event.Registration.fireEvent(this._window,o);}catch(e){throw e;}finally{qx.core.ObjectRegistry.shutdown();};};}},destruct:function(){this._stopObserver();this._window=null;},defer:function(E){qx.event.Registration.addHandler(E);}});})();(function(){var a="ready",b="shutdown",c="beforeunload",d="qx.core.Init";qx.Class.define(d,{statics:{getApplication:qx.core.BaseInit.getApplication,ready:qx.core.BaseInit.ready,__cS:function(e){var f=this.getApplication();if(f){e.setReturnValue(f.close());};},__cT:function(){var g=this.getApplication();if(g){g.terminate();};}},defer:function(h){qx.event.Registration.addListener(window,a,h.ready,h);qx.event.Registration.addListener(window,b,h.__cT,h);qx.event.Registration.addListener(window,c,h.__cS,h);}});})();(function(){var a="Abstract method call",b="abstract",c="*",d="",e="-webkit-tap-highlight-color: transparent;",f="-ms-touch-select: none;",g="qx.application.AbstractGui",h="-webkit-touch-callout: none;",i="-webkit-tap-highlight-color: rgba(0,0,0,0);";qx.Class.define(g,{type:b,extend:qx.core.Object,implement:[qx.application.IApplication],include:qx.locale.MTranslation,members:{__dd:null,_createRootWidget:function(){throw new Error(a);},getRoot:function(){return this.__dd;},main:function(){qx.theme.manager.Meta.getInstance().initialize();qx.ui.tooltip.Manager.getInstance();var j=[h,f,i,e].join(d);qx.ui.style.Stylesheet.getInstance().addRule(c,j);this.__dd=this._createRootWidget();window.scrollTo(0,0);},finalize:function(){this.render();},render:function(){qx.ui.core.queue.Manager.flush();},close:function(k){},terminate:function(){}},destruct:function(){this.__dd=null;}});})();(function(){var a="The theme to use is not available: ",b="_applyTheme",c="qx.theme",d="qx.theme.manager.Meta",f="qx.theme.Modern",g="qx.event.type.Event",h="Theme",i="changeTheme",j="singleton";qx.Class.define(d,{type:j,extend:qx.core.Object,events:{"changeTheme":g},properties:{theme:{check:h,nullable:false,apply:b}},members:{_applyTheme:function(k,m){var u=true;var w=true;var o=true;var q=true;var l=true;if(m){u=k.meta.color!==m.meta.color;w=k.meta.decoration!==m.meta.decoration;o=k.meta.font!==m.meta.font;q=k.meta.icon!==m.meta.icon;l=k.meta.appearance!==m.meta.appearance;};var n=qx.theme.manager.Color.getInstance();var t=qx.theme.manager.Decoration.getInstance();var r=qx.theme.manager.Font.getInstance();var p=qx.theme.manager.Icon.getInstance();var s=qx.theme.manager.Appearance.getInstance();this._suspendEvents();if(u){if(!w){var v=t.getTheme();t._applyTheme(v);};n.setTheme(k.meta.color);};t.setTheme(k.meta.decoration);r.setTheme(k.meta.font);p.setTheme(k.meta.icon);s.setTheme(k.meta.appearance);if(u||w||o||q||l){this.fireEvent(i);};this._activateEvents();},__de:null,_fireEvent:function(e){if(e.getTarget()===qx.theme.manager.Color.getInstance()){qx.theme.manager.Decoration.getInstance().refresh();};this.fireEvent(i);},_suspendEvents:function(){var B=qx.theme.manager.Color.getInstance();var A=qx.theme.manager.Decoration.getInstance();var x=qx.theme.manager.Font.getInstance();var z=qx.theme.manager.Icon.getInstance();var y=qx.theme.manager.Appearance.getInstance();if(B.hasListener(i)){B.removeListener(i,this._fireEvent,this);};if(A.hasListener(i)){A.removeListener(i,this._fireEvent,this);};if(x.hasListener(i)){x.removeListener(i,this._fireEvent,this);};if(z.hasListener(i)){z.removeListener(i,this._fireEvent,this);};if(y.hasListener(i)){y.removeListener(i,this._fireEvent,this);};},_activateEvents:function(){var G=qx.theme.manager.Color.getInstance();var F=qx.theme.manager.Decoration.getInstance();var C=qx.theme.manager.Font.getInstance();var E=qx.theme.manager.Icon.getInstance();var D=qx.theme.manager.Appearance.getInstance();if(!G.hasListener(i)){G.addListener(i,this._fireEvent,this);};if(!F.hasListener(i)){F.addListener(i,this._fireEvent,this);};if(!C.hasListener(i)){C.addListener(i,this._fireEvent,this);};if(!E.hasListener(i)){E.addListener(i,this._fireEvent,this);};if(!D.hasListener(i)){D.addListener(i,this._fireEvent,this);};},initialize:function(){var J=qx.core.Environment;var H,I;H=J.get(c);if(H){I=qx.Theme.getByName(H);if(!I){throw new Error(a+H);};this.setTheme(I);};}},environment:{"qx.theme":f}});})();(function(){var a="qx.util.ValueManager",b="abstract";qx.Class.define(a,{type:b,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);this._dynamic={};},members:{_dynamic:null,resolveDynamic:function(c){return this._dynamic[c];},isDynamic:function(d){return !!this._dynamic[d];},resolve:function(e){if(e&&this._dynamic[e]){return this._dynamic[e];};return e;},_setDynamic:function(f){this._dynamic=f;},_getDynamic:function(){return this._dynamic;}},destruct:function(){this._dynamic=null;}});})();(function(){var a="Could not parse color: ",b="_applyTheme",c="qx.theme.manager.Color",d="Theme",e="changeTheme",f="string",g="singleton";qx.Class.define(c,{type:g,extend:qx.util.ValueManager,properties:{theme:{check:d,nullable:true,apply:b,event:e}},members:{_applyTheme:function(j){var h={};if(j){var i=j.colors;for(var name in i){h[name]=this.__df(i,name);};};this._setDynamic(h);},__df:function(l,name){var k=l[name];if(typeof k===f){if(!qx.util.ColorUtil.isCssString(k)){if(l[k]!=undefined){return this.__df(l,k);};throw new Error(a+k);};return k;}else if(k instanceof Array){return qx.util.ColorUtil.rgbToRgbString(k);};throw new Error(a+k);},resolve:function(p){var o=this._dynamic;var m=o[p];if(m){return m;};var n=this.getTheme();if(n!==null&&n.colors[p]){return o[p]=n.colors[p];};return p;},isDynamic:function(s){var r=this._dynamic;if(s&&(r[s]!==undefined)){return true;};var q=this.getTheme();if(q!==null&&s&&(q.colors[s]!==undefined)){r[s]=q.colors[s];return true;};return false;}}});})();(function(){var a="Could not parse color: ",c="",d="Invalid hex value: ",e="Could not convert system colors to RGB: ",h="(",j=")",k="#",l="a",m="Invalid hex3 value: ",n="qx.theme.manager.Color",o="qx.util.ColorUtil",q="Invalid hex6 value: ",s="rgb",u=",";qx.Bootstrap.define(o,{statics:{REGEXP:{hex3:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,rgb:/^rgb\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/,rgba:/^rgba\(\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*,\s*([0-9]{1,3}\.{0,1}[0-9]*)\s*\)$/},SYSTEM:{activeborder:true,activecaption:true,appworkspace:true,background:true,buttonface:true,buttonhighlight:true,buttonshadow:true,buttontext:true,captiontext:true,graytext:true,highlight:true,highlighttext:true,inactiveborder:true,inactivecaption:true,inactivecaptiontext:true,infobackground:true,infotext:true,menu:true,menutext:true,scrollbar:true,threeddarkshadow:true,threedface:true,threedhighlight:true,threedlightshadow:true,threedshadow:true,window:true,windowframe:true,windowtext:true},NAMED:{black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255,0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:[-1,-1,-1],magenta:[255,0,255],orange:[255,165,0],brown:[165,42,42]},isNamedColor:function(v){return this.NAMED[v]!==undefined;},isSystemColor:function(w){return this.SYSTEM[w]!==undefined;},supportsThemes:function(){if(qx.Class){return qx.Class.isDefined(n);};return false;},isThemedColor:function(x){if(!this.supportsThemes()){return false;};if(qx.theme&&qx.theme.manager&&qx.theme.manager.Color){return qx.theme.manager.Color.getInstance().isDynamic(x);};return false;},stringToRgb:function(y){if(this.supportsThemes()&&this.isThemedColor(y)){y=qx.theme.manager.Color.getInstance().resolveDynamic(y);};if(this.isNamedColor(y)){return this.NAMED[y].concat();}else if(this.isSystemColor(y)){throw new Error(e+y);}else if(this.isRgbaString(y)){return this.__dh(y);}else if(this.isRgbString(y)){return this.__dg();}else if(this.isHex3String(y)){return this.__di();}else if(this.isHex6String(y)){return this.__dj();};throw new Error(a+y);},cssStringToRgb:function(z){if(this.isNamedColor(z)){return this.NAMED[z];}else if(this.isSystemColor(z)){throw new Error(e+z);}else if(this.isRgbString(z)){return this.__dg();}else if(this.isRgbaString(z)){return this.__dh();}else if(this.isHex3String(z)){return this.__di();}else if(this.isHex6String(z)){return this.__dj();};throw new Error(a+z);},stringToRgbString:function(A){return this.rgbToRgbString(this.stringToRgb(A));},rgbToRgbString:function(B){return s+(B[3]!==undefined?l:c)+h+B.join(u)+j;},rgbToHexString:function(C){return (k+qx.lang.String.pad(C[0].toString(16).toUpperCase(),2)+qx.lang.String.pad(C[1].toString(16).toUpperCase(),2)+qx.lang.String.pad(C[2].toString(16).toUpperCase(),2));},isValidPropertyValue:function(D){return (this.isThemedColor(D)||this.isNamedColor(D)||this.isHex3String(D)||this.isHex6String(D)||this.isRgbString(D)||this.isRgbaString(D));},isCssString:function(E){return (this.isSystemColor(E)||this.isNamedColor(E)||this.isHex3String(E)||this.isHex6String(E)||this.isRgbString(E)||this.isRgbaString(E));},isHex3String:function(F){return this.REGEXP.hex3.test(F);},isHex6String:function(G){return this.REGEXP.hex6.test(G);},isRgbString:function(H){return this.REGEXP.rgb.test(H);},isRgbaString:function(I){return this.REGEXP.rgba.test(I);},__dg:function(){var L=parseInt(RegExp.$1,10);var K=parseInt(RegExp.$2,10);var J=parseInt(RegExp.$3,10);return [L,K,J];},__dh:function(){var P=parseInt(RegExp.$1,10);var O=parseInt(RegExp.$2,10);var M=parseInt(RegExp.$3,10);var N=parseFloat(RegExp.$4,10);if(P===0&&O===0&M===0&&N===0){return [-1,-1,-1];};return [P,O,M];},__di:function(){var S=parseInt(RegExp.$1,16)*17;var R=parseInt(RegExp.$2,16)*17;var Q=parseInt(RegExp.$3,16)*17;return [S,R,Q];},__dj:function(){var V=(parseInt(RegExp.$1,16)*16)+parseInt(RegExp.$2,16);var U=(parseInt(RegExp.$3,16)*16)+parseInt(RegExp.$4,16);var T=(parseInt(RegExp.$5,16)*16)+parseInt(RegExp.$6,16);return [V,U,T];},hex3StringToRgb:function(W){if(this.isHex3String(W)){return this.__di(W);};throw new Error(m+W);},hex3StringToHex6String:function(X){if(this.isHex3String(X)){return this.rgbToHexString(this.hex3StringToRgb(X));};return X;},hex6StringToRgb:function(Y){if(this.isHex6String(Y)){return this.__dj(Y);};throw new Error(q+Y);},hexStringToRgb:function(ba){if(this.isHex3String(ba)){return this.__di(ba);};if(this.isHex6String(ba)){return this.__dj(ba);};throw new Error(d+ba);},rgbToHsb:function(bi){var bc,bd,bf;var bm=bi[0];var bj=bi[1];var bb=bi[2];var bl=(bm>bj)?bm:bj;if(bb>bl){bl=bb;};var be=(bm=1.0){bo%=1.0;};if(bp>1.0){bp=1.0;};if(bq>1.0){bq=1.0;};var br=Math.floor(255*bq);var bs={};if(bp==0.0){bs.red=bs.green=bs.blue=br;}else {bo*=6.0;i=Math.floor(bo);f=bo-i;p=Math.floor(br*(1.0-bp));r=Math.floor(br*(1.0-(bp*f)));t=Math.floor(br*(1.0-(bp*(1.0-f))));switch(i){case 0:bs.red=br;bs.green=t;bs.blue=p;break;case 1:bs.red=r;bs.green=br;bs.blue=p;break;case 2:bs.red=p;bs.green=br;bs.blue=t;break;case 3:bs.red=p;bs.green=r;bs.blue=br;break;case 4:bs.red=t;bs.green=p;bs.blue=br;break;case 5:bs.red=br;bs.green=p;bs.blue=r;break;};};return [bs.red,bs.green,bs.blue];},randomColor:function(){var r=Math.round(Math.random()*255);var g=Math.round(Math.random()*255);var b=Math.round(Math.random()*255);return this.rgbToRgbString([r,g,b]);}}});})();(function(){var a="mshtml",b="engine.name",c="_applyTheme",d="",e="'.",f="qx-",g="__dm",h="Unable to resolve decorator '",j="singleton",k=";",l="qx.theme.manager.Decoration",m=".",n="Theme",o="object",p="changeTheme",q="string",r="browser.documentmode",s=":";qx.Class.define(l,{type:j,extend:qx.core.Object,statics:{CSS_CLASSNAME_PREFIX:f},construct:function(){qx.core.Object.call(this);this.__dk=[];this.__dl=(qx.core.Environment.get(b)==a&&qx.core.Environment.get(r)<9);},properties:{theme:{check:n,nullable:true,apply:c,event:p}},members:{__dm:null,__dk:null,__dl:false,getCssClassName:function(u){var t=qx.theme.manager.Decoration.CSS_CLASSNAME_PREFIX;if(qx.lang.Type.isString(u)){return t+u;}else {return t+u.toHashCode();};},addCssClass:function(z){var w=qx.ui.style.Stylesheet.getInstance();var B=z;z=this.getCssClassName(z);var A=m+z;if(w.hasRule(A)){return z;};if(qx.lang.Type.isString(B)){B=this.resolve(B);};if(!B){throw new Error(h+z+e);};var G=d;var v=B.getStyles(true);for(var D in v){if(qx.Bootstrap.isObject(v[D])){var x=d;var F=v[D];var C=false;for(var y in F){C=true;x+=y+s+F[y]+k;};var E=this.__dl?A:A+(C?s:d);this.__dk.push(E+D);w.addRule(E+D,x);continue;};G+=D+s+v[D]+k;};if(G){w.addRule(A,G);this.__dk.push(A);};return z;},removeAllCssClasses:function(){for(var i=0;i=0; --i){if(B[i].selectorText==E){C.deleteRule(i);};};}else {var B=C.rules;var D=B.length;for(var i=D-1;i>=0; --i){if(B[i].selectorText==E){C.removeRule(i);};};};},removeSheet:function(G){var F=G.ownerNode?G.ownerNode:G.owningElement;qx.dom.Element.removeChild(F,F.parentNode);},removeAllRules:function(I){if(qx.core.Environment.get(m)){var H=I.cssRules;var J=H.length;for(var i=J-1;i>=0;i-- ){I.deleteRule(i);};}else {var H=I.rules;var J=H.length;for(var i=J-1;i>=0;i-- ){I.removeRule(i);};};},addImport:function(L,K){if(qx.core.Environment.get(c)){L.addImport(K);}else {L.insertRule(g+K+k,L.cssRules.length);};},removeImport:function(M,N){if(qx.core.Environment.get(l)){var O=M.imports;var P=O.length;for(var i=P-1;i>=0;i-- ){if(O[i].href==N||O[i].href==qx.util.Uri.getAbsolute(N)){M.removeImport(i);};};}else {var Q=M.cssRules;var P=Q.length;for(var i=P-1;i>=0;i-- ){if(Q[i].href==N){M.deleteRule(i);};};};},removeAllImports:function(S){if(qx.core.Environment.get(l)){var U=S.imports;var T=U.length;for(var i=T-1;i>=0;i-- ){S.removeImport(i);};}else {var R=S.cssRules;var T=R.length;for(var i=T-1;i>=0;i-- ){if(R[i].type==R[i].IMPORT_RULE){S.deleteRule(i);};};};}}});})();(function(){var a="engine.name",b="",c="none",d="qx.dom.Element",e="webkit",f="The tag name is missing!",g="div";qx.Bootstrap.define(d,{statics:{hasChild:function(parent,h){return h.parentNode===parent;},hasChildren:function(j){return !!j.firstChild;},hasChildElements:function(k){k=k.firstChild;while(k){if(k.nodeType===1){return true;};k=k.nextSibling;};return false;},getParentElement:function(m){return m.parentNode;},isInDom:function(p,n){if(!n){n=window;};var o=n.document.getElementsByTagName(p.nodeName);for(var i=0,l=o.length;i0){I[j]=M+b+this.getStyleTop()+G+(O||t);};var M=this.getWidthRight();if(M>0){I[m]=M+b+this.getStyleRight()+G+(L||t);};var M=this.getWidthBottom();if(M>0){I[u]=M+b+this.getStyleBottom()+G+(J||t);};var M=this.getWidthLeft();if(M>0){I[k]=M+b+this.getStyleLeft()+G+(N||t);};{};I.position=H;},_getDefaultInsetsForBorder:function(){return {top:this.getWidthTop(),right:this.getWidthRight(),bottom:this.getWidthBottom(),left:this.getWidthLeft()};},_applyWidth:function(){this._applyStyle();this._resetInsets();},_applyStyle:function(){{};}}});})();(function(){var a=', url(',b="repeat",c="backgroundPositionX",d="backgroundPositionY",e="px",f="background-position",g=" ",h="background-repeat",i="no-repeat",j=')',k="scale",l="_applyBackgroundPosition",m='url(',n="repeat-x",o="background-image",p="100% 100%",q="repeat-y",r="qx.ui.decoration.MBackgroundImage",s="background-size",t="String",u="_applyBackgroundImage";qx.Mixin.define(r,{properties:{backgroundImage:{check:t,nullable:true,apply:u},backgroundRepeat:{check:[b,n,q,i,k],init:b,apply:u},backgroundPositionX:{nullable:true,apply:l},backgroundPositionY:{nullable:true,apply:l},backgroundPosition:{group:[d,c]}},members:{_styleBackgroundImage:function(v){var x=this.getBackgroundImage();if(!x){return;};var y=qx.util.AliasManager.getInstance().resolve(x);var z=qx.util.ResourceManager.getInstance().toUri(y);if(v[o]){v[o]+=a+z+j;}else {v[o]=m+z+j;};var w=this.getBackgroundRepeat();if(w===k){v[s]=p;}else {v[h]=w;};var top=this.getBackgroundPositionY()||0;var A=this.getBackgroundPositionX()||0;if(!isNaN(top)){top+=e;};if(!isNaN(A)){A+=e;};v[f]=A+g+top;{};},_applyBackgroundImage:function(){{};},_applyBackgroundPosition:function(){{};}}});})();(function(){var a="0",b="qx/static",c="http://",d="https://",e="file://",f="qx.util.AliasManager",g="singleton",h=".",i="/",j="static";qx.Class.define(f,{type:g,extend:qx.util.ValueManager,construct:function(){qx.util.ValueManager.call(this);this.__dv={};this.add(j,b);},members:{__dv:null,_preprocess:function(n){var m=this._getDynamic();if(m[n]===false){return n;}else if(m[n]===undefined){if(n.charAt(0)===i||n.charAt(0)===h||n.indexOf(c)===0||n.indexOf(d)===a||n.indexOf(e)===0){m[n]=false;return n;};if(this.__dv[n]){return this.__dv[n];};var l=n.substring(0,n.indexOf(i));var k=this.__dv[l];if(k!==undefined){m[n]=k+n.substring(l.length);};};return n;},add:function(o,q){this.__dv[o]=q;var p=this._getDynamic();for(var r in p){if(r.substring(0,r.indexOf(i))===o){p[r]=q+r.substring(o.length);};};},remove:function(s){delete this.__dv[s];},resolve:function(t){var u=this._getDynamic();if(t!=null){t=this._preprocess(t);};return u[t]||t;},getAliases:function(){var v={};for(var w in this.__dv){v[w]=this.__dv[w];};return v;}},destruct:function(){this.__dv=null;}});})();(function(){var a="Microsoft.XMLHTTP",b="xhr",c="io.ssl",d="io.xhr",e="",f="file:",g="https:",h="webkit",i="gecko",j="activex",k="opera",l=".",m="io.maxrequests",n="qx.bom.client.Transport";qx.Bootstrap.define(n,{statics:{getMaxConcurrentRequestCount:function(){var p;var r=qx.bom.client.Engine.getVersion().split(l);var o=0;var s=0;var q=0;if(r[0]){o=r[0];};if(r[1]){s=r[1];};if(r[2]){q=r[2];};if(window.maxConnectionsPerServer){p=window.maxConnectionsPerServer;}else if(qx.bom.client.Engine.getName()==k){p=8;}else if(qx.bom.client.Engine.getName()==h){p=4;}else if(qx.bom.client.Engine.getName()==i&&((o>1)||((o==1)&&(s>9))||((o==1)&&(s==9)&&(q>=1)))){p=6;}else {p=2;};return p;},getSsl:function(){return window.location.protocol===g;},getXmlHttpRequest:function(){var t=window.ActiveXObject?(function(){if(window.location.protocol!==f){try{new window.XMLHttpRequest();return b;}catch(u){};};try{new window.ActiveXObject(a);return j;}catch(v){};})():(function(){try{new window.XMLHttpRequest();return b;}catch(w){};})();return t||e;}},defer:function(x){qx.core.Environment.add(m,x.getMaxConcurrentRequestCount);qx.core.Environment.add(c,x.getSsl);qx.core.Environment.add(d,x.getXmlHttpRequest);}});})();(function(){var a="singleton",b="qx.util.LibraryManager";qx.Class.define(b,{extend:qx.core.Object,type:a,statics:{__dw:qx.$$libraries||{}},members:{has:function(c){return !!this.self(arguments).__dw[c];},get:function(d,e){return this.self(arguments).__dw[d][e]?this.self(arguments).__dw[d][e]:null;},set:function(f,g,h){this.self(arguments).__dw[f][g]=h;}}});})();(function(){var a="mshtml",b="engine.name",c="//",d="io.ssl",e="",f="encoding",g="?",h="data",i="string",j="type",k="data:image/",l=";",m="/",n="resourceUri",o="qx.util.ResourceManager",p="singleton",q=",";qx.Class.define(o,{extend:qx.core.Object,type:p,construct:function(){qx.core.Object.call(this);},statics:{__j:qx.$$resources||{},__dx:{}},members:{has:function(r){return !!this.self(arguments).__j[r];},getData:function(s){return this.self(arguments).__j[s]||null;},getImageWidth:function(u){var t=this.self(arguments).__j[u];return t?t[0]:null;},getImageHeight:function(w){var v=this.self(arguments).__j[w];return v?v[1]:null;},getImageFormat:function(y){var x=this.self(arguments).__j[y];return x?x[2]:null;},getCombinedFormat:function(D){var A=e;var C=this.self(arguments).__j[D];var z=C&&C.length>4&&typeof (C[4])==i&&this.constructor.__j[C[4]];if(z){var E=C[4];var B=this.constructor.__j[E];A=B[2];};return A;},toUri:function(I){if(I==null){return I;};var F=this.self(arguments).__j[I];if(!F){return I;};if(typeof F===i){var H=F;}else {var H=F[3];if(!H){return I;};};var G=e;if((qx.core.Environment.get(b)==a)&&qx.core.Environment.get(d)){G=this.self(arguments).__dx[H];};return G+qx.util.LibraryManager.getInstance().get(H,n)+m+I;},toDataUri:function(L){var K=this.constructor.__j[L];var N=this.constructor.__j[K[4]];var M;if(N){var J=N[4][L];M=k+J[j]+l+J[f]+q+J[h];}else {M=this.toUri(L);};return M;}},defer:function(P){if((qx.core.Environment.get(b)==a)){if(qx.core.Environment.get(d)){for(var Q in qx.$$libraries){var O;if(qx.util.LibraryManager.getInstance().get(Q,n)){O=qx.util.LibraryManager.getInstance().get(Q,n);}else {P.__dx[Q]=e;continue;};if(O.match(/^\/\//)!=null){P.__dx[Q]=window.location.protocol;}else if(O.match(/^\//)!=null){P.__dx[Q]=window.location.protocol+c+window.location.host;}else if(O.match(/^\.\//)!=null){var S=document.URL;P.__dx[Q]=S.substring(0,S.lastIndexOf(m)+1);}else if(O.match(/^http/)!=null){P.__dx[Q]=e;}else {var R=window.location.href.indexOf(g);var T;if(R==-1){T=window.location.href;}else {T=window.location.href.substring(0,R);};P.__dx[Q]=T.substring(0,T.lastIndexOf(m)+1);};};};};}});})();(function(){var a="innerWidthRight",b="innerColorBottom",c="css.borderradius",d="px ",e='""',f="_applyDoubleBorder",g="border-top",h="inset 0 -",i="css.boxsizing",j="innerWidthTop",k="100%",l="border-left",m="innerColorRight",n="css.boxshadow",o="innerColorTop",p="innerColorLeft",q="inset ",r="shorthand",s="inset -",t="Color",u="border-box",v="qx.ui.decoration.MDoubleBorder",w="border-bottom",x=":before",y="inset 0 ",z="px solid ",A="innerWidthBottom",B="css.rgba",C="inherit",D="Number",E="innerWidthLeft",F="px 0 ",G="inset 0 0 0 ",H="border-right",I=" ",J=",",K="absolute";qx.Mixin.define(v,{include:[qx.ui.decoration.MSingleBorder,qx.ui.decoration.MBackgroundImage],construct:function(){this._getDefaultInsetsForBorder=this.__dA;this._styleBorder=this.__dy;},properties:{innerWidthTop:{check:D,init:0,apply:f},innerWidthRight:{check:D,init:0,apply:f},innerWidthBottom:{check:D,init:0,apply:f},innerWidthLeft:{check:D,init:0,apply:f},innerWidth:{group:[j,a,A,E],mode:r},innerColorTop:{nullable:true,check:t,apply:f},innerColorRight:{nullable:true,check:t,apply:f},innerColorBottom:{nullable:true,check:t,apply:f},innerColorLeft:{nullable:true,check:t,apply:f},innerColor:{group:[o,m,b,p],mode:r},innerOpacity:{check:D,init:1,apply:f}},members:{__dy:function(L){var U=qx.core.Environment.get(n);var O,Y,innerWidth;{var T=qx.theme.manager.Color.getInstance();O={top:T.resolve(this.getColorTop()),right:T.resolve(this.getColorRight()),bottom:T.resolve(this.getColorBottom()),left:T.resolve(this.getColorLeft())};Y={top:T.resolve(this.getInnerColorTop()),right:T.resolve(this.getInnerColorRight()),bottom:T.resolve(this.getInnerColorBottom()),left:T.resolve(this.getInnerColorLeft())};};innerWidth={top:this.getInnerWidthTop(),right:this.getInnerWidthRight(),bottom:this.getInnerWidthBottom(),left:this.getInnerWidthLeft()};var R=this.getWidthTop();if(R>0){L[g]=R+d+this.getStyleTop()+I+O.top;};R=this.getWidthRight();if(R>0){L[H]=R+d+this.getStyleRight()+I+O.right;};R=this.getWidthBottom();if(R>0){L[w]=R+d+this.getStyleBottom()+I+O.bottom;};R=this.getWidthLeft();if(R>0){L[l]=R+d+this.getStyleLeft()+I+O.left;};var X=this.getInnerOpacity();if(X<1){this.__dz(Y,X);};if(innerWidth.top>0||innerWidth.right>0||innerWidth.bottom>0||innerWidth.left>0){var W=(innerWidth.top||0)+z+Y.top;var V=(innerWidth.right||0)+z+Y.right;var Q=(innerWidth.bottom||0)+z+Y.bottom;var S=(innerWidth.left||0)+z+Y.left;L[x]={"width":k,"height":k,"position":K,"content":e,"border-top":W,"border-right":V,"border-bottom":Q,"border-left":S,"left":0,"top":0};var M=qx.bom.Style.getCssName(qx.core.Environment.get(i));L[x][M]=u;var N=qx.core.Environment.get(c);if(N){N=qx.bom.Style.getCssName(N);L[x][N]=C;};var P=[];if(Y.top&&innerWidth.top&&Y.top==Y.bottom&&Y.top==Y.right&&Y.top==Y.left&&innerWidth.top==innerWidth.bottom&&innerWidth.top==innerWidth.right&&innerWidth.top==innerWidth.left){P.push(G+innerWidth.top+d+Y.top);}else {if(Y.top){P.push(y+(innerWidth.top||0)+d+Y.top);};if(Y.right){P.push(s+(innerWidth.right||0)+F+Y.right);};if(Y.bottom){P.push(h+(innerWidth.bottom||0)+d+Y.bottom);};if(Y.left){P.push(q+(innerWidth.left||0)+F+Y.left);};};if(P.length>0&&U){U=qx.bom.Style.getCssName(U);if(!L[U]){L[U]=P.join(J);}else {L[U]+=J+P.join(J);};};}else {L[x]={border:0};};},__dz:function(bd,ba){if(!qx.core.Environment.get(B)){{};return;};for(var be in bd){var bb=qx.util.ColorUtil.stringToRgb(bd[be]);bb.push(ba);var bc=qx.util.ColorUtil.rgbToRgbString(bb);bd[be]=bc;};},_applyDoubleBorder:function(){{};},__dA:function(){return {top:this.getWidthTop()+this.getInnerWidthTop(),right:this.getWidthRight()+this.getInnerWidthRight(),bottom:this.getWidthBottom()+this.getInnerWidthBottom(),left:this.getWidthLeft()+this.getInnerWidthLeft()};}}});})();(function(){var a="css.float",b="foo",c="css.borderimage.standardsyntax",d="detect",e="borderRadius",f="boxSizing",g="stretch",h="css.borderradius",j="content",k="css.inlineblock",l="css.gradient.filter",m="css.appearance",n="css.opacity",o="div",p="pointerEvents",q="css.gradient.radial",r="css.pointerevents",s="input",t="color",u="string",v="borderImage",w="userSelect",x="styleFloat",y="css.textShadow.filter",z="css.usermodify",A="flexbox",B='url("foo.png") 4 4 4 4 fill stretch',C="css.boxmodel",D="qx.bom.client.Css",E="css.boxshadow",F="appearance",G="-ms-flexbox",H="placeholder",I="-moz-none",J="backgroundImage",K="css.textShadow",L="DXImageTransform.Microsoft.Shadow",M="flex",N="css.alphaimageloaderneeded",O="css.gradient.legacywebkit",P="css.flexboxSyntax",Q="linear-gradient(0deg, #fff, #000)",R="textShadow",S="auto",T="css.borderimage",U="foo.png",V="rgba(1, 2, 3, 0.5)",W="color=#666666,direction=45",X="radial-gradient(0px 0px, cover, red 50%, blue 100%)",Y="rgba",bG="(",bH="-webkit-flex",bI='url("foo.png") 4 4 4 4 stretch',bC="css.gradient.linear",bD="DXImageTransform.Microsoft.Gradient",bE="css.userselect",bF="span",bM="css.boxsizing",bN="-webkit-gradient(linear,0% 0%,100% 100%,from(white), to(red))",bO="mshtml",ca="css.rgba",bJ=");",bK="4 fill",bL="none",bA="startColorStr=#550000FF, endColorStr=#55FFFF00",bR="progid:",bB="css.placeholder",bS="css.userselect.none",bT="css.textoverflow",bX="inline-block",bP="-moz-inline-box",bY="textOverflow",bQ="userModify",bU="boxShadow",bV="cssFloat",bW="border";qx.Bootstrap.define(D,{statics:{__dB:null,getBoxModel:function(){var content=qx.bom.client.Engine.getName()!==bO||!qx.bom.client.Browser.getQuirksMode();return content?j:bW;},getTextOverflow:function(){return qx.bom.Style.getPropertyName(bY);},getPlaceholder:function(){var i=document.createElement(s);return H in i;},getAppearance:function(){return qx.bom.Style.getPropertyName(F);},getBorderRadius:function(){return qx.bom.Style.getPropertyName(e);},getBoxShadow:function(){return qx.bom.Style.getPropertyName(bU);},getBorderImage:function(){return qx.bom.Style.getPropertyName(v);},getBorderImageSyntax:function(){var cc=qx.bom.client.Css.getBorderImage();if(!cc){return null;};var cb=document.createElement(o);if(cc===v){cb.style[cc]=B;if(cb.style.borderImageSource.indexOf(U)>=0&&cb.style.borderImageSlice.indexOf(bK)>=0&&cb.style.borderImageRepeat.indexOf(g)>=0){return true;};}else {cb.style[cc]=bI;if(cb.style[cc].indexOf(U)>=0){return false;};};return null;},getUserSelect:function(){return qx.bom.Style.getPropertyName(w);},getUserSelectNone:function(){var ce=qx.bom.client.Css.getUserSelect();if(ce){var cd=document.createElement(bF);cd.style[ce]=I;return cd.style[ce]===I?I:bL;};return null;},getUserModify:function(){return qx.bom.Style.getPropertyName(bQ);},getFloat:function(){var cf=document.documentElement.style;return cf.cssFloat!==undefined?bV:cf.styleFloat!==undefined?x:null;},getLinearGradient:function(){qx.bom.client.Css.__dB=false;var cj=Q;var cg=document.createElement(o);var ch=qx.bom.Style.getAppliedStyle(cg,J,cj);if(!ch){cj=bN;var ch=qx.bom.Style.getAppliedStyle(cg,J,cj,false);if(ch){qx.bom.client.Css.__dB=true;};};if(!ch){return null;};var ci=/(.*?)\(/.exec(ch);return ci?ci[1]:null;},getFilterGradient:function(){return qx.bom.client.Css.__dC(bD,bA);},getRadialGradient:function(){var cn=X;var ck=document.createElement(o);var cl=qx.bom.Style.getAppliedStyle(ck,J,cn);if(!cl){return null;};var cm=/(.*?)\(/.exec(cl);return cm?cm[1]:null;},getLegacyWebkitGradient:function(){if(qx.bom.client.Css.__dB===null){qx.bom.client.Css.getLinearGradient();};return qx.bom.client.Css.__dB;},getRgba:function(){var co;try{co=document.createElement(o);}catch(cp){co=document.createElement();};try{co.style[t]=V;if(co.style[t].indexOf(Y)!=-1){return true;};}catch(cq){};return false;},getBoxSizing:function(){return qx.bom.Style.getPropertyName(f);},getInlineBlock:function(){var cr=document.createElement(bF);cr.style.display=bX;if(cr.style.display==bX){return bX;};cr.style.display=bP;if(cr.style.display!==bP){return bP;};return null;},getOpacity:function(){return (typeof document.documentElement.style.opacity==u);},getTextShadow:function(){return !!qx.bom.Style.getPropertyName(R);},getFilterTextShadow:function(){return qx.bom.client.Css.__dC(L,W);},__dC:function(cv,ct){var cu=false;var cw=bR+cv+bG+ct+bJ;var cs=document.createElement(o);document.body.appendChild(cs);cs.style.filter=cw;if(cs.filters&&cs.filters.length>0&&cs.filters.item(cv).enabled==true){cu=true;};document.body.removeChild(cs);return cu;},getAlphaImageLoaderNeeded:function(){return qx.bom.client.Engine.getName()==bO&&qx.bom.client.Browser.getDocumentMode()<9;},getPointerEvents:function(){var cx=document.documentElement;if(p in cx.style){var cz=cx.style.pointerEvents;cx.style.pointerEvents=S;cx.style.pointerEvents=b;var cy=cx.style.pointerEvents==S;cx.style.pointerEvents=cz;return cy;};return false;},getFlexboxSyntax:function(){var cB=null;var cA=document.createElement(d);var cC=[{value:M,syntax:M},{value:G,syntax:A},{value:bH,syntax:M}];for(var i=0;i0){B=true;A[y]=C+c;A[n]=C+c;A[j]=C+c;};C=this.getRadiusTopRight();if(C>0){B=true;A[t]=C+c;A[w]=C+c;A[k]=C+c;};C=this.getRadiusBottomLeft();if(C>0){B=true;A[z]=C+c;A[d]=C+c;A[l]=C+c;};C=this.getRadiusBottomRight();if(C>0){B=true;A[p]=C+c;A[h]=C+c;A[r]=C+c;};if(B&&qx.core.Environment.get(u)==x){A[e]=q;}else {A[i]=q;};},_applyBorderRadius:function(){{};}}});})();(function(){var a="border-width",b="css.borderimage.standardsyntax",c="repeat",d="Boolean",e="-l",f="stretch",g="px ",h="sliceBottom",i="-t",j="Integer",k="solid",l="borderImage",m="-r",n="border-style",o="sliceLeft",p="-b",q="sliceRight",r="px",s="repeatX",t=" fill",u="String",v="vertical",w="",x="transparent",y="round",z='") ',A="shorthand",B="qx.ui.decoration.MBorderImage",C="sliceTop",D="horizontal",E="_applyBorderImage",F="border-color",G='url("',H=" ",I="grid",J="repeatY";qx.Mixin.define(B,{properties:{borderImage:{check:u,nullable:true,apply:E},sliceTop:{check:j,nullable:true,init:null,apply:E},sliceRight:{check:j,nullable:true,init:null,apply:E},sliceBottom:{check:j,nullable:true,init:null,apply:E},sliceLeft:{check:j,nullable:true,init:null,apply:E},slice:{group:[C,q,h,o],mode:A},repeatX:{check:[f,c,y],init:f,apply:E},repeatY:{check:[f,c,y],init:f,apply:E},repeat:{group:[s,J],mode:A},fill:{check:d,init:true,apply:E},borderImageMode:{check:[D,v,I],init:I}},members:{_styleBorderImage:function(K){if(!this.getBorderImage()){return;};var M=qx.util.AliasManager.getInstance().resolve(this.getBorderImage());var O=qx.util.ResourceManager.getInstance().toUri(M);var R=this._getDefaultInsetsForBorderImage();var L=[R.top,R.right,R.bottom,R.left];var P=[this.getRepeatX(),this.getRepeatY()].join(H);var S=this.getFill()&&qx.core.Environment.get(b)?t:w;var N=qx.bom.Style.getPropertyName(l);if(N){var Q=qx.bom.Style.getCssName(N);K[Q]=G+O+z+L.join(H)+S+H+P;};K[n]=k;K[F]=x;K[a]=L.join(g)+r;},_getDefaultInsetsForBorderImage:function(){if(!this.getBorderImage()){return {top:0,right:0,bottom:0,left:0};};var T=qx.util.AliasManager.getInstance().resolve(this.getBorderImage());var U=this.__dD(T);return {top:this.getSliceTop()||U[0],right:this.getSliceRight()||U[1],bottom:this.getSliceBottom()||U[2],left:this.getSliceLeft()||U[3]};},_applyBorderImage:function(){{};},__dD:function(bc){var bb=this.getBorderImageMode();var bd=0;var Y=0;var ba=0;var be=0;var bf=/(.*)(\.[a-z]+)$/.exec(bc);var V=bf[1];var X=bf[2];var W=qx.util.ResourceManager.getInstance();if(bb==I||bb==v){bd=W.getImageHeight(V+i+X);ba=W.getImageHeight(V+p+X);};if(bb==I||bb==D){Y=W.getImageWidth(V+m+X);be=W.getImageWidth(V+e+X);};return [bd,Y,ba,be];}}});})();(function(){var a=" 0",b="),to(",c="px",d="css.borderradius",e="from(",f=")",g="background-image",h="background",i="filter",j="background-size",k="', ",l="0",m="_applyLinearBackgroundGradient",n="-webkit-gradient(linear,",o="startColorPosition",p="background-color",q="deg, ",r="url(",s="css.gradient.legacywebkit",t="EndColorStr='#FF",u="startColor",v="shorthand",w="Color",x="px 100%",y="StartColorStr='#FF",z="vertical",A="",B="transparent",C="qx.ui.decoration.MLinearBackgroundGradient",D="% 100%",E="endColorPosition",F="canvas",G="(",H="css.gradient.linear",I="';)",J="endColor",K=", ",L="css.gradient.filter",M="horizontal",N="Number",O="100% ",P='2d',Q="%",R=" ",S="white",T="linear-gradient",U='progid:DXImageTransform.Microsoft.Gradient(GradientType=',V=",";qx.Mixin.define(C,{properties:{startColor:{check:w,nullable:true,apply:m},endColor:{check:w,nullable:true,apply:m},orientation:{check:[M,z],init:z,apply:m},startColorPosition:{check:N,init:0,apply:m},endColorPosition:{check:N,init:100,apply:m},colorPositionUnit:{check:[c,Q],init:Q,apply:m},gradientStart:{group:[u,o],mode:v},gradientEnd:{group:[J,E],mode:v}},members:{__dE:null,_styleLinearBackgroundGradient:function(W){var bj=this.__dF();var bn=bj.start;var bh=bj.end;var bf;if(!bn||!bh){return;};var bq=this.getColorPositionUnit();if(qx.core.Environment.get(s)){bq=bq===c?A:bq;if(this.getOrientation()==M){var bm=this.getStartColorPosition()+bq+a+bq;var bk=this.getEndColorPosition()+bq+a+bq;}else {var bm=l+bq+R+this.getStartColorPosition()+bq;var bk=l+bq+R+this.getEndColorPosition()+bq;};var bb=e+bn+b+bh+f;bf=n+bm+V+bk+V+bb+f;W[h]=bf;}else if(qx.core.Environment.get(L)&&!qx.core.Environment.get(H)&&qx.core.Environment.get(d)){if(!this.__dE){this.__dE=document.createElement(F);};var X=this.getOrientation()==z;var bj=this.__dF();var bg=X?200:1;var ba=X?1:200;var be=Math.max(100,this.getEndColorPosition()-this.getStartColorPosition());if(bq===c){if(X){bg=Math.max(bg,this.getEndColorPosition()-this.getStartColorPosition());}else {ba=Math.max(ba,this.getEndColorPosition()-this.getStartColorPosition());};}else {if(X){bg=Math.max(bg,(this.getEndColorPosition()-this.getStartColorPosition())*2);}else {ba=Math.max(ba,(this.getEndColorPosition()-this.getStartColorPosition())*2);};};this.__dE.width=ba;this.__dE.height=bg;var bd=this.__dE.getContext(P);if(X){var bp=bd.createLinearGradient(0,0,0,bg);}else {var bp=bd.createLinearGradient(0,0,ba,0);};if(bq===Q){bp.addColorStop(Math.max(0,this.getStartColorPosition())/be,bj.start);bp.addColorStop(this.getEndColorPosition()/be,bj.end);}else {var bc=X?bg:ba;bp.addColorStop(Math.max(0,this.getStartColorPosition())/bc,bj.start);bp.addColorStop(this.getEndColorPosition()/bc,bj.end);};bd.fillStyle=bp;bd.fillRect(0,0,ba,bg);var bf=r+this.__dE.toDataURL()+f;W[g]=bf;if(bq===Q){if(X){W[j]=O+be+Q;}else {W[j]=be+D;};}else {W[j]=X?bg+x:O+ba+c;};}else if(qx.core.Environment.get(L)&&!qx.core.Environment.get(H)){var bj=this.__dF();var bo=this.getOrientation()==M?1:0;var bn=bj.start;var bh=bj.end;if(!qx.util.ColorUtil.isHex6String(bn)){bn=qx.util.ColorUtil.stringToRgb(bn);bn=qx.util.ColorUtil.rgbToHexString(bn);};if(!qx.util.ColorUtil.isHex6String(bh)){bh=qx.util.ColorUtil.stringToRgb(bh);bh=qx.util.ColorUtil.rgbToHexString(bh);};bn=bn.substring(1,bn.length);bh=bh.substring(1,bh.length);bf=U+bo+K+y+bn+k+t+bh+I;if(W[i]){W[i]+=K+bf;}else {W[i]=bf;};if(!W[p]||W[p]==B){W[p]=S;};}else {var br=this.getOrientation()==M?0:270;var bi=bn+R+this.getStartColorPosition()+bq;var Y=bh+R+this.getEndColorPosition()+bq;var bl=qx.core.Environment.get(H);if(bl===T){br=this.getOrientation()==M?br+90:br-90;};bf=bl+G+br+q+bi+V+Y+f;if(W[g]){W[g]+=K+bf;}else {W[g]=bf;};};},__dF:function(){{var bs=qx.theme.manager.Color.getInstance();var bu=bs.resolve(this.getStartColor());var bt=bs.resolve(this.getEndColor());};return {start:bu,end:bt};},_applyLinearBackgroundGradient:function(){{};}}});})();(function(){var a="_applyBoxShadow",b="shadowHorizontalLength",c="Boolean",d="",e="px ",f="css.boxshadow",g="shadowVerticalLength",h="inset ",i="shorthand",j="qx.ui.decoration.MBoxShadow",k="Integer",l="Color",m=",";qx.Mixin.define(j,{properties:{shadowHorizontalLength:{nullable:true,check:k,apply:a},shadowVerticalLength:{nullable:true,check:k,apply:a},shadowBlurRadius:{nullable:true,check:k,apply:a},shadowSpreadRadius:{nullable:true,check:k,apply:a},shadowColor:{nullable:true,check:l,apply:a},inset:{init:false,check:c,apply:a},shadowLength:{group:[b,g],mode:i}},members:{_styleBoxShadow:function(n){var v=qx.core.Environment.get(f);if(!v||this.getShadowVerticalLength()==null&&this.getShadowHorizontalLength()==null){return;};{var r=qx.theme.manager.Color.getInstance();var o=r.resolve(this.getShadowColor());};if(o!=null){var u=this.getShadowVerticalLength()||0;var p=this.getShadowHorizontalLength()||0;var blur=this.getShadowBlurRadius()||0;var t=this.getShadowSpreadRadius()||0;var s=this.getInset()?h:d;var q=s+p+e+u+e+blur+e+t+e+o;v=qx.bom.Style.getCssName(v);if(!n[v]){n[v]=q;}else {n[v]+=m+q;};};},_applyBoxShadow:function(){{};}}});})();(function(){var a="qx.ui.decoration.Decorator",b="_style",c="_getDefaultInsetsFor",d="bottom",e="top",f="left",g="right";qx.Class.define(a,{extend:qx.ui.decoration.Abstract,implement:[qx.ui.decoration.IDecorator],include:[qx.ui.decoration.MBackgroundColor,qx.ui.decoration.MBorderRadius,qx.ui.decoration.MBoxShadow,qx.ui.decoration.MDoubleBorder,qx.ui.decoration.MLinearBackgroundGradient,qx.ui.decoration.MBorderImage],members:{__dG:false,getPadding:function(){var k=this.getInset();var h=this._getDefaultInsetsForBorderImage();var n=k.top-(h.top?h.top:this.getWidthTop());var m=k.right-(h.right?h.right:this.getWidthRight());var j=k.bottom-(h.bottom?h.bottom:this.getWidthBottom());var l=k.left-(h.left?h.left:this.getWidthLeft());return {top:k.top?n:this.getInnerWidthTop(),right:k.right?m:this.getInnerWidthRight(),bottom:k.bottom?j:this.getInnerWidthBottom(),left:k.left?l:this.getInnerWidthLeft()};},getStyles:function(r){if(r){return this._getStyles();};var q={};var p=this._getStyles();for(var o in p){q[qx.lang.String.camelCase(o)]=p[o];};return q;},_getStyles:function(){var s={};for(var name in this){if(name.indexOf(b)==0&&this[name] instanceof Function){this[name](s);};};this.__dG=true;return s;},_getDefaultInsets:function(){var w=[e,g,d,f];var u={};for(var name in this){if(name.indexOf(c)==0&&this[name] instanceof Function){var v=this[name]();for(var i=0;iu[t]){u[t]=v[t];};};};};if(u[e]!=undefined){return u;};return {top:0,right:0,bottom:0,left:0};},_isInitialized:function(){return this.__dG;}}});})();(function(){var a="_applyTheme",b="qx.theme.manager.Font",c="_dynamic",d="Theme",e="changeTheme",f="singleton";qx.Class.define(b,{type:f,extend:qx.util.ValueManager,properties:{theme:{check:d,nullable:true,apply:a,event:e}},members:{resolveDynamic:function(h){var g=this._dynamic;return h instanceof qx.bom.Font?h:g[h];},resolve:function(l){var k=this._dynamic;var i=k[l];if(i){return i;};var j=this.getTheme();if(j!==null&&j.fonts[l]){var m=this.__dI(j.fonts[l]);return k[l]=(new m).set(j.fonts[l]);};return l;},isDynamic:function(q){var p=this._dynamic;if(q&&(q instanceof qx.bom.Font||p[q]!==undefined)){return true;};var o=this.getTheme();if(o!==null&&q&&o.fonts[q]){var n=this.__dI(o.fonts[q]);p[q]=(new n).set(o.fonts[q]);return true;};return false;},__dH:function(s,r){if(s[r].include){var t=s[s[r].include];s[r].include=null;delete s[r].include;s[r]=qx.lang.Object.mergeWith(s[r],t,false);this.__dH(s,r);};},_applyTheme:function(y){var u=this._dynamic;for(var x in u){if(u[x].themed){u[x].dispose();delete u[x];};};if(y){var v=y.fonts;for(var x in v){if(v[x].include&&v[v[x].include]){this.__dH(v,x);};var w=this.__dI(v[x]);u[x]=(new w).set(v[x]);u[x].themed=true;};};this._setDynamic(u);},__dI:function(z){if(z.sources){return qx.bom.webfonts.WebFont;};return qx.bom.Font;}},destruct:function(){this._disposeMap(c);}});})();(function(){var a="Boolean",b="px",c="_applyItalic",d="_applyBold",e="underline",f="_applyTextShadow",g="Integer",h="_applyFamily",j="_applyLineHeight",k='"',m="Array",n="line-through",o="overline",p="Color",q="String",r="",s="italic",t="normal",u="qx.bom.Font",v="bold",w="Number",x="_applyDecoration",y=" ",z="_applySize",A=",",B="_applyColor";qx.Class.define(u,{extend:qx.core.Object,construct:function(D,C){qx.core.Object.call(this);this.__dJ={fontFamily:r,fontSize:null,fontWeight:null,fontStyle:null,textDecoration:null,lineHeight:null,color:null,textShadow:null};if(D!==undefined){this.setSize(D);};if(C!==undefined){this.setFamily(C);};},statics:{fromString:function(H){var I=new qx.bom.Font();var F=H.split(/\s+/);var name=[];var G;for(var i=0;i0){I.setFamily(name);};return I;},fromConfig:function(K){var J=new qx.bom.Font;J.set(K);return J;},__dK:{fontFamily:r,fontSize:r,fontWeight:r,fontStyle:r,textDecoration:r,lineHeight:1.2,color:r,textShadow:r},getDefaultStyles:function(){return this.__dK;}},properties:{size:{check:g,nullable:true,apply:z},lineHeight:{check:w,nullable:true,apply:j},family:{check:m,nullable:true,apply:h},bold:{check:a,nullable:true,apply:d},italic:{check:a,nullable:true,apply:c},decoration:{check:[e,n,o],nullable:true,apply:x},color:{check:p,nullable:true,apply:B},textShadow:{nullable:true,check:q,apply:f}},members:{__dJ:null,_applySize:function(M,L){this.__dJ.fontSize=M===null?null:M+b;},_applyLineHeight:function(O,N){this.__dJ.lineHeight=O===null?null:O;},_applyFamily:function(P,Q){var R=r;for(var i=0,l=P.length;i0){R+=k+P[i]+k;}else {R+=P[i];};if(i!==l-1){R+=A;};};this.__dJ.fontFamily=R;},_applyBold:function(T,S){this.__dJ.fontWeight=T==null?null:T?v:t;},_applyItalic:function(V,U){this.__dJ.fontStyle=V==null?null:V?s:t;},_applyDecoration:function(X,W){this.__dJ.textDecoration=X==null?null:X;},_applyColor:function(ba,Y){this.__dJ.color=null;if(ba){this.__dJ.color=qx.theme.manager.Color.getInstance().resolve(ba);};},_applyTextShadow:function(bc,bb){this.__dJ.textShadow=bc==null?null:bc;},getStyles:function(){return this.__dJ;}}});})();(function(){var a="changeStatus",b="qx.bom.webfonts.WebFont",c="_applySources",d="",e="qx.event.type.Data";qx.Class.define(b,{extend:qx.bom.Font,events:{"changeStatus":e},properties:{sources:{nullable:true,apply:c}},members:{__dL:null,_applySources:function(h,k){var f=[];for(var i=0,l=h.length;i1){bk=bk+u+bp[1];};bl.push(bk);};if(qx.core.Environment.get(T)==S&&(parseInt(qx.core.Environment.get(Q))<9||qx.core.Environment.get(E)<9)){if(!this.__dR){this.__dR=new qx.event.Timer(100);this.__dR.addListener(t,this.__dT,this);};if(!this.__dR.isEnabled()){this.__dR.start();};this.__dO.push([bm,bl,bo,bq]);}else {this.__dS(bm,bl,bo,bq);};},remove:function(bs){var br=null;for(var i=0,l=this.__dM.length;i=9)||(bx==v&&bu>=3.6)||(bx==g&&bu>=6)){bt.push(bh);};if((bx==P&&bu>=10)||(bx==G&&bu>=3.1)||(bx==v&&bu>=3.5)||(bx==g&&bu>=4)||(bx==F&&bw==z&&bv>=4.2)){bt.push(J);};if(bx==bi&&bu>=4){bt.push(y);};if(bx==p&&bw==z&&bv>=4.1){bt.push(f);};return bt;},removeStyleSheet:function(){this.__dM=[];if(this.__dQ){qx.bom.Stylesheet.removeSheet(this.__dQ);};this.__dQ=null;},__dS:function(bA,bC,bz,bD){if(!qx.lang.Array.contains(this.__dM,bA)){var bE=this.__dV(bC);var bB=this.__dW(bA,bE);if(!bB){throw new Error(R+bA+w);};if(!this.__dQ){this.__dQ=qx.bom.Stylesheet.createElement();};try{this.__dY(bB);}catch(bF){{};};this.__dM.push(bA);};if(!this.__dN[bA]){this.__dN[bA]=new qx.bom.webfonts.Validator(bA);this.__dN[bA].setTimeout(qx.bom.webfonts.Manager.VALIDATION_TIMEOUT);this.__dN[bA].addListenerOnce(s,this.__dU,this);};if(bz){var by=bD||window;this.__dN[bA].addListenerOnce(s,bz,by);};this.__dN[bA].validate();},__dT:function(){if(this.__dO.length==0){this.__dR.stop();return;};var bG=this.__dO.shift();this.__dS.apply(this,bG);},__dU:function(bH){var bI=bH.getData();if(bI.valid===false){qx.event.Timer.once(function(){this.remove(bI.family);},this,250);};},__dV:function(bJ){var bL=qx.bom.webfonts.Manager.FONT_FORMATS;var bK={};for(var i=0,l=bJ.length;i0?this.__dP:qx.bom.webfonts.Manager.FONT_FORMATS;for(var i=0,l=bP.length;i=this.getTimeout()){this.__ei.stop();this._reset();this.fireDataEvent(b,{family:this.getFontFamily(),valid:false});};};}},destruct:function(){this._reset();this.__ei.stop();this.__ei.removeListener(h,this.__el,this);this._disposeObjects(p);}});})();(function(){var a="mshtml",b="engine.name",c="qx.bom.element.Dimension",d="0px",e="paddingRight",f="paddingLeft",g="opera",h="overflowY",i="paddingTop",j="overflowX",k="browser.documentmode",l="paddingBottom";qx.Bootstrap.define(c,{statics:{getWidth:function(n){var m=this._getBoundingClientRect(n);return Math.round(m.right-m.left);},getHeight:function(p){var o=this._getBoundingClientRect(p);return Math.round(o.bottom-o.top);},_getBoundingClientRect:function(t){var s=t.getBoundingClientRect();if(qx.core.Environment.get(k)===11&&!!document.msFullscreenElement&&window!==window.top&&this.__em(t)){var q={};for(var r in s){q[r]=s[r]*100;};s=q;};return s;},__em:function(u){if(document.msFullscreenElement===u){return true;};return qx.dom.Hierarchy.contains(document.msFullscreenElement,u);},getSize:function(v){return {width:this.getWidth(v),height:this.getHeight(v)};},__en:{visible:true,hidden:true},getContentWidth:function(z){var w=qx.bom.element.Style;var x=qx.bom.element.Style.get(z,j);var y=parseInt(w.get(z,f)||d,10);var C=parseInt(w.get(z,e)||d,10);if(this.__en[x]){var B=z.clientWidth;if((qx.core.Environment.get(b)==g)||qx.dom.Node.isBlockNode(z)){B=B-y-C;};if(qx.core.Environment.get(b)==a){if(B===0&&z.offsetHeight===0){return z.offsetWidth;};};return B;}else {if(z.clientWidth>=z.scrollWidth){return Math.max(z.clientWidth,z.scrollWidth)-y-C;}else {var A=z.scrollWidth-y;if(qx.core.Environment.get(b)==a){A-=C;};return A;};};},getContentHeight:function(H){var D=qx.bom.element.Style;var G=qx.bom.element.Style.get(H,h);var F=parseInt(D.get(H,i)||d,10);var E=parseInt(D.get(H,l)||d,10);if(this.__en[G]){return H.clientHeight-F-E;}else {if(H.clientHeight>=H.scrollHeight){return Math.max(H.clientHeight,H.scrollHeight)-F-E;}else {return H.scrollHeight-F;};};},getContentSize:function(I){return {width:this.getContentWidth(I),height:this.getContentHeight(I)};}}});})();(function(){var a="qx.dom.Hierarchy",b="previousSibling",c="html.element.contains",d="html.element.compareDocumentPosition",e="nextSibling",f="parentNode",g="*";qx.Bootstrap.define(a,{statics:{getNodeIndex:function(h){var i=0;while(h&&(h=h.previousSibling)){i++ ;};return i;},getElementIndex:function(l){var j=0;var k=qx.dom.Node.ELEMENT;while(l&&(l=l.previousSibling)){if(l.nodeType==k){j++ ;};};return j;},getNextElementSibling:function(m){while(m&&(m=m.nextSibling)&&!qx.dom.Node.isElement(m)){continue;};return m||null;},getPreviousElementSibling:function(n){while(n&&(n=n.previousSibling)&&!qx.dom.Node.isElement(n)){continue;};return n||null;},contains:function(q,p){if(qx.core.Environment.get(c)){if(qx.dom.Node.isDocument(q)){var o=qx.dom.Node.getDocument(p);return q&&o==q;}else if(qx.dom.Node.isDocument(p)){return false;}else {return q.contains(p);};}else if(qx.core.Environment.get(d)){return !!(q.compareDocumentPosition(p)&16);}else {while(p){if(q==p){return true;};p=p.parentNode;};return false;};},isRendered:function(s){var r=s.ownerDocument||s.document;if(qx.core.Environment.get(c)){if(!s.parentNode){return false;};return r.body.contains(s);}else if(qx.core.Environment.get(d)){return !!(r.compareDocumentPosition(s)&16);}else {while(s){if(s==r.body){return true;};s=s.parentNode;};return false;};},isDescendantOf:function(u,t){return this.contains(t,u);},getCommonParent:function(w,x){if(w===x){return w;};if(qx.core.Environment.get(c)){while(w&&qx.dom.Node.isElement(w)){if(w.contains(x)){return w;};w=w.parentNode;};return null;}else {var v=[];while(w||x){if(w){if(qx.lang.Array.contains(v,w)){return w;};v.push(w);w=w.parentNode;};if(x){if(qx.lang.Array.contains(v,x)){return x;};v.push(x);x=x.parentNode;};};return null;};},getAncestors:function(y){return this._recursivelyCollect(y,f);},getChildElements:function(A){A=A.firstChild;if(!A){return [];};var z=this.getNextSiblings(A);if(A.nodeType===1){z.unshift(A);};return z;},getDescendants:function(B){return qx.lang.Array.fromCollection(B.getElementsByTagName(g));},getFirstDescendant:function(C){C=C.firstChild;while(C&&C.nodeType!=1){C=C.nextSibling;};return C;},getLastDescendant:function(D){D=D.lastChild;while(D&&D.nodeType!=1){D=D.previousSibling;};return D;},getPreviousSiblings:function(E){return this._recursivelyCollect(E,b);},getNextSiblings:function(F){return this._recursivelyCollect(F,e);},_recursivelyCollect:function(I,G){var H=[];while(I=I[G]){if(I.nodeType==1){H.push(I);};};return H;},getSiblings:function(J){return this.getPreviousSiblings(J).reverse().concat(this.getNextSiblings(J));},isEmpty:function(K){K=K.firstChild;while(K){if(K.nodeType===qx.dom.Node.ELEMENT||K.nodeType===qx.dom.Node.TEXT){return false;};K=K.nextSibling;};return true;},cleanWhitespace:function(N){var L=N.firstChild;while(L){var M=L.nextSibling;if(L.nodeType==3&&!/\S/.test(L.nodeValue)){N.removeChild(L);};L=M;};}}});})();(function(){var a="engine.name",b=");",c="",d=")",e="zoom:1;filter:alpha(opacity=",f="qx.bom.element.Opacity",g="css.opacity",h=";",i="opacity:",j="alpha(opacity=",k="opacity",l="filter";qx.Bootstrap.define(f,{statics:{compile:qx.core.Environment.select(a,{"mshtml":function(m){if(m>=1){m=1;};if(m<0.00001){m=0;};if(qx.core.Environment.get(g)){return i+m+h;}else {return e+(m*100)+b;};},"default":function(n){return i+n+h;}}),set:qx.core.Environment.select(a,{"mshtml":function(q,o){if(qx.core.Environment.get(g)){q.style.opacity=o;}else {var p=qx.bom.element.Style.get(q,l,qx.bom.element.Style.COMPUTED_MODE,false);if(o>=1){o=1;};if(o<0.00001){o=0;};if(!q.currentStyle||!q.currentStyle.hasLayout){q.style.zoom=1;};q.style.filter=p.replace(/alpha\([^\)]*\)/gi,c)+j+o*100+d;};},"default":function(s,r){s.style.opacity=r;}}),reset:qx.core.Environment.select(a,{"mshtml":function(u){if(qx.core.Environment.get(g)){u.style.opacity=c;}else {var t=qx.bom.element.Style.get(u,l,qx.bom.element.Style.COMPUTED_MODE,false);u.style.filter=t.replace(/alpha\([^\)]*\)/gi,c);};},"default":function(v){v.style.opacity=c;}}),get:qx.core.Environment.select(a,{"mshtml":function(z,y){if(qx.core.Environment.get(g)){var w=qx.bom.element.Style.get(z,k,y,false);if(w!=null){return parseFloat(w);};return 1.0;}else {var x=qx.bom.element.Style.get(z,l,y,false);if(x){var w=x.match(/alpha\(opacity=(.*)\)/);if(w&&w[1]){return parseFloat(w[1])/100;};};return 1.0;};},"default":function(C,B){var A=qx.bom.element.Style.get(C,k,B,false);if(A!=null){return parseFloat(A);};return 1.0;}})}});})();(function(){var a="cursor:",b="engine.name",c="",d="mshtml",e="nw-resize",f="engine.version",g="nesw-resize",h="browser.documentmode",i=";",j="nwse-resize",k="qx.bom.element.Cursor",l="ne-resize",m="browser.quirksmode",n="cursor";qx.Bootstrap.define(k,{statics:{__eo:{},compile:function(o){return a+(this.__eo[o]||o)+i;},get:function(q,p){return qx.bom.element.Style.get(q,n,p,false);},set:function(s,r){s.style.cursor=this.__eo[r]||r;},reset:function(t){t.style.cursor=c;}},defer:function(u){if(qx.core.Environment.get(b)==d&&((parseFloat(qx.core.Environment.get(f))<9||qx.core.Environment.get(h)<9)&&!qx.core.Environment.get(m))){u.__eo[g]=l;u.__eo[j]=e;};}});})();(function(){var a="border-box",b="qx.bom.element.BoxSizing",c="css.boxsizing",d="",e="boxSizing",f="content-box",g=":",h=";";qx.Bootstrap.define(b,{statics:{__ep:{tags:{button:true,select:true},types:{search:true,button:true,submit:true,reset:true,checkbox:true,radio:true}},__eq:function(j){var i=this.__ep;return i.tags[j.tagName.toLowerCase()]||i.types[j.type];},compile:function(k){if(qx.core.Environment.get(c)){var l=qx.bom.Style.getCssName(qx.core.Environment.get(c));return l+g+k+h;}else {{};};},get:function(m){if(qx.core.Environment.get(c)){return qx.bom.element.Style.get(m,e,null,false)||d;};if(qx.bom.Document.isStandardMode(qx.dom.Node.getWindow(m))){if(!this.__eq(m)){return f;};};return a;},set:function(o,n){if(qx.core.Environment.get(c)){try{o.style[qx.core.Environment.get(c)]=n;}catch(p){{};};}else {{};};},reset:function(q){this.set(q,d);}}});})();(function(){var a="clip:auto;",b="rect(",c=")",d=");",e="",f="px",g="Could not parse clip string: ",h="qx.bom.element.Clip",i="string",j="clip:rect(",k=" ",l="clip",m="rect(auto,auto,auto,auto)",n="rect(auto, auto, auto, auto)",o="auto",p=",";qx.Bootstrap.define(h,{statics:{compile:function(q){if(!q){return a;};var v=q.left;var top=q.top;var u=q.width;var t=q.height;var r,s;if(v==null){r=(u==null?o:u+f);v=o;}else {r=(u==null?o:v+u+f);v=v+f;};if(top==null){s=(t==null?o:t+f);top=o;}else {s=(t==null?o:top+t+f);top=top+f;};return j+top+p+r+p+s+p+v+d;},get:function(z,D){var x=qx.bom.element.Style.get(z,l,D,false);var C,top,A,E;var w,y;if(typeof x===i&&x!==o&&x!==e){x=x.trim();if(/\((.*)\)/.test(x)){var F=RegExp.$1;if(/,/.test(F)){var B=F.split(p);}else {var B=F.split(k);};top=B[0].trim();w=B[1].trim();y=B[2].trim();C=B[3].trim();if(C===o){C=null;};if(top===o){top=null;};if(w===o){w=null;};if(y===o){y=null;};if(top!=null){top=parseInt(top,10);};if(w!=null){w=parseInt(w,10);};if(y!=null){y=parseInt(y,10);};if(C!=null){C=parseInt(C,10);};if(w!=null&&C!=null){A=w-C;}else if(w!=null){A=w;};if(y!=null&&top!=null){E=y-top;}else if(y!=null){E=y;};}else {throw new Error(g+x);};};return {left:C||null,top:top||null,width:A||null,height:E||null};},set:function(L,G){if(!G){L.style.clip=m;return;};var M=G.left;var top=G.top;var K=G.width;var J=G.height;var H,I;if(M==null){H=(K==null?o:K+f);M=o;}else {H=(K==null?o:M+K+f);M=M+f;};if(top==null){I=(J==null?o:J+f);top=o;}else {I=(J==null?o:top+J+f);top=top+f;};L.style.clip=b+top+p+H+p+I+p+M+c;},reset:function(N){N.style.clip=n;}}});})();(function(){var a="css.float",b='cssFloat',c="px",d="Cascaded styles are not supported in this browser!",e="css.appearance",f="pixelRight",g="css.userselect",h="css.boxsizing",i="css.textoverflow",j="pixelHeight",k=":",l="pixelTop",m="css.borderimage",n="pixelLeft",o="css.usermodify",p="qx.bom.element.Style",q="",r="pixelBottom",s="pixelWidth",t='float',u=";",v="\"\"",w="style";qx.Bootstrap.define(p,{statics:{__er:null,__es:null,__et:function(){var y={"appearance":qx.core.Environment.get(e),"userSelect":qx.core.Environment.get(g),"textOverflow":qx.core.Environment.get(i),"borderImage":qx.core.Environment.get(m),"float":qx.core.Environment.get(a),"userModify":qx.core.Environment.get(o),"boxSizing":qx.core.Environment.get(h)};this.__es={};for(var x in qx.lang.Object.clone(y)){if(!y[x]){delete y[x];}else {if(x===t){this.__es[b]=x;}else {this.__es[x]=qx.bom.Style.getCssName(y[x]);};};};this.__er=y;},__eu:function(name){var z=qx.bom.Style.getPropertyName(name);if(z){this.__er[name]=z;};return z;},__ev:{width:s,height:j,left:n,right:f,top:l,bottom:r},__ew:{clip:qx.bom.element.Clip,cursor:qx.bom.element.Cursor,opacity:qx.bom.element.Opacity,boxSizing:qx.bom.element.BoxSizing},compile:function(A){var D=[];var E=this.__ew;var C=this.__es;var name,B;for(name in A){B=A[name];if(B==null){continue;};name=this.__es[name]||name;if(E[name]){D.push(E[name].compile(B));}else {if(!C[name]){C[name]=qx.bom.Style.getCssName(name);};D.push(C[name],k,B===q?v:B,u);};};return D.join(q);},setCss:function(G,F){G.setAttribute(w,F);},getCss:function(H){return H.getAttribute(w);},isPropertySupported:function(I){return (this.__ew[I]||this.__er[I]||I in document.documentElement.style);},COMPUTED_MODE:1,CASCADED_MODE:2,LOCAL_MODE:3,set:function(L,name,J,K){{};name=this.__er[name]||this.__eu(name)||name;if(K!==false&&this.__ew[name]){this.__ew[name].set(L,J);}else {L.style[name]=J!==null?J:q;};},setStyles:function(S,M,T){{};var P=this.__er;var Q=this.__ew;var N=S.style;for(var R in M){var O=M[R];var name=P[R]||this.__eu(R)||R;if(O===undefined){if(T!==false&&Q[name]){Q[name].reset(S);}else {N[name]=q;};}else {if(T!==false&&Q[name]){Q[name].set(S,O);}else {N[name]=O!==null?O:q;};};};},reset:function(V,name,U){name=this.__er[name]||this.__eu(name)||name;if(U!==false&&this.__ew[name]){this.__ew[name].reset(V);}else {V.style[name]=q;};},get:function(ba,name,bc,be){name=this.__er[name]||this.__eu(name)||name;if(be!==false&&this.__ew[name]){return this.__ew[name].get(ba,bc);};switch(bc){case this.LOCAL_MODE:return ba.style[name]||q;case this.CASCADED_MODE:if(ba.currentStyle){return ba.currentStyle[name]||q;};throw new Error(d);default:var X=qx.dom.Node.getDocument(ba);var bb=X.defaultView?X.defaultView.getComputedStyle:undefined;if(bb!==undefined){var W=bb(ba,null);if(W&&W[name]){return W[name];};}else {if(!ba.currentStyle){return ba.style[name]||q;};var bg=ba.currentStyle[name]||ba.style[name]||q;if(/^-?[\.\d]+(px)?$/i.test(bg)){return bg;};var bf=this.__ev[name];if(bf&&(bf in ba.style)){var bd=ba.style[name];ba.style[name]=bg||0;var Y=ba.style[bf]+c;ba.style[name]=bd;return Y;};return bg;};return ba.style[name]||q;};}},defer:function(bh){bh.__et();}});})();(function(){var a="engine.name",b="CSS1Compat",c="position:absolute;width:0;height:0;width:1",d="engine.version",e="qx.bom.Document",f="1px",g="div";qx.Bootstrap.define(e,{statics:{isQuirksMode:qx.core.Environment.select(a,{"mshtml":function(h){if(qx.core.Environment.get(d)>=8){return (h||window).document.documentMode===5;}else {return (h||window).document.compatMode!==b;};},"webkit":function(i){if(document.compatMode===undefined){var j=(i||window).document.createElement(g);j.style.cssText=c;return j.style.width===f?true:false;}else {return (i||window).document.compatMode!==b;};},"default":function(k){return (k||window).document.compatMode!==b;}}),isStandardMode:function(l){return !this.isQuirksMode(l);},getWidth:function(m){var o=(m||window).document;var n=qx.bom.Viewport.getWidth(m);var scroll=this.isStandardMode(m)?o.documentElement.scrollWidth:o.body.scrollWidth;return Math.max(scroll,n);},getHeight:function(p){var r=(p||window).document;var q=qx.bom.Viewport.getHeight(p);var scroll=this.isStandardMode(p)?r.documentElement.scrollHeight:r.body.scrollHeight;return Math.max(scroll,q);}}});})();(function(){var a="ios",b="os.name",c="undefined",d="qx.bom.Viewport";qx.Bootstrap.define(d,{statics:{getWidth:function(e){var e=e||window;var f=e.document;return qx.bom.Document.isStandardMode(e)?f.documentElement.clientWidth:f.body.clientWidth;},getHeight:function(g){var g=g||window;var h=g.document;if(qx.core.Environment.get(b)==a&&window.innerHeight!=h.documentElement.clientHeight){return window.innerHeight;};return qx.bom.Document.isStandardMode(g)?h.documentElement.clientHeight:h.body.clientHeight;},getScrollLeft:function(i){var i=i?i:window;if(typeof i.pageXOffset!==c){return i.pageXOffset;};var j=i.document;return j.documentElement.scrollLeft||j.body.scrollLeft;},getScrollTop:function(k){var k=k?k:window;if(typeof k.pageYOffset!==c){return k.pageYOffset;};var l=k.document;return l.documentElement.scrollTop||l.body.scrollTop;},__ex:function(m){var o=this.getWidth(m)>this.getHeight(m)?90:0;var n=m.orientation;if(n==null||Math.abs(n%180)==o){return {"-270":90,"-180":180,"-90":-90,"0":0,"90":90,"180":180,"270":-90};}else {return {"-270":180,"-180":-90,"-90":0,"0":90,"90":180,"180":-90,"270":0};};},__ey:null,getOrientation:function(p){var p=p||window.top;var q=p.orientation;if(q==null){q=this.getWidth(p)>this.getHeight(p)?90:0;}else {if(this.__ey==null){this.__ey=this.__ex(p);};q=this.__ey[q];};return q;},isLandscape:function(r){var s=this.getOrientation(r);return s===-90||s===90;},isPortrait:function(t){var u=this.getOrientation(t);return u===0||u===180;}}});})();(function(){var a="qx.theme.manager.Icon",b="Theme",c="changeTheme",d="_applyTheme",e="singleton";qx.Class.define(a,{type:e,extend:qx.core.Object,properties:{theme:{check:b,nullable:true,apply:d,event:c}},members:{_applyTheme:function(i,g){var h=qx.util.AliasManager.getInstance();if(g){for(var f in g.aliases){h.remove(f);};};if(i){for(var f in i.aliases){h.add(f,i.aliases[f]);};};}}});})();(function(){var a="Missing appearance: ",b="_applyTheme",c="string",d="qx.theme.manager.Appearance",e=":",f="Theme",g="changeTheme",h="/",j="singleton";qx.Class.define(d,{type:j,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);this.__ez={};this.__eA={};},properties:{theme:{check:f,nullable:true,event:g,apply:b}},members:{__eB:{},__ez:null,__eA:null,_applyTheme:function(){this.__eA={};this.__ez={};},__eC:function(y,u,l,p){var r=u.appearances;var m=r[y];if(!m){var x=h;var n=[];var q=y.split(x);var w=qx.lang.Array.clone(q);var t;while(!m&&q.length>0){n.unshift(q.pop());var o=q.join(x);m=r[o];if(m){t=m.alias||m;if(typeof t===c){var v=t+x+n.join(x);return this.__eC(v,u,l,w);};};};for(var i=0;i0){P+=e+E;};};var F=this.__ez;if(F[P]!==undefined){return F[P];};if(!J){J=this.__eB;};var M;if(O.include||O.base){var Q;if(O.include){Q=this.styleFrom(O.include,J,K,A);};var I=O.style(J,Q);M={};if(O.base){var N=this.styleFrom(z,J,O.base,A);if(O.include){for(var C in N){if(!Q.hasOwnProperty(C)&&!I.hasOwnProperty(C)){M[C]=N[C];};};}else {for(var L in N){if(!I.hasOwnProperty(L)){M[L]=N[L];};};};};if(O.include){for(var B in Q){if(!I.hasOwnProperty(B)){M[B]=Q[B];};};};for(var S in I){M[S]=I[S];};}else {M=O.style(J);};return F[P]=M||null;}},destruct:function(){this.__ez=this.__eA=null;}});})();(function(){var b="'!",c="other",d="widgets",e="undefined",f="fonts",g="appearances",h="qx.Theme",j="]",k="Mixin theme is not a valid theme!",m="[Theme ",n="colors",o="decorations",p="' are not compatible '",q="Theme",r="meta",s="The mixins '",t="borders",u="icons";qx.Bootstrap.define(h,{statics:{define:function(name,w){if(!w){var w={};};w.include=this.__eD(w.include);w.patch=this.__eD(w.patch);{};var v={$$type:q,name:name,title:w.title,toString:this.genericToString};if(w.extend){v.supertheme=w.extend;};v.basename=qx.Bootstrap.createNamespace(name,v);this.__eG(v,w);this.__eE(v,w);this.$$registry[name]=v;for(var i=0,a=w.include,l=a.length;iP.width){P.width=P.minWidth;};if(P.maxWidthP.height){P.height=P.minHeight;};if(P.maxHeight=0;i-- ){var g=f[i];if(g.hasValidLayout()){continue;};if(g.isRootWidget()&&!g.hasUserBounds()){var j=g.getSizeHint();g.renderLayout(0,0,j.width,j.height);}else {var h=g.getBounds();g.renderLayout(h.left,h.top,h.width,h.height);};};},getNestingLevel:function(l){var k=this.__fe;var n=0;var parent=l;while(true){if(k[parent.$$hash]!=null){n+=k[parent.$$hash];break;};if(!parent.$$parent){break;};parent=parent.$$parent;n+=1;};var m=n;while(l&&l!==parent){k[l.$$hash]=m-- ;l=l.$$parent;};return n;},__ff:function(){var t=qx.ui.core.queue.Visibility;this.__fe={};var s=[];var r=this.__dO;var o,q;for(var p in r){o=r[p];if(t.isVisible(o)){q=this.getNestingLevel(o);if(!s[q]){s[q]={};};s[q][p]=o;delete r[p];};};return s;},__fg:function(){var x=[];var z=this.__ff();for(var w=z.length-1;w>=0;w-- ){if(!z[w]){continue;};for(var v in z[w]){var u=z[w][v];if(w==0||u.isRootWidget()||u.hasUserBounds()){x.push(u);u.invalidateLayoutCache();continue;};var B=u.getSizeHint(false);if(B){u.invalidateLayoutCache();var y=u.getSizeHint();var A=(!u.getBounds()||B.minWidth!==y.minWidth||B.width!==y.width||B.maxWidth!==y.maxWidth||B.minHeight!==y.minHeight||B.height!==y.height||B.maxHeight!==y.maxHeight);}else {A=true;};if(A){var parent=u.getLayoutParent();if(!z[w-1]){z[w-1]={};};z[w-1][parent.$$hash]=parent;}else {x.push(u);};};};return x;}}});})();(function(){var a="mshtml",b="engine.name",c="pop.push.reverse.shift.sort.splice.unshift.join.slice",d="number",e="qx.type.BaseArray",f=".";qx.Bootstrap.define(e,{extend:Array,construct:function(g){},members:{toArray:null,valueOf:null,pop:null,push:null,reverse:null,shift:null,sort:null,splice:null,unshift:null,concat:null,join:null,slice:null,toString:null,indexOf:null,lastIndexOf:null,forEach:null,filter:null,map:null,some:null,every:null}});(function(){function h(p){if((qx.core.Environment.get(b)==a)){j.prototype={length:0,$$isArray:true};var n=c.split(f);for(var length=n.length;length;){j.prototype[n[ --length]]=Array.prototype[n[length]];};};var m=Array.prototype.slice;j.prototype.concat=function(){var r=this.slice(0);for(var i=0,length=arguments.length;i>.5?length:this.push(length);}else if(arguments.length){this.push.apply(this,arguments);};};function k(){};k.prototype=[];j.prototype=new k;j.prototype.length=0;qx.type.BaseArray=h(j);})();})();(function(){var a="name",b="qxWeb",c="toString",d="$",e="number",f="_",g="data-qx-class",h="basename",j="classname";qx.Bootstrap.define(b,{extend:qx.type.BaseArray,statics:{__ek:[],$$qx:qx,$init:function(p,n){if(p.length&&p.length==1&&p[0]&&p[0].$widget instanceof qxWeb){return p[0].$widget;};var o=[];for(var i=0;i>10|0xD800,fR&0x3FF|0xDC00);};try{fG.apply((ev=eI.call(eH.childNodes)),eH.childNodes);ev[eH.childNodes.length].nodeType;}catch(e){fG={apply:ev.length?function(fT,fS){fD.apply(fT,eI.call(fS));}:function(fV,fU){var j=fV.length,i=0;while((fV[j++ ]=fU[i++ ])){};fV.length=j-1;}};};function fL(gg,fX,gb,gd){var gi,fY,m,fW,i,ge,gh,ga,gf,gc;if((fX?fX.ownerDocument||fX:eH)!==document){eD(fX);};fX=fX||document;gb=gb||[];if(!gg||typeof gg!==T){return gb;};if((fW=fX.nodeType)!==1&&fW!==9){return [];};if(fq&&!gd){if((gi=fF.exec(gg))){if((m=gi[1])){if(fW===9){fY=fX.getElementById(m);if(fY&&fY.parentNode){if(fY.id===m){gb.push(fY);return gb;};}else {return gb;};}else {if(fX.ownerDocument&&(fY=fX.ownerDocument.getElementById(m))&&eN(fX,fY)&&fY.id===m){gb.push(fY);return gb;};};}else if(gi[2]){fG.apply(gb,fX.getElementsByTagName(gg));return gb;}else if((m=gi[3])&&eM.getElementsByClassName&&fX.getElementsByClassName){fG.apply(gb,fX.getElementsByClassName(m));return gb;};};if(eM.qsa&&(!fe||!fe.test(gg))){ga=gh=fa;gf=fX;gc=fW===9&≫if(fW===1&&fX.nodeName.toLowerCase()!==dA){ge=eV(gg);if((gh=fX.getAttribute(N))){ga=gh.replace(fm,ef);}else {fX.setAttribute(N,ga);};ga=dY+ga+f;i=ge.length;while(i-- ){ge[i]=ga+eQ(ge[i]);};gf=fc.test(gg)&&eC(fX.parentNode)||fX;gc=ge.join(ek);};if(gc){try{fG.apply(gb,gf.querySelectorAll(gc));return gb;}catch(gj){}finally{if(!gh){fX.removeAttribute(N);};};};};};return eG(gg.replace(fp,dN),fX,gb,gd);};function ey(){var gk=[];function gl(gm,gn){if(gk.push(gm+cV)>fM.cacheLength){delete gl[gk.shift()];};return (gl[gm+cV]=gn);};return gl;};function fy(go){go[fa]=true;return go;};function fk(gq){var gp=document.createElement(k);try{return !!gq(gp);}catch(e){return false;}finally{if(gp.parentNode){gp.parentNode.removeChild(gp);};gp=null;};};function fo(gt,gs){var gr=gt.split(dv),i=gt.length;while(i-- ){fM.attrHandle[gr[i]]=gs;};};function eY(a,b){var gv=b&&a,gu=gv&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||ft)-(~a.sourceIndex||ft);if(gu){return gu;};if(gv){while((gv=gv.nextSibling)){if(gv===b){return -1;};};};return a?1:-1;};function fE(gw){return function(gx){var name=gx.nodeName.toLowerCase();return name===l&&gx.type===gw;};};function er(gy){return function(gz){var name=gz.nodeName.toLowerCase();return (name===l||name===de)&&gz.type===gy;};};function fi(gA){return fy(function(gB){gB=+gB;return fy(function(gE,gC){var j,gD=gA([],gE.length,gB),i=gD.length;while(i-- ){if(gE[(j=gD[i])]){gE[j]=!(gC[j]=gE[j]);};};});});};function eC(gF){return gF&&typeof gF.getElementsByTagName!==eR&&gF;};eM=fL.support={};eB=fL.isXML=function(gG){var gH=gG&&(gG.ownerDocument||gG).documentElement;return gH?gH.nodeName!==eh:false;};eD=fL.setDocument=function(gI){var gK,gJ=gI?gI.ownerDocument||gI:eH,parent=gJ.defaultView;if(gJ===document||gJ.nodeType!==9||!gJ.documentElement){return document;};document=gJ;fK=gJ.documentElement;fq=!eB(gJ);if(parent&&parent!==parent.top){if(parent.addEventListener){parent.addEventListener(M,function(){eD();},false);}else if(parent.attachEvent){parent.attachEvent(dk,function(){eD();});};};eM.attributes=fk(function(gL){gL.className=C;return !gL.getAttribute(dP);});eM.getElementsByTagName=fk(function(gM){gM.appendChild(gJ.createComment(eb));return !gM.getElementsByTagName(z).length;});eM.getElementsByClassName=fz.test(gJ.getElementsByClassName)&&fk(function(gN){gN.innerHTML=cU;gN.firstChild.className=C;return gN.getElementsByClassName(C).length===2;});eM.getById=fk(function(gO){fK.appendChild(gO).id=fa;return !gJ.getElementsByName||!gJ.getElementsByName(fa).length;});if(eM.getById){fM.find[ej]=function(gP,gQ){if(typeof gQ.getElementById!==eR&&fq){var m=gQ.getElementById(gP);return m&&m.parentNode?[m]:[];};};fM.filter[ej]=function(gS){var gR=gS.replace(eu,fs);return function(gT){return gT.getAttribute(N)===gR;};};}else {delete fM.find[ej];fM.filter[ej]=function(gV){var gU=gV.replace(eu,fs);return function(gX){var gW=typeof gX.getAttributeNode!==eR&&gX.getAttributeNode(N);return gW&&gW.value===gU;};};};fM.find[dF]=eM.getElementsByTagName?function(gY,ha){if(typeof ha.getElementsByTagName!==eR){return ha.getElementsByTagName(gY);};}:function(he,hf){var hc,hb=[],i=0,hd=hf.getElementsByTagName(he);if(he===z){while((hc=hd[i++ ])){if(hc.nodeType===1){hb.push(hc);};};return hb;};return hd;};fM.find[g]=eM.getElementsByClassName&&function(hg,hh){if(typeof hh.getElementsByClassName!==eR&&fq){return hh.getElementsByClassName(hg);};};eq=[];fe=[];if((eM.qsa=fz.test(gJ.querySelectorAll))){fk(function(hi){hi.innerHTML=da;if(hi.querySelectorAll(I).length){fe.push(dW+eK+dR);};if(!hi.querySelectorAll(cM).length){fe.push(dm+eK+t+fd+dd);};if(!hi.querySelectorAll(ee).length){fe.push(ee);};});fk(function(hk){var hj=gJ.createElement(l);hj.setAttribute(cN,cW);hk.appendChild(hj).setAttribute(dn,dp);if(hk.querySelectorAll(W).length){fe.push(dn+eK+eo);};if(!hk.querySelectorAll(dO).length){fe.push(dO,h);};hk.querySelectorAll(dV);fe.push(dU);});};if((eM.matchesSelector=fz.test((ff=fK.webkitMatchesSelector||fK.mozMatchesSelector||fK.oMatchesSelector||fK.msMatchesSelector)))){fk(function(hl){eM.disconnectedMatch=ff.call(hl,k);ff.call(hl,S);eq.push(dx,fg);});};fe=fe.length&&new RegExp(fe.join(dv));eq=eq.length&&new RegExp(eq.join(dv));gK=fz.test(fK.compareDocumentPosition);eN=gK||fz.test(fK.contains)?function(a,b){var hm=a.nodeType===9?a.documentElement:a,hn=b&&b.parentNode;return a===hn||!!(hn&&hn.nodeType===1&&(hm.contains?hm.contains(hn):a.compareDocumentPosition&&a.compareDocumentPosition(hn)&16));}:function(a,b){if(b){while((b=b.parentNode)){if(b===a){return true;};};};return false;};eT=gK?function(a,b){if(a===b){eF=true;return 0;};var ho=!a.compareDocumentPosition-!b.compareDocumentPosition;if(ho){return ho;};ho=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(ho&1||(!eM.sortDetached&&b.compareDocumentPosition(a)===ho)){if(a===gJ||a.ownerDocument===eH&&eN(eH,a)){return -1;};if(b===gJ||b.ownerDocument===eH&&eN(eH,b)){return 1;};return eE?(eS.call(eE,a)-eS.call(eE,b)):0;};return ho&4?-1:1;}:function(a,b){if(a===b){eF=true;return 0;};var hp,i=0,hq=a.parentNode,hr=b.parentNode,hs=[a],ht=[b];if(!hq||!hr){return a===gJ?-1:b===gJ?1:hq?-1:hr?1:eE?(eS.call(eE,a)-eS.call(eE,b)):0;}else if(hq===hr){return eY(a,b);};hp=a;while((hp=hp.parentNode)){hs.unshift(hp);};hp=b;while((hp=hp.parentNode)){ht.unshift(hp);};while(hs[i]===ht[i]){i++ ;};return i?eY(hs[i],ht[i]):hs[i]===eH?-1:ht[i]===eH?1:0;};return gJ;};fL.matches=function(hu,hv){return fL(hu,null,null,hv);};fL.matchesSelector=function(hx,hw){if((hx.ownerDocument||hx)!==document){eD(hx);};hw=hw.replace(fj,E);if(eM.matchesSelector&&fq&&(!eq||!eq.test(hw))&&(!fe||!fe.test(hw))){try{var hy=ff.call(hx,hw);if(hy||eM.disconnectedMatch||hx.document&&hx.document.nodeType!==11){return hy;};}catch(e){};};return fL(hw,document,null,[hx]).length>0;};fL.contains=function(hA,hz){if((hA.ownerDocument||hA)!==document){eD(hA);};return eN(hA,hz);};fL.attr=function(hC,name){if((hC.ownerDocument||hC)!==document){eD(hC);};var hB=fM.attrHandle[name.toLowerCase()],hD=hB&&fA.call(fM.attrHandle,name.toLowerCase())?hB(hC,name,!fq):undefined;return hD!==undefined?hD:eM.attributes||!fq?hC.getAttribute(name):(hD=hC.getAttributeNode(name))&&hD.specified?hD.value:null;};fL.error=function(hE){throw new Error(em+hE);};fL.uniqueSort=function(hG){var hH,hF=[],j=0,i=0;eF=!eM.detectDuplicates;eE=!eM.sortStable&&hG.slice(0);hG.sort(eT);if(eF){while((hH=hG[i++ ])){if(hH===hG[i]){j=hF.push(i);};};while(j-- ){hG.splice(hF[j],1);};};eE=null;return hG;};ew=fL.getText=function(hK){var hI,hL=eb,i=0,hJ=hK.nodeType;if(!hJ){while((hI=hK[i++ ])){hL+=ew(hI);};}else if(hJ===1||hJ===9||hJ===11){if(typeof hK.textContent===T){return hK.textContent;}else {for(hK=hK.firstChild;hK;hK=hK.nextSibling){hL+=ew(hK);};};}else if(hJ===3||hJ===4){return hK.nodeValue;};return hL;};fM=fL.selectors={cacheLength:50,createPseudo:fy,match:fB,attrHandle:{},find:{},relative:{">":{dir:cI,first:true}," ":{dir:cI},"+":{dir:v,first:true},"~":{dir:v}},preFilter:{"ATTR":function(hM){hM[1]=hM[1].replace(eu,fs);hM[3]=(hM[4]||hM[5]||eb).replace(eu,fs);if(hM[2]===u){hM[3]=cV+hM[3]+cV;};return hM.slice(0,4);},"CHILD":function(hN){hN[1]=hN[1].toLowerCase();if(hN[1].slice(0,3)===o){if(!hN[3]){fL.error(hN[0]);};hN[4]=+(hN[4]?hN[5]+(hN[6]||1):2*(hN[3]===cY||hN[3]===dq));hN[5]=+((hN[7]+hN[8])||hN[3]===dq);}else if(hN[3]){fL.error(hN[0]);};return hN;},"PSEUDO":function(hP){var hQ,hO=!hP[5]&&hP[2];if(fB[ea].test(hP[0])){return null;};if(hP[3]&&hP[4]!==undefined){hP[2]=hP[4];}else if(hO&&fu.test(hO)&&(hQ=eV(hO,true))&&(hQ=hO.indexOf(dd,hO.length-hQ)-hO.length)){hP[0]=hP[0].slice(0,hQ);hP[2]=hO.slice(0,hQ);};return hP.slice(0,3);}},filter:{"TAG":function(hR){var hS=hR.replace(eu,fs).toLowerCase();return hR===z?function(){return true;}:function(hT){return hT.nodeName&&hT.nodeName.toLowerCase()===hS;};},"CLASS":function(hU){var hV=es[hU+cV];return hV||(hV=new RegExp(d+eK+dd+hU+cS+eK+dE))&&es(hU,function(hW){return hV.test(typeof hW.className===T&&hW.className||typeof hW.getAttribute!==eR&&hW.getAttribute(dr)||eb);});},"ATTR":function(name,hX,hY){return function(ia){var ib=fL.attr(ia,name);if(ib==null){return hX===dx;};if(!hX){return true;};ib+=eb;return hX===L?ib===hY:hX===dx?ib!==hY:hX===G?hY&&ib.indexOf(hY)===0:hX===du?hY&&ib.indexOf(hY)>-1:hX===R?hY&&ib.slice(-hY.length)===hY:hX===u?(cV+ib+cV).indexOf(hY)>-1:hX===dl?ib===hY||ib.slice(0,hY.length+1)===hY+c:false;};},"CHILD":function(ij,ic,ii,ik,ie){var ih=ij.slice(0,3)!==o,forward=ij.slice(-4)!==ei,ig=ic===dG;return ik===1&&ie===0?function(il){return !!il.parentNode;}:function(ir,iu,im){var iq,iv,io,iw,ip,is,ix=ih!==forward?Q:v,parent=ir.parentNode,name=ig&&ir.nodeName.toLowerCase(),it=!im&&!ig;if(parent){if(ih){while(ix){io=ir;while((io=io[ix])){if(ig?io.nodeName.toLowerCase()===name:io.nodeType===1){return false;};};is=ix=ij===y&&!is&&Q;};return true;};is=[forward?parent.firstChild:parent.lastChild];if(forward&&it){iv=parent[fa]||(parent[fa]={});iq=iv[ij]||[];ip=iq[0]===eW&&iq[1];iw=iq[0]===eW&&iq[2];io=ip&&parent.childNodes[ip];while((io= ++ip&&io&&io[ix]||(iw=ip=0)||is.pop())){if(io.nodeType===1&& ++iw&&io===ir){iv[ij]=[eW,ip,iw];break;};};}else if(it&&(iq=(ir[fa]||(ir[fa]={}))[ij])&&iq[0]===eW){iw=iq[1];}else {while((io= ++ip&&io&&io[ix]||(iw=ip=0)||is.pop())){if((ig?io.nodeName.toLowerCase()===name:io.nodeType===1)&& ++iw){if(it){(io[fa]||(io[fa]={}))[ij]=[eW,iw];};if(io===ir){break;};};};};iw-=ie;return iw===ik||(iw%ik===0&&iw/ik>=0);};};},"PSEUDO":function(iz,iA){var iy,iB=fM.pseudos[iz]||fM.setFilters[iz.toLowerCase()]||fL.error(cR+iz);if(iB[fa]){return iB(iA);};if(iB.length>1){iy=[iz,iz,eb,iA];return fM.setFilters.hasOwnProperty(iz.toLowerCase())?fy(function(iD,iC){var iE,iF=iB(iD,iA),i=iF.length;while(i-- ){iE=eS.call(iD,iF[i]);iD[iE]=!(iC[iE]=iF[i]);};}):function(iG){return iB(iG,0,iy);};};return iB;}},pseudos:{"not":fy(function(iI){var iH=[],iJ=[],iK=fC(iI.replace(fp,dN));return iK[fa]?fy(function(iP,iM,iQ,iL){var iN,iO=iK(iP,null,iL,[]),i=iP.length;while(i-- ){if((iN=iO[i])){iP[i]=!(iM[i]=iN);};};}):function(iS,iT,iR){iH[0]=iS;iK(iH,null,iR,iJ);return !iJ.pop();};}),"has":fy(function(iU){return function(iV){return fL(iU,iV).length>0;};}),"contains":fy(function(iW){return function(iX){return (iX.textContent||iX.innerText||ew(iX)).indexOf(iW)>-1;};}),"lang":fy(function(iY){if(!eX.test(iY||eb)){fL.error(A+iY);};iY=iY.replace(eu,fs).toLowerCase();return function(jb){var ja;do {if((ja=fq?jb.lang:jb.getAttribute(x)||jb.getAttribute(dt))){ja=ja.toLowerCase();return ja===iY||ja.indexOf(iY+c)===0;};}while((jb=jb.parentNode)&&jb.nodeType===1);return false;};}),"target":function(jd){var jc=window.location&&window.location.hash;return jc&&jc.slice(1)===jd.id;},"root":function(je){return je===fK;},"focus":function(jf){return jf===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(jf.type||jf.href||~jf.tabIndex);},"enabled":function(jg){return jg.disabled===false;},"disabled":function(jh){return jh.disabled===true;},"checked":function(ji){var jj=ji.nodeName.toLowerCase();return (jj===l&&!!ji.checked)||(jj===dh&&!!ji.selected);},"selected":function(jk){if(jk.parentNode){jk.parentNode.selectedIndex;};return jk.selected===true;},"empty":function(jl){for(jl=jl.firstChild;jl;jl=jl.nextSibling){if(jl.nodeType<6){return false;};};return true;},"parent":function(jm){return !fM.pseudos[dK](jm);},"header":function(jn){return et.test(jn.nodeName);},"input":function(jo){return fl.test(jo.nodeName);},"button":function(jp){var name=jp.nodeName.toLowerCase();return name===l&&jp.type===de||name===de;},"text":function(jq){var jr;return jq.nodeName.toLowerCase()===l&&jq.type===O&&((jr=jq.getAttribute(cN))==null||jr.toLowerCase()===O);},"first":fi(function(){return [0];}),"last":fi(function(js,length){return [length-1];}),"eq":fi(function(jt,length,ju){return [ju<0?ju+length:ju];}),"even":fi(function(jv,length){var i=0;for(;i=0;){jx.push(i);};return jx;}),"gt":fi(function(jz,length,jA){var i=jA<0?jA+length:jA;for(; ++i1?function(kg,kh,kf){var i=ke.length;while(i-- ){if(!ke[i](kg,kh,kf)){return false;};};return true;}:ke[0];};function fw(kl,ki,kj){var i=0,kk=ki.length;for(;i-1){kJ[kC]=!(kE[kC]=kG);};};};}else {kH=ex(kH===kE?kH.splice(kD,kH.length):kH);if(kv){kv(null,kE,kH,kB);}else {fG.apply(kE,kH);};};});};function fb(kS){var kN,kP,j,kQ=kS.length,kO=fM.relative[kS[0].type],kV=kO||fM.relative[cV],i=kO?1:0,kU=eO(function(kW){return kW===kN;},kV,true),kR=eO(function(kX){return eS.call(kN,kX)>-1;},kV,true),kT=[function(la,lb,kY){return (!kO&&(kY||lb!==ep))||((kN=lb).nodeType?kU(la,lb,kY):kR(la,lb,kY));}];for(;i1&&eP(kT),i>1&&eQ(kS.slice(0,i-1).concat({value:kS[i-2].type===cV?z:eb})).replace(fp,dN),kP,i0,le=lg.length>0,lf=function(lp,ls,lh,ll,lk){var ln,j,lt,li=0,i=df,lm=lp&&[],lo=[],lj=ep,lu=lp||le&&fM.find[dF](z,lk),lq=(eW+=lj==null?1:Math.random()||0.1),lr=lu.length;if(lk){ep=ls!==document&&ls;};for(;i!==lr&&(ln=lu[i])!=null;i++ ){if(le&&ln){j=0;while((lt=lg[j++ ])){if(lt(ln,ls,lh)){ll.push(ln);break;};};if(lk){eW=lq;};};if(lc){if((ln=!lt&&ln)){li-- ;};if(lp){lm.push(ln);};};};li+=i;if(lc&&i!==li){j=0;while((lt=ld[j++ ])){lt(lm,lo,ls,lh);};if(lp){if(li>0){while(i-- ){if(!(lm[i]||lo[i])){lo[i]=ez.call(ll);};};};lo=ex(lo);};fG.apply(ll,lo);if(lk&&!lp&&lo.length>0&&(li+ld.length)>1){fL.uniqueSort(ll);};};if(lk){eW=lq;ep=lj;};return lm;};return lc?fy(lf):lf;};fC=fL.compile=function(lw,lz){var i,ly=[],lv=[],lx=fI[lw+cV];if(!lx){if(!lz){lz=eV(lw);};i=lz.length;while(i-- ){lx=fb(lz[i]);if(lx[fa]){ly.push(lx);}else {lv.push(lx);};};lx=fI(lw,eU(lv,ly));lx.selector=lw;};return lx;};eG=fL.select=function(lC,lG,lB,lF){var i,lD,lE,lH,find,lA=typeof lC===db&&lC,lI=!lF&&eV((lC=lA.selector||lC));lB=lB||[];if(lI.length===1){lD=lI[0]=lI[0].slice(0);if(lD.length>2&&(lE=lD[0]).type===ej&&eM.getById&&lG.nodeType===9&&fq&&fM.relative[lD[1].type]){lG=(fM.find[ej](lE.matches[0].replace(eu,fs),lG)||[])[0];if(!lG){return lB;}else if(lA){lG=lG.parentNode;};lC=lC.slice(lD.shift().value.length);};i=fB[P].test(lC)?0:lD.length;while(i-- ){lE=lD[i];if(fM.relative[(lH=lE.type)]){break;};if((find=fM.find[lH])){if((lF=find(lE.matches[0].replace(eu,fs),fc.test(lD[0].type)&&eC(lG.parentNode)||lG))){lD.splice(i,1);lC=lF.length&&eQ(lD);if(!lC){fG.apply(lB,lF);return lB;};break;};};};};(lA||fC(lC,lI))(lF,lG,!fq,lB,fc.test(lC)&&eC(lG.parentNode)||lG);return lB;};eM.sortStable=fa.split(eb).sort(eT).join(eb)===fa;eM.detectDuplicates=!!eF;eD();eM.sortDetached=fk(function(lJ){return lJ.compareDocumentPosition(document.createElement(k))&1;});if(!fk(function(lK){lK.innerHTML=dD;return lK.firstChild.getAttribute(cJ)===cL;})){fo(q,function(lL,name,lM){if(!lM){return lL.getAttribute(name,name.toLowerCase()===cN?1:2);};});};if(!eM.attributes||!fk(function(lN){lN.innerHTML=dy;lN.firstChild.setAttribute(dH,eb);return lN.firstChild.getAttribute(dH)===eb;})){fo(dH,function(lO,name,lP){if(!lP&&lO.nodeName.toLowerCase()===l){return lO.defaultValue;};});};if(!fk(function(lQ){return lQ.getAttribute(s)==null;})){fo(fd,function(lS,name,lR){var lT;if(!lR){return lS[name]===true?name.toLowerCase():(lT=lS.getAttributeNode(name))&&lT.specified?lT.value:null;};});};qx.bom.Selector.query=function(lV,lU){return fL(lV,lU);};qx.bom.Selector.matches=function(lX,lW){return fL(lX,null,null,lW);};})(window);})();(function(){var a="display",b="",c="block",d="none",e="_getHeight",f="_getContentWidth",g="_getContentHeight",h="hidden",j="_getWidth",k="qx.module.Css",m="absolute";qx.Bootstrap.define(k,{statics:{_getHeight:function(p){var q=this[0];if(q){if(qx.dom.Node.isElement(q)){var n;if(p){var o={display:c,position:m,visibility:h};n=qx.module.Css.__fj(q,o,e,this);}else {n=qx.bom.element.Dimension.getHeight(q);};return n;}else if(qx.dom.Node.isDocument(q)){return qx.bom.Document.getHeight(qx.dom.Node.getWindow(q));}else if(qx.dom.Node.isWindow(q)){return qx.bom.Viewport.getHeight(q);};};return null;},_getWidth:function(t){var u=this[0];if(u){if(qx.dom.Node.isElement(u)){var r;if(t){var s={display:c,position:m,visibility:h};r=qx.module.Css.__fj(u,s,j,this);}else {r=qx.bom.element.Dimension.getWidth(u);};return r;}else if(qx.dom.Node.isDocument(u)){return qx.bom.Document.getWidth(qx.dom.Node.getWindow(u));}else if(qx.dom.Node.isWindow(u)){return qx.bom.Viewport.getWidth(u);};};return null;},_getContentHeight:function(w){var y=this[0];if(qx.dom.Node.isElement(y)){var x;if(w){var v={position:m,visibility:h,display:c};x=qx.module.Css.__fj(y,v,g,this);}else {x=qx.bom.element.Dimension.getContentHeight(y);};return x;};return null;},_getContentWidth:function(B){var z=this[0];if(qx.dom.Node.isElement(z)){var C;if(B){var A={position:m,visibility:h,display:c};C=qx.module.Css.__fj(z,A,f,this);}else {C=qx.bom.element.Dimension.getContentWidth(z);};return C;};return null;},__fh:{},__fi:function(G,D){var F=qx.module.Css.__fh;if(!F[G]){var H=D||document;var E=qxWeb(H.createElement(G)).appendTo(D.body);F[G]=E.getStyle(a);E.remove();};return F[G]||b;},__fj:function(L,I,J,O){var M={};for(var N in I){M[N]=L.style[N];L.style[N]=I[N];};var K=O[J]();for(var N in M){L.style[N]=M[N];};return K;},includeStylesheet:function(Q,P){qx.bom.Stylesheet.includeFile(Q,P);}},members:{getHeight:function(R){return this._getHeight(R);},getWidth:function(S){return this._getWidth(S);},getContentHeight:function(T){return this._getContentHeight(T);},getContentWidth:function(U){return this._getContentWidth(U);},show:function(){this._forEachElementWrapped(function(X){var Y=X.getStyle(a);var W=X[0].$$qPrevDisp;var V;if(Y==d){if(W&&W!=d){V=W;}else {var ba=qxWeb.getDocument(X[0]);V=qx.module.Css.__fi(X[0].tagName,ba);};X.setStyle(a,V);X[0].$$qPrevDisp=d;};});return this;},hide:function(){this._forEachElementWrapped(function(bb){var bc=bb.getStyle(a);if(bc!==d){bb[0].$$qPrevDisp=bc;bb.setStyle(a,d);};});return this;},getPosition:function(){var bd=this[0];if(qx.dom.Node.isElement(bd)){return qx.bom.element.Location.getPosition(bd);};return null;},getOffset:function(be){var bf=this[0];if(bf&&qx.dom.Node.isElement(bf)){return qx.bom.element.Location.get(bf,be);};return null;},setStyle:function(name,bg){if(/\w-\w/.test(name)){name=qx.lang.String.camelCase(name);};this._forEachElement(function(bh){qx.bom.element.Style.set(bh,name,bg);});return this;},getStyle:function(name){if(this[0]&&qx.dom.Node.isElement(this[0])){if(/\w-\w/.test(name)){name=qx.lang.String.camelCase(name);};return qx.bom.element.Style.get(this[0],name);};return null;},setStyles:function(bi){for(var name in bi){this.setStyle(name,bi[name]);};return this;},getStyles:function(bk){var bj={};for(var i=0;i0){t.classList.add(name);};return name;},"default":function(u,name){if(!this.has(u,name)){u.className+=(u.className?n:f)+name;};return name;}}[qx.core.Environment.get(k)?q:m],addClasses:{"native":function(w,v){for(var i=0;i0){w.classList.add(v[i]);};};return w.className;},"default":function(y,A){var z={};var B;var x=y.className;if(x){B=x.split(this.__fq);for(var i=0,l=B.length;i0||window.navigator.msMaxTouchPoints>0);}},defer:function(I){qx.core.Environment.add(v,I.getName);qx.core.Environment.add(w,I.getTouch);qx.core.Environment.add(e,I.getType);qx.core.Environment.add(y,I.getDevicePixelRatio);}});})();(function(){var a="mshtml",b="function",c="event.mouseevent",d="pointerEnabled",e="onhashchange",f="event.help",g="mousewheel",h="event.customevent",j="event.mousewheel",k="event.touch",l="wheel",m="DOMMouseScroll",n="msPointerEnabled",o="event.hashchange",p="onhelp",q="documentMode",r="qx.bom.client.Event",s="ontouchstart",t="foo",u="event.mspointer",v="event.dispatchevent";qx.Bootstrap.define(r,{statics:{getTouch:function(){return (s in window);},getMsPointer:function(){if(d in window.navigator){return window.navigator.pointerEnabled;}else if(n in window.navigator){return window.navigator.msPointerEnabled;};return false;},getHelp:function(){return (p in document);},getHashChange:function(){var w=qx.bom.client.Engine.getName();var x=e in window;return (w!==a&&x)||(w===a&&q in document&&document.documentMode>=8&&x);},getDispatchEvent:function(){return typeof document.dispatchEvent==b;},getCustomEvent:function(){if(!window.CustomEvent){return false;};try{new window.CustomEvent(t);return true;}catch(y){return false;};},getMouseEvent:function(){if(!window.MouseEvent){return false;};try{new window.MouseEvent(t);return true;}catch(z){return false;};},getMouseWheel:function(A){if(!A){A=window;};var D=[A,A.document,A.document.body];var C=A;var B=m;for(var i=0;i8){qx.bom.Event.addNativeListener(document,r,w);}else {var z=function(){if(qx.module.Event.__cX){return;};try{document.documentElement.doScroll(o);if(document.body){w();};}catch(A){window.setTimeout(z,100);};};z();};},$registerEventNormalization:function(E,B){if(!qx.lang.Type.isArray(E)){E=[E];};var C=qx.module.Event.__fs;for(var i=0,l=E.length;i0;},copyEventsTo:function(bT){var bR=this.concat();var bS=bT.concat();for(var i=bR.length-1;i>=0;i-- ){var bO=bR[i].getElementsByTagName(t);for(var j=0;j=0;i-- ){var bO=bS[i].getElementsByTagName(t);for(var j=0;j=0;j-- ){var bQ=bP[name][j].listener;if(bQ.original){bQ=bQ.original;};qxWeb(bS[i]).on(name,bQ,bP[name][j].ctx);};};};},hover:function(bV,bW){this.on(g,bV,this);if(qx.lang.Type.isFunction(bW)){this.on(f,bW,this);};return this;},onMatchTarget:function(bY,ca,cc,cb){cb=cb!==undefined?cb:this;var bX=function(e){var cd=qxWeb(e.getTarget());var ce=typeof ca==h?this.find(ca):qxWeb(ca);if(cd.is(ca)){cc.call(cb,cd,qxWeb.object.clone(e));}else {for(var i=0,l=ce.length;i=0;i-- ){var cn=cm[i];if(cn.type==ch&&cn.callback==ck&&cn.context==cj){this.off(ch,cn.listener);cm.splice(i,1);};};if(cm.length===0){cl.$$matchTargetInfo=null;};};},this);return this;},hasMatchListener:function(ct,co,cp,cq){cq=cq!==undefined?cq:this;for(var j=0,l=this.length;j=0;i-- ){var cr=cs[i];if(cr.type==ct&&cr.callback==cp&&cr.target==co&&cr.context==cq){return true;};};};return false;}},defer:function(cu){qxWeb.$attachAll(this);qxWeb.$attachStatic({"$registerEventNormalization":cu.$registerEventNormalization,"$unregisterEventNormalization":cu.$unregisterEventNormalization,"$getEventNormalizationRegistry":cu.$getEventNormalizationRegistry,"$registerEventHook":cu.$registerEventHook,"$unregisterEventHook":cu.$unregisterEventHook,"$getEventHookRegistry":cu.$getEventHookRegistry});}});})();(function(){var a="qx.module.event.PointerHandler",b="pointerup",c="event.dispatchevent",d="gesturemove",e="pointerover",f="gesturebegin",g="pointerdown",h="pointermove",i="gesturefinish",j="qx.event.handler.Pointer",k="gesturecancel",l="pointercancel",m="pointerout";qx.Bootstrap.define(a,{statics:{TYPES:[h,e,m,g,b,l,f,d,i,k],register:function(o,n){if(!o.$$pointerHandler){if(!qx.core.Environment.get(c)){if(!o.$$emitter){o.$$emitter=new qx.event.Emitter();};};o.$$pointerHandler=new qx.event.handler.PointerCore(o,o.$$emitter);};},unregister:function(r){if(r.$$pointerHandler){if(r.$$pointerHandler.classname===j){return;};var p=r.$$emitter.getListeners();for(var q in p){if(qx.module.event.PointerHandler.TYPES.indexOf(q)!==-1){if(p[q].length>0){return;};};};r.$$pointerHandler.dispose();r.$$pointerHandler=undefined;};}},defer:function(s){qxWeb.$registerEventHook(s.TYPES,s.register,s.unregister);}});})();(function(){var a="qx.event.Emitter",b="*";qx.Bootstrap.define(a,{extend:Object,statics:{__fw:[]},members:{__fu:null,__fx:null,on:function(name,c,d){var e=qx.event.Emitter.__fw.length;this.__fy(name).push({listener:c,ctx:d,id:e,name:name});qx.event.Emitter.__fw.push({name:name,listener:c,ctx:d});return e;},once:function(name,f,g){var h=qx.event.Emitter.__fw.length;this.__fy(name).push({listener:f,ctx:g,once:true,id:h});qx.event.Emitter.__fw.push({name:name,listener:f,ctx:g});return h;},off:function(name,m,k){var l=this.__fy(name);for(var i=l.length-1;i>=0;i-- ){var n=l[i];if(n.listener==m&&n.ctx==k){l.splice(i,1);qx.event.Emitter.__fw[n.id]=null;return n.id;};};return null;},offById:function(p){var o=qx.event.Emitter.__fw[p];if(o){this.off(o.name,o.listener,o.ctx);};return null;},addListener:function(name,q,r){return this.on(name,q,r);},addListenerOnce:function(name,s,t){return this.once(name,s,t);},removeListener:function(name,u,v){this.off(name,u,v);},removeListenerById:function(w){this.offById(w);},emit:function(name,A){var x=this.__fy(name).concat();var y=[];for(var i=0;i=0;i-- ){var z=x[i];z.listener.call(z.ctx,A);};},getListeners:function(){return this.__fu;},getEntryById:function(F){for(var name in this.__fu){var E=this.__fu[name];for(var i=0,j=E.length;i=0;i-- ){var bq=new qx.event.type.dom.Pointer(o,bl,{identifier:this.__fE[i].identifier,target:bl.target,pointerType:h,pointerId:this.__fE[i].identifier+2});this._fireEvent(bq,o,bl.target);};this.__fI=null;this.__fE=[];return;};if(bl.type==q&&this.__fI===null){this.__fI=bo[0].identifier;};for(var i=0,l=bo.length;i1){return;};if(bt.type==M&&bw>0){return;};if(bt.type==O){this.__fD[bt.which]=0;return;};var by=new qx.event.type.dom.Pointer(bv,bt,bz);this._fireEvent(by,bv,bu);},_determineActiveTouches:function(bD,bC){if(bD==q){for(var i=0;i=8){bj.READONLY_PROPERTIES=bj.READONLY_PROPERTIES.concat(bj.MOUSE_PROPERTIES);};}});})();(function(){var a="start",b="animationEnd",c="",d="none",e="browser.name",f="browser.version",g="qx.module.Animation",h="animationIteration",j="end",k="animationStart",l="ease-in",m="iteration",n="ease-out",o="ie",p="display";qx.Bootstrap.define(g,{events:{"animationStart":undefined,"animationIteration":undefined,"animationEnd":undefined},statics:{_fadeOut:{duration:700,timing:n,keep:100,keyFrames:{'0':{opacity:1},'100':{opacity:0,display:d}}},_fadeIn:{duration:700,timing:l,keep:100,keyFrames:{'0':{opacity:0},'100':{opacity:1}}},_animate:function(s,q,r){this._forEachElement(function(t,i){if(t.$$animation){t.$$animation.stop();};var u;if(r){u=qx.bom.element.Animation.animateReverse(t,s,q);}else {u=qx.bom.element.Animation.animate(t,s,q);};var self=this;if(i==0){u.on(a,function(){self.emit(k);},u);u.on(m,function(){self.emit(h);},u);};u.on(j,function(){for(var i=0;i=8){document.addEventListener(l,function(){if(!document.hidden){bm.__fU();};},false);};}});})();(function(){var a="css.animation",b="Element",c="",d="qx.bom.element.AnimationHandle",e="play-state",f="paused",g="running";qx.Bootstrap.define(d,{extend:qx.event.Emitter,construct:function(){var h=qx.core.Environment.get(a);this.__fV=h&&h[e];this.__fW=true;},events:{"start":b,"end":b,"iteration":b},members:{__fV:null,__fW:false,__fX:false,isPlaying:function(){return this.__fW;},isEnded:function(){return this.__fX;},isPaused:function(){return this.el.style[this.__fV]==f;},pause:function(){if(this.el){this.el.style[this.__fV]=f;this.el.$$animation.__fW=false;if(this.animationId&&qx.bom.element.AnimationJs){qx.bom.element.AnimationJs.pause(this);};};},play:function(){if(this.el){this.el.style[this.__fV]=g;this.el.$$animation.__fW=true;if(this.i!=undefined&&qx.bom.element.AnimationJs){qx.bom.element.AnimationJs.play(this);};};},stop:function(){if(this.el&&qx.core.Environment.get(a)&&!this.jsAnimation){this.el.style[this.__fV]=c;this.el.style[qx.core.Environment.get(a).name]=c;this.el.$$animation.__fW=false;this.el.$$animation.__fX=true;}else if(this.jsAnimation){this.stopped=true;qx.bom.element.AnimationJs.stop(this);};}}});})();(function(){var c="cm",d="mm",e="0",f="pt",g="pc",h="",k="%",l="em",m="qx.bom.element.AnimationJs",n="infinite",o="#",p="in",q="px",r="start",s="end",t="ex",u=";",v="undefined",w="iteration",y="string",z=":";qx.Bootstrap.define(m,{statics:{__fY:30,__ga:[k,p,c,d,l,t,f,g,q],__fL:{"scale":true,"rotate":true,"skew":true,"translate":true},animate:function(B,C,A){return this._animate(B,C,A,false);},animateReverse:function(E,F,D){return this._animate(E,F,D,true);},_animate:function(G,Q,P,I){if(G.$$animation){return G.$$animation;};Q=qx.lang.Object.clone(Q,true);if(P==undefined){P=Q.duration;};var L=Q.keyFrames;var J=this.__gj(L);var K=this.__gi(P,J);var N=parseInt(P/K,10);this.__gb(L,G);var O=this.__gd(N,K,J,L,P,Q.timing);var H=new qx.bom.element.AnimationHandle();H.jsAnimation=true;if(I){O.reverse();H.reverse=true;};H.desc=Q;H.el=G;H.delta=O;H.stepTime=K;H.steps=N;G.$$animation=H;H.i=0;H.initValues={};H.repeatSteps=this.__gg(N,Q.repeat);var M=Q.delay||0;var self=this;H.delayId=window.setTimeout(function(){H.delayId=null;self.play(H);},M);return H;},__gb:function(V,R){var Y={};for(var U in V){for(var name in V[U]){var S=qx.bom.Style.getPropertyName(name);if(S&&S!=name){var X=qx.bom.Style.getCssName(S);V[U][X]=V[U][name];delete V[U][name];name=X;};if(Y[name]==undefined){var W=V[U][name];if(typeof W==y){Y[name]=this.__ge(W);}else {Y[name]=h;};};};};for(var U in V){var T=V[U];for(var name in Y){if(T[name]==undefined){if(name in R.style){if(window.getComputedStyle){T[name]=getComputedStyle(R,null)[name];}else {T[name]=R.style[name];};}else {T[name]=R[name];};if(T[name]===h&&this.__ga.indexOf(Y[name])!=-1){T[name]=e+Y[name];};};};};},__gc:function(bb){bb=qx.lang.Object.clone(bb);var bc;for(var name in bb){if(name in this.__fL){if(!bc){bc={};};bc[name]=bb[name];delete bb[name];};};if(bc){var ba=qx.bom.element.Transform.getCss(bc).split(z);if(ba.length>1){bb[ba[0]]=ba[1].replace(u,h);};};return bb;},__gd:function(bw,bh,bo,bi,be,bq){var bp=new Array(bw);var bm=1;bp[0]=this.__gc(bi[0]);var bt=bi[0];var bj=bi[bo[bm]];var bf=Math.floor(bo[bm]/(bh/be*100));var bs=1;for(var i=1;ibo[bm]){bt=bj;bm++ ;bj=bi[bo[bm]];bf=Math.floor(bo[bm]/(bh/be*100))-bf;bs=1;};bp[i]={};var bd;for(var name in bj){var br=bj[name]+h;if(name in this.__fL){if(!bd){bd={};};if(qx.Bootstrap.isArray(bt[name])){if(!qx.Bootstrap.isArray(bj[name])){bj[name]=[bj[name]];};bd[name]=[];for(var j=0;j1){bp[i][bx[0]]=bx[1].replace(u,h);};};bs++ ;};bp[bp.length-1]=this.__gc(bi[100]);return bp;},__ge:function(by){return by.substring((parseFloat(by)+h).length,by.length);},__gf:function(bC,bB,bz,x){var bA=parseFloat(bC)-parseFloat(bB);return (parseFloat(bB)+bA*qx.bom.AnimationFrame.calculateTiming(bz,x))+this.__ge(bC);},play:function(bD){bD.emit(r,bD.el);var bE=window.setInterval(function(){bD.repeatSteps-- ;var bF=bD.delta[bD.i%bD.steps];if(bD.i===0){for(var name in bF){if(bD.initValues[name]===undefined){if(bD.el[name]!==undefined){bD.initValues[name]=bD.el[name];}else if(qx.bom.element.Style){bD.initValues[name]=qx.bom.element.Style.get(bD.el,qx.lang.String.camelCase(name));}else {bD.initValues[name]=bD.el.style[qx.lang.String.camelCase(name)];};};};};qx.bom.element.AnimationJs.__gh(bD.el,bF);bD.i++ ;if(bD.i%bD.steps==0){bD.emit(w,bD.el);if(bD.desc.alternate){bD.delta.reverse();};};if(bD.repeatSteps<0){qx.bom.element.AnimationJs.stop(bD);};},bD.stepTime);bD.animationId=bE;return bD;},pause:function(bG){window.clearInterval(bG.animationId);bG.animationId=null;return bG;},stop:function(bK){var bJ=bK.desc;var bH=bK.el;var bI=bK.initValues;if(bK.animationId){window.clearInterval(bK.animationId);};if(bK.delayId){window.clearTimeout(bK.delayId);};if(bH==undefined){return bK;};var bL=bJ.keep;if(bL!=undefined&&!bK.stopped){if(bK.reverse||(bJ.alternate&&bJ.repeat&&bJ.repeat%2==0)){bL=100-bL;};this.__gh(bH,bJ.keyFrames[bL]);}else {this.__gh(bH,bI);};bH.$$animation=null;bK.el=null;bK.ended=true;bK.animationId=null;bK.emit(s,bH);return bK;},__gg:function(bN,bM){if(bM==undefined){return bN;};if(bM==n){return Number.MAX_VALUE;};return bN*bM;},__gh:function(bP,bO){for(var bQ in bO){if(bO[bQ]===undefined){continue;};if(typeof bP.style[bQ]===v&&bQ in bP){bP[bQ]=bO[bQ];continue;};var name=qx.bom.Style.getPropertyName(bQ)||bQ;if(qx.bom.element.Style){qx.bom.element.Style.set(bP,name,bO[bQ]);}else {bP.style[name]=bO[bQ];};};},__gi:function(bT,bR){var bU=100;for(var i=0;ithis.__fY){bS=bS/2;};return Math.round(bS);},__gj:function(bW){var bV=Object.keys(bW);for(var i=0;i-1&&qx.core.Environment.get(b)){bm+=this._compute3dProperty(bj,bk);}else {bm+=this._computeAxisProperties(bj,bk);};}else {bm+=bj+p+bk+c;};};return bm.trim();},_compute3dProperty:function(bo,bn){var bp=n;bo+=l;for(var i=0;i=m+l){this.emit(g);this.id=null;}else {var o=Math.max(p-m,0);this.emit(f,o);this.id=qx.bom.AnimationFrame.request(n,this);};};this.id=qx.bom.AnimationFrame.request(n,this);},cancelSequence:function(){this.__gl=true;}},statics:{TIMEOUT:30,calculateTiming:function(q,x){if(q==j){var a=[3.1223e-7,0.0757,1.2646,-0.167,-0.4387,0.2654];}else if(q==k){var a=[-7.0198e-8,1.652,-0.551,-0.0458,0.1255,-0.1807];}else if(q==h){return x;}else if(q==b){var a=[2.482e-7,-0.2289,3.3466,-1.0857,-1.7354,0.7034];}else {var a=[-0.0021,0.2472,9.8054,-21.6869,17.7611,-5.1226];};var y=0;for(var i=0;i=8)){bk.style.visibility=bh.__gF?p:N;};};};delete be[bg];};var scroll=this._scroll;for(var bg in scroll){bh=scroll[bg];var X=bh.__gD;if(X&&X.offsetWidth){var bb=true;if(bh.__gI!=null){bh.__gD.scrollLeft=bh.__gI;delete bh.__gI;};if(bh.__gJ!=null){bh.__gD.scrollTop=bh.__gJ;delete bh.__gJ;};var bl=bh.__gG;if(bl!=null){var bf=bl.element.getDomElement();if(bf&&bf.offsetWidth){qx.bom.element.Scroll.intoViewX(bf,X,bl.align);delete bh.__gG;}else {bb=false;};};var bm=bh.__gH;if(bm!=null){var bf=bm.element.getDomElement();if(bf&&bf.offsetWidth){qx.bom.element.Scroll.intoViewY(bf,X,bm.align);delete bh.__gH;}else {bb=false;};};if(bb){delete scroll[bg];};};};var ba={"releaseCapture":1,"blur":1,"deactivate":1};for(var i=0;i0){this._insertChildren();};}else {this._syncData();if(this.__gQ){this._syncChildren();};};delete this.__gQ;},_insertChildren:function(){var bv=this.__gP;var length=bv.length;var bx;if(length>2){var bw=document.createDocumentFragment();for(var i=0;i=0;i-- ){bE=bG[i];bD=bH.fromHashCode(bE.$$element);if(!bD||!bD.__gE||bD.__gR!==this){bB.removeChild(bE);{};};};for(var i=0;i=1){return true;};var cD=qx.event.handler.Focus.FOCUSABLE_ELEMENTS;if(cE>=0&&cD[this.__gu]){return true;};return false;},setSelectable:function(cG){this.setAttribute(A,cG?D:C);var cF=qx.core.Environment.get(m);if(cF){this.setStyle(cF,cG?b:qx.core.Environment.get(P));};},isNativelyFocusable:function(){return !!qx.event.handler.Focus.FOCUSABLE_ELEMENTS[this.__gu];},include:function(){if(this.__gE){return this;};delete this.__gE;if(this.__gR){this.__gR._scheduleChildrenUpdate();};return this;},exclude:function(){if(!this.__gE){return this;};this.__gE=false;if(this.__gR){this.__gR._scheduleChildrenUpdate();};return this;},isIncluded:function(){return this.__gE===true;},fadeIn:function(cH){var cI=qxWeb(this.__gD);if(cI.isPlaying()){cI.stop();};if(!this.__gD){this.__gS();cI.push(this.__gD);};if(this.__gD){cI.fadeIn(cH);return cI.getAnimationHandles()[0];};},fadeOut:function(cJ){var cK=qxWeb(this.__gD);if(cK.isPlaying()){cK.stop();};if(this.__gD){cK.fadeOut(cJ).once(n,function(){this.hide();qx.html.Element.flush();},this);return cK.getAnimationHandles()[0];};},show:function(){if(this.__gF){return this;};if(this.__gD){qx.html.Element._visibility[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};if(this.__gR){this.__gR._scheduleChildrenUpdate();};delete this.__gF;return this;},hide:function(){if(!this.__gF){return this;};if(this.__gD){qx.html.Element._visibility[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};this.__gF=false;return this;},isVisible:function(){return this.__gF===true;},scrollChildIntoViewX:function(cO,cM,cP){var cL=this.__gD;var cN=cO.getDomElement();if(cP!==false&&cL&&cL.offsetWidth&&cN&&cN.offsetWidth){qx.bom.element.Scroll.intoViewX(cN,cL,cM);}else {this.__gG={element:cO,align:cM};qx.html.Element._scroll[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};delete this.__gI;},scrollChildIntoViewY:function(cT,cR,cU){var cQ=this.__gD;var cS=cT.getDomElement();if(cU!==false&&cQ&&cQ.offsetWidth&&cS&&cS.offsetWidth){qx.bom.element.Scroll.intoViewY(cS,cQ,cR);}else {this.__gH={element:cT,align:cR};qx.html.Element._scroll[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};delete this.__gJ;},scrollToX:function(x,cV){var cW=this.__gD;if(cV!==true&&cW&&cW.offsetWidth){cW.scrollLeft=x;delete this.__gI;}else {this.__gI=x;qx.html.Element._scroll[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};delete this.__gG;},getScrollX:function(){var cX=this.__gD;if(cX){return cX.scrollLeft;};return this.__gI||0;},scrollToY:function(y,da){var cY=this.__gD;if(da!==true&&cY&&cY.offsetWidth){cY.scrollTop=y;delete this.__gJ;}else {this.__gJ=y;qx.html.Element._scroll[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};delete this.__gH;},getScrollY:function(){var dc=this.__gD;if(dc){return dc.scrollTop;};return this.__gJ||0;},disableScrolling:function(){this.enableScrolling();this.scrollToX(0);this.scrollToY(0);this.addListener(L,this.__gY,this);},enableScrolling:function(){this.removeListener(L,this.__gY,this);},__gX:null,__gY:function(e){if(!this.__gX){this.__gX=true;this.__gD.scrollTop=0;this.__gD.scrollLeft=0;delete this.__gX;};},getTextSelection:function(){var dd=this.__gD;if(dd){return qx.bom.Selection.get(dd);};return null;},getTextSelectionLength:function(){var de=this.__gD;if(de){return qx.bom.Selection.getLength(de);};return null;},getTextSelectionStart:function(){var df=this.__gD;if(df){return qx.bom.Selection.getStart(df);};return null;},getTextSelectionEnd:function(){var dg=this.__gD;if(dg){return qx.bom.Selection.getEnd(dg);};return null;},setTextSelection:function(dh,di){var dj=this.__gD;if(dj){qx.bom.Selection.set(dj,dh,di);return;};qx.html.Element.__gx[this.toHashCode()]={element:this,start:dh,end:di};qx.html.Element._scheduleFlush(v);},clearTextSelection:function(){var dk=this.__gD;if(dk){qx.bom.Selection.clear(dk);};delete qx.html.Element.__gx[this.toHashCode()];},__ha:function(dl,dm){var dn=qx.html.Element._actions;dn.push({type:dl,element:this,args:dm||[]});qx.html.Element._scheduleFlush(v);},focus:function(){this.__ha(f);},blur:function(){this.__ha(g);},activate:function(){this.__ha(F);},deactivate:function(){this.__ha(k);},capture:function(dp){this.__ha(o,[dp!==false]);},releaseCapture:function(){this.__ha(t);},setStyle:function(dq,dr,ds){if(!this.__gv){this.__gv={};};if(this.__gv[dq]==dr){return this;};if(dr==null){delete this.__gv[dq];}else {this.__gv[dq]=dr;};if(this.__gD){if(ds){qx.bom.element.Style.set(this.__gD,dq,dr);return this;};if(!this.__gK){this.__gK={};};this.__gK[dq]=true;qx.html.Element._modified[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};return this;},setStyles:function(du,dw){var dv=qx.bom.element.Style;if(!this.__gv){this.__gv={};};if(this.__gD){if(!this.__gK){this.__gK={};};for(var dt in du){var dx=du[dt];if(this.__gv[dt]==dx){continue;};if(dx==null){delete this.__gv[dt];}else {this.__gv[dt]=dx;};if(dw){dv.set(this.__gD,dt,dx);continue;};this.__gK[dt]=true;};qx.html.Element._modified[this.$$hash]=this;qx.html.Element._scheduleFlush(v);}else {for(var dt in du){var dx=du[dt];if(this.__gv[dt]==dx){continue;};if(dx==null){delete this.__gv[dt];}else {this.__gv[dt]=dx;};};};return this;},removeStyle:function(dz,dy){this.setStyle(dz,null,dy);return this;},getStyle:function(dA){return this.__gv?this.__gv[dA]:null;},getAllStyles:function(){return this.__gv||null;},setAttribute:function(dB,dC,dD){if(!this.__gw){this.__gw={};};if(this.__gw[dB]==dC){return this;};if(dC==null){delete this.__gw[dB];}else {this.__gw[dB]=dC;};if(this.__gD){if(dD){qx.bom.element.Attribute.set(this.__gD,dB,dC);return this;};if(!this.__gL){this.__gL={};};this.__gL[dB]=true;qx.html.Element._modified[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};return this;},setAttributes:function(dE,dF){for(var dG in dE){this.setAttribute(dG,dE[dG],dF);};return this;},removeAttribute:function(dI,dH){return this.setAttribute(dI,null,dH);},getAttribute:function(dJ){return this.__gw?this.__gw[dJ]:null;},addClass:function(name){var dK=((this.getAttribute(j)||w)+M+name).trim();this.setAttribute(j,dK);},removeClass:function(name){var dL=this.getAttribute(j);if(dL){this.setAttribute(j,(dL.replace(name,w)).trim());};},_applyProperty:function(name,dM){},_setProperty:function(dN,dO,dP){if(!this.__gN){this.__gN={};};if(this.__gN[dN]==dO){return this;};if(dO==null){delete this.__gN[dN];}else {this.__gN[dN]=dO;};if(this.__gD){if(dP){this._applyProperty(dN,dO);return this;};if(!this.__gM){this.__gM={};};this.__gM[dN]=true;qx.html.Element._modified[this.$$hash]=this;qx.html.Element._scheduleFlush(v);};return this;},_removeProperty:function(dR,dQ){return this._setProperty(dR,null,dQ);},_getProperty:function(dT){var dS=this.__gN;if(!dS){return null;};var dU=dS[dT];return dU==null?null:dU;},addListener:function(ea,dW,self,dV){if(this.$$disposed){return null;};{var dX;};if(this.__gD){return qx.event.Registration.addListener(this.__gD,ea,dW,self,dV);};if(!this.__gO){this.__gO={};};if(dV==null){dV=false;};var dY=qx.event.Manager.getNextUniqueId();var eb=ea+(dV?d:s)+dY;this.__gO[eb]={type:ea,listener:dW,self:self,capture:dV,unique:dY};return eb;},removeListener:function(ej,ed,self,ec){if(this.$$disposed){return null;};{var eh;};if(this.__gD){if(ed.$$wrapped_callback&&ed.$$wrapped_callback[ej+this.$$hash]){var ee=ed.$$wrapped_callback[ej+this.$$hash];delete ed.$$wrapped_callback[ej+this.$$hash];ed=ee;};qx.event.Registration.removeListener(this.__gD,ej,ed,self,ec);}else {var ef=this.__gO;var ei;if(ec==null){ec=false;};for(var eg in ef){ei=ef[eg];if(ei.listener===ed&&ei.self===self&&ei.capture===ec&&ei.type===ej){delete ef[eg];break;};};};return this;},removeListenerById:function(ek){if(this.$$disposed){return null;};if(this.__gD){qx.event.Registration.removeListenerById(this.__gD,ek);}else {delete this.__gO[ek];};return this;},hasListener:function(en,em){if(this.$$disposed){return false;};if(this.__gD){return qx.event.Registration.hasListener(this.__gD,en,em);};var eo=this.__gO;var eq;if(em==null){em=false;};for(var ep in eo){eq=eo[ep];if(eq.capture===em&&eq.type===en){return true;};};return false;},getListeners:function(){if(this.$$disposed){return null;};if(this.__gD){return qx.event.Registration.getManager(this.__gD).serializeListeners(this.__gD);};var er=[];for(var et in this.__gO){var es=this.__gO[et];er.push({type:es.type,handler:es.listener,self:es.self,capture:es.capture});};return er;}},defer:function(eu){eu.__hb=new qx.util.DeferredCall(eu.flush,eu);},destruct:function(){if(this.$$hash){delete qx.html.Element._modified[this.$$hash];delete qx.html.Element._scroll[this.$$hash];};var ev=this.__gD;if(ev){qx.event.Registration.getManager(ev).removeAllListeners(ev);ev.$$element=w;};if(!qx.core.ObjectRegistry.inShutDown){var parent=this.__gR;if(parent&&!parent.$$disposed){parent.remove(this);};};this._disposeArray(z);this.__gw=this.__gv=this.__gO=this.__gN=this.__gL=this.__gK=this.__gM=this.__gD=this.__gR=this.__gG=this.__gH=null;}});})();(function(){var a="qx.event.handler.Appear",b="engine.name",c="mshtml",d="disappear",e="appear",f="browser.documentmode";qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(g){qx.core.Object.call(this);this.__gt=g;this.__hc={};qx.event.handler.Appear.__hd[this.$$hash]=this;},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{appear:true,disappear:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true,__hd:{},refresh:function(){var h=this.__hd;for(var i in h){h[i].refresh();};}},members:{__gt:null,__hc:null,canHandleEvent:function(k,j){},registerEvent:function(o,p,m){var n=qx.core.ObjectRegistry.toHashCode(o)+p;var l=this.__hc;if(l&&!l[n]){l[n]=o;o.$$displayed=o.offsetWidth>0;};},unregisterEvent:function(t,u,r){var s=qx.core.ObjectRegistry.toHashCode(t)+u;var q=this.__hc;if(!q){return;};if(q[s]){delete q[s];};},refresh:function(){var A=this.__hc;var x;var y=qx.core.Environment.get(b)==c&&qx.core.Environment.get(f)<9;for(var v in A){x=A[v];var w=x.offsetWidth>0;if(!w&&y){w=x.offsetWidth>0;};if((!!x.$$displayed)!==w){x.$$displayed=w;var z=qx.event.Registration.createEvent(w?e:d);this.__gt.dispatchEvent(x,z);};};}},destruct:function(){this.__gt=this.__hc=null;delete qx.event.handler.Appear.__hd[this.$$hash];},defer:function(B){qx.event.Registration.addHandler(B);}});})();(function(){var a="abstract",b="Missing implementation",c="qx.event.dispatch.AbstractBubbling";qx.Class.define(c,{extend:qx.core.Object,implement:qx.event.IEventDispatcher,type:a,construct:function(d){this._manager=d;},members:{_getParent:function(e){throw new Error(b);},canDispatchEvent:function(g,event,f){return event.getBubbles();},dispatchEvent:function(l,event,w){var parent=l;var s=this._manager;var o,x;var n;var v,u;var y;var q=[];o=s.getListeners(l,w,true);x=s.getListeners(l,w,false);if(o){q.push(o);};if(x){q.push(x);};var parent=this._getParent(l);var k=[];var h=[];var m=[];var p=[];while(parent!=null){o=s.getListeners(parent,w,true);if(o){m.push(o);p.push(parent);};x=s.getListeners(parent,w,false);if(x){k.push(x);h.push(parent);};parent=this._getParent(parent);};event.setEventPhase(qx.event.type.Event.CAPTURING_PHASE);for(var i=m.length-1;i>=0;i-- ){y=p[i];event.setCurrentTarget(y);n=m[i];for(var j=0,r=n.length;j0){var be=Date.now()-qx.event.handler.GestureCore.DOUBLETAP_TIME;for(var bg in this.__hj){if(bg=Math.abs(cn.y))?D:n;var cf=cn[cp];var cg=ck.SWIPE_DIRECTION[cp][cf<0?0:1];var cm=(cl!==0)?cf/cl:0;var cj={startTime:co.startTime,duration:cl,axis:cp,direction:cg,distance:cf,velocity:cm};return cj;},__hu:function(cq,cr,cs){cr.delta=this._getDeltaCoordinates(cr);this._fireEvent(cr,cq,cr.target||cs);},_fireRoll:function(cu,ct,cv){if(cu.type===qx.core.Environment.get(g).type){cu.delta={x:qx.util.Wheel.getDelta(cu,D)*qx.event.handler.GestureCore.ROLL_FACTOR,y:qx.util.Wheel.getDelta(cu,n)*qx.event.handler.GestureCore.ROLL_FACTOR};cu.delta.axis=Math.abs(cu.delta.x/cu.delta.y)<1?n:D;cu.pointerType=j;}else {var cw=this.__hi[cu.pointerId];cu.delta={x:-cw.velocityX,y:-cw.velocityY,axis:Math.abs(cw.velocityX/cw.velocityY)<1?n:D};};this._fireEvent(cu,h,cu.target||cv);},__hv:function(cx,cz){if(!cx.isPrimary){var cy=this._calcAngle();cx.angle=Math.round((cy-this.__ho)%360);this._fireEvent(cx,k,this.__hm);};},__hw:function(cC,cD){if(!cC.isPrimary){var cA=this._calcDistance();var cB=cA/this.__hq;cC.scale=(Math.round(cB*100)/100);this._fireEvent(cC,b,this.__hm);};},__hx:function(cE,cF){var cG=this.__hi[cE.pointerId];if(cG){this._fireEvent(cE,f,cE.target||cF);cG.longTapTimer=null;cG.isTap=false;};},__hy:function(cH){if(cH.longTapTimer){window.clearTimeout(cH.longTapTimer);cH.longTapTimer=null;};},isBelowTapMaxDistance:function(event){var cI=this._calcDelta(event);var cJ=qx.event.handler.GestureCore;return (Math.abs(cI.x)<=cJ.TAP_MAX_DISTANCE&&Math.abs(cI.y)<=cJ.TAP_MAX_DISTANCE);},dispose:function(){for(var cK in this.__hi){this.__hy(cK);};this._stopObserver();this.__fA=this.__fB=null;}}});})();(function(){var a="x",b="y",c="qx.util.Wheel";qx.Bootstrap.define(c,{statics:{MAXSCROLL:null,MINSCROLL:null,FACTOR:1,getDelta:function(e,d){if(d===undefined){var f=0;if(e.wheelDelta!==undefined){f=-e.wheelDelta;}else if(e.detail!==0){f=e.detail;}else if(e.deltaY!==undefined){f=e.deltaY;};return this.__hz(f);};if(d===a){var x=0;if(e.wheelDelta!==undefined){if(e.wheelDeltaX!==undefined){x=e.wheelDeltaX?this.__hz(-e.wheelDeltaX):0;};}else {if(e.axis&&e.axis==e.HORIZONTAL_AXIS&&(e.detail!==undefined)&&(e.detail>0)){x=this.__hz(e.detail);}else if(e.deltaX!==undefined){x=this.__hz(e.deltaX);};};return x;};if(d===b){var y=0;if(e.wheelDelta!==undefined){if(e.wheelDeltaY!==undefined){y=e.wheelDeltaY?this.__hz(-e.wheelDeltaY):0;}else {y=this.__hz(-e.wheelDelta);};}else {if(!(e.axis&&e.axis==e.HORIZONTAL_AXIS)&&(e.detail!==undefined)&&(e.detail>0)){y=this.__hz(e.detail);}else if(e.deltaY!==undefined){y=this.__hz(e.deltaY);};};return y;};return 0;},__hz:function(j){var g=Math.abs(j);if(g===0){return 0;};if(qx.util.Wheel.MINSCROLL==null||qx.util.Wheel.MINSCROLL>g){qx.util.Wheel.MINSCROLL=g;this.__hA();};if(qx.util.Wheel.MAXSCROLL==null||qx.util.Wheel.MAXSCROLL=this.charCodeA&&bv<=this.charCodeZ){return true;};if(bv>=this.charCode0&&bv<=this.charCode9){return true;};if(this.specialCharCodeMap[bv]){return true;};if(this.numpadToCharCode[bv]){return true;};if(this.isNonPrintableKeyCode(bv)){return true;};return false;},isNonPrintableKeyCode:function(bw){return this.keyCodeToIdentifierMap[bw]?true:false;},isValidKeyIdentifier:function(bx){if(this.identifierToKeyCodeMap[bx]){return true;};if(bx.length!=1){return false;};if(bx>=s&&bx<=bq){return true;};if(bx>=i&&bx<=I){return true;};switch(bx){case e:case a:case J:case G:case br:return true;default:return false;};},isPrintableKeyIdentifier:function(by){if(by===j){return true;}else {return this.identifierToKeyCodeMap[by]?false:true;};}},defer:function(bz,bA){if(!bz.identifierToKeyCodeMap){bz.identifierToKeyCodeMap={};for(var bB in bz.keyCodeToIdentifierMap){bz.identifierToKeyCodeMap[bz.keyCodeToIdentifierMap[bB]]=parseInt(bB,10);};for(var bB in bz.specialCharCodeMap){bz.identifierToKeyCodeMap[bz.specialCharCodeMap[bB]]=parseInt(bB,10);};};}});})();(function(){var a="selectstart",b="os.name",c="blur",d="mousedown",e="focus",f="os.version",g="qx.event.handler.Focus",h="_applyFocus",i="DOMFocusIn",j="deactivate",k="textarea",l="_applyActive",m='character',n="input",o="ios",p="",q="qxSelectable",r="tabIndex",s="off",t="on",u="activate",v="focusin",w="mshtml",x="engine.name",y="mouseup",z="DOMFocusOut",A="focusout",B="qxKeepFocus",C="draggesture",D="qxKeepActive";qx.Class.define(g,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(E){qx.core.Object.call(this);this._manager=E;this._window=E.getWindow();this._document=this._window.document;this._root=this._document.documentElement;this._body=this._document.body;if((qx.core.Environment.get(b)==o&&parseFloat(qx.core.Environment.get(f))>6)&&(!qx.application.Inline||!qx.core.Init.getApplication() instanceof qx.application.Inline)){this.__hW=true;};this._initObserver();},properties:{active:{apply:l,nullable:true},focus:{apply:h,nullable:true}},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{focus:1,blur:1,focusin:1,focusout:1,activate:1,deactivate:1},IGNORE_CAN_HANDLE:true,FOCUSABLE_ELEMENTS:qx.core.Environment.select(x,{"mshtml":{a:1,body:1,button:1,frame:1,iframe:1,img:1,input:1,object:1,select:1,textarea:1},"gecko":{a:1,body:1,button:1,frame:1,iframe:1,img:1,input:1,object:1,select:1,textarea:1},"opera":{button:1,input:1,select:1,textarea:1},"webkit":{button:1,input:1,select:1,textarea:1}})},members:{__hX:null,__hY:null,__ia:null,__ib:null,__ic:null,__id:null,__ie:null,__if:null,__ig:null,__ih:null,__ii:p,__ij:p,__hW:false,__ik:null,canHandleEvent:function(G,F){},registerEvent:function(J,I,H){},unregisterEvent:function(M,L,K){},focus:function(N){if((qx.core.Environment.get(x)==w)){window.setTimeout(function(){try{N.focus();var O=qx.bom.Selection.get(N);if(O.length==0){var P=N.createTextRange();P.moveStart(m,N.value.length);P.collapse();P.select();};}catch(Q){};},0);}else {try{N.focus();}catch(R){};};this.setFocus(N);this.setActive(N);},activate:function(S){this.setActive(S);},blur:function(T){try{T.blur();}catch(U){};if(this.getActive()===T){this.resetActive();};if(this.getFocus()===T){this.resetFocus();};},deactivate:function(V){if(this.getActive()===V){this.resetActive();};},tryActivate:function(X){var W=this.__iy(X);if(W){this.setActive(W);};},__hJ:function(Y,bb,be,bd){var bc=qx.event.Registration;var ba=bc.createEvent(be,qx.event.type.Focus,[Y,bb,bd]);bc.dispatchEvent(Y,ba);},_windowFocused:true,__il:function(){if(this._windowFocused){this._windowFocused=false;this.__hJ(this._window,null,c,false);};},__im:function(){if(!this._windowFocused){this._windowFocused=true;this.__hJ(this._window,null,e,false);};},_initObserver:qx.core.Environment.select(x,{"gecko":function(){this.__hX=qx.lang.Function.listener(this.__is,this);this.__hY=qx.lang.Function.listener(this.__it,this);this.__ia=qx.lang.Function.listener(this.__ir,this);this.__ib=qx.lang.Function.listener(this.__iq,this);this.__ic=qx.lang.Function.listener(this.__in,this);qx.bom.Event.addNativeListener(this._document,d,this.__hX,true);qx.bom.Event.addNativeListener(this._document,y,this.__hY,true);qx.bom.Event.addNativeListener(this._window,e,this.__ia,true);qx.bom.Event.addNativeListener(this._window,c,this.__ib,true);qx.bom.Event.addNativeListener(this._window,C,this.__ic,true);},"mshtml":function(){this.__hX=qx.lang.Function.listener(this.__is,this);this.__hY=qx.lang.Function.listener(this.__it,this);this.__ie=qx.lang.Function.listener(this.__io,this);this.__if=qx.lang.Function.listener(this.__ip,this);this.__id=qx.lang.Function.listener(this.__iv,this);qx.bom.Event.addNativeListener(this._document,d,this.__hX);qx.bom.Event.addNativeListener(this._document,y,this.__hY);qx.bom.Event.addNativeListener(this._document,v,this.__ie);qx.bom.Event.addNativeListener(this._document,A,this.__if);qx.bom.Event.addNativeListener(this._document,a,this.__id);},"webkit":function(){this.__hX=qx.lang.Function.listener(this.__is,this);this.__hY=qx.lang.Function.listener(this.__it,this);this.__if=qx.lang.Function.listener(this.__ip,this);this.__ia=qx.lang.Function.listener(this.__ir,this);this.__ib=qx.lang.Function.listener(this.__iq,this);this.__id=qx.lang.Function.listener(this.__iv,this);qx.bom.Event.addNativeListener(this._document,d,this.__hX,true);qx.bom.Event.addNativeListener(this._document,y,this.__hY,true);qx.bom.Event.addNativeListener(this._document,a,this.__id,false);qx.bom.Event.addNativeListener(this._window,z,this.__if,true);qx.bom.Event.addNativeListener(this._window,e,this.__ia,true);qx.bom.Event.addNativeListener(this._window,c,this.__ib,true);},"opera":function(){this.__hX=qx.lang.Function.listener(this.__is,this);this.__hY=qx.lang.Function.listener(this.__it,this);this.__ie=qx.lang.Function.listener(this.__io,this);this.__if=qx.lang.Function.listener(this.__ip,this);qx.bom.Event.addNativeListener(this._document,d,this.__hX,true);qx.bom.Event.addNativeListener(this._document,y,this.__hY,true);qx.bom.Event.addNativeListener(this._window,i,this.__ie,true);qx.bom.Event.addNativeListener(this._window,z,this.__if,true);}}),_stopObserver:qx.core.Environment.select(x,{"gecko":function(){qx.bom.Event.removeNativeListener(this._document,d,this.__hX,true);qx.bom.Event.removeNativeListener(this._document,y,this.__hY,true);qx.bom.Event.removeNativeListener(this._window,e,this.__ia,true);qx.bom.Event.removeNativeListener(this._window,c,this.__ib,true);qx.bom.Event.removeNativeListener(this._window,C,this.__ic,true);},"mshtml":function(){qx.bom.Event.removeNativeListener(this._document,d,this.__hX);qx.bom.Event.removeNativeListener(this._document,y,this.__hY);qx.bom.Event.removeNativeListener(this._document,v,this.__ie);qx.bom.Event.removeNativeListener(this._document,A,this.__if);qx.bom.Event.removeNativeListener(this._document,a,this.__id);},"webkit":function(){qx.bom.Event.removeNativeListener(this._document,d,this.__hX,true);qx.bom.Event.removeNativeListener(this._document,y,this.__hY,true);qx.bom.Event.removeNativeListener(this._document,a,this.__id,false);qx.bom.Event.removeNativeListener(this._window,z,this.__if,true);qx.bom.Event.removeNativeListener(this._window,e,this.__ia,true);qx.bom.Event.removeNativeListener(this._window,c,this.__ib,true);},"opera":function(){qx.bom.Event.removeNativeListener(this._document,d,this.__hX,true);qx.bom.Event.removeNativeListener(this._document,y,this.__hY,true);qx.bom.Event.removeNativeListener(this._window,i,this.__ie,true);qx.bom.Event.removeNativeListener(this._window,z,this.__if,true);}}),__in:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"gecko":function(bf){var bg=qx.bom.Event.getTarget(bf);if(!this.__iz(bg)){qx.bom.Event.preventDefault(bf);};},"default":null})),__io:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(bi){this.__im();var bj=qx.bom.Event.getTarget(bi);var bh=this.__ix(bj);if(bh){this.setFocus(bh);};this.tryActivate(bj);},"opera":function(bk){var bl=qx.bom.Event.getTarget(bk);if(bl==this._document||bl==this._window){this.__im();if(this.__ig){this.setFocus(this.__ig);delete this.__ig;};if(this.__ih){this.setActive(this.__ih);delete this.__ih;};}else {this.setFocus(bl);this.tryActivate(bl);if(!this.__iz(bl)){bl.selectionStart=0;bl.selectionEnd=0;};};},"default":null})),__ip:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(bm){var bn=qx.bom.Event.getRelatedTarget(bm);if(bn==null){this.__il();this.resetFocus();this.resetActive();};},"webkit":function(bo){var bp=qx.bom.Event.getTarget(bo);if(bp===this.getFocus()){this.resetFocus();};if(bp===this.getActive()){this.resetActive();};},"opera":function(bq){var br=qx.bom.Event.getTarget(bq);if(br==this._document){this.__il();this.__ig=this.getFocus();this.__ih=this.getActive();this.resetFocus();this.resetActive();}else {if(br===this.getFocus()){this.resetFocus();};if(br===this.getActive()){this.resetActive();};};},"default":null})),__iq:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"gecko":function(bs){var bt=qx.bom.Event.getTarget(bs);if(bt===this._window||bt===this._document){this.__il();this.resetActive();this.resetFocus();};},"webkit":function(bu){var bv=qx.bom.Event.getTarget(bu);if(bv===this._window||bv===this._document){this.__il();this.__ig=this.getFocus();this.__ih=this.getActive();this.resetActive();this.resetFocus();};},"default":null})),__ir:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"gecko":function(bw){var bx=qx.bom.Event.getTarget(bw);if(bx===this._window||bx===this._document){this.__im();bx=this._body;};this.setFocus(bx);this.tryActivate(bx);},"webkit":function(by){var bz=qx.bom.Event.getTarget(by);if(bz===this._window||bz===this._document){this.__im();if(this.__ig){this.setFocus(this.__ig);delete this.__ig;};if(this.__ih){this.setActive(this.__ih);delete this.__ih;};}else {this.__ik=by.relatedTarget;this.setFocus(bz);this.__ik=null;this.tryActivate(bz);};},"default":null})),__is:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(bB){var bC=qx.bom.Event.getTarget(bB);var bA=this.__ix(bC);if(bA){if(!this.__iz(bC)){bC.unselectable=t;try{document.selection.empty();}catch(bD){};try{bA.focus();}catch(bE){};};}else {qx.bom.Event.preventDefault(bB);if(!this.__iz(bC)){bC.unselectable=t;};};},"webkit":function(bG){var bH=qx.bom.Event.getTarget(bG);var bF=this.__ix(bH);if(bF){this.setFocus(bF);}else {qx.bom.Event.preventDefault(bG);};},"gecko":function(bJ){var bK=qx.bom.Event.getTarget(bJ);var bI=this.__ix(bK);if(bI){this.setFocus(bI);}else {qx.bom.Event.preventDefault(bJ);};},"opera":function(bN){var bO=qx.bom.Event.getTarget(bN);var bL=this.__ix(bO);if(!this.__iz(bO)){qx.bom.Event.preventDefault(bN);if(bL){var bM=this.getFocus();if(bM&&bM.selectionEnd){bM.selectionStart=0;bM.selectionEnd=0;bM.blur();};if(bL){this.setFocus(bL);};};}else if(bL){this.setFocus(bL);};},"default":null})),__it:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(bP){var bQ=qx.bom.Event.getTarget(bP);if(bQ.unselectable){bQ.unselectable=s;};this.tryActivate(this.__iu(bQ));},"gecko":function(bR){var bS=qx.bom.Event.getTarget(bR);while(bS&&bS.offsetWidth===undefined){bS=bS.parentNode;};if(bS){this.tryActivate(bS);};},"webkit":function(bT){var bU=qx.bom.Event.getTarget(bT);this.tryActivate(this.__iu(bU));},"opera":function(bV){var bW=qx.bom.Event.getTarget(bV);this.tryActivate(this.__iu(bW));},"default":null})),__iu:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(bX){var bY=this.getFocus();if(bY&&bX!=bY&&(bY.nodeName.toLowerCase()===n||bY.nodeName.toLowerCase()===k)){bX=bY;};return bX;},"webkit":function(ca){var cb=this.getFocus();if(cb&&ca!=cb&&(cb.nodeName.toLowerCase()===n||cb.nodeName.toLowerCase()===k)){ca=cb;};return ca;},"default":function(cc){return cc;}})),__iv:qx.event.GlobalError.observeMethod(qx.core.Environment.select(x,{"mshtml":function(cd){var ce=qx.bom.Event.getTarget(cd);if(!this.__iz(ce)){qx.bom.Event.preventDefault(cd);};},"webkit":function(cf){var cg=qx.bom.Event.getTarget(cf);if(!this.__iz(cg)){qx.bom.Event.preventDefault(cf);};},"default":null})),__iw:function(ch){var ci=qx.bom.element.Attribute.get(ch,r);if(ci>=1){return true;};var cj=qx.event.handler.Focus.FOCUSABLE_ELEMENTS;if(ci>=0&&cj[ch.tagName]){return true;};return false;},__ix:function(ck){while(ck&&ck.nodeType===1){if(ck.getAttribute(B)==t){return null;};if(this.__iw(ck)){return ck;};ck=ck.parentNode;};return this._body;},__iy:function(cl){var cm=cl;while(cl&&cl.nodeType===1){if(cl.getAttribute(D)==t){return null;};cl=cl.parentNode;};return cm;},__iz:function(cn){while(cn&&cn.nodeType===1){var co=cn.getAttribute(q);if(co!=null){return co===t;};cn=cn.parentNode;};return true;},_applyActive:function(cq,cp){if(cp){this.__hJ(cp,cq,j,true);};if(cq){this.__hJ(cq,cp,u,true);};if(this.__hW){window.scrollTo(0,0);};},_applyFocus:function(cs,cr){if(cr){this.__hJ(cr,cs,A,true);};if(cs){this.__hJ(cs,cr,v,true);};if(cr){this.__hJ(cr,cs,c,false);};if(cs){this.__hJ(cs,cr||this.__ik,e,false);};}},destruct:function(){this._stopObserver();this._manager=this._window=this._document=this._root=this._body=this.__iA=this.__ik=null;},defer:function(cu){qx.event.Registration.addHandler(cu);var cv=cu.FOCUSABLE_ELEMENTS;for(var ct in cv){cv[ct.toUpperCase()]=1;};}});})();(function(){var a="engine.name",b="qx.bom.Selection",c="character",d="button",e='character',f="#text",g="webkit",h="input",i="gecko",j="EndToEnd",k="opera",l="StartToStart",m="html.selection",n="textarea",o="body";qx.Bootstrap.define(b,{statics:{getSelectionObject:qx.core.Environment.select(m,{"selection":function(p){return p.selection;},"default":function(q){return qx.dom.Node.getWindow(q).getSelection();}}),get:qx.core.Environment.select(m,{"selection":function(r){var s=qx.bom.Range.get(qx.dom.Node.getDocument(r));return s.text;},"default":function(t){if(this.__iB(t)){return t.value.substring(t.selectionStart,t.selectionEnd);}else {return this.getSelectionObject(qx.dom.Node.getDocument(t)).toString();};}}),getLength:qx.core.Environment.select(m,{"selection":function(u){var w=this.get(u);var v=qx.util.StringSplit.split(w,/\r\n/);return w.length-(v.length-1);},"default":function(x){if(qx.core.Environment.get(a)==k){var B,C,A;if(this.__iB(x)){var z=x.selectionStart;var y=x.selectionEnd;B=x.value.substring(z,y);C=y-z;}else {B=qx.bom.Selection.get(x);C=B.length;};A=qx.util.StringSplit.split(B,/\r\n/);return C-(A.length-1);};if(this.__iB(x)){return x.selectionEnd-x.selectionStart;}else {return this.get(x).length;};}}),getStart:qx.core.Environment.select(m,{"selection":function(D){if(this.__iB(D)){var I=qx.bom.Range.get();if(!D.contains(I.parentElement())){return -1;};var J=qx.bom.Range.get(D);var H=D.value.length;J.moveToBookmark(I.getBookmark());J.moveEnd(e,H);return H-J.text.length;}else {var J=qx.bom.Range.get(D);var F=J.parentElement();var K=qx.bom.Range.get();try{K.moveToElementText(F);}catch(M){return 0;};var E=qx.bom.Range.get(qx.dom.Node.getBodyElement(D));E.setEndPoint(l,J);E.setEndPoint(j,K);if(K.compareEndPoints(l,E)==0){return 0;};var G;var L=0;while(true){G=E.moveStart(c,-1);if(K.compareEndPoints(l,E)==0){break;};if(G==0){break;}else {L++ ;};};return ++L;};},"default":function(N){if(qx.core.Environment.get(a)===i||qx.core.Environment.get(a)===g){if(this.__iB(N)){return N.selectionStart;}else {var P=qx.dom.Node.getDocument(N);var O=this.getSelectionObject(P);if(O.anchorOffsetbc.anchorOffset){return bc.focusOffset;}else {return bc.anchorOffset;};};};if(this.__iB(bb)){return bb.selectionEnd;}else {return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(bb)).focusOffset;};}}),__iB:function(be){return qx.dom.Node.isElement(be)&&(be.nodeName.toLowerCase()==h||be.nodeName.toLowerCase()==n);},set:qx.core.Environment.select(m,{"selection":function(bf,bi,bh){var bg;if(qx.dom.Node.isDocument(bf)){bf=bf.body;};if(qx.dom.Node.isElement(bf)||qx.dom.Node.isText(bf)){switch(bf.nodeName.toLowerCase()){case h:case n:case d:if(bh===undefined){bh=bf.value.length;};if(bi>=0&&bi<=bf.value.length&&bh>=0&&bh<=bf.value.length){bg=qx.bom.Range.get(bf);bg.collapse(true);bg.moveStart(c,bi);bg.moveEnd(c,bh-bi);bg.select();return true;};break;case f:if(bh===undefined){bh=bf.nodeValue.length;};if(bi>=0&&bi<=bf.nodeValue.length&&bh>=0&&bh<=bf.nodeValue.length){bg=qx.bom.Range.get(qx.dom.Node.getBodyElement(bf));bg.moveToElementText(bf.parentNode);bg.collapse(true);bg.moveStart(c,bi);bg.moveEnd(c,bh-bi);bg.select();return true;};break;default:if(bh===undefined){bh=bf.childNodes.length-1;};if(bf.childNodes[bi]&&bf.childNodes[bh]){bg=qx.bom.Range.get(qx.dom.Node.getBodyElement(bf));bg.moveToElementText(bf.childNodes[bi]);bg.collapse(true);var bj=qx.bom.Range.get(qx.dom.Node.getBodyElement(bf));bj.moveToElementText(bf.childNodes[bh]);bg.setEndPoint(j,bj);bg.select();return true;};};};return false;},"default":function(bk,bp,bm){var bn=bk.nodeName.toLowerCase();if(qx.dom.Node.isElement(bk)&&(bn==h||bn==n)){if(bm===undefined){bm=bk.value.length;};if(bp>=0&&bp<=bk.value.length&&bm>=0&&bm<=bk.value.length){bk.focus();bk.select();bk.setSelectionRange(bp,bm);return true;};}else {var bq=false;var bl=qx.dom.Node.getWindow(bk).getSelection();var bo=qx.bom.Range.get(bk);if(qx.dom.Node.isText(bk)){if(bm===undefined){bm=bk.length;};if(bp>=0&&bp=0&&bm<=bk.length){bq=true;};}else if(qx.dom.Node.isElement(bk)){if(bm===undefined){bm=bk.childNodes.length-1;};if(bp>=0&&bk.childNodes[bp]&&bm>=0&&bk.childNodes[bm]){bq=true;};}else if(qx.dom.Node.isDocument(bk)){bk=bk.body;if(bm===undefined){bm=bk.childNodes.length-1;};if(bp>=0&&bk.childNodes[bp]&&bm>=0&&bk.childNodes[bm]){bq=true;};};if(bq){if(!bl.isCollapsed){bl.collapseToStart();};bo.setStart(bk,bp);if(qx.dom.Node.isText(bk)){bo.setEnd(bk,bm);}else {bo.setEndAfter(bk.childNodes[bm]);};if(bl.rangeCount>0){bl.removeAllRanges();};bl.addRange(bo);return true;};};return false;}}),setAll:function(br){return qx.bom.Selection.set(br,0);},clear:qx.core.Environment.select(m,{"selection":function(bs){var bu=qx.bom.Range.get(bs);var parent=bu.parentElement();var bv=qx.bom.Range.get(qx.dom.Node.getDocument(bs));if(qx.dom.Node.isText(bs)){bs=bs.parentNode;};if(parent==bv.parentElement()&&parent==bs){var bt=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(bs));bt.empty();};},"default":function(bw){var bB=qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(bw));var bx=bw.nodeName.toLowerCase();if(qx.dom.Node.isElement(bw)&&(bx==h||bx==n)){bw.setSelectionRange(0,0);if(qx.bom.Element&&qx.bom.Element.blur){qx.bom.Element.blur(bw);};}else if(qx.dom.Node.isDocument(bw)||bx==o){bB.collapse(bw.body?bw.body:bw,0);}else {var by=qx.bom.Range.get(bw);if(!by.collapsed){var bz;var bA=by.commonAncestorContainer;if(qx.dom.Node.isElement(bw)&&qx.dom.Node.isText(bA)){bz=bA.parentNode;}else {bz=bA;};if(bz==bw){bB.collapse(bw,0);};};};}})}});})();(function(){var a="qx.bom.Range",b="text",c="password",d="file",e="submit",f="reset",g="textarea",h="input",i="hidden",j="html.selection",k="button",l="body";qx.Bootstrap.define(a,{statics:{get:qx.core.Environment.select(j,{"selection":function(m){if(qx.dom.Node.isElement(m)){switch(m.nodeName.toLowerCase()){case h:switch(m.type){case b:case c:case i:case k:case f:case d:case e:return m.createTextRange();default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();};break;case g:case l:case k:return m.createTextRange();default:return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();};}else {if(m==null){m=window;};return qx.bom.Selection.getSelectionObject(qx.dom.Node.getDocument(m)).createRange();};},"default":function(n){var o=qx.dom.Node.getDocument(n);var p=qx.bom.Selection.getSelectionObject(o);if(p.rangeCount>0){return p.getRangeAt(0);}else {return o.createRange();};}})}});})();(function(){var a="m",b="g",c="^",d="",e="qx.util.StringSplit",f="i",g="$(?!\\s)",h="[object RegExp]",j="y";qx.Bootstrap.define(e,{statics:{split:function(k,p,o){if(Object.prototype.toString.call(p)!==h){return String.prototype.split.call(k,p,o);};var r=[],l=0,m=(p.ignoreCase?f:d)+(p.multiline?a:d)+(p.sticky?j:d),p=RegExp(p.source,m+b),n,t,q,u,s=/()??/.exec(d)[1]===undefined;k=k+d;if(!s){n=RegExp(c+p.source+g,m);};if(o===undefined||+o<0){o=Infinity;}else {o=Math.floor(+o);if(!o){return [];};};while(t=p.exec(k)){q=t.index+t[0].length;if(q>l){r.push(k.slice(l,t.index));if(!s&&t.length>1){t[0].replace(n,function(){for(var i=1;i1&&t.index=o){break;};};if(p.lastIndex===t.index){p.lastIndex++ ;};};if(l===k.length){if(u||!p.test(d)){r.push(d);};}else {r.push(k.slice(l));};return r.length>o?r.slice(0,o):r;}}});})();(function(){var a="qx.event.type.Focus";qx.Class.define(a,{extend:qx.event.type.Event,members:{init:function(d,b,c){qx.event.type.Event.prototype.init.call(this,c,false);this._target=d;this._relatedTarget=b;return this;}}});})();(function(){var a="touchmove",b="os.name",c="MSPointerDown",d="android",e="engine.version",f="pointercancel",g="qx.event.handler.TouchCore",h="event.mspointer",j="MSPointerCancel",k="y",l="pointer-events",m="pointerup",n="touchend",o="pointerdown",p="MSPointerUp",q="right",r="engine.name",s="undefined",t="touchcancel",u="MSPointerMove",v="webkit",w="none",z="left",A="pointermove",B="down",C="x",D="up",E="touchstart";qx.Bootstrap.define(g,{extend:Object,statics:{TAP_MAX_DISTANCE:qx.core.Environment.get(b)!=d?10:40,SWIPE_DIRECTION:{x:[z,q],y:[D,B]},SWIPE_MIN_DISTANCE:qx.core.Environment.get(b)!=d?11:41,SWIPE_MIN_VELOCITY:0,LONGTAP_TIME:500},construct:function(F,G){this.__iC=F;this.__fB=G;this._initTouchObserver();this.__iD=[];this.__iE={};},members:{__iC:null,__fB:null,__iF:null,__iG:null,__iE:null,__iH:null,__iI:null,__iJ:null,__iD:null,__iK:null,_initTouchObserver:function(){this.__iF=qx.lang.Function.listener(this._onTouchEvent,this);this.__iK=[E,a,n,t];if(qx.core.Environment.get(h)){var H=parseInt(qx.core.Environment.get(e),10);if(H==10){this.__iK=[c,u,p,j];}else {this.__iK=[o,A,m,f];};};for(var i=0;i1){this.__iI=this._getScalingDistance(V.touches[0],V.touches[1]);this.__iJ=this._getRotationAngle(V.touches[0],V.touches[1]);};for(var i=0;i1){var W=this._getScalingDistance(V.targetTouches[0],V.targetTouches[1]);V.scale=W/this.__iI;};if((typeof V.rotation==s||qx.core.Environment.get(h))&&V.targetTouches.length>1){var X=this._getRotationAngle(V.targetTouches[0],V.targetTouches[1]);V._rotation=X-this.__iJ;};V.delta=this._calcTouchesDelta(V.targetTouches);};this._fireEvent(V,ba,this.__iG);if(qx.core.Environment.get(h)){if(ba==n||ba==t){delete this.__iD[V.pointerId];};};if((ba==n||ba==t)&&V.changedTouches[0]){delete this.__iE[V.changedTouches[0].identifier];};},_detectTouchesByPointer:function(bd,bf){var bc=[];if(bf==E){this.__iD[bd.pointerId]=bd;}else if(bf==a){this.__iD[bd.pointerId]=bd;};for(var be in this.__iD){var bb=this.__iD[be];bc.push(bb);};return bc;},_mapPointerEvent:function(bg){bg=bg.toLowerCase();if(bg.indexOf(o)!==-1){return E;}else if(bg.indexOf(m)!==-1){return n;}else if(bg.indexOf(A)!==-1){return a;}else if(bg.indexOf(f)!==-1){return t;};return bg;},_getTarget:function(bi){var bj=qx.bom.Event.getTarget(bi);if(qx.core.Environment.get(r)==v){if(bj&&bj.nodeType==3){bj=bj.parentNode;};}else if(qx.core.Environment.get(h)){var bh=this.__iL(bi);if(bh){bj=bh;};};return bj;},__iL:function(bm){var bk=null;var bl=null;if(bm&&bm.touches&&bm.touches.length!==0){bk=bm.touches[0].clientX;bl=bm.touches[0].clientY;};var bo=document.msElementsFromPoint(bk,bl);if(bo){for(var i=0;i1;},getScale:function(){return this._native.scale;},getRotation:function(){if(typeof this._native._rotation===d){return this._native.rotation;}else {return this._native._rotation;};},getDelta:function(){return this._native.delta;},getDocumentLeft:function(g){return this.__iR(g).pageX;},getDocumentTop:function(h){return this.__iR(h).pageY;},getScreenLeft:function(j){return this.__iR(j).screenX;},getScreenTop:function(k){return this.__iR(k).screenY;},getViewportLeft:function(l){return this.__iR(l).clientX;},getViewportTop:function(m){return this.__iR(m).clientY;},getIdentifier:function(n){return this.__iR(n).identifier;},__iR:function(o){o=o==null?0:o;return this.__iS()[o];},__iS:function(){var p=(this._isTouchEnd()?this.getChangedTargetTouches():this.getTargetTouches());return p;},_isTouchEnd:function(){return (this.getType()==c||this.getType()==a);}}});})();(function(){var a="text",b="engine.version",c="keydown",d="radio",f="textarea",g="password",h="propertychange",j="select-multiple",k="change",m="input",n="value",p="select",q="browser.documentmode",r="browser.version",s="opera",t="keyup",u="mshtml",v="engine.name",w="keypress",x="checkbox",y="qx.event.handler.Input",z="checked";qx.Class.define(y,{extend:qx.core.Object,implement:qx.event.IEventHandler,construct:function(){qx.core.Object.call(this);this._onChangeCheckedWrapper=qx.lang.Function.listener(this._onChangeChecked,this);this._onChangeValueWrapper=qx.lang.Function.listener(this._onChangeValue,this);this._onInputWrapper=qx.lang.Function.listener(this._onInput,this);this._onPropertyWrapper=qx.lang.Function.listener(this._onProperty,this);if((qx.core.Environment.get(v)==s)){this._onKeyDownWrapper=qx.lang.Function.listener(this._onKeyDown,this);this._onKeyUpWrapper=qx.lang.Function.listener(this._onKeyUp,this);};},statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{input:1,change:1},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:false},members:{__iT:false,__iU:null,__iV:null,__iW:null,canHandleEvent:function(C,B){var A=C.tagName.toLowerCase();if(B===m&&(A===m||A===f)){return true;};if(B===k&&(A===m||A===f||A===p)){return true;};return false;},registerEvent:function(H,G,E){if(qx.core.Environment.get(v)==u&&(qx.core.Environment.get(b)<9||(qx.core.Environment.get(b)>=9&&qx.core.Environment.get(q)<9))){if(!H.__iX){var F=H.tagName.toLowerCase();var D=H.type;if(D===a||D===g||F===f||D===x||D===d){qx.bom.Event.addNativeListener(H,h,this._onPropertyWrapper);};if(D!==x&&D!==d){qx.bom.Event.addNativeListener(H,k,this._onChangeValueWrapper);};if(D===a||D===g){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,H);qx.bom.Event.addNativeListener(H,w,this._onKeyPressWrapped);};H.__iX=true;};}else {if(G===m){this.__iY(H);}else if(G===k){if(H.type===d||H.type===x){qx.bom.Event.addNativeListener(H,k,this._onChangeCheckedWrapper);}else {qx.bom.Event.addNativeListener(H,k,this._onChangeValueWrapper);};if((qx.core.Environment.get(v)==s)||(qx.core.Environment.get(v)==u)){if(H.type===a||H.type===g){this._onKeyPressWrapped=qx.lang.Function.listener(this._onKeyPress,this,H);qx.bom.Event.addNativeListener(H,w,this._onKeyPressWrapped);};};};};},__iY:qx.core.Environment.select(v,{"mshtml":function(I){if(qx.core.Environment.get(b)>=9&&qx.core.Environment.get(q)>=9){qx.bom.Event.addNativeListener(I,m,this._onInputWrapper);if(I.type===a||I.type===g||I.type===f){this._inputFixWrapper=qx.lang.Function.listener(this._inputFix,this,I);qx.bom.Event.addNativeListener(I,t,this._inputFixWrapper);};};},"webkit":function(K){var J=K.tagName.toLowerCase();if(parseFloat(qx.core.Environment.get(b))<532&&J==f){qx.bom.Event.addNativeListener(K,w,this._onInputWrapper);};qx.bom.Event.addNativeListener(K,m,this._onInputWrapper);},"opera":function(L){qx.bom.Event.addNativeListener(L,t,this._onKeyUpWrapper);qx.bom.Event.addNativeListener(L,c,this._onKeyDownWrapper);qx.bom.Event.addNativeListener(L,m,this._onInputWrapper);},"default":function(M){qx.bom.Event.addNativeListener(M,m,this._onInputWrapper);}}),unregisterEvent:function(Q,P){if(qx.core.Environment.get(v)==u&&qx.core.Environment.get(b)<9&&qx.core.Environment.get(q)<9){if(Q.__iX){var O=Q.tagName.toLowerCase();var N=Q.type;if(N===a||N===g||O===f||N===x||N===d){qx.bom.Event.removeNativeListener(Q,h,this._onPropertyWrapper);};if(N!==x&&N!==d){qx.bom.Event.removeNativeListener(Q,k,this._onChangeValueWrapper);};if(N===a||N===g){qx.bom.Event.removeNativeListener(Q,w,this._onKeyPressWrapped);};try{delete Q.__iX;}catch(R){Q.__iX=null;};};}else {if(P===m){this.__ja(Q);}else if(P===k){if(Q.type===d||Q.type===x){qx.bom.Event.removeNativeListener(Q,k,this._onChangeCheckedWrapper);}else {qx.bom.Event.removeNativeListener(Q,k,this._onChangeValueWrapper);};};if((qx.core.Environment.get(v)==s)||(qx.core.Environment.get(v)==u)){if(Q.type===a||Q.type===g){qx.bom.Event.removeNativeListener(Q,w,this._onKeyPressWrapped);};};};},__ja:qx.core.Environment.select(v,{"mshtml":function(S){if(qx.core.Environment.get(b)>=9&&qx.core.Environment.get(q)>=9){qx.bom.Event.removeNativeListener(S,m,this._onInputWrapper);if(S.type===a||S.type===g||S.type===f){qx.bom.Event.removeNativeListener(S,t,this._inputFixWrapper);};};},"webkit":function(U){var T=U.tagName.toLowerCase();if(parseFloat(qx.core.Environment.get(b))<532&&T==f){qx.bom.Event.removeNativeListener(U,w,this._onInputWrapper);};qx.bom.Event.removeNativeListener(U,m,this._onInputWrapper);},"opera":function(V){qx.bom.Event.removeNativeListener(V,t,this._onKeyUpWrapper);qx.bom.Event.removeNativeListener(V,c,this._onKeyDownWrapper);qx.bom.Event.removeNativeListener(V,m,this._onInputWrapper);},"default":function(W){qx.bom.Event.removeNativeListener(W,m,this._onInputWrapper);}}),_onKeyPress:qx.core.Environment.select(v,{"mshtml":function(e,X){if(e.keyCode===13){if(X.value!==this.__iV){this.__iV=X.value;qx.event.Registration.fireEvent(X,k,qx.event.type.Data,[X.value]);};};},"opera":function(e,Y){if(e.keyCode===13){if(Y.value!==this.__iV){this.__iV=Y.value;qx.event.Registration.fireEvent(Y,k,qx.event.type.Data,[Y.value]);};};},"default":null}),_inputFix:qx.core.Environment.select(v,{"mshtml":function(e,ba){if(e.keyCode===46||e.keyCode===8){if(ba.value!==this.__iW){this.__iW=ba.value;qx.event.Registration.fireEvent(ba,m,qx.event.type.Data,[ba.value]);};};},"default":null}),_onKeyDown:qx.core.Environment.select(v,{"opera":function(e){if(e.keyCode===13){this.__iT=true;};},"default":null}),_onKeyUp:qx.core.Environment.select(v,{"opera":function(e){if(e.keyCode===13){this.__iT=false;};},"default":null}),_onInput:qx.event.GlobalError.observeMethod(function(e){var bc=qx.bom.Event.getTarget(e);var bb=bc.tagName.toLowerCase();if(!this.__iT||bb!==m){if((qx.core.Environment.get(v)==s)&&qx.core.Environment.get(r)<10.6){this.__iU=window.setTimeout(function(){qx.event.Registration.fireEvent(bc,m,qx.event.type.Data,[bc.value]);},0);}else {qx.event.Registration.fireEvent(bc,m,qx.event.type.Data,[bc.value]);};};}),_onChangeValue:qx.event.GlobalError.observeMethod(function(e){var bd=qx.bom.Event.getTarget(e);var be=bd.value;if(bd.type===j){var be=[];for(var i=0,o=bd.options,l=o.length;i0){J=K[i];for(var j=0,F=B.length;j7&&qx.core.Environment.get(k)>9)),nativeSetCapture:qx.core.Environment.select(b,{"mshtml":function(w,v){w.setCapture(v!==false);},"default":(function(){})}),nativeReleaseCapture:qx.core.Environment.select(b,{"mshtml":function(x){x.releaseCapture();},"default":(function(){})})},destruct:function(){this.__jb=this.__cz=this.__cB=null;},defer:function(y){qx.event.Registration.addDispatcher(y);}});})();(function(){var a="qx.event.handler.Capture";qx.Class.define(a,{extend:qx.core.Object,implement:qx.event.IEventHandler,statics:{PRIORITY:qx.event.Registration.PRIORITY_NORMAL,SUPPORTED_TYPES:{capture:true,losecapture:true},TARGET_CHECK:qx.event.IEventHandler.TARGET_DOMNODE,IGNORE_CAN_HANDLE:true},members:{canHandleEvent:function(c,b){},registerEvent:function(f,e,d){},unregisterEvent:function(i,h,g){}},defer:function(j){qx.event.Registration.addHandler(j);}});})();(function(){var a="function",b="plugin.silverlight.version",c="Silverlight",d="Skype.Detection",f="QuickTimeCheckObject.QuickTimeCheck.1",g="Adobe Acrobat",h="plugin.windowsmedia",k="QuickTime",l="plugin.silverlight",m="pdf",n="wmv",o="qx.bom.client.Plugin",p="application/x-skype",q=',',r="plugin.divx",s='=',t="Chrome PDF Viewer",u="divx",v="Windows Media",w="",x="mshtml",y="skype.click2call",z="plugin.skype",A="plugin.gears",B="plugin.quicktime",C="plugin.windowsmedia.version",D="quicktime",E="DivX Web Player",F="AgControl.AgControl",G="Microsoft.XMLHTTP",H="silverlight",I="plugin.pdf",J="plugin.pdf.version",K="MSXML2.DOMDocument.6.0",L="WMPlayer.OCX.7",M="AcroPDF.PDF",N="plugin.activex",O="plugin.quicktime.version",P="plugin.divx.version",Q="npdivx.DivXBrowserPlugin.1",R="object";qx.Bootstrap.define(o,{statics:{getGears:function(){return !!(window.google&&window.google.gears);},getActiveX:function(){if(typeof window.ActiveXObject===a){return true;};try{return (typeof (new window.ActiveXObject(G))===R||typeof (new window.ActiveXObject(K))===R);}catch(S){return false;};},getSkype:function(){if(qx.bom.client.Plugin.getActiveX()){try{new ActiveXObject(d);return true;}catch(e){};};var T=navigator.mimeTypes;if(T){if(p in T){return true;};for(var i=0;i1){bm=bm[0].split(s);if(bm.length===2){return bm[1];};};};bm=bh.versionInfo;if(bm!=undefined){return bm;};bm=bh.version;if(bm!=undefined){return bm;};bm=bh.settings.version;if(bm!=undefined){return bm;};}catch(bp){return w;};return w;}else {var bn=navigator.plugins;var bl=/([0-9]\.[0-9])/g;for(var i=0;iparent.clientWidth&&(parent===Y||qx.bom.element.Style.get(parent,x)!=b)){if(parent===Y){Q=parent.scrollLeft;V=Q+qx.bom.Viewport.getWidth();R=qx.bom.Viewport.getWidth();P=parent.clientWidth;S=parent.scrollWidth;bb=0;T=0;O=0;}else {be=qx.bom.element.Location.get(parent);Q=be.left;V=be.right;R=parent.offsetWidth;P=parent.clientWidth;S=parent.scrollWidth;bb=parseInt(qx.bom.element.Style.get(parent,l),10)||0;T=parseInt(qx.bom.element.Style.get(parent,v),10)||0;O=R-P-bb-T;};X=qx.bom.element.Location.get(bi);bc=X.left;bd=X.right;ba=bi.offsetWidth;bf=bc-Q-bb;U=bd-V+T;bj=0;if(N){bj=bf;}else if(W){bj=U+O;}else if(bf<0||ba>P){bj=bf;}else if(U>0){bj=U+O;};parent.scrollLeft+=bj;qx.event.Registration.fireNonBubblingEvent(parent,w);};if(parent===Y){break;};parent=parent.parentNode;};},intoViewY:function(bD,stop,bC){var parent=bD.parentNode;var bB=qx.dom.Node.getDocument(bD);var bk=bB.body;var by,bt,bw;var bE,bx,bu;var bp,bl,bA;var br,bs,bq,bm;var bn,bv,bz;var bo=bC===f;var bF=bC===k;stop=stop?stop.parentNode:bB;while(parent&&parent!=stop){if(parent.scrollHeight>parent.clientHeight&&(parent===bk||qx.bom.element.Style.get(parent,x)!=b)){if(parent===bk){bt=parent.scrollTop;bw=bt+qx.bom.Viewport.getHeight();bE=qx.bom.Viewport.getHeight();bx=parent.clientHeight;bu=parent.scrollHeight;bp=0;bl=0;bA=0;}else {by=qx.bom.element.Location.get(parent);bt=by.top;bw=by.bottom;bE=parent.offsetHeight;bx=parent.clientHeight;bu=parent.scrollHeight;bp=parseInt(qx.bom.element.Style.get(parent,e),10)||0;bl=parseInt(qx.bom.element.Style.get(parent,a),10)||0;bA=bE-bx-bp-bl;};br=qx.bom.element.Location.get(bD);bs=br.top;bq=br.bottom;bm=bD.offsetHeight;bn=bs-bt-bp;bv=bq-bw+bl;bz=0;if(bo){bz=bn;}else if(bF){bz=bv+bA;}else if(bn<0||bm>bx){bz=bn;}else if(bv>0){bz=bv+bA;};parent.scrollTop+=bz;qx.event.Registration.fireNonBubblingEvent(parent,w);};if(parent===bk){break;};parent=parent.parentNode;};},intoView:function(bI,stop,bH,bG){this.intoViewX(bI,stop,bH);this.intoViewY(bI,stop,bG);}}});})();(function(){var a="useraction",b=" due to exceptions in user code. The application has to be reloaded!",c="event.touch",d="qx.ui.core.queue.Manager",f=" times in a row",g="Fatal Error: Flush terminated ";qx.Class.define(d,{statics:{__ji:false,__gl:false,__jj:{},__jk:0,MAX_RETRIES:10,scheduleFlush:function(h){var self=qx.ui.core.queue.Manager;self.__jj[h]=true;if(!self.__ji){self.__gl=false;qx.bom.AnimationFrame.request(function(){if(self.__gl){self.__gl=false;return;};self.flush();},self);self.__ji=true;};},flush:function(){var self=qx.ui.core.queue.Manager;if(self.__jl){return;};self.__jl=true;self.__gl=true;var i=self.__jj;self.__jm(function(){while(i.visibility||i.widget||i.appearance||i.layout||i.element){if(i.widget){delete i.widget;{qx.ui.core.queue.Widget.flush();};};if(i.visibility){delete i.visibility;{qx.ui.core.queue.Visibility.flush();};};if(i.appearance){delete i.appearance;{qx.ui.core.queue.Appearance.flush();};};if(i.widget||i.visibility||i.appearance){continue;};if(i.layout){delete i.layout;{qx.ui.core.queue.Layout.flush();};};if(i.widget||i.visibility||i.appearance||i.layout){continue;};if(i.element){delete i.element;qx.html.Element.flush();};};},function(){self.__ji=false;});self.__jm(function(){if(i.dispose){delete i.dispose;{qx.ui.core.queue.Dispose.flush();};};},function(){self.__jl=false;});self.__jk=0;},__jm:function(j,k){var self=qx.ui.core.queue.Manager;try{j();}catch(e){{};self.__ji=false;self.__jl=false;self.__jk+=1;if(self.__jk<=self.MAX_RETRIES){self.scheduleFlush();}else {throw new Error(g+(self.__jk-1)+f+b);};throw e;}finally{k();};},__jn:function(e){qx.ui.core.queue.Manager.flush();}},defer:function(l){qx.html.Element._scheduleFlush=l.scheduleFlush;qx.event.Registration.addListener(window,a,qx.core.Environment.get(c)?l.__jn:l.flush);}});})();(function(){var a="qx.ui.core.queue.Widget",b="widget",c="$$default";qx.Class.define(a,{statics:{__dO:[],__jj:{},remove:function(e,g){var d=this.__dO;if(!qx.lang.Array.contains(d,e)){return;};var f=e.$$hash;if(g==null){qx.lang.Array.remove(d,e);delete this.__jj[f];return;};if(this.__jj[f]){delete this.__jj[f][g];if(qx.lang.Object.getLength(this.__jj[f])==0){qx.lang.Array.remove(d,e);};};},add:function(j,l){var h=this.__dO;if(!qx.lang.Array.contains(h,j)){h.unshift(j);};if(l==null){l=c;};var k=j.$$hash;if(!this.__jj[k]){this.__jj[k]={};};this.__jj[k][l]=true;qx.ui.core.queue.Manager.scheduleFlush(b);},flush:function(){var m=this.__dO;var n,o;for(var i=m.length-1;i>=0;i-- ){n=m[i];o=this.__jj[n.$$hash];m.splice(i,1);n.syncWidget(o);};if(m.length!=0){return;};this.__dO=[];this.__jj={};}}});})();(function(){var a="qx.ui.core.queue.Visibility",b="visibility";qx.Class.define(a,{statics:{__dO:[],__cP:{},remove:function(c){delete this.__cP[c.$$hash];qx.lang.Array.remove(this.__dO,c);},isVisible:function(d){return this.__cP[d.$$hash]||false;},__jo:function(f){var h=this.__cP;var g=f.$$hash;var e;if(f.isExcluded()){e=false;}else {var parent=f.$$parent;if(parent){e=this.__jo(parent);}else {e=f.isRootWidget();};};return h[g]=e;},add:function(k){var j=this.__dO;if(qx.lang.Array.contains(j,k)){return;};j.unshift(k);qx.ui.core.queue.Manager.scheduleFlush(b);},flush:function(){var o=this.__dO;var p=this.__cP;for(var i=o.length-1;i>=0;i-- ){var n=o[i].$$hash;if(p[n]!=null){o[i].addChildrenToQueue(o);};};var l={};for(var i=o.length-1;i>=0;i-- ){var n=o[i].$$hash;l[n]=p[n];p[n]=null;};for(var i=o.length-1;i>=0;i-- ){var m=o[i];var n=m.$$hash;o.splice(i,1);if(p[n]==null){this.__jo(m);};if(p[n]&&p[n]!=l[n]){m.checkAppearanceNeeds();};};this.__dO=[];}}});})();(function(){var a="appearance",b="qx.ui.core.queue.Appearance";qx.Class.define(b,{statics:{__dO:[],remove:function(c){qx.lang.Array.remove(this.__dO,c);},add:function(e){var d=this.__dO;if(qx.lang.Array.contains(d,e)){return;};d.unshift(e);qx.ui.core.queue.Manager.scheduleFlush(a);},has:function(f){return qx.lang.Array.contains(this.__dO,f);},flush:function(){var j=qx.ui.core.queue.Visibility;var g=this.__dO;var h;for(var i=g.length-1;i>=0;i-- ){h=g[i];g.splice(i,1);if(j.isVisible(h)){h.syncAppearance();}else {h.$$stateChanges=true;};};}}});})();(function(){var a="dispose",b="qx.ui.core.queue.Dispose";qx.Class.define(b,{statics:{__dO:[],add:function(d){var c=this.__dO;if(qx.lang.Array.contains(c,d)){return;};c.unshift(d);qx.ui.core.queue.Manager.scheduleFlush(a);},isEmpty:function(){return this.__dO.length==0;},flush:function(){var e=this.__dO;for(var i=e.length-1;i>=0;i-- ){var f=e[i];e.splice(i,1);f.dispose();};if(e.length!=0){return;};this.__dO=[];}}});})();(function(){var a="backgroundColor",b="drag",c="_applyNativeContextMenu",d="touch",f="div",g="_applyBackgroundColor",h="qx.event.type.Data",j="__ju",k="_applyFocusable",m=" requires a layout, but no one was defined!",n="qx.event.type.KeyInput",o="focused",p="disabled",q="move",r="createChildControl",s="qxanonymous",t="Unsupported control: ",u="dragstart",v="Font",w="qx.dynlocale",x="dragchange",y="_applyEnabled",z="_applySelectable",A="Number",B="_applyKeepActive",C="qx.event.type.Pinch",D="dragend",E="_applyVisibility",F="Child control '",G="qxDraggable",H="qx.event.type.Roll",I="syncAppearance",J="paddingLeft",K="__jp",L="' of widget ",M="qx.event.type.Mouse",N="_applyPadding",O="#",P="At least one child in control ",Q="visible",R="qx.event.type.Event",S="qx.event.type.MouseWheel",T="_applyCursor",U="changeVisibility",V="_applyDraggable",W="resize",X="Decorator",Y="Remove Error: ",cK="zIndex",cL="changeTextColor",cM="$$widget",cG="changeContextMenu",cH="on",cI="paddingTop",cJ="opacity",cR="This widget has no children!",cS="changeSelectable",cT="_applyAnonymous",cU="none",cN="outline",cO="hidden",cP="_applyAppearance",cQ="hovered",cY="_applyOpacity",dB="Boolean",eo="px",da="qx.ui.core.Widget",cV="longtap",cW="default",ej="TabIndex property must be between 1 and 32000",cX="_applyFont",db="cursor",dc="qxDroppable",dd="' already created!",di="changeZIndex",dj=": ",dk="Color",de="changeEnabled",df="Abstract method call: _getContentHeightForWidth()!",dg="changeFont",dh="qx.event.type.Focus",dp="_applyDecorator",dq="_applyZIndex",dr="_applyTextColor",ds="__jw",dl="Widget is not focusable!",dm="qx.ui.menu.Menu",ek="engine.name",dn="qx.event.type.Drag",dw="qx.event.type.KeySequence",dx="excluded",en="DOM element is not yet created!",dy="_applyToolTipText",dt="Exception while creating child control '",du="qx.event.type.Rotate",em="_applyDroppable",dv=" is not a child of this widget!",dz="true",dA="widget",dM="changeDecorator",dL="qx.event.type.Tap",dK="Integer",dQ="_applyTabIndex",dP="changeAppearance",dO="qx.event.type.Track",dN="shorthand",dF="/",dE="String",dD="border-box",dC="",dJ="_applyContextMenu",dI="changeToolTipText",dH="padding",dG="tabIndex",dX="paddingBottom",dW="beforeContextmenuOpen",dV="changeNativeContextMenu",dU="undefined",ec="qx.ui.tooltip.ToolTip",eb="__jt",ea="contextmenu",dY="_applyKeepFocus",dT="paddingRight",dS="changeBackgroundColor",dR="changeLocale",ef="qx.event.type.Pointer",ee="qxKeepFocus",ed="opera",ei="qx.event.type.Touch",eh="qxKeepActive",eg="absolute";qx.Class.define(da,{extend:qx.ui.core.LayoutItem,include:[qx.locale.MTranslation],construct:function(){qx.ui.core.LayoutItem.call(this);this.__jp=this.__jv();this.initFocusable();this.initSelectable();this.initNativeContextMenu();},events:{appear:R,disappear:R,createChildControl:h,resize:h,move:h,syncAppearance:h,mousemove:M,mouseover:M,mouseout:M,mousedown:M,mouseup:M,click:M,dblclick:M,contextmenu:M,beforeContextmenuOpen:h,mousewheel:S,touchstart:ei,touchend:ei,touchmove:ei,touchcancel:ei,tap:dL,longtap:dL,dbltap:dL,swipe:ei,rotate:du,pinch:C,track:dO,roll:H,pointermove:ef,pointerover:ef,pointerout:ef,pointerdown:ef,pointerup:ef,pointercancel:ef,keyup:dw,keydown:dw,keypress:dw,keyinput:n,focus:dh,blur:dh,focusin:dh,focusout:dh,activate:dh,deactivate:dh,capture:R,losecapture:R,drop:dn,dragleave:dn,dragover:dn,drag:dn,dragstart:dn,dragend:dn,dragchange:dn,droprequest:dn},properties:{paddingTop:{check:dK,init:0,apply:N,themeable:true},paddingRight:{check:dK,init:0,apply:N,themeable:true},paddingBottom:{check:dK,init:0,apply:N,themeable:true},paddingLeft:{check:dK,init:0,apply:N,themeable:true},padding:{group:[cI,dT,dX,J],mode:dN,themeable:true},zIndex:{nullable:true,init:10,apply:dq,event:di,check:dK,themeable:true},decorator:{nullable:true,init:null,apply:dp,event:dM,check:X,themeable:true},backgroundColor:{nullable:true,check:dk,apply:g,event:dS,themeable:true},textColor:{nullable:true,check:dk,apply:dr,event:cL,themeable:true,inheritable:true},font:{nullable:true,apply:cX,check:v,event:dg,themeable:true,inheritable:true,dereference:true},opacity:{check:A,apply:cY,themeable:true,nullable:true,init:null},cursor:{check:dE,apply:T,themeable:true,inheritable:true,nullable:true,init:null},toolTip:{check:ec,nullable:true},toolTipText:{check:dE,nullable:true,event:dI,apply:dy},toolTipIcon:{check:dE,nullable:true,event:dI},blockToolTip:{check:dB,init:false},showToolTipWhenDisabled:{check:dB,init:false},visibility:{check:[Q,cO,dx],init:Q,apply:E,event:U},enabled:{init:true,check:dB,inheritable:true,apply:y,event:de},anonymous:{init:false,check:dB,apply:cT},tabIndex:{check:dK,nullable:true,apply:dQ},focusable:{check:dB,init:false,apply:k},keepFocus:{check:dB,init:false,apply:dY},keepActive:{check:dB,init:false,apply:B},draggable:{check:dB,init:false,apply:V},droppable:{check:dB,init:false,apply:em},selectable:{check:dB,init:false,event:cS,apply:z},contextMenu:{check:dm,apply:dJ,nullable:true,event:cG},nativeContextMenu:{check:dB,init:false,themeable:true,event:dV,apply:c},appearance:{check:dE,init:dA,apply:cP,event:dP}},statics:{DEBUG:false,getWidgetByElement:function(es,eq){while(es){var ep=es.$$widget;if(ep!=null){var er=qx.core.ObjectRegistry.fromHashCode(ep);if(!eq||!er.getAnonymous()){return er;};};try{es=es.parentNode;}catch(e){return null;};};return null;},contains:function(parent,et){while(et){et=et.getLayoutParent();if(parent==et){return true;};};return false;},__jq:new qx.util.ObjectPool()},members:{__jp:null,__jr:null,__js:null,__jt:null,_getLayout:function(){return this.__jt;},_setLayout:function(eu){{};if(this.__jt){this.__jt.connectToWidget(null);};if(eu){eu.connectToWidget(this);};this.__jt=eu;qx.ui.core.queue.Layout.add(this);},setLayoutParent:function(parent){if(this.$$parent===parent){return;};var content=this.getContentElement();if(this.$$parent&&!this.$$parent.$$disposed){this.$$parent.getContentElement().remove(content);};this.$$parent=parent||null;if(parent&&!parent.$$disposed){this.$$parent.getContentElement().add(content);};this.$$refreshInheritables();qx.ui.core.queue.Visibility.add(this);},_updateInsets:null,renderLayout:function(eB,top,ey,ew){var eC=qx.ui.core.LayoutItem.prototype.renderLayout.call(this,eB,top,ey,ew);if(!eC){return null;};if(qx.lang.Object.isEmpty(eC)&&!this._updateInsets){return null;};var content=this.getContentElement();var eF=eC.size||this._updateInsets;var eD=eo;var ev={};if(eC.position){ev.left=eB+eD;ev.top=top+eD;};if(eF||eC.margin){ev.width=ey+eD;ev.height=ew+eD;};if(Object.keys(ev).length>0){content.setStyles(ev);};if(eF||eC.local||eC.margin){if(this.__jt&&this.hasLayoutChildren()){var eA=this.getInsets();var innerWidth=ey-eA.left-eA.right;var innerHeight=ew-eA.top-eA.bottom;var eE=this.getDecorator();var ez={left:0,right:0,top:0,bottom:0};if(eE){eE=qx.theme.manager.Decoration.getInstance().resolve(eE);ez=eE.getPadding();};var ex={top:this.getPaddingTop()+ez.top,right:this.getPaddingRight()+ez.right,bottom:this.getPaddingBottom()+ez.bottom,left:this.getPaddingLeft()+ez.left};this.__jt.renderLayout(innerWidth,innerHeight,ex);}else if(this.hasLayoutChildren()){throw new Error(P+this._findTopControl()+m);};};if(eC.position&&this.hasListener(q)){this.fireDataEvent(q,this.getBounds());};if(eC.size&&this.hasListener(W)){this.fireDataEvent(W,this.getBounds());};delete this._updateInsets;return eC;},__ju:null,clearSeparators:function(){var eH=this.__ju;if(!eH){return;};var eI=qx.ui.core.Widget.__jq;var content=this.getContentElement();var eG;for(var i=0,l=eH.length;ieP&&eP!=null){eO=eP;};};};if(eQ==null){eQ=eW;if(eV.minHeight!=null){eQ+=eV.minHeight;if(eQ>eR&&eR!=null){eQ=eR;};};};if(eP==null){if(eV.maxWidth==null){eP=Infinity;}else {eP=eV.maxWidth+eX;if(eP0;};return false;},__jv:function(){var fx=this._createContentElement();fx.setAttribute(cM,this.toHashCode());fx.setStyles({"touch-action":cU,"-ms-touch-action":cU});{};var fw={"zIndex":10,"boxSizing":dD};if(!qx.ui.root.Inline||!(this instanceof qx.ui.root.Inline)){fw.position=eg;};fx.setStyles(fw);return fx;},_createContentElement:function(){return new qx.html.Element(f,{overflowX:cO,overflowY:cO});},getContentElement:function(){return this.__jp;},__jw:null,getLayoutChildren:function(){var fz=this.__jw;if(!fz){return this.__jx;};var fA;for(var i=0,l=fz.length;i=0;i-- ){this.__jz(ga[i]);};qx.ui.core.queue.Layout.add(this);return ga;},_afterAddChild:null,_afterRemoveChild:null,__jy:function(gc,gb){{};var parent=gc.getLayoutParent();if(parent&&parent!=this){parent._remove(gc);};gc.setLayoutParent(this);if(gb){gc.setLayoutProperties(gb);}else {this.updateLayoutProperties();};if(this._afterAddChild){this._afterAddChild(gc);};},__jz:function(gd){{};if(gd.getLayoutParent()!==this){throw new Error(Y+gd+dv);};gd.setLayoutParent(null);if(this.__jt){this.__jt.invalidateChildrenCache();};qx.ui.core.queue.Layout.add(this);if(this._afterRemoveChild){this._afterRemoveChild(gd);};},capture:function(ge){this.getContentElement().capture(ge);},releaseCapture:function(){this.getContentElement().releaseCapture();},isCapturing:function(){var gf=this.getContentElement().getDomElement();if(!gf){return false;};var gg=qx.event.Registration.getManager(gf);var gh=gg.getDispatcher(qx.event.dispatch.MouseCapture);return gf==gh.getCaptureElement();},_applyPadding:function(gj,gi,name){this._updateInsets=true;qx.ui.core.queue.Layout.add(this);this.__jA(name,gj);},__jA:function(gk,gn){var content=this.getContentElement();var gl=this.getDecorator();gl=qx.theme.manager.Decoration.getInstance().resolve(gl);if(gl){var gm=qx.Bootstrap.firstLow(gk.replace(dH,dC));gn+=gl.getPadding()[gm]||0;};content.setStyle(gk,gn+eo);},_applyDecorator:function(gp,go){var content=this.getContentElement();if(go){go=qx.theme.manager.Decoration.getInstance().getCssClassName(go);content.removeClass(go);};if(gp){gp=qx.theme.manager.Decoration.getInstance().addCssClass(gp);content.addClass(gp);};if(gp||go){qx.ui.core.queue.Layout.add(this);};},_applyToolTipText:function(gs,gr){if(qx.core.Environment.get(w)){if(this.__js){return;};var gq=qx.locale.Manager.getInstance();this.__js=gq.addListener(dR,function(){var gt=this.getToolTipText();if(gt&>.translate){this.setToolTipText(gt.translate());};},this);};},_applyTextColor:function(gv,gu){},_applyZIndex:function(gx,gw){this.getContentElement().setStyle(cK,gx==null?0:gx);},_applyVisibility:function(gz,gy){var content=this.getContentElement();if(gz===Q){content.show();}else {content.hide();};var parent=this.$$parent;if(parent&&(gy==null||gz==null||gy===dx||gz===dx)){parent.invalidateLayoutChildren();};qx.ui.core.queue.Visibility.add(this);},_applyOpacity:function(gB,gA){this.getContentElement().setStyle(cJ,gB==1?null:gB);},_applyCursor:function(gD,gC){if(gD==null&&!this.isSelectable()){gD=cW;};this.getContentElement().setStyle(db,gD,qx.core.Environment.get(ek)==ed);},_applyBackgroundColor:function(gH,gG){var gF=this.getBackgroundColor();var content=this.getContentElement();var gE=qx.theme.manager.Color.getInstance().resolve(gF);content.setStyle(a,gE);},_applyFont:function(gJ,gI){},_onChangeTheme:function(){if(this.isDisposed()){return;};qx.ui.core.LayoutItem.prototype._onChangeTheme.call(this);this.updateAppearance();var gK=this.getDecorator();this._applyDecorator(null,gK);this._applyDecorator(gK);gK=this.getFont();if(qx.lang.Type.isString(gK)){this._applyFont(gK,gK);};gK=this.getTextColor();if(qx.lang.Type.isString(gK)){this._applyTextColor(gK,gK);};gK=this.getBackgroundColor();if(qx.lang.Type.isString(gK)){this._applyBackgroundColor(gK,gK);};},__jB:null,$$stateChanges:null,_forwardStates:null,hasState:function(gM){var gL=this.__jB;return !!gL&&!!gL[gM];},addState:function(gQ){var gP=this.__jB;if(!gP){gP=this.__jB={};};if(gP[gQ]){return;};this.__jB[gQ]=true;if(gQ===cQ){this.syncAppearance();}else if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;}else {qx.ui.core.queue.Appearance.add(this);};var forward=this._forwardStates;var gO=this.__jE;if(forward&&forward[gQ]&&gO){var gN;for(var gR in gO){gN=gO[gR];if(gN instanceof qx.ui.core.Widget){gO[gR].addState(gQ);};};};},removeState:function(gV){var gU=this.__jB;if(!gU||!gU[gV]){return;};delete this.__jB[gV];if(gV===cQ){this.syncAppearance();}else if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;}else {qx.ui.core.queue.Appearance.add(this);};var forward=this._forwardStates;var gT=this.__jE;if(forward&&forward[gV]&&gT){for(var gW in gT){var gS=gT[gW];if(gS instanceof qx.ui.core.Widget){gS.removeState(gV);};};};},replaceState:function(gY,hc){var hb=this.__jB;if(!hb){hb=this.__jB={};};if(!hb[hc]){hb[hc]=true;};if(hb[gY]){delete hb[gY];};if(!qx.ui.core.queue.Visibility.isVisible(this)){this.$$stateChanges=true;}else {qx.ui.core.queue.Appearance.add(this);};var forward=this._forwardStates;var ha=this.__jE;if(forward&&forward[hc]&&ha){for(var hd in ha){var gX=ha[hd];if(gX instanceof qx.ui.core.Widget){gX.replaceState(gY,hc);};};};},__jC:null,__jD:null,syncAppearance:function(){var hi=this.__jB;var hh=this.__jC;var hj=qx.theme.manager.Appearance.getInstance();var hf=qx.core.Property.$$method.setThemed;var hn=qx.core.Property.$$method.resetThemed;if(this.__jD){delete this.__jD;if(hh){var he=hj.styleFrom(hh,hi,null,this.getAppearance());hh=null;};};if(!hh){var hg=this;var hk=[];do {hk.push(hg.$$subcontrol||hg.getAppearance());}while(hg=hg.$$subparent);hh=hk.reverse().join(dF).replace(/#[0-9]+/g,dC);this.__jC=hh;};var hm=hj.styleFrom(hh,hi,null,this.getAppearance());if(hm){if(he){for(var hl in he){if(hm[hl]===undefined){this[hn[hl]]();};};};{var hl;};for(var hl in hm){hm[hl]===undefined?this[hn[hl]]():this[hf[hl]](hm[hl]);};}else if(he){for(var hl in he){this[hn[hl]]();};};this.fireDataEvent(I,this.__jB);},_applyAppearance:function(hp,ho){this.updateAppearance();},checkAppearanceNeeds:function(){if(!this.__jr){qx.ui.core.queue.Appearance.add(this);this.__jr=true;}else if(this.$$stateChanges){qx.ui.core.queue.Appearance.add(this);delete this.$$stateChanges;};},updateAppearance:function(){this.__jD=true;qx.ui.core.queue.Appearance.add(this);var hs=this.__jE;if(hs){var hq;for(var hr in hs){hq=hs[hr];if(hq instanceof qx.ui.core.Widget){hq.updateAppearance();};};};},syncWidget:function(ht){},getEventTarget:function(){var hu=this;while(hu.getAnonymous()){hu=hu.getLayoutParent();if(!hu){return null;};};return hu;},getFocusTarget:function(){var hv=this;if(!hv.getEnabled()){return null;};while(hv.getAnonymous()||!hv.getFocusable()){hv=hv.getLayoutParent();if(!hv||!hv.getEnabled()){return null;};};return hv;},getFocusElement:function(){return this.getContentElement();},isTabable:function(){return (!!this.getContentElement().getDomElement())&&this.isFocusable();},_applyFocusable:function(hy,hw){var hx=this.getFocusElement();if(hy){var hz=this.getTabIndex();if(hz==null){hz=1;};hx.setAttribute(dG,hz);hx.setStyle(cN,cU);}else {if(hx.isNativelyFocusable()){hx.setAttribute(dG,-1);}else if(hw){hx.setAttribute(dG,null);};};},_applyKeepFocus:function(hB){var hA=this.getFocusElement();hA.setAttribute(ee,hB?cH:null);},_applyKeepActive:function(hD){var hC=this.getContentElement();hC.setAttribute(eh,hD?cH:null);},_applyTabIndex:function(hE){if(hE==null){hE=1;}else if(hE<1||hE>32000){throw new Error(ej);};if(this.getFocusable()&&hE!=null){this.getFocusElement().setAttribute(dG,hE);};},_applySelectable:function(hG,hF){if(hF!==null){this._applyCursor(this.getCursor());};this.getContentElement().setSelectable(hG);},_applyEnabled:function(hI,hH){if(hI===false){this.addState(p);this.removeState(cQ);if(this.isFocusable()){this.removeState(o);this._applyFocusable(false,true);};if(this.isDraggable()){this._applyDraggable(false,true);};if(this.isDroppable()){this._applyDroppable(false,true);};}else {this.removeState(p);if(this.isFocusable()){this._applyFocusable(true,false);};if(this.isDraggable()){this._applyDraggable(true,false);};if(this.isDroppable()){this._applyDroppable(true,false);};};},_applyNativeContextMenu:function(hK,hJ,name){},_applyContextMenu:function(hM,hL){if(hL){hL.removeState(ea);if(hL.getOpener()==this){hL.resetOpener();};if(!hM){this.removeListener(ea,this._onContextMenuOpen);this.removeListener(cV,this._onContextMenuOpen);hL.removeListener(U,this._onBeforeContextMenuOpen,this);};};if(hM){hM.setOpener(this);hM.addState(ea);if(!hL){this.addListener(ea,this._onContextMenuOpen);this.addListener(cV,this._onContextMenuOpen);hM.addListener(U,this._onBeforeContextMenuOpen,this);};};},_onContextMenuOpen:function(e){if(e.getType()==cV){if(e.getPointerType()!==d){return;};};this.getContextMenu().openAtPointer(e);e.stop();},_onBeforeContextMenuOpen:function(e){if(e.getData()==Q&&this.hasListener(dW)){this.fireDataEvent(dW,e);};},_onStopEvent:function(e){e.stopPropagation();},_getDragDropCursor:function(){return qx.ui.core.DragDropCursor.getInstance();},_applyDraggable:function(hO,hN){if(!this.isEnabled()&&hO===true){hO=false;};this._getDragDropCursor();if(hO){this.addListener(u,this._onDragStart);this.addListener(b,this._onDrag);this.addListener(D,this._onDragEnd);this.addListener(x,this._onDragChange);}else {this.removeListener(u,this._onDragStart);this.removeListener(b,this._onDrag);this.removeListener(D,this._onDragEnd);this.removeListener(x,this._onDragChange);};this.getContentElement().setAttribute(G,hO?cH:null);},_applyDroppable:function(hQ,hP){if(!this.isEnabled()&&hQ===true){hQ=false;};this.getContentElement().setAttribute(dc,hQ?cH:null);},_onDragStart:function(e){this._getDragDropCursor().placeToPointer(e);this.getApplicationRoot().setGlobalCursor(cW);},_onDrag:function(e){this._getDragDropCursor().placeToPointer(e);},_onDragEnd:function(e){this._getDragDropCursor().moveTo(-1000,-1000);this.getApplicationRoot().resetGlobalCursor();},_onDragChange:function(e){var hR=this._getDragDropCursor();var hS=e.getCurrentAction();hS?hR.setAction(hS):hR.resetAction();},visualizeFocus:function(){this.addState(o);},visualizeBlur:function(){this.removeState(o);},scrollChildIntoView:function(hX,hW,hV,hU){hU=typeof hU==dU?true:hU;var hT=qx.ui.core.queue.Layout;var parent;if(hU){hU=!hT.isScheduled(hX);parent=hX.getLayoutParent();if(hU&&parent){hU=!hT.isScheduled(parent);if(hU){parent.getChildren().forEach(function(hY){hU=hU&&!hT.isScheduled(hY);});};};};this.scrollChildIntoViewX(hX,hW,hU);this.scrollChildIntoViewY(hX,hV,hU);},scrollChildIntoViewX:function(ic,ia,ib){this.getContentElement().scrollChildIntoViewX(ic.getContentElement(),ia,ib);},scrollChildIntoViewY:function(ih,ie,ig){this.getContentElement().scrollChildIntoViewY(ih.getContentElement(),ie,ig);},focus:function(){if(this.isFocusable()){this.getFocusElement().focus();}else {throw new Error(dl);};},blur:function(){if(this.isFocusable()){this.getFocusElement().blur();}else {throw new Error(dl);};},activate:function(){this.getContentElement().activate();},deactivate:function(){this.getContentElement().deactivate();},tabFocus:function(){this.getFocusElement().focus();},hasChildControl:function(ii){if(!this.__jE){return false;};return !!this.__jE[ii];},__jE:null,_getCreatedChildControls:function(){return this.__jE;},getChildControl:function(il,ik){if(!this.__jE){if(ik){return null;};this.__jE={};};var ij=this.__jE[il];if(ij){return ij;};if(ik===true){return null;};return this._createChildControl(il);},_showChildControl:function(io){var im=this.getChildControl(io);im.show();return im;},_excludeChildControl:function(iq){var ip=this.getChildControl(iq,true);if(ip){ip.exclude();};},_isChildControlVisible:function(is){var ir=this.getChildControl(is,true);if(ir){return ir.isVisible();};return false;},_releaseChildControl:function(iw){var it=this.getChildControl(iw,false);if(!it){throw new Error(t+iw);};delete it.$$subcontrol;delete it.$$subparent;var iu=this.__jB;var forward=this._forwardStates;if(iu&&forward&&it instanceof qx.ui.core.Widget){for(var iv in iu){if(forward[iv]){it.removeState(iv);};};};delete this.__jE[iw];return it;},_createChildControl:function(iB){if(!this.__jE){this.__jE={};}else if(this.__jE[iB]){throw new Error(F+iB+dd);};var iy=iB.indexOf(O);try{if(iy==-1){var ix=this._createChildControlImpl(iB);}else {var ix=this._createChildControlImpl(iB.substring(0,iy),iB.substring(iy+1,iB.length));};}catch(iC){iC.message=dt+iB+L+this.toString()+dj+iC.message;throw iC;};if(!ix){throw new Error(t+iB);};ix.$$subcontrol=iB;ix.$$subparent=this;var iz=this.__jB;var forward=this._forwardStates;if(iz&&forward&&ix instanceof qx.ui.core.Widget){for(var iA in iz){if(forward[iA]){ix.addState(iA);};};};this.fireDataEvent(r,ix);return this.__jE[iB]=ix;},_createChildControlImpl:function(iE,iD){return null;},_disposeChildControls:function(){var iI=this.__jE;if(!iI){return;};var iG=qx.ui.core.Widget;for(var iH in iI){var iF=iI[iH];if(!iG.contains(this,iF)){iF.destroy();}else {iF.dispose();};};delete this.__jE;},_findTopControl:function(){var iJ=this;while(iJ){if(!iJ.$$subparent){return iJ;};iJ=iJ.$$subparent;};return null;},getContentLocation:function(iL){var iK=this.getContentElement().getDomElement();return iK?qx.bom.element.Location.get(iK,iL):null;},setDomLeft:function(iN){var iM=this.getContentElement().getDomElement();if(iM){iM.style.left=iN+eo;}else {throw new Error(en);};},setDomTop:function(iP){var iO=this.getContentElement().getDomElement();if(iO){iO.style.top=iP+eo;}else {throw new Error(en);};},setDomPosition:function(iR,top){var iQ=this.getContentElement().getDomElement();if(iQ){iQ.style.left=iR+eo;iQ.style.top=top+eo;}else {throw new Error(en);};},destroy:function(){if(this.$$disposed){return;};var parent=this.$$parent;if(parent){parent._remove(this);};qx.ui.core.queue.Dispose.add(this);},clone:function(){var iS=qx.ui.core.LayoutItem.prototype.clone.call(this);if(this.getChildren){var iT=this.getChildren();for(var i=0,l=iT.length;ibu||Math.abs(bA.y)>bu)){if(!this._start(e)){this.clearSession();return;};};};if(!this.__jM){return;};if(!this.__hJ(h,this.__jG,this.__jF,true,e)){this.clearSession();};var bv=e.getTarget();var by=this.getCursor();if(!by){by=qx.ui.core.DragDropCursor.getInstance();};var bx=by.getContentElement().getDomElement();if(bv!==bx){var bw=this.__jU(bv);if(bw&&bw!=this.__jF){if(this.__jF){this.__hJ(F,this.__jF,this.__jG,false,e);};this.__jN=true;this.__jF=bw;this.__jN=this.__hJ(H,bw,this.__jG,true,e);}else if(!bw&&this.__jF){this.__hJ(F,this.__jF,this.__jG,false,e);this.__jF=null;this.__jN=false;qx.event.Timer.once(this.__jS,this,0);};};var bz=this.__jJ;bz.Control=e.isCtrlPressed();bz.Shift=e.isShiftPressed();bz.Alt=e.isAltPressed();this.__jS();},_getDelta:function(e){if(!this.__jQ){return null;};var bB=e.getDocumentLeft()-this.__jQ.left;var bC=e.getDocumentTop()-this.__jQ.top;return {"x":bB,"y":bC};},_onPointerup:function(e){if(!e.isPrimary()){return;};if(this.__jN&&this.__jO){this.__hJ(l,this.__jF,this.__jG,false,e);};if(e.getTarget()==this.__jG){e.stopPropagation();};this.clearSession();},_onRoll:function(e){e.stop();},_onWindowBlur:function(e){this.clearSession();},_onKeyDown:function(e){var bD=e.getKeyIdentifier();switch(bD){case C:case q:case r:if(!this.__jJ[bD]){this.__jJ[bD]=true;this.__jS();};};},_onKeyUp:function(e){var bE=e.getKeyIdentifier();switch(bE){case C:case q:case r:if(this.__jJ[bE]){this.__jJ[bE]=false;this.__jS();};};},_onKeyPress:function(e){var bF=e.getKeyIdentifier();switch(bF){case g:this.clearSession();};}},destruct:function(){qx.event.Registration.removeListener(window,a,this._onWindowBlur,this);this.__jG=this.__jF=this.__gt=this.__dd=this.__jH=this.__jI=this.__jJ=this.__c=null;},defer:function(bG){qx.event.Registration.addHandler(bG);}});})();(function(){var a="qx.event.type.Drag",b="touch";qx.Class.define(a,{extend:qx.event.type.Event,members:{init:function(c,d){qx.event.type.Event.prototype.init.call(this,true,c);if(d){this._native=d.getNativeEvent()||null;this._originalTarget=d.getOriginalTarget()||null;}else {this._native=null;this._originalTarget=null;};return this;},clone:function(e){var f=qx.event.type.Event.prototype.clone.call(this,e);f._native=this._native;return f;},getDocumentLeft:function(){if(this._native==null){return 0;};var x=this._native.pageX;if(x!==undefined){if(x==0&&this._native.pointerType==b){x=this._native._original.changedTouches[0].pageX||0;};return Math.round(x);}else {var g=qx.dom.Node.getWindow(this._native.srcElement);return Math.round(this._native.clientX)+qx.bom.Viewport.getScrollLeft(g);};},getDocumentTop:function(){if(this._native==null){return 0;};var y=this._native.pageY;if(y!==undefined){if(y==0&&this._native.pointerType==b){y=this._native._original.changedTouches[0].pageY||0;};return Math.round(y);}else {var h=qx.dom.Node.getWindow(this._native.srcElement);return Math.round(this._native.clientY)+qx.bom.Viewport.getScrollTop(h);};},getManager:function(){return qx.event.Registration.getManager(this.getTarget()).getHandler(qx.event.handler.DragDrop);},addType:function(i){this.getManager().addType(i);},addAction:function(j){this.getManager().addAction(j);},supportsType:function(k){return this.getManager().supportsType(k);},supportsAction:function(l){return this.getManager().supportsAction(l);},addData:function(m,n){this.getManager().addData(m,n);},getData:function(o){return this.getManager().getData(o);},getCurrentType:function(){return this.getManager().getCurrentType();},getCurrentAction:function(){if(this.getDefaultPrevented()){return null;};return this.getManager().getCurrentAction();},setDropAllowed:function(p){this.getManager().setDropAllowed(p);},getDragTarget:function(){return this.getManager().getDragTarget();},stopSession:function(){this.getManager().clearSession();}}});})();(function(){var a="best-fit",b="placementRight",c="Boolean",d="bottom-right",e="' ",f="widget",g="placementLeft",h="qx.ui.core.MPlacement",i="left-top",j="Integer",k="left-middle",l="right-middle",m="top-center",n="[qx.ui.core.MPlacement.setMoveDirection()], the value was '",o="offsetRight",p="interval",q="keep-align",r="bottom-left",s="pointer",t="direct",u="shorthand",v="Invalid value for the parameter 'direction' ",w="offsetLeft",x="top-left",y="appear",z="offsetBottom",A="top",B="top-right",C="offsetTop",D="but 'top' or 'left' are allowed.",E="right-bottom",F="disappear",G="right-top",H="bottom-center",I="left-bottom",J="left";qx.Mixin.define(h,{statics:{__gF:null,__jV:J,setVisibleElement:function(K){this.__gF=K;},getVisibleElement:function(){return this.__gF;},setMoveDirection:function(L){if(L===A||L===J){this.__jV=L;}else {throw new Error(v+n+L+e+D);};},getMoveDirection:function(){return this.__jV;}},properties:{position:{check:[x,m,B,r,H,d,i,k,I,G,l,E],init:r,themeable:true},placeMethod:{check:[f,s],init:s,themeable:true},domMove:{check:c,init:false},placementModeX:{check:[t,q,a],init:q,themeable:true},placementModeY:{check:[t,q,a],init:q,themeable:true},offsetLeft:{check:j,init:0,themeable:true},offsetTop:{check:j,init:0,themeable:true},offsetRight:{check:j,init:0,themeable:true},offsetBottom:{check:j,init:0,themeable:true},offset:{group:[C,o,z,w],mode:u,themeable:true}},members:{__jW:null,__jX:null,__jY:null,getLayoutLocation:function(N){var P,O,R,top;O=N.getBounds();if(!O){return null;};R=O.left;top=O.top;var Q=O;N=N.getLayoutParent();while(N&&!N.isRootWidget()){O=N.getBounds();R+=O.left;top+=O.top;P=N.getInsets();R+=P.left;top+=P.top;N=N.getLayoutParent();};if(N.isRootWidget()){var M=N.getContentLocation();if(M){R+=M.left;top+=M.top;};};return {left:R,top:top,right:R+Q.width,bottom:top+Q.height};},moveTo:function(Y,top){var X=qx.ui.core.MPlacement.getVisibleElement();if(X){var W=this.getBounds();var V=X.getContentLocation();if(W&&V){var U=top+W.height;var T=Y+W.width;if((T>V.left&&YV.top&&top=0&&r+s<=q;}}});})();(function(){var a="qx.util.placement.DirectAxis";qx.Bootstrap.define(a,{statics:{_moveToEdgeAndAlign:qx.util.placement.AbstractAxis._moveToEdgeAndAlign,computeStart:function(d,e,f,b,c){return this._moveToEdgeAndAlign(d,e,f,c);}}});})();(function(){var a="qx.util.placement.KeepAlignAxis",b="edge-start",c="edge-end";qx.Bootstrap.define(a,{statics:{_moveToEdgeAndAlign:qx.util.placement.AbstractAxis._moveToEdgeAndAlign,_isInRange:qx.util.placement.AbstractAxis._isInRange,computeStart:function(k,f,g,d,j){var i=this._moveToEdgeAndAlign(k,f,g,j);var e,h;if(this._isInRange(i,k,d)){return i;};if(j==b||j==c){e=f.start-g.end;h=f.end+g.start;}else {e=f.end-g.end;h=f.start+g.start;};if(e>d-h){i=Math.max(0,e-k);}else {i=h;};return i;}}});})();(function(){var a="qx.util.placement.BestFitAxis";qx.Bootstrap.define(a,{statics:{_isInRange:qx.util.placement.AbstractAxis._isInRange,_moveToEdgeAndAlign:qx.util.placement.AbstractAxis._moveToEdgeAndAlign,computeStart:function(g,c,d,b,f){var e=this._moveToEdgeAndAlign(g,c,d,f);if(this._isInRange(e,g,b)){return e;};if(e<0){e=Math.min(0,b-g);};if(e+g>b){e=Math.max(0,b-g);};return e;}}});})();(function(){var a="Image could not be loaded: ",b="Boolean",c="px",d=".png",e="background-image",f="engine.version",g="scale",h="changeSource",j="x",l="div",m="aborted",n="background-size",o="nonScaled",p="3",q="qx.ui.basic.Image",r="top",s="0 0",t=", no-repeat",u="loaded",v="backgroundImage",w="backgroundRepeat",x="-disabled.$1",y="class",z="qx.event.type.Event",A="image",B="loadingFailed",C="css.alphaimageloaderneeded",D="1.5",E="String",F="browser.documentmode",G="backgroundPosition",H="border-box",I="left",J="_applySource",K="__kk",L="$$widget",M="@",N="px, ",O='.',P="scaled",Q=", ",R="2",S="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",T="mshtml",U="engine.name",V=", 0 0",W="_applyScale",X="position",Y="replacement",bl="img",bm="no-repeat",bn="background-position",bh="hidden",bi="alphaScaled",bj=",",bk="absolute";qx.Class.define(q,{extend:qx.ui.core.Widget,construct:function(bo){this.__kk={};qx.ui.core.Widget.call(this);if(bo){this.setSource(bo);};},properties:{source:{check:E,init:null,nullable:true,event:h,apply:J,themeable:true},scale:{check:b,init:false,themeable:true,apply:W},appearance:{refine:true,init:A},allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false}},events:{loadingFailed:z,loaded:z,aborted:z},statics:{PLACEHOLDER_IMAGE:S},members:{__kl:null,__km:null,__iP:null,__kk:null,__kn:null,__ko:null,__kp:0,_onChangeTheme:function(){qx.ui.core.Widget.prototype._onChangeTheme.call(this);this._styleSource();},getContentElement:function(){return this.__kt();},_createContentElement:function(){return this.__kt();},_getContentHint:function(){return {width:this.__kl||0,height:this.__km||0};},_applyDecorator:function(br,bq){qx.ui.core.Widget.prototype._applyDecorator.call(this,br,bq);var bs=this.getSource();bs=qx.util.AliasManager.getInstance().resolve(bs);var bp=this.getContentElement();if(this.__ko){bp=bp.getChild(0);};this.__kB(bp,bs);},_applyPadding:function(bu,bt,name){qx.ui.core.Widget.prototype._applyPadding.call(this,bu,bt,name);var bv=this.getContentElement();if(this.__ko){bv.getChild(0).setStyles({top:this.getPaddingTop()||0,left:this.getPaddingLeft()||0});}else {bv.setPadding(this.getPaddingLeft()||0,this.getPaddingTop()||0);};},renderLayout:function(by,top,bw,bz){qx.ui.core.Widget.prototype.renderLayout.call(this,by,top,bw,bz);var bx=this.getContentElement();if(this.__ko){bx.getChild(0).setStyles({width:bw-(this.getPaddingLeft()||0)-(this.getPaddingRight()||0),height:bz-(this.getPaddingTop()||0)-(this.getPaddingBottom()||0),top:this.getPaddingTop()||0,left:this.getPaddingLeft()||0});};},_applyEnabled:function(bB,bA){qx.ui.core.Widget.prototype._applyEnabled.call(this,bB,bA);if(this.getSource()){this._styleSource();};},_applySource:function(bD,bC){if(bC){if(qx.io.ImageLoader.isLoading(bC)){qx.io.ImageLoader.abort(bC);};};this._styleSource();},_applyScale:function(bE){this._styleSource();},__kq:function(bF){this.__iP=bF;},__kr:function(){if(this.__iP==null){var bH=this.getSource();var bG=false;if(bH!=null){bG=qx.lang.String.endsWith(bH,d);};if(this.getScale()&&bG&&qx.core.Environment.get(C)){this.__iP=bi;}else if(this.getScale()){this.__iP=P;}else {this.__iP=o;};};return this.__iP;},__ks:function(bK){var bJ;var bI;if(bK==bi){bJ=true;bI=l;}else if(bK==o){bJ=false;bI=l;}else {bJ=true;bI=bl;};var bM=new qx.html.Image(bI);bM.setAttribute(L,this.toHashCode());bM.setScale(bJ);bM.setStyles({"overflowX":bh,"overflowY":bh,"boxSizing":H});if(qx.core.Environment.get(C)){var bL=this.__ko=new qx.html.Element(l);bL.setAttribute(L,this.toHashCode());bL.setStyle(X,bk);bL.add(bM);return bL;};return bM;},__kt:function(){if(this.$$disposed){return null;};var bN=this.__kr();if(this.__kk[bN]==null){this.__kk[bN]=this.__ks(bN);};var bO=this.__kk[bN];if(!this.__kn){this.__kn=bO;};return bO;},_styleSource:function(){var bT=qx.util.AliasManager.getInstance();var bS=qx.util.ResourceManager.getInstance();var bV=bT.resolve(this.getSource());var bU=this.getContentElement();if(this.__ko){bU=bU.getChild(0);};if(!bV){bU.resetSource();return;};this.__kw(bV);if((qx.core.Environment.get(U)==T)&&(parseInt(qx.core.Environment.get(f),10)<9||qx.core.Environment.get(F)<9)){var bQ=this.getScale()?g:bm;bU.tagNameHint=qx.bom.element.Decoration.getTagName(bQ,bV);};var bR=this.__kv();if(qx.util.ResourceManager.getInstance().has(bV)){var bW=this._findHighResolutionSource(bV);if(bW){var bY=bS.getImageHeight(bV);var bX=bS.getImageWidth(bV);this.setWidth(bY);this.setHeight(bX);var bP=bY+N+bX+c;this.__kn.setStyle(n,bP);this.setSource(bW);bV=bW;};this.__ky(bR,bV);this.__ku();}else if(qx.io.ImageLoader.isLoaded(bV)){this.__kz(bR,bV);this.__ku();}else {this.__kA(bR,bV);};},__ku:function(){this.__kp++ ;qx.bom.AnimationFrame.request(function(ca){if(ca===this.__kp){this.fireEvent(u);}else {this.fireEvent(m);};}.bind(this,this.__kp));},__kv:function(){var cb=this.__kn;if(this.__ko){cb=cb.getChild(0);};return cb;},__kw:qx.core.Environment.select(U,{"mshtml":function(cd){var ce=qx.core.Environment.get(C);var cc=qx.lang.String.endsWith(cd,d);if(ce&&cc){if(this.getScale()&&this.__kr()!=bi){this.__kq(bi);}else if(!this.getScale()&&this.__kr()!=o){this.__kq(o);};}else {if(this.getScale()&&this.__kr()!=P){this.__kq(P);}else if(!this.getScale()&&this.__kr()!=o){this.__kq(o);};};this.__kx(this.__kt());},"default":function(cf){if(this.getScale()&&this.__kr()!=P){this.__kq(P);}else if(!this.getScale()&&this.__kr(o)){this.__kq(o);};this.__kx(this.__kt());}}),__kx:function(cj){var ci=this.__kn;if(ci!=cj){if(ci!=null){var cu=c;var cg={};var co=this.getBounds();if(co!=null){cg.width=co.width+cu;cg.height=co.height+cu;};var cp=this.getInsets();cg.left=parseInt(ci.getStyle(I)||cp.left)+cu;cg.top=parseInt(ci.getStyle(r)||cp.top)+cu;cg.zIndex=10;var cm=this.__ko?cj.getChild(0):cj;cm.setStyles(cg,true);cm.setSelectable(this.getSelectable());if(!ci.isVisible()){cj.hide();};if(!ci.isIncluded()){cj.exclude();};var cr=ci.getParent();if(cr){var ch=cr.getChildren().indexOf(ci);cr.removeAt(ch);cr.addAt(cj,ch);};var cl=cm.getNodeName();cm.setSource(null);var ck=this.__kv();cm.tagNameHint=cl;cm.setAttribute(y,ck.getAttribute(y));qx.html.Element.flush();var ct=ck.getDomElement();var cs=cj.getDomElement();var cq=ci.getListeners()||[];cq.forEach(function(cv){cj.addListener(cv.type,cv.handler,cv.self,cv.capture);});if(ct&&cs){var cn=ct.$$hash;ct.$$hash=cs.$$hash;cs.$$hash=cn;};this.__kn=cj;};};},__ky:function(cx,cz){var cy=qx.util.ResourceManager.getInstance();if(!this.getEnabled()){var cw=cz.replace(/\.([a-z]+)$/,x);if(cy.has(cw)){cz=cw;this.addState(Y);}else {this.removeState(Y);};};if(cx.getSource()===cz){return;};this.__kB(cx,cz);this.__kD(cy.getImageWidth(cz),cy.getImageHeight(cz));},__kz:function(cA,cE){var cC=qx.io.ImageLoader;this.__kB(cA,cE);var cD=cC.getWidth(cE);var cB=cC.getHeight(cE);this.__kD(cD,cB);},__kA:function(cF,cI){var cJ=qx.io.ImageLoader;{var cH,cG,self;};if(!cJ.isFailed(cI)){cJ.load(cI,this.__kC,this);}else {if(cF!=null){cF.resetSource();};};},__kB:function(cK,cO){if(cK.getNodeName()==l){var cS=qx.theme.manager.Decoration.getInstance().resolve(this.getDecorator());if(cS){var cP=(cS.getStartColor()&&cS.getEndColor());var cN=cS.getBackgroundImage();if(cP||cN){var cL=this.getScale()?g:bm;var cM=qx.bom.element.Decoration.getAttributes(cO,cL);var cR=cS.getStyles(true);var cQ={"backgroundImage":cM.style.backgroundImage,"backgroundPosition":(cM.style.backgroundPosition||s),"backgroundRepeat":(cM.style.backgroundRepeat||bm)};if(cN){cQ[G]+=bj+cR[bn]||s;cQ[w]+=Q+cS.getBackgroundRepeat();};if(cP){cQ[G]+=V;cQ[w]+=t;};cQ[v]+=bj+cR[e];cK.setStyles(cQ);return;};}else {cK.setSource(null);};};cK.setSource(cO);},_findHighResolutionSource:function(cT){var cW=[p,R,D];var cV=parseFloat(qx.bom.client.Device.getDevicePixelRatio().toFixed(2));if(cV<=1){return false;};var i=cW.length;while(i>0&&cV>cW[ --i]){};var cU;var k;for(k=i;k>=0;k-- ){cU=this._getHighResolutionSource(cT,cW[k]);if(cU){return cU;};};for(k=i+1;k-1){var da=M+cY+j;var dc=cX.slice(0,db)+da+cX.slice(db);if(qx.util.ResourceManager.getInstance().has(dc)){return dc;};};return null;},__kC:function(dd,de){if(this.$$disposed===true){return;};if(dd!==qx.util.AliasManager.getInstance().resolve(this.getSource())){this.fireEvent(m);return;};if(de.failed){this.warn(a+dd);this.fireEvent(B);}else if(de.aborted){this.fireEvent(m);return;}else {this.fireEvent(u);};this.__kz(this.__kv(),dd);},__kD:function(df,dg){if(df!==this.__kl||dg!==this.__km){this.__kl=df;this.__km=dg;qx.ui.core.queue.Layout.add(this);};}},destruct:function(){for(var dh in this.__kk){if(this.__kk.hasOwnProperty(dh)){this.__kk[dh].setAttribute(L,null,true);};};delete this.__kn;if(this.__ko){delete this.__ko;};this._disposeMap(K);}});})();(function(){var a="mshtml",b='img',c="",d="qx.globalErrorHandling",e="load",f="qx.io.ImageLoader";qx.Bootstrap.define(f,{statics:{__cP:{},__kE:{width:null,height:null},__kF:/\.(png|gif|jpg|jpeg|bmp)\b/i,__kG:/^data:image\/(png|gif|jpg|jpeg|bmp)\b/i,isLoaded:function(g){var h=this.__cP[g];return !!(h&&h.loaded);},isFailed:function(j){var k=this.__cP[j];return !!(k&&k.failed);},isLoading:function(m){var n=this.__cP[m];return !!(n&&n.loading);},getFormat:function(r){var q=this.__cP[r];if(!q||!q.format){var o=this.__kG.exec(r);if(o!=null){var p=(q&&qx.lang.Type.isNumber(q.width)?q.width:this.__kE.width);var s=(q&&qx.lang.Type.isNumber(q.height)?q.height:this.__kE.height);q={loaded:true,format:o[1],width:p,height:s};};};return q?q.format:null;},getSize:function(t){var u=this.__cP[t];return u?{width:u.width,height:u.height}:this.__kE;},getWidth:function(v){var w=this.__cP[v];return w?w.width:null;},getHeight:function(x){var y=this.__cP[x];return y?y.height:null;},load:function(B,A,C){var D=this.__cP[B];if(!D){D=this.__cP[B]={};};if(A&&!C){C=window;};if(D.loaded||D.loading||D.failed){if(A){if(D.loading){D.callbacks.push(A,C);}else {A.call(C,B,D);};};}else {D.loading=true;D.callbacks=[];if(A){D.callbacks.push(A,C);};var z=document.createElement(b);var E=qx.lang.Function.listener(this.__kH,this,z,B);z.onload=E;z.onerror=E;z.src=B;D.element=z;};},abort:function(F){var I=this.__cP[F];if(I&&!I.loaded){I.aborted=true;var H=I.callbacks;var G=I.element;G.onload=G.onerror=null;G.src=c;delete I.callbacks;delete I.element;delete I.loading;for(var i=0,l=H.length;i0){var bm=[];for(var i=0;i0){F=D[i].getSizeHint();G[i]={min:F.minWidth,value:Q[i],max:F.maxWidth,flex:K};};};var B=P.computeFlexOffsets(G,N,E);for(i in B){y=B[i].offset;Q[i]+=y;E+=y;};};var V=D[0].getMarginLeft();if(E0){if(R){V+=C+L;this._renderSeparator(R,{left:V+M.left,top:M.top,width:U,height:H});V+=U+L+O.getMarginLeft();}else {V+=P.collapseMargins(L,C,O.getMarginLeft());};};O.renderLayout(V+M.left,top+M.top,J,z);V+=J;C=O.getMarginRight();};},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lx();};var bl=qx.ui.layout.Util;var X=this.__gP;var bd=0,be=0,W=0;var bb=0,bc=0;var bi,Y,bk;for(var i=0,l=X.length;ibc){bc=Y.height+bk;};if((Y.minHeight+bk)>bb){bb=Y.minHeight+bk;};};bd+=W;var bg=this.getSpacing();var bj=this.getSeparator();if(bj){var bf=bl.computeHorizontalSeparatorGaps(X,bg,bj);}else {var bf=bl.computeHorizontalGaps(X,bg,true);};return {minWidth:bd+bf,width:be+bf,minHeight:bb,height:bc};}},destruct:function(){this.__lu=this.__lv=this.__gP=null;}});})();(function(){var a="middle",b="qx.ui.layout.Util",c="left",d="center",e="top",f="bottom",g="right";qx.Class.define(b,{statics:{PERCENT_VALUE:/[0-9]+(?:\.[0-9]+)?%/,computeFlexOffsets:function(j,n,h){var r,q,s,k;var m=n>h;var t=Math.abs(n-h);var u,o;var p={};for(q in j){r=j[q];p[q]={potential:m?r.max-r.value:r.value-r.min,flex:m?r.flex:1/r.flex,offset:0};};while(t!=0){k=Infinity;s=0;for(q in p){r=p[q];if(r.potential>0){s+=r.flex;k=Math.min(k,r.potential/r.flex);};};if(s==0){break;};k=Math.min(t,k*s)/s;u=0;for(q in p){r=p[q];if(r.potential>0){o=Math.min(t,r.potential,Math.ceil(k*r.flex));u+=o-k*r.flex;if(u>=1){u-=1;o-=1;};r.potential-=o;if(m){r.offset+=o;}else {r.offset-=o;};t-=o;};};};return p;},computeHorizontalAlignOffset:function(w,v,y,z,A){if(z==null){z=0;};if(A==null){A=0;};var x=0;switch(w){case c:x=z;break;case g:x=y-v-A;break;case d:x=Math.round((y-v)/2);if(x0){I=Math.max(I,J);};};return I+H;},computeHorizontalGaps:function(O,M,L){if(M==null){M=0;};var N=0;if(L){N+=O[0].getMarginLeft();for(var i=1,l=O.length;ibk||bo>bp){if(bn>bk&&bo>bp){bn=bk;bo=bp;}else if(bn>bk){bo+=(bn-bk);bn=bk;if(bo>bp){bo=bp;};}else if(bo>bp){bn+=(bo-bp);bo=bp;if(bn>bk){bn=bk;};};};return {begin:bn,end:bo};}}});})();(function(){var a="Boolean",b="changeGap",c="changeShow",d="bottom",e="bottom-right",f="_applyCenter",g="changeIcon",h="qx.ui.basic.Atom",i="changeLabel",j="both",k="Integer",l="_applyIconPosition",m="bottom-left",n="String",o="icon",p="top-left",q="top",r="top-right",s="right",t="_applyRich",u="_applyIcon",v="label",w="_applyShow",x="left",y="_applyLabel",z="_applyGap",A="atom";qx.Class.define(h,{extend:qx.ui.core.Widget,construct:function(B,C){{};qx.ui.core.Widget.call(this);this._setLayout(new qx.ui.layout.Atom());if(B!=null){this.setLabel(B);};if(C!==undefined){this.setIcon(C);};},properties:{appearance:{refine:true,init:A},label:{apply:y,nullable:true,check:n,event:i},rich:{check:a,init:false,apply:t},icon:{check:n,apply:u,nullable:true,themeable:true,event:g},gap:{check:k,nullable:false,event:b,apply:z,themeable:true,init:4},show:{init:j,check:[j,v,o],themeable:true,inheritable:true,apply:w,event:c},iconPosition:{init:x,check:[q,s,d,x,p,m,r,e],themeable:true,apply:l},center:{init:false,check:a,themeable:true,apply:f}},members:{_createChildControlImpl:function(F,E){var D;switch(F){case v:D=new qx.ui.basic.Label(this.getLabel());D.setAnonymous(true);D.setRich(this.getRich());this._add(D);if(this.getLabel()==null||this.getShow()===o){D.exclude();};break;case o:D=new qx.ui.basic.Image(this.getIcon());D.setAnonymous(true);this._addAt(D,0);if(this.getIcon()==null||this.getShow()===v){D.exclude();};break;};return D||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,F);},_forwardStates:{focused:true,hovered:true},_handleLabel:function(){if(this.getLabel()==null||this.getShow()===o){this._excludeChildControl(v);}else {this._showChildControl(v);};},_handleIcon:function(){if(this.getIcon()==null||this.getShow()===v){this._excludeChildControl(o);}else {this._showChildControl(o);};},_applyLabel:function(H,G){var I=this.getChildControl(v,true);if(I){I.setValue(H);};this._handleLabel();},_applyRich:function(K,J){var L=this.getChildControl(v,true);if(L){L.setRich(K);};},_applyIcon:function(N,M){var O=this.getChildControl(o,true);if(O){O.setSource(N);};this._handleIcon();},_applyGap:function(Q,P){this._getLayout().setGap(Q);},_applyShow:function(S,R){this._handleLabel();this._handleIcon();},_applyIconPosition:function(U,T){this._getLayout().setIconPosition(U);},_applyCenter:function(W,V){this._getLayout().setCenter(W);},_applySelectable:function(Y,X){qx.ui.core.Widget.prototype._applySelectable.call(this,Y,X);var ba=this.getChildControl(v,true);if(ba){this.getChildControl(v).setSelectable(Y);};}}});})();(function(){var a="middle",b="_applyLayoutChange",c="top-right",d="bottom",e="top-left",f="bottom-left",g="center",h="qx.ui.layout.Atom",j="bottom-right",k="top",l="left",m="right",n="Integer",o="Boolean";qx.Class.define(h,{extend:qx.ui.layout.Abstract,properties:{gap:{check:n,init:4,apply:b},iconPosition:{check:[l,k,m,d,e,f,c,j],init:l,apply:b},center:{check:o,init:false,apply:b}},members:{verifyLayoutProperty:null,renderLayout:function(E,y,D){var N=D.left;var top=D.top;var z=qx.ui.layout.Util;var q=this.getIconPosition();var t=this._getLayoutChildren();var length=t.length;var M,r;var G,x;var C=this.getGap();var J=this.getCenter();var L=[d,m,c,j];if(L.indexOf(q)!=-1){var A=length-1;var v=-1;var s=-1;}else {var A=0;var v=length;var s=1;};if(q==k||q==d){if(J){var F=0;for(var i=A;i!=v;i+=s){r=t[i].getSizeHint().height;if(r>0){F+=r;if(i!=A){F+=C;};};};top+=Math.round((y-F)/2);};var u=top;for(var i=A;i!=v;i+=s){G=t[i];x=G.getSizeHint();M=Math.min(x.maxWidth,Math.max(E,x.minWidth));r=x.height;N=z.computeHorizontalAlignOffset(g,M,E)+D.left;G.renderLayout(N,u,M,r);if(r>0){u=top+r+C;};};}else {var w=E;var p=null;var I=0;for(var i=A;i!=v;i+=s){G=t[i];M=G.getSizeHint().width;if(M>0){if(!p&&G instanceof qx.ui.basic.Label){p=G;}else {w-=M;};I++ ;};};if(I>1){var H=(I-1)*C;w-=H;};if(p){var x=p.getSizeHint();var B=Math.max(x.minWidth,Math.min(w,x.maxWidth));w-=B;};if(J&&w>0){N+=Math.round(w/2);};for(var i=A;i!=v;i+=s){G=t[i];x=G.getSizeHint();r=Math.min(x.maxHeight,Math.max(y,x.minHeight));if(G===p){M=B;}else {M=x.width;};var K=a;if(q==e||q==c){K=k;}else if(q==f||q==j){K=d;};var u=top+z.computeVerticalAlignOffset(K,x.height,y);G.renderLayout(N,u,M,r);if(M>0){N+=M+C;};};};},_computeSizeHint:function(){var Y=this._getLayoutChildren();var length=Y.length;var P,W;if(length===1){var P=Y[0].getSizeHint();W={width:P.width,height:P.height,minWidth:P.minWidth,minHeight:P.minHeight};}else {var U=0,V=0;var R=0,T=0;var S=this.getIconPosition();var Q=this.getGap();if(S===k||S===d){var O=0;for(var i=0;i0){T+=P.height;R+=P.minHeight;O++ ;};};if(O>1){var X=(O-1)*Q;T+=X;R+=X;};}else {var O=0;for(var i=0;i0){V+=P.width;U+=P.minWidth;O++ ;};};if(O>1){var X=(O-1)*Q;V+=X;U+=X;};};W={minWidth:U,width:V,minHeight:R,height:T};};return W;}}});})();(function(){var a="qx.event.type.Data",b="qx.ui.form.IStringForm";qx.Interface.define(b,{events:{"changeValue":a},members:{setValue:function(c){return arguments.length==1;},resetValue:function(){},getValue:function(){}}});})();(function(){var a="safari",b="os.name",c="_applyTextAlign",d="Boolean",f="qx.ui.core.Widget",g="nowrap",h="changeStatus",i="changeTextAlign",j="_applyWrap",k="changeValue",l="browser.name",m="color",n="qx.ui.basic.Label",o="osx",p="css.textoverflow",q="html.xul",r="_applyValue",s="center",t="_applyBuddy",u="enabled",v="String",w="toggleValue",x="whiteSpace",y="textAlign",z="function",A="browser.version",B="qx.dynlocale",C="engine.version",D="right",E="gecko",F="justify",G="changeRich",H="normal",I="_applyRich",J="engine.name",K="label",L="changeLocale",M="left",N="tap",O="A";qx.Class.define(n,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm],construct:function(P){qx.ui.core.Widget.call(this);if(P!=null){this.setValue(P);};if(qx.core.Environment.get(B)){qx.locale.Manager.getInstance().addListener(L,this._onChangeLocale,this);};},properties:{rich:{check:d,init:false,event:G,apply:I},wrap:{check:d,init:true,apply:j},value:{check:v,apply:r,event:k,nullable:true},buddy:{check:f,apply:t,nullable:true,init:null,dereference:true},textAlign:{check:[M,s,D,F],nullable:true,themeable:true,apply:c,event:i},appearance:{refine:true,init:K},selectable:{refine:true,init:false},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{__ly:null,__lz:null,__lA:null,__lB:null,_getContentHint:function(){if(this.__lz){this.__lC=this.__lD();delete this.__lz;};return {width:this.__lC.width,height:this.__lC.height};},_hasHeightForWidth:function(){return this.getRich()&&this.getWrap();},_applySelectable:function(Q){if(!qx.core.Environment.get(p)&&qx.core.Environment.get(q)){if(Q&&!this.isRich()){{};return;};};qx.ui.core.Widget.prototype._applySelectable.call(this,Q);},_getContentHeightForWidth:function(R){if(!this.getRich()&&!this.getWrap()){return null;};return this.__lD(R).height;},_createContentElement:function(){return new qx.html.Label;},_applyTextAlign:function(T,S){this.getContentElement().setStyle(y,T);},_applyTextColor:function(V,U){if(V){this.getContentElement().setStyle(m,qx.theme.manager.Color.getInstance().resolve(V));}else {this.getContentElement().removeStyle(m);};},__lC:{width:0,height:0},_applyFont:function(Y,X){if(X&&this.__ly&&this.__lB){this.__ly.removeListenerById(this.__lB);this.__lB=null;};var W;if(Y){this.__ly=qx.theme.manager.Font.getInstance().resolve(Y);if(this.__ly instanceof qx.bom.webfonts.WebFont){this.__lB=this.__ly.addListener(h,this._onWebFontStatusChange,this);};W=this.__ly.getStyles();}else {this.__ly=null;W=qx.bom.Font.getDefaultStyles();};if(this.getTextColor()!=null){delete W[m];};this.getContentElement().setStyles(W);this.__lz=true;qx.ui.core.queue.Layout.add(this);},__lD:function(bc){var bb=qx.bom.Label;var be=this.getFont();var ba=be?this.__ly.getStyles():qx.bom.Font.getDefaultStyles();var content=this.getValue()||O;var bd=this.getRich();if(this.__lB){this.__lE();};return bd?bb.getHtmlSize(content,ba,bc):bb.getTextSize(content,ba);},__lE:function(){if(!this.getContentElement()){return;};if(qx.core.Environment.get(b)==o&&qx.core.Environment.get(J)==E&&parseInt(qx.core.Environment.get(C),10)<16&&parseInt(qx.core.Environment.get(C),10)>9){var bf=this.getContentElement().getDomElement();if(bf){bf.innerHTML=bf.innerHTML;};};},_applyBuddy:function(bh,bg){if(bg!=null){this.removeRelatedBindings(bg);this.removeListenerById(this.__lA);this.__lA=null;};if(bh!=null){bh.bind(u,this,u);this.__lA=this.addListener(N,function(){if(bh.isFocusable()){bh.focus.apply(bh);};if(w in bh&&typeof bh.toggleValue===z){bh.toggleValue();};},this);};},_applyRich:function(bi){this.getContentElement().setRich(bi);this.__lz=true;qx.ui.core.queue.Layout.add(this);},_applyWrap:function(bl,bj){if(bl&&!this.isRich()){{};};if(this.isRich()){var bk=bl?H:g;this.getContentElement().setStyle(x,bk);};},_onChangeLocale:qx.core.Environment.select(B,{"true":function(e){var content=this.getValue();if(content&&content.translate){this.setValue(content.translate());};},"false":null}),_onWebFontStatusChange:function(bm){if(bm.getData().valid===true){if(qx.core.Environment.get(l)==a&&parseFloat(qx.core.Environment.get(A))>=8){window.setTimeout(function(){this.__lz=true;qx.ui.core.queue.Layout.add(this);}.bind(this),0);};this.__lz=true;qx.ui.core.queue.Layout.add(this);};},_applyValue:function(bo,bn){this.getContentElement().setValue(bo);this.__lz=true;qx.ui.core.queue.Layout.add(this);}},destruct:function(){if(qx.core.Environment.get(B)){qx.locale.Manager.getInstance().removeListener(L,this._onChangeLocale,this);};if(this.__ly&&this.__lB){this.__ly.removeListenerById(this.__lB);};this.__ly=null;}});})();(function(){var a="value",b="qx.html.Label",c="The label mode cannot be modified after initial creation",d='hidden';qx.Class.define(b,{extend:qx.html.Element,members:{__lF:null,_applyProperty:function(name,e){qx.html.Element.prototype._applyProperty.call(this,name,e);if(name==a){var f=this.getDomElement();qx.bom.Label.setValue(f,e);};},_createDomElement:function(){var h=this.__lF;var g=qx.bom.Label.create(this._content,h);g.style.overflow=d;return g;},_copyData:function(i){return qx.html.Element.prototype._copyData.call(this,true);},setRich:function(j){var k=this.getDomElement();if(k){throw new Error(c);};j=!!j;if(this.__lF==j){return this;};this.__lF=j;return this;},setValue:function(l){this._setProperty(a,l);return this;},getValue:function(){return this._getProperty(a);}}});})();(function(){var a="text",b="function",c="px",d="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul",e="crop",f="nowrap",g="end",h="div",i="100%",j="auto",k="0",l="css.textoverflow",m="html.xul",n="value",o="visible",p="qx.bom.Label",q="",r="ellipsis",s="normal",t="inherit",u="block",v="label",w="-1000px",x="hidden",y="absolute";qx.Bootstrap.define(p,{statics:{__lG:{fontFamily:1,fontSize:1,fontWeight:1,fontStyle:1,lineHeight:1},__lH:function(){var z=this.__lJ(false);document.body.insertBefore(z,document.body.firstChild);return this._textElement=z;},__lI:function(){var A=this.__lJ(true);document.body.insertBefore(A,document.body.firstChild);return this._htmlElement=A;},__lJ:function(D){var B=qx.dom.Element.create(h);var C=B.style;C.width=C.height=j;C.left=C.top=w;C.visibility=x;C.position=y;C.overflow=o;C.display=u;if(D){C.whiteSpace=s;}else {C.whiteSpace=f;if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){var E=document.createElementNS(d,v);var C=E.style;C.padding=k;C.margin=k;C.width=j;for(var F in this.__lG){C[F]=t;};B.appendChild(E);};};return B;},__lK:function(H){var G={};if(H){G.whiteSpace=s;}else if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){G.display=u;}else {G.overflow=x;G.whiteSpace=f;G[qx.core.Environment.get(l)]=r;};return G;},create:function(content,L,K){if(!K){K=window;};var I=K.document.createElement(h);if(L){I.useHtml=true;}else if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){var M=K.document.createElementNS(d,v);var J=M.style;J.cursor=t;J.color=t;J.overflow=x;J.maxWidth=i;J.padding=k;J.margin=k;J.width=j;for(var N in this.__lG){M.style[N]=t;};M.setAttribute(e,g);I.appendChild(M);}else {qx.bom.element.Style.setStyles(I,this.__lK(L));};if(content){this.setValue(I,content);};return I;},__lL:null,setSanitizer:function(O){{};qx.bom.Label.__lL=O;},setValue:function(Q,P){P=P||q;if(Q.useHtml){if(qx.bom.Label.__lL&&typeof (qx.bom.Label.__lL)===b){P=qx.bom.Label.__lL(P);};Q.innerHTML=P;}else if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){Q.firstChild.setAttribute(n,P);}else {qx.bom.element.Attribute.set(Q,a,P);};},getValue:function(R){if(R.useHtml){return R.innerHTML;}else if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){return R.firstChild.getAttribute(n)||q;}else {return qx.bom.element.Attribute.get(R,a);};},getHtmlSize:function(content,S,T){var U=this._htmlElement||this.__lI();U.style.width=T!=undefined?T+c:j;U.innerHTML=content;return this.__lM(U,S);},getTextSize:function(W,V){var X=this._textElement||this.__lH();if(!qx.core.Environment.get(l)&&qx.core.Environment.get(m)){X.firstChild.setAttribute(n,W);}else {qx.bom.element.Attribute.set(X,a,W);};return this.__lM(X,V);},__lM:function(bd,Y){var ba=this.__lG;if(!Y){Y={};};for(var bc in ba){bd.style[bc]=Y[bc]||q;};var bb=qx.bom.element.Dimension.getSize(bd);bb.width++ ;return bb;}}});})();(function(){var a="qx.ui.form.IForm",b="qx.event.type.Data";qx.Interface.define(a,{events:{"changeEnabled":b,"changeValid":b,"changeInvalidMessage":b,"changeRequired":b},members:{setEnabled:function(c){return arguments.length==1;},getEnabled:function(){},setRequired:function(d){return arguments.length==1;},getRequired:function(){},setValid:function(e){return arguments.length==1;},getValid:function(){},setInvalidMessage:function(f){return arguments.length==1;},getInvalidMessage:function(){},setRequiredInvalidMessage:function(g){return arguments.length==1;},getRequiredInvalidMessage:function(){}}});})();(function(){var a="qx.application.Standalone";qx.Class.define(a,{extend:qx.application.AbstractGui,members:{_createRootWidget:function(){return new qx.ui.root.Application(document);}}});})();(function(){var a="_applyActiveWindow",b="changeModal",c="__lN",d="windowAdded",f="changeVisibility",g="__gt",h="windowRemoved",i="qx.ui.window.Window",j="changeActive",k="qx.ui.window.MDesktop",l="changeActiveWindow",m="qx.event.type.Data";qx.Mixin.define(k,{properties:{activeWindow:{check:i,apply:a,event:l,init:null,nullable:true}},events:{windowAdded:m,windowRemoved:m},members:{__lN:null,__gt:null,getWindowManager:function(){if(!this.__gt){this.setWindowManager(new qx.ui.window.Window.DEFAULT_MANAGER_CLASS());};return this.__gt;},supportsMaximize:function(){return true;},setWindowManager:function(n){if(this.__gt){this.__gt.setDesktop(null);};n.setDesktop(this);this.__gt=n;},_onChangeActive:function(e){if(e.getData()){this.setActiveWindow(e.getTarget());}else if(this.getActiveWindow()==e.getTarget()){this.setActiveWindow(null);};},_applyActiveWindow:function(p,o){this.getWindowManager().changeActiveWindow(p,o);this.getWindowManager().updateStack();},_onChangeModal:function(e){this.getWindowManager().updateStack();},_onChangeVisibility:function(){this.getWindowManager().updateStack();},_afterAddChild:function(q){if(qx.Class.isDefined(i)&&q instanceof qx.ui.window.Window){this._addWindow(q);};},_addWindow:function(r){if(!qx.lang.Array.contains(this.getWindows(),r)){this.getWindows().push(r);this.fireDataEvent(d,r);r.addListener(j,this._onChangeActive,this);r.addListener(b,this._onChangeModal,this);r.addListener(f,this._onChangeVisibility,this);};if(r.getActive()){this.setActiveWindow(r);};this.getWindowManager().updateStack();},_afterRemoveChild:function(s){if(qx.Class.isDefined(i)&&s instanceof qx.ui.window.Window){this._removeWindow(s);};},_removeWindow:function(t){if(qx.lang.Array.contains(this.getWindows(),t)){qx.lang.Array.remove(this.getWindows(),t);this.fireDataEvent(h,t);t.removeListener(j,this._onChangeActive,this);t.removeListener(b,this._onChangeModal,this);t.removeListener(f,this._onChangeVisibility,this);this.getWindowManager().updateStack();};},getWindows:function(){if(!this.__lN){this.__lN=[];};return this.__lN;}},destruct:function(){this._disposeArray(c);this._disposeObjects(g);}});})();(function(){var a="_applyBlockerColor",b="Number",c="qx.ui.core.MBlocker",d="__lO",e="_applyBlockerOpacity",f="Color";qx.Mixin.define(c,{properties:{blockerColor:{check:f,init:null,nullable:true,apply:a,themeable:true},blockerOpacity:{check:b,init:1,apply:e,themeable:true}},members:{__lO:null,_createBlocker:function(){return new qx.ui.core.Blocker(this);},_applyBlockerColor:function(h,g){this.getBlocker().setColor(h);},_applyBlockerOpacity:function(j,i){this.getBlocker().setOpacity(j);},block:function(){this.getBlocker().block();},isBlocked:function(){return this.__lO&&this.__lO.isBlocked();},unblock:function(){if(this.__lO){this.__lO.unblock();};},forceUnblock:function(){if(this.__lO){this.__lO.forceUnblock();};},blockContent:function(k){this.getBlocker().blockContent(k);},getBlocker:function(){if(!this.__lO){this.__lO=this._createBlocker();};return this.__lO;}},destruct:function(){this._disposeObjects(d);}});})();(function(){var a="qx.dyntheme",b="backgroundColor",c="_applyOpacity",d="Boolean",f="px",g="keydown",h="deactivate",j="changeTheme",k="opacity",l="Tab",m="qx.event.type.Event",n="move",o="__lO",p="Color",q="resize",r="__de",s="zIndex",t="appear",u="qx.ui.root.Abstract",v="keyup",w="keypress",x="Number",y="unblocked",z="qx.ui.core.Blocker",A="disappear",B="blocked",C="_applyColor";qx.Class.define(z,{extend:qx.core.Object,events:{blocked:m,unblocked:m},construct:function(D){qx.core.Object.call(this);this._widget=D;D.addListener(q,this.__lT,this);D.addListener(n,this.__lT,this);D.addListener(A,this.__lV,this);if(qx.Class.isDefined(u)&&D instanceof qx.ui.root.Abstract){this._isRoot=true;this.setKeepBlockerActive(true);};if(qx.core.Environment.get(a)){qx.theme.manager.Meta.getInstance().addListener(j,this._onChangeTheme,this);};this.__lP=[];this.__lQ=[];},properties:{color:{check:p,init:null,nullable:true,apply:C,themeable:true},opacity:{check:x,init:1,apply:c,themeable:true},keepBlockerActive:{check:d,init:false}},members:{__lO:null,__lR:0,__lP:null,__lQ:null,__de:null,_widget:null,_isRoot:false,__lS:null,__lT:function(e){var E=e.getData();if(this.isBlocked()){this._updateBlockerBounds(E);};},__lU:function(){this._updateBlockerBounds(this._widget.getBounds());if(this._widget.isRootWidget()){this._widget.getContentElement().add(this.getBlockerElement());}else {this._widget.getLayoutParent().getContentElement().add(this.getBlockerElement());};},__lV:function(){if(this.isBlocked()){this.getBlockerElement().getParent().remove(this.getBlockerElement());this._widget.addListenerOnce(t,this.__lU,this);};},_updateBlockerBounds:function(F){this.getBlockerElement().setStyles({width:F.width+f,height:F.height+f,left:F.left+f,top:F.top+f});},_applyColor:function(I,H){var G=qx.theme.manager.Color.getInstance().resolve(I);this.__lW(b,G);},_applyOpacity:function(K,J){this.__lW(k,K);},_onChangeTheme:qx.core.Environment.select(a,{"true":function(){this._applyColor(this.getColor());},"false":null}),__lW:function(M,N){var L=[];this.__lO&&L.push(this.__lO);for(var i=0;i0){Q=this.__lQ.pop();if(Q&&!Q.isDisposed()&&Q.isFocusable()){Q.focus();};};var R=this.__lP.length;if(R>0){Q=this.__lP.pop();if(Q&&!Q.isDisposed()){Q.activate();};};},__lX:function(){return new qx.html.Blocker(this.getColor(),this.getOpacity());},getBlockerElement:function(S){if(!this.__lO){this.__lO=this.__lX();this.__lO.setStyle(s,15);if(!S){if(this._isRoot){S=this._widget;}else {S=this._widget.getLayoutParent();};};S.getContentElement().add(this.__lO);this.__lO.exclude();};return this.__lO;},block:function(){this._block();},_block:function(T,V){if(!this._isRoot&&!this._widget.getLayoutParent()){this.__lS=this._widget.addListenerOnce(t,this._block.bind(this,T));return;};var parent;if(this._isRoot||V){parent=this._widget;}else {parent=this._widget.getLayoutParent();};var U=this.getBlockerElement(parent);if(T!=null){U.setStyle(s,T);};this.__lR++ ;if(this.__lR<2){this._backupActiveWidget();var W=this._widget.getBounds();if(W){this._updateBlockerBounds(W);};U.include();if(!V){U.activate();};U.addListener(h,this.__mb,this);U.addListener(w,this.__ma,this);U.addListener(g,this.__ma,this);U.addListener(v,this.__ma,this);this.fireEvent(B,qx.event.type.Event);};},isBlocked:function(){return this.__lR>0;},unblock:function(){if(this.__lS){this._widget.removeListenerById(this.__lS);};if(!this.isBlocked()){return;};this.__lR-- ;if(this.__lR<1){this.__lY();this.__lR=0;};},forceUnblock:function(){if(!this.isBlocked()){return;};this.__lR=0;this.__lY();},__lY:function(){this._restoreActiveWidget();var X=this.getBlockerElement();X.removeListener(h,this.__mb,this);X.removeListener(w,this.__ma,this);X.removeListener(g,this.__ma,this);X.removeListener(v,this.__ma,this);X.exclude();this.fireEvent(y,qx.event.type.Event);},blockContent:function(Y){this._block(Y,true);},__ma:function(e){if(e.getKeyIdentifier()==l){e.stop();};},__mb:function(){if(this.getKeepBlockerActive()){this.getBlockerElement().activate();};}},destruct:function(){if(qx.core.Environment.get(a)){qx.theme.manager.Meta.getInstance().removeListener(j,this._onChangeTheme,this);};this._widget.removeListener(q,this.__lT,this);this._widget.removeListener(n,this.__lT,this);this._widget.removeListener(t,this.__lU,this);this._widget.removeListener(A,this.__lV,this);if(this.__lS){this._widget.removeListenerById(this.__lS);};this._disposeObjects(o,r);this.__lP=this.__lQ=this._widget=null;}});})();(function(){var a="swipe",b="repeat",c="mousedown",d="url(",f="pointerover",g=")",h="longtap",i="mouseout",j="div",k="roll",l="cursor",m="dblclick",n="mousewheel",o="qx.html.Blocker",p="mousemove",q="dbltap",r="pointerup",s="mouseover",t="appear",u="click",v="pointerdown",w="mshtml",x="engine.name",y="mouseup",z="contextmenu",A="disappear",B="tap",C="pointermove",D="pointerout",E="qx/static/blank.gif",F="absolute";qx.Class.define(o,{extend:qx.html.Element,construct:function(I,G){var I=I?qx.theme.manager.Color.getInstance().resolve(I):null;var H={position:F,opacity:G||0,backgroundColor:I};if((qx.core.Environment.get(x)==w)){H.backgroundImage=d+qx.util.ResourceManager.getInstance().toUri(E)+g;H.backgroundRepeat=b;};qx.html.Element.call(this,j,H);this.addListener(c,this._stopPropagation,this);this.addListener(y,this._stopPropagation,this);this.addListener(u,this._stopPropagation,this);this.addListener(m,this._stopPropagation,this);this.addListener(p,this._stopPropagation,this);this.addListener(s,this._stopPropagation,this);this.addListener(i,this._stopPropagation,this);this.addListener(n,this._stopPropagation,this);this.addListener(k,this._stopPropagation,this);this.addListener(z,this._stopPropagation,this);this.addListener(v,this._stopPropagation,this);this.addListener(r,this._stopPropagation,this);this.addListener(C,this._stopPropagation,this);this.addListener(f,this._stopPropagation,this);this.addListener(D,this._stopPropagation,this);this.addListener(B,this._stopPropagation,this);this.addListener(q,this._stopPropagation,this);this.addListener(a,this._stopPropagation,this);this.addListener(h,this._stopPropagation,this);this.addListener(t,this.__mc,this);this.addListener(A,this.__mc,this);},members:{_stopPropagation:function(e){e.stopPropagation();},__mc:function(){var J=this.getStyle(l);this.setStyle(l,null,true);this.setStyle(l,J,true);}}});})();(function(){var a="changeGlobalCursor",b="engine.name",c="keypress",d="Boolean",f="root",g="help",h="",i="contextmenu",j=" !important",k="input",l="_applyGlobalCursor",m="Space",n="_applyNativeHelp",o=";",p="event.help",q="qx.ui.root.Abstract",r="abstract",s="textarea",t="String",u="*";qx.Class.define(q,{type:r,extend:qx.ui.core.Widget,include:[qx.ui.core.MChildrenHandling,qx.ui.core.MBlocker,qx.ui.window.MDesktop],construct:function(){qx.ui.core.Widget.call(this);qx.ui.core.FocusHandler.getInstance().addRoot(this);qx.ui.core.queue.Visibility.add(this);this.initNativeHelp();this.addListener(c,this.__me,this);},properties:{appearance:{refine:true,init:f},enabled:{refine:true,init:true},focusable:{refine:true,init:true},globalCursor:{check:t,nullable:true,themeable:true,apply:l,event:a},nativeContextMenu:{refine:true,init:false},nativeHelp:{check:d,init:false,apply:n}},members:{__md:null,isRootWidget:function(){return true;},getLayout:function(){return this._getLayout();},_applyGlobalCursor:qx.core.Environment.select(b,{"mshtml":function(w,v){},"default":function(A,z){var y=qx.bom.Stylesheet;var x=this.__md;if(!x){this.__md=x=y.createElement();};y.removeAllRules(x);if(A){y.addRule(x,u,qx.bom.element.Cursor.compile(A).replace(o,h)+j);};}}),_applyNativeContextMenu:function(C,B){if(C){this.removeListener(i,this._onNativeContextMenu,this,true);}else {this.addListener(i,this._onNativeContextMenu,this,true);};},_onNativeContextMenu:function(e){if(e.getTarget().getNativeContextMenu()){return;};e.preventDefault();},__me:function(e){if(e.getKeyIdentifier()!==m){return;};var E=e.getTarget();var D=qx.ui.core.FocusHandler.getInstance();if(!D.isFocused(E)){return;};var F=E.getContentElement().getNodeName();if(F===k||F===s){return;};e.preventDefault();},_applyNativeHelp:function(H,G){if(qx.core.Environment.get(p)){if(G===false){qx.bom.Event.removeNativeListener(document,g,(function(){return false;}));};if(H===false){qx.bom.Event.addNativeListener(document,g,(function(){return false;}));};};}},destruct:function(){this.__md=null;},defer:function(I,J){qx.ui.core.MChildrenHandling.remap(J);}});})();(function(){var a="keypress",b="focusout",c="activate",d="Tab",f="singleton",g="deactivate",h="__mf",j="focusin",k="qx.ui.core.FocusHandler";qx.Class.define(k,{extend:qx.core.Object,type:f,construct:function(){qx.core.Object.call(this);this.__mf={};},members:{__mf:null,__mg:null,__mh:null,__mi:null,connectTo:function(m){m.addListener(a,this.__hV,this);m.addListener(j,this._onFocusIn,this,true);m.addListener(b,this._onFocusOut,this,true);m.addListener(c,this._onActivate,this,true);m.addListener(g,this._onDeactivate,this,true);},addRoot:function(n){this.__mf[n.$$hash]=n;},removeRoot:function(o){delete this.__mf[o.$$hash];},getActiveWidget:function(){return this.__mg;},isActive:function(p){return this.__mg==p;},getFocusedWidget:function(){return this.__mh;},isFocused:function(q){return this.__mh==q;},isFocusRoot:function(r){return !!this.__mf[r.$$hash];},_onActivate:function(e){var t=e.getTarget();this.__mg=t;var s=this.__mj(t);if(s!=this.__mi){this.__mi=s;};},_onDeactivate:function(e){var u=e.getTarget();if(this.__mg==u){this.__mg=null;};},_onFocusIn:function(e){var v=e.getTarget();if(v!=this.__mh){this.__mh=v;v.visualizeFocus();};},_onFocusOut:function(e){var w=e.getTarget();if(w==this.__mh){this.__mh=null;w.visualizeBlur();};},__hV:function(e){if(e.getKeyIdentifier()!=d){return;};if(!this.__mi){return;};e.stopPropagation();e.preventDefault();var x=this.__mh;if(!e.isShiftPressed()){var y=x?this.__mn(x):this.__ml();}else {var y=x?this.__mo(x):this.__mm();};if(y){y.tabFocus();};},__mj:function(z){var A=this.__mf;while(z){if(A[z.$$hash]){return z;};z=z.getLayoutParent();};return null;},__mk:function(I,H){if(I===H){return 0;};var C=I.getTabIndex()||0;var B=H.getTabIndex()||0;if(C!=B){return C-B;};var J=I.getContentElement().getDomElement();var G=H.getContentElement().getDomElement();var F=qx.bom.element.Location;var E=F.get(J);var D=F.get(G);if(E.top!=D.top){return E.top-D.top;};if(E.left!=D.left){return E.left-D.left;};var K=I.getZIndex();var L=H.getZIndex();if(K!=L){return K-L;};return 0;},__ml:function(){return this.__mr(this.__mi,null);},__mm:function(){return this.__ms(this.__mi,null);},__mn:function(M){var N=this.__mi;if(N==M){return this.__ml();};while(M&&M.getAnonymous()){M=M.getLayoutParent();};if(M==null){return [];};var O=[];this.__mp(N,M,O);O.sort(this.__mk);var P=O.length;return P>0?O[0]:this.__ml();},__mo:function(Q){var R=this.__mi;if(R==Q){return this.__mm();};while(Q&&Q.getAnonymous()){Q=Q.getLayoutParent();};if(Q==null){return [];};var S=[];this.__mq(R,Q,S);S.sort(this.__mk);var T=S.length;return T>0?S[T-1]:this.__mm();},__mp:function(parent,U,V){var X=parent.getLayoutChildren();var W;for(var i=0,l=X.length;i0){ba.push(bb);};this.__mq(bb,Y,ba);};};},__mr:function(parent,bd){var bf=parent.getLayoutChildren();var be;for(var i=0,l=bf.length;i0){bg=bh;};};bg=this.__ms(bh,bg);};};return bg;}},destruct:function(){this._disposeMap(h);this.__mh=this.__mg=this.__mi=null;}});})();(function(){var a="touchmove",b="os.name",c="-webkit-overflow-scrolling",d="touch",f="paddingLeft",g="div",h="100%",i="The root widget does not support 'left', or 'top' paddings!",j="0px",k="The application could not be started due to a missing body tag in the HTML file!",l="ios",m="overflowY",n="resize",o="",p="$$widget",q="paddingTop",r="engine.name",s="none",t="webkit",u="-webkit-backface-visibility",v="touch-action",w="qx.ui.root.Application",x="hidden",y="tap",z="overflowX",A="absolute";qx.Class.define(w,{extend:qx.ui.root.Abstract,construct:function(B){this.__cz=qx.dom.Node.getWindow(B);this.__mt=B;qx.ui.root.Abstract.call(this);qx.event.Registration.addListener(this.__cz,n,this._onResize,this);this._setLayout(new qx.ui.layout.Canvas());qx.ui.core.queue.Layout.add(this);qx.ui.core.FocusHandler.getInstance().connectTo(this);this.getContentElement().disableScrolling();this.getContentElement().setStyle(u,x);this.addListener(a,this.__mu,this);if(qx.core.Environment.get(b)==l){this.getContentElement().addListener(y,function(e){var C=qx.ui.core.Widget.getWidgetByElement(e.getTarget());while(C&&!C.isFocusable()){C=C.getLayoutParent();};if(C&&C.isFocusable()){C.getContentElement().focus();};},this,true);};},members:{__cz:null,__mt:null,_createContentElement:function(){var D=this.__mt;if((qx.core.Environment.get(r)==t)){if(!D.body){alert(k);};};var H=D.documentElement.style;var E=D.body.style;H.overflow=E.overflow=x;H.padding=H.margin=E.padding=E.margin=j;H.width=H.height=E.width=E.height=h;var G=D.createElement(g);D.body.appendChild(G);var F=new qx.html.Root(G);F.setStyles({"position":A,"overflowX":x,"overflowY":x});F.setAttribute(p,this.toHashCode());return F;},_onResize:function(e){qx.ui.core.queue.Layout.add(this);if(qx.ui.popup&&qx.ui.popup.Manager){qx.ui.popup.Manager.getInstance().hideAll();};if(qx.ui.menu&&qx.ui.menu.Manager){qx.ui.menu.Manager.getInstance().hideAll();};},_computeSizeHint:function(){var I=qx.bom.Viewport.getWidth(this.__cz);var J=qx.bom.Viewport.getHeight(this.__cz);return {minWidth:I,width:I,maxWidth:I,minHeight:J,height:J,maxHeight:J};},_applyPadding:function(L,K,name){if(L&&(name==q||name==f)){throw new Error(i);};qx.ui.root.Abstract.prototype._applyPadding.call(this,L,K,name);},__mu:function(e){var M=e.getOriginalTarget();while(M&&M.style){var Q=qx.bom.element.Style.get(M,v)!==s&&qx.bom.element.Style.get(M,v)!==o;var P=qx.bom.element.Style.get(M,c)===d;var O=qx.bom.element.Style.get(M,z)!=x;var N=qx.bom.element.Style.get(M,m)!=x;if(Q||P||N||O){return;};M=M.parentNode;};e.preventDefault();}},destruct:function(){this.__cz=this.__mt=null;}});})();(function(){var a="qx.ui.layout.Canvas",b="number",c="Boolean";qx.Class.define(a,{extend:qx.ui.layout.Abstract,properties:{desktop:{check:c,init:false}},members:{verifyLayoutProperty:null,renderLayout:function(g,j,m){var s=this._getLayoutChildren();var d,u,r;var f,top,e,h,n,k;var q,p,t,o;for(var i=0,l=s.length;iu.maxWidth){n=u.maxWidth;};f+=o;}else {n=r.width;if(n==null){n=u.width;}else {n=Math.round(parseFloat(n)*g/100);if(nu.maxWidth){n=u.maxWidth;};};if(e!=null){f=g-n-e-p-o;}else if(f==null){f=o;}else {f+=o;};};if(top!=null&&h!=null){k=j-top-h-q-t;if(ku.maxHeight){k=u.maxHeight;};top+=q;}else {k=r.height;if(k==null){k=u.height;}else {k=Math.round(parseFloat(k)*j/100);if(ku.maxHeight){k=u.maxHeight;};};if(h!=null){top=j-k-h-t-q;}else if(top==null){top=q;}else {top+=q;};};f+=m.left;top+=m.top;d.renderLayout(f,top,n,k);};},_computeSizeHint:function(){var M=0,y=0;var J=0,I=0;var H,v;var E,C;var L=this._getLayoutChildren();var w,B,z;var K=this.isDesktop();var A,top,x,D;for(var i=0,l=L.length;i=0;i-- ){if(!qx.lang.Array.contains(q,this.getSelection().getItem(i))){this.getSelection().splice(i,1).dispose();};};}else if(this.__mA()){var r=this.getSelection().getItem(this.getSelection().length-1);if(r!==undefined){this.__mB(r);this.getSelection().splice(0,this.getSelection().getLength()-1).dispose();}else {this.getTarget().resetSelection();};};this._endSelectionModification();},__mz:function(){var v=this.getTarget().constructor;return qx.Class.implementsInterface(v,qx.ui.core.IMultiSelection);},__mA:function(){var w=this.getTarget().constructor;return qx.Class.implementsInterface(w,qx.ui.core.ISingleSelection);},__mB:function(x){var y=this.__mC(x);if(y==null){return;};if(this.__mz()){this.getTarget().addToSelection(y);}else if(this.__mA()){this.getTarget().setSelection([y]);};},__mC:function(z){var A=this.getTarget().getSelectables(true);for(var i=0;i0?this._modifingSelection-- :null;},_inSelectionModification:function(){return this._modifingSelection>0;}},destruct:function(){if(this.__mv){this.__mv.dispose();};}});})();(function(){var a="qx.data.marshal.MEventBubbling",b="",c="]",d="idBubble-",f="[",g="changeBubble",h=".",j="qx.event.type.Data";qx.Mixin.define(a,{events:{"changeBubble":j},members:{_applyEventPropagation:function(l,k,name){this.fireDataEvent(g,{value:l,name:name,old:k,item:this});this._registerEventChaining(l,k,name);},_registerEventChaining:function(n,m,name){if(m!=null&&m.getUserData&&m.getUserData(d+this.$$hash)!=null){var p=m.getUserData(d+this.$$hash);for(var i=0;i1){this.__mE=[];for(var i=0;i0;var D=arguments.length>2;if(L||D){var B=qx.lang.Array.fromArguments(arguments,2);if(I.length==0){var M=b;var E=F+B.length;}else if(B.length==0){var M=l;var E=this.length-1;}else {var M=d;var E=F+Math.max(B.length,I.length)-1;};this.fireDataEvent(g,{start:F,end:E,type:M,added:B,removed:I},null);};for(var i=0;i=0;i-- ){this.__mE.unshift(arguments[i]);this.__mF();this.__mG(0,this.length);this.fireDataEvent(o,{value:[this.__mE[0]],name:m,old:[this.__mE[1]],item:this});this.fireDataEvent(g,{start:0,end:this.length-1,type:b,added:[arguments[i]],removed:[]},null);};return this.length;},toArray:function(){return this.__mE;},getItem:function(R){return this.__mE[R];},setItem:function(S,U){var T=this.__mE[S];if(T===U){return;};this.__mE[S]=U;this._registerEventChaining(U,T,S);if(this.length!=this.__mE.length){this.__mF();};this.fireDataEvent(o,{value:[U],name:S+f,old:[T],item:this});this.fireDataEvent(g,{start:S,end:S,type:d,added:[U],removed:[T]},null);},getLength:function(){return this.length;},indexOf:function(V){return this.__mE.indexOf(V);},lastIndexOf:function(W){return this.__mE.lastIndexOf(W);},toString:function(){if(this.__mE!=null){return this.__mE.toString();};return f;},contains:function(X){return this.__mE.indexOf(X)!==-1;},copy:function(){return this.concat();},insertAt:function(Y,ba){this.splice(Y,0,ba).dispose();},insertBefore:function(bc,bb){var bd=this.indexOf(bc);if(bd==-1){this.push(bb);}else {this.splice(bd,0,bb).dispose();};},insertAfter:function(bf,be){var bg=this.indexOf(bf);if(bg==-1||bg==(this.length-1)){this.push(be);}else {this.splice(bg+1,0,be).dispose();};},removeAt:function(bh){var bi=this.splice(bh,1);var bj=bi.getItem(0);bi.dispose();return bj;},removeAll:function(){for(var i=0;ibs){bs=this.getItem(i);};};return bs===undefined?null:bs;},min:function(){var bt=this.getItem(0);for(var i=1;i0){this.getSelection().splice(0,this.getSelection().length).dispose();};if(P!=null){this.__mL=P.addListener(f,this.__mO,this);this.__mV();this.__mP();if(N==null){this._changeTargetSelection();}else {this.__mM=true;qx.ui.core.queue.Widget.add(this);};}else {var O=this.getTarget();if(O!=null){var length=O.getChildren().length;for(var i=0;iT){for(var j=T;jU;j-- ){this.__mS();};};this.__mM=true;qx.ui.core.queue.Widget.add(this);},__mQ:function(){var V=this.getModel();if(V!=null){V.removeListenerById(this.__mL);this.__mL=V.addListener(f,this.__mO,this);};},_createItem:function(){var X=this.getDelegate();if(X!=null&&X.createItem!=null){var W=X.createItem();}else {var W=new qx.ui.form.ListItem();};if(X!=null&&X.configureItem!=null){X.configureItem(W);};return W;},__mR:function(Y){var ba=this._createItem();this._bindListItem(ba,Y);this.getTarget().add(ba);},__mS:function(){this._startSelectionModification();var bc=this.getTarget().getChildren();var bb=bc.length-1;var bd=bc[bb];this._removeBindingsFrom(bd);this.getTarget().removeAt(bb);bd.destroy();this._endSelectionModification();},getVisibleModels:function(){var be=[];var bf=this.getTarget();if(bf!=null){var bg=bf.getChildren();for(var i=0;ithis.__mH.length){for(var j=bQ.length;j>this.__mH.length;j-- ){this.getTarget().removeAt(j-1).destroy();};}else if(bQ.length=200&&status<300||status===304);},isMethod:function(p){var o=[e,i,d,h,a,c,j,b,f];return (o.indexOf(p)!==-1)?true:false;},methodAllowsRequestBody:function(q){return !((/^(GET|HEAD)$/).test(q));}}});})();(function(){var a="qx.util.Serializer",b='\\\\',c='\\f',d='"',e="null",f='\\"',g="}",h="get",j="{",k='\\r',l="",m='\\t',n="]",o="Class",p="Interface",q="[",r="Mixin",s='":',t="&",u='\\b',v="=",w='\\n',x=",";qx.Class.define(a,{statics:{toUriParameter:function(z,C,y){var E=l;var B=qx.util.PropertyUtil.getAllProperties(z.constructor);for(var name in B){if(B[name].group!=undefined){continue;};var A=z[h+qx.lang.String.firstUp(name)]();if(qx.lang.Type.isArray(A)){var D=qx.data&&qx.data.IListData&&qx.Class.hasInterface(A&&A.constructor,qx.data.IListData);for(var i=0;iqx.bom.request.Xhr.UNSENT){this.dispose();this.__ny();};this.__nu.onreadystatechange=this.__nm;try{{};this.__nu.open(V,R,S,U,T);}catch(W){if(!qx.util.Request.isCrossDomain(R)){throw W;};if(!this.__ns){this.__nt=W;};if(this.__ns){if(window.XDomainRequest){this.readyState=4;this.__nu=new XDomainRequest();this.__nu.onerror=qx.Bootstrap.bind(function(){this._emit(F);this._emit(m);this._emit(n);},this);{};this.__nu.open(V,R,S,U,T);return;};window.setTimeout(qx.Bootstrap.bind(function(){if(this.__nw){return;};this.readyState=4;this._emit(F);this._emit(m);this._emit(n);},this));};};if(qx.core.Environment.get(u)===E&&qx.core.Environment.get(s)<9&&this.__nu.readyState>0){this.__nu.setRequestHeader(f,j);};if(qx.core.Environment.get(u)===C&&parseInt(qx.core.Environment.get(g),10)<2&&!this.__ns){this.readyState=qx.bom.request.Xhr.OPENED;this._emit(F);};},setRequestHeader:function(X,Y){this.__nJ();if(X==D||X==f||X==c||X==J){this.__nq=true;};this.__nu.setRequestHeader(X,Y);return this;},send:function(bb){this.__nJ();if(!this.__ns&&this.__nt){throw this.__nt;};if(qx.core.Environment.get(u)===y&&this.timeout===0){this.timeout=10000;};if(this.timeout>0){this.__nv=window.setTimeout(this.__nd,this.timeout);};bb=typeof bb==O?null:bb;var ba=qx.Bootstrap.getClass(bb);bb=(bb!==null&&this.__nx.indexOf(ba)===-1)?bb.toString():bb;try{{};this.__nu.send(bb);}catch(bd){if(!this.__ns){throw bd;};if(this._getProtocol()===H){this.readyState=2;this.__nB();var bc=this;window.setTimeout(function(){if(bc.__nw){return;};bc.readyState=3;bc.__nB();bc.readyState=4;bc.__nB();});};};if(qx.core.Environment.get(u)===C&&!this.__ns){this.__nA();};this.__np=true;return this;},abort:function(){this.__nJ();this.__ng=true;this.__nu.abort();if(this.__nu){this.readyState=this.__nu.readyState;};return this;},_emit:function(event){if(this[M+event]){this[M+event]();};this._emitter.emit(event,this);},onreadystatechange:function(){},onload:function(){},onloadend:function(){},onerror:function(){},onabort:function(){},ontimeout:function(){},on:function(name,be,bf){this._emitter.on(name,be,bf);return this;},getResponseHeader:function(bg){this.__nJ();if(qx.core.Environment.get(s)===9&&this.__nu.aborted){return t;};return this.__nu.getResponseHeader(bg);},getAllResponseHeaders:function(){this.__nJ();if(qx.core.Environment.get(s)===9&&this.__nu.aborted){return t;};return this.__nu.getAllResponseHeaders();},overrideMimeType:function(bh){this.__nJ();if(this.__nu.overrideMimeType){this.__nu.overrideMimeType(bh);}else {throw new Error(P);};return this;},getRequest:function(){return this.__nu;},dispose:function(){if(this.__nw){return false;};window.clearTimeout(this.__nv);if(window.detachEvent){window.detachEvent(h,this.__no);};try{this.__nu.onreadystatechange;}catch(bj){return false;};var bi=function(){};this.__nu.onreadystatechange=bi;this.__nu.onload=bi;this.__nu.onerror=bi;this.abort();this.__nu=null;this.__nw=true;return true;},isDisposed:function(){return !!this.__nw;},_createNativeXhr:function(){var bk=qx.core.Environment.get(L);if(bk===d){return new XMLHttpRequest();};if(bk==a){return new window.ActiveXObject(v);};qx.Bootstrap.error(this,b);},_getProtocol:function(){var bl=this.__nr;var bm=/^(\w+:)\/\//;if(bl!==null&&bl.match){var bn=bl.match(bm);if(bn&&bn[1]){return bn[1];};};return window.location.protocol;},__nu:null,__ns:null,__nm:null,__nn:null,__no:null,__nd:null,__np:null,__nr:null,__ng:null,__gs:null,__nw:null,__nv:null,__nt:null,__nq:null,__nx:null,__ny:function(){this.__nu=this._createNativeXhr();this.__nu.onreadystatechange=this.__nm;if(this.__nu.onabort){this.__nu.onabort=this.__nn;};this.__nw=this.__np=this.__ng=false;this.__nx=[N,o,l,r,I];},__nz:function(){if(!this.__ng){this.abort();};},__nA:function(){var bo=this.__nu,bp=true;{};if(this.readyState==bo.readyState){return;};this.readyState=bo.readyState;if(this.readyState===qx.bom.request.Xhr.DONE&&this.__ng&&!this.__np){return;};if(!this.__ns&&(bo.readyState==2||bo.readyState==3)){return;};this.status=0;this.statusText=this.responseText=t;this.responseXML=null;if(this.readyState>=qx.bom.request.Xhr.HEADERS_RECEIVED){try{this.status=bo.status;this.statusText=bo.statusText;this.responseText=bo.responseText;this.responseXML=bo.responseXML;}catch(bq){bp=false;};if(bp){this.__nF();this.__nG();};};this.__nB();if(this.readyState==qx.bom.request.Xhr.DONE){if(bo){bo.onreadystatechange=function(){};};};},__nB:function(){if(this.readyState===qx.bom.request.Xhr.DONE){window.clearTimeout(this.__nv);};this._emit(F);if(this.readyState===qx.bom.request.Xhr.DONE){this.__nC();};},__nC:function(){if(this.__gs){this._emit(B);if(qx.core.Environment.get(u)===y){this._emit(m);};this.__gs=false;}else {if(this.__ng){this._emit(q);}else {if(this.__nD()){this._emit(m);}else {this._emit(p);};};};this._emit(n);},__nD:function(){var br;if(this._getProtocol()===H){br=!this.responseText;}else {br=!this.statusText&&this.status!==204;};return br;},__nE:function(){var bs=this.__nu;this.readyState=qx.bom.request.Xhr.DONE;this.__gs=true;bs.aborted=true;bs.abort();this.responseText=t;this.responseXML=null;this.__nB();},__nF:function(){var bt=this.readyState===qx.bom.request.Xhr.DONE;if(this._getProtocol()===H&&this.status===0&&bt){if(!this.__nD()){this.status=200;};};if(this.status===1223){this.status=204;};if(qx.core.Environment.get(u)===y){if(bt&&this.__nq&&!this.__ng&&this.status===0){this.status=304;};};},__nG:function(){if(qx.core.Environment.get(u)==E&&(this.getResponseHeader(K)||t).match(/[^\/]+\/[^\+]+\+xml/)&&this.responseXML&&!this.responseXML.documentElement){var bu=new window.ActiveXObject(G);bu.async=false;bu.validateOnParse=false;bu.loadXML(this.responseText);this.responseXML=bu;};},__nH:function(){try{if(this){this.dispose();};}catch(e){};},__nI:function(){var name=qx.core.Environment.get(u);var bv=qx.core.Environment.get(x);return !(name==E&&bv<9||name==C&&bv<3.5);},__nJ:function(){if(this.__nw){throw new Error(w);};}},defer:function(){qx.core.Environment.add(k,false);}});})();(function(){var a="function",b="qx.util.ResponseParser",c="";qx.Bootstrap.define(b,{construct:function(d){if(d!==undefined){this.setParser(d);};},statics:{PARSER:{json:qx.lang.Json.parse,xml:qx.xml.Document.fromString}},members:{__nK:null,parse:function(g,f){var e=this._getParser(f);if(typeof e===a){if(g!==c){return e.call(this,g);};};return g;},setParser:function(h){if(typeof qx.util.ResponseParser.PARSER[h]===a){return this.__nK=qx.util.ResponseParser.PARSER[h];};{};return this.__nK=h;},_getParser:function(j){var i=this.__nK,l=c,k=c;if(i){return i;};l=j||c;k=l.replace(/;.*$/,c);if(/^application\/(\w|\.)*\+?json$/.test(k)){i=qx.util.ResponseParser.PARSER.json;};if(/^application\/xml$/.test(k)){i=qx.util.ResponseParser.PARSER.xml;};if(/[^\/]+\/[^\+]+\+xml$/.test(l)){i=qx.util.ResponseParser.PARSER.xml;};return i;}}});})();(function(){var a="qx.data.Array",b="qx_lib.data.ListModel",c="changeData",d="String",e="changeHtml";qx.Class.define(b,{extend:qx.core.Object,properties:{html:{check:d,event:e},data:{check:a,event:c}},construct:function(f,g){qx.core.Object.call(this);this.setHtml(f);this.setData(g);}});})();(function(){var a="x",b="Float",c="qx.ui.core.MDragDropScrolling",d="",f="). Must be: 'left', 'right', 'top' or 'bottom'",g="bottom",h="interval",i="dragend",j="scrollbar-",k="drag",l="Invalid edge type given (",m="top",n="left",o="right",p="Integer",q="y";qx.Mixin.define(c,{construct:function(){var r=this;if(this instanceof qx.ui.core.DragDropScrolling){r=this._getWidget();};r.addListener(k,this.__nO,this);r.addListener(i,this.__nP,this);this.__nL=[n,o];this.__nM=[m,g];},properties:{dragScrollThresholdX:{check:p,init:30},dragScrollThresholdY:{check:p,init:30},dragScrollSlowDownFactor:{check:b,init:0.1}},members:{__nN:null,__nL:null,__nM:null,_findScrollableParent:function(s){var t=s;if(t===null){return null;};while(t.getLayoutParent()){t=t.getLayoutParent();if(this._isScrollable(t)){return t;};};return null;},_isScrollable:function(u){return qx.Class.hasMixin(u.constructor,qx.ui.core.scroll.MScrollBarFactory);},_getBounds:function(v){var w=v.getContentLocation();if(v.getScrollAreaContainer){w=v.getScrollAreaContainer().getContentLocation();};return w;},_getEdgeType:function(y,z,x){if((y.left*-1)<=z&&y.left<0){return n;}else if((y.top*-1)<=x&&y.top<0){return m;}else if(y.right<=z&&y.right>0){return o;}else if(y.bottom<=x&&y.bottom>0){return g;}else {return null;};},_getAxis:function(A){if(this.__nL.indexOf(A)!==-1){return a;}else if(this.__nM.indexOf(A)!==-1){return q;}else {throw new Error(l+A+f);};},_getThresholdByEdgeType:function(B){if(this.__nL.indexOf(B)!==-1){return this.getDragScrollThresholdX();}else if(this.__nM.indexOf(B)!==-1){return this.getDragScrollThresholdY();};},_isScrollbarVisible:function(C,D){if(C&&C._isChildControlVisible){return C._isChildControlVisible(j+D);}else {return false;};},_isScrollbarExceedingMaxPos:function(F,H,E){var G=0;if(!F){return true;};G=F.getPosition()+E;return (G>F.getMaximum()||G<0);},_calculateThresholdExceedance:function(J,I){var K=I-Math.abs(J);return J<0?(K*-1):K;},_calculateScrollAmount:function(L,M){return Math.floor(((L/100)*M)*this.getDragScrollSlowDownFactor());},_scrollBy:function(N,T,Q){var S=N.getChildControl(j+T,true);if(!S){return;};var P=S.getBounds(),O=T===a?P.width:P.height,R=this._calculateScrollAmount(O,Q);if(this._isScrollbarExceedingMaxPos(S,T,R)){this.__nN.stop();};S.scrollBy(R);},__nO:function(e){if(this.__nN){this.__nN.stop();};var W=e.getOriginalTarget();if(!W){return;};var U;if(this._isScrollable(W)){U=W;}else {U=this._findScrollableParent(W);};while(U){var Y=this._getBounds(U),V=e.getDocumentLeft(),ba=e.getDocumentTop(),bc={"left":Y.left-V,"right":Y.right-V,"top":Y.top-ba,"bottom":Y.bottom-ba},X=null,bd=d,bb=0;X=this._getEdgeType(bc,this.getDragScrollThresholdX(),this.getDragScrollThresholdY());if(!X){U=this._findScrollableParent(U);continue;};bd=this._getAxis(X);if(this._isScrollbarVisible(U,bd)){bb=this._calculateThresholdExceedance(bc[X],this._getThresholdByEdgeType(X));if(this.__nN){this.__nN.dispose();};this.__nN=new qx.event.Timer(50);this.__nN.addListener(h,function(be,bg,bf){this._scrollBy(be,bg,bf);}.bind(this,U,bd,bb));this.__nN.start();e.stopPropagation();return;}else {U=this._findScrollableParent(U);};};},__nP:function(e){if(this.__nN){this.__nN.stop();};}},destruct:function(){if(this.__nN){this.__nN.dispose();};}});})();(function(){var a="qx.ui.core.DragDropScrolling";qx.Class.define(a,{extend:qx.core.Object,include:[qx.ui.core.MDragDropScrolling],construct:function(b){qx.core.Object.call(this);this._widget=b;},members:{_widget:null,_getWidget:function(){return this._widget||qx.core.Init.getApplication().getRoot();}}});})();(function(){var a="qx.nativeScrollBars",b="qx.ui.core.scroll.MScrollBarFactory";qx.core.Environment.add(a,false);qx.Mixin.define(b,{members:{_createScrollBar:function(c){if(qx.core.Environment.get(a)){return new qx.ui.core.scroll.NativeScrollBar(c);}else {return new qx.ui.core.scroll.ScrollBar(c);};}}});})();(function(){var a='qx.event.type.Event',b="qx.ui.core.scroll.IScrollBar",c="qx.event.type.Data";qx.Interface.define(b,{events:{"scroll":c,"scrollAnimationEnd":a},properties:{orientation:{},maximum:{},position:{},knobFactor:{}},members:{scrollTo:function(e,d){this.assertNumber(e);},scrollBy:function(g,f){this.assertNumber(g);},scrollBySteps:function(i,h){this.assertNumber(i);}}});})();(function(){var a="qx.ui.core.scroll.NativeScrollBar",b="px",c="PositiveNumber",d="frame",f="end",g="box-sizing",h="Integer",i="track",j="browser.name",k="__nR",l="hidden",m="content-box",n="pointerup",o="vertical",p="_applyOrientation",q="scrollAnimationEnd",r="appear",s="pointerdown",t="PositiveInteger",u='qx.event.type.Event',v="mshtml",w="engine.name",x="horizontal",y="Number",z="edge",A="_applyPosition",B="scrollbar",C="_applyMaximum",D="pointermove",E="native",F="scroll";qx.Class.define(a,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(G){qx.ui.core.Widget.call(this);this.addState(E);this.getContentElement().addListener(F,this._onScroll,this);this.addListener(s,this._stopPropagation,this);this.addListener(n,this._stopPropagation,this);this.addListener(D,this._stopPropagation,this);this.addListener(r,this._onAppear,this);this.getContentElement().add(this._getScrollPaneElement());this.getContentElement().setStyle(g,m);if(G!=null){this.setOrientation(G);}else {this.initOrientation();};this.addListener(i,function(e){e.stopPropagation();},this);},events:{scrollAnimationEnd:u},properties:{appearance:{refine:true,init:B},orientation:{check:[x,o],init:x,apply:p},maximum:{check:t,apply:C,init:100},position:{check:y,init:0,apply:A,event:F},singleStep:{check:h,init:20},knobFactor:{check:c,nullable:true}},members:{__nQ:null,__nR:null,__kp:null,__nS:null,_getScrollPaneElement:function(){if(!this.__nR){this.__nR=new qx.html.Element();};return this.__nR;},renderLayout:function(I,top,H,K){var J=qx.ui.core.Widget.prototype.renderLayout.call(this,I,top,H,K);this._updateScrollBar();return J;},_getContentHint:function(){var L=qx.bom.element.Scroll.getScrollbarWidth();return {width:this.__nQ?100:L,maxWidth:this.__nQ?null:L,minWidth:this.__nQ?null:L,height:this.__nQ?L:100,maxHeight:this.__nQ?L:null,minHeight:this.__nQ?L:null};},_applyEnabled:function(N,M){qx.ui.core.Widget.prototype._applyEnabled.call(this,N,M);this._updateScrollBar();},_applyMaximum:function(O){this._updateScrollBar();},_applyPosition:function(P){var content=this.getContentElement();if(this.__nQ){content.scrollToX(P);}else {content.scrollToY(P);};},_applyOrientation:function(S,Q){var R=this.__nQ=S===x;this.set({allowGrowX:R,allowShrinkX:R,allowGrowY:!R,allowShrinkY:!R});if(R){this.replaceState(o,x);}else {this.replaceState(x,o);};this.getContentElement().setStyles({overflowX:R?F:l,overflowY:R?l:F});qx.ui.core.queue.Layout.add(this);},_updateScrollBar:function(){var U=this.__nQ;var V=this.getBounds();if(!V){return;};if(this.isEnabled()){var W=U?V.width:V.height;var T=this.getMaximum()+W;}else {T=0;};if(qx.core.Environment.get(w)==v||qx.core.Environment.get(j)==z){var V=this.getBounds();this.getContentElement().setStyles({left:(U?V.left:(V.left-1))+b,top:(U?(V.top-1):V.top)+b,width:(U?V.width:V.width+1)+b,height:(U?V.height+1:V.height)+b});};this._getScrollPaneElement().setStyles({left:0,top:0,width:(U?T:1)+b,height:(U?1:T)+b});this.updatePosition(this.getPosition());},scrollTo:function(Y,X){this.stopScrollAnimation();if(X){var ba=this.getPosition();this.__nS=new qx.bom.AnimationFrame();this.__nS.on(d,function(bc){var bb=parseInt(bc/X*(Y-ba)+ba);this.updatePosition(bb);},this);this.__nS.on(f,function(){this.setPosition(Math.max(0,Math.min(this.getMaximum(),Y)));this.__nS=null;this.fireEvent(q);},this);this.__nS.startSequence(X);}else {this.updatePosition(Y);};},updatePosition:function(bd){this.setPosition(Math.max(0,Math.min(this.getMaximum(),bd)));},scrollBy:function(bf,be){this.scrollTo(this.getPosition()+bf,be);},scrollBySteps:function(bh,bg){var bi=this.getSingleStep();this.scrollBy(bh*bi,bg);},stopScrollAnimation:function(){if(this.__nS){this.__nS.cancelSequence();this.__nS=null;};},_onScroll:function(e){var bj=this.getContentElement();var bk=this.__nQ?bj.getScrollX():bj.getScrollY();this.setPosition(bk);},_onAppear:function(e){this._applyPosition(this.getPosition());},_stopPropagation:function(e){e.stopPropagation();}},destruct:function(){this._disposeObjects(k);}});})();(function(){var a="slider",b="slideAnimationEnd",c="PositiveNumber",d="changeValue",f="Integer",g="execute",h="track",i="qx.lang.Type.isNumber(value)&&value>=0&&value<=this.getMaximum()",j="_applyKnobFactor",k="visible",l="qx.event.type.Event",m="knob",n="button-begin",o="hidden",p="qx.ui.core.scroll.ScrollBar",q="resize",r="vertical",s="_applyOrientation",t="scrollAnimationEnd",u="_applyPageStep",v="right",w="PositiveInteger",x="horizontal",y="up",z="_applyPosition",A="scrollbar",B="_applyMaximum",C="left",D="button-end",E="down",F="scroll";qx.Class.define(p,{extend:qx.ui.core.Widget,implement:qx.ui.core.scroll.IScrollBar,construct:function(G){qx.ui.core.Widget.call(this);this._createChildControl(n);this._createChildControl(a).addListener(q,this._onResizeSlider,this);this._createChildControl(D);if(G!=null){this.setOrientation(G);}else {this.initOrientation();};this.addListener(h,function(e){e.stopPropagation();},this);},events:{"scrollAnimationEnd":l},properties:{appearance:{refine:true,init:A},orientation:{check:[x,r],init:x,apply:s},maximum:{check:w,apply:B,init:100},position:{check:i,init:0,apply:z,event:F},singleStep:{check:f,init:20},pageStep:{check:f,init:10,apply:u},knobFactor:{check:c,apply:j,nullable:true}},members:{__nT:2,__nU:0,_computeSizeHint:function(){var H=qx.ui.core.Widget.prototype._computeSizeHint.call(this);if(this.getOrientation()===x){this.__nU=H.minWidth;H.minWidth=0;}else {this.__nU=H.minHeight;H.minHeight=0;};return H;},renderLayout:function(M,top,J,I){var L=qx.ui.core.Widget.prototype.renderLayout.call(this,M,top,J,I);var K=this.getOrientation()===x;if(this.__nU>=(K?J:I)){this.getChildControl(n).setVisibility(o);this.getChildControl(D).setVisibility(o);}else {this.getChildControl(n).setVisibility(k);this.getChildControl(D).setVisibility(k);};return L;},_createChildControlImpl:function(P,O){var N;switch(P){case a:N=new qx.ui.core.scroll.ScrollSlider();N.setPageStep(100);N.setFocusable(false);N.addListener(d,this._onChangeSliderValue,this);N.addListener(b,this._onSlideAnimationEnd,this);this._add(N,{flex:1});break;case n:N=new qx.ui.form.RepeatButton();N.setFocusable(false);N.addListener(g,this._onExecuteBegin,this);this._add(N);break;case D:N=new qx.ui.form.RepeatButton();N.setFocusable(false);N.addListener(g,this._onExecuteEnd,this);this._add(N);break;};return N||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,P);},_applyMaximum:function(Q){this.getChildControl(a).setMaximum(Q);},_applyPosition:function(R){this.getChildControl(a).setValue(R);},_applyKnobFactor:function(S){this.getChildControl(a).setKnobFactor(S);},_applyPageStep:function(T){this.getChildControl(a).setPageStep(T);},_applyOrientation:function(W,U){var V=this._getLayout();if(V){V.dispose();};if(W===x){this._setLayout(new qx.ui.layout.HBox());this.setAllowStretchX(true);this.setAllowStretchY(false);this.replaceState(r,x);this.getChildControl(n).replaceState(y,C);this.getChildControl(D).replaceState(E,v);}else {this._setLayout(new qx.ui.layout.VBox());this.setAllowStretchX(false);this.setAllowStretchY(true);this.replaceState(x,r);this.getChildControl(n).replaceState(C,y);this.getChildControl(D).replaceState(v,E);};this.getChildControl(a).setOrientation(W);},scrollTo:function(Y,X){this.getChildControl(a).slideTo(Y,X);},scrollBy:function(bb,ba){this.getChildControl(a).slideBy(bb,ba);},scrollBySteps:function(bd,bc){var be=this.getSingleStep();this.getChildControl(a).slideBy(bd*be,bc);},updatePosition:function(bf){this.getChildControl(a).updatePosition(bf);},stopScrollAnimation:function(){this.getChildControl(a).stopSlideAnimation();},_onExecuteBegin:function(e){this.scrollBy(-this.getSingleStep(),50);},_onExecuteEnd:function(e){this.scrollBy(this.getSingleStep(),50);},_onSlideAnimationEnd:function(){this.fireEvent(t);},_onChangeSliderValue:function(e){this.setPosition(e.getData());},_onResizeSlider:function(e){var bg=this.getChildControl(a).getChildControl(m);var bj=bg.getSizeHint();var bh=false;var bi=this.getChildControl(a).getInnerSize();if(this.getOrientation()==r){if(bi.height0?1:br<0?-1:0;this.slideBy(bp*this.getSingleStep());e.stop();},_onKeyPress:function(e){var bt=this.getOrientation()===N;var bs=bt?l:t;var forward=bt?D:m;switch(e.getKeyIdentifier()){case forward:this.slideForward();break;case bs:this.slideBack();break;case q:this.slidePageForward(100);break;case g:this.slidePageBack(100);break;case H:this.slideToBegin(200);break;case v:this.slideToEnd(200);break;default:return;};e.stop();},_onPointerDown:function(e){if(this.__oa){return;};var bw=this.__nQ;var bu=this.getChildControl(P);var bv=bw?G:L;var bA=bw?e.getDocumentLeft():e.getDocumentTop();var bC=this.getDecorator();bC=qx.theme.manager.Decoration.getInstance().resolve(bC);if(bw){var bz=bC?bC.getInsets().left:0;var by=(this.getPaddingLeft()||0)+bz;}else {var bz=bC?bC.getInsets().top:0;var by=(this.getPaddingTop()||0)+bz;};var bB=this.__nW=qx.bom.element.Location.get(this.getContentElement().getDomElement())[bv];bB+=by;var bx=this.__nX=qx.bom.element.Location.get(bu.getContentElement().getDomElement())[bv];if(e.getTarget()===bu){this.__oa=true;if(!this.__of){this.__of=new qx.event.Timer(100);this.__of.addListener(r,this._fireValue,this);};this.__of.start();this.__ob=bA+bB-bx;bu.addState(c);}else {this.__oc=true;this.__od=bA<=bx?-1:1;this.__oj(e);this._onInterval();if(!this.__de){this.__de=new qx.event.Timer(100);this.__de.addListener(r,this._onInterval,this);};this.__de.start();};this.addListener(w,this._onPointerMove);this.capture();e.stopPropagation();},_onPointerUp:function(e){if(this.__oa){this.releaseCapture();delete this.__oa;this.__of.stop();this._fireValue();delete this.__ob;this.getChildControl(P).removeState(c);if(e.getType()===B){var bE;var bF;var bD;if(this.__nQ){bE=e.getDocumentLeft()-(this._valueToPosition(this.getValue())+this.__nW);bD=qx.bom.element.Location.get(this.getContentElement().getDomElement())[L];bF=e.getDocumentTop()-(bD+this.getChildControl(P).getBounds().top);}else {bE=e.getDocumentTop()-(this._valueToPosition(this.getValue())+this.__nW);bD=qx.bom.element.Location.get(this.getContentElement().getDomElement())[G];bF=e.getDocumentLeft()-(bD+this.getChildControl(P).getBounds().left);};if(bF<0||bF>this.__nY||bE<0||bE>this.__nY){this.getChildControl(P).removeState(b);};};}else if(this.__oc){this.__de.stop();this.releaseCapture();delete this.__oc;delete this.__od;delete this.__oe;};this.removeListener(w,this._onPointerMove);if(e.getType()===B){e.stopPropagation();};},_onPointerMove:function(e){if(this.__oa){var bH=this.__nQ?e.getDocumentLeft():e.getDocumentTop();var bG=bH-this.__ob;this.slideTo(this._positionToValue(bG));}else if(this.__oc){this.__oj(e);};e.stopPropagation();},_onInterval:function(e){var bI=this.getValue()+(this.__od*this.getPageStep());if(bIthis.getMaximum()){bI=this.getMaximum();};var bJ=this.__od==-1;if((bJ&&bI<=this.__oe)||(!bJ&&bI>=this.__oe)){bI=this.__oe;};this.slideTo(bI);},_onUpdate:function(e){var bL=this.getInnerSize();var bM=this.getChildControl(P).getBounds();var bK=this.__nQ?E:x;this._updateKnobSize();this.__oi=bL[bK]-bM[bK];this.__nY=bM[bK];this._updateKnobPosition();},__nQ:false,__oi:0,__oj:function(e){var bN=this.__nQ;var bU=bN?e.getDocumentLeft():e.getDocumentTop();var bX=this.__nW;var bO=this.__nX;var bY=this.__nY;var bV=bU-bX;if(bU>=bO){bV-=bY;};var bR=this._positionToValue(bV);var bP=this.getMinimum();var bQ=this.getMaximum();if(bRbQ){bR=bQ;}else {var bW=this.getValue();var bT=this.getPageStep();var bS=this.__od<0?I:Q;bR=bW+(Math[bS]((bR-bW)/bT)*bT);};if(this.__oe==null||(this.__od==-1&&bR<=this.__oe)||(this.__od==1&&bR>=this.__oe)){this.__oe=bR;};},_positionToValue:function(cb){var ca=this.__oi;if(ca==null||ca==0){return 0;};var cd=cb/ca;if(cd<0){cd=0;}else if(cd>1){cd=1;};var cc=this.getMaximum()-this.getMinimum();return this.getMinimum()+Math.round(cc*cd);},_valueToPosition:function(ch){var ce=this.__oi;if(ce==null){return 0;};var cf=this.getMaximum()-this.getMinimum();if(cf==0){return 0;};var ch=ch-this.getMinimum();var cg=ch/cf;if(cg<0){cg=0;}else if(cg>1){cg=1;};return Math.round(ce*cg);},_updateKnobPosition:function(){this._setKnobPosition(this._valueToPosition(this.getValue()));},_setKnobPosition:function(ck){var ci=this.getChildControl(P);var cj=this.getDecorator();cj=qx.theme.manager.Decoration.getInstance().resolve(cj);var content=ci.getContentElement();if(this.__nQ){if(cj&&cj.getPadding()){ck+=cj.getPadding().left;};ck+=this.getPaddingLeft()||0;content.setStyle(G,ck+d,true);}else {if(cj&&cj.getPadding()){ck+=cj.getPadding().top;};ck+=this.getPaddingTop()||0;content.setStyle(L,ck+d,true);};},_updateKnobSize:function(){var cm=this.getKnobFactor();if(cm==null){return;};var cl=this.getInnerSize();if(cl==null){return;};if(this.__nQ){this.getChildControl(P).setWidth(Math.round(cm*cl.width));}else {this.getChildControl(P).setHeight(Math.round(cm*cl.height));};},slideToBegin:function(cn){this.slideTo(this.getMinimum(),cn);},slideToEnd:function(co){this.slideTo(this.getMaximum(),co);},slideForward:function(){this.slideBy(this.getSingleStep());},slideBack:function(){this.slideBy(-this.getSingleStep());},slidePageForward:function(cp){this.slideBy(this.getPageStep(),cp);},slidePageBack:function(cq){this.slideBy(-this.getPageStep(),cq);},slideBy:function(cs,cr){this.slideTo(this.getValue()+cs,cr);},slideTo:function(cu,ct){this.stopSlideAnimation();if(ct){this.__ol(cu,ct);}else {this.updatePosition(cu);};},updatePosition:function(cv){this.setValue(this.__ok(cv));},stopSlideAnimation:function(){if(this.__nS){this.__nS.cancelSequence();this.__nS=null;};},__ok:function(cw){if(cwthis.getMaximum()){cw=this.getMaximum();}else {cw=this.getMinimum()+Math.round((cw-this.getMinimum())/this.getSingleStep())*this.getSingleStep();};return cw;},__ol:function(cy,cx){cy=this.__ok(cy);var cz=this.getValue();this.__nS=new qx.bom.AnimationFrame();this.__nS.on(i,function(cA){this.setValue(parseInt(cA/cx*(cy-cz)+cz));},this);this.__nS.on(j,function(){this.setValue(cy);this.__nS=null;this.fireEvent(O);},this);this.__nS.startSequence(cx);},_applyOrientation:function(cD,cC){var cB=this.getChildControl(P);this.__nQ=cD===N;if(this.__nQ){this.removeState(C);cB.removeState(C);this.addState(N);cB.addState(N);cB.setLayoutProperties({top:0,right:null,bottom:0});}else {this.removeState(N);cB.removeState(N);this.addState(C);cB.addState(C);cB.setLayoutProperties({right:0,bottom:null,left:0});};this._updateKnobPosition();},_applyKnobFactor:function(cF,cE){if(cF!=null){this._updateKnobSize();}else {if(this.__nQ){this.getChildControl(P).resetWidth();}else {this.getChildControl(P).resetHeight();};};},_applyValue:function(cH,cG){if(cH!=null){this._updateKnobPosition();if(this.__oa){this.__oh=[cH,cG];}else {this.fireEvent(h,qx.event.type.Data,[cH,cG]);};}else {this.resetValue();};},_fireValue:function(){if(!this.__oh){return;};var cI=this.__oh;this.__oh=null;this.fireEvent(h,qx.event.type.Data,cI);},_applyMinimum:function(cK,cJ){if(this.getValue()cM){this.setValue(cM);};this._updateKnobPosition();}}});})();(function(){var a="dblclick",b="qx.ui.core.scroll.ScrollSlider",c="horizontal",d="keypress",f="roll",g="knob";qx.Class.define(b,{extend:qx.ui.form.Slider,construct:function(h){qx.ui.form.Slider.call(this,h);this.removeListener(d,this._onKeyPress);this.removeListener(f,this._onRoll);},members:{_createChildControlImpl:function(k,j){var i;switch(k){case g:i=qx.ui.form.Slider.prototype._createChildControlImpl.call(this,k);i.addListener(a,function(e){e.stopPropagation();});};return i||qx.ui.form.Slider.prototype._createChildControlImpl.call(this,k);},getSizeHint:function(l){var m=qx.ui.form.Slider.prototype.getSizeHint.call(this);if(this.getOrientation()===c){m.width=0;}else {m.height=0;};return m;}}});})();(function(){var a="toolTipText",b="icon",c="label",d="qx.ui.core.MExecutable",f="enabled",g="value",h="qx.event.type.Event",j="execute",k="_applyCommand",l="qx.ui.command.Command",m="menu",n="changeCommand";qx.Mixin.define(d,{events:{"execute":h},properties:{command:{check:l,apply:k,event:n,nullable:true}},members:{__om:null,__on:false,__oo:null,_bindableProperties:[f,c,b,a,g,m],execute:function(){var o=this.getCommand();if(o){if(this.__on){this.__on=false;}else {this.__on=true;o.execute(this);};};this.fireEvent(j);},__op:function(e){if(this.__on){this.__on=false;return;};if(this.isEnabled()){this.__on=true;this.execute();};},_applyCommand:function(r,p){if(p!=null){p.removeListenerById(this.__oo);};if(r!=null){this.__oo=r.addListener(j,this.__op,this);};var q=this.__om;if(q==null){this.__om=q={};};var u;for(var i=0;i0){E=D[i].getSizeHint();F[i]={min:E.minHeight,value:I[i],max:E.maxHeight,flex:L};};};var B=N.computeFlexOffsets(F,G,P);for(i in B){y=B[i].offset;I[i]+=y;P+=y;};};var top=D[0].getMarginTop();if(P0){if(T){top+=x+M;this._renderSeparator(T,{top:top+R.top,left:R.left,height:Q,width:O});top+=Q+M+S.getMarginTop();}else {top+=N.collapseMargins(M,x,S.getMarginTop());};};S.renderLayout(V+R.left,top+R.top,J,z);top+=z;x=S.getMarginBottom();};},_computeSizeHint:function(){if(this._invalidChildrenCache){this.__lx();};var W=qx.ui.layout.Util;var bl=this.__gP;var ba=0,bb=0,bj=0;var bc=0,bd=0;var bh,X,bk;for(var i=0,l=bl.length;ibd){bd=X.width+bk;};if((X.minWidth+bk)>bc){bc=X.minWidth+bk;};};ba+=bj;var bf=this.getSpacing();var bi=this.getSeparator();if(bi){var be=W.computeVerticalSeparatorGaps(bl,bf,bi);}else {var be=W.computeVerticalGaps(bl,bf,true);};return {minHeight:ba+be,height:bb+be,minWidth:bc,width:bd};}},destruct:function(){this.__ou=this.__lv=this.__gP=null;}});})();(function(){var a="_applyStatusBarVisible",b="columnVisibilityMenuCreateStart",c="function",d="blur",f="qx.ui.table.Table",g="Boolean",h="_applyFocusCellOnPointerMove",k="columnVisibilityMenuCreateEnd",m="changeVisible",n="verticalScrollBarChanged",o="_applyMetaColumnCounts",p="PageUp",q="focus",r="changeDataRowRenderer",s="dataChanged",t="changeHeaderCellHeight",u="Escape",v="A",w="changeSelectionModel",y="__de",z="Left",A="Down",B="Integer",C="_applyHeaderCellHeight",D="qx.event.type.Data",E="statusbar",F="Function",G="menu",H="qx.ui.table.ITableModel",I="column-button",J="_applySelectionModel",K="changeLocale",L="__ov",M="menu-button",N="_applyResetSelectionOnHeaderTap",O="_applyAdditionalStatusBarText",P="__oF",Q="table",R="_applyColumnVisibilityButtonVisible",S="changeTableModel",T="qx.event.type.Event",U="tableWidthChanged",V="changeSelection",W="_applyHeaderCellsVisible",X="Object",Y="_applyShowCellFocusIndicator",bQ="resize",bR="changeScrollY",bS="_applyTableModel",bM="End",bN="_applyKeepFirstVisibleRowComplete",bO="widthChanged",bP="one of one row",bW="Home",bX="_applyRowHeight",bY="F2",cs="appear",bT="visibilityChanged",bU="qx.dynlocale",bV="%1 rows",bJ="qx.ui.table.selection.Model",cq='"',bL="one row",cc="PageDown",cd="%1 of %2 rows",bK="keypress",ca="changeRowHeight",ck="Up",cb="Enter",ce="Number",cf="metaDataChanged",cg="__oE",cl="__ow",cm="header",cp="__oD",cr="_applyContextMenuFromDataCellsOnly",ch="qx.ui.table.IRowRenderer",ci="Right",cj="orderChanged",cn="qx.ui.table.pane.CellEvent",co="Space";qx.Class.define(f,{extend:qx.ui.core.Widget,include:qx.ui.core.MDragDropScrolling,construct:function(ct,cv){qx.ui.core.Widget.call(this);if(!cv){cv={};};if(cv.initiallyHiddenColumns){this.setInitiallyHiddenColumns(cv.initiallyHiddenColumns);};if(cv.selectionManager){this.setNewSelectionManager(cv.selectionManager);};if(cv.selectionModel){this.setNewSelectionModel(cv.selectionModel);};if(cv.tableColumnModel){this.setNewTableColumnModel(cv.tableColumnModel);};if(cv.tablePane){this.setNewTablePane(cv.tablePane);};if(cv.tablePaneHeader){this.setNewTablePaneHeader(cv.tablePaneHeader);};if(cv.tablePaneScroller){this.setNewTablePaneScroller(cv.tablePaneScroller);};if(cv.tablePaneModel){this.setNewTablePaneModel(cv.tablePaneModel);};if(cv.columnMenu){this.setNewColumnMenu(cv.columnMenu);};this._setLayout(new qx.ui.layout.VBox());this.__ov=new qx.ui.container.Composite(new qx.ui.layout.HBox());this._add(this.__ov,{flex:1});this.setDataRowRenderer(new qx.ui.table.rowrenderer.Default(this));this.__ow=this.getNewSelectionManager()(this);this.setSelectionModel(this.getNewSelectionModel()(this));this.setTableModel(ct||this.getEmptyTableModel());this.setMetaColumnCounts([-1]);this.setTabIndex(1);this.addListener(bK,this._onKeyPress);this.addListener(q,this._onFocusChanged);this.addListener(d,this._onFocusChanged);var cu=new qx.ui.core.Widget().set({height:0});this._add(cu);cu.addListener(bQ,this._onResize,this);this.__ox=null;this.__oy=null;if(qx.core.Environment.get(bU)){qx.locale.Manager.getInstance().addListener(K,this._onChangeLocale,this);};this.initStatusBarVisible();ct=this.getTableModel();if(ct.init&&typeof (ct.init)==c){ct.init(this);};},events:{"columnVisibilityMenuCreateStart":D,"columnVisibilityMenuCreateEnd":D,"tableWidthChanged":T,"verticalScrollBarChanged":D,"cellTap":cn,"cellDbltap":cn,"cellContextmenu":cn,"dataEdited":D},statics:{__oz:{cellTap:1,cellDbltap:1,cellContextmenu:1}},properties:{appearance:{refine:true,init:Q},focusable:{refine:true,init:true},minWidth:{refine:true,init:50},initiallyHiddenColumns:{init:null},selectable:{refine:true,init:false},selectionModel:{check:bJ,apply:J,event:w},tableModel:{check:H,apply:bS,event:S},rowHeight:{check:ce,init:20,apply:bX,event:ca,themeable:true},forceLineHeight:{check:g,init:true},headerCellsVisible:{check:g,init:true,apply:W,themeable:true},headerCellHeight:{check:B,init:16,apply:C,event:t,nullable:true,themeable:true},statusBarVisible:{check:g,init:true,apply:a},additionalStatusBarText:{nullable:true,init:null,apply:O},columnVisibilityButtonVisible:{check:g,init:true,apply:R,themeable:true},metaColumnCounts:{check:X,apply:o},focusCellOnPointerMove:{check:g,init:false,apply:h},rowFocusChangeModifiesSelection:{check:g,init:true},showCellFocusIndicator:{check:g,init:true,apply:Y},contextMenuFromDataCellsOnly:{check:g,init:true,apply:cr},keepFirstVisibleRowComplete:{check:g,init:true,apply:bN},alwaysUpdateCells:{check:g,init:false},resetSelectionOnHeaderTap:{check:g,init:true,apply:N},dataRowRenderer:{check:ch,init:null,nullable:true,event:r},modalCellEditorPreOpenFunction:{check:F,init:null,nullable:true},newColumnMenu:{check:F,init:function(){return new qx.ui.table.columnmenu.Button();}},newSelectionManager:{check:F,init:function(cw){return new qx.ui.table.selection.Manager(cw);}},newSelectionModel:{check:F,init:function(cx){return new qx.ui.table.selection.Model(cx);}},newTableColumnModel:{check:F,init:function(cy){return new qx.ui.table.columnmodel.Basic(cy);}},newTablePane:{check:F,init:function(cz){return new qx.ui.table.pane.Pane(cz);}},newTablePaneHeader:{check:F,init:function(cA){return new qx.ui.table.pane.Header(cA);}},newTablePaneScroller:{check:F,init:function(cB){return new qx.ui.table.pane.Scroller(cB);}},newTablePaneModel:{check:F,init:function(cC){return new qx.ui.table.pane.Model(cC);}}},members:{__ox:null,__oy:null,__ov:null,__ow:null,__oA:null,__oB:null,__oC:null,__oD:null,__oE:null,__oF:null,__oG:null,__de:null,_createChildControlImpl:function(cG,cF){var cD;switch(cG){case E:cD=new qx.ui.basic.Label();cD.set({allowGrowX:true});this._add(cD);break;case I:cD=this.getNewColumnMenu()();cD.set({focusable:false});var cE=cD.factory(G,{table:this});cE.addListener(cs,this._initColumnMenu,this);break;};return cD||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,cG);},_applySelectionModel:function(cI,cH){this.__ow.setSelectionModel(cI);if(cH!=null){cH.removeListener(V,this._onSelectionChanged,this);};cI.addListener(V,this._onSelectionChanged,this);},_applyRowHeight:function(cL,cK){var cJ=this._getPaneScrollerArr();for(var i=0;idj){var dr=qx.event.Registration.getManager(dg[0]);for(var di in qx.ui.table.Table.__oz){dl[di]={};dl[di].capture=dr.getListeners(dg[0],di,true);dl[di].bubble=dr.getListeners(dg[0],di,false);};};this._cleanUpMetaColumns(dn.length);var dm=0;for(var i=0;idg.length){var ds=this.getTableColumnModel();for(var i=dg.length;i0){var dh=dl[di].capture;for(var j=0;j0){var dv=dl[di].bubble;for(var j=0;j=dO;i-- ){dN[i].destroy();};};},_onChangeLocale:function(dP){this.updateContent();this._updateStatusBar();},_onChangeTheme:function(){qx.ui.core.Widget.prototype._onChangeTheme.call(this);this.getDataRowRenderer().initThemeValues();this.updateContent();this._updateStatusBar();},_onSelectionChanged:function(dR){var dQ=this._getPaneScrollerArr();for(var i=0;i=ea&&this.__oy<(ea+ed)){this.setFocusedCell();};};for(var i=0;i0){this.getSelectionModel().setSelectionInterval(0,el-1);};break;default:ek=false;break;};}else {switch(eo){case co:this.__ow.handleSelectKeyDown(this.__oy,ep);break;case bY:case cb:this.startEditing();ek=true;break;case bW:this.setFocusedCell(this.__ox,0,true);break;case bM:var el=this.getTableModel().getRowCount();this.setFocusedCell(this.__ox,el-1,true);break;case z:this.moveFocusedCell(-1,0);break;case ci:this.moveFocusedCell(1,0);break;case ck:this.moveFocusedCell(0,-1);break;case A:this.moveFocusedCell(0,1);break;case p:case cc:var ej=this.getPaneScroller(0);var em=ej.getTablePane();var ei=this.getRowHeight();var eh=(eo==p)?-1:1;el=em.getVisibleRowCount()-1;ej.setScrollY(ej.getScrollY()+eh*el*ei);this.moveFocusedCell(0,eh*el);break;default:ek=false;};};};if(en!=this.__oy&&this.getRowFocusChangeModifiesSelection()){this.__ow.handleMoveKeyDown(this.__oy,ep);};if(ek){ep.preventDefault();ep.stopPropagation();};},_onFocusChanged:function(er){var eq=this._getPaneScrollerArr();for(var i=0;i=fg.left&&fh<=fg.right){return i;};};return -1;},_getMetaColumnAtColumnX:function(fj){var fk=this.getMetaColumnCounts();var fl=0;for(var i=0;i=0){if(fn==0){fp=this.trn(bL,bV,fo,fo);}else {fp=this.trn(bP,cd,fo,fn,fo);};};if(this.__oA){if(fp){fp+=this.__oA;}else {fp=this.__oA;};};if(fp){this.getChildControl(E).setValue(fp);};};},_updateScrollerWidths:function(){var fq=this._getPaneScrollerArr();for(var i=0;i=0;i+=A){C=D[i];if(C.isEnabled()&&!C.isAnonymous()&&C.isVisible()){return C;};};if(E){i=i==length?0:length-1;for(;i!=B;i+=A){C=D[i];if(C.isEnabled()&&!C.isAnonymous()&&C.isVisible()){return C;};};};return null;},_isInMenu:function(F){while(F){if(F instanceof qx.ui.menu.Menu){return true;};F=F.getLayoutParent();};return false;},_isMenuOpener:function(H){var G=this.__lq;for(var i=0;i=0;i-- ){N[i].exclude();};};},getActiveMenu:function(){var O=this.__lq;return O.length>0?O[O.length-1]:null;},scheduleOpen:function(P){this.cancelClose(P);if(P.isVisible()){if(this.__oL){this.cancelOpen(this.__oL);};}else if(this.__oL!=P){this.__oL=P;this.__oJ.restartWith(P.getOpenInterval());};},scheduleClose:function(Q){this.cancelOpen(Q);if(!Q.isVisible()){if(this.__oM){this.cancelClose(this.__oM);};}else if(this.__oM!=Q){this.__oM=Q;this.__oK.restartWith(Q.getCloseInterval());};},cancelOpen:function(R){if(this.__oL==R){this.__oJ.stop();this.__oL=null;};},cancelClose:function(S){if(this.__oM==S){this.__oK.stop();this.__oM=null;};},_onOpenInterval:function(e){this.__oJ.stop();this.__oL.open();this.__oL=null;},_onCloseInterval:function(e){this.__oK.stop();this.__oM.exclude();this.__oM=null;},preventContextMenuOnce:function(){qx.event.Registration.addListener(document.body,g,this.__oN,this,true);},__oN:function(e){var T=e.getTarget();T=qx.ui.core.Widget.getWidgetByElement(T,true);if(this._isInMenu(T)){e.stopPropagation();e.preventDefault();};qx.event.Registration.removeListener(document.body,g,this.__oN,this,true);},_onPointerDown:function(e){var U=e.getTarget();U=qx.ui.core.Widget.getWidgetByElement(U,true);if(U==null){this.hideAll();return;};if(U.getMenu&&U.getMenu()&&U.getMenu().isVisible()){return;};if(this.__lq.length>0&&!this._isInMenu(U)){this.hideAll();};},__oO:{"Enter":1,"Space":1},__oP:{"Escape":1,"Up":1,"Down":1,"Left":1,"Right":1},_onKeyUpDown:function(e){var V=this.getActiveMenu();if(!V){return;};var W=e.getKeyIdentifier();if(this.__oP[W]||(this.__oO[W]&&V.getSelectedButton())){e.stopPropagation();};},_onKeyPress:function(e){var ba=this.getActiveMenu();if(!ba){return;};var X=e.getKeyIdentifier();var bc=this.__oP[X];var Y=this.__oO[X];if(bc){switch(X){case d:this._onKeyPressUp(ba);break;case s:this._onKeyPressDown(ba);break;case q:this._onKeyPressLeft(ba);break;case t:this._onKeyPressRight(ba);break;case m:this.hideAll();break;};e.stopPropagation();e.preventDefault();}else if(Y){var bb=ba.getSelectedButton();if(bb){switch(X){case c:this._onKeyPressEnter(ba,bb,e);break;case w:this._onKeyPressSpace(ba,bb,e);break;};e.stopPropagation();e.preventDefault();};};},_onKeyPressUp:function(bh){var bd=bh.getSelectedButton();var be=bh.getChildren();var bf=bd?bh.indexOf(bd)-1:be.length-1;var bg=this._getChild(bh,bf,-1,true);if(bg){bh.setSelectedButton(bg);}else {bh.resetSelectedButton();};},_onKeyPressDown:function(bi){var bj=bi.getSelectedButton();var bl=bj?bi.indexOf(bj)+1:0;var bk=this._getChild(bi,bl,1,true);if(bk){bi.setSelectedButton(bk);}else {bi.resetSelectedButton();};},_onKeyPressLeft:function(bo){var bq=bo.getOpener();if(!bq){return;};if(bq instanceof qx.ui.menu.AbstractButton){var bn=bq.getLayoutParent();bn.resetOpenedButton();bn.setSelectedButton(bq);}else if(bq instanceof qx.ui.menubar.Button){var br=bq.getMenuBar().getMenuButtons();var bm=br.indexOf(bq);if(bm===-1){return;};var bs=null;var length=br.length;for(var i=1;i<=length;i++ ){var bp=br[(bm-i+length)%length];if(bp.isEnabled()&&bp.isVisible()){bs=bp;break;};};if(bs&&bs!=bq){bs.open(true);};};},_onKeyPressRight:function(bw){var bu=bw.getSelectedButton();if(bu){var bt=bu.getMenu();if(bt){bw.setOpenedButton(bu);var bB=this._getChild(bt,0,1);if(bB){bt.setSelectedButton(bB);};return;};}else if(!bw.getOpenedButton()){var bB=this._getChild(bw,0,1);if(bB){bw.setSelectedButton(bB);if(bB.getMenu()){bw.setOpenedButton(bB);};return;};};var by=bw.getOpener();if(by instanceof qx.ui.menu.Button&&bu){while(by){by=by.getLayoutParent();if(by instanceof qx.ui.menu.Menu){by=by.getOpener();if(by instanceof qx.ui.menubar.Button){break;};}else {break;};};if(!by){return;};};if(by instanceof qx.ui.menubar.Button){var bz=by.getMenuBar().getMenuButtons();var bv=bz.indexOf(by);if(bv===-1){return;};var bA=null;var length=bz.length;for(var i=1;i<=length;i++ ){var bx=bz[(bv+i)%length];if(bx.isEnabled()&&bx.isVisible()){bA=bx;break;};};if(bA&&bA!=by){bA.open(true);};};},_onKeyPressEnter:function(bC,bD,e){if(bD.hasListener(b)){var bE=e.clone();bE.setBubbles(false);bE.setTarget(bD);bD.dispatchEvent(bE);};this.hideAll();},_onKeyPressSpace:function(bF,bG,e){if(bG.hasListener(b)){var bH=e.clone();bH.setBubbles(false);bH.setTarget(bG);bG.dispatchEvent(bH);};},_onRoll:function(e){var bI=e.getTarget();bI=qx.ui.core.Widget.getWidgetByElement(bI,true);if(this.__lq.length>0&&!this._isInMenu(bI)&&!this._isMenuOpener(bI)&&!e.getMomentum()){this.hideAll();};}},destruct:function(){var bK=qx.event.Registration;var bJ=document.body;bK.removeListener(window.document.documentElement,n,this._onPointerDown,this,true);bK.removeListener(bJ,p,this._onKeyUpDown,this,true);bK.removeListener(bJ,u,this._onKeyUpDown,this,true);bK.removeListener(bJ,b,this._onKeyPress,this,true);this._disposeObjects(j,l);this._disposeArray(f);}});})();(function(){var a="indexOf",b="addAfter",c="add",d="addBefore",e="_",f="addAt",g="hasChildren",h="removeAt",i="removeAll",j="getChildren",k="remove",l="qx.ui.core.MRemoteChildrenHandling";qx.Mixin.define(l,{members:{__oQ:function(q,m,o,n){var p=this.getChildrenContainer();if(p===this){q=e+q;};return (p[q])(m,o,n);},getChildren:function(){return this.__oQ(j);},hasChildren:function(){return this.__oQ(g);},add:function(s,r){return this.__oQ(c,s,r);},remove:function(t){return this.__oQ(k,t);},removeAll:function(){return this.__oQ(i);},indexOf:function(u){return this.__oQ(a,u);},addAt:function(x,v,w){this.__oQ(f,x,v,w);},addBefore:function(y,A,z){this.__oQ(d,y,A,z);},addAfter:function(D,B,C){this.__oQ(b,D,B,C);},removeAt:function(E){return this.__oQ(h,E);}}});})();(function(){var a="Boolean",b="pointerover",c="qx.ui.core.Widget",d="excluded",f="selected",g="Integer",h="slidebar",j="menu",k="visible",l="_applySelectedButton",m="_applySpacingY",n="resize",o="_blocker",p="_applyCloseInterval",q="_applyBlockerColor",r="The menu instance needs a configured 'opener' widget!",s="_applyIconColumnWidth",t="qx.ui.menu.Menu",u="_applyOpenedButton",v="Color",w="Number",x="_applyArrowColumnWidth",y="Unknown target: ",z="_applySpacingX",A="_applyBlockerOpacity",B="Could not open menu instance because 'opener' widget is not visible",C="_applyOpenInterval",D="pointerout";qx.Class.define(t,{extend:qx.ui.core.Widget,include:[qx.ui.core.MPlacement,qx.ui.core.MRemoteChildrenHandling],construct:function(){qx.ui.core.Widget.call(this);this._setLayout(new qx.ui.menu.Layout);var E=this.getApplicationRoot();E.add(this);this.addListener(b,this._onPointerOver);this.addListener(D,this._onPointerOut);this.addListener(n,this._onResize,this);E.addListener(n,this._onResize,this);this._blocker=new qx.ui.core.Blocker(E);this.initVisibility();this.initKeepFocus();this.initKeepActive();},properties:{appearance:{refine:true,init:j},allowGrowX:{refine:true,init:false},allowGrowY:{refine:true,init:false},visibility:{refine:true,init:d},keepFocus:{refine:true,init:true},keepActive:{refine:true,init:true},spacingX:{check:g,apply:z,init:0,themeable:true},spacingY:{check:g,apply:m,init:0,themeable:true},iconColumnWidth:{check:g,init:0,themeable:true,apply:s},arrowColumnWidth:{check:g,init:0,themeable:true,apply:x},blockerColor:{check:v,init:null,nullable:true,apply:q,themeable:true},blockerOpacity:{check:w,init:1,apply:A,themeable:true},selectedButton:{check:c,nullable:true,apply:l},openedButton:{check:c,nullable:true,apply:u},opener:{check:c,nullable:true},openInterval:{check:g,themeable:true,init:250,apply:C},closeInterval:{check:g,themeable:true,init:250,apply:p},blockBackground:{check:a,themeable:true,init:false}},members:{__oR:null,__oS:null,_blocker:null,open:function(){if(this.getOpener()!=null){var F=this.placeToWidget(this.getOpener(),true);if(F){this.__oU();this.show();this._placementTarget=this.getOpener();}else {this.warn(B);};}else {this.warn(r);};},openAtPointer:function(e){this.placeToPointer(e);this.__oU();this.show();this._placementTarget={left:e.getDocumentLeft(),top:e.getDocumentTop()};},openAtPoint:function(G){this.placeToPoint(G);this.__oU();this.show();this._placementTarget=G;},addSeparator:function(){this.add(new qx.ui.menu.Separator);},getColumnSizes:function(){return this._getMenuLayout().getColumnSizes();},getSelectables:function(){var H=[];var I=this.getChildren();for(var i=0;ibm){this._assertSlideBar(function(){this.setHeight(bm-top);});}else {this.setHeight(null);};},_assertSlideBar:function(bp){if(this.hasChildControl(h)){return bp.call(this);};this.__oS=bp;qx.ui.core.queue.Widget.add(this);},syncWidget:function(bq){this.getChildControl(h);if(this.__oS){this.__oS.call(this);delete this.__oS;};},_onResize:function(){if(this.isVisible()){var br=this._placementTarget;if(!br){return;}else if(br instanceof qx.ui.core.Widget){this.placeToWidget(br,true);}else if(br.top!==undefined){this.placeToPoint(br);}else {throw new Error(y+br);};this.__oU();};},_onPointerOver:function(e){var bt=qx.ui.menu.Manager.getInstance();bt.cancelClose(this);var bu=e.getTarget();if(bu.isEnabled()&&bu instanceof qx.ui.menu.AbstractButton){this.setSelectedButton(bu);var bs=bu.getMenu&&bu.getMenu();if(bs){bs.setOpener(bu);bt.scheduleOpen(bs);this.__oR=bs;}else {var bv=this.getOpenedButton();if(bv){bt.scheduleClose(bv.getMenu());};if(this.__oR){bt.cancelOpen(this.__oR);this.__oR=null;};};}else if(!this.getOpenedButton()){this.resetSelectedButton();};},_onPointerOut:function(e){var bw=qx.ui.menu.Manager.getInstance();if(!qx.ui.core.Widget.contains(this,e.getRelatedTarget())){var bx=this.getOpenedButton();bx?this.setSelectedButton(bx):this.resetSelectedButton();if(bx){bw.cancelClose(bx.getMenu());};if(this.__oR){bw.cancelOpen(this.__oR);};};}},destruct:function(){if(!qx.core.ObjectRegistry.inShutDown){qx.ui.menu.Manager.getInstance().remove(this);};this.getApplicationRoot().removeListener(n,this._onResize,this);this._placementTarget=null;this._disposeObjects(o);}});})();(function(){var a="qx.ui.menu.Layout",b="Integer",c="_applyLayoutChange";qx.Class.define(a,{extend:qx.ui.layout.VBox,properties:{columnSpacing:{check:b,init:0,apply:c},spanColumn:{check:b,init:1,nullable:true,apply:c},iconColumnWidth:{check:b,init:0,themeable:true,apply:c},arrowColumnWidth:{check:b,init:0,themeable:true,apply:c}},members:{__oV:null,_computeSizeHint:function(){var q=this._getLayoutChildren();var o,g,k;var e=this.getSpanColumn();var j=this.__oV=[0,0,0,0];var n=this.getColumnSpacing();var m=0;var f=0;for(var i=0,l=q.length;i0){u+=q[i]+m;};};},__oW:function(v){while(!(v instanceof qx.ui.menu.Menu)){v=v.getLayoutParent();};return v;},_computeSizeHint:function(){var y=this._getLayoutChildren();var x=0;var z=0;for(var i=0,l=y.length;i0&&P>=L||O==0)){e.stop();}else {e.stopMomentum();};}else {O=e.getDelta().y;var P=N.getScrollY();var L=N.getScrollMaxY();var M=parseInt(O);if(!(M<0&&P<=0||M>0&&P>=L||O==0)){e.stop();}else {e.stopMomentum();};};this.scrollBy(parseInt(O,10));if(e.getMomentum()){e.stop();};},_onScroll:function(){this._updateArrowsEnabled();},_onScrollAnimationEnd:function(){this.fireEvent(j);},_onResize:function(e){var content=this.getChildControl(n).getChildren()[0];if(!content){return;};var Q=this.getInnerSize();var S=content.getBounds();var R=(this.getOrientation()===d)?S.width>Q.width:S.height>Q.height;if(R){this._showArrows();this._updateArrowsEnabled();}else {this._hideArrows();};},_onExecuteBackward:function(){this.scrollBy(-this.getScrollStep());},_onExecuteForward:function(){this.scrollBy(this.getScrollStep());},_updateArrowsEnabled:function(){if(!this.getEnabled()){this.getChildControl(c).setEnabled(false);this.getChildControl(i).setEnabled(false);return;};var U=this.getChildControl(n);if(this.getOrientation()===d){var T=U.getScrollX();var V=U.getScrollMaxX();}else {var T=U.getScrollY();var V=U.getScrollMaxY();};this.getChildControl(c).setEnabled(T>0);this.getChildControl(i).setEnabled(TM){O=M;};this.stopScrollAnimation();if(L){var N=this.getScrollX();this.__oX=new qx.bom.AnimationFrame();this.__oX.on(o,function(){this.setScrollX(O);this.__oX=null;this.fireEvent(c);},this);this.__oX.on(i,function(Q){var P=parseInt(Q/L*(O-N)+N);this.setScrollX(P);},this);this.__oX.startSequence(L);}else {this.setScrollX(O);};},scrollToY:function(U,R){var S=this.getScrollMaxY();if(U<0){U=0;}else if(U>S){U=S;};this.stopScrollAnimation();if(R){var T=this.getScrollY();this.__oX=new qx.bom.AnimationFrame();this.__oX.on(o,function(){this.setScrollY(U);this.__oX=null;this.fireEvent(c);},this);this.__oX.on(i,function(W){var V=parseInt(W/R*(U-T)+T);this.setScrollY(V);},this);this.__oX.startSequence(R);}else {this.setScrollY(U);};},scrollByX:function(x,X){this.scrollToX(this.getScrollX()+x,X);},scrollByY:function(y,Y){this.scrollToY(this.getScrollY()+y,Y);},stopScrollAnimation:function(){if(this.__oX){this.__oX.cancelSequence();this.__oX=null;};},_applyScrollX:function(ba){this.getContentElement().scrollToX(ba);},_applyScrollY:function(bb){this.getContentElement().scrollToY(bb);}}});})();(function(){var a="qx.ui.layout.Grow";qx.Class.define(a,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(b,c,e){var h=this._getLayoutChildren();var g,j,f,d;for(var i=0,l=h.length;ij.maxWidth){f=j.maxWidth;};d=c;if(dj.maxHeight){d=j.maxHeight;};g.renderLayout(e.left,e.top,f,d);};},_computeSizeHint:function(){var r=this._getLayoutChildren();var p,t;var s=0,q=0;var o=0,m=0;var k=Infinity,n=Infinity;for(var i=0,l=r.length;iF);}else if(this.__oY.length>0){do {var Q=this.__oY[0];if(Q){var P=Q.getMarginLeft()+Q.getMarginRight();P=Math.max(P,this.getSpacing());if(Q.getContentElement().getDomElement()==null){Q.syncAppearance();Q.invalidateLayoutCache();};var I=Q.getSizeHint().width;var O=false;if(this.__oY.length==1&&L>0){var N=P-this.getSpacing();var M=G-L+I+N;O=F>M;};if(F>G+I+P||O){this.__pb(Q);G+=I;if(E&&this.__oY.length==0){E.setVisibility(y);};}else {return;};};}while(F>=G&&this.__oY.length>0);};},__pb:function(R){R.setVisibility(o);this.__oY.shift();this.fireDataEvent(m,R);},__pc:function(S){if(!S){return;};this.__oY.unshift(S);S.setVisibility(y);this.fireDataEvent(A,S);},_getNextToHide:function(){for(var i=this.__pa.length-1;i>=0;i-- ){var T=this.__pa[i];if(T&&T.getVisibility&&T.getVisibility()==o){return T;};};var U=this._getChildren();for(var i=U.length-1;i>=0;i-- ){var V=U[i];if(V==this.getOverflowIndicator()){continue;};if(V.getVisibility&&V.getVisibility()==o){return V;};};},setRemovePriority:function(X,W,Y){if(!Y&&this.__pa[W]!=undefined){throw new Error(v);};this.__pa[W]=X;},_applyOverflowHandling:function(bc,ba){this.invalidateLayoutCache();var parent=this.getLayoutParent();if(parent){parent.invalidateLayoutCache();};var bb=this.getBounds();if(bb&&bb.width){this._recalculateOverflow(bb.width);};if(bc){this.addListener(q,this._onResize,this);}else {this.removeListener(q,this._onResize,this);var bd=this.getOverflowIndicator();if(bd){bd.setVisibility(y);};for(var i=0;i0;},getAnchorSelectionIndex:function(){return this.__ph;},_setAnchorSelectionIndex:function(o){this.__ph=o;},getLeadSelectionIndex:function(){return this.__pi;},_setLeadSelectionIndex:function(p){this.__pi=p;},_getSelectedRangeArr:function(){return this.__pg;},resetSelection:function(){if(!this.isSelectionEmpty()){this._resetSelection();this._fireChangeSelection();};},isSelectionEmpty:function(){return this.__pg.length==0;},getSelectedCount:function(){var r=0;for(var i=0;i=t.minIndex&&s<=t.maxIndex){return true;};};return false;},getSelectedRanges:function(){var u=[];for(var i=0;iH){break;}else if(J.maxIndex>=D){var K=(J.minIndex>=D)&&(J.minIndex<=H);var F=(J.maxIndex>=D)&&(J.maxIndex<=H);if(K&&F){this.__pg.splice(i,1);i-- ;}else if(K){J.minIndex=H+1;}else if(F){J.maxIndex=D-1;}else {var I={minIndex:H+1,maxIndex:J.maxIndex};this.__pg.splice(i+1,0,I);J.maxIndex=D-1;break;};};};this._fireChangeSelection();},_resetSelection:function(){this.__pg=[];this.__ph=-1;this.__pi=-1;},_addSelectionInterval:function(O,M){this.__ph=O;this.__pi=M;var L=Math.min(O,M);var P=Math.max(O,M);var N=0;for(;NL){break;};};this.__pg.splice(N,0,{minIndex:L,maxIndex:P});var R=this.__pg[0];for(var i=1;i=Q.minIndex){R.maxIndex=Math.max(R.maxIndex,Q.maxIndex);this.__pg.splice(i,1);i-- ;}else {R=Q;};};},_dumpRanges:function(){var S=h;for(var i=0;i])+>/gi,function(n){if(n.indexOf(a)===0){return f;}else if(n.length>0&&n.replace(/^\s*/,b).replace(/\s*$/,b)==b){return e;}else {return b;};}));}},defer:function(o){o.FROM_CHARCODE=qx.lang.Object.invert(o.TO_CHARCODE);}});})();(function(){var a="&",b='X',c="",d='#',e="&#",f=";",g="qx.util.StringEscape";qx.Bootstrap.define(g,{statics:{escape:function(o,m){var j,n=c;for(var i=0,l=o.length;i0x7F){j=e+h+f;}else {j=k;};};n+=j;};return n;},unescape:function(p,q){return p.replace(/&[#\w]+;/gi,function(t){var r=t;var t=t.substring(1,t.length-1);var s=q[t];if(s){r=String.fromCharCode(s);}else {if(t.charAt(0)==d){if(t.charAt(1).toUpperCase()==b){s=t.substring(2);if(s.match(/^[0-9A-Fa-f]+$/gi)){r=String.fromCharCode(parseInt(s,16));};}else {s=t.substring(1);if(s.match(/^\d+$/gi)){r=String.fromCharCode(parseInt(s,10));};};};};return r;});}}});})();(function(){var a="qx.util.format.IFormat";qx.Interface.define(a,{members:{format:function(b){},parse:function(c){}}});})();(function(){var a="-",b="Boolean",c='{0,1}[0-9]{3}){0,}){0,1}',d=")?$",e="Number string '",f="' does not match the number format",g="Wrong argument type. String is expected.",h="0",i="^(",j="changeLocale",k=')?([-+]){0,1}',l='(',m="-Infinity",n="String",o="",p='\\d+){0,1}(',q='([0-9]{1,3}(?:',r="g",s="qx.util.format.NumberFormat",t="qx.dynlocale",u="locale",v="Wrong number of arguments.",w="Number",x="NaN",y="changeNumberFormat",z=".",A="Infinity";qx.Class.define(s,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(B){qx.core.Object.call(this);if(arguments.length>0){if(arguments.length===1){if(qx.lang.Type.isString(B)){this.setLocale(B);}else {throw new Error(g);};}else {throw new Error(v);};};if(!B){this.setLocale(qx.locale.Manager.getInstance().getLocale());if(qx.core.Environment.get(t)){qx.locale.Manager.getInstance().bind(u,this,u);};};},properties:{minimumIntegerDigits:{check:w,init:0},maximumIntegerDigits:{check:w,nullable:true},minimumFractionDigits:{check:w,init:0},maximumFractionDigits:{check:w,nullable:true},groupingUsed:{check:b,init:true},prefix:{check:n,init:o,event:y},postfix:{check:n,init:o,event:y},locale:{check:n,init:null,event:j}},members:{format:function(H){if(isNaN(H)){return x;};switch(H){case Infinity:return A;case -Infinity:return m;};var F=(H<0);if(F){H=-H;};if(this.getMaximumFractionDigits()!=null){var N=Math.pow(10,this.getMaximumFractionDigits());H=Math.round(H*N)/N;};var L=String(Math.floor(H)).length;var C=o+H;var J=C.substring(0,L);while(J.lengththis.getMaximumIntegerDigits()){J=J.substring(J.length-this.getMaximumIntegerDigits());};var I=C.substring(L+1);while(I.lengththis.getMaximumFractionDigits()){I=I.substring(0,this.getMaximumFractionDigits());};if(this.getGroupingUsed()){var E=J;J=o;var M;for(M=E.length;M>3;M-=3){J=o+qx.locale.Number.getGroupSeparator(this.getLocale())+E.substring(M-3,M)+J;};J=E.substring(0,M)+J;};var G=this.getPrefix()?this.getPrefix():o;var D=this.getPostfix()?this.getPostfix():o;var K=G+(F?a:o)+J;if(I.length>0){K+=o+qx.locale.Number.getDecimalSeparator(this.getLocale())+I;};K+=D;return K;},parse:function(W){var S=qx.lang.String.escapeRegexpChars(qx.locale.Number.getGroupSeparator(this.getLocale())+o);var Q=qx.lang.String.escapeRegexpChars(qx.locale.Number.getDecimalSeparator(this.getLocale())+o);var O=new RegExp(i+qx.lang.String.escapeRegexpChars(this.getPrefix())+k+q+S+c+l+Q+p+qx.lang.String.escapeRegexpChars(this.getPostfix())+d);var R=O.exec(W);if(R==null){throw new Error(e+W+f);};var T=(R[2]==a);var V=R[3]||h;var U=R[4];V=V.replace(new RegExp(S,r),o);var P=(T?a:o)+V;if(U!=null&&U.length!=0){U=U.replace(new RegExp(Q),o);P+=z+U;};return parseFloat(P);}},destruct:function(){if(qx.core.Environment.get(t)){qx.locale.Manager.getInstance().removeRelatedBindings(this);};}});})();(function(){var a="cldr_number_decimal_separator",b="cldr_number_percent_format",c="qx.locale.Number",d="cldr_number_group_separator";qx.Class.define(c,{statics:{getDecimalSeparator:function(e){return qx.locale.Manager.getInstance().localize(a,[],e);},getGroupSeparator:function(f){return qx.locale.Manager.getInstance().localize(d,[],f);},getPercentFormat:function(g){return qx.locale.Manager.getInstance().localize(b,[],g);}}});})();(function(){var a="-",b="QQQ",c='W',d="qqqq",e="h",f="KK",g='L',h=" is not supported",m="Z",n="Date string '",o="GGGGG",p='abbreviated',q="Y+",r=". Wildcard ",s="eeeee",t="(\\d\\d?)",u="LL",v="abbreviated",w="EEEE",x="^",y=":",z='y',A="quoted_literal",B="weekOfYear",C="locale",D="SSS",E='a',F="day",G="(-*",H="qqq",I="(\\d\\d)",J='3rd quarter',K="K",L='q',M="pm",N="Error parsing date '",O='Anno Domini',P='G',Q="a",R='2nd quarter',S="yyyy-MM-dd'T'HH:mm:ss",T="GMT",U="HH:mm:ss",V="dd",W="+",X="qx.util.format.DateFormat",Y='weekDay',el="am",eg="eee",em="quarter",ei="ee",ej="q",ef="QQQQ",ek="HHmmss",eq="ww",er="H",es='Y+',et="wide",en='wide',eo="(\\d\\d\\d?)",eh="(GMT[\\+\\-]\\d\\d:\\d\\d)",ep="_applyLocale",ex="Q",fb="c",ey="(",ez="weekOfMonth",eu="ccc",ev="long",gc="Malformed date format: ",ew="EEEEE",eA='Y',eB="EE",eC="GGG",eH='-',eI="w",eJ="mm",eD='h',eE="S",eF='s',eG='A',eO="yyyy-MM-dd",eP="G",eQ='z',eR="GG",eK=")",eL="kk",eM="ss",eN="([\\+\\-]\\d\\d\\d\\d)",eV="default",eW='BC',gg='H',eX='S',eS='1st quarter',eT="stand-alone",ge="0",eU="MMMM",eY='c',fa="d",fm='Q',fl='Q1',fk="eeee",fq="QQ",fp="LLLLL",fo="HH",fn='k',ff="m",fe="DDD",fd="D",fc='D',fj="LLLL",fi="(\\d\\d*?)",fh='e',fg="': the value for day or month is too large",fx="literal",fw='K',fv="L",fu="hh",fB="ms",fA="(\\d\\d?\\d?)",fz="cccc",fy="e",ft='y+',fs="|",fr="W",fM="dayOfYear",fL="GGGG",fK='Q2',fQ='B',fP="MM",fO='Q4',fN="y+",fF='narrow',fE="ccccc",fD="E",fC="wildcard",fJ='',fI="' does not match the date format: ",fH="short",fG='d',fW="unkown",fV="narrow",fU="\\d?",fT="'",gb="k",ga='Before Christ',fY='Z',fX='m',fS=" ",fR="yyyy-MM-dd'T'HH:mm:ss'Z'",dP="String",dO='Q3',gh="z",dM="DD",dN="min",dL="",gf='M',dJ="sec",dK='isoUtcDateTime',dI='4th quarter',gd="(\\d?)",dG="SS",dH="MMM",dF="s",dY="M",ea='w',dW="EEE",dX="$",dU="?",dV='AD',dT="\\d",dE="+?",dR="hour",dS="MMMMM",dQ='E',ee='month',ec="LLL",ed="qq",eb="format";qx.Class.define(X,{extend:qx.core.Object,implement:qx.util.format.IFormat,construct:function(gj,gi){qx.core.Object.call(this);if(!gi){this.__ll=qx.locale.Manager.getInstance().getLocale();this.__pl=qx.locale.Manager.getInstance().bind(C,this,C);}else {this.__ll=gi;this.setLocale(gi);};this.__pm=this.__ll;if(gj!=null){this.__pn=gj.toString();if(this.__pn in qx.util.format.DateFormat.ISO_MASKS){if(this.__pn===dK){this.__po=true;};this.__pn=qx.util.format.DateFormat.ISO_MASKS[this.__pn];};}else {this.__pn=qx.locale.Date.getDateFormat(ev,this.__ll)+fS+qx.locale.Date.getDateTimeFormat(ek,U,this.__ll);};},properties:{locale:{apply:ep,nullable:true,check:dP}},statics:{getDateInstance:function(){var gk=qx.util.format.DateFormat;var gl=qx.locale.Date.getDateFormat(fH)+dL;if(gk._dateInstance==null||gk._dateInstance.__pn!=gl){gk._dateInstance=new gk(gl);};return gk._dateInstance;},getDateTimeInstance:function(){var gm=qx.util.format.DateFormat;var gn=qx.locale.Date.getDateFormat(ev)+fS+qx.locale.Date.getDateTimeFormat(ek,U);if(gm._dateTimeInstance==null||gm._dateTimeInstance.__pn!=gn){gm._dateTimeInstance=new gm(gn);};return gm._dateTimeInstance;},ASSUME_YEAR_2000_THRESHOLD:30,ISO_MASKS:{isoDate:eO,isoTime:U,isoDateTime:S,isoUtcDateTime:fR},AM_MARKER:el,PM_MARKER:M},members:{__pl:null,__ll:null,__pm:null,__pn:null,__pp:null,__pq:null,__pr:null,__po:null,__ps:function(gp,go){var gq=dL+(gp<0?(-1*gp):gp);while(gq.length0?1:-1;var gT=Math.floor(Math.abs(hd)/60);var hl=Math.abs(hd)%60;this.__pB();var hn=dL;for(var i=0;ihp.length){for(var j=hp.length;jhp.length){for(var j=gX.length;j=1&&hg<=3){hp=hb>0?dV:eW;}else if(hg==4){hp=hb>0?O:ga;}else if(hg==5){hp=hb>0?eG:fQ;};break;case fm:if(hg==1||hg==2){hp=this.__ps(parseInt(gW/4)+1,hg);};if(hg==3){hp=fm+(parseInt(gW/4)+1);};break;case L:if(hg==1||hg==2){hp=this.__ps(parseInt(gW/4)+1,hg);};if(hg==3){hp=fm+(parseInt(gW/4)+1);};break;case fc:hp=this.__ps(this.__pt(hj),hg);break;case fG:hp=this.__ps(ha,hg);break;case ea:hp=this.__ps(this.__pv(hj),hg);break;case c:hp=this.__pw(hj);break;case dQ:if(hg>=1&&hg<=3){hp=qx.locale.Date.getDayName(v,he,gV,eb,true);}else if(hg==4){hp=qx.locale.Date.getDayName(et,he,gV,eb,true);}else if(hg==5){hp=qx.locale.Date.getDayName(fV,he,gV,eb,true);};break;case fh:var gY=qx.locale.Date.getWeekStart(gV);var hk=1+((he-gY>=0)?(he-gY):7+(he-gY));if(hg>=1&&hg<=2){hp=this.__ps(hk,hg);}else if(hg==3){hp=qx.locale.Date.getDayName(v,he,gV,eb,true);}else if(hg==4){hp=qx.locale.Date.getDayName(et,he,gV,eb,true);}else if(hg==5){hp=qx.locale.Date.getDayName(fV,he,gV,eb,true);};break;case eY:var gY=qx.locale.Date.getWeekStart(gV);var hk=1+((he-gY>=0)?(he-gY):7+(he-gY));if(hg==1){hp=fJ+hk;}else if(hg==3){hp=qx.locale.Date.getDayName(v,he,gV,eT,true);}else if(hg==4){hp=qx.locale.Date.getDayName(et,he,gV,eT,true);}else if(hg==5){hp=qx.locale.Date.getDayName(fV,he,gV,eT,true);};break;case gf:if(hg==1||hg==2){hp=this.__ps(gW+1,hg);}else if(hg==3){hp=qx.locale.Date.getMonthName(v,gW,gV,eb,true);}else if(hg==4){hp=qx.locale.Date.getMonthName(et,gW,gV,eb,true);}else if(hg==5){hp=qx.locale.Date.getMonthName(fV,gW,gV,eb,true);};break;case g:if(hg==1||hg==2){hp=this.__ps(gW+1,hg);}else if(hg==3){hp=qx.locale.Date.getMonthName(v,gW,gV,eT,true);}else if(hg==4){hp=qx.locale.Date.getMonthName(et,gW,gV,eT,true);}else if(hg==5){hp=qx.locale.Date.getMonthName(fV,gW,gV,eT,true);};break;case E:hp=(hh<12)?qx.locale.Date.getAmMarker(gV):qx.locale.Date.getPmMarker(gV);break;case gg:hp=this.__ps(hh,hg);break;case fn:hp=this.__ps((hh==0)?24:hh,hg);break;case fw:hp=this.__ps(hh%12,hg);break;case eD:hp=this.__ps(((hh%12)==0)?12:(hh%12),hg);break;case fX:hp=this.__ps(ho,hg);break;case eF:hp=this.__ps(hf,hg);break;case eX:hp=this.__ps(hm,3);if(hghp.length){hp+=ge;};};break;case eQ:if(hg>=1&&hg<=4){hp=T+((hi>0)?a:W)+this.__ps(Math.abs(gT),2)+y+this.__ps(hl,2);};break;case fY:if(hg>=1&&hg<=3){hp=((hi>0)?a:W)+this.__ps(Math.abs(gT),2)+this.__ps(hl,2);}else {hp=T+((hi>0)?a:W)+this.__ps(Math.abs(gT),2)+y+this.__ps(hl,2);};break;};hn+=hp;};};return hn;},parse:function(hw){this.__pC();var hz=this.__pp.regex.exec(hw);if(hz==null){throw new Error(n+hw+fI+this.__pn);};var hq={era:1,year:1970,quarter:1,month:0,day:1,dayOfYear:1,hour:0,ispm:false,weekDay:4,weekYear:1970,weekOfMonth:1,weekOfYear:1,min:0,sec:0,ms:0};var hu=1;var hr=false;var hs=false;for(var i=0;i=hC.length){i++ ;break;};var hD=hC.charAt(i+1);if(hD==fT){hI+=hH;i++ ;}else {i++ ;hF=fW;};}else {hI+=hH;i++ ;};break;case fC:if(hH==hG){hE++ ;i++ ;}else {this.__pr.push({type:fC,character:hG,size:hE});hG=null;hE=0;hF=eV;};break;default:if((hH>=E&&hH<=eQ)||(hH>=eG&&hH<=fY)){hG=hH;hF=fC;}else if(hH==fT){if(i+1>=hC.length){hI+=hH;i++ ;break;};var hD=hC.charAt(i+1);if(hD==fT){hI+=hH;i++ ;};i++ ;hF=A;}else {hF=eV;};if(hF!=eV){if(hI.length>0){this.__pr.push({type:fx,text:hI});hI=dL;};}else {hI+=hH;i++ ;};break;};};if(hG!=null){this.__pr.push({type:fC,character:hG,size:hE});}else if(hI.length>0){this.__pr.push({type:fx,text:hI});};},__pC:function(){if(this.__pp!=null){return;};var hM=this.__pn;this.__pE();this.__pB();var hS=[];var hN=x;for(var hK=0;hK=0){if(iD=0){if(iF=0;var jk=function(){var jq=ji?jl:jh;var jr=jo===jq[0]?eT:eb;var jp=jj.length;var js=p;switch(jp){case 4:js=en;break;case 5:js=fF;break;default:js=p;};return [jr,js];};if(!ii[jj]){ii[jj]={};var jg=jk();var jn=ji?qx.locale.Date.getMonthNames:qx.locale.Date.getDayNames;var jm=jn.call(qx.locale.Date,jg[1],ib,jg[0],true);for(var i=0,l=jm.length;ibD){return ((bC>=bD)&&(bC<=bB));}else {return ((bC>=bD)||(bC<=bB));};},_getTerritory:function(bE){if(bE){var bF=bE.split(r)[1]||bE;}else {bF=this.__pF.getTerritory()||this.__pF.getLanguage();};return bF.toUpperCase();},__pG:function(bI,bH,bL,bK){var bJ=this.__pF.localize(bL,[],bK);if(bJ==bL){var bG=bL.replace(e+bI+e,e+bH+e);return this.__pF.localize(bG,[],bK);}else {return bJ;};}}});})();(function(){var a="qx.ui.table.ICellEditorFactory";qx.Interface.define(a,{members:{createCellEditor:function(b){return true;},getCellEditorValue:function(c){return true;}}});})();(function(){var a="Function",b="abstract",c="",d="number",e="appear",f="Abstract method call!",g="qx.ui.table.celleditor.AbstractField";qx.Class.define(g,{extend:qx.core.Object,implement:qx.ui.table.ICellEditorFactory,type:b,properties:{validationFunction:{check:a,nullable:true,init:null}},members:{_createEditor:function(){throw new Error(f);},createCellEditor:function(h){var i=this._createEditor();i.originalValue=h.value;if(h.value===null||h.value===undefined){h.value=c;};i.setValue(c+h.value);i.addListener(e,function(){i.selectAllText();});return i;},getCellEditorValue:function(j){var k=j.getValue();var l=this.getValidationFunction();if(l){k=l(k,j.originalValue);};if(typeof j.originalValue==d){k=parseFloat(k);};return k;}}});})();(function(){var a="number",b="qx.ui.table.celleditor.TextField",c="table-editor-textfield";qx.Class.define(b,{extend:qx.ui.table.celleditor.AbstractField,members:{getCellEditorValue:function(d){var e=d.getValue();var f=this.getValidationFunction();if(f){e=f(e,d.originalValue);};if(typeof d.originalValue==a){if(e!=null){e=parseFloat(e);};};return e;},_createEditor:function(){var g=new qx.ui.form.TextField();g.setAppearance(c);return g;}}});})();(function(){var a="-ms-input-placeholder",b="engine.version",c="changeValue",d="autoComplete: off;",f=".qx-abstract-field",g="browser.name",h="textarea",i="qx.event.type.Data",j="showingPlaceholder",k="focused",l="qx-placeholder-color",m=" !important",n="border-radius: 0;",o="browser.documentmode",p="qx.ui.form.AbstractField",q="-ms-input-placeholder, textarea.qx-placeholder-color",r="input",s="qx.dynlocale",t="maxLength",u="normal",v="qx-abstract-field",w="position: absolute;",x="String",y="margin: 0;",z="readOnly",A="text",B="syncAppearance",C="changeStatus",D="A",E="input::-moz-placeholder, textarea::-moz-placeholder",F="color",G="readonly",H="resize: none;",I="display : block;",J="Invalid value type: ",K="input.qx-placeholder-color::-webkit-input-placeholder, textarea.qx-placeholder-color::-webkit-input-placeholder",L="firefox",M="visible",N=":",O="input:-moz-placeholder, textarea:-moz-placeholder",P="_applyMaxLength",Q="outline: none;",R="background : transparent;",S="browser.version",T="pointerdown",U="spellcheck",V="focusin",W="mshtml",X="css.placeholder",Y="hidden",bP="border: none;",bQ="Boolean",bR="px",bL="url(",bM=")",bN="gecko",bO="change",bW="placeholder",bX="center",bY="input.qx-placeholder-color",ca="disabled",bS="textAlign",bT="appearance: none;",bU="color: ",bV="right",ce="PositiveInteger",cr="engine.name",cs="padding: 0;",cf="_applyPlaceholder",cb="left",cc="text-placeholder",cu="_applyTextAlign",cd="RegExp",cg="changeLocale",ch="::",ci="_applyReadOnly",cm="",cv="visibility",cn="appear",cj="false",ck="abstract",ct="focusout",cl="edge",co="webkit",cp="qx/static/blank.gif",cw="changeReadOnly",cq="absolute";qx.Class.define(p,{extend:qx.ui.core.Widget,implement:[qx.ui.form.IStringForm,qx.ui.form.IForm],include:[qx.ui.form.MForm],type:ck,statics:{__ds:null,__pH:function(){var cx=qx.core.Environment.get(cr);var cC=qx.core.Environment.get(g);var cy=qx.theme.manager.Color.getInstance();var cz=cy.resolve(cc);var cA;if(cx==bN){if(parseFloat(qx.core.Environment.get(b))>=19){cA=E;}else {cA=O;};qx.ui.style.Stylesheet.getInstance().addRule(cA,bU+cz+m);}else if(cx==co&&cC!=cl){cA=K;qx.ui.style.Stylesheet.getInstance().addRule(cA,bU+cz);}else if(cx==W||cC==cl){var cB=cC==cl?ch:N;cA=[bY,q,a].join(cB);qx.ui.style.Stylesheet.getInstance().addRule(cA,bU+cz+m);};}},construct:function(cD){qx.ui.core.Widget.call(this);this.__pI=!qx.core.Environment.get(X);if(cD!=null){this.setValue(cD);};this.getContentElement().addListener(bO,this._onChangeContent,this);if(this.__pI){this.addListener(B,this._syncPlaceholder,this);}else {qx.ui.form.AbstractField.__pH();this.getContentElement().addClass(l);};if(qx.core.Environment.get(s)){qx.locale.Manager.getInstance().addListener(cg,this._onChangeLocale,this);};},events:{"input":i,"changeValue":i},properties:{textAlign:{check:[cb,bX,bV],nullable:true,themeable:true,apply:cu},readOnly:{check:bQ,apply:ci,event:cw,init:false},selectable:{refine:true,init:true},focusable:{refine:true,init:true},maxLength:{apply:P,check:ce,init:Infinity},liveUpdate:{check:bQ,init:false},placeholder:{check:x,nullable:true,apply:cf},filter:{check:cd,nullable:true,init:null}},members:{__pJ:true,_placeholder:null,__iV:null,__iW:null,__pI:true,__ly:null,__lB:null,getFocusElement:function(){var cE=this.getContentElement();if(cE){return cE;};},_createInputElement:function(){return new qx.html.Input(A);},renderLayout:function(cN,top,cI,cG){var cF=this._updateInsets;var cL=qx.ui.core.Widget.prototype.renderLayout.call(this,cN,top,cI,cG);if(!cL){return;};var cJ=cL.size||cF;var cM=bR;if(cJ||cL.local||cL.margin){var innerWidth=cI;var innerHeight=cG;};var cK=this.getContentElement();if(cF&&this.__pI){if(this.__pI){var cH=this.getInsets();this._getPlaceholderElement().setStyles({paddingTop:cH.top+cM,paddingRight:cH.right+cM,paddingBottom:cH.bottom+cM,paddingLeft:cH.left+cM});};};if(cJ||cL.margin){if(this.__pI){var cH=this.getInsets();this._getPlaceholderElement().setStyles({"width":(innerWidth-cH.left-cH.right)+cM,"height":(innerHeight-cH.top-cH.bottom)+cM});};cK.setStyles({"width":innerWidth+cM,"height":innerHeight+cM});this._renderContentElement(innerHeight,cK);};if(cL.position){if(this.__pI){this._getPlaceholderElement().setStyles({"left":cN+cM,"top":top+cM});};};},_renderContentElement:function(innerHeight,cO){},_createContentElement:function(){var cP=this._createInputElement();cP.setSelectable(this.getSelectable());cP.setEnabled(this.getEnabled());cP.addListener(r,this._onHtmlInput,this);cP.setAttribute(U,cj);cP.addClass(v);if((qx.core.Environment.get(cr)==W)&&(qx.core.Environment.get(o)==8)){cP.setStyles({backgroundImage:bL+qx.util.ResourceManager.getInstance().toUri(cp)+bM});};return cP;},_applyEnabled:function(cS,cR){qx.ui.core.Widget.prototype._applyEnabled.call(this,cS,cR);this.getContentElement().setEnabled(cS);if(this.__pI){if(cS){this._showPlaceholder();}else {this._removePlaceholder();};}else {var cQ=this.getContentElement();cQ.setAttribute(bW,cS?this.getPlaceholder():cm);};},__pK:{width:16,height:16},_getContentHint:function(){return {width:this.__pK.width*10,height:this.__pK.height||16};},_applyFont:function(cV,cU){if(cU&&this.__ly&&this.__lB){this.__ly.removeListenerById(this.__lB);this.__lB=null;};var cT;if(cV){this.__ly=qx.theme.manager.Font.getInstance().resolve(cV);if(this.__ly instanceof qx.bom.webfonts.WebFont){this.__lB=this.__ly.addListener(C,this._onWebFontStatusChange,this);};cT=this.__ly.getStyles();}else {cT=qx.bom.Font.getDefaultStyles();};if(this.getTextColor()!=null){delete cT[F];};if(qx.core.Environment.get(cr)==W&&qx.core.Environment.get(o)<11){qx.html.Element.flush();this.getContentElement().setStyles(cT,true);}else {this.getContentElement().setStyles(cT);};if(this.__pI){delete cT[F];this._getPlaceholderElement().setStyles(cT);};if(cV){this.__pK=qx.bom.Label.getTextSize(D,cT);}else {delete this.__pK;};qx.ui.core.queue.Layout.add(this);},_applyTextColor:function(cX,cW){if(cX){this.getContentElement().setStyle(F,qx.theme.manager.Color.getInstance().resolve(cX));}else {this.getContentElement().removeStyle(F);};},_applyMaxLength:function(da,cY){if(da){this.getContentElement().setAttribute(t,da);}else {this.getContentElement().removeAttribute(t);};},tabFocus:function(){qx.ui.core.Widget.prototype.tabFocus.call(this);this.selectAllText();},_getTextSize:function(){return this.__pK;},_onHtmlInput:function(e){var dd=e.getData();var dc=true;this.__pJ=false;if(this.__iW&&this.__iW===dd){dc=false;};if(this.getFilter()!=null){var df=cm;var db=dd.search(this.getFilter());var de=dd;while(db>=0){df=df+(de.charAt(db));de=de.substring(db+1,de.length);db=de.search(this.getFilter());};if(df!=dd){dc=false;dd=df;this.getContentElement().setValue(dd);};};if(dc){this.fireDataEvent(r,dd,this.__iW);this.__iW=dd;if(this.getLiveUpdate()){this.__pL(dd);};};},_onWebFontStatusChange:function(dh){if(dh.getData().valid===true){var dg=this.__ly.getStyles();this.__pK=qx.bom.Label.getTextSize(D,dg);qx.ui.core.queue.Layout.add(this);};},__pL:function(dj){var di=this.__iV;this.__iV=dj;if(di!=dj){this.fireNonBubblingEvent(c,qx.event.type.Data,[dj,di]);};},setValue:function(dn){if(dn===null){if(this.__pJ){return dn;};dn=cm;this.__pJ=true;}else {this.__pJ=false;if(this.__pI){this._removePlaceholder();};};if(qx.lang.Type.isString(dn)){var dm=this.getContentElement();if(dm.getValue()!=dn){var dk=dm.getValue();dm.setValue(dn);var dl=this.__pJ?null:dn;this.__iV=dk;this.__pL(dl);this.__iW=this.__iV;};if(this.__pI){this._showPlaceholder();};return dn;};throw new Error(J+dn);},getValue:function(){var dp=this.getContentElement().getValue();return this.__pJ?null:dp;},resetValue:function(){this.setValue(null);},_onChangeContent:function(e){this.__pJ=e.getData()===null;this.__pL(e.getData());},getTextSelection:function(){return this.getContentElement().getTextSelection();},getTextSelectionLength:function(){return this.getContentElement().getTextSelectionLength();},getTextSelectionStart:function(){return this.getContentElement().getTextSelectionStart();},getTextSelectionEnd:function(){return this.getContentElement().getTextSelectionEnd();},setTextSelection:function(dq,dr){this.getContentElement().setTextSelection(dq,dr);},clearTextSelection:function(){this.getContentElement().clearTextSelection();},selectAllText:function(){this.setTextSelection(0);},setLayoutParent:function(parent){qx.ui.core.Widget.prototype.setLayoutParent.call(this,parent);if(this.__pI){if(parent){this.getLayoutParent().getContentElement().add(this._getPlaceholderElement());}else {var ds=this._getPlaceholderElement();ds.getParent().remove(ds);};};},_showPlaceholder:function(){var du=this.getValue()||cm;var dt=this.getPlaceholder();if(dt!=null&&du==cm&&!this.hasState(k)&&!this.hasState(ca)){if(this.hasState(j)){this._syncPlaceholder();}else {this.addState(j);};};},_onPointerDownPlaceholder:function(){window.setTimeout(function(){this.focus();}.bind(this),0);},_removePlaceholder:function(){if(this.hasState(j)){if(this.__pI){this._getPlaceholderElement().setStyle(cv,Y);};this.removeState(j);};},_syncPlaceholder:function(){if(this.hasState(j)&&this.__pI){this._getPlaceholderElement().setStyle(cv,M);};},_getPlaceholderElement:function(){if(this._placeholder==null){this._placeholder=new qx.html.Label();var dv=qx.theme.manager.Color.getInstance();this._placeholder.setStyles({"zIndex":11,"position":cq,"color":dv.resolve(cc),"whiteSpace":u,"cursor":A,"visibility":Y});this._placeholder.addListener(T,this._onPointerDownPlaceholder,this);};return this._placeholder;},_onChangeLocale:qx.core.Environment.select(s,{"true":function(e){var content=this.getPlaceholder();if(content&&content.translate){this.setPlaceholder(content.translate());};},"false":null}),_onChangeTheme:function(){qx.ui.core.Widget.prototype._onChangeTheme.call(this);if(this._placeholder){this._placeholder.dispose();this._placeholder=null;};if(!this.__pI&&qx.ui.form.AbstractField.__ds){qx.bom.Stylesheet.removeSheet(qx.ui.form.AbstractField.__ds);qx.ui.form.AbstractField.__ds=null;qx.ui.form.AbstractField.__pH();};},_applyPlaceholder:function(dx,dw){if(this.__pI){this._getPlaceholderElement().setValue(dx);if(dx!=null){this.addListener(V,this._removePlaceholder,this);this.addListener(ct,this._showPlaceholder,this);this._showPlaceholder();}else {this.removeListener(V,this._removePlaceholder,this);this.removeListener(ct,this._showPlaceholder,this);this._removePlaceholder();};}else {if(this.getEnabled()){this.getContentElement().setAttribute(bW,dx);if(qx.core.Environment.get(g)===L&&parseFloat(qx.core.Environment.get(S))<36&&this.getContentElement().getNodeName()===h&&!this.getContentElement().getDomElement()){this.addListenerOnce(cn,function(){this.getContentElement().getDomElement().removeAttribute(bW);this.getContentElement().getDomElement().setAttribute(bW,dx);},this);};};};},_applyTextAlign:function(dz,dy){this.getContentElement().setStyle(bS,dz);},_applyReadOnly:function(dB,dA){var dC=this.getContentElement();dC.setAttribute(z,dB);if(dB){this.addState(G);this.setFocusable(false);}else {this.removeState(G);this.setFocusable(true);};}},defer:function(dD){var dE=bP+cs+y+I+R+Q+bT+w+d+H+n;qx.ui.style.Stylesheet.getInstance().addRule(f,dE);},destruct:function(){if(this._placeholder){this._placeholder.removeListener(T,this._onPointerDownPlaceholder,this);var parent=this._placeholder.getParent();if(parent){parent.remove(this._placeholder);};this._placeholder.dispose();};this._placeholder=this.__ly=null;if(qx.core.Environment.get(s)){qx.locale.Manager.getInstance().removeListener(cg,this._onChangeLocale,this);};if(this.__ly&&this.__lB){this.__ly.removeListenerById(this.__lB);};this.getContentElement().removeListener(r,this._onHtmlInput,this);}});})();(function(){var a="engine.name",b="",c="wrap",d="none",e="Text wrapping is only support by textareas!",f="overflow",g="webkit",h="input",i="qx.html.Input",j="value",k="select",l="disabled",m="read-only",n="textarea",o="overflowX",p="overflowY";qx.Class.define(i,{extend:qx.html.Element,construct:function(s,q,r){if(s===k||s===n){var t=s;}else {t=h;};qx.html.Element.call(this,t,q,r);this.__pM=s;},members:{__pM:null,__pN:null,__pO:null,_createDomElement:function(){return qx.bom.Input.create(this.__pM);},_applyProperty:function(name,u){qx.html.Element.prototype._applyProperty.call(this,name,u);var v=this.getDomElement();if(name===j){qx.bom.Input.setValue(v,u);}else if(name===c){qx.bom.Input.setWrap(v,u);this.setStyle(f,v.style.overflow,true);this.setStyle(o,v.style.overflowX,true);this.setStyle(p,v.style.overflowY,true);};},setEnabled:function(w){this.__pO=w;this.setAttribute(l,w===false);if(qx.core.Environment.get(a)==g){if(!w){this.setStyles({"userModify":m,"userSelect":d});}else {this.setStyles({"userModify":null,"userSelect":this.__pN?null:d});};};},setSelectable:qx.core.Environment.select(a,{"webkit":function(x){this.__pN=x;qx.html.Element.prototype.setSelectable.call(this,this.__pO&&x);},"default":function(y){qx.html.Element.prototype.setSelectable.call(this,y);}}),setValue:function(z){var A=this.getDomElement();if(A){if(A.value!=z){qx.bom.Input.setValue(A,z);};}else {this._setProperty(j,z);};return this;},getValue:function(){var B=this.getDomElement();if(B){return qx.bom.Input.getValue(B);};return this._getProperty(j)||b;},setWrap:function(C,D){if(this.__pM===n){this._setProperty(c,C,D);}else {throw new Error(e);};return this;},getWrap:function(){if(this.__pM===n){return this._getProperty(c);}else {throw new Error(e);};}}});})();(function(){var a="wrap",b="text",c="engine.name",d="soft",e="",f="mshtml",g="number",h="checkbox",j="select-one",k="input",m="option",n="value",o="off",p="select",q="radio",r="qx.bom.Input",s="nowrap",t="textarea",u="auto",v="normal";qx.Bootstrap.define(r,{statics:{__jH:{text:1,textarea:1,select:1,checkbox:1,radio:1,password:1,hidden:1,submit:1,image:1,file:1,search:1,reset:1,button:1},create:function(y,w,z){{};var w=w?qx.lang.Object.clone(w):{};var x;if(y===t||y===p){x=y;}else {x=k;w.type=y;};return qx.dom.Element.create(x,w,z);},setValue:function(F,E){var G=F.nodeName.toLowerCase();var B=F.type;var Array=qx.lang.Array;var H=qx.lang.Type;if(typeof E===g){E+=e;};if((B===h||B===q)){if(H.isArray(E)){F.checked=Array.contains(E,F.value);}else {F.checked=F.value==E;};}else if(G===p){var A=H.isArray(E);var I=F.options;var C,D;for(var i=0,l=I.length;i1){J.push(M);};if(N.colSpan>1){G.push(M);};};for(var y=0;y<=I;y++ ){if(L[y]==undefined){L[y]=[];};};this.__pR=L;this.__pS=G;this.__pT=J;this.__pU=I;this.__pV=F;this.__pW=null;this.__pX=null;delete this._invalidChildrenCache;},_setRowData:function(S,Q,R){var P=this.__pP[S];if(!P){this.__pP[S]={};this.__pP[S][Q]=R;}else {P[Q]=R;};},_setColumnData:function(T,V,W){var U=this.__pQ[T];if(!U){this.__pQ[T]={};this.__pQ[T][V]=W;}else {U[V]=W;};},setSpacing:function(X){this.setSpacingY(X);this.setSpacingX(X);return this;},setColumnAlign:function(Y,ba,bb){{};this._setColumnData(Y,c,ba);this._setColumnData(Y,d,bb);this._applyLayoutChange();return this;},getColumnAlign:function(bc){var bd=this.__pQ[bc]||{};return {vAlign:bd.vAlign||r,hAlign:bd.hAlign||A};},setRowAlign:function(bf,be,bg){{};this._setRowData(bf,c,be);this._setRowData(bf,d,bg);this._applyLayoutChange();return this;},getRowAlign:function(bi){var bh=this.__pP[bi]||{};return {vAlign:bh.vAlign||r,hAlign:bh.hAlign||A};},getCellWidget:function(bk,bj){if(this._invalidChildrenCache){this.__pY();};var bk=this.__pR[bk]||{};return bk[bj]||null;},getRowCount:function(){if(this._invalidChildrenCache){this.__pY();};return this.__pU+1;},getColumnCount:function(){if(this._invalidChildrenCache){this.__pY();};return this.__pV+1;},getCellAlign:function(bs,bm){var br=r;var bp=A;var bq=this.__pP[bs];var bn=this.__pQ[bm];var bl=this.__pR[bs][bm];if(bl){var bo={vAlign:bl.getAlignY(),hAlign:bl.getAlignX()};}else {bo={};};if(bo.vAlign){br=bo.vAlign;}else if(bq&&bq.vAlign){br=bq.vAlign;}else if(bn&&bn.vAlign){br=bn.vAlign;};if(bo.hAlign){bp=bo.hAlign;}else if(bn&&bn.hAlign){bp=bn.hAlign;}else if(bq&&bq.hAlign){bp=bq.hAlign;};return {vAlign:br,hAlign:bp};},setColumnFlex:function(bt,bu){this._setColumnData(bt,z,bu);this._applyLayoutChange();return this;},getColumnFlex:function(bv){var bw=this.__pQ[bv]||{};return bw.flex!==undefined?bw.flex:0;},setRowFlex:function(by,bx){this._setRowData(by,z,bx);this._applyLayoutChange();return this;},getRowFlex:function(bB){var bz=this.__pP[bB]||{};var bA=bz.flex!==undefined?bz.flex:0;return bA;},setColumnMaxWidth:function(bC,bD){this._setColumnData(bC,B,bD);this._applyLayoutChange();return this;},getColumnMaxWidth:function(bE){var bF=this.__pQ[bE]||{};return bF.maxWidth!==undefined?bF.maxWidth:Infinity;},setColumnWidth:function(bG,bH){this._setColumnData(bG,o,bH);this._applyLayoutChange();return this;},getColumnWidth:function(bI){var bJ=this.__pQ[bI]||{};return bJ.width!==undefined?bJ.width:null;},setColumnMinWidth:function(bK,bL){this._setColumnData(bK,w,bL);this._applyLayoutChange();return this;},getColumnMinWidth:function(bM){var bN=this.__pQ[bM]||{};return bN.minWidth||0;},setRowMaxHeight:function(bP,bO){this._setRowData(bP,m,bO);this._applyLayoutChange();return this;},getRowMaxHeight:function(bR){var bQ=this.__pP[bR]||{};return bQ.maxHeight||Infinity;},setRowHeight:function(bS,bT){this._setRowData(bS,b,bT);this._applyLayoutChange();return this;},getRowHeight:function(bV){var bU=this.__pP[bV]||{};return bU.height!==undefined?bU.height:null;},setRowMinHeight:function(bX,bW){this._setRowData(bX,s,bW);this._applyLayoutChange();return this;},getRowMinHeight:function(ca){var bY=this.__pP[ca]||{};return bY.minHeight||0;},__qa:function(cc){var cb=cc.getSizeHint();var ce=cc.getMarginLeft()+cc.getMarginRight();var cd=cc.getMarginTop()+cc.getMarginBottom();var cf={height:cb.height+cd,width:cb.width+ce,minHeight:cb.minHeight+cd,minWidth:cb.minWidth+ce,maxHeight:cb.maxHeight+cd,maxWidth:cb.maxWidth+ce};return cf;},_fixHeightsRowSpan:function(cA){var cm=this.getSpacingY();for(var i=0,l=this.__pT.length;i0){cj[cn]={min:cw.minHeight,value:cw.height,max:cw.maxHeight,flex:cy};};cx+=cw.height;cg+=cw.minHeight;};if(cx0){cI[cJ]={min:cM.minWidth,value:cM.width,max:cM.maxWidth,flex:cL};};cN+=cM.width;cG+=cM.minWidth;};if(cN1){continue;};var cW=this.__qa(cP);if(this.getRowFlex(da)>0){cS=Math.max(cS,cW.minHeight);}else {cS=Math.max(cS,cW.height);};cU=Math.max(cU,cW.height);};var cS=Math.max(cS,this.getRowMinHeight(da));var cT=this.getRowMaxHeight(da);if(this.getRowHeight(da)!==null){var cU=this.getRowHeight(da);}else {var cU=Math.max(cS,Math.min(cU,cT));};cY[da]={minHeight:cS,height:cU,maxHeight:cT};};if(this.__pT.length>0){this._fixHeightsRowSpan(cY);};this.__pW=cY;return cY;},_getColWidths:function(){if(this.__pX!=null){return this.__pX;};var df=[];var dc=this.__pV;var de=this.__pU;for(var dk=0;dk<=dc;dk++ ){var di=0;var dh=0;var dd=Infinity;for(var dl=0;dl<=de;dl++ ){var db=this.__pR[dl][dk];if(!db){continue;};var dg=db.getLayoutProperties().colSpan||0;if(dg>1){continue;};var dj=this.__qa(db);if(this.getColumnFlex(dk)>0){dh=Math.max(dh,dj.minWidth);}else {dh=Math.max(dh,dj.width);};di=Math.max(di,dj.width);};dh=Math.max(dh,this.getColumnMinWidth(dk));dd=this.getColumnMaxWidth(dk);if(this.getColumnWidth(dk)!==null){var di=this.getColumnWidth(dk);}else {var di=Math.max(dh,Math.min(di,dd));};df[dk]={minWidth:dh,width:di,maxWidth:dd};};if(this.__pS.length>0){this._fixWidthsColSpan(df);};this.__pX=df;return df;},_getColumnFlexOffsets:function(dq){var dm=this.getSizeHint();var ds=dq-dm.width;if(ds==0){return {};};var dp=this._getColWidths();var dn={};for(var i=0,l=dp.length;i0)||(dt.width==dt.minWidth&&ds<0)){continue;};dn[i]={min:dt.minWidth,value:dt.width,max:dt.maxWidth,flex:dr};};return qx.ui.layout.Util.computeFlexOffsets(dn,dq,dm.width);},_getRowFlexOffsets:function(dw){var du=this.getSizeHint();var dy=dw-du.height;if(dy==0){return {};};var dx=this._getRowHeights();var dv={};for(var i=0,l=dx.length;i0)||(dA.height==dA.minHeight&&dy<0)){continue;};dv[i]={min:dA.minHeight,value:dA.height,max:dA.maxHeight,flex:dz};};return qx.ui.layout.Util.computeFlexOffsets(dv,dw,du.height);},renderLayout:function(dV,dB,dU){if(this._invalidChildrenCache){this.__pY();};var dP=qx.ui.layout.Util;var dD=this.getSpacingX();var dJ=this.getSpacingY();var dT=this._getColWidths();var dW=this._getColumnFlexOffsets(dV);var dE=[];var dY=this.__pV;var dC=this.__pU;var dX;for(var ea=0;ea<=dY;ea++ ){dX=dW[ea]?dW[ea].offset:0;dE[ea]=dT[ea].width+dX;};var dM=this._getRowHeights();var dO=this._getRowFlexOffsets(dB);var eg=[];for(var dK=0;dK<=dC;dK++ ){dX=dO[dK]?dO[dK].offset:0;eg[dK]=dM[dK].height+dX;};var ee=0;for(var ea=0;ea<=dY;ea++ ){var top=0;for(var dK=0;dK<=dC;dK++ ){var dR=this.__pR[dK][ea];if(!dR){top+=eg[dK]+dJ;continue;};var dF=dR.getLayoutProperties();if(dF.row!==dK||dF.column!==ea){top+=eg[dK]+dJ;continue;};var ef=dD*(dF.colSpan-1);for(var i=0;i0){ei+=ep.minWidth;}else {ei+=ep.width;};eq+=ep.width;};var er=this._getRowHeights();var el=0,em=0;for(var i=0,l=er.length;i0){el+=es.minHeight;}else {el+=es.height;};em+=es.height;};var eo=this.getSpacingX()*(ek.length-1);var en=this.getSpacingY()*(er.length-1);var ej={minWidth:ei+eo,width:eq+eo,minHeight:el+en,height:em+en};return ej;}},destruct:function(){this.__pR=this.__pP=this.__pQ=this.__pS=this.__pT=this.__pX=this.__pW=null;}});})();(function(){var a="visibilityChanged",b="__qg",c="orderChanged",d="__qf",e="__qh",f="widthChanged",g="qx.ui.table.columnmodel.Basic",h=". The column is not added to this TablePaneModel.",j="Showing column failed: ",k=", got ",l="setColumnsOrder: Invalid number of column positions given, expected ",m="headerCellRendererChanged",n="qx.event.type.Data",o="visibilityChangedPre";qx.Class.define(g,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);this.__qb=[];this.__qc=[];},events:{"widthChanged":n,"visibilityChangedPre":n,"visibilityChanged":n,"orderChanged":n,"headerCellRendererChanged":n},statics:{DEFAULT_WIDTH:100,DEFAULT_HEADER_RENDERER:qx.ui.table.headerrenderer.Default,DEFAULT_DATA_RENDERER:qx.ui.table.cellrenderer.Default,DEFAULT_EDITOR_FACTORY:qx.ui.table.celleditor.TextField},members:{__oC:null,__qd:null,__qc:null,__qb:null,__qe:null,__qf:null,__qg:null,__qh:null,init:function(s,v){{};this.__qe=[];var r=qx.ui.table.columnmodel.Basic.DEFAULT_WIDTH;var t=this.__qf||(this.__qf=new qx.ui.table.columnmodel.Basic.DEFAULT_HEADER_RENDERER());var q=this.__qg||(this.__qg=new qx.ui.table.columnmodel.Basic.DEFAULT_DATA_RENDERER());var p=this.__qh||(this.__qh=new qx.ui.table.columnmodel.Basic.DEFAULT_EDITOR_FACTORY());this.__qb=[];this.__qc=[];var u;if(v){u=v.getInitiallyHiddenColumns();};u=u||[];for(var z=0;z=T&&U=Y&&Y!==-1){this.__qn();};},__qn:function(){this.__qk=[];this.__qm=0;},__qo:function(bc,ba,bb){if(!ba&&!bb&&this.__qk[bc]){return this.__qk[bc];}else {return null;};},__qp:function(bh,bg,be,bf){var bd=this.getMaxCacheLines();if(!be&&!bf&&!this.__qk[bh]&&bd>0){this._applyMaxCacheLines(bd);this.__qk[bh]=bg;this.__qm+=1;};},updateContent:function(bi,bl,bk,bj){if(bi){this.__qn();};if(bl&&Math.abs(bl)<=Math.min(10,this.getVisibleRowCount())){this._scrollContent(bl);}else if(bj&&!this.getTable().getAlwaysUpdateCells()){this._updateRowStyles(bk);}else {this._updateAllRows();};},_updateRowStyles:function(br){var bq=this.getContentElement().getDomElement();if(!bq||!bq.firstChild){this._updateAllRows();return;};var bu=this.getTable();var bn=bu.getSelectionModel();var bs=bu.getTableModel();var bv=bu.getDataRowRenderer();var bp=bq.firstChild.childNodes;var bo={table:bu};var bw=this.getFirstVisibleRow();var y=0;var bm=bp.length;if(br!=null){var bt=br-bw;if(bt>=0&&btcm){this._updateAllRows();return;};var co=cn<0?cf+cn:0;var ce=cn<0?0:cf-cn;for(var i=Math.abs(cn)-1;i>=0;i-- ){var ch=cd[co];try{cl.removeChild(ch);}catch(cp){break;};};if(!this.__ql){this.__ql=document.createElement(g);};var ck=a;ck+=this._getRowsHtml(ci+ce,Math.abs(cn));ck+=e;this.__ql.innerHTML=ck;var cj=this.__ql.firstChild.childNodes;if(cn>0){for(var i=cj.length-1;i>=0;i-- ){var ch=cj[0];cl.appendChild(ch);};}else {for(var i=cj.length-1;i>=0;i-- ){var ch=cj[cj.length-1];cl.insertBefore(ch,cl.firstChild);};};if(this.__oy!==null){this._updateRowStyles(this.__oy-cn);this._updateRowStyles(this.__oy);};this.fireEvent(t);},_updateAllRows:function(){var ct=this.getContentElement().getDomElement();if(!ct){this.addListenerOnce(u,arguments.callee,this);return;};var cz=this.getTable();var cw=cz.getTableModel();var cy=this.getPaneScroller().getTablePaneModel();var cx=cy.getColumnCount();var cq=cz.getRowHeight();var cu=this.getFirstVisibleRow();var cr=this.getVisibleRowCount();var cA=cw.getRowCount();if(cu+cr>cA){cr=Math.max(0,cA-cu);};var cs=cy.getTotalWidth();var cv;if(cr>0){cv=[E,m,(cz.getForceLineHeight()?s+cq+z:q),c,B,this._getRowsHtml(cu,cr),b];}else {cv=[];};var cB=cv.join(q);ct.innerHTML=cB;this.setWidth(cs);this.__qj=cx;this.__oB=cr;this.fireEvent(t);}},destruct:function(){this.__ql=this.__qi=this.__qk=null;this.removeListener(k,this._onTrack,this);}});})();(function(){var a="first",b="hovered",c="__qi",d="last",e="qx.ui.table.pane.Header";qx.Class.define(e,{extend:qx.ui.core.Widget,construct:function(f){qx.ui.core.Widget.call(this);this._setLayout(new qx.ui.layout.HBox());this.__lO=new qx.ui.core.Blocker(this);this.__qi=f;},members:{__qi:null,__qq:null,__qr:null,__lO:null,getPaneScroller:function(){return this.__qi;},getTable:function(){return this.__qi.getTable();},getBlocker:function(){return this.__lO;},onColOrderChanged:function(){this._updateContent(true);},onPaneModelChanged:function(){this._updateContent(true);},onTableModelMetaDataChanged:function(){this._updateContent();},setColumnWidth:function(h,g,i){var j=this.getHeaderWidgetAtColumn(h);if(j!=null){j.setWidth(g);};},setPointerOverColumn:function(l){if(l!=this.__qr){if(this.__qr!=null){var k=this.getHeaderWidgetAtColumn(this.__qr);if(k!=null){k.removeState(b);};};if(l!=null){this.getHeaderWidgetAtColumn(l).addState(b);};this.__qr=l;};},getHeaderWidgetAtColumn:function(n){var m=this.getPaneScroller().getTablePaneModel().getX(n);return this._getChildren()[m];},showColumnMoveFeedback:function(y,x){var r=this.getContentLocation();if(this.__qq==null){var w=this.getTable();var o=this.getPaneScroller().getTablePaneModel().getX(y);var q=this._getChildren()[o];var s=w.getTableModel();var u=w.getTableColumnModel();var v={xPos:o,col:y,name:s.getColumnName(y),table:w};var t=u.getHeaderCellRenderer(y);var p=t.createHeaderCell(v);var z=q.getBounds();p.setWidth(z.width);p.setHeight(z.height);p.setZIndex(1000000);p.setOpacity(0.8);p.setLayoutProperties({top:r.top});this.getApplicationRoot().add(p);this.__qq=p;};this.__qq.setLayoutProperties({left:r.left+x});this.__qq.show();},hideColumnMoveFeedback:function(){if(this.__qq!=null){this.__qq.destroy();this.__qq=null;};},isShowingColumnMoveFeedback:function(){return this.__qq!=null;},_updateContent:function(B){var L=this.getTable();var E=L.getTableModel();var H=L.getTableColumnModel();var A=this.getPaneScroller().getTablePaneModel();var D=this._getChildren();var F=A.getColumnCount();var I=E.getSortColumnIndex();if(B){this._cleanUpCells();};var J={};J.sortedAscending=E.isSortAscending();for(var x=0;x=0;x-- ){var N=O[x];N.destroy();};}},destruct:function(){this.__lO.dispose();this._disposeObjects(c);}});})();(function(){var a="changeScrollX",b="Boolean",c="__qw",d="scroll",g="focus-indicator",h="_paneClipper",i="changeHorizontalScrollBarVisible",j="cellDbltap",k="excluded",l="__de",m="bottom",n="_applyScrollTimeout",o="__qx",p="_applyTablePaneModel",q="Integer",r="cellTap",s="roll",t="qx.event.type.Data",u="dblclick",v="dataEdited",w="__qz",y="mouse",z="changeVerticalScrollBarVisible",A="interval",B="qx.ui.table.pane.Scroller",C="scrollbar-y",D="table-scroller-focus-indicator",E="_headerClipper",F="visible",G="__qv",H="resize-line",I="_applyShowCellFocusIndicator",J="header",K="dbltap",L="resize",M="pointerup",N="vertical",O="changeScrollY",P="__qt",Q="device.type",R="os.scrollBarOverlayed",S="pointerdown",T="modelChanged",U="changeTablePaneModel",V="beforeSort",W="scrollbar-x",X="__qy",Y="cellContextmenu",bz="horizontal",bA="table-scroller",bB="appear",bv="losecapture",bw="contextmenu",bx="col-resize",by="disappear",bF="_applyVerticalScrollBarVisible",bG="_applyHorizontalScrollBarVisible",bH="__qu",bL="editing",bC="pane",bD="desktop",bE="close",bt="tap",bK="pointermove",bu="qx.ui.table.pane.Model",bI="qx.ui.table.pane.CellEvent",bJ="pointerout";qx.Class.define(B,{extend:qx.ui.core.Widget,include:[qx.ui.core.scroll.MScrollBarFactory],construct:function(bM){qx.ui.core.Widget.call(this);this.__qs=bM;var bN=new qx.ui.layout.Grid();bN.setColumnFlex(0,1);bN.setRowFlex(1,1);this._setLayout(bN);this.__qt=this._showChildControl(J);this.__qu=this._showChildControl(bC);this.__qv=new qx.ui.container.Composite(new qx.ui.layout.HBox()).set({minWidth:0});this._add(this.__qv,{row:0,column:0,colSpan:2});this._headerClipper=this._createHeaderClipper();this._headerClipper.add(this.__qt);this._headerClipper.addListener(bv,this._onChangeCaptureHeader,this);this._headerClipper.addListener(bK,this._onPointermoveHeader,this);this._headerClipper.addListener(S,this._onPointerdownHeader,this);this._headerClipper.addListener(M,this._onPointerupHeader,this);this._headerClipper.addListener(bt,this._onTapHeader,this);this.__qv.add(this._headerClipper,{flex:1});this._paneClipper=this._createPaneClipper();this._paneClipper.add(this.__qu);this._paneClipper.addListener(s,this._onRoll,this);this._paneClipper.addListener(bK,this._onPointermovePane,this);this._paneClipper.addListener(S,this._onPointerdownPane,this);this._paneClipper.addListener(bt,this._onTapPane,this);this._paneClipper.addListener(bw,this._onTapPane,this);this._paneClipper.addListener(bw,this._onContextMenu,this);if(qx.core.Environment.get(Q)===bD){this._paneClipper.addListener(u,this._onDbltapPane,this);}else {this._paneClipper.addListener(K,this._onDbltapPane,this);};this._paneClipper.addListener(L,this._onResizePane,this);if(qx.core.Environment.get(R)){this.__qw=new qx.ui.container.Composite();this.__qw.setLayout(new qx.ui.layout.Canvas());this.__qw.add(this._paneClipper,{edge:0});this._add(this.__qw,{row:1,column:0});}else {this._add(this._paneClipper,{row:1,column:0});};this.__qx=this._showChildControl(W);this.__qy=this._showChildControl(C);this.__qz=this.getChildControl(g);this.initShowCellFocusIndicator();this.getChildControl(H).hide();this.addListener(bJ,this._onPointerout,this);this.addListener(bB,this._onAppear,this);this.addListener(by,this._onDisappear,this);this.__de=new qx.event.Timer();this.__de.addListener(A,this._oninterval,this);this.initScrollTimeout();},statics:{MIN_COLUMN_WIDTH:10,RESIZE_REGION_RADIUS:5,TAP_TOLERANCE:5,HORIZONTAL_SCROLLBAR:1,VERTICAL_SCROLLBAR:2},events:{"changeScrollY":t,"changeScrollX":t,"cellTap":bI,"cellDbltap":bI,"cellContextmenu":bI,"beforeSort":t},properties:{horizontalScrollBarVisible:{check:b,init:false,apply:bG,event:i},verticalScrollBarVisible:{check:b,init:false,apply:bF,event:z},tablePaneModel:{check:bu,apply:p,event:U},liveResize:{check:b,init:false},focusCellOnPointerMove:{check:b,init:false},selectBeforeFocus:{check:b,init:false},showCellFocusIndicator:{check:b,init:true,apply:I},contextMenuFromDataCellsOnly:{check:b,init:true},resetSelectionOnHeaderTap:{check:b,init:true},scrollTimeout:{check:q,init:100,apply:n},appearance:{refine:true,init:bA}},members:{__oB:null,__qs:null,__qA:null,__qB:null,__qC:null,_moveColumn:null,__qD:null,_lastMoveTargetX:null,_lastMoveTargetScroller:null,__qE:null,__qF:null,__qG:null,__qH:null,__qI:null,__qJ:false,__qK:null,__qL:null,__qM:null,__ox:null,__oy:null,_cellEditor:null,__qN:null,__qO:null,__qx:null,__qy:null,__qt:null,_headerClipper:null,__qu:null,_paneClipper:null,__qw:null,__qz:null,__qv:null,__de:null,getPaneInsetRight:function(){var bQ=this.getTopRightWidget();var bR=bQ&&bQ.isVisible()&&bQ.getBounds()?bQ.getBounds().width+bQ.getMarginLeft()+bQ.getMarginRight():0;var bP=this.__qy;var bO=this.getVerticalScrollBarVisible()?this.getVerticalScrollBarWidth()+bP.getMarginLeft()+bP.getMarginRight():0;return Math.max(bR,bO);},setPaneWidth:function(bS){if(this.isVerticalScrollBarVisible()){bS+=this.getPaneInsetRight();};this.setWidth(bS);},_createChildControlImpl:function(bV,bU){var bT;switch(bV){case J:bT=(this.getTable().getNewTablePaneHeader())(this);break;case bC:bT=(this.getTable().getNewTablePane())(this);break;case g:bT=new qx.ui.table.pane.FocusIndicator(this);bT.setUserBounds(0,0,0,0);bT.setZIndex(1000);bT.addListener(M,this._onPointerupFocusIndicator,this);this._paneClipper.add(bT);bT.show();bT.setDecorator(null);break;case H:bT=new qx.ui.core.Widget();bT.setUserBounds(0,0,0,0);bT.setZIndex(1000);this._paneClipper.add(bT);break;case W:bT=this._createScrollBar(bz).set({alignY:m});bT.addListener(d,this._onScrollX,this);if(this.__qw!=null){bT.setMinHeight(qx.ui.core.scroll.AbstractScrollArea.DEFAULT_SCROLLBAR_WIDTH);this.__qw.add(bT,{bottom:0,right:0,left:0});}else {this._add(bT,{row:2,column:0});};break;case C:bT=this._createScrollBar(N);bT.addListener(d,this._onScrollY,this);if(this.__qw!=null){this.__qw.add(bT,{right:0,bottom:0,top:0});}else {this._add(bT,{row:1,column:1});};break;};return bT||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bV);},_applyHorizontalScrollBarVisible:function(bX,bW){this.__qx.setVisibility(bX?F:k);},_applyVerticalScrollBarVisible:function(ca,bY){this.__qy.setVisibility(ca?F:k);},_applyTablePaneModel:function(cc,cb){if(cb!=null){cb.removeListener(T,this._onPaneModelChanged,this);};cc.addListener(T,this._onPaneModelChanged,this);},_applyShowCellFocusIndicator:function(ce,cd){if(ce){this.__qz.setDecorator(D);this._updateFocusIndicator();}else {if(this.__qz){this.__qz.setDecorator(null);};};},getScrollY:function(){return this.__qy.getPosition();},setScrollY:function(scrollY,cf){this.__qy.scrollTo(scrollY);if(cf){this._updateContent();};},getScrollX:function(){return this.__qx.getPosition();},setScrollX:function(scrollX){this.__qx.scrollTo(scrollX);},getTable:function(){return this.__qs;},_createPaneClipper:function(){return new qx.ui.table.pane.Clipper();},_createHeaderClipper:function(){return new qx.ui.table.pane.Clipper();},onColVisibilityChanged:function(){this.updateHorScrollBarMaximum();this._updateFocusIndicator();},setColumnWidth:function(ci,ch){this.__qt.setColumnWidth(ci,ch);this.__qu.setColumnWidth(ci,ch);var cg=this.getTablePaneModel();var x=cg.getX(ci);if(x!=-1){this.updateHorScrollBarMaximum();this._updateFocusIndicator();};},onColOrderChanged:function(){this.__qt.onColOrderChanged();this.__qu.onColOrderChanged();this.updateHorScrollBarMaximum();},onTableModelDataChanged:function(cm,ck,cn,cl){this.__qu.onTableModelDataChanged(cm,ck,cn,cl);var cj=this.getTable().getTableModel().getRowCount();if(cj!=this.__oB){this.updateVerScrollBarMaximum();if(this.getFocusedRow()>=cj){if(cj==0){this.setFocusedCell(null,null);}else {this.setFocusedCell(this.getFocusedColumn(),cj-1);};};this.__oB=cj;};},onSelectionChanged:function(){this.__qu.onSelectionChanged();},onFocusChanged:function(){this.__qu.onFocusChanged();},onTableModelMetaDataChanged:function(){this.__qt.onTableModelMetaDataChanged();this.__qu.onTableModelMetaDataChanged();},_onPaneModelChanged:function(){this.__qt.onPaneModelChanged();this.__qu.onPaneModelChanged();},_onResizePane:function(){this.updateHorScrollBarMaximum();this.updateVerScrollBarMaximum();this._updateContent();this.__qt._updateContent();this.__qs._updateScrollBarVisibility();},updateHorScrollBarMaximum:function(){var cs=this._paneClipper.getInnerSize();if(!cs){return;};var cp=this.getTablePaneModel().getTotalWidth();var cq=this.__qx;if(cs.width0&&cE.y<1){cE.y=1;}else if(cE.y<0&&cE.y>-1){cE.y=-1;};this.__qy.scrollBy(parseInt(cE.y,10));var cC=cE.y!=0&&!this.__qP(this.__qy,cE.y);if(cE.x>0&&cE.x<1){cE.x=1;}else if(cE.x<0&&cE.x>-1){cE.x=-1;};this.__qx.scrollBy(parseInt(cE.x,10));if(this.__qL&&this.getFocusCellOnPointerMove()){this._focusCellAtPagePos(this.__qL,this.__qM);};cC=cC||(cE.x!=0&&!this.__qP(this.__qx,cE.x));if(cC){e.stop();}else {e.stopMomentum();};},__qP:function(cG,cH){var cF=cG.getPosition();return (cH<0&&cF<=0)||(cH>0&&cF>=cG.getMaximum());},__qQ:function(cN){var cL=this.getTable();var cO=this.__qt.getHeaderWidgetAtColumn(this.__qF);var cI=cO.getSizeHint().minWidth;var cK=Math.max(cI,this.__qH+cN-this.__qG);if(this.getLiveResize()){var cJ=cL.getTableColumnModel();cJ.setColumnWidth(this.__qF,cK,true);}else {this.__qt.setColumnWidth(this.__qF,cK,true);var cM=this.getTablePaneModel();this._showResizeLine(cM.getColumnLeft(this.__qF)+cK);};this.__qG+=cK-this.__qH;this.__qH=cK;},__qR:function(cR){var cQ=qx.ui.table.pane.Scroller.TAP_TOLERANCE;if(this.__qt.isShowingColumnMoveFeedback()||cR>this.__qE+cQ||cRdx){dw-- ;};dA.moveColumn(dx,dw);this._updateFocusIndicator();};};this._moveColumn=null;this._lastMoveTargetX=null;this._headerClipper.releaseCapture();},_onPointerupHeader:function(e){var dE=this.getTable();if(!dE.getEnabled()){return;};if(this.__qF!=null){this._stopResizeHeader();this.__qK=true;e.stop();}else if(this._moveColumn!=null){this._stopMoveHeader();e.stop();};},_onTapHeader:function(e){if(this.__qK){this.__qK=false;return;};var dJ=this.getTable();if(!dJ.getEnabled()){return;};var dH=dJ.getTableModel();var dI=e.getDocumentLeft();var dG=this._getResizeColumnForPageX(dI);if(dG==-1){var dM=this._getColumnForPageX(dI);if(dM!=null&&dH.isColumnSortable(dM)){var dF=dH.getSortColumnIndex();var dK=(dM!=dF)?true:!dH.isSortAscending();var dL={column:dM,ascending:dK,tapEvent:e};if(this.fireDataEvent(V,dL,null,true)){if(dJ.isEditing()){dJ.stopEditing();};dH.sortByColumn(dM,dK);if(this.getResetSelectionOnHeaderTap()){dJ.getSelectionModel().resetSelection();};};};};e.stop();},_onTapPane:function(e){var dQ=this.getTable();if(!dQ.getEnabled()){return;};var dO=e.getDocumentLeft();var dP=e.getDocumentTop();var dS=this._getRowForPagePos(dO,dP);var dR=this._getColumnForPageX(dO);if(dS!=null&&dR!=null){var dN=this.getSelectBeforeFocus();if(dN){dQ.getSelectionManager().handleTap(dS,e);};if(!this.getFocusCellOnPointerMove()){this._focusCellAtPagePos(dO,dP);};if(!dN){dQ.getSelectionManager().handleTap(dS,e);};if(this.__qz.isHidden()||(this.__qI&&!this.__qJ&&!this.isEditing()&&dS==this.__qI.row&&dR==this.__qI.col)){this.fireEvent(r,qx.ui.table.pane.CellEvent,[this,e,dS,dR],true);this.__qJ=true;};};},_onContextMenu:function(e){var dU=e.getDocumentLeft();var dV=e.getDocumentTop();var dX=this._getRowForPagePos(dU,dV);var dW=this._getColumnForPageX(dU);if(dX===null&&this.getContextMenuFromDataCellsOnly()){return;};if(!this.getShowCellFocusIndicator()||dX===null||(this.__qI&&dX==this.__qI.row&&dW==this.__qI.col)){this.fireEvent(Y,qx.ui.table.pane.CellEvent,[this,e,dX,dW],true);var dT=this.getTable().getContextMenu();if(dT){if(dT.getChildren().length>0){dT.openAtPointer(e);}else {dT.exclude();};e.preventDefault();};};},_onContextMenuOpen:function(e){},_onDbltapPane:function(e){var eb=e.getDocumentLeft();var ec=e.getDocumentTop();var ea=this._getColumnForPageX(eb);if(ea!==null){this._focusCellAtPagePos(eb,ec);this.startEditing();var dY=this._getRowForPagePos(eb,ec);if(dY!=-1&&dY!=null){this.fireEvent(j,qx.ui.table.pane.CellEvent,[this,e,dY],true);};};},_onPointerout:function(e){var ed=this.getTable();if(!ed.getEnabled()){return;};if(this.__qF==null){this.setCursor(null);this.getApplicationRoot().setGlobalCursor(null);};this.__qt.setPointerOverColumn(null);if(this.getFocusCellOnPointerMove()){this.__qs.setFocusedCell();};},_showResizeLine:function(x){var ef=this._showChildControl(H);var ee=ef.getWidth();var eg=this._paneClipper.getBounds();ef.setUserBounds(x-Math.round(ee/2),0,ee,eg.height);},_hideResizeLine:function(){this._excludeChildControl(H);},showColumnMoveFeedback:function(ep){var eq=this.getTablePaneModel();var ej=this.getTable().getTableColumnModel();var ek=this.__qu.getContentLocation().left;var eo=eq.getColumnCount();var el=0;var et=0;var ei=ek;for(var eh=0;eh=(fi-fg)&&fh<=(fi+fg)){return fn;};};return -1;},_getRowForPagePos:function(fu,fv){var fo=this.__qu.getContentLocation();if(fufo.right){return null;};if(fv>=fo.top&&fv<=fo.bottom){var fp=this.getTable().getRowHeight();var scrollY=this.__qy.getPosition();if(this.getTable().getKeepFirstVisibleRowComplete()){scrollY=Math.floor(scrollY/fp)*fp;};var fs=scrollY+fv-fo.top;var fw=Math.floor(fs/fp);var fq=this.getTable().getTableModel();var ft=fq.getRowCount();return (fw=fr.top&&fv<=fr.bottom&&fu<=fr.right){return -1;};return null;},setTopRightWidget:function(fx){var fy=this.__qO;if(fy!=null){this.__qv.remove(fy);};if(fx!=null){this.__qv.add(fx);};this.__qO=fx;},getTopRightWidget:function(){return this.__qO;},getHeader:function(){return this.__qt;},getTablePane:function(){return this.__qu;},getVerticalScrollBarWidth:function(){var fz=this.__qy;return fz.isVisible()?(fz.getSizeHint().width||0):0;},getNeededScrollBars:function(fD,fE){var fP=this.__qy;var fO=fP.getSizeHint().width+fP.getMarginLeft()+fP.getMarginRight();var fJ=this.__qx;var fM=fJ.getSizeHint().height+fJ.getMarginTop()+fJ.getMarginBottom();var fG=this._paneClipper.getInnerSize();var fA=fG?fG.width:0;if(this.getVerticalScrollBarVisible()){fA+=fO;};var fK=fG?fG.height:0;if(this.getHorizontalScrollBarVisible()){fK+=fM;};var fH=this.getTable().getTableModel();var fI=fH.getRowCount();var fB=this.getTablePaneModel().getTotalWidth();var fL=this.getTable().getRowHeight()*fI;var fC=false;var fQ=false;if(fB>fA){fC=true;if(fL>fK-fM){fQ=true;};}else if(fL>fK){fQ=true;if(!fE&&(fB>fA-fO)){fC=true;};};var fF=qx.ui.table.pane.Scroller.HORIZONTAL_SCROLLBAR;var fN=qx.ui.table.pane.Scroller.VERTICAL_SCROLLBAR;return ((fD||fC)?fF:0)|((fE||!fQ)?0:fN);},getPaneClipper:function(){return this._paneClipper;},getScrollAreaContainer:function(){return this.getPaneClipper();},_applyScrollTimeout:function(fS,fR){this._startInterval(fS);},_startInterval:function(fT){this.__de.setInterval(fT);this.__de.start();},_stopInterval:function(){this.__de.stop();},_postponedUpdateContent:function(){this._updateContent();},_oninterval:qx.event.GlobalError.observeMethod(function(){if(this.__qB&&!this.__qu._layoutPending){this.__qB=false;this._updateContent();};}),_updateContent:function(){var gc=this._paneClipper.getInnerSize();if(!gc){return;};var ga=gc.height;var scrollX=this.__qx.getPosition();var scrollY=this.__qy.getPosition();var fV=this.getTable().getRowHeight();var fX=Math.floor(scrollY/fV);var gb=this.__qu.getFirstVisibleRow();this.__qu.setFirstVisibleRow(fX);var fW=Math.ceil(ga/fV);var fU=0;var fY=this.getTable().getKeepFirstVisibleRowComplete();if(!fY){fW++ ;fU=scrollY%fV;};this.__qu.setVisibleRowCount(fW);if(fX!=gb){this._updateFocusIndicator();};this._paneClipper.scrollToX(scrollX);if(!fY){this._paneClipper.scrollToY(fU);};},_updateFocusIndicator:function(){var gd=this.getTable();if(!gd.getEnabled()){return;};this.__qz.moveToCell(this.__ox,this.__oy);}},destruct:function(){this._stopInterval();var ge=this.getTablePaneModel();if(ge){ge.dispose();};this.__qI=this.__qO=this.__qs=null;this._disposeObjects(o,X,E,h,w,P,bH,G,l,c);}});})();(function(){var a="Escape",b="keypress",c="Enter",d="excluded",f="Integer",g="qx.ui.table.pane.FocusIndicator";qx.Class.define(g,{extend:qx.ui.container.Composite,construct:function(h){qx.ui.container.Composite.call(this);this.__qS=h;this.setKeepActive(true);this.addListener(b,this._onKeyPress,this);},properties:{visibility:{refine:true,init:d},row:{check:f,nullable:true},column:{check:f,nullable:true}},members:{__qS:null,_onKeyPress:function(e){var i=e.getKeyIdentifier();if(i!==a&&i!==c){e.stopPropagation();};},moveToCell:function(p,q){if(!this.__qS.getShowCellFocusIndicator()&&!this.__qS.getTable().getTableModel().isColumnEditable(p)){this.exclude();return;}else {this.show();};if(p==null){this.hide();this.setRow(null);this.setColumn(null);}else {var j=this.__qS.getTablePaneModel().getX(p);if(j==-1){this.hide();this.setRow(null);this.setColumn(null);}else {var o=this.__qS.getTable();var m=o.getTableColumnModel();var n=this.__qS.getTablePaneModel();var l=this.__qS.getTablePane().getFirstVisibleRow();var k=o.getRowHeight();this.setUserBounds(n.getColumnLeft(p)-2,(q-l)*k-2,m.getColumnWidth(p)+3,k+3);this.show();this.setRow(q);this.setColumn(p);};};}},destruct:function(){this.__qS=null;}});})();(function(){var a="mouse",b="scrollbar-y",c="qx.ui.core.scroll.MRoll",d="pointerdown",f="scrollbar-x",g="roll";qx.Mixin.define(c,{members:{__qT:null,_addRollHandling:function(){this.addListener(g,this._onRoll,this);this.addListener(d,this._onPointerDownForRoll,this);},_removeRollHandling:function(){this.removeListener(g,this._onRoll,this);this.removeListener(d,this._onPointerDownForRoll,this);},_onPointerDownForRoll:function(e){this.__qT=e.getPointerId();},_onRoll:function(e){if(e.getPointerType()==a){return;};if(this.__qT&&e.getMomentum()){qx.event.Registration.getManager(e.getOriginalTarget()).getHandler(qx.event.handler.Gesture).gestureCancel(this.__qT);e.stopMomentum();this.__qT=null;return;};this.__qT=null;var k=this._isChildControlVisible(f);var l=this._isChildControlVisible(b);var q=l?this.getChildControl(b,true):null;var p=k?this.getChildControl(f,true):null;var m=e.getDelta().y;var h=e.getDelta().x;var j=!l;var o=!k;if(q){if(m!==0){q.scrollBy(parseInt(m,10));};var n=q.getPosition();var i=q.getMaximum();if(m<0&&n<=0||m>0&&n>=i){j=true;};};if(p){if(h!==0){p.scrollBy(parseInt(h,10));};var n=p.getPosition();var i=p.getMaximum();if(h<0&&n<=0||h>0&&n>=i){o=true;};};if(o&&j){e.stopMomentum();};if((!j&&h===0)||(!o&&m===0)||((!o||!j)&&h!==0&&m!==0)){e.stop();};}}});})();(function(){var a="scrollY",b="_computeScrollbars",c="X",d="scrollbar-y",f="scrollAnimation",g="scrollbarX",h="auto",i="End",j="corner",k="os.scrollBarOverlayed",l="scrollarea",m="changeVisibility",n="vertical",o="scrollX",p="scrollAnimationEnd",q="off",r="horizontal",s="scrollbar-x",t="Y",u='qx.event.type.Event',v="qx.ui.core.scroll.AbstractScrollArea",w="abstract",x="update",y="scrollbarY",z="pane",A="on",B="scroll";qx.Class.define(v,{extend:qx.ui.core.Widget,include:[qx.ui.core.scroll.MScrollBarFactory,qx.ui.core.scroll.MRoll,qx.ui.core.MDragDropScrolling],type:w,statics:{DEFAULT_SCROLLBAR_WIDTH:14},construct:function(){qx.ui.core.Widget.call(this);if(qx.core.Environment.get(k)){this._setLayout(new qx.ui.layout.Canvas());}else {var C=new qx.ui.layout.Grid();C.setColumnFlex(0,1);C.setRowFlex(0,1);this._setLayout(C);};this._addRollHandling();},events:{scrollAnimationXEnd:u,scrollAnimationYEnd:u},properties:{appearance:{refine:true,init:l},width:{refine:true,init:100},height:{refine:true,init:200},scrollbarX:{check:[h,A,q],init:h,themeable:true,apply:b},scrollbarY:{check:[h,A,q],init:h,themeable:true,apply:b},scrollbar:{group:[g,y]}},members:{_createChildControlImpl:function(F,E){var D;switch(F){case z:D=new qx.ui.core.scroll.ScrollPane();D.addListener(x,this._computeScrollbars,this);D.addListener(o,this._onScrollPaneX,this);D.addListener(a,this._onScrollPaneY,this);if(qx.core.Environment.get(k)){this._add(D,{edge:0});}else {this._add(D,{row:0,column:0});};break;case s:D=this._createScrollBar(r);D.setMinWidth(0);D.exclude();D.addListener(B,this._onScrollBarX,this);D.addListener(m,this._onChangeScrollbarXVisibility,this);D.addListener(p,this._onScrollAnimationEnd.bind(this,c));if(qx.core.Environment.get(k)){D.setMinHeight(qx.ui.core.scroll.AbstractScrollArea.DEFAULT_SCROLLBAR_WIDTH);this._add(D,{bottom:0,right:0,left:0});}else {this._add(D,{row:1,column:0});};break;case d:D=this._createScrollBar(n);D.setMinHeight(0);D.exclude();D.addListener(B,this._onScrollBarY,this);D.addListener(m,this._onChangeScrollbarYVisibility,this);D.addListener(p,this._onScrollAnimationEnd.bind(this,t));if(qx.core.Environment.get(k)){D.setMinWidth(qx.ui.core.scroll.AbstractScrollArea.DEFAULT_SCROLLBAR_WIDTH);this._add(D,{right:0,bottom:0,top:0});}else {this._add(D,{row:0,column:1});};break;case j:D=new qx.ui.core.Widget();D.setWidth(0);D.setHeight(0);D.exclude();if(!qx.core.Environment.get(k)){this._add(D,{row:1,column:1});};break;};return D||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,F);},getPaneSize:function(){return this.getChildControl(z).getInnerSize();},getItemTop:function(G){return this.getChildControl(z).getItemTop(G);},getItemBottom:function(H){return this.getChildControl(z).getItemBottom(H);},getItemLeft:function(I){return this.getChildControl(z).getItemLeft(I);},getItemRight:function(J){return this.getChildControl(z).getItemRight(J);},scrollToX:function(L,K){qx.ui.core.queue.Manager.flush();this.getChildControl(s).scrollTo(L,K);},scrollByX:function(N,M){qx.ui.core.queue.Manager.flush();this.getChildControl(s).scrollBy(N,M);},getScrollX:function(){var O=this.getChildControl(s,true);return O?O.getPosition():0;},scrollToY:function(Q,P){qx.ui.core.queue.Manager.flush();this.getChildControl(d).scrollTo(Q,P);},scrollByY:function(S,R){qx.ui.core.queue.Manager.flush();this.getChildControl(d).scrollBy(S,R);},getScrollY:function(){var T=this.getChildControl(d,true);return T?T.getPosition():0;},stopScrollAnimationX:function(){var U=this.getChildControl(s,true);if(U){U.stopScrollAnimation();};},stopScrollAnimationY:function(){var V=this.getChildControl(d,true);if(V){V.stopScrollAnimation();};},_onScrollAnimationEnd:function(W){this.fireEvent(f+W+i);},_onScrollBarX:function(e){this.getChildControl(z).scrollToX(e.getData());},_onScrollBarY:function(e){this.getChildControl(z).scrollToY(e.getData());},_onScrollPaneX:function(e){var X=this.getChildControl(s);if(X){X.updatePosition(e.getData());};},_onScrollPaneY:function(e){var Y=this.getChildControl(d);if(Y){Y.updatePosition(e.getData());};},_onChangeScrollbarXVisibility:function(e){var ba=this._isChildControlVisible(s);var bb=this._isChildControlVisible(d);if(!ba){this.scrollToX(0);};ba&&bb?this._showChildControl(j):this._excludeChildControl(j);},_onChangeScrollbarYVisibility:function(e){var bc=this._isChildControlVisible(s);var bd=this._isChildControlVisible(d);if(!bd){this.scrollToY(0);};bc&&bd?this._showChildControl(j):this._excludeChildControl(j);},_computeScrollbars:function(){var bk=this.getChildControl(z);var content=bk.getChildren()[0];if(!content){this._excludeChildControl(s);this._excludeChildControl(d);return;};var be=this.getInnerSize();var bj=bk.getInnerSize();var bh=bk.getScrollSize();if(!bj||!bh){return;};var bl=this.getScrollbarX();var bm=this.getScrollbarY();if(bl===h&&bm===h){var bi=bh.width>be.width;var bn=bh.height>be.height;if((bi||bn)&&!(bi&&bn)){if(bi){bn=bh.height>bj.height;}else if(bn){bi=bh.width>bj.width;};};}else {var bi=bl===A;var bn=bm===A;if(bh.width>(bi?bj.width:be.width)&&bl===h){bi=true;};if(bh.height>(bi?bj.height:be.height)&&bm===h){bn=true;};};if(bi){var bg=this.getChildControl(s);bg.show();bg.setMaximum(Math.max(0,bh.width-bj.width));bg.setKnobFactor((bh.width===0)?0:bj.width/bh.width);}else {this._excludeChildControl(s);};if(bn){var bf=this.getChildControl(d);bf.show();bf.setMaximum(Math.max(0,bh.height-bj.height));bf.setKnobFactor((bh.height===0)?0:bj.height/bh.height);}else {this._excludeChildControl(d);};}}});})();(function(){var a="os.version",b="os.name",c="qx.mobile.nativescroll",d="osx",e="qx.nativeScrollBars",f="event.mspointer",g="android",h="firefox",i="os.scrollBarOverlayed",j="browser.version",k="ios",l=".",m="browser.name",n="qx.bom.client.Scroll";qx.Bootstrap.define(n,{statics:{scrollBarOverlayed:function(){var o=qx.bom.element.Scroll.getScrollbarWidth();var q=qx.bom.client.OperatingSystem.getName()===d;var p=qx.core.Environment.get(e);return o===0&&q&&p;},getNativeScroll:function(){if(qx.core.Environment.get(b)==k&&parseInt(qx.core.Environment.get(j),10)>7){return true;};if(qx.core.Environment.get(m)==h){return true;};if(qx.core.Environment.get(b)==g){var s=qx.core.Environment.get(a);var r=s.split(l);if(r[0]>4||(r.length>1&&r[0]>3&&r[1]>3)){return true;};};if(qx.core.Environment.get(f)){return true;};return false;}},defer:function(t){qx.core.Environment.add(i,t.scrollBarOverlayed);qx.core.Environment.add(c,t.getNativeScroll);}});})();(function(){var a="qx.ui.table.pane.Clipper";qx.Class.define(a,{extend:qx.ui.container.Composite,construct:function(){qx.ui.container.Composite.call(this,new qx.ui.layout.Grow());this.setMinWidth(0);},members:{scrollToX:function(b){this.getContentElement().scrollToX(b,false);},scrollToY:function(c){this.getContentElement().scrollToY(c,true);}}});})();(function(){var a="Integer",b="qx.ui.table.pane.CellEvent";qx.Class.define(b,{extend:qx.event.type.Pointer,properties:{row:{check:a,nullable:true},column:{check:a,nullable:true}},members:{init:function(e,c,f,d){c.clone(this);this.setBubbles(false);if(f!=null){this.setRow(f);}else {this.setRow(e._getRowForPagePos(this.getDocumentLeft(),this.getDocumentTop()));};if(d!=null){this.setColumn(d);}else {this.setColumn(e._getColumnForPageX(this.getDocumentLeft()));};},clone:function(g){var h=qx.event.type.Pointer.prototype.clone.call(this,g);h.set({row:this.getRow(),column:this.getColumn()});return h;}}});})();(function(){var a="qx.lang.Number";qx.Class.define(a,{statics:{isInRange:function(c,d,b){return c>=d&&c<=b;},isBetweenRange:function(f,g,e){return f>g&&fh){return h;}else if(j!=null&&ik.getZIndex()){k=f;};};this.__qU.setActiveWindow(k);},bringToFront:function(o){var n=this.__qU.getWindows();var p=qx.lang.Array.remove(n,o);if(p){n.push(o);this.updateStack();};},sendToBack:function(r){var q=this.__qU.getWindows();var s=qx.lang.Array.remove(q,r);if(s){q.unshift(r);this.updateStack();};}},destruct:function(){this._disposeObjects(a);}});})();(function(){var a="pointerup",b="__qW",c="Boolean",d="losecapture",f="move",g="qx.ui.core.MMovable",h="__qV",i="The move handle could not be redefined!",j="pointerdown",k="maximized",l="pointermove",m="roll",n="move-frame";qx.Mixin.define(g,{properties:{movable:{check:c,init:true},useMoveFrame:{check:c,init:false}},members:{__qV:null,__qW:null,__qX:null,__qY:null,__ra:null,__rb:null,__rc:null,__rd:false,__re:null,__rf:0,_activateMoveHandle:function(o){if(this.__qV){throw new Error(i);};this.__qV=o;o.addListener(j,this._onMovePointerDown,this);o.addListener(a,this._onMovePointerUp,this);o.addListener(l,this._onMovePointerMove,this);o.addListener(d,this.__rj,this);},__rg:function(){var p=this.__qW;if(!p){p=this.__qW=new qx.ui.core.Widget();p.setAppearance(n);p.exclude();qx.core.Init.getApplication().getRoot().add(p);};return p;},__rh:function(){var location=this.getContentLocation();var r=this.getBounds();var q=this.__rg();q.setUserBounds(location.left,location.top,r.width,r.height);q.show();q.setZIndex(this.getZIndex()+1);},__ri:function(e){var t=this.__qX;var s=Math.max(t.left,Math.min(t.right,e.getDocumentLeft()));var v=Math.max(t.top,Math.min(t.bottom,e.getDocumentTop()));var u=this.__qY+s;var w=this.__ra+v;return {viewportLeft:parseInt(u,10),viewportTop:parseInt(w,10),parentLeft:parseInt(u-this.__rb,10),parentTop:parseInt(w-this.__rc,10)};},_onMoveRoll:function(e){e.stop();},_onMovePointerDown:function(e){if(!this.getMovable()||this.hasState(k)){return;};this.addListener(m,this._onMoveRoll,this);var parent=this.getLayoutParent();var x=parent.getContentLocation();var z=parent.getBounds();if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(!parent.isBlocked()){this.__re=parent.getBlockerColor();this.__rf=parent.getBlockerOpacity();parent.setBlockerColor(null);parent.setBlockerOpacity(1);parent.blockContent(this.getZIndex()-1);this.__rd=true;};};this.__qX={left:x.left,top:x.top,right:x.left+z.width,bottom:x.top+z.height};var y=this.getContentLocation();this.__rb=x.left;this.__rc=x.top;this.__qY=y.left-e.getDocumentLeft();this.__ra=y.top-e.getDocumentTop();this.addState(f);this.__qV.capture();if(this.getUseMoveFrame()){this.__rh();};e.stop();},_onMovePointerMove:function(e){if(!this.hasState(f)){return;};var B=this.__ri(e);if(this.getUseMoveFrame()){this.__rg().setDomPosition(B.viewportLeft,B.viewportTop);}else {var A=this.getLayoutParent().getInsets();this.setDomPosition(B.parentLeft-(A.left||0),B.parentTop-(A.top||0));};e.stopPropagation();},_onMovePointerUp:function(e){if(this.hasListener(m,this._onMoveRoll,this)){this.removeListener(m,this._onMoveRoll,this);};if(!this.hasState(f)){return;};this.removeState(f);var parent=this.getLayoutParent();if(qx.Class.implementsInterface(parent,qx.ui.window.IDesktop)){if(this.__rd){parent.unblock();parent.setBlockerColor(this.__re);parent.setBlockerOpacity(this.__rf);this.__re=null;this.__rf=0;this.__rd=false;};};this.__qV.releaseCapture();var D=this.__ri(e);var C=this.getLayoutParent().getInsets();this.setLayoutProperties({left:D.parentLeft-(C.left||0),top:D.parentTop-(C.top||0)});if(this.getUseMoveFrame()){this.__rg().exclude();};e.stopPropagation();},__rj:function(e){if(!this.hasState(f)){return;};this.removeState(f);if(this.getUseMoveFrame()){this.__rg().exclude();};}},destruct:function(){this._disposeObjects(b,h);this.__qX=null;}});})();(function(){var a="resetPaddingRight",b="setPaddingTop",c="_applyContentPadding",d="setPaddingBottom",e="resetThemed",f="contentPaddingRight",g="Integer",h="contentPaddingLeft",i="setThemedPaddingLeft",j="resetPaddingTop",k="shorthand",l="setThemedPaddingRight",m="setThemed",n="setPaddingRight",o="contentPaddingBottom",p="resetPaddingBottom",q="qx.ui.core.MContentPadding",r="resetPaddingLeft",s="setThemedPaddingTop",t="setPaddingLeft",u="setThemedPaddingBottom",v="contentPaddingTop";qx.Mixin.define(q,{properties:{contentPaddingTop:{check:g,init:0,apply:c,themeable:true},contentPaddingRight:{check:g,init:0,apply:c,themeable:true},contentPaddingBottom:{check:g,init:0,apply:c,themeable:true},contentPaddingLeft:{check:g,init:0,apply:c,themeable:true},contentPadding:{group:[v,f,o,h],mode:k,themeable:true}},members:{__rk:{contentPaddingTop:b,contentPaddingRight:n,contentPaddingBottom:d,contentPaddingLeft:t},__rl:{contentPaddingTop:s,contentPaddingRight:l,contentPaddingBottom:u,contentPaddingLeft:i},__rm:{contentPaddingTop:j,contentPaddingRight:a,contentPaddingBottom:p,contentPaddingLeft:r},_applyContentPadding:function(z,w,name,y){var A=this._getContentPaddingTarget();if(z==null){var x=this.__rm[name];A[x]();}else {if(y==m||y==e){var B=this.__rl[name];A[B](z);}else {var B=this.__rk[name];A[B](z);};};}}});})();(function(){var a="Boolean",b="w-resize",c="touch",d="sw-resize",f="n-resize",g="resizableRight",h="ne-resize",i="se-resize",j="Integer",k="e-resize",l="resizableLeft",m="move",n="shorthand",o="maximized",p="resize",q="nw-resize",r="pointerup",s="pointerdown",t="qx.ui.core.MResizable",u="losecapture",v="resize-frame",w="resizableBottom",x="s-resize",y="pointermove",z="resizableTop",A="pointerout";qx.Mixin.define(t,{construct:function(){var content=this.getContentElement();content.addListener(s,this.__rz,this,true);content.addListener(r,this.__rA,this);content.addListener(y,this.__rC,this);content.addListener(A,this.__rD,this);content.addListener(u,this.__rB,this);var B=content.getDomElement();if(B==null){B=window;};this.__rn=qx.event.Registration.getManager(B).getHandler(qx.event.handler.DragDrop);},properties:{resizableTop:{check:a,init:true},resizableRight:{check:a,init:true},resizableBottom:{check:a,init:true},resizableLeft:{check:a,init:true},resizable:{group:[z,g,w,l],mode:n},resizeSensitivity:{check:j,init:5},useResizeFrame:{check:a,init:true}},members:{__rn:null,__ro:null,__rp:null,__rq:null,__rr:null,__rs:null,__rt:null,RESIZE_TOP:1,RESIZE_BOTTOM:2,RESIZE_LEFT:4,RESIZE_RIGHT:8,_getResizeFrame:function(){var C=this.__ro;if(!C){C=this.__ro=new qx.ui.core.Widget();C.setAppearance(v);C.exclude();qx.core.Init.getApplication().getRoot().add(C);};return C;},__ru:function(){var location=this.getContentLocation();var D=this._getResizeFrame();D.setUserBounds(location.left,location.top,location.right-location.left,location.bottom-location.top);D.show();D.setZIndex(this.getZIndex()+1);},__rv:function(e){var F=this.__rp;var E=this.getSizeHint();var I=this.__rt;var H=this.__rs;var J=H.width;var G=H.height;var L=H.left;var top=H.top;var K;if((F&this.RESIZE_TOP)||(F&this.RESIZE_BOTTOM)){K=Math.max(I.top,Math.min(I.bottom,e.getDocumentTop()))-this.__rr;if(F&this.RESIZE_TOP){G-=K;}else {G+=K;};if(GE.maxHeight){G=E.maxHeight;};if(F&this.RESIZE_TOP){top+=H.height-G;};};if((F&this.RESIZE_LEFT)||(F&this.RESIZE_RIGHT)){K=Math.max(I.left,Math.min(I.right,e.getDocumentLeft()))-this.__rq;if(F&this.RESIZE_LEFT){J-=K;}else {J+=K;};if(JE.maxWidth){J=E.maxWidth;};if(F&this.RESIZE_LEFT){L+=H.width-J;};};return {viewportLeft:L,viewportTop:top,parentLeft:H.bounds.left+L-H.left,parentTop:H.bounds.top+top-H.top,width:J,height:G};},__rw:{'1':f,'2':x,'4':b,'8':k,'5':q,'6':d,'9':h,'10':i},__rx:function(e){var location=this.getContentLocation();var O=this.getResizeSensitivity();var N=e.getDocumentLeft();var P=e.getDocumentTop();var M=this.__ry(location,N,P,O);if(M>0){M=M|this.__ry(location,N,P,O*2);};this.__rp=M;},__ry:function(location,T,R,S){var Q=0;if(this.getResizableTop()&&Math.abs(location.top-R)location.left-S&&Tlocation.left-S&&Tlocation.top-S&&Rlocation.top-S&&Rs){this.__rG=s-r;}else {this.__rG=t;};};return this.__rG;},getColumnAtX:function(v){var u=this.getFirstColumnX();return this.__rH.getVisibleColumnAtX(u+v);},getX:function(z){var w=this.getFirstColumnX();var y=this.getMaxColumnCount();var x=this.__rH.getVisibleX(z)-w;if(x>=0&&(y==-1||xn)?1:((k==n)?0:-1);},_defaultSortComparatorInsensitiveAscending:function(q,r){var p=(q[arguments.callee.columnIndex].toLowerCase?q[arguments.callee.columnIndex].toLowerCase():q[arguments.callee.columnIndex]);var s=(r[arguments.callee.columnIndex].toLowerCase?r[arguments.callee.columnIndex].toLowerCase():r[arguments.callee.columnIndex]);if(qx.lang.Type.isNumber(p)&&qx.lang.Type.isNumber(s)){var t=isNaN(p)?isNaN(s)?0:1:isNaN(s)?-1:null;if(t!=null){return t;};};return (p>s)?1:((p==s)?0:-1);},_defaultSortComparatorDescending:function(v,w){var u=v[arguments.callee.columnIndex];var x=w[arguments.callee.columnIndex];if(qx.lang.Type.isNumber(u)&&qx.lang.Type.isNumber(x)){var y=isNaN(u)?isNaN(x)?0:1:isNaN(x)?-1:null;if(y!=null){return y;};};return (u=this.__rL.length){throw new Error(c+bj+g+this.__rL.length+e);};return this.__rL[bj][bk];},setValue:function(bm,bl,bo){if(this.__rL[bl][bm]!=bo){this.__rL[bl][bm]=bo;if(this.hasListener(f)){var bn={firstRow:bl,lastRow:bl,firstColumn:bm,lastColumn:bm};this.fireDataEvent(f,bn);};if(bm==this.__rM){this.clearSorting();};};},setData:function(bq,bp){this.__rL=bq;if(this.hasListener(f)){var br={firstRow:0,lastRow:bq.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};this.fireDataEvent(f,br);};if(bp!==false){this.clearSorting();};},getData:function(){return this.__rL;},setDataAsMapArray:function(bt,bs,bu){this.setData(this._mapArray2RowArr(bt,bs),bu);},addRows:function(bx,bw,bv){if(bw==null){bw=this.__rL.length;};bx.splice(0,0,bw,0);Array.prototype.splice.apply(this.__rL,bx);var by={firstRow:bw,lastRow:this.__rL.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};this.fireDataEvent(f,by);if(bv!==false){this.clearSorting();};},addRowsAsMapArray:function(bA,bB,bz,bC){this.addRows(this._mapArray2RowArr(bA,bz),bB,bC);},setRows:function(bF,bE,bD){if(bE==null){bE=0;};bF.splice(0,0,bE,bF.length);Array.prototype.splice.apply(this.__rL,bF);var bG={firstRow:bE,lastRow:this.__rL.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1};this.fireDataEvent(f,bG);if(bD!==false){this.clearSorting();};},setRowsAsMapArray:function(bI,bJ,bH,bK){this.setRows(this._mapArray2RowArr(bI,bH),bJ,bK);},removeRows:function(bM,bN,bL){this.__rL.splice(bM,bN);var bO={firstRow:bM,lastRow:this.__rL.length-1,firstColumn:0,lastColumn:this.getColumnCount()-1,removeStart:bM,removeCount:bN};this.fireDataEvent(f,bO);if(bL!==false){this.clearSorting();};},_mapArray2RowArr:function(bQ,bU){var bT=bQ.length;var bP=this.getColumnCount();var bS=new Array(bT);var bR;for(var i=0;i=this.__rU.length){throw new Error(a);};this.__rU[p].setColumnWidth(o,q);this.__rW.schedule();},setMinWidth:function(s,r){if(s>=this.__rU.length){throw new Error(a);};this.__rU[s].setMinWidth(r);this.__rW.schedule();},setMaxWidth:function(u,t){if(u>=this.__rU.length){throw new Error(a);};this.__rU[u].setMaxWidth(t);this.__rW.schedule();},set:function(w,v){for(var x in v){switch(x){case e:this.setWidth(w,v[x]);break;case d:this.setMinWidth(w,v[x]);break;case m:this.setMaxWidth(w,v[x]);break;default:throw new Error(j+x);};};},onAppear:function(event,y){if(y===true||!this.__rY||this.getInitializeWidthsOnEveryAppear()){this._computeColumnsFlexWidth();this.__rY=true;};},onTableWidthChanged:function(event){this._computeColumnsFlexWidth();},onVerticalScrollBarChanged:function(event){this._computeColumnsFlexWidth();},onColumnWidthChanged:function(event){this._extendNextColumn(event);},onVisibilityChanged:function(event){var z=event.getData();if(z.visible){this._computeColumnsFlexWidth();return;};this._extendLastColumn(event);},_setNumColumns:function(B){var A=this.__rU;if(B<=A.length){A.splice(B,A.length);return;};for(var i=A.length;iR.oldWidth){return;};var i;var N;var Q=0;for(i=0;i=0;i-- ){if(!s[i].getEnabled()){s.splice(i,1);};};};return s;},__se:function(u,t){if(!u){this.__sf(this.__sd);};},__sf:function(v){var y=this.__sd;var w=v;if(w!=null&&y===w){return;};if(!this.isAllowEmptySelection()&&w==null){var x=this.getSelectables(true)[0];if(x){w=x;};};this.__sd=w;this.fireDataEvent(h,w,y);},__sg:function(z){var A=this.__sc.getItems();for(var i=0;i0&&!this.getSelection()[0]){this.setSelection([v[0]]);};},remove:function(w){var x=this.__sm;if(qx.lang.Array.contains(x,w)){qx.lang.Array.remove(x,w);if(w.getGroup()===this){w.resetGroup();};w.removeListener(p,this._onItemChangeChecked,this);if(w.getValue()){this.resetSelection();};};},getChildren:function(){return this.__sm;},_onItemChangeChecked:function(e){var y=e.getTarget();if(y.getValue()){this.setSelection([y]);}else if(this.getSelection()[0]==y){this.resetSelection();};},_applyInvalidMessage:function(A,z){for(var i=0;i]+?>/g,i);L=qx.bom.String.unescape(L);};return L;},_onBlur:function(e){this.close();},_onKeyPress:function(e){var M=e.getKeyIdentifier();var N=this.getChildControl(w);if(N.isHidden()&&(M==u||M==b)){e.stopPropagation();}else if(!N.isHidden()&&M==f){this.close();e.stop();}else {this.getChildControl(q).handleKeyPress(e);};},_onResize:function(e){this.getChildControl(w).setMinWidth(e.getData().width);},_onListChangeSelection:function(e){throw new Error(n);},_onListPointerDown:function(e){throw new Error(j);},_onPopupChangeVisibility:function(e){e.getData()==k?this.addState(a):this.removeState(a);}}});})();(function(){var c="os.name",d="Abstract method call: _getLastSelectable()",f="Could not select more than one items in mode: ",g="Boolean",h="one",j="Abstract method call: _getLocation()",k="Left",m="Abstract method call: _scrollBy()",n="The method getSelectedItem() is only supported in 'single' and 'one' selection mode!",o="Abstract method call: _scrollItemIntoView()",p="Escape",q="Abstract method call: _isSelectable()",r="Space",s="Abstract method call: _getPage()",t="right",u="lead",v="Down",w="Abstract method call: _getFirstSelectable()",x="Up",y="qx.event.type.Data",z="under",A="A",B="_applyMode",C="PageDown",D="Can not select multiple items in selection mode: ",E="osx",F="mouse",G="interval",H="Abstract method call: _styleSelectable()",I="anchor",J="Abstract method call: _capture()",K="Abstract method call: _getDimension()",L="The method invertSelection() is only supported in 'multi' and 'additive' selection mode!",M="!",N="Abstract method call: _getScroll()",O="Abstract method call: _getRelatedSelectable()",P="End",Q="quick",R="selected",S="key",T="Abstract method call: _getSelectableLocationX()",U="multi",V="left",W="Abstract method call: _selectableToHashCode()",X="Home",Y="Can not select all items in selection mode: ",bt="single",bu="Right",bv="Abstract method call: getSelectables()",bp="Abstract method call: _getSelectableLocationY()",bq="additive",br="abstract",bs="changeSelection",bA="above",bB="__sp",bC="Abstract method call: _getSelectableRange()",bD="tap",bw="drag",bx="PageUp",by="qx.ui.core.selection.Abstract",bz="Abstract method call: _releaseCapture()";qx.Class.define(by,{type:br,extend:qx.core.Object,construct:function(){qx.core.Object.call(this);this.__gx={};},events:{"changeSelection":y},properties:{mode:{check:[bt,U,bq,h],init:bt,apply:B},drag:{check:g,init:false},quick:{check:g,init:false}},members:{__sn:0,__so:0,__sp:null,__sq:null,__sr:null,__ss:null,__st:null,__su:null,__sv:null,__sw:null,__sx:null,__sy:null,__sz:null,__sA:null,__sB:null,__sC:null,__sD:null,__gx:null,__sE:null,__sF:null,_userInteraction:false,__sG:null,getSelectionContext:function(){return this.__sC;},selectAll:function(){var bE=this.getMode();if(bE==bt||bE==h){throw new Error(Y+bE);};this._selectAllItems();this._fireChange();},selectItem:function(bF){this._setSelectedItem(bF);var bG=this.getMode();if(bG!==bt&&bG!==h){this._setLeadItem(bF);this._setAnchorItem(bF);};this._scrollItemIntoView(bF);this._fireChange();},addItem:function(bH){var bI=this.getMode();if(bI===bt||bI===h){this._setSelectedItem(bH);}else {if(this._getAnchorItem()==null){this._setAnchorItem(bH);};this._setLeadItem(bH);this._addToSelection(bH);};this._scrollItemIntoView(bH);this._fireChange();},removeItem:function(bJ){this._removeFromSelection(bJ);if(this.getMode()===h&&this.isSelectionEmpty()){var bK=this._applyDefaultSelection();if(bK==bJ){return;};};if(this.getLeadItem()==bJ){this._setLeadItem(null);};if(this._getAnchorItem()==bJ){this._setAnchorItem(null);};this._fireChange();},selectItemRange:function(bL,bM){var bN=this.getMode();if(bN==bt||bN==h){throw new Error(D+bN);};this._selectItemRange(bL,bM);this._setAnchorItem(bL);this._setLeadItem(bM);this._scrollItemIntoView(bM);this._fireChange();},clearSelection:function(){if(this.getMode()==h){var bO=this._applyDefaultSelection(true);if(bO!=null){return;};};this._clearSelection();this._setLeadItem(null);this._setAnchorItem(null);this._fireChange();},replaceSelection:function(bP){var bQ=this.getMode();if(bQ==h||bQ===bt){if(bP.length>1){throw new Error(f+bQ+M);};if(bP.length==1){this.selectItem(bP[0]);}else {this.clearSelection();};return;}else {this._replaceMultiSelection(bP);};},getSelectedItem:function(){var bR=this.getMode();if(bR===bt||bR===h){var bS=this._getSelectedItem();return bS!=undefined?bS:null;};throw new Error(n);},getSelection:function(){return qx.lang.Object.getValues(this.__gx);},getSortedSelection:function(){var bU=this.getSelectables();var bT=qx.lang.Object.getValues(this.__gx);bT.sort(function(a,b){return bU.indexOf(a)-bU.indexOf(b);});return bT;},isItemSelected:function(bV){var bW=this._selectableToHashCode(bV);return this.__gx[bW]!==undefined;},isSelectionEmpty:function(){return qx.lang.Object.isEmpty(this.__gx);},invertSelection:function(){var bY=this.getMode();if(bY===bt||bY===h){throw new Error(L);};var bX=this.getSelectables();for(var i=0;ithis.__su){this.__sz=1;}else if(cIthis.__sv){this.__sA=1;}else if(cJlocation.right){this.__sn=this.__sx-location.right;}else {this.__sn=0;};if(this.__sylocation.bottom){this.__so=this.__sy-location.bottom;}else {this.__so=0;};if(!this.__sp){this.__sp=new qx.event.Timer(100);this.__sp.addListener(G,this._onInterval,this);};this.__sp.start();this._autoSelect();event.stopPropagation();this._userInteraction=false;},handleAddItem:function(e){var cK=e.getData();if(this.getMode()===h&&this.isSelectionEmpty()){this.addItem(cK);};},handleRemoveItem:function(e){this.removeItem(e.getData());},_cleanup:function(){if(!this.getDrag()&&this.__sw){return;};if(this.__sB){this._fireChange(bD);};delete this.__sw;delete this.__sr;delete this.__ss;this._releaseCapture();if(this.__sp){this.__sp.stop();};},_onInterval:function(e){this._scrollBy(this.__sn,this.__so);this.__sq=this._getScroll();this._autoSelect();},_autoSelect:function(){var cT=this._getDimension();var cM=Math.max(0,Math.min(this.__sx-this.__st.left,cT.width))+this.__sq.left;var cL=Math.max(0,Math.min(this.__sy-this.__st.top,cT.height))+this.__sq.top;if(this.__sr===cM&&this.__ss===cL){return;};this.__sr=cM;this.__ss=cL;var cQ=this._getAnchorItem();var cO=cQ;var cR=this.__sz;var cU,cN;while(cR!==0){cU=cR>0?this._getRelatedSelectable(cO,t):this._getRelatedSelectable(cO,V);if(cU!==null){cN=this._getSelectableLocationX(cU);if((cR>0&&cN.left<=cM)||(cR<0&&cN.right>=cM)){cO=cU;continue;};};break;};var cS=this.__sA;var cV,cP;while(cS!==0){cV=cS>0?this._getRelatedSelectable(cO,z):this._getRelatedSelectable(cO,bA);if(cV!==null){cP=this._getSelectableLocationY(cV);if((cS>0&&cP.top<=cL)||(cS<0&&cP.bottom>=cL)){cO=cV;continue;};};break;};var cW=this.getMode();if(cW===U){this._selectItemRange(cQ,cO);}else if(cW===bq){if(this.isItemSelected(cQ)){this._selectItemRange(cQ,cO,true);}else {this._deselectItemRange(cQ,cO);};this._setAnchorItem(cO);};this._fireChange(bw);},__oP:{Home:1,Down:1,Right:1,PageDown:1,End:1,Up:1,Left:1,PageUp:1},handleKeyPress:function(event){this._userInteraction=true;var dd,dc;var df=event.getKeyIdentifier();var de=this.getMode();var cY=event.isCtrlPressed()||(qx.core.Environment.get(c)==E&&event.isMetaPressed());var da=event.isShiftPressed();var db=false;if(df===A&&cY){if(de!==bt&&de!==h){this._selectAllItems();db=true;};}else if(df===p){if(de!==bt&&de!==h){this._clearSelection();db=true;};}else if(df===r){var cX=this.getLeadItem();if(cX!=null&&!da){if(cY||de===bq){this._toggleInSelection(cX);}else {this._setSelectedItem(cX);};db=true;};}else if(this.__oP[df]){db=true;if(de===bt||de==h){dd=this._getSelectedItem();}else {dd=this.getLeadItem();};if(dd!==null){switch(df){case X:dc=this._getFirstSelectable();break;case P:dc=this._getLastSelectable();break;case x:dc=this._getRelatedSelectable(dd,bA);break;case v:dc=this._getRelatedSelectable(dd,z);break;case k:dc=this._getRelatedSelectable(dd,V);break;case bu:dc=this._getRelatedSelectable(dd,t);break;case bx:dc=this._getPage(dd,true);break;case C:dc=this._getPage(dd,false);break;};}else {switch(df){case X:case v:case bu:case C:dc=this._getFirstSelectable();break;case P:case x:case k:case bx:dc=this._getLastSelectable();break;};};if(dc!==null){switch(de){case bt:case h:this._setSelectedItem(dc);break;case bq:this._setLeadItem(dc);break;case U:if(da){var dg=this._getAnchorItem();if(dg===null){this._setAnchorItem(dg=this._getFirstSelectable());};this._setLeadItem(dc);this._selectItemRange(dg,dc,cY);}else {this._setAnchorItem(dc);this._setLeadItem(dc);if(!cY){this._setSelectedItem(dc);};};break;};this.__sG=this._getScroll().top;this._scrollItemIntoView(dc);};};if(db){event.stop();this._fireChange(S);};this._userInteraction=false;},_selectAllItems:function(){var dh=this.getSelectables();for(var i=0,l=dh.length;i=2)){this._clearSelection();this._addToSelection(dA);};};},_addToSelection:function(dC){var dD=this._selectableToHashCode(dC);if(this.__gx[dD]==null&&this._isSelectable(dC)){this.__gx[dD]=dC;this._styleSelectable(dC,R,true);this.__sB=true;};},_toggleInSelection:function(dE){var dF=this._selectableToHashCode(dE);if(this.__gx[dF]==null){this.__gx[dF]=dE;this._styleSelectable(dE,R,true);}else {delete this.__gx[dF];this._styleSelectable(dE,R,false);};this.__sB=true;},_removeFromSelection:function(dG){var dH=this._selectableToHashCode(dG);if(this.__gx[dH]!=null){delete this.__gx[dH];this._styleSelectable(dG,R,false);this.__sB=true;};},_replaceMultiSelection:function(dK){if(dK.length===0){this.clearSelection();return;};var dL=false;var dO,dN;var dJ={};for(var i=0,l=dK.length;i0;i-- ){if(this._isItemSelectable(J[i])){return J[i];};};return null;},_getRelatedSelectable:function(N,O){var L=this.__lt.getOrientation()===a;var P=this.__lt.getChildren();var K=P.indexOf(N);var M;if((L&&O===c)||(!L&&O===e)){for(var i=K-1;i>=0;i-- ){M=P[i];if(this._isItemSelectable(M)){return M;};};}else if((L&&O===b)||(!L&&O===f)){for(var i=K+1;i=0;i-- ){top=h.getItemTop(q[i]);if(top=p){n-=innerHeight+r-h.getItemBottom(k);s=null;continue;};return q[s];};}else {var m=innerHeight+r;var i=p;while(1){for(;im){s=i-1;break;};};if(s==null){var j=this._getLastSelectable();return j==k?null:j;};if(s<=p){m+=h.getItemTop(k)-r;s=null;continue;};return q[s];};};}}});})();(function(){var a="Boolean",b="one",c="pointerover",d="qx.event.type.Data",f=", because it is not a child element!",g="_applyDragSelection",h="__gt",j="Could not add + ",k=" from selection, because it is not a child element!",l="changeSelection",m="Could not test if ",n="Could not remove ",o="addItem",p="multi",q="_applyQuickSelection",r="single",s="qx.ui.core.MMultiSelectionHandling",t="pointermove",u=" is selected, because it is not a child element!",v="_applySelectionMode",w="additive",x="keypress",y="losecapture",z="Could not select ",A="removeItem",B="tap",C="pointerdown",D=" to selection, because it is not a child element!";qx.Mixin.define(s,{construct:function(){var F=this.SELECTION_MANAGER;var E=this.__gt=new F(this);this.addListener(C,E.handlePointerDown,E);this.addListener(B,E.handleTap,E);this.addListener(c,E.handlePointerOver,E);this.addListener(t,E.handlePointerMove,E);this.addListener(y,E.handleLoseCapture,E);this.addListener(x,E.handleKeyPress,E);this.addListener(o,E.handleAddItem,E);this.addListener(A,E.handleRemoveItem,E);E.addListener(l,this._onSelectionChange,this);},events:{"changeSelection":d},properties:{selectionMode:{check:[r,p,w,b],init:r,apply:v},dragSelection:{check:a,init:false,apply:g},quickSelection:{check:a,init:false,apply:q}},members:{__gt:null,selectAll:function(){this.__gt.selectAll();},isSelected:function(G){if(!qx.ui.core.Widget.contains(this,G)){throw new Error(m+G+u);};return this.__gt.isItemSelected(G);},addToSelection:function(H){if(!qx.ui.core.Widget.contains(this,H)){throw new Error(j+H+D);};this.__gt.addItem(H);},removeFromSelection:function(I){if(!qx.ui.core.Widget.contains(this,I)){throw new Error(n+I+k);};this.__gt.removeItem(I);},selectRange:function(J,K){this.__gt.selectItemRange(J,K);},resetSelection:function(){this.__gt.clearSelection();},setSelection:function(L){for(var i=0;i1000){this.__sJ=r;};this.__sJ+=e.getChar();var K=this.findItemByLabelFuzzy(this.__sJ);if(K){this.setSelection([K]);};this.__sK=(new Date).valueOf();},findItemByLabelFuzzy:function(M){M=M.toLowerCase();var L=this.getChildren();for(var i=0,l=L.length;i0){var M=this.getChildControl(o);var L=M.getSelectionContext();if(L==m||L==f){this.__sL=K[0];}else {var N=K[0].getLabel();if(this.getFormat()!=null){N=this.getFormat().call(this,K[0]);};if(N&&N.translate){N=N.translate();};this.setValue(N);this.__sL=null;};};},_onPopupChangeVisibility:function(e){qx.ui.form.AbstractSelectBox.prototype._onPopupChangeVisibility.call(this,e);var P=this.getChildControl(u);if(P.isVisible()){var O=this.getChildControl(o);var Q=this.getValue();var R=null;if(Q){R=O.findItem(Q);};if(R){O.setSelection([R]);}else {O.resetSelection();};}else {if(e.getOldData()==l){this.tabFocus();};};this.getChildControl(g).removeState(d);},_onTextFieldChangeValue:function(e){var T=e.getData();var S=this.getChildControl(o);if(T!=null){var U=S.findItem(T,false);if(U){S.setSelection([U]);}else {S.resetSelection();};}else {S.resetSelection();};this.fireDataEvent(c,T,e.getOldData());},getTextSelection:function(){return this.getChildControl(p).getTextSelection();},getTextSelectionLength:function(){return this.getChildControl(p).getTextSelectionLength();},setTextSelection:function(V,W){this.getChildControl(p).setTextSelection(V,W);},clearTextSelection:function(){this.getChildControl(p).clearTextSelection();},selectAllText:function(){this.getChildControl(p).selectAllText();},resetAllTextSelection:function(){this.clearTextSelection();this.selectAllText();}}});})();(function(){var a="qx.ui.form.IDateForm",b="qx.event.type.Data";qx.Interface.define(a,{events:{"changeValue":b},members:{setValue:function(c){return arguments.length==1;},resetValue:function(){},getValue:function(){}}});})();(function(){var a="popupOpen",b="blur",c="qx.util.format.DateFormat",d="Escape",f="changeValue",g="Left",h="Down",i="button",j="Up",k="execute",l="qx.event.type.Data",m="inner",n="list",o="changeLocale",p="visible",q="middle",r="String",s="_applyDateFormat",t="pointerup",u="",v="changeVisibility",w="textfield",x="qx.dynlocale",y="medium",z="focusin",A="popup",B="qx.ui.form.DateField",C="focusout",D="datefield",E="_applyPlaceholder",F="hidden",G="tap",H="Right";qx.Class.define(B,{extend:qx.ui.core.Widget,include:[qx.ui.core.MRemoteChildrenHandling,qx.ui.form.MForm],implement:[qx.ui.form.IForm,qx.ui.form.IDateForm],construct:function(){qx.ui.core.Widget.call(this);var J=new qx.ui.layout.HBox();this._setLayout(J);J.setAlignY(q);var I=this._createChildControl(w);this._createChildControl(i);this.addListener(G,this._onTap,this);this.addListener(b,this._onBlur,this);this.addListener(z,function(e){I.fireNonBubblingEvent(z,qx.event.type.Focus);I.setTextSelection(0,0);},this);this.addListener(C,function(e){I.fireNonBubblingEvent(C,qx.event.type.Focus);},this);this._setDefaultDateFormat();this._addLocaleChangeListener();},events:{"changeValue":l},properties:{dateFormat:{check:c,apply:s},placeholder:{check:r,nullable:true,apply:E},appearance:{refine:true,init:D},focusable:{refine:true,init:true},width:{refine:true,init:120}},statics:{__sN:null,__sO:null,getDefaultDateFormatter:function(){var K=qx.locale.Date.getDateFormat(y).toString();if(K==this.__sN){return this.__sO;};if(this.__sO){this.__sO.dispose();};this.__sO=new qx.util.format.DateFormat(K,qx.locale.Manager.getInstance().getLocale());this.__sN=K;return this.__sO;}},members:{__sP:null,_forwardStates:{focused:true,invalid:true},_setDefaultDateFormat:function(){this.setDateFormat(qx.ui.form.DateField.getDefaultDateFormatter());},_addLocaleChangeListener:function(){if(qx.core.Environment.get(x)){this.__sP=qx.locale.Manager.getInstance().addListener(o,function(){this._setDefaultDateFormat();},this);};},setValue:function(N){var L=this.getChildControl(w);L.setValue(this.getDateFormat().format(N));var M=this.getChildControl(n);M.setValue(N);},getValue:function(){var O=this.getChildControl(w).getValue();try{return this.getDateFormat().parse(O);}catch(P){return null;};},resetValue:function(){var Q=this.getChildControl(w);Q.setValue(u);var R=this.getChildControl(n);R.setValue(null);},open:function(){var S=this.getChildControl(A);S.placeToWidget(this,true);S.show();},close:function(){this.getChildControl(A).hide();},toggle:function(){var T=this.getChildControl(A).isVisible();if(T){this.close();}else {this.open();};},_applyDateFormat:function(Y,W){if(!W){return;};try{var V=this.getChildControl(w);var X=V.getValue();var U=W.parse(X);V.setValue(Y.format(U));}catch(ba){};},_applyPlaceholder:function(bc,bb){this.getChildControl(w).setPlaceholder(bc);},_createChildControlImpl:function(bf,be){var bd;switch(bf){case w:bd=new qx.ui.form.TextField();bd.setFocusable(false);bd.addState(m);bd.addListener(f,this._onTextFieldChangeValue,this);bd.addListener(b,this.close,this);this._add(bd,{flex:1});break;case i:bd=new qx.ui.form.Button();bd.setFocusable(false);bd.setKeepActive(true);bd.addState(m);bd.addListener(k,this.toggle,this);this._add(bd);break;case n:bd=new qx.ui.control.DateChooser();bd.setFocusable(false);bd.setKeepFocus(true);bd.addListener(k,this._onChangeDate,this);break;case A:bd=new qx.ui.popup.Popup(new qx.ui.layout.VBox);bd.setAutoHide(false);bd.add(this.getChildControl(n));bd.addListener(t,this._onChangeDate,this);bd.addListener(v,this._onPopupChangeVisibility,this);break;};return bd||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bf);},_onChangeDate:function(e){var bg=this.getChildControl(w);var bh=this.getChildControl(n).getValue();bg.setValue(this.getDateFormat().format(bh));this.close();},_onTap:function(e){this.close();},_onBlur:function(e){this.close();},_onKeyPress:function(e){var bi=e.getKeyIdentifier();if(bi==h&&e.isAltPressed()){this.toggle();e.stopPropagation();return;};var bj=this.getChildControl(A);if(bj.getVisibility()==F){return;};if(bi==d){this.close();e.stopPropagation();return;};if(bi===g||bi===H||bi===h||bi===j){e.preventDefault();};this.getChildControl(n).handleKeyPress(e);},_onPopupChangeVisibility:function(e){e.getData()==p?this.addState(a):this.removeState(a);var bl=this.getChildControl(A);if(bl.isVisible()){var bm=this.getChildControl(n);var bk=this.getValue();bm.setValue(bk);};},_onTextFieldChangeValue:function(e){var bn=this.getValue();if(bn!=null){var bo=this.getChildControl(n);bo.setValue(bn);};this.fireDataEvent(f,this.getValue());},isEmpty:function(){var bp=this.getChildControl(w).getValue();return bp==null||bp==u;}},destruct:function(){if(qx.core.Environment.get(x)){if(this.__sP){qx.locale.Manager.getInstance().removeListenerById(this.__sP);};};}});})();(function(){var a="PageUp",b="day",c="lastMonth",d="yyyyMMMM",f="Next month",g="Escape",h="Left",j="last-month-button",k="default",l="today",m="weekday",n="changeValue",o="Space",p="selected",q="Down",r="Integer",s="qx.ui.control.DateChooser",t="Up",u="Enter",v="PageDown",w="day#",z="changeLocale",A="Next year",B="ww",C="_applyValue",D="next-month-button",E="next-month-button-tooltip",F="weekday#",G="last-month-button-tooltip",H="datechooser",I="header",J="week",K="lastYear",L="pointerup",M="otherMonth",N="month-year-label",O="nextYear",P="last-year-button",Q="changeShownYear",R="week#",S="qx.dynlocale",T="next-year-button",U="Last month",V="Right",W="Last year",X="MMMM yyyy",Y="EE",bs="week#0",bt="keypress",bu="",bo="navigation-bar",bp="nextMonth",bq="last-year-button-tooltip",br="next-year-button-tooltip",by="Date",bz="tap",bA="pointerdown",bB="date-pane",bv="dbltap",bw="weekend",bx="changeShownMonth";qx.Class.define(s,{extend:qx.ui.core.Widget,include:[qx.ui.core.MExecutable,qx.ui.form.MForm],implement:[qx.ui.form.IExecutable,qx.ui.form.IForm,qx.ui.form.IDateForm],construct:function(bC){qx.ui.core.Widget.call(this);var bF=new qx.ui.layout.VBox();this._setLayout(bF);this._createChildControl(bo);this._createChildControl(bB);this.addListener(bt,this._onKeyPress);var bD=qx.ui.control.DateChooser;if(!bD.MONTH_YEAR_FORMAT){bD.MONTH_YEAR_FORMAT=qx.locale.Date.getDateTimeFormat(d,X);};var bE=(bC!=null)?bC:new Date();this.showMonth(bE.getMonth(),bE.getFullYear());if(qx.core.Environment.get(S)){qx.locale.Manager.getInstance().addListener(z,this._updateDatePane,this);};this.addListener(bA,this._onPointerUpDown,this);this.addListener(L,this._onPointerUpDown,this);},statics:{MONTH_YEAR_FORMAT:null,WEEKDAY_FORMAT:Y,WEEK_FORMAT:B},properties:{appearance:{refine:true,init:H},width:{refine:true,init:200},height:{refine:true,init:150},shownMonth:{check:r,init:null,nullable:true,event:bx},shownYear:{check:r,init:null,nullable:true,event:Q},value:{check:by,init:null,nullable:true,event:n,apply:C}},members:{__sQ:null,__sR:null,__sS:null,_forwardStates:{invalid:true},_createChildControlImpl:function(bK,bH){var bG;switch(bK){case bo:bG=new qx.ui.container.Composite(new qx.ui.layout.HBox());bG.add(this.getChildControl(P));bG.add(this.getChildControl(j));bG.add(this.getChildControl(N),{flex:1});bG.add(this.getChildControl(D));bG.add(this.getChildControl(T));this._add(bG);break;case bq:bG=new qx.ui.tooltip.ToolTip(this.tr(W));break;case P:bG=new qx.ui.toolbar.Button();bG.addState(K);bG.setFocusable(false);bG.setToolTip(this.getChildControl(bq));bG.addListener(bz,this._onNavButtonTap,this);break;case G:bG=new qx.ui.tooltip.ToolTip(this.tr(U));break;case j:bG=new qx.ui.toolbar.Button();bG.addState(c);bG.setFocusable(false);bG.setToolTip(this.getChildControl(G));bG.addListener(bz,this._onNavButtonTap,this);break;case E:bG=new qx.ui.tooltip.ToolTip(this.tr(f));break;case D:bG=new qx.ui.toolbar.Button();bG.addState(bp);bG.setFocusable(false);bG.setToolTip(this.getChildControl(E));bG.addListener(bz,this._onNavButtonTap,this);break;case br:bG=new qx.ui.tooltip.ToolTip(this.tr(A));break;case T:bG=new qx.ui.toolbar.Button();bG.addState(O);bG.setFocusable(false);bG.setToolTip(this.getChildControl(br));bG.addListener(bz,this._onNavButtonTap,this);break;case N:bG=new qx.ui.basic.Label();bG.setAllowGrowX(true);bG.setAnonymous(true);break;case J:bG=new qx.ui.basic.Label();bG.setAllowGrowX(true);bG.setAllowGrowY(true);bG.setSelectable(false);bG.setAnonymous(true);bG.setCursor(k);break;case m:bG=new qx.ui.basic.Label();bG.setAllowGrowX(true);bG.setAllowGrowY(true);bG.setSelectable(false);bG.setAnonymous(true);bG.setCursor(k);break;case b:bG=new qx.ui.basic.Label();bG.setAllowGrowX(true);bG.setAllowGrowY(true);bG.setCursor(k);bG.addListener(bA,this._onDayTap,this);bG.addListener(bv,this._onDayDblTap,this);break;case bB:var bJ=new qx.ui.layout.Grid();bG=new qx.ui.container.Composite(bJ);for(var i=0;i<8;i++ ){bJ.setColumnFlex(i,1);};for(var i=0;i<7;i++ ){bJ.setRowFlex(i,1);};var bI=this.getChildControl(bs);bI.addState(I);bG.add(bI,{column:0,row:0});this.__sQ=[];for(var i=0;i<7;i++ ){bI=this.getChildControl(F+i);bG.add(bI,{column:i+1,row:0});this.__sQ.push(bI);};this.__sR=[];this.__sS=[];for(var y=0;y<6;y++ ){var bI=this.getChildControl(R+(y+1));bG.add(bI,{column:0,row:y+1});this.__sS.push(bI);for(var x=0;x<7;x++ ){var bI=this.getChildControl(w+((y*7)+x));bG.add(bI,{column:x+1,row:y+1});this.__sR.push(bI);};};this._add(bG);break;};return bG||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,bK);},_applyValue:function(bN,bM){if((bN!=null)&&(this.getShownMonth()!=bN.getMonth()||this.getShownYear()!=bN.getFullYear())){this.showMonth(bN.getMonth(),bN.getFullYear());}else {var bL=(bN==null)?-1:bN.getDate();for(var i=0;i<6*7;i++ ){var bO=this.__sR[i];if(bO.hasState(M)){if(bO.hasState(p)){bO.removeState(p);};}else {var bP=parseInt(bO.getValue(),10);if(bP==bL){bO.addState(p);}else if(bO.hasState(p)){bO.removeState(p);};};};};},_onPointerUpDown:function(e){var bQ=e.getTarget();if(bQ==this.getChildControl(bo)||bQ==this.getChildControl(bB)){e.stopPropagation();return;};},_onNavButtonTap:function(bS){var bR=this.getShownYear();var bT=this.getShownMonth();switch(bS.getCurrentTarget()){case this.getChildControl(P):bR-- ;break;case this.getChildControl(j):bT-- ;if(bT<0){bT=11;bR-- ;};break;case this.getChildControl(D):bT++ ;if(bT>=12){bT=0;bR++ ;};break;case this.getChildControl(T):bR++ ;break;};this.showMonth(bT,bR);},_onDayTap:function(bU){var bV=bU.getCurrentTarget().dateTime;this.setValue(new Date(bV));},_onDayDblTap:function(){this.execute();},_onKeyPress:function(bY){var ca=null;var cb=null;var bX=null;if(bY.getModifiers()==0){switch(bY.getKeyIdentifier()){case h:ca=-1;break;case V:ca=1;break;case t:ca=-7;break;case q:ca=7;break;case a:cb=-1;break;case v:cb=1;break;case g:if(this.getValue()!=null){this.setValue(null);return;};break;case u:case o:if(this.getValue()!=null){this.execute();};return;};}else if(bY.isShiftPressed()){switch(bY.getKeyIdentifier()){case a:bX=-1;break;case v:bX=1;break;};};if(ca!=null||cb!=null||bX!=null){var bW=this.getValue();if(bW!=null){bW=new Date(bW.getTime());};if(bW==null){bW=new Date();}else {if(ca!=null){bW.setDate(bW.getDate()+ca);};if(cb!=null){bW.setMonth(bW.getMonth()+cb);};if(bX!=null){bW.setFullYear(bW.getFullYear()+bX);};};this.setValue(bW);};},showMonth:function(cc,cd){if((cc!=null&&cc!=this.getShownMonth())||(cd!=null&&cd!=this.getShownYear())){if(cc!=null){this.setShownMonth(cc);};if(cd!=null){this.setShownYear(cd);};this._updateDatePane();};},handleKeyPress:function(e){this._onKeyPress(e);},_updateDatePane:function(){var ct=qx.ui.control.DateChooser;var cq=new Date();var ci=cq.getFullYear();var co=cq.getMonth();var cl=cq.getDate();var cu=this.getValue();var cx=(cu==null)?-1:cu.getFullYear();var cE=(cu==null)?-1:cu.getMonth();var cn=(cu==null)?-1:cu.getDate();var cm=this.getShownMonth();var cB=this.getShownYear();var cj=qx.locale.Date.getWeekStart();var cv=new Date(this.getShownYear(),this.getShownMonth(),1);var cs=new qx.util.format.DateFormat(ct.MONTH_YEAR_FORMAT);this.getChildControl(N).setValue(cs.format(cv));var cD=cv.getDay();var cp=1+((7-cD)%7);var cw=new qx.util.format.DateFormat(ct.WEEKDAY_FORMAT);for(var i=0;i<7;i++ ){var cy=(i+cj)%7;var cA=this.__sQ[i];cv.setDate(cp+cy);cA.setValue(cw.format(cv));if(qx.locale.Date.isWeekend(cy)){cA.addState(bw);}else {cA.removeState(bw);};};cv=new Date(cB,cm,1,12,0,0);var cf=(7+cD-cj)%7;cv.setDate(cv.getDate()-cf);var cz=new qx.util.format.DateFormat(ct.WEEK_FORMAT);for(var cr=0;cr<6;cr++ ){this.__sS[cr].setValue(cz.format(cv));for(var i=0;i<7;i++ ){var cA=this.__sR[cr*7+i];var ch=cv.getFullYear();var cg=cv.getMonth();var ck=cv.getDate();var ce=(cx==ch&&cE==cg&&cn==ck);if(ce){cA.addState(p);}else {cA.removeState(p);};if(cg!=cm){cA.addState(M);}else {cA.removeState(M);};var cC=(ch==ci&&cg==co&&ck==cl);if(cC){cA.addState(l);}else {cA.removeState(l);};cA.setValue(bu+ck);cA.dateTime=cv.getTime();cv.setDate(cv.getDate()+1);};};cs.dispose();cw.dispose();cz.dispose();}},destruct:function(){if(qx.core.Environment.get(S)){qx.locale.Manager.getInstance().removeListener(z,this._updateDatePane,this);};this.__sQ=this.__sR=this.__sS=null;}});})();(function(){var a="inherit",b="toolbar-button",c="keydown",d="qx.ui.toolbar.Button",e="keyup";qx.Class.define(d,{extend:qx.ui.form.Button,construct:function(f,h,g){qx.ui.form.Button.call(this,f,h,g);this.removeListener(c,this._onKeyDown);this.removeListener(e,this._onKeyUp);},properties:{appearance:{refine:true,init:b},show:{refine:true,init:a},focusable:{refine:true,init:false}},members:{_applyVisibility:function(j,i){qx.ui.form.Button.prototype._applyVisibility.call(this,j,i);var parent=this.getLayoutParent();if(parent&&parent instanceof qx.ui.toolbar.PartContainer){qx.ui.core.queue.Appearance.add(parent);};}}});})();(function(){var a="change",b="qx.ui.form.Form",c="qx.event.type.Event",d="";qx.Class.define(b,{extend:qx.core.Object,construct:function(){qx.core.Object.call(this);this.__sT=[];this._buttons=[];this._buttonOptions=[];this._validationManager=this._createValidationManager();this._resetter=this._createResetter();},events:{"change":c},members:{__sT:null,_validationManager:null,_groupCounter:0,_buttons:null,_buttonOptions:null,_resetter:null,add:function(g,f,h,name,e,k){if(this.__sU()){this.__sT.push({title:null,items:[],labels:[],names:[],options:[],headerOptions:{}});};this.__sT[this._groupCounter].items.push(g);this.__sT[this._groupCounter].labels.push(f);this.__sT[this._groupCounter].options.push(k);if(name==null){name=f.replace(/\s+|&|-|\+|\*|\/|\||!|\.|,|:|\?|;|~|%|\{|\}|\(|\)|\[|\]|<|>|=|\^|@|\\/g,d);};this.__sT[this._groupCounter].names.push(name);this._validationManager.add(g,h,e);this._resetter.add(g);this.fireEvent(a);},addGroupHeader:function(m,l){if(!this.__sU()){this._groupCounter++ ;};this.__sT.push({title:m,items:[],labels:[],names:[],options:[],headerOptions:l});this.fireEvent(a);},addButton:function(n,o){this._buttons.push(n);this._buttonOptions.push(o||null);this.fireEvent(a);},__sU:function(){return this.__sT.length===0;},remove:function(p){for(var i=0;i=0;i-- ){this.__tn.remove(y[i]);};return this._removeAll();},getSelection:function(){return this.__tn.getSelection();},setSelection:function(z){this.__tn.setSelection(z);},resetSelection:function(){this.__tn.resetSelection();},isSelected:function(A){return this.__tn.isSelected(A);},isSelectionEmpty:function(){return this.__tn.isSelectionEmpty();},getSelectables:function(B){return this.__tn.getSelectables(B);}},destruct:function(){this._disposeObjects(a);}});})();(function(){var a="hovered",b="Enter",c="pressed",d="one",f="pointerover",g="changeLabel",h="changeIcon",i="Space",j="abandoned",k="key",l="list",m="keyinput",n="arrow",o="changeSelection",p="quick",q="",r="qx.ui.form.SelectBox",s="spacer",t="selectbox",u="popup",v=" ",w="tap",x="pointerout",y="atom";qx.Class.define(r,{extend:qx.ui.form.AbstractSelectBox,implement:[qx.ui.core.ISingleSelection,qx.ui.form.IModelSelection],include:[qx.ui.core.MSingleSelectionHandling,qx.ui.form.MModelSelection],construct:function(){qx.ui.form.AbstractSelectBox.call(this);this._createChildControl(y);this._createChildControl(s);this._createChildControl(n);this.addListener(f,this._onPointerOver,this);this.addListener(x,this._onPointerOut,this);this.addListener(w,this._onTap,this);this.addListener(m,this._onKeyInput,this);this.addListener(o,this.__sh,this);},properties:{appearance:{refine:true,init:t}},members:{__sL:null,_createChildControlImpl:function(B,A){var z;switch(B){case s:z=new qx.ui.core.Spacer();this._add(z,{flex:1});break;case y:z=new qx.ui.basic.Atom(v);z.setCenter(false);z.setAnonymous(true);this._add(z,{flex:1});break;case n:z=new qx.ui.basic.Image();z.setAnonymous(true);this._add(z);break;};return z||qx.ui.form.AbstractSelectBox.prototype._createChildControlImpl.call(this,B);},_forwardStates:{focused:true},_getItems:function(){return this.getChildrenContainer().getChildren();},_isAllowEmptySelection:function(){return this.getChildrenContainer().getSelectionMode()!==d;},__sh:function(e){var D=e.getData()[0];var C=this.getChildControl(l);if(C.getSelection()[0]!=D){if(D){C.setSelection([D]);}else {C.resetSelection();};};this.__to();this.__tp();},__to:function(){var F=this.getChildControl(l).getSelection()[0];var E=this.getChildControl(y);var G=F?F.getIcon():q;G==null?E.resetIcon():E.setIcon(G);},__tp:function(){var J=this.getChildControl(l).getSelection()[0];var H=this.getChildControl(y);var I=J?J.getLabel():q;var K=this.getFormat();if(K!=null){I=K.call(this,J);};if(I&&I.translate){I=I.translate();};I==null?H.resetLabel():H.setLabel(I);},_onPointerOver:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;};if(this.hasState(j)){this.removeState(j);this.addState(c);};this.addState(a);},_onPointerOut:function(e){if(!this.isEnabled()||e.getTarget()!==this){return;};this.removeState(a);if(this.hasState(c)){this.removeState(c);this.addState(j);};},_onTap:function(e){this.toggle();},_onKeyPress:function(e){var L=e.getKeyIdentifier();if(L==b||L==i){if(this.__sL){this.setSelection([this.__sL]);this.__sL=null;};this.toggle();}else {qx.ui.form.AbstractSelectBox.prototype._onKeyPress.call(this,e);};},_onKeyInput:function(e){var M=e.clone();M.setTarget(this._list);M.setBubbles(false);this.getChildControl(l).dispatchEvent(M);},_onListPointerDown:function(e){if(this.__sL){this.setSelection([this.__sL]);this.__sL=null;};},_onListChangeSelection:function(e){var Q=e.getData();var O=e.getOldData();if(O&&O.length>0){O[0].removeListener(h,this.__to,this);O[0].removeListener(g,this.__tp,this);};if(Q.length>0){var N=this.getChildControl(u);var P=this.getChildControl(l);var R=P.getSelectionContext();if(N.isVisible()&&(R==p||R==k)){this.__sL=Q[0];}else {this.setSelection([Q[0]]);this.__sL=null;};Q[0].addListener(h,this.__to,this);Q[0].addListener(g,this.__tp,this);}else {this.resetSelection();};},_onPopupChangeVisibility:function(e){qx.ui.form.AbstractSelectBox.prototype._onPopupChangeVisibility.call(this,e);var T=this.getChildControl(u);if(!T.isVisible()){var V=this.getChildControl(l);if(V.hasChildren()){V.setSelection(this.getSelection());};}else {var S=T.getLayoutLocation(this);var X=qx.bom.Viewport.getHeight();var W=S.top;var Y=X-S.bottom;var U=W>Y?W:Y;var ba=this.getMaxListHeight();var V=this.getChildControl(l);if(ba==null||ba>U){V.setMaxHeight(U);}else if(babc){this.setMinimum(bc);};if(this.getValue()>bc){this.setValue(bc);}else {this._updateButtons();};},_applyEnabled:function(be,bd){qx.ui.core.Widget.prototype._applyEnabled.call(this,be,bd);this._updateButtons();},_checkValue:function(bf){return typeof bf===s&&bf>=this.getMinimum()&&bf<=this.getMaximum();},_applyValue:function(bi,bh){var bg=this.getChildControl(t);this._updateButtons();this.__tq=bi;if(bi!==null){if(this.getNumberFormat()){bg.setValue(this.getNumberFormat().format(bi));}else {bg.setValue(bi+r);};}else {bg.setValue(r);};},_applyEditable:function(bl,bk){var bj=this.getChildControl(t);if(bj){bj.setReadOnly(!bl);};},_applyWrap:function(bn,bm){this._updateButtons();},_applyNumberFormat:function(bq,bp){var bo=this.getChildControl(t);bo.setFilter(this._getFilterRegExp());var br=this.getNumberFormat();if(br!==null){br.addListener(F,this._onChangeNumberFormat,this);};this._applyValue(this.__tq,undefined);},_getContentPaddingTarget:function(){return this.getChildControl(t);},_updateButtons:function(){var bt=this.getChildControl(y);var bs=this.getChildControl(q);var bu=this.getValue();if(!this.getEnabled()){bt.setEnabled(false);bs.setEnabled(false);}else {if(this.getWrap()){bt.setEnabled(true);bs.setEnabled(true);}else {if(bu!==null&&buthis.getMinimum()){bs.setEnabled(true);}else {bs.setEnabled(false);};};};},_onKeyDown:function(e){switch(e.getKeyIdentifier()){case a:this.__tr=true;case p:this.getChildControl(y).press();break;case m:this.__ts=true;case h:this.getChildControl(q).press();break;default:return;};e.stopPropagation();e.preventDefault();},_onKeyUp:function(e){switch(e.getKeyIdentifier()){case a:this.getChildControl(y).release();this.__tr=false;break;case p:this.getChildControl(y).release();break;case m:this.getChildControl(q).release();this.__ts=false;break;case h:this.getChildControl(q).release();break;};},_onRoll:function(e){if(e.getPointerType()!=D){return;};var bv=e.getDelta().y;if(bv<0){this._countUp();}else if(bv>0){this._countDown();};e.stop();},_onTextChange:function(e){var bw=this.getChildControl(t);var bx;if(this.getNumberFormat()){try{bx=this.getNumberFormat().parse(bw.getValue());}catch(by){};};if(bx===undefined){bx=parseFloat(bw.getValue());};if(!isNaN(bx)){if(bx>this.getMaximum()){bx=this.getMaximum();}else if(bxthis.getMaximum()){var bD=this.getMaximum()-bE;bE=this.getMinimum()-bD-1;};};this.gotoValue(bE);},_countDown:function(){if(this.__ts){var bG=this.getValue()-this.getPageStep();}else {var bG=this.getValue()-this.getSingleStep();};if(this.getWrap()){if(bGN){this.getContentElement().setStyle(G,k);}else {this.getContentElement().setStyle(G,F);};};var P=Math.max(Q,this.__tw);this._setAreaHeight(P);}else {this.getContentElement().addListenerOnce(u,function(){this.__tx();},this);};};},_getAreaHeight:function(){return this.getInnerSize().height;},_setAreaHeight:function(R){if(this._getAreaHeight()!==R){this.__tv=R;qx.ui.core.queue.Layout.add(this);qx.ui.core.queue.Manager.flush();this.__tB();};},_getScrolledAreaHeight:function(){var T=this.__ty();var S=T.getDomElement();if(S){if(!S.parentNode){qx.html.Element.flush();return this._getScrolledAreaHeight();};if(qx.core.Environment.get(A)===C||(qx.core.Environment.get(A)==z)){T.setWrap(!this.getWrap(),true);};T.setWrap(this.getWrap(),true);if(qx.core.Environment.get(A)===C||(qx.core.Environment.get(A)==z)){S.style.overflow=F;};if(qx.core.Environment.get(A)==z&&qx.core.Environment.get(q)>=8){S.style.overflow=p;S.style.overflowX=F;};T.setValue(this.getValue()||r);if(qx.core.Environment.get(A)==z){S.style.height=k;qx.html.Element.flush();S.style.height=l;};this.__tA(T);if(qx.core.Environment.get(A)==z&&qx.core.Environment.get(q)==8){if(!S.scrollTop){qx.html.Element.flush();};};return S.scrollTop;};},__ty:function(){this.__tu=this.__tu||this.__tz();return this.__tu;},__tz:function(){var W,V,X,U;W=this.getContentElement();if(!W.getDomElement()){return null;};X=qx.bom.Element.clone(W.getDomElement());U=new qx.html.Input(j);U.useElement(X);V=U;V.setStyles({position:H,top:0,left:m,height:0,overflow:F},true);V.removeAttribute(E);V.removeAttribute(w);V.setAttribute(v,g);V.setValue(W.getValue()||r);V.insertBefore(W);this.__tA(V);return V;},__tA:function(Y){Y=Y.getDomElement();if(Y){Y.scrollTop=10000;};},_createInputElement:function(){return new qx.html.Input(j,{overflowX:k,overflowY:k});},_applyWrap:function(bc,ba){this.getContentElement().setWrap(bc);if(this._placeholder){var bb=bc?y:d;this._placeholder.setStyle(o,bb);};this.__tx();},_applyMinimalLineHeight:function(){qx.ui.core.queue.Layout.add(this);},_applyAutoSize:function(be,bd){{};if(be){this.__tx();this.addListener(a,this.__tx,this);if(!this.getBounds()){this.addListenerOnce(u,function(){this.getContentElement().setStyle(G,F);});}else {this.getContentElement().setStyle(G,F);};}else {this.removeListener(a,this.__tx);this.getContentElement().setStyle(G,k);};},_applyDimension:function(bf){qx.ui.form.AbstractField.prototype._applyDimension.call(this);{};if(bf===this.getMaxHeight()){this.__tx();};},__tB:function(){var content=this.getContentElement();var bh=content.getDomElement();var bg=content.getStyle(s);content.setStyle(s,parseInt(bg,10)+1000+c,true);if(bh){qx.bom.element.Dimension.getWidth(bh);};content.setStyle(s,bg,true);},__tC:function(){if(this.isAutoSize()&&this.getHeight()){this.warn(x);};},_getContentHint:function(){var bi=qx.ui.form.AbstractField.prototype._getContentHint.call(this);bi.height=bi.height*this.getMinimalLineHeight();bi.width=this._getTextSize().width*20;if(this.isAutoSize()){bi.height=this.__tv||bi.height;};return bi;}},destruct:function(){this.setAutoSize(false);if(this.__tu){this.__tu.dispose();};}});})();(function(){var a="changeModel",b="changeLabelOptions",c="blur",d="_applyDelegate",e="_applyLabelPath",f="popupOpen",g="qx.data.Array",h="qx.ui.form.core.AbstractVirtualBox",i="changeIconOptions",j="_applyLabelOptions",k="Down",l="Integer",m="_applyModel",n="open",o="Up",p="",q="_applyMaxListHeight",r="visible",s="middle",t="_applyIconPath",u="resize",v="list",w="changeDelegate",x="changeVisibility",y="close",z="changeLabelPath",A="dropdown",B="keypress",C="changeIconPath",D="_applyRowHeight",E="abstract",F="Number",G="String",H="Escape",I="_applyIconOptions",J="tap",K=".",L="[0]";qx.Class.define(h,{extend:qx.ui.core.Widget,include:qx.ui.form.MForm,implement:qx.ui.form.IForm,type:E,construct:function(M){qx.ui.core.Widget.call(this);var N=new qx.ui.layout.HBox();this._setLayout(N);N.setAlignY(s);this.addListener(B,this._handleKeyboard,this);this.addListener(J,this._handlePointer,this);this.addListener(c,this._onBlur,this);this.addListener(u,this._onResize,this);this._createChildControl(A);if(M!=null){this.initModel(M);}else {this.__tD=new qx.data.Array();this.initModel(this.__tD);};},properties:{focusable:{refine:true,init:true},width:{refine:true,init:120},model:{check:g,apply:m,event:a,nullable:false,deferredInit:true},delegate:{apply:d,event:w,init:null,nullable:true},labelPath:{check:G,apply:e,event:z,nullable:true},labelOptions:{apply:j,event:b,nullable:true},iconPath:{check:G,event:C,apply:t,nullable:true},iconOptions:{apply:I,event:i,nullable:true},itemHeight:{check:l,init:25,apply:D,themeable:true},maxListHeight:{check:F,apply:q,nullable:true,init:200}},members:{__tD:null,_forwardStates:{focused:true,invalid:true},refresh:function(){this.getChildControl(A).getChildControl(v).refresh();qx.ui.core.queue.Widget.add(this);},open:function(){this._beforeOpen();this.getChildControl(A).open();},close:function(){this._beforeClose();this.getChildControl(A).close();},toggle:function(){var O=this.getChildControl(A);if(O.isVisible()){this.close();}else {this.open();};},_createChildControlImpl:function(R,Q){var P;switch(R){case A:P=new qx.ui.form.core.VirtualDropDownList(this);P.addListener(x,this._onPopupChangeVisibility,this);break;};return P||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,R,Q);},_beforeOpen:function(){},_beforeClose:function(){},_getAction:function(event){var S=event.getKeyIdentifier();var U=this.getChildControl(A).isVisible();var T=this._isModifierPressed(event);if(!U&&!T&&(S===k||S===o)){return n;}else if(U&&!T&&S===H){return y;}else {return null;};},_getBindPath:function(W,X){var V=W+L;if(X!=null&&X!=p){V+=K+X;};return V;},_isModifierPressed:function(event){var bc=event.isAltPressed();var bb=event.isCtrlOrCommandPressed();var Y=event.isShiftPressed();var ba=event.isMetaPressed();return (bc||bb||Y||ba);},_onBlur:function(event){this.close();},_handleKeyboard:function(event){var bd=this._getAction(event);var be=this.getChildControl(A).isVisible();switch(bd){case n:this.open();break;case y:this.close();break;default:if(be){this.getChildControl(A)._handleKeyboard(event);};break;};},_handlePointer:function(event){},_onResize:function(event){this.getChildControl(A).setMinWidth(event.getData().width);},_onPopupChangeVisibility:function(event){event.getData()==r?this.addState(f):this.removeState(f);},_applyModel:function(bg,bf){this.getChildControl(A).getChildControl(v).setModel(bg);qx.ui.core.queue.Widget.add(this);},_applyDelegate:function(bi,bh){this.getChildControl(A).getChildControl(v).setDelegate(bi);},_applyLabelPath:function(bk,bj){this.getChildControl(A).getChildControl(v).setLabelPath(bk);qx.ui.core.queue.Widget.add(this);},_applyLabelOptions:function(bm,bl){this.getChildControl(A).getChildControl(v).setLabelOptions(bm);qx.ui.core.queue.Widget.add(this);},_applyIconPath:function(bo,bn){this.getChildControl(A).getChildControl(v).setIconPath(bo);qx.ui.core.queue.Widget.add(this);},_applyIconOptions:function(bq,bp){this.getChildControl(A).getChildControl(v).setIconOptions(bq);qx.ui.core.queue.Widget.add(this);},_applyRowHeight:function(bs,br){this.getChildControl(A).getChildControl(v).setItemHeight(bs);},_applyMaxListHeight:function(bu,bt){this.getChildControl(A).getChildControl(v).setMaxHeight(bu);}},destruct:function(){if(this.__tD){this.__tD.dispose();};}});})();(function(){var a="changeModel",b="one",c="Enter",d="list",e="changeDelegate",f="change",g="qx.data.Array",h="changeVisibility",j="qx.ui.form.core.VirtualDropDownList",k="_applySelection",l="changeSelection",m="tap",n="Invalid parameter 'target'!",o="qx.event.type.Data";qx.Class.define(j,{extend:qx.ui.popup.Popup,construct:function(p){qx.core.Assert.assertNotNull(p,n);qx.core.Assert.assertNotUndefined(p,n);qx.core.Assert.assertInterface(p,qx.ui.form.core.AbstractVirtualBox,n);qx.ui.popup.Popup.call(this,new qx.ui.layout.VBox());this._target=p;this._createChildControl(d);this.addListener(h,this.__tH,this);this.__tE=new qx.data.Array();this.initSelection(this.__tE);},properties:{autoHide:{refine:true,init:false},keepActive:{refine:true,init:true},selection:{check:g,event:l,apply:k,nullable:false,deferredInit:true}},events:{"changeSelection":o},members:{_target:null,_preselected:null,__tF:false,__tG:false,__tE:null,open:function(){this.placeToWidget(this._target,true);this.show();},close:function(){this.hide();},setPreselected:function(q){this._preselected=q;this.__tG=true;var s=this.getChildControl(d).getSelection();var r=new qx.data.Array([q]);this.__tJ(r,s);r.dispose();this.__tG=false;},_createChildControlImpl:function(v,u){var t;switch(v){case d:t=new qx.ui.list.List().set({focusable:false,keepFocus:true,height:null,width:null,maxHeight:this._target.getMaxListHeight(),selectionMode:b,quickSelection:true});t.getSelection().addListener(f,this._onListChangeSelection,this);t.addListener(m,this._handlePointer,this);t.addListener(a,this._onChangeModel,this);t.addListener(e,this._onChangeDelegate,this);this.add(t,{flex:1});break;};return t||qx.ui.popup.Popup.prototype._createChildControlImpl.call(this,v,u);},_handleKeyboard:function(event){if(this.isVisible()&&event.getKeyIdentifier()===c){this.__tI();return;};var w=event.clone();w.setTarget(this.getChildControl(d));w.setBubbles(false);this.getChildControl(d).dispatchEvent(w);},_handlePointer:function(event){this.__tI();},__sh:function(event){if(this.__tF){return;};var x=this.getSelection();var y=this.getChildControl(d).getSelection();this.__tG=true;this.__tJ(x,y);this.__tG=false;this.__tF=true;this.__tJ(y,x);this.__tF=false;},_onListChangeSelection:function(event){if(this.__tG){return;};var z=this.getChildControl(d).getSelection();if(this.isVisible()){this.setPreselected(z.getItem(0));}else {this.__tF=true;this.__tJ(z,this.getSelection());this.__tF=false;};},__tH:function(event){if(this.isVisible()){if(this._preselected==null){var A=this.getSelection();var B=this.getChildControl(d).getSelection();this.__tJ(A,B);};this.__tK();}else {this.setPreselected(null);};},_onChangeModel:function(event){this.getSelection().removeAll();},_onChangeDelegate:function(event){this.getSelection().removeAll();},_applySelection:function(D,C){D.addListener(f,this.__sh,this);if(C!=null){C.removeListener(f,this.__sh,this);};this.__tJ(D,this.getChildControl(d).getSelection(D));},__tI:function(){if(this._preselected!=null){var E=this.getSelection();E.splice(0,1,this._preselected);this._preselected=null;this.close();};},__tJ:function(F,H){if(F.equals(H)){return;};if(F.getLength()<=0){H.removeAll();}else {var G=H.toArray();qx.lang.Array.removeAll(G);for(var i=0;iJ){K.setMaxHeight(J);}else if(LO?P:O;}},destruct:function(){if(this.__tE){this.__tE.dispose();};}});})();(function(){var a="scrollY",b="The method 'getItemRight' is not implemented!",c="update",d="scrollX",f="The method 'getItemLeft' is not implemented!",g="The method 'getItemBottom' is not implemented!",h="The method 'getItemTop' is not implemented!",i="pane",j="os.scrollBarOverlayed",k="qx.ui.virtual.core.Scroller";qx.Class.define(k,{extend:qx.ui.core.scroll.AbstractScrollArea,construct:function(o,l,n,m){qx.ui.core.scroll.AbstractScrollArea.call(this);this.__tO=new qx.ui.virtual.core.Pane(o,l,n,m);this.__tO.addListener(c,this._computeScrollbars,this);this.__tO.addListener(d,this._onScrollPaneX,this);this.__tO.addListener(a,this._onScrollPaneY,this);if(qx.core.Environment.get(j)){this._add(this.__tO,{edge:0});}else {this._add(this.__tO,{row:0,column:0});};},properties:{width:{refine:true,init:null},height:{refine:true,init:null}},members:{__tO:null,getPane:function(){return this.__tO;},_createChildControlImpl:function(q,p){if(q==i){return this.__tO;}else {return qx.ui.core.scroll.AbstractScrollArea.prototype._createChildControlImpl.call(this,q);};},getItemTop:function(r){throw new Error(h);},getItemBottom:function(s){throw new Error(g);},getItemLeft:function(t){throw new Error(f);},getItemRight:function(u){throw new Error(b);},_onScrollBarX:function(e){this.__tO.setScrollX(e.getData());},_onScrollBarY:function(e){this.__tO.setScrollY(e.getData());}},destruct:function(){this.__tO.dispose();this.__tO=null;}});})();(function(){var a="qx.ui.virtual.core.Pane",b="resize",c="qx.ui.virtual.core.CellEvent",d="__tX",f="update",g="scrollX",h="scrollY",j="change",k="contextmenu",l="appear",m="__tP",n="cellDbltap",o="pointerdown",p="__tW",q="tap",r="qx.event.type.Event",s="qx.event.type.Data",t="cellTap",u="cellContextmenu",v="__tQ",w="dbltap";qx.Class.define(a,{extend:qx.ui.core.Widget,construct:function(A,x,z,y){qx.ui.core.Widget.call(this);this.__tP=new qx.ui.virtual.core.Axis(z,A);this.__tQ=new qx.ui.virtual.core.Axis(y,x);this.__tR=0;this.__tS=0;this.__tT=0;this.__tU=0;this.__tV={};this.__jj={};this.__tW=new qx.ui.container.Composite();this.__tW.setUserBounds(0,0,0,0);this._add(this.__tW);this.__tX=[];this.__tP.addListener(j,this.fullUpdate,this);this.__tQ.addListener(j,this.fullUpdate,this);this.addListener(b,this._onResize,this);this.addListenerOnce(l,this._onAppear,this);this.addListener(o,this._onPointerDown,this);this.addListener(q,this._onTap,this);this.addListener(w,this._onDbltap,this);this.addListener(k,this._onContextmenu,this);},events:{cellTap:c,cellContextmenu:c,cellDbltap:c,update:r,scrollX:s,scrollY:s},properties:{width:{refine:true,init:400},height:{refine:true,init:300}},members:{__tP:null,__tQ:null,__tR:null,__tS:null,__tT:null,__tU:null,__tV:null,__jj:null,__tW:null,__tX:null,__tY:null,__oV:null,__ua:null,__ub:null,getRowConfig:function(){return this.__tP;},getColumnConfig:function(){return this.__tQ;},getChildren:function(){return [this.__tW];},addLayer:function(B){{};this.__tX.push(B);B.setUserBounds(0,0,0,0);this.__tW.add(B);},getLayers:function(){return this.__tX;},getVisibleLayers:function(){var C=[];for(var i=0;iG){I=G;};if(this.__tR!==I){var H=this.__tR;this.__tR=I;this._deferredUpdateScrollPosition();this.fireDataEvent(h,I,H);};},getScrollY:function(){return this.__tR;},setScrollX:function(L){var J=this.getScrollMaxX();if(L<0){L=0;}else if(L>J){L=J;};if(L!==this.__tS){var K=this.__tS;this.__tS=L;this._deferredUpdateScrollPosition();this.fireDataEvent(g,L,K);};},getScrollX:function(){return this.__tS;},getScrollSize:function(){return {width:this.__tQ.getTotalSize(),height:this.__tP.getTotalSize()};},scrollRowIntoView:function(O){var P=this.getBounds();if(!P){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollRowIntoView(O);},this,0);},this);return;};var Q=this.__tP.getItemPosition(O);var N=Q+this.__tP.getItemSize(O);var M=this.getScrollY();if(QM+P.height){this.setScrollY(N-P.height);};},scrollColumnIntoView:function(R){var U=this.getBounds();if(!U){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollColumnIntoView(R);},this,0);},this);return;};var T=this.__tQ.getItemPosition(R);var S=T+this.__tQ.getItemSize(R);var V=this.getScrollX();if(TV+U.width){this.setScrollX(S-U.width);};},scrollCellIntoView:function(W,Y){var X=this.getBounds();if(!X){this.addListenerOnce(l,function(){qx.event.Timer.once(function(){this.scrollCellIntoView(W,Y);},this,0);},this);return;};this.scrollColumnIntoView(W);this.scrollRowIntoView(Y);},getCellAtPosition:function(ba,bb){var be,bd;var bc=this.getContentLocation();if(!bc||bb=bc.bottom||ba=bc.right){return null;};be=this.__tP.getItemAtPosition(this.getScrollY()+bb-bc.top);bd=this.__tQ.getItemAtPosition(this.getScrollX()+ba-bc.left);if(!be||!bd){return null;};return {row:be.index,column:bd.index};},prefetchX:function(bi,bl,bj,bh){var bf=this.getVisibleLayers();if(bf.length==0){return;};var bk=this.getBounds();if(!bk){return;};var bm=this.__tS+bk.width;var bn=this.__tU-bm;if(this.__tS-this.__tV.left=ca.bottom&&this.__tV.left<=ca.left&&this.__tV.right>=ca.right){this.__tW.setUserBounds((this.getPaddingLeft()||0)+(this.__tV.left-ca.left),(this.getPaddingTop()||0)+(this.__tV.top-ca.top),this.__tV.right-this.__tV.left,this.__tV.bottom-this.__tV.top);}else {this._setLayerWindow(bY,this.__tS,this.__tR,cb.width,cb.height,false);};this.__ud();}},destruct:function(){this._disposeArray(d);this._disposeObjects(m,v,p);this.__tV=this.__jj=this.__oV=this.__ua=null;}});})();(function(){var c="change",d="qx.event.type.Event",e="qx.ui.virtual.core.Axis";qx.Class.define(e,{extend:qx.core.Object,construct:function(f,g){qx.core.Object.call(this);this.itemCount=g;this.defaultItemSize=f;this.customSizes={};},events:{"change":d},members:{__ue:null,getDefaultItemSize:function(){return this.defaultItemSize;},setDefaultItemSize:function(h){if(this.defaultItemSize!==h){this.defaultItemSize=h;this.__ue=null;this.fireNonBubblingEvent(c);};},getItemCount:function(){return this.itemCount;},setItemCount:function(j){if(this.itemCount!==j){this.itemCount=j;this.__ue=null;this.fireNonBubblingEvent(c);};},setItemSize:function(k,l){{};if(this.customSizes[k]==l){return;};if(l===null){delete this.customSizes[k];}else {this.customSizes[k]=l;};this.__ue=null;this.fireNonBubblingEvent(c);},getItemSize:function(m){return this.customSizes[m]||this.defaultItemSize;},resetItemSizes:function(){this.customSizes={};this.__ue=null;this.fireNonBubblingEvent(c);},__uf:function(){if(this.__ue){return this.__ue;};var q=this.defaultItemSize;var o=this.itemCount;var w=[];for(var t in this.customSizes){var n=parseInt(t,10);if(nb?1:-1;});var s=[];var p=0;for(var i=0;i=o){break;};var v=this.customSizes[n];var r=n*q+p;p+=v-q;s[i]={startIndex:n,firstItemSize:v,rangeStart:r};if(i>0){s[i-1].rangeEnd=r-1;s[i-1].endIndex=n-1;};};if(s[0].rangeStart>0){s.unshift({startIndex:0,endIndex:s[0].startIndex-1,firstItemSize:q,rangeStart:0,rangeEnd:s[0].rangeStart-1});};var x=s[s.length-1];var u=(o-x.startIndex-1)*q;x.rangeEnd=x.rangeStart+x.firstItemSize+u-1;x.endIndex=o-1;this.__ue=s;return s;},__ug:function(D){var z=this.__ue||this.__uf();var A=0;var y=z.length-1;while(true){var C=A+((y-A)>>1);var B=z[C];if(B.rangeEndD){y=C-1;}else {return B;};};},getItemAtPosition:function(I){if(I<0||I>=this.getTotalSize()){return null;};var H=this.__ug(I);var J=H.rangeStart;var E=H.startIndex;var G=H.firstItemSize;if(J+G>I){return {index:E,offset:I-J};}else {var F=this.defaultItemSize;return {index:E+1+Math.floor((I-J-G)/F),offset:(I-J-G)%F};};},__uh:function(K){var M=this.__ue||this.__uf();var N=0;var L=M.length-1;while(true){var P=N+((L-N)>>1);var O=M[P];if(O.endIndexK){L=P-1;}else {return O;};};},getItemPosition:function(Q){if(Q<0||Q>=this.itemCount){return null;};var R=this.__uh(Q);if(R.startIndex==Q){return R.rangeStart;}else {return R.rangeStart+R.firstItemSize+(Q-R.startIndex-1)*this.defaultItemSize;};},getTotalSize:function(){var S=this.__ue||this.__uf();return S[S.length-1].rangeEnd+1;},getItemSizes:function(Y,T){var X=this.customSizes;var W=this.defaultItemSize;var V=0;var U=[];var i=0;while(V=this.itemCount){break;};};return U;}},destruct:function(){this.customSizes=this.__ue=null;}});})();(function(){var a="qx.ui.virtual.core.CellEvent",b="Integer";qx.Class.define(a,{extend:qx.event.type.Pointer,properties:{row:{check:b,nullable:true},column:{check:b,nullable:true}},members:{init:function(e,c,f,d){c.clone(this);this.setBubbles(false);this.setRow(f);this.setColumn(d);}}});})();(function(){var a="one",b="Boolean",c="qx.ui.virtual.selection.MModel",d="qx.data.Array",f="multi",g="selected",h="_applySelection",j="change",k="_applyDragSelection",l="single",m="_applyQuickSelection",n="changeSelection",o="_applySelectionMode",p="additive",q="qx.event.type.Data";qx.Mixin.define(c,{construct:function(){this._initSelectionManager();this.__tE=new qx.data.Array();this.initSelection(this.__tE);},properties:{selection:{check:d,event:n,apply:h,nullable:false,deferredInit:true},selectionMode:{check:[l,f,p,a],init:l,apply:o},dragSelection:{check:b,init:false,apply:k},quickSelection:{check:b,init:false,apply:m}},events:{"changeSelection":q},members:{_manager:null,__ui:false,__uj:false,__tE:null,_initSelectionManager:function(){var self=this;var r={isItemSelectable:function(s){return self._provider.isSelectable(s);},styleSelectable:function(t,u,v){if(u!=g){return;};if(v){self._provider.styleSelectabled(t);}else {self._provider.styleUnselectabled(t);};}};this._manager=new qx.ui.virtual.selection.Row(this.getPane(),r);this._manager.attachPointerEvents(this.getPane());this._manager.attachKeyEvents(this);this._manager.addListener(n,this._onManagerChangeSelection,this);},setAutoScrollIntoView:function(w){this._manager._autoScrollIntoView=w;},getAutoScrollIntoView:function(){return this._manager._autoScrollIntoView;},_updateSelection:function(){if(this._manager==null){return;};this._onChangeSelection();},_applySelection:function(y,x){y.addListener(j,this._onChangeSelection,this);if(x!=null){x.removeListener(j,this._onChangeSelection,this);};this._onChangeSelection();},_applySelectionMode:function(A,z){this._manager.setMode(A);},_applyDragSelection:function(C,B){this._manager.setDrag(C);},_applyQuickSelection:function(E,D){this._manager.setQuick(E);},_onChangeSelection:function(e){if(this.__uj==true){return;};this.__ui=true;var G=this.getSelection();var I=[];for(var i=0;i=0){I.push(K);};};if(this._beforeApplySelection!=null&&qx.lang.Type.isFunction(this._beforeApplySelection)){this._beforeApplySelection(I);};try{if(!qx.lang.Array.equals(I,this._manager.getSelection())){this._manager.replaceSelection(I);};}catch(L){this._manager.selectItem(I[I.length-1]);};this.__tJ();if(this._afterApplySelection!=null&&qx.lang.Type.isFunction(this._afterApplySelection)){this._afterApplySelection();};this.__ui=false;},_onManagerChangeSelection:function(e){if(this.__ui==true){return;};this.__uj=true;this.__tJ();this.__uj=false;},__tJ:function(){if(this.__ul()){return;};var M=this._manager.getSelection();var N=[];for(var i=0;i0){var P=[0,Q.getLength()];P=P.concat(R);var S=Q.splice.apply(Q,P);S.dispose();}else {Q.removeAll();};},__ul:function(){var U=this.getSelection();var W=this._manager.getSelection();if(U.getLength()!==W.length){return false;};for(var i=0;i=0;i-- ){if(this._isSelectable(i)){return i;};};return null;},_getRelatedSelectable:function(q,s){if(s==b){var r=q-1;var p=0;var t=-1;}else if(s==c){var r=q+1;var p=this._getItemCount()-1;var t=1;}else {return null;};for(var i=r;i!==p+t;i+=t){if(this._isSelectable(i)){return i;};};return null;},_getPage:function(v,u){if(u){return this._getFirstSelectable();}else {return this._getLastSelectable();};},_selectableToHashCode:function(w){return w;},_scrollItemIntoView:function(x){if(this._autoScrollIntoView){this._pane.scrollRowIntoView(x);};},_getSelectableLocationX:function(y){return {left:0,right:this._pane.getColumnConfig().getTotalSize()-1};},_getSelectableLocationY:function(z){var C=this._pane.getRowConfig();var B=C.getItemPosition(z);var A=B+C.getItemSize(z)-1;return {top:B,bottom:A};}}});})();(function(){var c="changeModel",d="resize",f="_applyLabelOptions",g="_applyLabelPath",h="qx.data.Array",j="_applyGroupLabelOptions",m="changeLength",n="row-layer",o="_applyModel",p="changeGroups",q="Boolean",r="GroupingTypeError: You can't mix 'Objects' and 'Strings' as",s="Integer",t="sorter",u="_applyGroupRowHeight",v="group",w="_applyIconPath",x="_applyDelegate",y="changeDelegate",z=" group identifier!",A="???",B="_applyRowHeight",C="qx.data.IListData",D="filter",E="virtual-list",F="String",G="_applyGroupLabelPath",H="_applyIconOptions",I="qx.ui.list.List";qx.Class.define(I,{extend:qx.ui.virtual.core.Scroller,include:[qx.ui.virtual.selection.MModel],implement:qx.data.controller.ISelection,construct:function(J){qx.ui.virtual.core.Scroller.call(this,0,1,20,100);this._init();this.__um=new qx.data.Array();this.initGroups(this.__um);if(J!=null){this.initModel(J);};this.initItemHeight();},properties:{appearance:{refine:true,init:E},focusable:{refine:true,init:true},width:{refine:true,init:100},height:{refine:true,init:200},model:{check:C,apply:o,event:c,nullable:true,deferredInit:true},itemHeight:{check:s,init:25,apply:B,themeable:true},groupItemHeight:{check:s,init:null,nullable:true,apply:u,themeable:true},labelPath:{check:F,apply:g,nullable:true},iconPath:{check:F,apply:w,nullable:true},groupLabelPath:{check:F,apply:G,nullable:true},labelOptions:{apply:f,nullable:true},iconOptions:{apply:H,nullable:true},groupLabelOptions:{apply:j,nullable:true},delegate:{apply:x,event:y,init:null,nullable:true},autoGrouping:{check:q,init:true},groups:{check:h,event:p,nullable:false,deferredInit:true}},members:{_background:null,_provider:null,_layer:null,__mH:null,__un:null,__uo:null,__up:false,__uq:false,__ur:false,__um:null,refresh:function(){this.__mV();},_createChildControlImpl:function(M,L){var K;switch(M){case n:K=new qx.ui.virtual.layer.Row(null,null);break;};return K||qx.ui.virtual.core.Scroller.prototype._createChildControlImpl.call(this,M);},_init:function(){this._provider=new qx.ui.list.provider.WidgetProvider(this);this.__mH=[];this.__un=[];this.__uo={};this.__up=false;this.__uq=false;this.__ur=false;this.getPane().addListener(d,this._onResize,this);this._initBackground();this._initLayer();},_initBackground:function(){this._background=this.getChildControl(n);this.getPane().addLayer(this._background);},_initLayer:function(){this._layer=this._provider.createLayer();this.getPane().addLayer(this._layer);},_getDataFromRow:function(P){var O=null;var N=this.getModel();if(N==null){return null;};if(this._isGroup(P)){O=this.getGroups().getItem(this._lookupGroup(P));}else {O=N.getItem(this._lookup(P));};if(O!=null){return O;}else {return null;};},_getLookupTable:function(){return this.__mH;},_lookup:function(Q){return this.__mH[Q];},_lookupGroup:function(R){return this.__un.indexOf(R);},_reverseLookup:function(S){if(S<0){return -1;};return this.__mH.indexOf(S);},_isGroup:function(T){return this._lookup(T)==-1;},_getSelectables:function(){return this.getModel();},_applyModel:function(V,U){if(V!=null){V.addListener(m,this._onModelChange,this);};if(U!=null){U.removeListener(m,this._onModelChange,this);};this._provider.removeBindings();this._onModelChange();},_applyRowHeight:function(X,W){this.getPane().getRowConfig().setDefaultItemSize(X);},_applyGroupRowHeight:function(ba,Y){this.__ut();},_applyLabelPath:function(bc,bb){this._provider.setLabelPath(bc);},_applyIconPath:function(be,bd){this._provider.setIconPath(be);},_applyGroupLabelPath:function(bg,bf){this._provider.setGroupLabelPath(bg);},_applyLabelOptions:function(bi,bh){this._provider.setLabelOptions(bi);},_applyIconOptions:function(bk,bj){this._provider.setIconOptions(bk);},_applyGroupLabelOptions:function(bm,bl){this._provider.setGroupLabelOptions(bm);},_applyDelegate:function(bo,bn){this._provider.setDelegate(bo);this.__mV();},_onResize:function(e){this.getPane().getColumnConfig().setItemSize(0,e.getData().width);},_onModelChange:function(e){this.__mV();this._applyDefaultSelection();},__us:function(){this.getPane().getRowConfig().setItemCount(this.__mH.length);this.getPane().fullUpdate();},__ut:function(){var bp=this.getPane().getRowConfig();var bq=this.getGroupItemHeight();bp.resetItemSizes();if(bq){for(var i=0,l=this.__mH.length;i=O&&M<=N;}}});})();(function(){var a="qx.ui.list.provider.IListProvider";qx.Interface.define(a,{members:{createLayer:function(){},createItemRenderer:function(){},createGroupRenderer:function(){},styleSelectabled:function(b){},styleUnselectabled:function(c){},isSelectable:function(d){},setLabelPath:function(e){},setIconPath:function(f){},setLabelOptions:function(g){},setIconOptions:function(h){},setDelegate:function(i){},removeBindings:function(){}}});})();(function(){var a="qx.ui.virtual.core.IWidgetCellProvider";qx.Interface.define(a,{members:{getCellWidget:function(c,b){},poolCellWidget:function(d){}}});})();(function(){var a="cell.type",b="model[",c="groups[",d="model",f="",g="changeDelegate",h="label",i="qx.ui.list.core.MWidgetController",j="icon",k="]",l="value",m="BindingIds",n=".",o="group",p="String";qx.Mixin.define(i,{construct:function(){this.__uF=[];},properties:{labelPath:{check:p,nullable:true},iconPath:{check:p,nullable:true},groupLabelPath:{check:p,nullable:true},labelOptions:{nullable:true},iconOptions:{nullable:true},groupLabelOptions:{nullable:true},delegate:{event:g,init:null,nullable:true}},members:{__uF:null,bindDefaultProperties:function(q,r){if(q.getUserData(a)!=o){this.bindProperty(f,d,null,q,r);this.bindProperty(this.getLabelPath(),h,this.getLabelOptions(),q,r);if(this.getIconPath()!=null){this.bindProperty(this.getIconPath(),j,this.getIconOptions(),q,r);};}else {this.bindProperty(this.getGroupLabelPath(),l,this.getGroupLabelOptions(),q,r);};},bindProperty:function(u,x,v,t,s){var y=t.getUserData(a);var w=this.__uG(s,u,y);if(v){v.ignoreConverter=d;};var z=this._list.bind(w,t,x,v);this.__uH(t,z);},bindPropertyReverse:function(D,B,E,F,A){var G=F.getUserData(a);var C=this.__uG(A,D,G);var H=F.bind(B,this._list,C,E);this.__uH(F,H);},removeBindings:function(){while(this.__uF.length>0){var I=this.__uF.pop();this._removeBindingsFrom(I);};},_configureItem:function(J){var K=this.getDelegate();if(K!=null&&K.configureItem!=null){K.configureItem(J);};},_configureGroupItem:function(L){var M=this.getDelegate();if(M!=null&&M.configureGroupItem!=null){M.configureGroupItem(L);};},_bindItem:function(N,P){var O=this.getDelegate();if(O!=null&&O.bindItem!=null){O.bindItem(this,N,P);}else {this.bindDefaultProperties(N,P);};},_bindGroupItem:function(Q,S){var R=this.getDelegate();if(R!=null&&R.bindGroupItem!=null){R.bindGroupItem(this,Q,S);}else {this.bindDefaultProperties(Q,S);};},_removeBindingsFrom:function(T){var U=this.__uI(T);while(U.length>0){var V=U.pop();try{this._list.removeBinding(V);}catch(e){T.removeBinding(V);};};if(qx.lang.Array.contains(this.__uF,T)){qx.lang.Array.remove(this.__uF,T);};},__uG:function(X,ba,Y){var W=b+X+k;if(Y==o){W=c+X+k;};if(ba!=null&&ba!=f){W+=n+ba;};return W;},__uH:function(bc,bd){var bb=this.__uI(bc);if(!qx.lang.Array.contains(bb,bd)){bb.push(bd);};if(!qx.lang.Array.contains(this.__uF,bc)){this.__uF.push(bc);};},__uI:function(be){var bf=be.getUserData(m);if(bf==null){bf=[];be.setUserData(m,bf);};return bf;}},destruct:function(){this.__uF=null;}});})();(function(){var a="cell.type",b="changeDelegate",c="qx.ui.list.provider.WidgetProvider",d="createItem",e="group-item",f="onPool",g="item",h="createGroupItem",i="created",j="group";qx.Class.define(c,{extend:qx.core.Object,implement:[qx.ui.virtual.core.IWidgetCellProvider,qx.ui.list.provider.IListProvider],include:[qx.ui.list.core.MWidgetController],construct:function(k){qx.core.Object.call(this);this._list=k;this._itemRenderer=this.createItemRenderer();this._groupRenderer=this.createGroupRenderer();this._itemRenderer.addListener(i,this._onItemCreated,this);this._groupRenderer.addListener(i,this._onGroupItemCreated,this);this._list.addListener(b,this._onChangeDelegate,this);},members:{_itemRenderer:null,_groupRenderer:null,getCellWidget:function(n,l){var m=null;if(!this._list._isGroup(n)){m=this._itemRenderer.getCellWidget();m.setUserData(a,g);this._bindItem(m,this._list._lookup(n));if(this._list._manager.isItemSelected(n)){this._styleSelectabled(m);}else {this._styleUnselectabled(m);};}else {m=this._groupRenderer.getCellWidget();m.setUserData(a,j);this._bindGroupItem(m,this._list._lookupGroup(n));};return m;},poolCellWidget:function(o){this._removeBindingsFrom(o);if(o.getUserData(a)==g){this._itemRenderer.pool(o);}else if(o.getUserData(a)==j){this._groupRenderer.pool(o);};this._onPool(o);},createLayer:function(){return new qx.ui.virtual.layer.WidgetCell(this);},createItemRenderer:function(){var p=qx.util.Delegate.getMethod(this.getDelegate(),d);if(p==null){p=function(){return new qx.ui.form.ListItem();};};var q=new qx.ui.virtual.cell.WidgetCell();q.setDelegate({createWidget:p});return q;},createGroupRenderer:function(){var r=qx.util.Delegate.getMethod(this.getDelegate(),h);if(r==null){r=function(){var t=new qx.ui.basic.Label();t.setAppearance(e);return t;};};var s=new qx.ui.virtual.cell.WidgetCell();s.setDelegate({createWidget:r});return s;},styleSelectabled:function(v){var u=this.__uJ(v);this._styleSelectabled(u);},styleUnselectabled:function(x){var w=this.__uJ(x);this._styleUnselectabled(w);},isSelectable:function(z){if(this._list._isGroup(z)){return false;};var y=this._list._layer.getRenderedCellWidget(z,0);if(y!=null){return y.isEnabled();}else {return true;};},_styleSelectabled:function(A){this.__uK(A,{selected:1});},_styleUnselectabled:function(B){this.__uK(B,{});},_onPool:function(C){var D=qx.util.Delegate.getMethod(this.getDelegate(),f);if(D!=null){D(C);};},_onItemCreated:function(event){var E=event.getData();this._configureItem(E);},_onGroupItemCreated:function(event){var F=event.getData();this._configureGroupItem(F);},_onChangeDelegate:function(event){this._itemRenderer.dispose();this._itemRenderer=this.createItemRenderer();this._itemRenderer.addListener(i,this._onItemCreated,this);this._groupRenderer.dispose();this._groupRenderer=this.createGroupRenderer();this._groupRenderer.addListener(i,this._onGroupItemCreated,this);this.removeBindings();this._list.getPane().fullUpdate();},__uJ:function(G){return this._list._layer.getRenderedCellWidget(G,0);},__uK:function(I,H){if(I==null){return;};this._itemRenderer.updateStates(I,H);}},destruct:function(){this._itemRenderer.dispose();this._groupRenderer.dispose();this._itemRenderer=this._groupRenderer=null;}});})();(function(){var a="cell.column",b="updated",c="qx.event.type.Event",d="qx.ui.virtual.layer.WidgetCell",e="cell.row",f="cell.empty";qx.Class.define(d,{extend:qx.ui.virtual.layer.Abstract,include:[qx.ui.core.MChildrenHandling],construct:function(g){qx.ui.virtual.layer.Abstract.call(this);this.setZIndex(12);{};this._cellProvider=g;this.__uL=[];},properties:{anonymous:{refine:true,init:false}},events:{updated:c},members:{__uL:null,getRenderedCellWidget:function(p,m){if(this._getChildren().length===0){return null;};var h=this.getColumnSizes().length;var o=this.getRowSizes().length;var n=this.getFirstRow();var l=this.getFirstColumn();if(p=n+o||m=l+h){return null;};var k=(m-l)+(p-n)*h;var j=this._getChildren()[k];if(!j||j.getUserData(f)){return null;}else {return j;};},_getSpacer:function(){var q=this.__uL.pop();if(!q){q=new qx.ui.core.Spacer();q.setUserData(f,1);};return q;},_activateNotEmptyChild:function(r){var s=qx.ui.core.FocusHandler.getInstance().getActiveWidget();if(s==r||qx.ui.core.Widget.contains(r,s)){var t=this._getChildren();for(var i=t.length-1;i>=0;i-- ){if(!t[i].getUserData(f)){t[i].activate();break;};};};},_fullUpdate:function(A,u,z,w){var B=this._cellProvider;var G=this._getChildren().concat();for(var i=0;iL.lastRow||L.firstColumn>L.lastColumn){return this._fullUpdate(W,J,M,bb);};var O=this._getChildren();var Q=this.getColumnSizes().length;var T=[];var ba={};for(var P=W;P<=N;P++ ){T[P]=[];for(var Y=J;Y<=X;Y++ ){if(P>=L.firstRow&&P<=L.lastRow&&Y>=L.firstColumn&&Y<=L.lastColumn){var x=Y-this.getFirstColumn();var y=P-this.getFirstRow();var R=y*Q+x;T[P][Y]=O[R];ba[R]=true;};};};var K=this._cellProvider;var O=this._getChildren().concat();for(var i=0;i0){var R=this.__bc.pop();this.removeBinding(R);};},_handlePointer:function(event){qx.ui.form.core.AbstractVirtualBox.prototype._handlePointer.call(this,event);var S=event.getType();if(S===w){this.toggle();};},_handleKeyboard:function(event){var T=this._getAction(event);switch(T){case q:this.__uS+=this.__uU(event.getKeyIdentifier());this.__uR.restart();break;default:qx.ui.form.core.AbstractVirtualBox.prototype._handleKeyboard.call(this,event);break;};},_onPointerOver:function(event){if(!this.isEnabled()||event.getTarget()!==this){return;};if(this.hasState(g)){this.removeState(g);this.addState(c);};this.addState(a);},_onPointerOut:function(event){if(!this.isEnabled()||event.getTarget()!==this){return;};this.removeState(a);if(this.hasState(c)){this.removeState(c);this.addState(g);};},_applySelection:function(V,U){this.getChildControl(v).setSelection(V);qx.ui.core.queue.Widget.add(this);},__uT:function(){this.__uR.stop();var Y=this.__uS;if(Y===null||Y===s){return;};var bg=this.getModel();var bb=this.getChildControl(v).getChildControl(k);var W=bb.getSelection();var length=bb._getLookupTable().length;var bf=bg.indexOf(W.getItem(0));var bd=bb._reverseLookup(bf);for(var i=1;i<=length;i++ ){var bh=(i+bd)%length;var be=bg.getItem(bb._lookup(bh));if(!be){continue;};var bc=be;if(this.getLabelPath()){bc=qx.data.SingleValueBinding.resolvePropertyChain(be,this.getLabelPath());var ba=this.getLabelOptions();if(ba){var X=qx.util.Delegate.getMethod(ba,x);if(X){bc=X(bc,be);};};};if(qx.lang.String.startsWith(bc.toLowerCase(),Y.toLowerCase())){W.push(be);break;};};this.__uS=s;},__uU:function(bi){if(bi===f){return A;}else {return bi;};}},destruct:function(){this._removeBindings();this.__uR.removeListener(l,this.__uT,this);this.__uR.dispose();this.__uR=null;}});})();(function(){var a="qx.ui.form.renderer.IFormRenderer";qx.Interface.define(a,{members:{addItems:function(b,f,d,c,e){},addButton:function(g,h){}}});})();(function(){var a=" * ",b="Abstract method call",c="abstract",d="",f="changeLocale",g="change",h="visibility",j="qx.dynlocale",k="qx.ui.form.renderer.AbstractRenderer",l=" :";qx.Class.define(k,{type:c,extend:qx.ui.core.Widget,implement:qx.ui.form.renderer.IFormRenderer,construct:function(m){qx.ui.core.Widget.call(this);this._labels=[];if(qx.core.Environment.get(j)){qx.locale.Manager.getInstance().addListener(f,this._onChangeLocale,this);this._names=[];};this._form=m;this._render();m.addListener(g,this._onFormChange,this);},members:{_names:null,_form:null,_labels:null,_render:function(){var q=this._form.getGroups();for(var i=0;i0||v.getRequired()?l:d;return name+w+x;},addItems:function(y,z,A){throw new Error(b);},addButton:function(B){throw new Error(b);}},destruct:function(){if(qx.core.Environment.get(j)){qx.locale.Manager.getInstance().removeListener(f,this._onChangeLocale,this);};this._names=null;}});})();(function(){var a="bold",b="_buttonRow",c="qx.ui.form.renderer.Double",d="qx.dynlocale",e="top",f="left",g="right";qx.Class.define(c,{extend:qx.ui.form.renderer.AbstractRenderer,construct:function(j){var h=new qx.ui.layout.Grid();h.setSpacing(6);h.setColumnAlign(0,g,e);h.setColumnAlign(1,f,e);h.setColumnAlign(2,g,e);h.setColumnAlign(3,f,e);this._setLayout(h);qx.ui.form.renderer.AbstractRenderer.call(this,j);},members:{_row:0,_buttonRow:null,_onFormChange:function(){this._buttonRow.destroy();this._buttonRow=null;this._row=0;qx.ui.form.renderer.AbstractRenderer.prototype._onFormChange.call(this);},addItems:function(l,o,k){if(k!=null){this._add(this._createHeader(k),{row:this._row,column:0,colSpan:4});this._row++ ;};for(var i=0;ir){r=k;};if(m>p){p=m;};};return {width:r,height:p};}}});})();(function(){var a="qx.ui.menubar.MenuBar",b="menubar";qx.Class.define(a,{extend:qx.ui.toolbar.ToolBar,properties:{appearance:{refine:true,init:b}}});})();(function(){var a="slider",b="splitter",c="px",d="Integer",f="height",g="move",h="maxHeight",i="resize",j="pointerup",k="vertical",l="width",m="_applyOrientation",n="_applyOffset",o="splitpane",p="qx.ui.splitpane.Pane",q="pointerdown",r="top",s="minHeight",t="knob",u="horizontal",v="minWidth",w="appear",z="losecapture",A="left",B="pointermove",C="maxWidth",D="pointerout";qx.Class.define(p,{extend:qx.ui.core.Widget,construct:function(E){qx.ui.core.Widget.call(this);this.__gP=[];if(E){this.setOrientation(E);}else {this.initOrientation();};this.__lO.addListener(q,this._onPointerDown,this);this.__lO.addListener(j,this._onPointerUp,this);this.__lO.addListener(B,this._onPointerMove,this);this.__lO.addListener(D,this._onPointerOut,this);this.__lO.addListener(z,this._onPointerUp,this);},properties:{appearance:{refine:true,init:o},offset:{check:d,init:6,apply:n},orientation:{init:u,check:[u,k],apply:m}},members:{__uV:null,__uW:false,__uX:null,__uY:null,__nQ:null,__va:null,__vb:null,__gP:null,__lO:null,_createChildControlImpl:function(H,G){var F;switch(H){case a:F=new qx.ui.splitpane.Slider(this);F.exclude();this._add(F,{type:H});break;case b:F=new qx.ui.splitpane.Splitter(this);this._add(F,{type:H});F.addListener(g,this.__vc,this);break;};return F||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,H);},__vc:function(e){this.__ve(e.getData());},__vd:function(K){this.__lO=new qx.ui.splitpane.Blocker(K);this.getContentElement().add(this.__lO);var I=this.getChildControl(b);var J=I.getWidth();if(!J){I.addListenerOnce(w,function(){this.__ve();},this);};I.addListener(i,function(e){var L=e.getData();if(L.height==0||L.width==0){this.__lO.hide();}else {this.__lO.show();};},this);},getBlocker:function(){return this.__lO;},_applyOrientation:function(Q,N){var R=this.getChildControl(a);var M=this.getChildControl(b);this.__nQ=Q===u;if(!this.__lO){this.__vd(Q);};this.__lO.setOrientation(Q);var P=this._getLayout();if(P){P.dispose();};var O=Q===k?new qx.ui.splitpane.VLayout:new qx.ui.splitpane.HLayout;this._setLayout(O);M.removeState(N);M.addState(Q);M.getChildControl(t).removeState(N);M.getChildControl(t).addState(Q);R.removeState(N);R.addState(Q);qx.ui.core.queue.Manager.flush();this.__ve();},_applyOffset:function(T,S){this.__ve();},__ve:function(V){var U=this.getChildControl(b);var ba=this.getOffset();var bb=U.getBounds();var Y=U.getContentElement().getDomElement();if(!Y){return;};if(this.__nQ){var X=null;if(V){X=V.width;}else if(bb){X=bb.width;};var bc=V&&V.left;if(X){if(isNaN(bc)){bc=qx.bom.element.Location.getPosition(Y).left;};this.__lO.setWidth(ba,X);this.__lO.setLeft(ba,bc);};}else {var W=null;if(V){W=V.height;}else if(bb){W=bb.height;};var top=V&&V.top;if(W){if(isNaN(top)){top=qx.bom.element.Location.getPosition(Y).top;};this.__lO.setHeight(ba,W);this.__lO.setTop(ba,top);};};},add:function(be,bd){if(bd==null){this._add(be);}else {this._add(be,{flex:bd});};this.__gP.push(be);},remove:function(bf){this._remove(bf);qx.lang.Array.remove(this.__gP,bf);},getChildren:function(){return this.__gP;},_onPointerDown:function(e){if(!e.isLeftPressed()){return;};var bg=this.getChildControl(b);var bj=bg.getContentLocation();var bh=this.getContentLocation();this.__uV=this.__nQ?e.getDocumentLeft()-bj.left+bh.left:e.getDocumentTop()-bj.top+bh.top;var bi=this.getChildControl(a);var bk=bg.getBounds();bi.setUserBounds(bk.left,bk.top,bk.width,bk.height);bi.setZIndex(bg.getZIndex()+1);bi.show();this.__uW=true;this.__lO.capture();e.stop();},_onPointerMove:function(e){this._setLastPointerPosition(e.getDocumentLeft(),e.getDocumentTop());if(this.__uW){this.__vf();var bl=this.getChildControl(a);var bm=this.__va;if(this.__nQ){bl.setDomLeft(bm);this.__lO.setStyle(A,(bm-this.getOffset())+c);}else {bl.setDomTop(bm);this.__lO.setStyle(r,(bm-this.getOffset())+c);};e.stop();};},_onPointerOut:function(e){this._setLastPointerPosition(e.getDocumentLeft(),e.getDocumentTop());},_onPointerUp:function(e){if(!this.__uW){return;};this._finalizeSizes();var bn=this.getChildControl(a);bn.exclude();this.__uW=false;this.releaseCapture();e.stop();},_finalizeSizes:function(){var br=this.__va;var bo=this.__vb;if(br==null){return;};var bt=this._getChildren();var bs=bt[2];var bq=bt[3];var bp=bs.getLayoutProperties().flex;var bu=bq.getLayoutProperties().flex;if((bp!=0)&&(bu!=0)){bs.setLayoutProperties({flex:br});bq.setLayoutProperties({flex:bo});}else {if(this.__nQ){bs.setWidth(br);bq.setWidth(bo);}else {bs.setHeight(br);bq.setHeight(bo);};};},__vf:function(){if(this.__nQ){var bx=v,bE=l,by=C,bC=this.__uX;}else {var bx=s,bE=f,by=h,bC=this.__uY;};var bD=this._getChildren();var bv=bD[2].getSizeHint();var bA=bD[3].getSizeHint();var bB=bD[2].getBounds()[bE]+bD[3].getBounds()[bE];var bz=bC-this.__uV;var bw=bB-bz;if(bzbv[by]){bw+=bz-bv[by];bz=bv[by];}else if(bw>bA[by]){bz+=bw-bA[by];bw=bA[by];};this.__va=bz;this.__vb=bw;},_isActiveDragSession:function(){return this.__uW;},_setLastPointerPosition:function(x,y){this.__uX=x;this.__uY=y;}},destruct:function(){this.__gP=null;}});})();(function(){var a="qx.ui.splitpane.Slider";qx.Class.define(a,{extend:qx.ui.core.Widget,properties:{allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false}}});})();(function(){var a="center",b="qx.ui.splitpane.Splitter",c="vertical",d="knob",e="middle";qx.Class.define(b,{extend:qx.ui.core.Widget,construct:function(f){qx.ui.core.Widget.call(this);if(f.getOrientation()==c){this._setLayout(new qx.ui.layout.HBox(0,a));this._getLayout().setAlignY(e);}else {this._setLayout(new qx.ui.layout.VBox(0,e));this._getLayout().setAlignX(a);};this._createChildControl(d);},properties:{allowShrinkX:{refine:true,init:false},allowShrinkY:{refine:true,init:false}},members:{_createChildControlImpl:function(i,h){var g;switch(i){case d:g=new qx.ui.basic.Image;this._add(g);break;};return g||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,i);}}});})();(function(){var a="mshtml",b="engine.name",c="repeat",d="horizontal",e="top",f="height",g="_applyOrientation",h="url(",i="qx.ui.splitpane.Blocker",j="width",k=")",l="col-resize",m="row-resize",n="px",o="100%",p="div",q="left",r="vertical",s="qx/static/blank.gif",t="cursor",u="absolute";qx.Class.define(i,{extend:qx.html.Element,construct:function(w){var v={position:u,zIndex:11};if((qx.core.Environment.get(b)==a)){v.backgroundImage=h+qx.util.ResourceManager.getInstance().toUri(s)+k;v.backgroundRepeat=c;};qx.html.Element.call(this,p,v);if(w){this.setOrientation(w);}else {this.initOrientation();};},properties:{orientation:{init:d,check:[d,r],apply:g}},members:{_applyOrientation:function(y,x){if(y==d){this.setStyle(f,o);this.setStyle(t,l);this.setStyle(e,null);}else {this.setStyle(j,o);this.setStyle(q,null);this.setStyle(t,m);};},setWidth:function(A,z){var B=z+2*A;this.setStyle(j,B+n);},setHeight:function(D,C){var E=C+2*D;this.setStyle(f,E+n);},setLeft:function(G,F){var H=F-G;this.setStyle(q,H+n);},setTop:function(J,I){var top=I-J;this.setStyle(e,top+n);}}});})();(function(){var a="splitter",b="qx.ui.splitpane.VLayout",c="slider";qx.Class.define(b,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(t,l,s){var j=this._getLayoutChildren();var length=j.length;var u,o;var p,w,v,k;var y=s.left||0;var m=s.top||0;for(var i=0;i0&&g>0){var f=A+g;var q=l-h;var r=Math.round((q/f)*A);var z=q-r;var x=qx.ui.layout.Util.arrangeIdeals(d.minHeight,r,d.maxHeight,n.minHeight,z,n.maxHeight);r=x.begin;z=x.end;}else if(A>0){r=l-h-z;if(rd.maxHeight){r=d.maxHeight;};}else if(g>0){z=l-r-h;if(zn.maxHeight){z=n.maxHeight;};};p.renderLayout(y,m,t,r);w.renderLayout(y,r+m,t,h);k.renderLayout(y,r+h+m,t,z);}else {w.renderLayout(0,0,0,0);if(p){p.renderLayout(y,m,t,l);}else if(k){k.renderLayout(y,m,t,l);};};},_computeSizeHint:function(){var K=this._getLayoutChildren();var length=K.length;var J,C,D;var E=0,G=0,F=0;var H=0,I=0,B=0;for(var i=0;iH){H=C.minWidth;};if(C.width>I){I=C.width;};if(C.maxWidth>B){B=C.maxWidth;};};return {minHeight:E,height:G,maxHeight:F,minWidth:H,width:I,maxWidth:B};}}});})();(function(){var a="splitter",b="qx.ui.splitpane.HLayout",c="slider";qx.Class.define(b,{extend:qx.ui.layout.Abstract,members:{verifyLayoutProperty:null,renderLayout:function(s,k,r){var h=this._getLayoutChildren();var length=h.length;var t,n;var o,v,u,j;var x=r.left||0;var l=r.top||0;for(var i=0;i0&&g>0){var f=A+g;var p=s-z;var q=Math.round((p/f)*A);var y=p-q;var w=qx.ui.layout.Util.arrangeIdeals(d.minWidth,q,d.maxWidth,m.minWidth,y,m.maxWidth);q=w.begin;y=w.end;}else if(A>0){q=s-z-y;if(qd.maxWidth){q=d.maxWidth;};}else if(g>0){y=s-q-z;if(ym.maxWidth){y=m.maxWidth;};};o.renderLayout(x,l,q,k);v.renderLayout(q+x,l,z,k);j.renderLayout(q+z+x,l,y,k);}else {v.renderLayout(0,0,0,0);if(o){o.renderLayout(x,l,s,k);}else if(j){j.renderLayout(x,l,s,k);};};},_computeSizeHint:function(){var K=this._getLayoutChildren();var length=K.length;var J,C,D;var H=0,I=0,B=0;var E=0,G=0,F=0;for(var i=0;iE){E=C.minHeight;};if(C.height>G){G=C.height;};if(C.maxHeight>F){F=C.maxHeight;};};return {minWidth:H,width:I,maxWidth:B,minHeight:E,height:G,maxHeight:F};}}});})();(function(){var a="_applyIcon",b="",c="icon",d="page",e="close",f="qx.event.type.Event",g="_applyShowCloseButton",h="tabview-page",i="qx.ui.tabview.Page",j="_applyLabel",k="button",l="String",m="Boolean";qx.Class.define(i,{extend:qx.ui.container.Composite,construct:function(n,o){qx.ui.container.Composite.call(this);this._createChildControl(k);if(n!=null){this.setLabel(n);};if(o!=null){this.setIcon(o);};},events:{"close":f},properties:{appearance:{refine:true,init:h},label:{check:l,init:b,apply:j},icon:{check:l,init:b,apply:a,nullable:true},showCloseButton:{check:m,init:false,apply:g}},members:{_forwardStates:{barTop:1,barRight:1,barBottom:1,barLeft:1,firstTab:1,lastTab:1},_applyIcon:function(r,q){var p=this.getChildControl(k);if(r){p.setIcon(r);p._showChildControl(c);}else {p._excludeChildControl(c);};},_applyLabel:function(t,s){this.getChildControl(k).setLabel(t);},_applyEnabled:function(w,v){qx.ui.container.Composite.prototype._applyEnabled.call(this,w,v);var u=this.getChildControl(k);w==null?u.resetEnabled():u.setEnabled(w);},_createChildControlImpl:function(z,y){var x;switch(z){case k:x=new qx.ui.tabview.TabButton;x.setAllowGrowX(true);x.setAllowGrowY(true);x.setUserData(d,this);x.addListener(e,this._onButtonClose,this);break;};return x||qx.ui.container.Composite.prototype._createChildControlImpl.call(this,z);},_applyShowCloseButton:function(B,A){this.getChildControl(k).setShowCloseButton(B);},_onButtonClose:function(){this.fireEvent(e);},getButton:function(){return this.getChildControl(k);}}});})();(function(){var a="Boolean",b="icon",c="label",d="bottom",e="qx.ui.tabview.TabButton",f="center",g="_applyShowCloseButton",h="close-button",i="top",j="left",k="tap",l="middle",m="close",n="right",o="qx.event.type.Data";qx.Class.define(e,{extend:qx.ui.form.RadioButton,implement:qx.ui.form.IRadioItem,construct:function(){qx.ui.form.RadioButton.call(this);var p=new qx.ui.layout.Grid(2,0);p.setRowAlign(0,j,l);p.setColumnAlign(0,n,l);this._getLayout().dispose();this._setLayout(p);this.initShowCloseButton();},events:{"close":o},properties:{showCloseButton:{check:a,init:false,apply:g}},members:{_forwardStates:{focused:true,checked:true},_applyIconPosition:function(s,q){var r={icon:this.getChildControl(b),label:this.getChildControl(c),closeButton:this.getShowCloseButton()?this.getChildControl(h):null};for(var t in r){if(r[t]){this._remove(r[t]);};};switch(s){case i:this._add(r.label,{row:3,column:2});this._add(r.icon,{row:1,column:2});if(r.closeButton){this._add(r.closeButton,{row:0,column:4});};break;case d:this._add(r.label,{row:1,column:2});this._add(r.icon,{row:3,column:2});if(r.closeButton){this._add(r.closeButton,{row:0,column:4});};break;case j:this._add(r.label,{row:0,column:2});this._add(r.icon,{row:0,column:0});if(r.closeButton){this._add(r.closeButton,{row:0,column:4});};break;case n:this._add(r.label,{row:0,column:0});this._add(r.icon,{row:0,column:2});if(r.closeButton){this._add(r.closeButton,{row:0,column:4});};break;};},_createChildControlImpl:function(w,v){var u;switch(w){case c:var u=new qx.ui.basic.Label(this.getLabel());u.setAnonymous(true);this._add(u,{row:0,column:2});this._getLayout().setColumnFlex(2,1);break;case b:u=new qx.ui.basic.Image(this.getIcon());u.setAnonymous(true);this._add(u,{row:0,column:0});break;case h:u=new qx.ui.form.Button();u.setFocusable(false);u.setKeepActive(true);u.addListener(k,this._onCloseButtonTap,this);this._add(u,{row:0,column:4});if(!this.getShowCloseButton()){u.exclude();};break;};return u||qx.ui.form.RadioButton.prototype._createChildControlImpl.call(this,w);},_onCloseButtonTap:function(){this.fireDataEvent(m,this);},_applyShowCloseButton:function(y,x){if(y){this._showChildControl(h);}else {this._excludeChildControl(h);};},_applyCenter:function(A){var z=this._getLayout();if(A){z.setColumnAlign(2,f,l);}else {z.setColumnAlign(2,j,l);};}}});})();(function(){var a="bottom",b="button",c="qx.event.type.Data",d="lastTab",f="barRight",g="__tn",h="beforeChangeSelection",j="close-button",k="changeSelection",m="bar",n="Index should be less than : ",o="tabview",p="vertical",q="page",r="close",s="_applyBarPosition",t="barLeft",u="top",v="horizontal",w="qx.ui.tabview.TabView",x="right",y="barTop",z="barBottom",A="pane",B="left",C="firstTab";qx.Class.define(w,{extend:qx.ui.core.Widget,implement:qx.ui.core.ISingleSelection,include:[qx.ui.core.MContentPadding],construct:function(E){qx.ui.core.Widget.call(this);this.__vg={top:y,right:f,bottom:z,left:t};this._createChildControl(m);this._createChildControl(A);var D=this.__tn=new qx.ui.form.RadioGroup;D.setWrap(false);D.addListener(k,this._onChangeSelection,this);if(E!=null){this.setBarPosition(E);}else {this.initBarPosition();};},events:{"changeSelection":c},properties:{appearance:{refine:true,init:o},barPosition:{check:[B,x,u,a],init:u,apply:s}},members:{__tn:null,_createChildControlImpl:function(H,G){var F;switch(H){case m:F=new qx.ui.container.SlideBar();F.setZIndex(10);this._add(F);break;case A:F=new qx.ui.container.Stack;F.setZIndex(5);this._add(F,{flex:1});break;};return F||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,H);},_getContentPaddingTarget:function(){return this.getChildControl(A);},add:function(M){{};var I=M.getButton();var J=this.getChildControl(m);var L=this.getChildControl(A);M.exclude();J.add(I);L.add(M);this.__tn.add(I);M.addState(this.__vg[this.getBarPosition()]);M.addState(d);var K=this.getChildren();if(K[0]==M){M.addState(C);}else {K[K.length-2].removeState(d);};M.addListener(r,this._onPageClose,this);},addAt:function(Q,N){{};var S=this.getChildren();if(!(N==null)&&N>S.length){throw new Error(n+S.length);};if(N==null){N=S.length;};var P=Q.getButton();var O=this.getChildControl(m);var R=this.getChildControl(A);Q.exclude();O.addAt(P,N);R.addAt(Q,N);this.__tn.add(P);Q.addState(this.__vg[this.getBarPosition()]);S=this.getChildren();if(N==S.length-1){Q.addState(d);};if(S[0]==Q){Q.addState(C);}else {S[S.length-2].removeState(d);};Q.addListener(r,this._onPageClose,this);},remove:function(W){var X=this.getChildControl(A);var U=this.getChildControl(m);var V=W.getButton();var Y=X.getChildren();if(this.getSelection()[0]==W){var T=Y.indexOf(W);if(T==0){if(Y[1]){this.setSelection([Y[1]]);}else {this.resetSelection();};}else {this.setSelection([Y[T-1]]);};};U.remove(V);X.remove(W);this.__tn.remove(V);W.removeState(this.__vg[this.getBarPosition()]);if(W.hasState(C)){W.removeState(C);if(Y[0]){Y[0].addState(C);};};if(W.hasState(d)){W.removeState(d);if(Y.length>0){Y[Y.length-1].addState(d);};};W.removeListener(r,this._onPageClose,this);},getChildren:function(){return this.getChildControl(A).getChildren();},indexOf:function(ba){return this.getChildControl(A).indexOf(ba);},__vg:null,_applyBarPosition:function(be,bg){var bb=this.getChildControl(m);var bh=this.getChildControl(A);var bj=be==B||be==x;var bk=be==x||be==a;var bi=bj?qx.ui.layout.HBox:qx.ui.layout.VBox;var bl=this._getLayout();if(bl&&bl instanceof bi){}else {this._setLayout(bl=new bi);};bl.setReversed(bk);bb.setOrientation(bj?p:v);var bf=this.getChildren();var i,l;if(bg){var bd=this.__vg[bg];bb.removeState(bd);bh.removeState(bd);for(i=0,l=bf.length;i0){return t[t.length-1];}else {return null;};},_getRelatedSelectable:function(u,w){var v=this._getWidget();var x=null;switch(w){case b:x=v.getPreviousNodeOf(u,false);break;case c:x=v.getNextNodeOf(u,false);break;case e:case d:break;};if(!x){return null;};if(this._isSelectable(x)){return x;}else {return this._getRelatedSelectable(x,w);};}}});})();(function(){var a="_applyIconOpened",b="changeOpen",c="Boolean",d="changeIcon",f="changeIconOpened",g="changeLabel",h="Integer",i="auto",j="Abstract method call.",k="_applyIndent",l="open",m="changeOpenSymbolMode",n="_applyOpenSymbolMode",o="middle",p="String",q="resize",r="",s="icon",t="opened",u="__vj",v="iconOpened",w="abstract",x="never",y="_applyIcon",z="always",A="_applyOpen",B="changeIndent",C="qx.ui.tree.core.AbstractItem",D="label",E="_applyLabel";qx.Class.define(C,{extend:qx.ui.core.Widget,type:w,include:[qx.ui.form.MModelProperty],implement:[qx.ui.form.IModel],construct:function(F){qx.ui.core.Widget.call(this);if(F!=null){this.setLabel(F);};this._setLayout(new qx.ui.layout.HBox());this._addWidgets();this.initOpen();},properties:{open:{check:c,init:false,event:b,apply:A},openSymbolMode:{check:[z,x,i],init:i,event:m,apply:n},indent:{check:h,init:19,apply:k,event:B,themeable:true},icon:{check:p,apply:y,event:d,nullable:true,themeable:true},iconOpened:{check:p,apply:a,event:f,nullable:true,themeable:true},label:{check:p,apply:E,event:g,init:r}},members:{__vh:null,__vi:null,__vj:null,_addWidgets:function(){throw new Error(j);},_createChildControlImpl:function(I,H){var G;switch(I){case D:G=new qx.ui.basic.Label().set({alignY:o,anonymous:true,value:this.getLabel()});break;case s:G=new qx.ui.basic.Image().set({alignY:o,anonymous:true,source:this.getIcon()});break;case l:G=new qx.ui.tree.core.FolderOpenButton().set({alignY:o});G.addListener(b,this._onChangeOpen,this);G.addListener(q,this._updateIndent,this);break;};return G||qx.ui.core.Widget.prototype._createChildControlImpl.call(this,I);},addWidget:function(J,K){this._add(J,K);},addSpacer:function(){if(!this.__vj){this.__vj=new qx.ui.core.Spacer();}else {this._remove(this.__vj);};this._add(this.__vj);},addOpenButton:function(){this._add(this.getChildControl(l));},_onChangeOpen:function(e){if(this.isOpenable()){this.setOpen(e.getData());};},addIcon:function(){var L=this.getChildControl(s);if(this.__vi){this._remove(L);};this._add(L);this.__vi=true;},addLabel:function(M){var N=this.getChildControl(D);if(this.__vh){this._remove(N);};if(M){this.setLabel(M);}else {N.setValue(this.getLabel());};this._add(N);this.__vh=true;},_applyIcon:function(P,O){if(!this.__vl()){this.__vm(P);}else if(!this.isOpen()){this.__vm(P);};},_applyIconOpened:function(R,Q){if(this.isOpen()){if(this.__vk()&&this.__vl()){this.__vm(R);}else if(!this.__vk()&&this.__vl()){this.__vm(R);};};},_applyLabel:function(T,S){var U=this.getChildControl(D,true);if(U){U.setValue(T);};},_applyOpen:function(W,V){var open=this.getChildControl(l,true);if(open){open.setOpen(W);};var X;if(W){X=this.__vl()?this.getIconOpened():null;}else {X=this.getIcon();};if(X){this.__vm(X);};W?this.addState(t):this.removeState(t);},__vk:function(){return qx.util.PropertyUtil.getUserValue(this,s);},__vl:function(){return qx.util.PropertyUtil.getUserValue(this,v);},__vm:function(Y){var ba=this.getChildControl(s,true);if(ba){ba.setSource(Y);};},isOpenable:function(){var bb=this.getOpenSymbolMode();return (bb===z||bb===i&&this.hasChildren());},_shouldShowOpenSymbol:function(){throw new Error(j);},_applyOpenSymbolMode:function(bd,bc){this._updateIndent();},_updateIndent:function(){var bf=0;var open=this.getChildControl(l,true);if(open){if(this._shouldShowOpenSymbol()){open.show();var be=open.getBounds();if(be){bf=be.width;}else {return;};}else {open.exclude();};};if(this.__vj){this.__vj.setWidth((this.getLevel()+1)*this.getIndent()-bf);};},_applyIndent:function(bh,bg){this._updateIndent();},getLevel:function(){throw new Error(j);},syncWidget:function(bi){this._updateIndent();},hasChildren:function(){throw new Error(j);}},destruct:function(){this._disposeObjects(u);}});})();(function(){var a="pointerup",b="qx.ui.tree.core.FolderOpenButton",c="Boolean",d="opened",f="_applyOpen",g="pointerdown",h="tap",i="changeOpen";qx.Class.define(b,{extend:qx.ui.basic.Image,include:qx.ui.core.MExecutable,construct:function(){qx.ui.basic.Image.call(this);this.initOpen();this.addListener(h,this._onTap);this.addListener(g,this._stopPropagation,this);this.addListener(a,this._stopPropagation,this);},properties:{open:{check:c,init:false,event:i,apply:f}},members:{_applyOpen:function(k,j){k?this.addState(d):this.removeState(d);this.execute();},_stopPropagation:function(e){e.stopPropagation();},_onTap:function(e){this.toggleOpen();e.stopPropagation();}}});})();(function(){var a="open",b="abstract",c="__gP",d="'. It is not a child of this tree item.",e="addItem",f="visible",g="excluded",h="removeItem",j="__vn",k="Cannot remove treeitem '",m="qx.ui.tree.core.AbstractTreeItem";qx.Class.define(m,{extend:qx.ui.tree.core.AbstractItem,type:b,construct:function(n){qx.ui.tree.core.AbstractItem.call(this,n);this.__gP=[];},properties:{parent:{check:m,nullable:true}},members:{__gP:null,__vn:null,getTree:function(){var p=this;while(p.getParent()){p=p.getParent();};var o=p.getLayoutParent()?p.getLayoutParent().getLayoutParent():0;if(o&&o instanceof qx.ui.core.scroll.ScrollPane){return o.getLayoutParent();};return null;},_applyOpen:function(r,q){if(this.hasChildren()){this.getChildrenContainer().setVisibility(r?f:g);};qx.ui.tree.core.AbstractItem.prototype._applyOpen.call(this,r,q);},_shouldShowOpenSymbol:function(){var open=this.getChildControl(a,true);if(!open){return false;};var s=this.getTree();if(!s.getRootOpenClose()){if(s.getHideRoot()){if(s.getRoot()==this.getParent()){return false;};}else {if(s.getRoot()==this){return false;};};};return this.isOpenable();},_updateIndent:function(){if(!this.getTree()){return;};qx.ui.tree.core.AbstractItem.prototype._updateIndent.call(this);},getLevel:function(){var t=this.getTree();if(!t){return;};var u=this;var v=-1;while(u){u=u.getParent();v+=1;};if(t.getHideRoot()){v-=1;};if(!t.getRootOpenClose()){v-=1;};return v;},addState:function(w){qx.ui.tree.core.AbstractItem.prototype.addState.call(this,w);var x=this._getChildren();for(var i=0,l=x.length;i0:false;},getItems:function(C,G,F){if(F!==false){var D=[];}else {var D=[this];};var I=this.hasChildren()&&(G!==false||this.isOpen());if(I){var H=this.getChildren();if(C===false){D=D.concat(H);}else {for(var i=0,E=H.length;i=0){be.remove(bg);};};qx.lang.Array.remove(this.__gP,bh);bh.setParent(null);be.remove(bh);};var bf=this.getTree();if(bf){bf.fireNonBubblingEvent(h,qx.event.type.Data,[bh]);};qx.ui.core.queue.Widget.add(this);},removeAt:function(bj){var bk=this.__gP[bj];if(bk){this.remove(bk);};},removeAll:function(){var bl=this.__gP.concat();for(var i=this.__gP.length-1;i>=0;i-- ){this.remove(this.__gP[i]);};return bl;}},destruct:function(){this._disposeArray(c);this._disposeObjects(j);}});})();(function(){var a="Enter",b="_applyOpenMode",c="excluded",d="Space",f="Left",g="Boolean",h="changeOpenMode",j="_applyRootOpenClose",k="visible",l="changeSelection",m="qx.ui.tree.Tree",n="qx.event.type.Data",o="qx.ui.tree.core.AbstractTreeItem",p="tree",q="dbltap",r="_applyHideRoot",s="changeRoot",t="_applyRoot",u="keypress",v="none",w="__sI",x="pane",y="tap",z="Right";qx.Class.define(m,{extend:qx.ui.core.scroll.AbstractScrollArea,implement:[qx.ui.core.IMultiSelection,qx.ui.form.IModelSelection,qx.ui.form.IForm],include:[qx.ui.core.MMultiSelectionHandling,qx.ui.core.MContentPadding,qx.ui.form.MModelSelection,qx.ui.form.MForm],construct:function(){qx.ui.core.scroll.AbstractScrollArea.call(this);this.__sI=new qx.ui.container.Composite(new qx.ui.layout.VBox()).set({allowShrinkY:false,allowGrowX:true});this.getChildControl(x).add(this.__sI);this.initOpenMode();this.initRootOpenClose();this.addListener(l,this._onChangeSelection,this);this.addListener(u,this._onKeyPress,this);},events:{addItem:n,removeItem:n},properties:{openMode:{check:[y,q,v],init:q,apply:b,event:h,themeable:true},root:{check:o,init:null,nullable:true,event:s,apply:t},hideRoot:{check:g,init:false,apply:r},rootOpenClose:{check:g,init:false,apply:j},appearance:{refine:true,init:p},focusable:{refine:true,init:true}},members:{__sI:null,SELECTION_MANAGER:qx.ui.tree.selection.SelectionManager,getChildrenContainer:function(){return this.__sI;},_applyRoot:function(C,A){var B=this.getChildrenContainer();if(A&&!A.isDisposed()){B.remove(A);if(A.hasChildren()){B.remove(A.getChildrenContainer());};};if(C){B.add(C);if(C.hasChildren()){B.add(C.getChildrenContainer());};C.setVisibility(this.getHideRoot()?c:k);C.recursiveAddToWidgetQueue();};},_applyHideRoot:function(F,D){var E=this.getRoot();if(!E){return;};E.setVisibility(F?c:k);E.recursiveAddToWidgetQueue();},_applyRootOpenClose:function(I,G){var H=this.getRoot();if(!H){return;};H.recursiveAddToWidgetQueue();},_getContentPaddingTarget:function(){return this.__sI;},getNextNodeOf:function(M,J){if((J!==false||M.isOpen())&&M.hasChildren()){return M.getChildren()[0];};while(M){var parent=M.getParent();if(!parent){return null;};var L=parent.getChildren();var K=L.indexOf(M);if(K>-1&&K0){var Q=R[N-1];while((P!==false||Q.isOpen())&&Q.hasChildren()){var S=Q.getChildren();Q=S[S.length-1];};return Q;}else {return parent;};},getNextSiblingOf:function(U){if(U==this.getRoot()){return null;};var parent=U.getParent();var T=parent.getChildren();var V=T.indexOf(U);if(V0){return W[Y-1];};return null;},getItems:function(bb,ba){if(this.getRoot()!=null){return this.getRoot().getItems(bb,ba,this.getHideRoot());}else {return [];};},getChildren:function(){if(this.getRoot()!=null){return [this.getRoot()];}else {return [];};},getTreeItem:function(bc){while(bc){if(bc==this){return null;};if(bc instanceof qx.ui.tree.core.AbstractTreeItem){return bc;};bc=bc.getLayoutParent();};return null;},_applyOpenMode:function(be,bd){if(bd==y){this.removeListener(y,this._onOpen,this);}else if(bd==q){this.removeListener(q,this._onOpen,this);};if(be==y){this.addListener(y,this._onOpen,this);}else if(be==q){this.addListener(q,this._onOpen,this);};},_onOpen:function(e){var bf=this.getTreeItem(e.getTarget());if(!bf||!bf.isOpenable()){return;};bf.setOpen(!bf.isOpen());e.stopPropagation();},_onChangeSelection:function(e){var bh=e.getData();for(var i=0;i0){var bX=bV.getItem(0);var bW=this.isNode(bX);switch(e.getKeyIdentifier()){case l:if(bW&&this.isNodeOpen(bX)){this.closeNode(bX);}else {var parent=this.getParent(bX);if(parent!=null){bV.splice(0,1,parent);};};break;case H:if(bW&&!this.isNodeOpen(bX)){this.openNode(bX);}else {if(bW){var bY=bX.get(this.getChildProperty());if(bY!=null&&bY.getLength()>0){bV.splice(0,1,bY.getItem(0));};};};break;case I:case k:if(!bW){return;};if(this.isNodeOpen(bX)){this.closeNode(bX);}else {this.openNode(bX);};break;};};},_beforeApplySelection:function(cb){if(cb.length===0&&this.getSelectionMode()===g){var ca=this.__vx();var cc=this.getLookupTable().indexOf(ca);if(cc>=0){cb.push(cc);};};},_afterApplySelection:function(){var cd=this.getSelection();if(cd.getLength()>0&&this.getSelectionMode()===g){this.__vw(cd.getItem(0));}else {this.__vr=[];};},__vs:function(){this.buildLookupTable();this._applyDefaultSelection();},buildLookupTable:function(){if(this.getModel()!=null&&(this.getChildProperty()==null||this.getLabelPath()==null)){throw new Error(f);};this._itemWidth=0;var ch=[];this.__vq=[];var cf=-1;var cg=this.getModel();if(cg!=null){if(!this.isHideRoot()){cf++ ;ch.push(cg);this.__vq.push(cf);};if(this.isNodeOpen(cg)){var ce=this.__vt(cg,cf);ch=ch.concat(ce);};};if(!qx.lang.Array.equals(this.__mH.toArray(),ch)){this._provider.removeBindings();this.__mH.removeAll();this.__mH.append(ch);this.__us();this._updateSelection();};},__vt:function(ci,cn){var cm=[];cn++ ;if(!this.isNode(ci)){return cm;};var cq=ci.get(this.getChildProperty());if(cq==null){return cm;};cq=cq.copy();var co=this.getDelegate();var cl=qx.util.Delegate.getMethod(co,m);var ck=qx.util.Delegate.getMethod(co,G);if(ck!=null){cq.sort(ck);};for(var i=0;i0){cz-- ;var cx=this.__vq[cz];if(cx0){var L=this.__uF.pop();this._removeBindingsFrom(L);};},_bindItem:function(N,O){var M=qx.util.Delegate.getMethod(this.getDelegate(),j);if(M!=null){M(this,N,O);}else {this.bindDefaultProperties(N,O);};},_removeBindingsFrom:function(P){var Q=this.__uI(P);while(Q.length>0){var R=Q.pop();try{this._tree.getLookupTable().removeBinding(R);}catch(e){P.removeBinding(R);};};if(qx.lang.Array.contains(this.__uF,P)){qx.lang.Array.remove(this.__uF,P);};},__uG:function(T,U){var S=n+T+l;if(U!=null&&U!=c){S+=o+U;};return S;},__uH:function(W,X){var V=this.__uI(W);if(!qx.lang.Array.contains(V,X)){V.push(X);};if(!qx.lang.Array.contains(this.__uF,W)){this.__uF.push(W);};},__uI:function(Y){var ba=Y.getUserData(a);if(ba==null){ba=[];Y.setUserData(a,ba);};return ba;}},destruct:function(){this.__uF=null;}});})();(function(){var a="changeOpen",b="cell.childProperty",c="changeDelegate",d="cell.level",e="createItem",f="auto",g="cell.showLeafs",h="configureItem",i="created",j="onPool",k="cell.row",l="qx.ui.tree.provider.WidgetProvider",m="never";qx.Class.define(l,{extend:qx.core.Object,implement:[qx.ui.virtual.core.IWidgetCellProvider,qx.ui.tree.provider.IVirtualTreeProvider],include:[qx.ui.tree.core.MWidgetController],construct:function(n){qx.core.Object.call(this);this._tree=n;this.addListener(c,this._onChangeDelegate,this);this._onChangeDelegate();},members:{_tree:null,_renderer:null,getCellWidget:function(t,r){var s=this._tree.getLookupTable().getItem(t);var p=false;if(this._tree.isNode(s)){p=this._tree.hasChildren(s);};var o=this._renderer.getCellWidget();o.setOpen(p&&this._tree.isNodeOpen(s));o.addListener(a,this.__vy,this);o.setUserData(b,this.getChildProperty());o.setUserData(g,this._tree.isShowLeafs());if(this._tree.getSelection().contains(s)){this._styleSelectabled(o);}else {this._styleUnselectabled(o);};var q=this._tree.getLevel(t);if(!this._tree.isShowTopLevelOpenCloseIcons()){q-=1;};o.setUserData(d,q);if(!this._tree.isShowTopLevelOpenCloseIcons()&&q==-1){o.setOpenSymbolMode(m);}else {o.setOpenSymbolMode(f);};this._bindItem(o,t);qx.ui.core.queue.Widget.add(o);return o;},poolCellWidget:function(u){u.removeListener(a,this.__vy,this);this._removeBindingsFrom(u);this._renderer.pool(u);this._onPool(u);},createLayer:function(){return new qx.ui.virtual.layer.WidgetCell(this);},createRenderer:function(){var v=qx.util.Delegate.getMethod(this.getDelegate(),e);if(v==null){v=function(){return new qx.ui.tree.VirtualTreeItem();};};var w=new qx.ui.virtual.cell.WidgetCell();w.setDelegate({createWidget:v});return w;},styleSelectabled:function(y){var x=this._tree._layer.getRenderedCellWidget(y,0);this._styleSelectabled(x);},styleUnselectabled:function(A){var z=this._tree._layer.getRenderedCellWidget(A,0);this._styleUnselectabled(z);},isSelectable:function(C){var B=this._tree._layer.getRenderedCellWidget(C,0);if(B!=null){return B.isEnabled();}else {return true;};},_styleSelectabled:function(D){if(D==null){return;};this._renderer.updateStates(D,{selected:1});},_styleUnselectabled:function(E){if(E==null){return;};this._renderer.updateStates(E,{});},_onPool:function(F){var G=qx.util.Delegate.getMethod(this.getDelegate(),j);if(G!=null){G(F);};},_onItemCreated:function(event){var H=qx.util.Delegate.getMethod(this.getDelegate(),h);if(H!=null){var I=event.getData();H(I);};},_onChangeDelegate:function(event){if(this._renderer!=null){this._renderer.dispose();this.removeBindings();};this._renderer=this.createRenderer();this._renderer.addListener(i,this._onItemCreated,this);},__vy:function(event){var K=event.getTarget();var L=K.getUserData(k);var J=this._tree.getLookupTable().getItem(L);if(event.getData()){this._tree.openNodeWithoutScrolling(J);}else {this._tree.closeNodeWithoutScrolling(J);};}},destruct:function(){this.removeBindings();this._renderer.dispose();this._tree=this._renderer=null;}});})();(function(){var a="open",b="cell.childProperty",c="cell.level",d="qx.ui.tree.VirtualTreeItem",f="change",g="virtual-tree-folder",h="cell.showLeafs",i="changeLength";qx.Class.define(d,{extend:qx.ui.tree.core.AbstractItem,properties:{appearance:{refine:true,init:g}},members:{_forwardStates:{selected:true},_addWidgets:function(){this.addSpacer();this.addOpenButton();this.addIcon();this.addLabel();},_shouldShowOpenSymbol:function(){var open=this.getChildControl(a,true);if(open==null){return false;};return this.isOpenable();},getLevel:function(){return this.getUserData(c);},hasChildren:function(){var j=this.getModel();var l=this.getUserData(b);var k=this.getUserData(h);return qx.ui.tree.core.Util.hasChildren(j,l,!k);},_applyModel:function(p,m){var q=this.getUserData(b);var o=this.getUserData(h);if(p!=null&&qx.ui.tree.core.Util.isNode(p,q)){var n=f+qx.lang.String.firstUp(q);if(qx.Class.hasProperty(p.constructor,q)){p.addListener(n,this._onChangeChildProperty,this);};if(qx.ui.tree.core.Util.hasChildren(p,q,!o)){p.get(q).addListener(i,this._onChangeLength,this);this._updateIndent();};};if(m!=null&&qx.ui.tree.core.Util.isNode(m,q)){var n=f+qx.lang.String.firstUp(q);m.removeListener(n,this._onChangeChildProperty,this);var r=m.get(q);if(r){r.removeListener(i,this._onChangeLength,this);};};},_onChangeLength:function(){this._updateIndent();},_onChangeChildProperty:function(e){var t=e.getData();var s=e.getOldData();if(t){this._updateIndent();t.addListener(i,this._onChangeLength,this);};if(s){s.removeListener(i,this._onChangeLength,this);};}}});})();(function(){var a="qx.ui.tree.core.Util";qx.Class.define(a,{statics:{isNode:function(b,c){if(b==null||c==null){return false;};return qx.Class.hasProperty(b.constructor,c);},hasChildren:function(d,f,h){if(d==null||f==null||!this.isNode(d,f)){return false;};var g=d.get(f);if(g==null){return false;};if(!h){return g.length>0;}else {for(var i=0;i= rhs : lhs['$>='](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $range = Opal.range, $hash2 = Opal.hash2, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$try_convert', '$native?', '$respond_to?', '$to_n', '$raise', '$inspect', '$Native', '$end_with?', '$define_method', '$[]', '$convert', '$call', '$to_proc', '$new', '$each', '$native_reader', '$native_writer', '$extend', '$alias_method', '$to_a', '$_Array', '$include', '$method_missing', '$bind', '$instance_method', '$[]=', '$slice', '$length', '$enum_for', '$===', '$<<', '$==', '$instance_variable_set', '$members', '$each_with_index', '$each_pair', '$name', '$native_module']); (function($base) { var self = $module($base, 'Native'); var def = self.$$proto, $scope = self.$$scope, TMP_1; Opal.defs(self, '$is_a?', function(object, klass) { var self = this; try { return object instanceof self.$try_convert(klass); } catch (e) { return false; } ; }); Opal.defs(self, '$try_convert', function(value) { var self = this; if (self['$native?'](value)) { return value; } else if (value['$respond_to?']("to_n")) { return value.$to_n(); } else { return nil; } ; }); Opal.defs(self, '$convert', function(value) { var self = this; if (self['$native?'](value)) { return value; } else if (value['$respond_to?']("to_n")) { return value.$to_n(); } else { self.$raise($scope.get('ArgumentError'), "" + (value.$inspect()) + " isn't native"); } ; }); Opal.defs(self, '$call', TMP_1 = function(obj, key, args) { var self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 2); TMP_1.$$p = null; var prop = obj[key]; if (prop instanceof Function) { var converted = new Array(args.length); for (var i = 0, length = args.length; i < length; i++) { var item = args[i], conv = self.$try_convert(item); converted[i] = conv === nil ? item : conv; } if (block !== nil) { converted.push(block); } return self.$Native(prop.apply(obj, converted)); } else { return self.$Native(prop); } ; }); (function($base) { var self = $module($base, 'Helpers'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$alias_native', function(new$, old, options) { var $a, $b, TMP_2, $c, TMP_3, $d, TMP_4, self = this, as = nil; if (old == null) { old = new$ } if (options == null) { options = $hash2([], {}) } if ((($a = old['$end_with?']("=")) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($b = self).$define_method, $a.$$p = (TMP_2 = function(value){var self = TMP_2.$$s || this; if (self["native"] == null) self["native"] = nil; if (value == null) value = nil; self["native"][old['$[]']($range(0, -2, false))] = $scope.get('Native').$convert(value); return value;}, TMP_2.$$s = self, TMP_2), $a).call($b, new$) } else if ((($a = as = options['$[]']("as")) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($c = self).$define_method, $a.$$p = (TMP_3 = function(args){var self = TMP_3.$$s || this, block, $a, $b, $c, value = nil; if (self["native"] == null) self["native"] = nil; args = $slice.call(arguments, 0); block = TMP_3.$$p || nil, TMP_3.$$p = null; if ((($a = value = ($b = ($c = $scope.get('Native')).$call, $b.$$p = block.$to_proc(), $b).apply($c, [self["native"], old].concat(args))) !== nil && (!$a.$$is_boolean || $a == true))) { return as.$new(value.$to_n()) } else { return nil }}, TMP_3.$$s = self, TMP_3), $a).call($c, new$) } else { return ($a = ($d = self).$define_method, $a.$$p = (TMP_4 = function(args){var self = TMP_4.$$s || this, block, $a, $b; if (self["native"] == null) self["native"] = nil; args = $slice.call(arguments, 0); block = TMP_4.$$p || nil, TMP_4.$$p = null; return ($a = ($b = $scope.get('Native')).$call, $a.$$p = block.$to_proc(), $a).apply($b, [self["native"], old].concat(args))}, TMP_4.$$s = self, TMP_4), $a).call($d, new$) }; }); Opal.defn(self, '$native_reader', function(names) { var $a, $b, TMP_5, self = this; names = $slice.call(arguments, 0); return ($a = ($b = names).$each, $a.$$p = (TMP_5 = function(name){var self = TMP_5.$$s || this, $a, $b, TMP_6; if (name == null) name = nil; return ($a = ($b = self).$define_method, $a.$$p = (TMP_6 = function(){var self = TMP_6.$$s || this; if (self["native"] == null) self["native"] = nil; return self.$Native(self["native"][name])}, TMP_6.$$s = self, TMP_6), $a).call($b, name)}, TMP_5.$$s = self, TMP_5), $a).call($b); }); Opal.defn(self, '$native_writer', function(names) { var $a, $b, TMP_7, self = this; names = $slice.call(arguments, 0); return ($a = ($b = names).$each, $a.$$p = (TMP_7 = function(name){var self = TMP_7.$$s || this, $a, $b, TMP_8; if (name == null) name = nil; return ($a = ($b = self).$define_method, $a.$$p = (TMP_8 = function(value){var self = TMP_8.$$s || this; if (self["native"] == null) self["native"] = nil; if (value == null) value = nil; return self.$Native(self["native"][name] = value)}, TMP_8.$$s = self, TMP_8), $a).call($b, "" + (name) + "=")}, TMP_7.$$s = self, TMP_7), $a).call($b); }); Opal.defn(self, '$native_accessor', function(names) { var $a, $b, self = this; names = $slice.call(arguments, 0); ($a = self).$native_reader.apply($a, [].concat(names)); return ($b = self).$native_writer.apply($b, [].concat(names)); }); })(self); Opal.defs(self, '$included', function(klass) { var self = this; return klass.$extend($scope.get('Helpers')); }); Opal.defn(self, '$initialize', function(native$) { var $a, self = this; if ((($a = $scope.get('Kernel')['$native?'](native$)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { $scope.get('Kernel').$raise($scope.get('ArgumentError'), "" + (native$.$inspect()) + " isn't native") }; return self["native"] = native$; }); Opal.defn(self, '$to_n', function() { var self = this; if (self["native"] == null) self["native"] = nil; return self["native"]; }); })(self); (function($base) { var self = $module($base, 'Kernel'); var def = self.$$proto, $scope = self.$$scope, TMP_9; Opal.defn(self, '$native?', function(value) { var self = this; return value == null || !value.$$class; }); Opal.defn(self, '$Native', function(obj) { var $a, self = this; if ((($a = obj == null) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else if ((($a = self['$native?'](obj)) !== nil && (!$a.$$is_boolean || $a == true))) { return (($scope.get('Native')).$$scope.get('Object')).$new(obj) } else { return obj }; }); self.$alias_method("_Array", "Array"); Opal.defn(self, '$Array', TMP_9 = function(object, args) { var $a, $b, self = this, $iter = TMP_9.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_9.$$p = null; if ((($a = self['$native?'](object)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($b = (($scope.get('Native')).$$scope.get('Array'))).$new, $a.$$p = block.$to_proc(), $a).apply($b, [object].concat(args)).$to_a()}; return self.$_Array(object); }); })(self); (function($base, $super) { function $Object(){}; var self = $Object = $klass($base, $super, 'Object', $Object); var def = self.$$proto, $scope = self.$$scope, TMP_10, TMP_11, TMP_12; def["native"] = nil; self.$include(Opal.get('Native')); Opal.defn(self, '$==', function(other) { var self = this; return self["native"] === $scope.get('Native').$try_convert(other); }); Opal.defn(self, '$has_key?', function(name) { var self = this; return Opal.hasOwnProperty.call(self["native"], name); }); Opal.defn(self, '$key?', def['$has_key?']); Opal.defn(self, '$include?', def['$has_key?']); Opal.defn(self, '$member?', def['$has_key?']); Opal.defn(self, '$each', TMP_10 = function(args) { var $a, self = this, $iter = TMP_10.$$p, $yield = $iter || nil; args = $slice.call(arguments, 0); TMP_10.$$p = null; if (($yield !== nil)) { for (var key in self["native"]) { ((($a = Opal.yieldX($yield, [key, self["native"][key]])) === $breaker) ? $breaker.$v : $a) } ; return self; } else { return ($a = self).$method_missing.apply($a, ["each"].concat(args)) }; }); Opal.defn(self, '$[]', function(key) { var self = this; var prop = self["native"][key]; if (prop instanceof Function) { return prop; } else { return Opal.get('Native').$call(self["native"], key) } ; }); Opal.defn(self, '$[]=', function(key, value) { var $a, self = this, native$ = nil; native$ = $scope.get('Native').$try_convert(value); if ((($a = native$ === nil) !== nil && (!$a.$$is_boolean || $a == true))) { return self["native"][key] = value; } else { return self["native"][key] = native$; }; }); Opal.defn(self, '$merge!', function(other) { var self = this; var other = $scope.get('Native').$convert(other); for (var prop in other) { self["native"][prop] = other[prop]; } ; return self; }); Opal.defn(self, '$respond_to?', function(name, include_all) { var self = this; if (include_all == null) { include_all = false } return $scope.get('Kernel').$instance_method("respond_to?").$bind(self).$call(name, include_all); }); Opal.defn(self, '$respond_to_missing?', function(name) { var self = this; return Opal.hasOwnProperty.call(self["native"], name); }); Opal.defn(self, '$method_missing', TMP_11 = function(mid, args) { var $a, $b, self = this, $iter = TMP_11.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_11.$$p = null; if (mid.charAt(mid.length - 1) === '=') { return self['$[]='](mid.$slice(0, $rb_minus(mid.$length(), 1)), args['$[]'](0)); } else { return ($a = ($b = Opal.get('Native')).$call, $a.$$p = block.$to_proc(), $a).apply($b, [self["native"], mid].concat(args)); } ; }); Opal.defn(self, '$nil?', function() { var self = this; return false; }); Opal.defn(self, '$is_a?', function(klass) { var self = this; return Opal.is_a(self, klass); }); Opal.defn(self, '$kind_of?', def['$is_a?']); Opal.defn(self, '$instance_of?', function(klass) { var self = this; return self.$$class === klass; }); Opal.defn(self, '$class', function() { var self = this; return self.$$class; }); Opal.defn(self, '$to_a', TMP_12 = function(options) { var $a, $b, self = this, $iter = TMP_12.$$p, block = $iter || nil; if (options == null) { options = $hash2([], {}) } TMP_12.$$p = null; return ($a = ($b = (($scope.get('Native')).$$scope.get('Array'))).$new, $a.$$p = block.$to_proc(), $a).call($b, self["native"], options).$to_a(); }); return (Opal.defn(self, '$inspect', function() { var self = this; return "#"; }), nil) && 'inspect'; })($scope.get('Native'), $scope.get('BasicObject')); (function($base, $super) { function $Array(){}; var self = $Array = $klass($base, $super, 'Array', $Array); var def = self.$$proto, $scope = self.$$scope, TMP_13, TMP_14; def.named = def["native"] = def.get = def.block = def.set = def.length = nil; self.$include($scope.get('Native')); self.$include($scope.get('Enumerable')); def.$initialize = TMP_13 = function(native$, options) { var $a, self = this, $iter = TMP_13.$$p, block = $iter || nil; if (options == null) { options = $hash2([], {}) } TMP_13.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_13, null).apply(self, [native$]); self.get = ((($a = options['$[]']("get")) !== false && $a !== nil) ? $a : options['$[]']("access")); self.named = options['$[]']("named"); self.set = ((($a = options['$[]']("set")) !== false && $a !== nil) ? $a : options['$[]']("access")); self.length = ((($a = options['$[]']("length")) !== false && $a !== nil) ? $a : "length"); self.block = block; if ((($a = self.$length() == null) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$raise($scope.get('ArgumentError'), "no length found on the array-like object") } else { return nil }; }; def.$each = TMP_14 = function() { var self = this, $iter = TMP_14.$$p, block = $iter || nil; TMP_14.$$p = null; if (block !== false && block !== nil) { } else { return self.$enum_for("each") }; for (var i = 0, length = self.$length(); i < length; i++) { var value = Opal.yield1(block, self['$[]'](i)); if (value === $breaker) { return $breaker.$v; } } ; return self; }; def['$[]'] = function(index) { var $a, self = this, result = nil, $case = nil; result = (function() {$case = index;if ($scope.get('String')['$===']($case) || $scope.get('Symbol')['$===']($case)) {if ((($a = self.named) !== nil && (!$a.$$is_boolean || $a == true))) { return self["native"][self.named](index); } else { return self["native"][index]; }}else if ($scope.get('Integer')['$===']($case)) {if ((($a = self.get) !== nil && (!$a.$$is_boolean || $a == true))) { return self["native"][self.get](index); } else { return self["native"][index]; }}else { return nil }})(); if (result !== false && result !== nil) { if ((($a = self.block) !== nil && (!$a.$$is_boolean || $a == true))) { return self.block.$call(result) } else { return self.$Native(result) } } else { return nil }; }; def['$[]='] = function(index, value) { var $a, self = this; if ((($a = self.set) !== nil && (!$a.$$is_boolean || $a == true))) { return self["native"][self.set](index, $scope.get('Native').$convert(value)); } else { return self["native"][index] = $scope.get('Native').$convert(value); }; }; def.$last = function(count) { var $a, self = this, index = nil, result = nil; if (count == null) { count = nil } if (count !== false && count !== nil) { index = $rb_minus(self.$length(), 1); result = []; while ($rb_ge(index, 0)) { result['$<<'](self['$[]'](index)); index = $rb_minus(index, 1);}; return result; } else { return self['$[]']($rb_minus(self.$length(), 1)) }; }; def.$length = function() { var self = this; return self["native"][self.length]; }; Opal.defn(self, '$to_ary', def.$to_a); return (def.$inspect = function() { var self = this; return self.$to_a().$inspect(); }, nil) && 'inspect'; })($scope.get('Native'), null); (function($base, $super) { function $Numeric(){}; var self = $Numeric = $klass($base, $super, 'Numeric', $Numeric); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self.valueOf(); }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Proc(){}; var self = $Proc = $klass($base, $super, 'Proc', $Proc); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self; }, nil) && 'to_n' })(self, null); (function($base, $super) { function $String(){}; var self = $String = $klass($base, $super, 'String', $String); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self.valueOf(); }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Regexp(){}; var self = $Regexp = $klass($base, $super, 'Regexp', $Regexp); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self.valueOf(); }, nil) && 'to_n' })(self, null); (function($base, $super) { function $MatchData(){}; var self = $MatchData = $klass($base, $super, 'MatchData', $MatchData); var def = self.$$proto, $scope = self.$$scope; def.matches = nil; return (def.$to_n = function() { var self = this; return self.matches; }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Struct(){}; var self = $Struct = $klass($base, $super, 'Struct', $Struct); var def = self.$$proto, $scope = self.$$scope; def.$initialize = function(args) { var $a, $b, TMP_15, $c, TMP_16, self = this, object = nil; args = $slice.call(arguments, 0); if ((($a = (($b = args.$length()['$=='](1)) ? self['$native?'](args['$[]'](0)) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { object = args['$[]'](0); return ($a = ($b = self.$members()).$each, $a.$$p = (TMP_15 = function(name){var self = TMP_15.$$s || this; if (name == null) name = nil; return self.$instance_variable_set("@" + (name), self.$Native(object[name]))}, TMP_15.$$s = self, TMP_15), $a).call($b); } else { return ($a = ($c = self.$members()).$each_with_index, $a.$$p = (TMP_16 = function(name, index){var self = TMP_16.$$s || this; if (name == null) name = nil;if (index == null) index = nil; return self.$instance_variable_set("@" + (name), args['$[]'](index))}, TMP_16.$$s = self, TMP_16), $a).call($c) }; }; return (def.$to_n = function() { var $a, $b, TMP_17, self = this, result = nil; result = {}; ($a = ($b = self).$each_pair, $a.$$p = (TMP_17 = function(name, value){var self = TMP_17.$$s || this; if (name == null) name = nil;if (value == null) value = nil; return result[name] = value.$to_n();}, TMP_17.$$s = self, TMP_17), $a).call($b); return result; }, nil) && 'to_n'; })(self, null); (function($base, $super) { function $Array(){}; var self = $Array = $klass($base, $super, 'Array', $Array); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; var result = []; for (var i = 0, length = self.length; i < length; i++) { var obj = self[i]; if ((obj)['$respond_to?']("to_n")) { result.push((obj).$to_n()); } else { result.push(obj); } } return result; ; }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Boolean(){}; var self = $Boolean = $klass($base, $super, 'Boolean', $Boolean); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self.valueOf(); }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Time(){}; var self = $Time = $klass($base, $super, 'Time', $Time); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return self; }, nil) && 'to_n' })(self, null); (function($base, $super) { function $NilClass(){}; var self = $NilClass = $klass($base, $super, 'NilClass', $NilClass); var def = self.$$proto, $scope = self.$$scope; return (def.$to_n = function() { var self = this; return null; }, nil) && 'to_n' })(self, null); (function($base, $super) { function $Hash(){}; var self = $Hash = $klass($base, $super, 'Hash', $Hash); var def = self.$$proto, $scope = self.$$scope, TMP_18; def.$initialize = TMP_18 = function(defaults) { var self = this, $iter = TMP_18.$$p, block = $iter || nil; TMP_18.$$p = null; if (defaults != null) { if (defaults.constructor === Object) { var _map = self.map, smap = self.smap, keys = self.keys, map, khash, value; for (var key in defaults) { value = defaults[key]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } if (value && value.constructor === Object) { map[khash] = $scope.get('Hash').$new(value); } else { map[khash] = self.$Native(value); } keys.push(key); } } else { self.none = defaults; } } else if (block !== nil) { self.proc = block; } return self; }; return (def.$to_n = function() { var self = this; var result = {}, keys = self.keys, _map = self.map, smap = self.smap, map, khash, value, key; for (var i = 0, length = keys.length; i < length; i++) { key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } value = map[khash]; if ((value)['$respond_to?']("to_n")) { result[key] = (value).$to_n(); } else { result[key] = value; } } return result; ; }, nil) && 'to_n'; })(self, null); (function($base, $super) { function $Module(){}; var self = $Module = $klass($base, $super, 'Module', $Module); var def = self.$$proto, $scope = self.$$scope; return (def.$native_module = function() { var self = this; return Opal.global[self.$name()] = self; }, nil) && 'native_module' })(self, null); (function($base, $super) { function $Class(){}; var self = $Class = $klass($base, $super, 'Class', $Class); var def = self.$$proto, $scope = self.$$scope; def.$native_alias = function(new_jsid, existing_mid) { var self = this; var aliased = self.$$proto['$' + existing_mid]; if (!aliased) { self.$raise($scope.get('NameError'), "undefined method `" + (existing_mid) + "' for class `" + (self.$inspect()) + "'"); } self.$$proto[new_jsid] = aliased; ; }; return (def.$native_class = function() { var self = this; self.$native_module(); self["new"] = self.$new; }, nil) && 'native_class'; })(self, null); return $gvars.$ = $gvars.global = self.$Native(Opal.global); }; /* Generated by Opal 0.8.1 */ Opal.modules["singleton"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$raise', '$class', '$__init__', '$instance_eval', '$new', '$extend']); return (function($base) { var self = $module($base, 'Singleton'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$clone', function() { var self = this; return self.$raise($scope.get('TypeError'), "can't clone instance of singleton " + (self.$class())); }); Opal.defn(self, '$dup', function() { var self = this; return self.$raise($scope.get('TypeError'), "can't dup instance of singleton " + (self.$class())); }); (function($base) { var self = $module($base, 'SingletonClassMethods'); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2; Opal.defn(self, '$clone', TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; return $scope.get('Singleton').$__init__(Opal.find_super_dispatcher(self, 'clone', TMP_1, $iter).apply(self, $zuper)); }); Opal.defn(self, '$inherited', TMP_2 = function(sub_klass) {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_2.$$p, $yield = $iter || nil; TMP_2.$$p = null; Opal.find_super_dispatcher(self, 'inherited', TMP_2, $iter).apply(self, $zuper); return $scope.get('Singleton').$__init__(sub_klass); }); })(self); (function(self) { var $scope = self.$$scope, def = self.$$proto, TMP_4; self.$$proto.$__init__ = function(klass) { var $a, $b, TMP_3, self = this; ($a = ($b = klass).$instance_eval, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; return self.singleton__instance__ = nil}, TMP_3.$$s = self, TMP_3), $a).call($b); Opal.defs(klass, '$instance', function() { var $a, self = this; if (self.singleton__instance__ == null) self.singleton__instance__ = nil; if ((($a = self.singleton__instance__) !== nil && (!$a.$$is_boolean || $a == true))) { return self.singleton__instance__}; return self.singleton__instance__ = self.$new(); }); return klass; }; return (self.$$proto.$included = TMP_4 = function(klass) {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_4.$$p, $yield = $iter || nil; TMP_4.$$p = null; Opal.find_super_dispatcher(self, 'included', TMP_4, $iter).apply(self, $zuper); klass.$extend($scope.get('SingletonClassMethods')); return $scope.get('Singleton').$__init__(klass); }, nil) && 'included'; })($scope.get('Singleton').$singleton_class()); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["core/object_space"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$sort', '$keys', '$classes', '$instance', '$global_constants', '$globals', '$Native', '$each', '$const_get', '$<<', '$is_a?', '$[]=', '$name']); self.$require("native"); self.$require("singleton"); return (function($base, $super) { function $ObjectSpace(){}; var self = $ObjectSpace = $klass($base, $super, 'ObjectSpace', $ObjectSpace); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("classes"); self.$attr_reader("global_constants"); self.$attr_reader("globals"); Opal.defs(self, '$class_names', function() { var self = this; return self.$classes().$keys().$sort(); }); Opal.defs(self, '$classes', function() { var self = this; return self.$instance().$classes(); }); Opal.defs(self, '$global_constants', function() { var self = this; return self.$instance().$global_constants(); }); Opal.defs(self, '$globals', function() { var self = this; return self.$instance().$globals(); }); return (def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var $a, $b, TMP_2, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.classes = $hash2([], {}); self.globals = []; self.global_constants = self.$Native(Opal.top.$$class.$constants()).$sort(); return ($a = ($b = self.$global_constants()).$each, $a.$$p = (TMP_2 = function(c){var self = TMP_2.$$s || this, $a, o = nil; if (c == null) c = nil; o = $scope.get('Opal').$const_get(c); self.$globals()['$<<'](o); if ((($a = o['$is_a?']($scope.get('Class'))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$classes()['$[]='](o.$name(), o) } else { return nil };}, TMP_2.$$s = self, TMP_2), $a).call($b); }, nil) && 'initialize'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["core/qx_wrap"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$attr_accessor', '$lib_io_server', '$instance', '$Native', '$ui_style_stylesheet', '$core_object', '$data_array', '$data_controller_list', '$to_n', '$lib_data_list_model', '$lib_ui_grid_grid', '$ui_basic_atom', '$ui_basic_image', '$ui_basic_label', '$ui_container_composite', '$ui_container_scroll', '$ui_container_stack', '$ui_core_widget', '$ui_embed_html', '$ui_form_button', '$ui_form_form', '$ui_form_list', '$ui_form_list_item', '$ui_form_renderer_double', '$ui_form_renderer_single', '$ui_form_renderer_single_placeholder', '$ui_form_text_area', '$ui_form_text_field', '$ui_layout_basic', '$ui_layout_canvas', '$ui_layout_hbox', '$ui_layout_vbox', '$ui_menu_button', '$ui_menu_menu', '$ui_menubar_button', '$ui_menubar_menubar', '$ui_splitpane_pane', '$ui_tabview_page', '$ui_tabview_tab_button', '$ui_tabview_tab_view', '$ui_tree_file', '$ui_tree_folder', '$ui_tree_virtual_tree', '$ui_window_window']); self.$require("native"); self.$require("singleton"); self.$require("core/util"); return (function($base, $super) { function $QxWrap(){}; var self = $QxWrap = $klass($base, $super, 'QxWrap', $QxWrap); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); self.$include($scope.get('Util')); self.$attr_accessor("core_object"); self.$attr_accessor("data_array"); self.$attr_accessor("data_controller_list"); self.$attr_accessor("lib_data_list_model"); self.$attr_accessor("lib_io_server"); self.$attr_accessor("lib_ui_grid_grid"); self.$attr_accessor("ui_basic_atom"); self.$attr_accessor("ui_basic_image"); self.$attr_accessor("ui_basic_label"); self.$attr_accessor("ui_container_composite"); self.$attr_accessor("ui_container_scroll"); self.$attr_accessor("ui_container_stack"); self.$attr_accessor("ui_core_widget"); self.$attr_accessor("ui_embed_html"); self.$attr_accessor("ui_form_button"); self.$attr_accessor("ui_form_form"); self.$attr_accessor("ui_form_list"); self.$attr_accessor("ui_form_list_item"); self.$attr_accessor("ui_form_renderer_double"); self.$attr_accessor("ui_form_renderer_single"); self.$attr_accessor("ui_form_renderer_single_placeholder"); self.$attr_accessor("ui_form_text_area"); self.$attr_accessor("ui_form_text_field"); self.$attr_accessor("ui_layout_basic"); self.$attr_accessor("ui_layout_canvas"); self.$attr_accessor("ui_layout_hbox"); self.$attr_accessor("ui_layout_vbox"); self.$attr_accessor("ui_menu_button"); self.$attr_accessor("ui_menu_menu"); self.$attr_accessor("ui_menubar_button"); self.$attr_accessor("ui_menubar_menubar"); self.$attr_accessor("ui_splitpane_pane"); self.$attr_accessor("ui_style_stylesheet"); self.$attr_accessor("ui_tabview_page"); self.$attr_accessor("ui_tabview_tab_button"); self.$attr_accessor("ui_tabview_tab_view"); self.$attr_accessor("ui_tree_file"); self.$attr_accessor("ui_tree_folder"); self.$attr_accessor("ui_tree_virtual_tree"); self.$attr_accessor("ui_window_window"); Opal.defs(self, '$lib_io_delete_server_api', function(controller, selector, params, handler) { var self = this, lib_io_server = nil; lib_io_server = self.$instance().$lib_io_server(); return self.$Native(lib_io_server.apiDelete(controller, selector, params, handler)); }); Opal.defs(self, '$lib_io_get_server_api', function(controller, selector, params, handler) { var self = this, lib_io_server = nil; lib_io_server = self.$instance().$lib_io_server(); return self.$Native(lib_io_server.apiGet(controller, selector, params, handler)); }); Opal.defs(self, '$lib_io_post_server_api', function(controller, selector, params, handler) { var self = this, lib_io_server = nil; lib_io_server = self.$instance().$lib_io_server(); return self.$Native(lib_io_server.apiPost(controller, selector, params, handler)); }); Opal.defs(self, '$lib_io_put_server_api', function(controller, selector, params, handler) { var self = this, lib_io_server = nil; lib_io_server = self.$instance().$lib_io_server(); return self.$Native(lib_io_server.apiPut(controller, selector, params, handler)); }); Opal.defs(self, '$instance_ui_style_stylesheet', function() { var self = this, ui_style_stylesheet = nil; ui_style_stylesheet = self.$instance().$ui_style_stylesheet(); return self.$Native(ui_style_stylesheet.getInstance()); }); Opal.defs(self, '$new_core_object', function() { var self = this, core_object = nil; core_object = self.$instance().$core_object(); return self.$Native(new core_object()); }); Opal.defs(self, '$new_data_array', function() { var self = this, data_array = nil; data_array = self.$instance().$data_array(); return self.$Native(new data_array()); }); Opal.defs(self, '$new_data_controller_list', function(items, widget, tag) { var self = this, data_controller_list = nil; if (tag == null) { tag = "html" } data_controller_list = self.$instance().$data_controller_list(); return self.$Native(new data_controller_list(items.$to_n(), widget.$to_n(), tag)); }); Opal.defs(self, '$new_lib_data_list_model', function(html, data) { var self = this, lib_data_list_model = nil; lib_data_list_model = self.$instance().$lib_data_list_model(); return new lib_data_list_model(html, data); }); Opal.defs(self, '$new_lib_ui_grid_grid', function() { var self = this, lib_ui_grid_grid = nil; lib_ui_grid_grid = self.$instance().$lib_ui_grid_grid(); return self.$Native(new lib_ui_grid_grid()); }); Opal.defs(self, '$new_ui_basic_atom', function(label, icon) { var self = this, ui_basic_atom = nil; ui_basic_atom = self.$instance().$ui_basic_atom(); return self.$Native(new ui_basic_atom(label, icon)); }); Opal.defs(self, '$new_ui_basic_image', function(source) { var self = this, ui_basic_image = nil; ui_basic_image = self.$instance().$ui_basic_image(); return self.$Native(new ui_basic_image(source)); }); Opal.defs(self, '$new_ui_basic_label', function() { var self = this, ui_basic_label = nil; ui_basic_label = self.$instance().$ui_basic_label(); return self.$Native(new ui_basic_label()); }); Opal.defs(self, '$new_ui_container_composite', function() { var self = this, ui_container_composite = nil; ui_container_composite = self.$instance().$ui_container_composite(); return self.$Native(new ui_container_composite()); }); Opal.defs(self, '$new_ui_container_scroll', function() { var self = this, ui_container_scroll = nil; ui_container_scroll = self.$instance().$ui_container_scroll(); return self.$Native(new ui_container_scroll()); }); Opal.defs(self, '$new_ui_container_stack', function() { var self = this, ui_container_stack = nil; ui_container_stack = self.$instance().$ui_container_stack(); return self.$Native(new ui_container_stack()); }); Opal.defs(self, '$new_ui_core_widget', function() { var self = this, ui_core_widget = nil; ui_core_widget = self.$instance().$ui_core_widget(); return self.$Native(new ui_core_widget()); }); Opal.defs(self, '$new_ui_embed_html', function() { var self = this, ui_embed_html = nil; ui_embed_html = self.$instance().$ui_embed_html(); return self.$Native(new ui_embed_html()); }); Opal.defs(self, '$new_ui_form_button', function() { var self = this, ui_form_button = nil; ui_form_button = self.$instance().$ui_form_button(); return self.$Native(new ui_form_button('Button', null)); }); Opal.defs(self, '$new_ui_form_form', function() { var self = this, ui_form_form = nil; ui_form_form = self.$instance().$ui_form_form(); return self.$Native(new ui_form_form()); }); Opal.defs(self, '$new_ui_form_list', function() { var self = this, ui_form_list = nil; ui_form_list = self.$instance().$ui_form_list(); return self.$Native(new ui_form_list()); }); Opal.defs(self, '$new_ui_form_list_item', function() { var self = this, ui_form_list_item = nil; ui_form_list_item = self.$instance().$ui_form_list_item(); return self.$Native(new ui_form_list_item()); }); Opal.defs(self, '$new_ui_form_renderer_double', function(nativeForm) { var self = this, ui_form_renderer_double = nil; ui_form_renderer_double = self.$instance().$ui_form_renderer_double(); return self.$Native(new ui_form_renderer_double(nativeForm)); }); Opal.defs(self, '$new_ui_form_renderer_single', function(nativeForm) { var self = this, ui_form_renderer_single = nil; ui_form_renderer_single = self.$instance().$ui_form_renderer_single(); return self.$Native(new ui_form_renderer_single(nativeForm)); }); Opal.defs(self, '$new_ui_form_renderer_single_placeholder', function(nativeForm) { var self = this, ui_form_renderer_single_placeholder = nil; ui_form_renderer_single_placeholder = self.$instance().$ui_form_renderer_single_placeholder(); return self.$Native(new ui_form_renderer_single_placeholder(nativeForm)); }); Opal.defs(self, '$new_ui_form_text_area', function() { var self = this, ui_form_text_area = nil; ui_form_text_area = self.$instance().$ui_form_text_area(); return self.$Native(new ui_form_text_area('')); }); Opal.defs(self, '$new_ui_form_text_field', function() { var self = this, ui_form_text_field = nil; ui_form_text_field = self.$instance().$ui_form_text_field(); return self.$Native(new ui_form_text_field('')); }); Opal.defs(self, '$new_ui_layout_basic', function() { var self = this, ui_layout_basic = nil; ui_layout_basic = self.$instance().$ui_layout_basic(); return self.$Native(new ui_layout_basic()); }); Opal.defs(self, '$new_ui_layout_canvas', function() { var self = this, ui_layout_canvas = nil; ui_layout_canvas = self.$instance().$ui_layout_canvas(); return self.$Native(new ui_layout_canvas()); }); Opal.defs(self, '$new_ui_layout_hbox', function() { var self = this, ui_layout_hbox = nil; ui_layout_hbox = self.$instance().$ui_layout_hbox(); return self.$Native(new ui_layout_hbox()); }); Opal.defs(self, '$new_ui_layout_vbox', function() { var self = this, ui_layout_vbox = nil; ui_layout_vbox = self.$instance().$ui_layout_vbox(); return self.$Native(new ui_layout_vbox()); }); Opal.defs(self, '$new_ui_menu_button', function() { var self = this, ui_menu_button = nil; ui_menu_button = self.$instance().$ui_menu_button(); return self.$Native(new ui_menu_button()); }); Opal.defs(self, '$new_ui_menu_menu', function() { var self = this, ui_menu_menu = nil; ui_menu_menu = self.$instance().$ui_menu_menu(); return self.$Native(new ui_menu_menu()); }); Opal.defs(self, '$new_ui_menubar_button', function() { var self = this, ui_menubar_button = nil; ui_menubar_button = self.$instance().$ui_menubar_button(); return self.$Native(new ui_menubar_button()); }); Opal.defs(self, '$new_ui_menubar_menubar', function() { var self = this, ui_menubar_menubar = nil; ui_menubar_menubar = self.$instance().$ui_menubar_menubar(); return self.$Native(new ui_menubar_menubar()); }); Opal.defs(self, '$new_ui_splitpane_pane', function() { var self = this, ui_splitpane_pane = nil; ui_splitpane_pane = self.$instance().$ui_splitpane_pane(); return self.$Native(new ui_splitpane_pane()); }); Opal.defs(self, '$new_ui_tabview_page', function(label) { var self = this, ui_tabview_page = nil; ui_tabview_page = self.$instance().$ui_tabview_page(); return self.$Native(new ui_tabview_page(label)); }); Opal.defs(self, '$new_ui_tabview_tab_button', function() { var self = this, ui_tabview_tab_button = nil; ui_tabview_tab_button = self.$instance().$ui_tabview_tab_button(); return self.$Native(new ui_tabview_tab_button()); }); Opal.defs(self, '$new_ui_tabview_tab_view', function() { var self = this, new_ui_tabview_tab_view = nil; new_ui_tabview_tab_view = self.$instance().$ui_tabview_tab_view(); return self.$Native(new new_ui_tabview_tab_view()); }); Opal.defs(self, '$new_ui_tree_file', function() { var self = this, ui_tree_file = nil; ui_tree_file = self.$instance().$ui_tree_file(); return self.$Native(new ui_tree_file()); }); Opal.defs(self, '$new_ui_tree_folder', function() { var self = this, ui_tree_folder = nil; ui_tree_folder = self.$instance().$ui_tree_folder(); return self.$Native(new ui_tree_folder()); }); Opal.defs(self, '$new_ui_tree_virtual_tree', function() { var self = this, ui_tree_virtual_tree = nil; ui_tree_virtual_tree = self.$instance().$ui_tree_virtual_tree(); return self.$Native(new ui_tree_virtual_tree()); }); Opal.defs(self, '$new_ui_window_window', function() { var self = this, ui_window_window = nil; ui_window_window = self.$instance().$ui_window_window(); return self.$Native(new ui_window_window()); }); return (def.$initialize = function() { var self = this; self.core_object = self.$Native(qx.core.Object); self.data_array = self.$Native(qx.data.Array); self.data_controller_list = self.$Native(qx.data.controller.List); self.lib_data_list_model = self.$Native(qx_lib.data.ListModel); self.lib_io_server = self.$Native(qx_lib.io.Server); self.lib_ui_grid_grid = self.$Native(qx_lib.ui.grid.Grid); self.ui_basic_atom = self.$Native(qx.ui.basic.Atom); self.ui_basic_image = self.$Native(qx.ui.basic.Image); self.ui_basic_label = self.$Native(qx.ui.basic.Label); self.ui_container_composite = self.$Native(qx.ui.container.Composite); self.ui_container_scroll = self.$Native(qx.ui.container.Scroll); self.ui_container_stack = self.$Native(qx.ui.container.Stack); self.ui_core_widget = self.$Native(qx.ui.core.Widget); self.ui_embed_html = self.$Native(qx.ui.embed.Html); self.ui_form_button = self.$Native(qx.ui.form.Button); self.ui_form_form = self.$Native(qx.ui.form.Form); self.ui_form_list = self.$Native(qx.ui.form.List); self.ui_form_list_item = self.$Native(qx.ui.form.ListItem); self.ui_form_renderer_double = self.$Native(qx.ui.form.renderer.Double); self.ui_form_renderer_single = self.$Native(qx.ui.form.renderer.Single); self.ui_form_renderer_single_placeholder = self.$Native(qx.ui.form.renderer.SinglePlaceholder); self.ui_form_text_area = self.$Native(qx.ui.form.TextArea); self.ui_form_text_field = self.$Native(qx.ui.form.TextField); self.ui_layout_basic = self.$Native(qx.ui.layout.Basic); self.ui_layout_canvas = self.$Native(qx.ui.layout.Canvas); self.ui_layout_hbox = self.$Native(qx.ui.layout.HBox); self.ui_layout_vbox = self.$Native(qx.ui.layout.VBox); self.ui_menu_button = self.$Native(qx.ui.menu.Button); self.ui_menu_menu = self.$Native(qx.ui.menu.Menu); self.ui_menubar_button = self.$Native(qx.ui.menubar.Button); self.ui_menubar_menubar = self.$Native(qx.ui.menubar.MenuBar); self.ui_splitpane_pane = self.$Native(qx.ui.splitpane.Pane); self.ui_style_stylesheet = self.$Native(qx.ui.style.Stylesheet); self.ui_tabview_page = self.$Native(qx.ui.tabview.Page); self.ui_tabview_tab_button = self.$Native(qx.ui.tabview.TabButton); self.ui_tabview_tab_view = self.$Native(qx.ui.tabview.TabView); self.ui_tree_file = self.$Native(qx.ui.tree.TreeFile); self.ui_tree_folder = self.$Native(qx.ui.tree.TreeFolder); self.ui_tree_virtual_tree = self.$Native(qx.ui.tree.VirtualTree); return self.ui_window_window = self.$Native(qx.ui.window.Window); }, nil) && 'initialize'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/qx_object"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader']); self.$require("core/qx_wrap"); return (function($base, $super) { function $QxObject(){}; var self = $QxObject = $klass($base, $super, 'QxObject', $QxObject); var def = self.$$proto, $scope = self.$$scope; self.$attr_reader("object"); return (def.$initialize = function(qxObject) { var self = this; return self.object = qxObject; }, nil) && 'initialize'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/element"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$object', '$Native', '$to_s', '$new']); self.$require("qx/ui/qx_object"); return (function($base, $super) { function $Element(){}; var self = $Element = $klass($base, $super, 'Element', $Element); var def = self.$$proto, $scope = self.$$scope; def.$add_class = function(name) { var self = this; return self.$object().addClass(name); }; def.$get_style = function(name) { var self = this; return self.$Native(self.$object().getStyle(name)); }; def.$remove_class = function(name) { var self = this; return self.$object().removeClass(name); }; def.$set_style = function(name, value) { var self = this; return self.$object().setStyle(name.$to_s(), value.$to_s()); }; return (def.$styles = function() { var self = this; return $scope.get('Hash').$new(self.$object().getAllStyles()); }, nil) && 'styles'; })(self, $scope.get('QxObject')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/widget"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$initial_widget', '$add_handlers', '$add_listeners', '$add_class', '$get_element', '$widget', '$initial_appear_handler', '$has_appear_listener', '$add_listener', '$lambda', '$on_appear', '$nil?', '$appear_handler', '$add_listener_appear', '$element', '$new', '$get_style', '$new_ui_core_widget', '$collect', '$as_native', '$class', '$appear_handled', '$on_appear_action', '$call', '$set_styles', '$remove_class', '$set_style', '$push', '$styles', '$!', '$empty?', '$pop', '$[]']); self.$require("core/qx_wrap"); self.$require("qx/ui/element"); return (function($base, $super) { function $Widget(){}; var self = $Widget = $klass($base, $super, 'Widget', $Widget); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_3; self.$attr_reader("appear_handled"); self.$attr_reader("appear_handler"); self.$attr_reader("element"); self.$attr_reader("has_appear_listener"); self.$attr_reader("styles"); self.$attr_reader("widget"); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; self.styles = []; self.widget = self.$initial_widget(); self.$add_handlers(); Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.$add_listeners(); return self.element = nil; }; def.$add_class = function(name) { var self = this; return self.$get_element().$add_class(name); }; def.$add_listener = function(name, fn) { var self = this; return self.$widget().native.addListener(name, fn, this); }; def.$add_handlers = function() { var self = this; self.appear_handled = false; self.appear_handler = self.$initial_appear_handler(); self.has_appear_listener = false; return self.style_handler = nil; }; def.$add_listener_appear = function() { var $a, $b, TMP_2, self = this; if ((($a = self.$has_appear_listener()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { self.$add_listener("appear", ($a = ($b = self).$lambda, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; return self.$on_appear()}, TMP_2.$$s = self, TMP_2), $a).call($b)); return self.has_appear_listener = true; }; }; def.$add_listeners = function() { var $a, self = this; if ((($a = self.$appear_handler()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$add_listener_appear() }; }; def.$get_element = function() { var $a, self = this; if ((($a = self.$element()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.element = $scope.get('Element').$new(self.$widget().native.getContentElement())}; return self.$element(); }; def.$get_style = function(name) { var self = this; return self.$get_element().$get_style(name); }; def.$initial_appear_handler = function() { var self = this; return nil; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_core_widget(); }; def.$method_missing = TMP_3 = function(m, args) { var $a, $b, TMP_4, self = this, $iter = TMP_3.$$p, block = $iter || nil, fn = nil, nargs = nil; args = $slice.call(arguments, 1); TMP_3.$$p = null; fn = self.$widget().native[m]; nargs = ($a = ($b = args).$collect, $a.$$p = (TMP_4 = function(arg){var self = TMP_4.$$s || this; if (arg == null) arg = nil; return self.$as_native(arg)}, TMP_4.$$s = self, TMP_4), $a).call($b); if ((($a = fn['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "method " + (m) + " not found in " + (self.$class()) } else { return fn.apply(self.$widget().native, nargs); }; }; def.$on_appear = function() { var $a, self = this; if ((($a = self.$appear_handled()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { self.appear_handled = true; return self.$on_appear_action(); }; }; def.$on_appear_action = function() { var $a, self = this; if ((($a = self.$appear_handler()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$appear_handler().$call() }; return self.$set_styles(); }; def.$on_click = function(fn) { var self = this; return self.$add_listener("click", fn); }; def.$remove_class = function(name) { var self = this; return self.$get_element().$remove_class(name); }; def.$set_border_color = function(value) { var self = this; return self.$set_style("border-color", value); }; def.$set_color = function(value) { var self = this; return self.$set_style("color", value); }; def.$set_style = function(name, value) { var $a, self = this; self.$add_listener_appear(); self.$styles().$push($hash2(["name", "value"], {"name": name, "value": value})); if ((($a = self.$appear_handled()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$set_styles() } else { return nil }; }; def.$set_styles = function() { var $a, $b, self = this, style = nil; while ((($b = self.$styles()['$empty?']()['$!']()) !== nil && (!$b.$$is_boolean || $b == true))) { style = self.$styles().$pop(); self.$get_element().$set_style(style['$[]']("name"), style['$[]']("value"));}; }; return (def.$get_styles = function() { var self = this; return self.$get_element().$styles(); }, nil) && 'get_styles'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/style_sheet"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$add_rule', '$instance', '$has_rule', '$remove_rule', '$replace_rule', '$addRule', '$widget', '$hasRule', '$instance_ui_style_stylesheet', '$removeRule']); self.$require("core/qx_wrap"); self.$require("qx/ui/widget"); self.$require("singleton"); return (function($base, $super) { function $StyleSheet(){}; var self = $StyleSheet = $klass($base, $super, 'StyleSheet', $StyleSheet); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); Opal.defs(self, '$add_rule', function(selector, css) { var self = this; return self.$instance().$add_rule(selector, css); }); Opal.defs(self, '$has_rule', function(selector) { var self = this; return self.$instance().$has_rule(selector); }); Opal.defs(self, '$remove_rule', function(selector) { var self = this; return self.$instance().$remove_rule(selector); }); Opal.defs(self, '$replace_rule', function(selector, css) { var self = this; return self.$instance().$replace_rule(selector, css); }); def.$add_rule = function(selector, css) { var self = this; return self.$widget().$addRule(selector, css); }; def.$has_rule = function(selector) { var self = this; return self.$widget().$hasRule(selector); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$instance_ui_style_stylesheet(); }; def.$remove_rule = function(selector) { var self = this; return self.$widget().$removeRule(selector); }; return (def.$replace_rule = function(selector, css) { var $a, self = this; if ((($a = self.$has_rule(selector)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$remove_rule(selector)}; return self.$add_rule(selector, css); }, nil) && 'replace_rule'; })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["core/util"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$require', '$as_qx', '$respond_to?', '$to_n', '$widget', '$to_sym', '$gsub', '$downcase', '$lambda', '$puts', '$split', '$[]=', '$capitalize', '$[]', '$join']); self.$require("core/object_space"); self.$require("core/qx_wrap"); self.$require("qx/ui/style_sheet"); return (function($base) { var self = $module($base, 'Util'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$as_native', function(x) { var $a, self = this, n = nil; n = self.$as_qx(x); if ((($a = (n['$respond_to?']("to_n"))) !== nil && (!$a.$$is_boolean || $a == true))) { return n.$to_n() } else { return n }; }); Opal.defn(self, '$as_qx', function(x) { var $a, self = this; if ((($a = (x['$respond_to?']("widget"))) !== nil && (!$a.$$is_boolean || $a == true))) { return x.$widget() } else { return x }; }); Opal.defn(self, '$id_sym', function(s) { var self = this; return (s.$downcase().$gsub(" ", "_")).$to_sym(); }); Opal.defn(self, '$label_sym', function(s) { var self = this; return (s.$gsub(" ", "_")).$to_sym(); }); Opal.defn(self, '$nil_handler', function() { var $a, $b, TMP_1, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_1 = function(msg){var self = TMP_1.$$s || this, $a, $b, TMP_2; if (msg == null) msg = nil; return ($a = ($b = self).$lambda, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; return self.$puts(msg)}, TMP_2.$$s = self, TMP_2), $a).call($b)}, TMP_1.$$s = self, TMP_1), $a).call($b); }); Opal.defn(self, '$text_from_id', function(s) { var self = this, words = nil; words = s.$split("_"); words['$[]='](0, words['$[]'](0).$capitalize()); return words.$join(" "); }); })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["data/model"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; return (function($base, $super) { function $Model(){}; var self = $Model = $klass($base, $super, 'Model', $Model); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["json"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $klass = Opal.klass; Opal.add_stubs(['$new', '$push', '$[]=', '$[]', '$create_id', '$json_create', '$attr_accessor', '$create_id=', '$===', '$parse', '$generate', '$from_object', '$to_json', '$responds_to?', '$to_io', '$write', '$to_s', '$to_a', '$strftime']); (function($base) { var self = $module($base, 'JSON'); var def = self.$$proto, $scope = self.$$scope, $a, $b; var $parse = JSON.parse, $hasOwn = Opal.hasOwnProperty; function to_opal(value, options) { switch (typeof value) { case 'string': return value; case 'number': return value; case 'boolean': return !!value; case 'null': return nil; case 'object': if (!value) return nil; if (value.$$is_array) { var arr = (options.array_class).$new(); for (var i = 0, ii = value.length; i < ii; i++) { (arr).$push(to_opal(value[i], options)); } return arr; } else { var hash = (options.object_class).$new(); for (var k in value) { if ($hasOwn.call(value, k)) { (hash)['$[]='](k, to_opal(value[k], options)); } } var klass; if ((klass = (hash)['$[]']($scope.get('JSON').$create_id())) != nil) { klass = Opal.cget(klass); return (klass).$json_create(hash); } else { return hash; } } } }; (function(self) { var $scope = self.$$scope, def = self.$$proto; return self.$attr_accessor("create_id") })(self.$singleton_class()); (($a = ["json_class"]), $b = self, $b['$create_id='].apply($b, $a), $a[$a.length-1]); Opal.defs(self, '$[]', function(value, options) { var $a, self = this; if (options == null) { options = $hash2([], {}) } if ((($a = $scope.get('String')['$==='](value)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$parse(value, options) } else { return self.$generate(value, options) }; }); Opal.defs(self, '$parse', function(source, options) { var self = this; if (options == null) { options = $hash2([], {}) } return self.$from_object($parse(source), options); }); Opal.defs(self, '$parse!', function(source, options) { var self = this; if (options == null) { options = $hash2([], {}) } return self.$parse(source, options); }); Opal.defs(self, '$from_object', function(js_object, options) { var $a, $b, $c, self = this; if (options == null) { options = $hash2([], {}) } ($a = "object_class", $b = options, ((($c = $b['$[]']($a)) !== false && $c !== nil) ? $c : $b['$[]=']($a, $scope.get('Hash')))); ($a = "array_class", $b = options, ((($c = $b['$[]']($a)) !== false && $c !== nil) ? $c : $b['$[]=']($a, $scope.get('Array')))); return to_opal(js_object, options.smap); }); Opal.defs(self, '$generate', function(obj, options) { var self = this; if (options == null) { options = $hash2([], {}) } return obj.$to_json(options); }); Opal.defs(self, '$dump', function(obj, io, limit) { var $a, self = this, string = nil; if (io == null) { io = nil } if (limit == null) { limit = nil } string = self.$generate(obj); if (io !== false && io !== nil) { if ((($a = io['$responds_to?']("to_io")) !== nil && (!$a.$$is_boolean || $a == true))) { io = io.$to_io()}; io.$write(string); return io; } else { return string }; }); })(self); (function($base, $super) { function $Object(){}; var self = $Object = $klass($base, $super, 'Object', $Object); var def = self.$$proto, $scope = self.$$scope; return (Opal.defn(self, '$to_json', function() { var self = this; return self.$to_s().$to_json(); }), nil) && 'to_json' })(self, null); (function($base) { var self = $module($base, 'Enumerable'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$to_json', function() { var self = this; return self.$to_a().$to_json(); }) })(self); (function($base, $super) { function $Array(){}; var self = $Array = $klass($base, $super, 'Array', $Array); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; var result = []; for (var i = 0, length = self.length; i < length; i++) { result.push((self[i]).$to_json()); } return '[' + result.join(', ') + ']'; }, nil) && 'to_json' })(self, null); (function($base, $super) { function $Boolean(){}; var self = $Boolean = $klass($base, $super, 'Boolean', $Boolean); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; return (self == true) ? 'true' : 'false'; }, nil) && 'to_json' })(self, null); (function($base, $super) { function $Hash(){}; var self = $Hash = $klass($base, $super, 'Hash', $Hash); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; var inspect = [], keys = self.keys, _map = self.map, smap = self.smap, map, khash; for (var i = 0, length = keys.length; i < length; i++) { var key = keys[i]; if (key.$$is_string) { map = smap; khash = key; } else { map = _map; khash = key.$hash(); } inspect.push((key).$to_s().$to_json() + ':' + (map[khash]).$to_json()); } return '{' + inspect.join(', ') + '}'; ; }, nil) && 'to_json' })(self, null); (function($base, $super) { function $NilClass(){}; var self = $NilClass = $klass($base, $super, 'NilClass', $NilClass); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; return "null"; }, nil) && 'to_json' })(self, null); (function($base, $super) { function $Numeric(){}; var self = $Numeric = $klass($base, $super, 'Numeric', $Numeric); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; return self.toString(); }, nil) && 'to_json' })(self, null); (function($base, $super) { function $String(){}; var self = $String = $klass($base, $super, 'String', $String); var def = self.$$proto, $scope = self.$$scope; return Opal.defn(self, '$to_json', def.$inspect) })(self, null); (function($base, $super) { function $Time(){}; var self = $Time = $klass($base, $super, 'Time', $Time); var def = self.$$proto, $scope = self.$$scope; return (def.$to_json = function() { var self = this; return self.$strftime("%FT%T%z").$to_json(); }, nil) && 'to_json' })(self, null); return (function($base, $super) { function $Date(){}; var self = $Date = $klass($base, $super, 'Date', $Date); var def = self.$$proto, $scope = self.$$scope; def.$to_json = function() { var self = this; return self.$to_s().$to_json(); }; return (def.$as_json = function() { var self = this; return self.$to_s(); }, nil) && 'as_json'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/io/server"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$nil?', '$to_s', '$lib_io_delete_server_api', '$handler_fn', '$lib_io_get_server_api', '$lib_io_post_server_api', '$to_n', '$to_json', '$lib_io_put_server_api', '$private', '$lambda', '$parse', '$call']); self.$require("json"); self.$require("singleton"); self.$require("core/qx_wrap"); return (function($base, $super) { function $Server(){}; var self = $Server = $klass($base, $super, 'Server', $Server); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); Opal.defs(self, '$deleteApi', function(controller, selector, params, fn) { var $a, self = this; if ((($a = selector['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { selector = selector.$to_s() }; return $scope.get('QxWrap').$lib_io_delete_server_api(controller, selector, params, self.$handler_fn(fn)); }); Opal.defs(self, '$getApi', function(controller, selector, params, fn) { var $a, self = this; if ((($a = selector['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { selector = selector.$to_s() }; return $scope.get('QxWrap').$lib_io_get_server_api(controller, selector, params, self.$handler_fn(fn)); }); Opal.defs(self, '$postApi', function(controller, selector, params, fn) { var $a, self = this; if ((($a = selector['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { selector = selector.$to_s() }; return $scope.get('QxWrap').$lib_io_post_server_api(controller, selector, params, self.$handler_fn(fn)); }); Opal.defs(self, '$putApi', function(controller, selector, params, fn) { var $a, self = this; if ((($a = selector['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { selector = selector.$to_s() }; if ((($a = params['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { params = $hash2(["data"], {"data": params.$to_json()}).$to_n() }; return $scope.get('QxWrap').$lib_io_put_server_api(controller, selector, params, self.$handler_fn(fn)); }); self.$private(); return (Opal.defs(self, '$handler_fn', function(fn) { var $a, $b, TMP_1, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_1 = function(responseText){var self = TMP_1.$$s || this, reply = nil; if (responseText == null) responseText = nil; reply = $scope.get('JSON').$parse(responseText); return fn.$call(reply);}, TMP_1.$$s = self, TMP_1), $a).call($b); }), nil) && 'handler_fn'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["data/store"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$initial_widget', '$add_change_listener', '$autoload_data?', '$data_load', '$addListener', '$widget', '$lambda', '$sync_changed', '$<<', '$sync_changed_consumer', '$data', '$[]=', '$data_records', '$[]', '$postApi', '$api_resource_name', '$model', '$handle_create_reply', '$deleteApi', '$handle_delete_reply', '$getApi', '$handle_load_reply', '$putApi', '$handle_update_reply', '$fireDataEvent', '$add_data_record', '$fire_event', '$clear_changed', '$remove_data_record', '$clear_data', '$each', '$update_data_record', '$new_core_object', '$data_consumers', '$store_changed', '$changed_id', '$store_changed_id', '$delete', '$index']); self.$require("core/qx_wrap"); self.$require("qx/io/server"); return (function($base, $super) { function $Store(){}; var self = $Store = $klass($base, $super, 'Store', $Store); var def = self.$$proto, $scope = self.$$scope; def.data_consumers = nil; self.$attr_reader("changed_id"); self.$attr_reader("data"); self.$attr_reader("data_consumers"); self.$attr_reader("data_records"); self.$attr_reader("model"); self.$attr_reader("widget"); def.$initialize = function(model) { var $a, self = this; self.changed_id = nil; self.data = []; self.data_consumers = []; self.data_records = $hash2([], {}); self.model = model; self.widget = self.$initial_widget(); self.$add_change_listener(); if ((($a = self['$autoload_data?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$data_load() } else { return nil }; }; def.$add_change_listener = function() { var $a, $b, TMP_1, self = this; return self.$widget().$addListener("changed", ($a = ($b = self).$lambda, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this; return self.$sync_changed()}, TMP_1.$$s = self, TMP_1), $a).call($b)); }; def.$add_data_consumer = function(data_consumer) { var self = this; self.data_consumers['$<<'](data_consumer); return self.$sync_changed_consumer(data_consumer); }; def.$add_data_record = function(record) { var self = this; self.$data()['$<<'](record); return self.$data_records()['$[]='](record['$[]']("id"), record); }; def['$autoload_data?'] = function() { var self = this; return true; }; def.$clear_changed = function() { var self = this; return self.changed_id = nil; }; def.$clear_data = function() { var self = this; self.data = []; return self.data_records = $hash2([], {}); }; def.$data_create = function() { var $a, $b, TMP_2, self = this; return $scope.get('Server').$postApi(self.$model().$api_resource_name(), "", nil, ($a = ($b = self).$lambda, $a.$$p = (TMP_2 = function(record){var self = TMP_2.$$s || this; if (record == null) record = nil; return self.$handle_create_reply(record)}, TMP_2.$$s = self, TMP_2), $a).call($b)); }; def.$data_delete = function(record_id) { var $a, $b, TMP_3, self = this; return $scope.get('Server').$deleteApi(self.$model().$api_resource_name(), record_id, nil, ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(record){var self = TMP_3.$$s || this; if (record == null) record = nil; return self.$handle_delete_reply(record)}, TMP_3.$$s = self, TMP_3), $a).call($b)); }; def.$data_load = function() { var $a, $b, TMP_4, self = this; return $scope.get('Server').$getApi(self.$model().$api_resource_name(), "", nil, ($a = ($b = self).$lambda, $a.$$p = (TMP_4 = function(data){var self = TMP_4.$$s || this; if (data == null) data = nil; return self.$handle_load_reply(data)}, TMP_4.$$s = self, TMP_4), $a).call($b)); }; def.$data_update = function(record) { var $a, $b, TMP_5, self = this; return $scope.get('Server').$putApi(self.$model().$api_resource_name(), record['$[]']("id"), record, ($a = ($b = self).$lambda, $a.$$p = (TMP_5 = function(record){var self = TMP_5.$$s || this; if (record == null) record = nil; return self.$handle_update_reply(record)}, TMP_5.$$s = self, TMP_5), $a).call($b)); }; def.$fire_event = function(name) { var self = this; return self.$widget().$fireDataEvent(name); }; def.$get_data_record = function(record_id) { var self = this; return self.$data_records()['$[]'](record_id); }; def.$handle_create_reply = function(record) { var self = this; self.changed_id = record['$[]']("id"); self.$add_data_record(record); return self.$fire_event("changed"); }; def.$handle_delete_reply = function(record) { var self = this; self.$clear_changed(); self.$remove_data_record(record); return self.$fire_event("changed"); }; def.$handle_load_reply = function(reply) { var $a, $b, TMP_6, self = this; self.$clear_changed(); self.$clear_data(); ($a = ($b = reply).$each, $a.$$p = (TMP_6 = function(record){var self = TMP_6.$$s || this; if (record == null) record = nil; return self.$add_data_record(record)}, TMP_6.$$s = self, TMP_6), $a).call($b); return self.$fire_event("changed"); }; def.$handle_update_reply = function(record) { var self = this; self.$clear_changed(); self.$update_data_record(record); return self.$fire_event("changed"); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_core_object(); }; def.$sync_changed = function() { var $a, $b, TMP_7, self = this; return ($a = ($b = self.$data_consumers()).$each, $a.$$p = (TMP_7 = function(data_consumer){var self = TMP_7.$$s || this; if (data_consumer == null) data_consumer = nil; return self.$sync_changed_consumer(data_consumer)}, TMP_7.$$s = self, TMP_7), $a).call($b); }; def.$sync_changed_consumer = function(data_consumer) { var $a, self = this; data_consumer.$store_changed(); if ((($a = self.$changed_id()) !== nil && (!$a.$$is_boolean || $a == true))) { return data_consumer.$store_changed_id(self.$changed_id()) } else { return nil }; }; def.$remove_data_record = function(record) { var self = this; self.$data().$delete(record); return self.$data_records().$delete(record['$[]']("id")); }; return (def.$update_data_record = function(record) { var self = this, old_record = nil, index = nil; old_record = self.$data_records()['$[]'](record['$[]']("id")); index = self.$data().$index(old_record); self.$data()['$[]='](index, record); return self.$data_records()['$[]='](record['$[]']("id"), record); }, nil) && 'update_data_record'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["dynamic_themes/theme_base"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; return (function($base, $super) { function $ThemeBase(){}; var self = $ThemeBase = $klass($base, $super, 'ThemeBase', $ThemeBase); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["dynamic_themes/modern_theme"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$theme_colors']); self.$require("dynamic_themes/theme_base"); return (function($base, $super) { function $ModernTheme(){}; var self = $ModernTheme = $klass($base, $super, 'ModernTheme', $ModernTheme); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$colors', function() { var self = this; return self.$theme_colors(); }); Opal.defs(self, '$name', function() { var self = this; return "modern_theme"; }); return (Opal.defs(self, '$theme_colors', function() { var self = this; return $hash2(["background-application", "background-light", "background-medium", "background-odd", "background-pane", "background-selected", "background-splitpane", "background-tip", "background-tip-error", "border-button", "border-column", "border-disabled", "border-dragover", "border-focused", "border-focused-invalid", "border-inner-input", "border-inner-scrollbar", "border-input", "border-invalid", "border-main", "border-pane", "border-separator", "border-toolbar-border-inner", "border-toolbar-button-outer", "border-toolbar-separator-left", "border-toolbar-separator-right", "button-border-disabled", "button-disabled-end", "button-disabled-start", "button-end", "button-focused", "button-hovered-end", "button-hovered-start", "button-start", "checkbox-border", "checkbox-disabled-border", "checkbox-disabled-end", "checkbox-disabled-inner", "checkbox-disabled-start", "checkbox-end", "checkbox-focus", "checkbox-hovered", "checkbox-hovered-inner", "checkbox-hovered-inner-invalid", "checkbox-hovered-invalid", "checkbox-inner", "checkbox-start", "group-background", "group-border", "groupitem-end", "groupitem-start", "groupitem-text", "input-border-disabled", "input-border-inner", "input-end", "input-focused-end", "input-focused-inner-invalid", "input-focused-start", "input-start", "invalid", "keyboard-focus", "menu-end", "menu-separator-bottom", "menu-separator-top", "menu-start", "menubar-start", "pane-end", "pane-start", "progressbar-background", "progressive-progressbar-background", "progressive-progressbar-indicator-done", "progressive-progressbar-indicator-undone", "progressive-progressbar-percent-background", "progressive-progressbar-percent-text", "progressive-table-header", "progressive-table-header-border-right", "progressive-table-row-background-even", "progressive-table-row-background-odd", "radiobutton-background", "radiobutton-checked", "radiobutton-checked-disabled", "radiobutton-disabled", "radiobutton-hovered-invalid", "scrollbar-end", "scrollbar-slider-end", "scrollbar-slider-start", "scrollbar-start", "selected-end", "selected-start", "shadow", "table-column-line", "table-focus-indicator", "table-header-end", "table-header-hovered", "table-header-start", "table-pane", "table-row", "table-row-background-even", "table-row-background-focused", "table-row-background-focused-selected", "table-row-background-odd", "table-row-background-selected", "table-row-line", "table-row-selected", "tabview-background", "tabview-end", "tabview-inactive", "tabview-inactive-end", "tabview-inactive-start", "tabview-start", "text-active", "text-disabled", "text-gray", "text-hovered", "text-inactive", "text-input", "text-label", "text-light", "text-placeholder", "text-selected", "text-title", "toolbar-end", "toolbar-start", "tooltip-error", "virtual-row-layer-background-even", "virtual-row-layer-background-odd", "window-border", "window-border-caption", "window-caption-active-end", "window-caption-active-start", "window-caption-active-text", "window-caption-inactive-end", "window-caption-inactive-start", "window-statusbar-background"], {"background-application": "#DFDFDF", "background-light": "#FCFCFC", "background-medium": "#EEEEEE", "background-odd": "#E4E4E4", "background-pane": "#F3F3F3", "background-selected": "#00368A", "background-splitpane": "#AFAFAF", "background-tip": "#ffffdd", "background-tip-error": "#C72B2B", "border-button": "#666666", "border-column": "#CCCCCC", "border-disabled": "#B6B6B6", "border-dragover": "#33508D", "border-focused": "#99C3FE", "border-focused-invalid": "#FF9999", "border-inner-input": "white", "border-inner-scrollbar": "white", "border-input": "#334866", "border-invalid": "#930000", "border-main": "#4d4d4d", "border-pane": "#00204D", "border-separator": "#808080", "border-toolbar-border-inner": "#f8f8f8", "border-toolbar-button-outer": "#b6b6b6", "border-toolbar-separator-left": "#b8b8b8", "border-toolbar-separator-right": "#f4f4f4", "button-border-disabled": "#959595", "button-disabled-end": "#BABABA", "button-disabled-start": "#F4F4F4", "button-end": "#AFAFAF", "button-focused": "#83BAEA", "button-hovered-end": "#8EB8D6", "button-hovered-start": "#F0F9FE", "button-start": "#F0F0F0", "checkbox-border": "#314A6E", "checkbox-disabled-border": "#787878", "checkbox-disabled-end": "#D8D8D8", "checkbox-disabled-inner": "#CACACA", "checkbox-disabled-start": "#D0D0D0", "checkbox-end": "#F3F3F3", "checkbox-focus": "#87AFE7", "checkbox-hovered": "#B2D2FF", "checkbox-hovered-inner": "#D1E4FF", "checkbox-hovered-inner-invalid": "#FAF2F2", "checkbox-hovered-invalid": "#F7E9E9", "checkbox-inner": "#EEEEEE", "checkbox-start": "#E4E4E4", "group-background": "#E8E8E8", "group-border": "#B4B4B4", "groupitem-end": "#949494", "groupitem-start": "#A7A7A7", "groupitem-text": "white", "input-border-disabled": "#9B9B9B", "input-border-inner": "white", "input-end": "#FBFCFB", "input-focused-end": "#5CB0FD", "input-focused-inner-invalid": "#FF6B78", "input-focused-start": "#D7E7F4", "input-start": "#F0F0F0", "invalid": "#990000", "keyboard-focus": "black", "menu-end": "#D9D9D9", "menu-separator-bottom": "#FAFAFA", "menu-separator-top": "#C5C5C5", "menu-start": "#E8E8E9", "menubar-start": "#E8E8E8", "pane-end": "#F0F0F0", "pane-start": "#FBFBFB", "progressbar-background": "white", "progressive-progressbar-background": "gray", "progressive-progressbar-indicator-done": "#CCCCCC", "progressive-progressbar-indicator-undone": "white", "progressive-progressbar-percent-background": "gray", "progressive-progressbar-percent-text": "white", "progressive-table-header": "#AAAAAA", "progressive-table-header-border-right": "#F2F2F2", "progressive-table-row-background-even": "#F4F4F4", "progressive-table-row-background-odd": "#E4E4E4", "radiobutton-background": "#EFEFEF", "radiobutton-checked": "#005BC3", "radiobutton-checked-disabled": "#7B7B7B", "radiobutton-disabled": "#D5D5D5", "radiobutton-hovered-invalid": "#F7EAEA", "scrollbar-end": "#F1F1F1", "scrollbar-slider-end": "#C3C3C3", "scrollbar-slider-start": "#EEEEEE", "scrollbar-start": "#CCCCCC", "selected-end": "#00368A", "selected-start": "#004DAD", "shadow": "rgba(0, 0, 0, 0.4)", "table-column-line": "#CCC", "table-focus-indicator": "#0880EF", "table-header-end": "#B3B3B3", "table-header-hovered": "white", "table-header-start": "#E8E8E8", "table-pane": "#F3F3F3", "table-row": "#1a1a1a", "table-row-background-even": "#F3F3F3", "table-row-background-focused": "#80B4EF", "table-row-background-focused-selected": "#084FAB", "table-row-background-odd": "#E4E4E4", "table-row-background-selected": "#084FAB", "table-row-line": "#CCC", "table-row-selected": "#fffefe", "tabview-background": "#07125A", "tabview-end": "#EEEEEE", "tabview-inactive": "#777D8D", "tabview-inactive-end": "#CECECE", "tabview-inactive-start": "#EAEAEA", "tabview-start": "#FCFCFC", "text-active": "#26364D", "text-disabled": "#7B7A7E", "text-gray": "#4a4a4a", "text-hovered": "#001533", "text-inactive": "#404955", "text-input": "#000000", "text-label": "#1a1a1a", "text-light": "#909090", "text-placeholder": "#CBC8CD", "text-selected": "#fffefe", "text-title": "#314a6e", "toolbar-end": "#DDDDDD", "toolbar-start": "#EFEFEF", "tooltip-error": "#C82C2C", "virtual-row-layer-background-even": "white", "virtual-row-layer-background-odd": "white", "window-border": "#00204D", "window-border-caption": "#727272", "window-caption-active-end": "#003B91", "window-caption-active-start": "#084FAA", "window-caption-active-text": "white", "window-caption-inactive-end": "#DBDBDB", "window-caption-inactive-start": "#F2F2F2", "window-statusbar-background": "#EFEFEF"}); }), nil) && 'theme_colors'; })(self, $scope.get('ThemeBase')); }; /* Generated by Opal 0.8.1 */ Opal.modules["dynamic_themes/default_theme"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$merge', '$colors', '$theme_colors']); self.$require("dynamic_themes/modern_theme"); return (function($base, $super) { function $DefaultTheme(){}; var self = $DefaultTheme = $klass($base, $super, 'DefaultTheme', $DefaultTheme); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$colors', function() { var self = this; return $scope.get('ModernTheme').$colors().$merge(self.$theme_colors()); }); Opal.defs(self, '$name', function() { var self = this; return "default_theme"; }); return (Opal.defs(self, '$theme_colors', function() { var self = this; return $hash2(["background-application", "background-pane", "background-splitpane", "button-end", "button-start", "text-label", "window-border", "window-border-caption", "window-caption-active-end", "window-caption-active-start", "window-caption-active-text", "window-caption-inactive-end", "window-caption-inactive-start", "window-statusbar-background"], {"background-application": "#ffffff", "background-pane": "#F4F4F4", "background-splitpane": "#E0ECFF", "button-end": "#215291", "button-start": "#215291", "text-label": "#fff", "window-border": "#00204D", "window-border-caption": "#727272", "window-caption-active-end": "#215291", "window-caption-active-start": "#215291", "window-caption-active-text": "white", "window-caption-inactive-end": "#DBDBDB", "window-caption-inactive-start": "#E0ECFF", "window-statusbar-background": "#EFEFEF"}); }), nil) && 'theme_colors'; })(self, $scope.get('ModernTheme')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/palettes/palette"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$attr_reader', '$add_theme_overrides', '$initialize_color_map', '$[]=', '$color_map', '$to_sym', '$theme_overrides', '$to_s', '$add_style_colors', '$add_widget_colors', '$[]']); return (function($base, $super) { function $Palette(){}; var self = $Palette = $klass($base, $super, 'Palette', $Palette); var def = self.$$proto, $scope = self.$$scope; self.$attr_reader("color_map"); self.$attr_reader("theme_overrides"); Opal.defs(self, '$name', function() { var self = this; return "dummy"; }); def.$initialize = function() { var self = this; self.color_map = $hash2([], {}); self.theme_overrides = $hash2([], {}); self.$add_theme_overrides(); return self.$initialize_color_map(); }; def.$add_color = function(tag, value) { var self = this; return self.$color_map()['$[]='](tag.$to_sym(), value); }; def.$add_override = function(tag, value) { var self = this; return self.$theme_overrides()['$[]='](tag.$to_s(), value); }; def.$add_style_colors = function() { var self = this; return nil; }; def.$add_theme_overrides = function() { var self = this; return nil; }; def.$add_widget_colors = function() { var self = this; return nil; }; def.$initialize_color_map = function() { var self = this; self.$add_style_colors(); return self.$add_widget_colors(); }; return (def.$resolve_color = function(tag) { var self = this; return self.$color_map()['$[]'](tag.$to_sym()); }, nil) && 'resolve_color'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/palettes/default_palette"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$add_color', '$add_override']); self.$require("managers/palettes/palette"); return (function($base, $super) { function $DefaultPalette(){}; var self = $DefaultPalette = $klass($base, $super, 'DefaultPalette', $DefaultPalette); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$name', function() { var self = this; return "default"; }); def.$add_style_colors = function() { var self = this; self.$add_color("button", $hash2(["background_image", "border"], {"background_image": ["#F0F0F0", "35%", "#AFAFAF", "100%"], "border": ["#666666"]})); self.$add_color("input", $hash2(["background_color", "background_image", "border"], {"background_color": ["#FCFCFC"], "background_image": ["#F0F0F0", "#FBFCFB"], "border": ["#334866"]})); self.$add_color("input_placeholder", $hash2(["color"], {"color": ["#CBC8CD"]})); self.$add_color("selected", $hash2(["background_image"], {"background_image": ["#004DAD", "0%", "#00368A", "100%"]})); self.$add_color("split_pane", $hash2(["background_color", "border"], {"background_color": ["#F3F3F3"], "border": ["#AFAFAF"]})); self.$add_color("split_pane", $hash2(["background_color", "border"], {"background_color": ["#F3F3F3"], "border": ["#AFAFAF"]})); self.$add_color("toolbar_separator", $hash2(["border_left_color", "border_right_color"], {"border_left_color": ["#B8B8B8"], "border_right_color": ["#F4F4F4"]})); self.$add_color("window_captionbar_active", $hash2(["background_image", "border_color"], {"background_image": ["#AA4F08", "30%", "#913B00", "70%"], "border_color": ["#00204D", "#00204D", "#727272"]})); return self.$add_color("window_pane", $hash2(["background_color", "border_bottom_color", "border_left_color", "border_right_color"], {"background_color": ["#FFFFFF"], "border_bottom_color": ["#00204D"], "border_left_color": ["#00204D"], "border_right_color": ["#00204D"]})); }; def.$add_widget_colors = function() { var self = this; self.$add_color("desktop_background", "#FFFFFF"); self.$add_color("desktop_icon", "#aaa"); self.$add_color("footer_background", "slategray"); self.$add_color("footer_text", "#aaa"); self.$add_color("navbar_background", "slategray"); self.$add_color("navbar_label", "ivory"); self.$add_color("navpanel_background", "#8c99a6"); return self.$add_color("workspace_background", "#FFFFFF"); }; return (def.$add_theme_overrides = function() { var self = this; return self.$add_override("background-application", "white"); }, nil) && 'add_theme_overrides'; })(self, $scope.get('Palette')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/palettes/neptune_palette"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$add_color', '$add_override']); self.$require("managers/palettes/palette"); return (function($base, $super) { function $NeptunePalette(){}; var self = $NeptunePalette = $klass($base, $super, 'NeptunePalette', $NeptunePalette); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$name', function() { var self = this; return "neptune"; }); def.$add_style_colors = function() { var self = this; self.$add_color("button", $hash2(["background_image", "border"], {"background_image": ["#F0F0F0", "35%", "#AFAFAF", "100%"], "border": ["#666666"]})); self.$add_color("input", $hash2(["background_color", "background_image", "border"], {"background_color": ["#FCFCFC"], "background_image": ["#F0F0F0", "#FBFCFB"], "border": ["#334866"]})); self.$add_color("input_placeholder", $hash2(["color"], {"color": ["#CBC8CD"]})); self.$add_color("selected", $hash2(["background_image"], {"background_image": ["#004DAD", "0%", "#00368A", "100%"]})); self.$add_color("split_pane", $hash2(["background_color", "border"], {"background_color": ["#F3F3F3"], "border": ["#AFAFAF"]})); self.$add_color("split_pane", $hash2(["background_color", "border"], {"background_color": ["#F3F3F3"], "border": ["#AFAFAF"]})); self.$add_color("toolbar_separator", $hash2(["border_left_color", "border_right_color"], {"border_left_color": ["#B8B8B8"], "border_right_color": ["#F4F4F4"]})); self.$add_color("window_captionbar_active", $hash2(["background_image", "border_color"], {"background_image": ["#004F08", "30%", "#003B00", "70%"], "border_color": ["#00204D", "#00204D", "#727272"]})); return self.$add_color("window_pane", $hash2(["background_color", "border_bottom_color", "border_left_color", "border_right_color"], {"background_color": ["#F3F3F3"], "border_bottom_color": ["#00204D"], "border_left_color": ["#00204D"], "border_right_color": ["#00204D"]})); }; def.$add_widget_colors = function() { var self = this; self.$add_color("desktop_background", "#c5ccd3"); self.$add_color("desktop_icon", "#aaa"); self.$add_color("footer_background", "slategray"); self.$add_color("footer_text", "#aaa"); self.$add_color("navbar_background", "slategray"); self.$add_color("navbar_label", "ivory"); self.$add_color("navpanel_background", "#8c99a6"); return self.$add_color("workspace_background", "#c5ccd3"); }; return (def.$add_theme_overrides = function() { var self = this; return self.$add_override("background-application", "white"); }, nil) && 'add_theme_overrides'; })(self, $scope.get('Palette')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/theme_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$get_dynamic_theme_colors', '$instance', '$get_theme_colors', '$get_theme_names', '$set_dynamic_theme', '$set_theme', '$set_theme_color', '$update', '$load_dynamic_themes', '$[]', '$dynamic_themes', '$to_sym', '$nil?', '$colors', '$theme_colors', '$colors_obj', '$each', '$[]=', '$sort', '$new', '$==', '$<<', '$values', '$name', '$Native', '$to_n', '$to_s', '$first', '$last']); self.$require("dynamic_themes/default_theme"); self.$require("dynamic_themes/modern_theme"); self.$require("singleton"); return (function($base, $super) { function $ThemeManager(){}; var self = $ThemeManager = $klass($base, $super, 'ThemeManager', $ThemeManager); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("colors_obj"); self.$attr_reader("dynamic_themes"); self.$attr_reader("theme_colors"); Opal.defs(self, '$get_dynamic_theme_colors', function(name) { var self = this; return self.$instance().$get_dynamic_theme_colors(name); }); Opal.defs(self, '$get_theme_colors', function() { var self = this; return self.$instance().$get_theme_colors(); }); Opal.defs(self, '$get_theme_names', function() { var self = this; return self.$instance().$get_theme_names(); }); Opal.defs(self, '$set_dynamic_theme', function(name) { var self = this; return self.$instance().$set_dynamic_theme(name); }); Opal.defs(self, '$set_theme', function(theme_name) { var self = this; return self.$instance().$set_theme(theme_name); }); Opal.defs(self, '$set_theme_color', function(name, value) { var self = this; return self.$instance().$set_theme_color(name, value); }); Opal.defs(self, '$update', function() { var self = this; return self.$instance().$update(); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.colors_obj = nil; self.dynamic_themes = $hash2([], {}); self.theme_colors = nil; return self.$load_dynamic_themes(); }; def.$get_dynamic_theme_colors = function(name) { var $a, self = this, dynamic_theme = nil; dynamic_theme = self.$dynamic_themes()['$[]'](name.$to_sym()); if ((($a = dynamic_theme['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return dynamic_theme.$colors() }; }; def.$get_theme_colors = function() { var $a, $b, TMP_2, self = this, color_keys = nil; if ((($a = self.$theme_colors()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return self.$theme_colors() }; self.theme_colors = $hash2([], {}); self.colors_obj = qx.theme.manager.Meta.getInstance().getTheme().meta.color.colors.__proto__.__proto__; color_keys = Object.keys(self.$colors_obj()); ($a = ($b = color_keys.$sort()).$each, $a.$$p = (TMP_2 = function(color_key){var self = TMP_2.$$s || this; if (color_key == null) color_key = nil; return self.$theme_colors()['$[]='](color_key, self.$colors_obj()[color_key])}, TMP_2.$$s = self, TMP_2), $a).call($b); return self.$theme_colors(); }; def.$get_theme_names = function() { var $a, $b, TMP_3, self = this, themes = nil, theme_names = nil; themes = $scope.get('Hash').$new(qx.Theme.getAll()); theme_names = []; ($a = ($b = themes.$values()).$each, $a.$$p = (TMP_3 = function(theme){var self = TMP_3.$$s || this; if (theme == null) theme = nil; if (theme['$[]']("type")['$==']("meta")) { return theme_names['$<<'](theme['$[]']("name")) } else { return nil }}, TMP_3.$$s = self, TMP_3), $a).call($b); return theme_names; }; def.$load_dynamic_themes = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = [$scope.get('DefaultTheme'), $scope.get('ModernTheme')]).$each, $a.$$p = (TMP_4 = function(theme){var self = TMP_4.$$s || this; if (theme == null) theme = nil; return self.$dynamic_themes()['$[]='](theme.$name(), theme)}, TMP_4.$$s = self, TMP_4), $a).call($b); }; def.$set_dynamic_theme = function(name) { var $a, $b, TMP_5, self = this, colors = nil; colors = self.$get_dynamic_theme_colors(name); if ((($a = colors['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "" + (name) + " not found" } else { ($a = ($b = colors).$each, $a.$$p = (TMP_5 = function(name, color){var self = TMP_5.$$s || this; if (name == null) name = nil;if (color == null) color = nil; return self.$set_theme_color(name, color)}, TMP_5.$$s = self, TMP_5), $a).call($b); return self.$update(); }; }; def.$set_theme = function(theme_name) { var $a, self = this, theme = nil; theme = self.$Native(qx.Theme.getByName(theme_name)); if ((($a = theme['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return qx.theme.manager.Meta.getInstance().setTheme(theme.$to_n()); }; }; def.$set_theme_color = function(name, value) { var $a, self = this; if ((($a = self.$theme_colors()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$get_theme_colors()}; self.$theme_colors()['$[]='](name.$to_s(), value.$to_s()); self.$colors_obj()[name.$to_s()] = value.$to_s(); return value; }; return (def.$update = function() { var self = this, theme_names = nil, current = nil, alternate = nil; theme_names = self.$get_theme_names(); current = theme_names.$first(); alternate = theme_names.$last(); self.$set_theme(alternate); self.$set_theme(current); return "update complete"; }, nil) && 'update'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/color_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$resolve_color', '$instance', '$set_color_palette', '$load_palettes', '$empty?', '$theme_overrides', '$current_palette', '$each', '$set_theme_color', '$update', '$[]=', '$palettes', '$name', '$new', '$[]', '$to_sym', '$apply_theme_overrides']); self.$require("singleton"); self.$require("managers/palettes/default_palette"); self.$require("managers/palettes/neptune_palette"); self.$require("managers/theme_manager"); return (function($base, $super) { function $ColorManager(){}; var self = $ColorManager = $klass($base, $super, 'ColorManager', $ColorManager); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); self.$attr_reader("current_palette"); self.$attr_reader("palettes"); Opal.defs(self, '$resolve_color', function(tag) { var self = this; return self.$instance().$resolve_color(tag); }); Opal.defs(self, '$set_color_palette', function(name) { var self = this; return self.$instance().$set_color_palette(name); }); def.$initialize = function() { var self = this; self.palettes = $hash2([], {}); return self.$load_palettes(); }; def.$apply_theme_overrides = function() { var $a, $b, TMP_1, self = this; if ((($a = self.$current_palette().$theme_overrides()['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { ($a = ($b = self.$current_palette().$theme_overrides()).$each, $a.$$p = (TMP_1 = function(k, v){var self = TMP_1.$$s || this; if (k == null) k = nil;if (v == null) v = nil; return $scope.get('ThemeManager').$set_theme_color(k, v)}, TMP_1.$$s = self, TMP_1), $a).call($b); return $scope.get('ThemeManager').$update(); }; }; def.$load_palettes = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = [$scope.get('DefaultPalette'), $scope.get('NeptunePalette')]).$each, $a.$$p = (TMP_2 = function(palette_class){var self = TMP_2.$$s || this; if (palette_class == null) palette_class = nil; return self.$palettes()['$[]='](palette_class.$name(), palette_class.$new())}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$resolve_color = function(tag) { var self = this; return self.$current_palette().$resolve_color(tag); }; return (def.$set_color_palette = function(name) { var self = this; self.current_palette = self.$palettes()['$[]'](name.$to_sym()); return self.$apply_theme_overrides(); }, nil) && 'set_color_palette'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_rule"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$resolve_color', '$name', '$nil?', '$%', '$keys', '$css_color_templates', '$each', '$[]', '$css_color_values', '$<<', '$gen_color_part', '$css_base_parts', '$css_gen_color_parts', '$join', '$css_parts']); self.$require("managers/color_manager"); return (function($base, $super) { function $CssRule(){}; var self = $CssRule = $klass($base, $super, 'CssRule', $CssRule); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return []; }; def.$css_color_templates = function() { var self = this; return $hash2([], {}); }; def.$css_color_values = function() { var self = this; return $scope.get('ColorManager').$resolve_color(self.$name()); }; def.$gen_color_part = function(template, values) { var $a, self = this; if ((($a = values['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return template } else { return template['$%'](values) }; }; def.$css_gen_color_parts = function() { var $a, $b, TMP_1, self = this, color_parts = nil, keys = nil; color_parts = []; keys = self.$css_color_templates().$keys(); ($a = ($b = keys).$each, $a.$$p = (TMP_1 = function(key){var self = TMP_1.$$s || this, template = nil, values = nil; if (key == null) key = nil; template = self.$css_color_templates()['$[]'](key); values = self.$css_color_values()['$[]'](key); return color_parts['$<<'](self.$gen_color_part(template, values));}, TMP_1.$$s = self, TMP_1), $a).call($b); return color_parts; }; def.$css_parts = function() { var self = this; return $rb_plus(self.$css_base_parts(), self.$css_gen_color_parts()); }; def.$css_text = function() { var self = this; return self.$css_parts().$join(";"); }; def.$name = function() { var self = this; return "dummy"; }; return (def.$selector = function() { var self = this; return "dummy"; }, nil) && 'selector'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_button"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssButton(){}; var self = $CssButton = $klass($base, $super, 'CssButton', $CssButton); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["-webkit-background-clip: padding-box", "border-radius: 3px", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_image", "border"], {"background_image": "background-image: linear-gradient(%s %s, %s %s)", "border": "border: 1px solid %s"}); }; def.$name = function() { var self = this; return "button"; }; return (def.$selector = function() { var self = this; return ".qx-button"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_input"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssInput(){}; var self = $CssInput = $klass($base, $super, 'CssInput', $CssInput); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["box-shadow: white 0px 0px 0px 1px inset", "-webkit-background-clip: padding-box", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_color", "background_image", "border"], {"background_color": "background-color: %s", "background_image": "background-image: linear-gradient(%s 0px, %s 12px)", "border": "border: 1px solid %s"}); }; def.$name = function() { var self = this; return "input"; }; return (def.$selector = function() { var self = this; return ".qx-input"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_input_placeholder"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssInputPlaceholder(){}; var self = $CssInputPlaceholder = $klass($base, $super, 'CssInputPlaceholder', $CssInputPlaceholder); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["border-width: 1px"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["color"], {"color": "color: %s"}); }; def.$name = function() { var self = this; return "input_placeholder"; }; return (def.$selector = function() { var self = this; return ".input.qx-placeholder-color::-webkit-input-placeholder, textarea.qx-placeholder-color::-webkit-input-placeholder"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_selected"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssSelected(){}; var self = $CssSelected = $klass($base, $super, 'CssSelected', $CssSelected); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["-webkit-background-clip: padding-box", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_image"], {"background_image": "background-image: linear-gradient(%s %s, %s %s)"}); }; def.$name = function() { var self = this; return "selected"; }; return (def.$selector = function() { var self = this; return ".qx-selected"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_split_pane"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssSplitPane(){}; var self = $CssSplitPane = $klass($base, $super, 'CssSplitPane', $CssSplitPane); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["-webkit-background-clip: padding-box", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_color", "border"], {"background_color": "background-color: %s", "border": "border: 3px solid %s"}); }; def.$name = function() { var self = this; return "split_pane"; }; return (def.$selector = function() { var self = this; return ".qx-splitpane"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_window_captionbar_active"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssWindowCaptionbarActive(){}; var self = $CssWindowCaptionbarActive = $klass($base, $super, 'CssWindowCaptionbarActive', $CssWindowCaptionbarActive); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["border-width: 1px", "border-style: solid", "-webkit-background-clip: padding-box", "border-top-left-radius: 5px", "border-top-right-radius: 5px", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_image", "border_color"], {"background_image": "background-image: linear-gradient(%s %s, %s %s)", "border_color": "border-color: %s %s %s"}); }; def.$name = function() { var self = this; return "window_captionbar_active"; }; return (def.$selector = function() { var self = this; return ".qx-window-captionbar-active"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_window_pane"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssWindowPane(){}; var self = $CssWindowPane = $klass($base, $super, 'CssWindowPane', $CssWindowPane); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["border-right-width: 1px", "border-right-style: solid", "border-bottom-width: 1px", "border-bottom-style: solid", "border-left-width: 1px", "border-left-style: solid", "-webkit-background-clip: padding-box", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["background_color", "border_bottom_color", "border_left_color", "border_right_color"], {"background_color": "background-color: %s", "border_bottom_color": "border-bottom-color: %s", "border_left_color": "border-left-color: %s", "border_right_color": "border-right-color: %s"}); }; def.$name = function() { var self = this; return "window_pane"; }; return (def.$selector = function() { var self = this; return ".qx-window-pane"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/css_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$apply_rules', '$instance', '$add_rules', '$each', '$new', '$[]=', '$css_rules', '$name', '$replace_rule', '$selector', '$css_text', '$apply_rule', '$values']); self.$require("singleton"); self.$require("managers/rules/css_button"); self.$require("managers/rules/css_input"); self.$require("managers/rules/css_input_placeholder"); self.$require("managers/rules/css_selected"); self.$require("managers/rules/css_split_pane"); self.$require("managers/rules/css_window_captionbar_active"); self.$require("managers/rules/css_window_pane"); self.$require("qx/ui/style_sheet"); return (function($base, $super) { function $CssManager(){}; var self = $CssManager = $klass($base, $super, 'CssManager', $CssManager); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); self.$attr_reader("css_rules"); Opal.defs(self, '$apply_rules', function() { var self = this; return self.$instance().$apply_rules(); }); def.$initialize = function() { var self = this; self.css_rules = $hash2([], {}); return self.$add_rules(); }; def.$add_rules = function() { var $a, $b, TMP_1, self = this; return ($a = ($b = [$scope.get('CssButton'), $scope.get('CssInput'), $scope.get('CssInputPlaceholder'), $scope.get('CssSelected'), $scope.get('CssSplitPane'), $scope.get('CssWindowCaptionbarActive'), $scope.get('CssWindowPane')]).$each, $a.$$p = (TMP_1 = function(rule_class){var self = TMP_1.$$s || this, rule = nil; if (rule_class == null) rule_class = nil; rule = rule_class.$new(); return self.$css_rules()['$[]='](rule.$name(), rule);}, TMP_1.$$s = self, TMP_1), $a).call($b); }; def.$apply_rule = function(rule) { var self = this; return $scope.get('StyleSheet').$replace_rule(rule.$selector(), rule.$css_text()); }; return (def.$apply_rules = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self.$css_rules().$values()).$each, $a.$$p = (TMP_2 = function(rule){var self = TMP_2.$$s || this; if (rule == null) rule = nil; return self.$apply_rule(rule)}, TMP_2.$$s = self, TMP_2), $a).call($b); }, nil) && 'apply_rules'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["template"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$[]', '$[]=', '$keys', '$attr_reader', '$instance_exec', '$to_proc', '$new', '$<<', '$join']); return (function($base, $super) { function $Template(){}; var self = $Template = $klass($base, $super, 'Template', $Template); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.name = def.body = nil; self._cache = $hash2([], {}); Opal.defs(self, '$[]', function(name) { var $a, self = this; if (self._cache == null) self._cache = nil; return ((($a = self._cache['$[]'](name)) !== false && $a !== nil) ? $a : self._cache['$[]']("templates/" + (name))); }); Opal.defs(self, '$[]=', function(name, instance) { var self = this; if (self._cache == null) self._cache = nil; return self._cache['$[]='](name, instance); }); Opal.defs(self, '$paths', function() { var self = this; if (self._cache == null) self._cache = nil; return self._cache.$keys(); }); self.$attr_reader("body"); def.$initialize = TMP_1 = function(name) { var $a, self = this, $iter = TMP_1.$$p, body = $iter || nil; TMP_1.$$p = null; $a = [name, body], self.name = $a[0], self.body = $a[1]; return $scope.get('Template')['$[]='](name, self); }; def.$inspect = function() { var self = this; return "#"; }; def.$render = function(ctx) { var $a, $b, self = this; if (ctx == null) { ctx = self } return ($a = ($b = ctx).$instance_exec, $a.$$p = self.body.$to_proc(), $a).call($b, $scope.get('OutputBuffer').$new()); }; return (function($base, $super) { function $OutputBuffer(){}; var self = $OutputBuffer = $klass($base, $super, 'OutputBuffer', $OutputBuffer); var def = self.$$proto, $scope = self.$$scope; def.buffer = nil; def.$initialize = function() { var self = this; return self.buffer = []; }; def.$append = function(str) { var self = this; return self.buffer['$<<'](str); }; Opal.defn(self, '$append=', def.$append); return (def.$join = function() { var self = this; return self.buffer.$join(); }, nil) && 'join'; })(self, null); })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/store_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$add_store', '$instance', '$find_store', '$api_resource_name', '$new', '$[]=', '$stores', '$to_sym', '$[]']); self.$require("singleton"); self.$require("data/store"); return (function($base, $super) { function $StoreManager(){}; var self = $StoreManager = $klass($base, $super, 'StoreManager', $StoreManager); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("stores"); Opal.defs(self, '$add_store', function(model) { var self = this; return self.$instance().$add_store(model); }); Opal.defs(self, '$find_store', function(tag) { var self = this; return self.$instance().$find_store(tag); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.stores = $hash2([], {}); }; def.$add_store = function(model) { var self = this, tag = nil, store = nil; tag = model.$api_resource_name(); store = $scope.get('Store').$new(model); return self.$stores()['$[]='](tag.$to_sym(), store); }; return (def.$find_store = function(tag) { var self = this; return self.$stores()['$[]'](tag.$to_sym()); }, nil) && 'find_store'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/model_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$add_model', '$instance', '$find_model', '$[]=', '$models', '$to_sym', '$add_store', '$[]']); self.$require("singleton"); self.$require("managers/store_manager"); return (function($base, $super) { function $ModelManager(){}; var self = $ModelManager = $klass($base, $super, 'ModelManager', $ModelManager); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("models"); Opal.defs(self, '$add_model', function(tag, model) { var self = this; return self.$instance().$add_model(tag, model); }); Opal.defs(self, '$find_model', function(tag) { var self = this; return self.$instance().$find_model(tag); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.models = $hash2([], {}); }; def.$add_model = function(tag, model) { var self = this; self.$models()['$[]='](tag.$to_sym(), model); return $scope.get('StoreManager').$add_store(model); }; return (def.$find_model = function(tag) { var self = this; return self.$models()['$[]'](tag.$to_sym()); }, nil) && 'find_model'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/template_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$add_template', '$instance', '$find_template', '$render', '$to_s', '$[]=', '$models', '$to_sym', '$[]', '$templates', '$nil?', '$find_model', '$new']); self.$require("singleton"); self.$require("template"); self.$require("managers/model_manager"); return (function($base, $super) { function $TemplateManager(){}; var self = $TemplateManager = $klass($base, $super, 'TemplateManager', $TemplateManager); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("models"); self.$attr_reader("templates"); Opal.defs(self, '$add_template', function(tag, model_tag) { var self = this; if (model_tag == null) { model_tag = nil } return self.$instance().$add_template(tag, model_tag); }); Opal.defs(self, '$find_template', function(tag) { var self = this; return self.$instance().$find_template(tag); }); Opal.defs(self, '$render', function(tag, data) { var self = this; if (data == null) { data = $hash2([], {}) } return self.$instance().$render(tag, data); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.models = $hash2([], {}); return self.templates = $hash2([], {}); }; def.$add_template = function(tag, model_tag) { var self = this, template = nil; self.$require("templates/" + (tag.$to_s())); self.$models()['$[]='](tag.$to_sym(), model_tag); template = $scope.get('Template')['$[]'](tag.$to_s()); return self.$templates()['$[]='](tag.$to_sym(), template); }; def.$find_template = function(tag) { var self = this; return self.$templates()['$[]'](tag.$to_sym()); }; return (def.$render = function(tag, data) { var $a, $b, self = this, template = nil, model_tag = nil, record = nil, model_class = nil; template = self.$find_template(tag); model_tag = self.$models()['$[]'](tag.$to_sym()); record = nil; if ((($a = ((($b = model_tag['$nil?']()) !== false && $b !== nil) ? $b : data['$nil?']())) !== nil && (!$a.$$is_boolean || $a == true))) { } else { model_class = $scope.get('ModelManager').$find_model(model_tag); if ((($a = model_class['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { record = model_class.$new(data) }; }; if ((($a = template['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return template.$render(record) }; }, nil) && 'render'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/component"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$add_classes', '$nil?', '$initial_height', '$set_height', '$initial_layout', '$set_layout', '$initial_width', '$set_width', '$as_qx', '$add', '$widget', '$each', '$add_class', '$initial_classes', '$as_native', '$setBackgroundColor', '$setHeight', '$setWidth']); self.$require("core/util"); self.$require("qx/ui/widget"); return (function($base, $super) { function $Component(){}; var self = $Component = $klass($base, $super, 'Component', $Component); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.$add_classes(); if ((($a = self.$initial_height()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$set_height(self.$initial_height()) }; if ((($a = self.$initial_layout()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$set_layout(self.$initial_layout()) }; if ((($a = self.$initial_width()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$set_width(self.$initial_width()) }; }; def.$add = function(aComponent, arg) { var $a, self = this, component = nil; if (arg == null) { arg = nil } component = self.$as_qx(aComponent); if ((($a = arg['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$widget().$add(component) } else { return self.$widget().$add(component, arg) }; }; def.$add_classes = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self.$initial_classes()).$each, $a.$$p = (TMP_2 = function(clsname){var self = TMP_2.$$s || this; if (clsname == null) clsname = nil; return self.$add_class(clsname)}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$add_native = function(item) { var self = this; return self.$widget().$add(self.$as_native(item)); }; def.$initial_classes = function() { var self = this; return []; }; def.$initial_height = function() { var self = this; return nil; }; def.$initial_layout = function() { var self = this; return nil; }; def.$initial_width = function() { var self = this; return nil; }; def.$set_background_color = function(aColor) { var self = this; return self.$widget().$setBackgroundColor(aColor); }; def.$set_height = function(n) { var self = this; return self.$widget().$setHeight(n); }; return (def.$set_width = function(n) { var self = this; return self.$widget().$setWidth(n); }, nil) && 'set_width'; })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/html"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setOverflowX', '$widget', '$setOverflowY', '$set_value', '$new_ui_embed_html', '$setHtml']); self.$require("core/qx_wrap"); self.$require("qx/ui/component"); return (function($base, $super) { function $Html(){}; var self = $Html = $klass($base, $super, 'Html', $Html); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(html) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (html == null) { html = "" } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setOverflowX("auto"); self.$widget().$setOverflowY("auto"); return self.$set_value(html); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_embed_html(); }; return (def.$set_value = function(html) { var self = this; return self.$widget().$setHtml(html); }, nil) && 'set_value'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/html_manager"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$add_panel', '$instance', '$get_panel', '$update_panel', '$new', '$[]=', '$panels', '$to_sym', '$[]', '$find_panel_rec', '$nil?', '$set_value', '$render']); self.$require("singleton"); self.$require("managers/template_manager"); self.$require("widgets/html"); return (function($base, $super) { function $HtmlManager(){}; var self = $HtmlManager = $klass($base, $super, 'HtmlManager', $HtmlManager); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("panels"); Opal.defs(self, '$add_panel', function(panel_id, template_id, model_id, init_data) { var self = this; if (model_id == null) { model_id = nil } if (init_data == null) { init_data = $hash2([], {}) } return self.$instance().$add_panel(panel_id, template_id, model_id, init_data); }); Opal.defs(self, '$get_panel', function(panel_id) { var self = this; return self.$instance().$get_panel(panel_id); }); Opal.defs(self, '$update_panel', function(panel_id, data) { var self = this; if (data == null) { data = $hash2([], {}) } return self.$instance().$update_panel(panel_id, data); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.panels = $hash2([], {}); }; def.$add_panel = function(panel_id, template_id, model_id, init_data) { var self = this, panel_rec = nil; panel_rec = $hash2(["html", "model_id", "template_id"], {"html": $scope.get('Html').$new(), "model_id": model_id, "template_id": template_id}); self.$panels()['$[]='](panel_id.$to_sym(), panel_rec); return self.$update_panel(panel_id, init_data); }; def.$find_panel_rec = function(panel_id) { var self = this; return self.$panels()['$[]'](panel_id.$to_sym()); }; def.$get_panel = function(panel_id) { var $a, self = this, panel_rec = nil; panel_rec = self.$find_panel_rec(panel_id); if ((($a = panel_rec['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return $scope.get('Html').$new() } else { return panel_rec['$[]']("html") }; }; return (def.$update_panel = function(panel_id, data) { var $a, self = this, panel_rec = nil, html = nil; panel_rec = self.$find_panel_rec(panel_id); if ((($a = panel_rec['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { html = panel_rec['$[]']("html"); return html.$set_value($scope.get('TemplateManager').$render(panel_rec['$[]']("template_id"), data)); }; }, nil) && 'update_panel'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["loaders/desktop_loader"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$build', '$instance', '$set_color_palette', '$set_model_configs', '$set_panel_configs', '$set_root', '$set_stylesheet_configs', '$set_template_configs', '$set_theme', '$set_viewport_class', '$build_css', '$build_managers', '$build_stylesheets', '$build_viewport', '$apply_rules', '$build_models', '$build_templates', '$build_panels', '$[]', '$nil?', '$add_model', '$each', '$build_model_from_config', '$model_configs', '$add_panel', '$build_panel_from_config', '$panel_configs', '$add_rule', '$build_stylesheet_from_config', '$stylesheet_configs', '$add_template', '$build_template_from_config', '$template_configs', '$viewport_class', '$add', '$root', '$widget', '$Native', '$set_dynamic_theme', '$update']); self.$require("native"); self.$require("singleton"); self.$require("managers/color_manager"); self.$require("managers/css_manager"); self.$require("managers/html_manager"); self.$require("managers/model_manager"); self.$require("managers/template_manager"); self.$require("managers/theme_manager"); self.$require("qx/ui/style_sheet"); return (function($base, $super) { function $DesktopLoader(){}; var self = $DesktopLoader = $klass($base, $super, 'DesktopLoader', $DesktopLoader); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("model_configs"); self.$attr_reader("panel_configs"); self.$attr_reader("root"); self.$attr_reader("stylesheet_configs"); self.$attr_reader("template_configs"); self.$attr_reader("viewport_class"); Opal.defs(self, '$build', function() { var self = this; return self.$instance().$build(); }); Opal.defs(self, '$set_color_palette', function(palette_name) { var self = this; return self.$instance().$set_color_palette(palette_name); }); Opal.defs(self, '$set_model_configs', function(cfgs) { var self = this; return self.$instance().$set_model_configs(cfgs); }); Opal.defs(self, '$set_panel_configs', function(cfgs) { var self = this; return self.$instance().$set_panel_configs(cfgs); }); Opal.defs(self, '$set_root', function(root) { var self = this; return self.$instance().$set_root(root); }); Opal.defs(self, '$set_stylesheet_configs', function(cfgs) { var self = this; return self.$instance().$set_stylesheet_configs(cfgs); }); Opal.defs(self, '$set_template_configs', function(cfgs) { var self = this; return self.$instance().$set_template_configs(cfgs); }); Opal.defs(self, '$set_theme', function(theme_name) { var self = this; return self.$instance().$set_theme(theme_name); }); Opal.defs(self, '$set_viewport_class', function(cls) { var self = this; return self.$instance().$set_viewport_class(cls); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.$set_theme("default"); self.$set_color_palette("default"); self.$set_model_configs([]); self.$set_panel_configs([]); self.$set_stylesheet_configs([]); return self.$set_template_configs([]); }; def.$build = function() { var self = this; self.$build_css(); self.$build_managers(); self.$build_stylesheets(); return self.$build_viewport(); }; def.$build_css = function() { var self = this; return $scope.get('CssManager').$apply_rules(); }; def.$build_managers = function() { var self = this; self.$build_models(); self.$build_templates(); return self.$build_panels(); }; def.$build_model_from_config = function(cfg) { var $a, $b, self = this, name = nil, model_class = nil; name = cfg['$[]']("name"); model_class = cfg['$[]']("model_class"); if ((($a = ((($b = name['$nil?']()) !== false && $b !== nil) ? $b : model_class['$nil?']())) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return $scope.get('ModelManager').$add_model(name, model_class) }; }; def.$build_models = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self.$model_configs()).$each, $a.$$p = (TMP_2 = function(cfg){var self = TMP_2.$$s || this; if (cfg == null) cfg = nil; return self.$build_model_from_config(cfg)}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$build_panel_from_config = function(cfg) { var $a, $b, self = this, name = nil, template = nil, model = nil, init_data = nil; name = cfg['$[]']("name"); template = cfg['$[]']("template"); model = cfg['$[]']("model"); init_data = ((($a = cfg['$[]']("init_data")) !== false && $a !== nil) ? $a : $hash2([], {})); if ((($a = ((($b = name['$nil?']()) !== false && $b !== nil) ? $b : template['$nil?']())) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return $scope.get('HtmlManager').$add_panel(name, template, model, init_data) }; }; def.$build_panels = function() { var $a, $b, TMP_3, self = this; return ($a = ($b = self.$panel_configs()).$each, $a.$$p = (TMP_3 = function(cfg){var self = TMP_3.$$s || this; if (cfg == null) cfg = nil; return self.$build_panel_from_config(cfg)}, TMP_3.$$s = self, TMP_3), $a).call($b); }; def.$build_stylesheet_from_config = function(cfg) { var self = this, selector = nil, css = nil; selector = cfg['$[]']("selector"); css = cfg['$[]']("css"); return $scope.get('StyleSheet').$add_rule(selector, css); }; def.$build_stylesheets = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = self.$stylesheet_configs()).$each, $a.$$p = (TMP_4 = function(cfg){var self = TMP_4.$$s || this; if (cfg == null) cfg = nil; return self.$build_stylesheet_from_config(cfg)}, TMP_4.$$s = self, TMP_4), $a).call($b); }; def.$build_template_from_config = function(cfg) { var $a, self = this, name = nil, model_name = nil; name = cfg['$[]']("name"); model_name = cfg['$[]']("model_name"); if ((($a = name['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return $scope.get('TemplateManager').$add_template(name, model_name) }; }; def.$build_templates = function() { var $a, $b, TMP_5, self = this; return ($a = ($b = self.$template_configs()).$each, $a.$$p = (TMP_5 = function(cfg){var self = TMP_5.$$s || this; if (cfg == null) cfg = nil; return self.$build_template_from_config(cfg)}, TMP_5.$$s = self, TMP_5), $a).call($b); }; def.$build_viewport = function() { var $a, self = this, vp = nil; if ((($a = self.$viewport_class()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { vp = self.$viewport_class().$instance(); return self.$root().$add(vp.$widget(), $hash2(["left", "top", "width", "height"], {"left": 0, "top": 0, "width": "100%", "height": "100%"})); }; }; def.$set_color_palette = function(palette_name) { var self = this; return $scope.get('ColorManager').$set_color_palette(palette_name); }; def.$set_model_configs = function(cfgs) { var self = this; return self.model_configs = cfgs; }; def.$set_panel_configs = function(cfgs) { var self = this; return self.panel_configs = cfgs; }; def.$set_root = function(qx_root) { var self = this; return self.root = self.$Native(qx_root); }; def.$set_stylesheet_configs = function(cfgs) { var self = this; return self.stylesheet_configs = cfgs; }; def.$set_template_configs = function(cfgs) { var self = this; return self.template_configs = cfgs; }; def.$set_theme = function(theme_name) { var self = this; $scope.get('ThemeManager').$set_dynamic_theme(theme_name); return $scope.get('ThemeManager').$update(); }; return (def.$set_viewport_class = function(cls) { var self = this; return self.viewport_class = cls; }, nil) && 'set_viewport_class'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["managers/rules/css_toolbar_separator"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require']); self.$require("managers/rules/css_rule"); return (function($base, $super) { function $CssToolbarSeparator(){}; var self = $CssToolbarSeparator = $klass($base, $super, 'CssToolbarSeparator', $CssToolbarSeparator); var def = self.$$proto, $scope = self.$$scope; def.$css_base_parts = function() { var self = this; return ["border-right-width: 1px", "border-right-style: solid", "border-left-width: 1px", "border-left-style: solid", "-webkit-background-clip: padding-box", "background-clip: padding-box"]; }; def.$css_color_templates = function() { var self = this; return $hash2(["border_left_color", "border_right_color"], {"border_left_color": "border-left-color: %s", "border_right_color": "border-right-color: %s"}); }; def.$name = function() { var self = this; return "toolbar_separator"; }; return (def.$selector = function() { var self = this; return ".qx-toolbar-separator"; }, nil) && 'selector'; })(self, $scope.get('CssRule')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/v_layout"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$nil?', '$initial_spacing', '$setSpacing', '$widget', '$new_ui_layout_vbox']); self.$require("qx/ui/widget"); return (function($base, $super) { function $VLayout(){}; var self = $VLayout = $klass($base, $super, 'VLayout', $VLayout); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(spacing) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil, sp = nil; if (spacing == null) { spacing = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); sp = (function() {if ((($a = spacing['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$initial_spacing() } else { return spacing }; return nil; })(); return self.$widget().$setSpacing(sp); }; def.$initial_spacing = function() { var self = this; return 0; }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_layout_vbox(); }, nil) && 'initial_widget'; })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/container"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$initial_layout', '$nil?', '$set_layout', '$set_padding', '$initial_padding', '$add_items', '$add', '$new', '$new_ui_container_composite', '$setLayout', '$widget', '$as_qx', '$setPadding']); self.$require("core/qx_wrap"); self.$require("core/util"); self.$require("qx/ui/component"); self.$require("qx/ui/v_layout"); return (function($base, $super) { function $Container(){}; var self = $Container = $klass($base, $super, 'Container', $Container); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.initial_layout = nil; self.$include($scope.get('Util')); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.initial_layout = self.$initial_layout(); if ((($a = self.initial_layout['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$set_layout(self.initial_layout) }; self.$set_padding(self.$initial_padding()); return self.$add_items(); }; def.$add_fill = function(item) { var self = this; return self.$add(item, $hash2(["flex"], {"flex": 1})); }; def.$add_items = function() { var self = this; return nil; }; def.$initial_layout = function() { var self = this; return $scope.get('VLayout').$new(); }; def.$initial_padding = function() { var self = this; return 0; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_container_composite(); }; def.$set_layout = function(aLayout) { var self = this; return self.$widget().$setLayout(self.$as_qx(aLayout)); }; return (def.$set_padding = function(n) { var self = this; return self.$widget().$setPadding(n, n, n, n); }, nil) && 'set_padding'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/h_layout"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$nil?', '$initial_spacing', '$setSpacing', '$widget', '$new_ui_layout_hbox']); self.$require("qx/ui/widget"); return (function($base, $super) { function $HLayout(){}; var self = $HLayout = $klass($base, $super, 'HLayout', $HLayout); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(spacing) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil, sp = nil; if (spacing == null) { spacing = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); sp = (function() {if ((($a = spacing['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$initial_spacing() } else { return spacing }; return nil; })(); return self.$widget().$setSpacing(sp); }; def.$initial_spacing = function() { var self = this; return 0; }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_layout_hbox(); }, nil) && 'initial_widget'; })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_button"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setLabel', '$widget', '$nil?', '$on_click', '$new_ui_form_button', '$add_listener']); self.$require("core/qx_wrap"); self.$require("qx/ui/component"); return (function($base, $super) { function $FormButton(){}; var self = $FormButton = $klass($base, $super, 'FormButton', $FormButton); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(label, fn) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (fn == null) { fn = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setLabel(label); if ((($a = fn['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$on_click(fn) }; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_form_button(); }; return (def.$on_click = function(fn) { var self = this; return self.$add_listener("execute", fn); }, nil) && 'on_click'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/button_bar"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$add', '$new']); self.$require("core/util"); self.$require("qx/ui/container"); self.$require("qx/ui/h_layout"); self.$require("widgets/form_button"); return (function($base, $super) { function $ButtonBar(){}; var self = $ButtonBar = $klass($base, $super, 'ButtonBar', $ButtonBar); var def = self.$$proto, $scope = self.$$scope; def.$add_button = function(label, fn) { var self = this; if (fn == null) { fn = nil } return self.$add($scope.get('FormButton').$new(label, fn)); }; def.$initial_classes = function() { var self = this; return ["buttonbar"]; }; def.$initial_layout = function() { var self = this; return $scope.get('HLayout').$new(5); }; return (def.$initial_padding = function() { var self = this; return 5; }, nil) && 'initial_padding'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/crud_buttons"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$add_crud_buttons', '$add_crud_refresh', '$add_crud_update', '$add_crud_new', '$add_crud_delete', '$[]', '$call', '$nil_handler', '$add_button']); self.$require("core/util"); self.$require("widgets/button_bar"); return (function($base, $super) { function $CrudButtons(){}; var self = $CrudButtons = $klass($base, $super, 'CrudButtons', $CrudButtons); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.handlers = nil; self.$include($scope.get('Util')); def.$initialize = TMP_1 = function(handlers) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (handlers == null) { handlers = $hash2([], {}) } TMP_1.$$p = null; self.handlers = handlers; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); return self.$add_crud_buttons(); }; def.$add_crud_buttons = function() { var self = this; self.$add_crud_refresh(); self.$add_crud_update(); self.$add_crud_new(); return self.$add_crud_delete(); }; def.$add_crud_delete = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("delete")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("delete") } else { return self.$nil_handler().$call("Delete") }; return nil; })(); return self.$add_button("Delete", fn); }; def.$add_crud_new = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("create")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("create") } else { return self.$nil_handler().$call("New") }; return nil; })(); return self.$add_button("New", fn); }; def.$add_crud_refresh = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("refresh")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("refresh") } else { return self.$nil_handler().$call("Refresh") }; return nil; })(); return self.$add_button("Refresh", fn); }; return (def.$add_crud_update = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("update")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("update") } else { return self.$nil_handler().$call("Update") }; return nil; })(); return self.$add_button("Update", fn); }, nil) && 'add_crud_update'; })(self, $scope.get('ButtonBar')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/basic_layout"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_layout_basic']); self.$require("core/qx_wrap"); self.$require("qx/ui/widget"); return (function($base, $super) { function $BasicLayout(){}; var self = $BasicLayout = $klass($base, $super, 'BasicLayout', $BasicLayout); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_layout_basic(); }, nil) && 'initial_widget' })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_text_field"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$getValue', '$widget', '$new_ui_form_text_field', '$setValue']); self.$require("qx/ui/component"); return (function($base, $super) { function $FormTextField(){}; var self = $FormTextField = $klass($base, $super, 'FormTextField', $FormTextField); var def = self.$$proto, $scope = self.$$scope; def.$get_value = function() { var self = this; return self.$widget().$getValue(); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_form_text_field(); }; return (def.$set_value = function(s) { var self = this; return self.$widget().$setValue(s); }, nil) && 'set_value'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_form"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$add', '$widget', '$as_native', '$new', '$map_items', '$each', '$[]', '$item_map', '$[]=', '$keys', '$new_ui_form_form', '$reset', '$key?', '$id_sym', '$text_from_id', '$add_text_field', '$to_s']); self.$require("native"); self.$require("core/qx_wrap"); self.$require("core/util"); self.$require("qx/ui/component"); self.$require("widgets/form_text_field"); return (function($base, $super) { function $FormForm(){}; var self = $FormForm = $klass($base, $super, 'FormForm', $FormForm); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Util')); self.$attr_reader("item_map"); def.$add = function(item, label, name, validator) { var self = this; if (validator == null) { validator = nil } return self.$widget().$add(self.$as_native(item), label, validator, name); }; def.$add_text_field = function(label, name) { var self = this, field = nil; field = $scope.get('FormTextField').$new(); return self.$add(field, label, name); }; def.$get_values = function() { var $a, $b, TMP_1, self = this, values = nil; self.$map_items(); values = $hash2([], {}); ($a = ($b = self.$item_map().$keys()).$each, $a.$$p = (TMP_1 = function(k){var self = TMP_1.$$s || this, field = nil; if (k == null) k = nil; field = self.$item_map()['$[]'](k); return values['$[]='](k, field.native.getValue());}, TMP_1.$$s = self, TMP_1), $a).call($b); return values; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_form_form(); }; def.$map_items = function() { var self = this; return self.item_map = $scope.get('Hash').$new(self.$widget().native.getItems()); }; def.$reset = function() { var self = this; return self.$widget().$reset(); }; def.$set_fields_from_config = function(fields) { var $a, $b, TMP_2, self = this; ($a = ($b = fields).$each, $a.$$p = (TMP_2 = function(field){var self = TMP_2.$$s || this, $a, label = nil, name = nil; if (field == null) field = nil; label = (function() {if ((($a = (field['$key?']("text"))) !== nil && (!$a.$$is_boolean || $a == true))) { return field['$[]']("text") } else { return "--" }; return nil; })(); name = (function() {if ((($a = (field['$key?']("id"))) !== nil && (!$a.$$is_boolean || $a == true))) { return field['$[]']("id") } else { return self.$id_sym(label) }; return nil; })(); if ((($a = field['$key?']("text")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { label = self.$text_from_id(name) }; return self.$add_text_field(label, name);}, TMP_2.$$s = self, TMP_2), $a).call($b); return self.$map_items(); }; return (def.$set_values = function(record) { var $a, $b, TMP_3, self = this; return ($a = ($b = record).$each, $a.$$p = (TMP_3 = function(k, v){var self = TMP_3.$$s || this, $a, field = nil; if (k == null) k = nil;if (v == null) v = nil; if ((($a = self.$item_map()['$key?'](k)) !== nil && (!$a.$$is_boolean || $a == true))) { field = self.$item_map()['$[]'](k); return field.native.setValue(v.$to_s()); } else { return nil }}, TMP_3.$$s = self, TMP_3), $a).call($b); }, nil) && 'set_values'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_renderer_single"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$as_qx', '$new_ui_form_renderer_single', '$as_native', '$adjust_layout', '$Native', '$getLayout', '$setColumnFlex']); self.$require("native"); self.$require("core/qx_wrap"); self.$require("core/util"); self.$require("qx/ui/widget"); return (function($base, $super) { function $FormRendererSingle(){}; var self = $FormRendererSingle = $klass($base, $super, 'FormRendererSingle', $FormRendererSingle); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Util')); def.$initialize = TMP_1 = function(form) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.widget = self.$as_qx($scope.get('QxWrap').$new_ui_form_renderer_single(self.$as_native(form))); return self.$adjust_layout(); }; def.$adjust_layout = function() { var self = this, layout = nil; layout = self.$Native(self.$getLayout()); layout.$setColumnFlex(0, nil); return layout.$setColumnFlex(1, 1); }; return (def.$initial_widget = function() { var self = this; return nil; }, nil) && 'initial_widget'; })(self, $scope.get('Widget')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/grid"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_accessor', '$attr_reader', '$include', '$setStatusBarVisible', '$widget', '$add_selection_change_listener', '$Native', '$addListener', '$lambda', '$handle_selection_change', '$getData', '$first', '$nil?', '$reset_selection', '$show_selection', '$new_lib_ui_grid_grid', '$get_data', '$find_index', '$==', '$select_index', '$setColumnFlex', '$setColumnWidth', '$setColumns', '$each', '$key?', '$[]', '$id_sym', '$text_from_id', '$<<', '$[]=', '$set_columns', '$each_with_index', '$set_column_width', '$set_column_flex', '$setDataAsMapArray', '$set_data_as_map_array', '$data', '$store', '$select_id', '$add_data_consumer', '$selection_handler', '$call']); self.$require("core/util"); self.$require("qx/ui/component"); return (function($base, $super) { function $Grid(){}; var self = $Grid = $klass($base, $super, 'Grid', $Grid); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.selection_model = nil; self.$attr_accessor("selection_handler"); self.$attr_reader("selection_model"); self.$attr_reader("store"); self.$include($scope.get('Util')); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.selection_handler = nil; self.store = nil; return self.$widget().$setStatusBarVisible(false); }; def.$add_listeners = function() { var self = this; return self.$add_selection_change_listener(); }; def.$add_selection_change_listener = function() { var $a, $b, TMP_2, self = this; self.selection_model = self.$Native(self.$widget().native.$$user_selectionModel); return self.selection_model.$addListener("changeSelection", ($a = ($b = self).$lambda, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; return self.$handle_selection_change()}, TMP_2.$$s = self, TMP_2), $a).call($b)); }; def.$get_data = function() { var self = this; return self.$widget().$getData(); }; def.$handle_selection_change = function() { var $a, self = this, ranges = nil, range = nil, minIndex = nil; ranges = self.$Native(self.selection_model.native.getSelectedRanges()); range = self.$Native(ranges.$first()); if ((($a = range['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$reset_selection() } else { minIndex = range.native.minIndex; return self.$show_selection(minIndex); }; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_lib_ui_grid_grid(); }; def.$reset_selection = function() { var self = this; return self.selection_model.native.resetSelection(); }; def.$select_id = function(id) { var $a, $b, TMP_3, self = this, data = nil, n = nil; self.$reset_selection(); data = self.$get_data(); n = ($a = ($b = data).$find_index, $a.$$p = (TMP_3 = function(x){var self = TMP_3.$$s || this; if (x == null) x = nil; return x.$first()['$=='](id)}, TMP_3.$$s = self, TMP_3), $a).call($b); if ((($a = n['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$select_index(n) }; }; def.$select_index = function(n) { var self = this; return self.selection_model.native.setSelectionInterval(n, n); }; def.$set_column_flex = function(col, flex) { var self = this; return self.$widget().$setColumnFlex(col, flex); }; def.$set_column_width = function(col, width) { var self = this; return self.$widget().$setColumnWidth(col, width); }; def.$set_columns = function(column_titles, column_ids) { var self = this; return self.$widget().$setColumns(column_titles, column_ids); }; def.$set_columns_from_config = function(cols) { var $a, $b, TMP_4, $c, TMP_5, self = this, col_texts = nil, col_ids = nil, widths = nil; col_texts = []; col_ids = []; widths = []; ($a = ($b = cols).$each, $a.$$p = (TMP_4 = function(col){var self = TMP_4.$$s || this, $a, text = nil, id = nil, width = nil; if (col == null) col = nil; text = (function() {if ((($a = (col['$key?']("text"))) !== nil && (!$a.$$is_boolean || $a == true))) { return col['$[]']("text") } else { return "--" }; return nil; })(); id = (function() {if ((($a = (col['$key?']("id"))) !== nil && (!$a.$$is_boolean || $a == true))) { return col['$[]']("id") } else { return self.$id_sym(text) }; return nil; })(); if ((($a = col['$key?']("text")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { text = self.$text_from_id(id) }; col_texts['$<<'](text); col_ids['$<<'](id); width = $hash2([], {}); if ((($a = col['$key?']("width")) !== nil && (!$a.$$is_boolean || $a == true))) { width['$[]=']("width", col['$[]']("width"))}; if ((($a = col['$key?']("flex")) !== nil && (!$a.$$is_boolean || $a == true))) { width['$[]=']("flex", col['$[]']("flex"))}; return widths['$<<'](width);}, TMP_4.$$s = self, TMP_4), $a).call($b); self.$set_columns(col_texts, col_ids); return ($a = ($c = widths).$each_with_index, $a.$$p = (TMP_5 = function(width, i){var self = TMP_5.$$s || this, $a; if (width == null) width = nil;if (i == null) i = nil; if ((($a = (width['$key?']("width"))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$set_column_width(i, width['$[]']("width")) } else if ((($a = (width['$key?']("flex"))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$set_column_flex(i, width['$[]']("flex")) } else { return self.$set_column_flex(i, 1) }}, TMP_5.$$s = self, TMP_5), $a).call($c); }; def.$set_data_as_map_array = function(map_array) { var self = this; return self.$widget().$setDataAsMapArray(map_array); }; def.$store_changed = function() { var self = this; return self.$set_data_as_map_array(self.$store().$data()); }; def.$store_changed_id = function(id) { var self = this; return self.$select_id(id); }; def.$set_store = function(aStore) { var self = this; self.store = aStore; return self.$store().$add_data_consumer(self); }; return (def.$show_selection = function(n) { var $a, self = this; if ((($a = self.$selection_handler()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$selection_handler().$call(n) }; }, nil) && 'show_selection'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/split_pane"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$nil?', '$set_orientation', '$add', '$widget', '$as_qx', '$new_ui_splitpane_pane', '$setOrientation']); self.$require("core/util"); self.$require("qx/ui/component"); return (function($base, $super) { function $SplitPane(){}; var self = $SplitPane = $klass($base, $super, 'SplitPane', $SplitPane); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Util')); def.$initialize = TMP_1 = function(orientation) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (orientation == null) { orientation = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); if ((($a = orientation['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$set_orientation(orientation) }; }; def.$add = function(aWidget, flex) { var self = this; if (flex == null) { flex = 1 } return self.$widget().$add(self.$as_qx(aWidget), flex); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_splitpane_pane(); }; return (def.$set_orientation = function(anOrientation) { var self = this; return self.$widget().$setOrientation(anOrientation); }, nil) && 'set_orientation'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/grid_form"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$nil?', '$make_grid', '$make_form_container', '$add', '$grid', '$form_container', '$new', '$set_fields_from_config', '$form', '$set_padding', '$make_form', '$set_columns_from_config', '$selection_handler=', '$lambda', '$selection_changed', '$reset', '$reset_selection', '$select_id', '$[]', '$get_data', '$show_record', '$first', '$add_data_consumer', '$set_store', '$get_data_record', '$store', '$set_values', '$selected_record', '$reset_form', '$get_values']); self.$require("qx/ui/basic_layout"); self.$require("qx/ui/container"); self.$require("widgets/form_form"); self.$require("widgets/form_renderer_single"); self.$require("widgets/form_form"); self.$require("widgets/form_renderer_single"); self.$require("widgets/grid"); self.$require("widgets/split_pane"); return (function($base, $super) { function $GridForm(){}; var self = $GridForm = $klass($base, $super, 'GridForm', $GridForm); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.form_config = def.grid_config = nil; self.$attr_reader("form"); self.$attr_reader("form_container"); self.$attr_reader("grid"); self.$attr_reader("selected_record"); self.$attr_reader("store"); def.$initialize = TMP_1 = function(data_config, grid_config, form_config) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (grid_config == null) { grid_config = nil } if (form_config == null) { form_config = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.data_config = data_config; self.grid_config = (function() {if ((($a = grid_config['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return data_config } else { return grid_config }; return nil; })(); self.form_config = (function() {if ((($a = form_config['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return data_config } else { return form_config }; return nil; })(); self.selected_record = nil; self.store = nil; self.$make_grid(); self.$make_form_container(); self.$add(self.$grid()); return self.$add(self.$form_container()); }; def.$make_form = function() { var self = this; self.form = $scope.get('FormForm').$new(); return self.$form().$set_fields_from_config(self.form_config); }; def.$make_form_container = function() { var self = this, form_container = nil, renderer = nil; form_container = $scope.get('Container').$new(); form_container.$set_padding(10); self.$make_form(); renderer = $scope.get('FormRendererSingle').$new(self.$form()); form_container.$add(renderer, $hash2(["flex"], {"flex": 1})); return self.form_container = form_container; }; def.$make_grid = function() { var $a, $b, $c, $d, TMP_2, self = this; self.grid = $scope.get('Grid').$new(); self.$grid().$set_columns_from_config(self.grid_config); return (($a = [($c = ($d = self).$lambda, $c.$$p = (TMP_2 = function(n){var self = TMP_2.$$s || this; if (n == null) n = nil; return self.$selection_changed(n)}, TMP_2.$$s = self, TMP_2), $c).call($d)]), $b = self.$grid(), $b['$selection_handler='].apply($b, $a), $a[$a.length-1]); }; def.$reset_form = function() { var self = this; return self.$form().$reset(); }; def.$reset_selection = function() { var self = this; return self.$grid().$reset_selection(); }; def.$select_grid_id = function(id) { var self = this; return self.$grid().$select_id(id); }; def.$selection_changed = function(n) { var self = this, rec = nil; rec = self.$grid().$get_data()['$[]'](n); return self.$show_record(rec.$first()); }; def.$set_store = function(store) { var self = this; self.store = store; store.$add_data_consumer(self); return self.$grid().$set_store(store); }; def.$show_record = function(rec_id) { var self = this; self.selected_record = self.$store().$get_data_record(rec_id); return self.$form().$set_values(self.$selected_record()); }; def.$store_changed = function() { var self = this; self.$reset_form(); return self.$reset_selection(); }; def.$store_changed_id = function(id) { var self = this; return nil; }; return (def.$update_selected_record = function() { var self = this; return self.selected_record = self.$form().$get_values(); }, nil) && 'update_selected_record'; })(self, $scope.get('SplitPane')); }; /* Generated by Opal 0.8.1 */ Opal.modules["panels/crud_panel"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$find_model', '$api_resource_name', '$model', '$data_config', '$grid_config', '$find_store', '$set_store', '$grid_form', '$store', '$initial_button_bar', '$nil?', '$bbar', '$add', '$initial_create_handler', '$initial_delete_handler', '$initial_refresh_handler', '$initial_update_handler', '$add_grid_form', '$add_button_bar', '$new', '$initial_handler_functions', '$create_handler', '$delete_handler', '$refresh_handler', '$update_handler', '$lambda', '$data_create', '$selected_record', '$data_delete', '$[]', '$data_load', '$update_selected_record', '$data_update']); self.$require("core/util"); self.$require("managers/model_manager"); self.$require("managers/store_manager"); self.$require("qx/io/server"); self.$require("qx/ui/container"); self.$require("widgets/crud_buttons"); self.$require("widgets/grid_form"); return (function($base, $super) { function $CrudPanel(){}; var self = $CrudPanel = $klass($base, $super, 'CrudPanel', $CrudPanel); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2; self.$include($scope.get('Util')); self.$attr_reader("api_resource_name"); self.$attr_reader("bbar"); self.$attr_reader("create_handler"); self.$attr_reader("data_config"); self.$attr_reader("delete_handler"); self.$attr_reader("grid_config"); self.$attr_reader("grid_form"); self.$attr_reader("model"); self.$attr_reader("refresh_handler"); self.$attr_reader("store"); self.$attr_reader("update_handler"); def.$initialize = TMP_1 = function(model_name) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (model_name == null) { model_name = "dummy" } TMP_1.$$p = null; self.model = $scope.get('ModelManager').$find_model(model_name); self.api_resource_name = self.$model().$api_resource_name(); self.data_config = self.$model().$data_config(); self.grid_config = self.$model().$grid_config(); self.store = $scope.get('StoreManager').$find_store(self.$api_resource_name()); Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); return self.$grid_form().$set_store(self.$store()); }; def.$add_button_bar = function() { var $a, self = this; self.bbar = self.$initial_button_bar(); if ((($a = self.$bbar()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$add(self.$bbar()) }; }; def.$add_handlers = TMP_2 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_2.$$p, $yield = $iter || nil; TMP_2.$$p = null; Opal.find_super_dispatcher(self, 'add_handlers', TMP_2, $iter).apply(self, $zuper); self.create_handler = self.$initial_create_handler(); self.delete_handler = self.$initial_delete_handler(); self.refresh_handler = self.$initial_refresh_handler(); return self.update_handler = self.$initial_update_handler(); }; def.$add_items = function() { var self = this; self.$add_grid_form(); return self.$add_button_bar(); }; def.$add_grid_form = function() { var self = this; self.grid_form = $scope.get('GridForm').$new(self.$data_config(), self.$grid_config()); return self.$add(self.$grid_form(), $hash2(["flex"], {"flex": 1})); }; def.$initial_button_bar = function() { var self = this; return $scope.get('CrudButtons').$new(self.$initial_handler_functions()); }; def.$initial_handler_functions = function() { var self = this; return $hash2(["create", "delete", "refresh", "update"], {"create": self.$create_handler(), "delete": self.$delete_handler(), "refresh": self.$refresh_handler(), "update": self.$update_handler()}); }; def.$initial_create_handler = function() { var $a, $b, TMP_3, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; return self.$store().$data_create()}, TMP_3.$$s = self, TMP_3), $a).call($b); }; def.$initial_delete_handler = function() {try { var $a, $b, TMP_4, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_4 = function(){var self = TMP_4.$$s || this, $a, selected_record = nil; selected_record = self.$grid_form().$selected_record(); if ((($a = selected_record['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { Opal.ret(nil)}; return self.$store().$data_delete(selected_record['$[]']("id"));}, TMP_4.$$s = self, TMP_4), $a).call($b); } catch ($returner) { if ($returner === Opal.returner) { return $returner.$v } throw $returner; } }; def.$initial_refresh_handler = function() { var $a, $b, TMP_5, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_5 = function(){var self = TMP_5.$$s || this; return self.$store().$data_load()}, TMP_5.$$s = self, TMP_5), $a).call($b); }; def.$initial_update_handler = function() {try { var $a, $b, TMP_6, self = this; return ($a = ($b = self).$lambda, $a.$$p = (TMP_6 = function(){var self = TMP_6.$$s || this, $a, selected_record = nil; self.$grid_form().$update_selected_record(); selected_record = self.$grid_form().$selected_record(); if ((($a = selected_record['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { Opal.ret(nil)}; return self.$store().$data_update(selected_record);}, TMP_6.$$s = self, TMP_6), $a).call($b); } catch ($returner) { if ($returner === Opal.returner) { return $returner.$v } throw $returner; } }; return (def.$model_name = function() { var self = this; return "dummy"; }, nil) && 'model_name'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/atom"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$include', '$setIconPosition', '$widget', '$setRich', '$nil?', '$on_click', '$%', '$resolve_color', '$label', '$new_ui_basic_atom', '$icon']); self.$require("managers/color_manager"); self.$require("qx/ui/component"); return (function($base, $super) { function $Atom(){}; var self = $Atom = $klass($base, $super, 'Atom', $Atom); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("icon"); self.$attr_reader("label"); self.$include($scope.get('Util')); def.$initialize = TMP_1 = function(label, icon, fn) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (fn == null) { fn = nil } TMP_1.$$p = null; self.label = label; self.icon = icon; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setIconPosition("top"); self.$widget().$setRich(true); if ((($a = fn['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$on_click(fn) }; }; return (def.$initial_widget = function() { var self = this, label_html = nil; label_html = "%s"['$%']([$scope.get('ColorManager').$resolve_color("desktop_icon"), self.$label()]); return $scope.get('QxWrap').$new_ui_basic_atom(label_html, self.$icon()); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["panels/desktop_panel"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$set_background_color', '$resolve_color', '$each', '$add_icon', '$[]', '$icons', '$lambda', '$handle_action', '$instance', '$controller_class', '$new', '$add', '$top']); self.$require("core/icons"); self.$require("qx/ui/basic_layout"); self.$require("qx/ui/container"); self.$require("widgets/atom"); return (function($base, $super) { function $DesktopPanel(){}; var self = $DesktopPanel = $klass($base, $super, 'DesktopPanel', $DesktopPanel); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Icons')); self.$attr_reader("controller_class"); self.$attr_reader("icons"); self.$attr_reader("left"); self.$attr_reader("top"); def.$initialize = TMP_1 = function(cls, icon_array) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (icon_array == null) { icon_array = [] } TMP_1.$$p = null; self.controller_class = cls; self.icons = icon_array; self.top = 10; self.left = 10; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); return self.$set_background_color($scope.get('ColorManager').$resolve_color("desktop_background")); }; def.$add_items = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self.$icons()).$each, $a.$$p = (TMP_2 = function(icon){var self = TMP_2.$$s || this; if (icon == null) icon = nil; return self.$add_icon(icon['$[]']("label"), icon['$[]']("action"))}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$add_icon = function(label, action) { var $a, $b, TMP_3, self = this, fn = nil, atom = nil; fn = ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; return self.$controller_class().$instance().$handle_action(action)}, TMP_3.$$s = self, TMP_3), $a).call($b); atom = $scope.get('Atom').$new(label, $scope.get('WINDOW_ICON'), fn); self.$add(atom, $hash2(["top", "left"], {"top": self.$top(), "left": 10})); return self.top = $rb_plus(self.$top(), 100); }; return (def.$initial_layout = function() { var self = this; return $scope.get('BasicLayout').$new(); }, nil) && 'initial_layout'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["panels/nav_panel"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$include', '$setSpacing', '$getLayout', '$widget', '$setPadding', '$set_background_color', '$resolve_color', '$[]', '$config', '$each', '$new', '$lambda', '$nil?', '$controller', '$handle_action', '$add', '$add_buttons']); self.$require("core/dimensions"); self.$require("qx/ui/container"); self.$require("widgets/form_button"); return (function($base, $super) { function $NavPanel(){}; var self = $NavPanel = $klass($base, $super, 'NavPanel', $NavPanel); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("config"); self.$attr_reader("controller"); self.$include($scope.get('Dimensions')); def.$initialize = TMP_1 = function(config, controller) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (controller == null) { controller = nil } TMP_1.$$p = null; self.config = config; self.controller = controller; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$getLayout().$setSpacing(10); self.$widget().$setPadding(35, 15); return self.$set_background_color($scope.get('ColorManager').$resolve_color("navpanel_background")); }; def.$add_buttons = function() { var $a, $b, TMP_2, self = this, buttons = nil; buttons = self.$config()['$[]']("buttons"); return ($a = ($b = buttons).$each, $a.$$p = (TMP_2 = function(button){var self = TMP_2.$$s || this, $a, $b, TMP_3, text = nil, action = nil, arg = nil, btn = nil; if (button == null) button = nil; text = button['$[]']("text"); action = button['$[]']("action"); arg = button['$[]']("arg"); btn = $scope.get('FormButton').$new(text, ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this, $a; if ((($a = self.$controller()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$controller().$handle_action(action, arg) }}, TMP_3.$$s = self, TMP_3), $a).call($b)); return self.$add(btn);}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$add_items = function() { var self = this; return self.$add_buttons(); }; def.$initial_classes = function() { var self = this; return ["navpanel"]; }; return (def.$initial_width = function() { var self = this; return $scope.get('NAV_PANEL_WIDTH'); }, nil) && 'initial_width'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/scroll"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_container_scroll']); self.$require("core/qx_wrap"); self.$require("qx/ui/component"); return (function($base, $super) { function $Scroll(){}; var self = $Scroll = $klass($base, $super, 'Scroll', $Scroll); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(aComponent) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; return Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_container_scroll(); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/stack_container"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$[]=', '$content_map', '$to_sym', '$add', '$new_ui_container_stack', '$[]', '$nil?', '$setSelection', '$as_qx']); self.$require("core/qx_wrap"); self.$require("core/util"); self.$require("qx/ui/container"); self.$require("qx/ui/v_layout"); return (function($base, $super) { function $StackContainer(){}; var self = $StackContainer = $klass($base, $super, 'StackContainer', $StackContainer); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("content_map"); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.content_map = $hash2([], {}); }; def.$add_item = function(tag, item) { var self = this; self.$content_map()['$[]='](tag.$to_sym(), item); return self.$add(item); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_container_stack(); }; return (def.$set_selection = function(tag) { var $a, self = this, item = nil; item = self.$content_map()['$[]'](tag.$to_sym()); if ((($a = item['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$setSelection([self.$as_qx(item)]) }; }, nil) && 'set_selection'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["qx/ui/window"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$add_button_bar', '$add_listener_appear', '$set_caption', '$initial_caption', '$set_content_padding', '$initial_content_padding', '$is_centered?', '$move_to', '$initial_x', '$initial_y', '$show', '$initial_button_bar', '$nil?', '$bbar', '$add', '$center', '$widget', '$new_ui_window_window', '$moveTo', '$setCaption', '$setContentPadding']); self.$require("core/qx_wrap"); self.$require("qx/ui/container"); return (function($base, $super) { function $Window(){}; var self = $Window = $klass($base, $super, 'Window', $Window); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("bbar"); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.$add_button_bar(); self.$add_listener_appear(); self.$set_caption(self.$initial_caption()); self.$set_content_padding(self.$initial_content_padding()); if ((($a = self['$is_centered?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$move_to(self.$initial_x(), self.$initial_y()) }; return self.$show(); }; def.$add_button_bar = function() { var $a, self = this; self.bbar = self.$initial_button_bar(); if ((($a = self.$bbar()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$add(self.$bbar()) }; }; def.$center = function() { var self = this; return self.$widget().$center(); }; def.$initial_button_bar = function() { var self = this; return nil; }; def.$initial_caption = function() { var self = this; return "a Window"; }; def.$initial_content_padding = function() { var self = this; return 0; }; def.$initial_handler_functions = function() { var self = this; return $hash2([], {}); }; def.$initial_height = function() { var self = this; return 350; }; def.$initial_width = function() { var self = this; return 475; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_window_window(); }; def.$initial_x = function() { var self = this; return 15; }; def.$initial_y = function() { var self = this; return 55; }; def['$is_centered?'] = function() { var self = this; return false; }; def.$move_to = function(x, y) { var self = this; return self.$widget().$moveTo(x, y); }; def.$on_appear = function() { var $a, self = this; if ((($a = self['$is_centered?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$center() } else { return nil }; }; def.$set_caption = function(aString) { var self = this; return self.$widget().$setCaption(aString); }; def.$set_content_padding = function(n) { var self = this; return self.$widget().$setContentPadding(n); }; return (def.$show = function() { var self = this; return self.$widget().$show(); }, nil) && 'show'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["set"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $module = Opal.module; Opal.add_stubs(['$include', '$new', '$nil?', '$===', '$raise', '$each', '$add', '$call', '$merge', '$class', '$respond_to?', '$subtract', '$dup', '$join', '$to_a', '$equal?', '$instance_of?', '$==', '$instance_variable_get', '$is_a?', '$size', '$all?', '$include?', '$[]=', '$enum_for', '$[]', '$<<', '$replace', '$delete', '$select', '$each_key', '$to_proc', '$empty?', '$eql?', '$instance_eval', '$clear', '$keys']); (function($base, $super) { function $Set(){}; var self = $Set = $klass($base, $super, 'Set', $Set); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_4, TMP_7, TMP_9, TMP_12; def.hash = nil; self.$include($scope.get('Enumerable')); Opal.defs(self, '$[]', function(ary) { var self = this; ary = $slice.call(arguments, 0); return self.$new(ary); }); def.$initialize = TMP_1 = function(enum$) { var $a, $b, TMP_2, self = this, $iter = TMP_1.$$p, block = $iter || nil; if (enum$ == null) { enum$ = nil } TMP_1.$$p = null; self.hash = $scope.get('Hash').$new(); if ((($a = enum$['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; if ((($a = $scope.get('Enumerable')['$==='](enum$)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "value must be enumerable") }; if (block !== false && block !== nil) { return ($a = ($b = enum$).$each, $a.$$p = (TMP_2 = function(item){var self = TMP_2.$$s || this; if (item == null) item = nil; return self.$add(block.$call(item))}, TMP_2.$$s = self, TMP_2), $a).call($b) } else { return self.$merge(enum$) }; }; def.$dup = function() { var self = this, result = nil; result = self.$class().$new(); return result.$merge(self); }; def['$-'] = function(enum$) { var $a, self = this; if ((($a = enum$['$respond_to?']("each")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "value must be enumerable") }; return self.$dup().$subtract(enum$); }; Opal.defn(self, '$difference', def['$-']); def.$inspect = function() { var self = this; return "#"; }; def['$=='] = function(other) { var $a, $b, TMP_3, self = this; if ((($a = self['$equal?'](other)) !== nil && (!$a.$$is_boolean || $a == true))) { return true } else if ((($a = other['$instance_of?'](self.$class())) !== nil && (!$a.$$is_boolean || $a == true))) { return self.hash['$=='](other.$instance_variable_get("@hash")) } else if ((($a = ($b = other['$is_a?']($scope.get('Set')), $b !== false && $b !== nil ?self.$size()['$=='](other.$size()) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($b = other)['$all?'], $a.$$p = (TMP_3 = function(o){var self = TMP_3.$$s || this; if (self.hash == null) self.hash = nil; if (o == null) o = nil; return self.hash['$include?'](o)}, TMP_3.$$s = self, TMP_3), $a).call($b) } else { return false }; }; def.$add = function(o) { var self = this; self.hash['$[]='](o, true); return self; }; Opal.defn(self, '$<<', def.$add); def.$classify = TMP_4 = function() { var $a, $b, TMP_5, $c, TMP_6, self = this, $iter = TMP_4.$$p, block = $iter || nil, result = nil; TMP_4.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("classify") }; result = ($a = ($b = $scope.get('Hash')).$new, $a.$$p = (TMP_5 = function(h, k){var self = TMP_5.$$s || this; if (h == null) h = nil;if (k == null) k = nil; return h['$[]='](k, self.$class().$new())}, TMP_5.$$s = self, TMP_5), $a).call($b); ($a = ($c = self).$each, $a.$$p = (TMP_6 = function(item){var self = TMP_6.$$s || this, $a; if (item == null) item = nil; return result['$[]'](((($a = Opal.yield1(block, item)) === $breaker) ? $breaker.$v : $a)).$add(item)}, TMP_6.$$s = self, TMP_6), $a).call($c); return result; }; def['$collect!'] = TMP_7 = function() { var $a, $b, TMP_8, self = this, $iter = TMP_7.$$p, block = $iter || nil, result = nil; TMP_7.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("collect!") }; result = self.$class().$new(); ($a = ($b = self).$each, $a.$$p = (TMP_8 = function(item){var self = TMP_8.$$s || this, $a; if (item == null) item = nil; return result['$<<'](((($a = Opal.yield1(block, item)) === $breaker) ? $breaker.$v : $a))}, TMP_8.$$s = self, TMP_8), $a).call($b); return self.$replace(result); }; Opal.defn(self, '$map!', def['$collect!']); def.$delete = function(o) { var self = this; self.hash.$delete(o); return self; }; def['$delete?'] = function(o) { var $a, self = this; if ((($a = self['$include?'](o)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$delete(o); return self; } else { return nil }; }; def.$delete_if = TMP_9 = function() {try { var $a, $b, TMP_10, $c, $d, TMP_11, self = this, $iter = TMP_9.$$p, $yield = $iter || nil; TMP_9.$$p = null; ((($a = ($yield !== nil)) !== false && $a !== nil) ? $a : Opal.ret(self.$enum_for("delete_if"))); ($a = ($b = ($c = ($d = self).$select, $c.$$p = (TMP_11 = function(o){var self = TMP_11.$$s || this, $a; if (o == null) o = nil; return $a = Opal.yield1($yield, o), $a === $breaker ? $a : $a}, TMP_11.$$s = self, TMP_11), $c).call($d)).$each, $a.$$p = (TMP_10 = function(o){var self = TMP_10.$$s || this; if (self.hash == null) self.hash = nil; if (o == null) o = nil; return self.hash.$delete(o)}, TMP_10.$$s = self, TMP_10), $a).call($b); return self; } catch ($returner) { if ($returner === Opal.returner) { return $returner.$v } throw $returner; } }; def['$add?'] = function(o) { var $a, self = this; if ((($a = self['$include?'](o)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$add(o) }; }; def.$each = TMP_12 = function() { var $a, $b, self = this, $iter = TMP_12.$$p, block = $iter || nil; TMP_12.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each") }; ($a = ($b = self.hash).$each_key, $a.$$p = block.$to_proc(), $a).call($b); return self; }; def['$empty?'] = function() { var self = this; return self.hash['$empty?'](); }; def['$eql?'] = function(other) { var $a, $b, TMP_13, self = this; return self.hash['$eql?'](($a = ($b = other).$instance_eval, $a.$$p = (TMP_13 = function(){var self = TMP_13.$$s || this; if (self.hash == null) self.hash = nil; return self.hash}, TMP_13.$$s = self, TMP_13), $a).call($b)); }; def.$clear = function() { var self = this; self.hash.$clear(); return self; }; def['$include?'] = function(o) { var self = this; return self.hash['$include?'](o); }; Opal.defn(self, '$member?', def['$include?']); def.$merge = function(enum$) { var $a, $b, TMP_14, self = this; ($a = ($b = enum$).$each, $a.$$p = (TMP_14 = function(item){var self = TMP_14.$$s || this; if (item == null) item = nil; return self.$add(item)}, TMP_14.$$s = self, TMP_14), $a).call($b); return self; }; def.$replace = function(enum$) { var self = this; self.$clear(); self.$merge(enum$); return self; }; def.$size = function() { var self = this; return self.hash.$size(); }; Opal.defn(self, '$length', def.$size); def.$subtract = function(enum$) { var $a, $b, TMP_15, self = this; ($a = ($b = enum$).$each, $a.$$p = (TMP_15 = function(item){var self = TMP_15.$$s || this; if (item == null) item = nil; return self.$delete(item)}, TMP_15.$$s = self, TMP_15), $a).call($b); return self; }; def['$|'] = function(enum$) { var $a, self = this; if ((($a = enum$['$respond_to?']("each")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise($scope.get('ArgumentError'), "value must be enumerable") }; return self.$dup().$merge(enum$); }; Opal.defn(self, '$+', def['$|']); Opal.defn(self, '$union', def['$|']); return (def.$to_a = function() { var self = this; return self.hash.$keys(); }, nil) && 'to_a'; })(self, null); return (function($base) { var self = $module($base, 'Enumerable'); var def = self.$$proto, $scope = self.$$scope, TMP_16; Opal.defn(self, '$to_set', TMP_16 = function(klass, args) { var $a, $b, self = this, $iter = TMP_16.$$p, block = $iter || nil; args = $slice.call(arguments, 1); if (klass == null) { klass = $scope.get('Set') } TMP_16.$$p = null; return ($a = ($b = klass).$new, $a.$$p = block.$to_proc(), $a).apply($b, [self].concat(args)); }) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser/sexp"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$attr_reader', '$attr_accessor', '$[]', '$[]=', '$send', '$to_proc', '$<<', '$push', '$new', '$dup', '$is_a?', '$==', '$array', '$join', '$map', '$inspect', '$line']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Sexp(){}; var self = $Sexp = $klass($base, $super, 'Sexp', $Sexp); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.array = def.source = nil; self.$attr_reader("array"); self.$attr_accessor("source"); def.$initialize = function(args) { var self = this; return self.array = args; }; def.$type = function() { var self = this; return self.array['$[]'](0); }; def['$type='] = function(type) { var self = this; return self.array['$[]='](0, type); }; def.$children = function() { var self = this; return self.array['$[]']($range(1, -1, false)); }; def.$method_missing = TMP_1 = function(sym, args) { var $a, $b, self = this, $iter = TMP_1.$$p, block = $iter || nil; args = $slice.call(arguments, 1); TMP_1.$$p = null; return ($a = ($b = self.array).$send, $a.$$p = block.$to_proc(), $a).apply($b, [sym].concat(args)); }; def['$<<'] = function(other) { var self = this; self.array['$<<'](other); return self; }; def.$push = function(parts) { var $a, self = this; parts = $slice.call(arguments, 0); ($a = self.array).$push.apply($a, [].concat(parts)); return self; }; def.$to_ary = function() { var self = this; return self.array; }; def.$dup = function() { var self = this; return $scope.get('Sexp').$new(self.array.$dup()); }; def['$=='] = function(other) { var $a, self = this; if ((($a = other['$is_a?']($scope.get('Sexp'))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.array['$=='](other.$array()) } else { return self.array['$=='](other) }; }; Opal.defn(self, '$eql?', def['$==']); def.$line = function() { var $a, self = this; return ($a = self.source, $a !== false && $a !== nil ?self.source['$[]'](0) : $a); }; def.$column = function() { var $a, self = this; return ($a = self.source, $a !== false && $a !== nil ?self.source['$[]'](1) : $a); }; def.$inspect = function() { var $a, $b, TMP_2, self = this; return "(" + (($a = ($b = self.array).$map, $a.$$p = (TMP_2 = function(e){var self = TMP_2.$$s || this; if (e == null) e = nil; return e.$inspect()}, TMP_2.$$s = self, TMP_2), $a).call($b).$join(", ")) + ")"; }; def.$pretty_inspect = function() { var $a, $b, TMP_3, self = this; return "(" + ((function() {if ((($a = self.$line()) !== nil && (!$a.$$is_boolean || $a == true))) { return "" + (self.$line()) + " " } else { return "" }; return nil; })()) + (($a = ($b = self.array).$map, $a.$$p = (TMP_3 = function(e){var self = TMP_3.$$s || this; if (e == null) e = nil; return e.$inspect()}, TMP_3.$$s = self, TMP_3), $a).call($b).$join(", ")) + ")"; }; return Opal.defn(self, '$to_s', def.$inspect); })(self, null) })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/regexp_anchors"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$==']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; Opal.cdecl($scope, 'REGEXP_START', (function() {if ($scope.get('RUBY_ENGINE')['$==']("opal")) { return "^"}; return nil; })()); Opal.cdecl($scope, 'REGEXP_END', (function() {if ($scope.get('RUBY_ENGINE')['$==']("opal")) { return "$"}; return nil; })()); })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["strscan"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$attr_reader', '$length', '$pos=']); return (function($base, $super) { function $StringScanner(){}; var self = $StringScanner = $klass($base, $super, 'StringScanner', $StringScanner); var def = self.$$proto, $scope = self.$$scope; def.pos = def.string = def.working = def.prev_pos = def.matched = def.match = nil; self.$attr_reader("pos"); self.$attr_reader("matched"); def.$initialize = function(string) { var self = this; self.string = string; self.pos = 0; self.matched = nil; self.working = string; return self.match = []; }; self.$attr_reader("string"); def['$beginning_of_line?'] = function() { var self = this; return self.pos === 0 || self.string.charAt(self.pos - 1) === "\n"; }; Opal.defn(self, '$bol?', def['$beginning_of_line?']); def.$scan = function(regex) { var self = this; var regex = new RegExp('^' + regex.toString().substring(1, regex.toString().length - 1)), result = regex.exec(self.working); if (result == null) { return self.matched = nil; } else if (typeof(result) === 'object') { self.prev_pos = self.pos; self.pos += result[0].length; self.working = self.working.substring(result[0].length); self.matched = result[0]; self.match = result; return result[0]; } else if (typeof(result) === 'string') { self.pos += result.length; self.working = self.working.substring(result.length); return result; } else { return nil; } ; }; def['$[]'] = function(idx) { var self = this; var match = self.match; if (idx < 0) { idx += match.length; } if (idx < 0 || idx >= match.length) { return nil; } if (match[idx] == null) { return nil; } return match[idx]; ; }; def.$check = function(regex) { var self = this; var regexp = new RegExp('^' + regex.toString().substring(1, regex.toString().length - 1)), result = regexp.exec(self.working); if (result == null) { return self.matched = nil; } return self.matched = result[0]; ; }; def.$peek = function(length) { var self = this; return self.working.substring(0, length); }; def['$eos?'] = function() { var self = this; return self.working.length === 0; }; def.$skip = function(re) { var self = this; re = new RegExp('^' + re.source) var result = re.exec(self.working); if (result == null) { return self.matched = nil; } else { var match_str = result[0]; var match_len = match_str.length; self.matched = match_str; self.prev_pos = self.pos; self.pos += match_len; self.working = self.working.substring(match_len); return match_len; } ; }; def.$get_byte = function() { var self = this; var result = nil; if (self.pos < self.string.length) { self.prev_pos = self.pos; self.pos += 1; result = self.matched = self.working.substring(0, 1); self.working = self.working.substring(1); } else { self.matched = nil; } return result; ; }; Opal.defn(self, '$getch', def.$get_byte); def['$pos='] = function(pos) { var self = this; if (pos < 0) { pos += self.string.$length(); } ; self.pos = pos; return self.working = self.string.slice(pos); }; def.$reset = function() { var self = this; self.working = self.string; self.matched = nil; return self.pos = 0; }; def.$rest = function() { var self = this; return self.working; }; def['$rest?'] = function() { var self = this; return self.working.length !== 0; }; def.$terminate = function() { var $a, $b, self = this; self.match = nil; return (($a = [self.string.$length()]), $b = self, $b['$pos='].apply($b, $a), $a[$a.length-1]); }; return (def.$unscan = function() { var self = this; self.pos = self.prev_pos; self.prev_pos = nil; self.match = nil; return self; }, nil) && 'unscan'; })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser/keywords"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$attr_accessor', '$map', '$new', '$each', '$[]=', '$name', '$[]']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Keywords'); var def = self.$$proto, $scope = self.$$scope, $a, $b, TMP_1; (function($base, $super) { function $KeywordTable(){}; var self = $KeywordTable = $klass($base, $super, 'KeywordTable', $KeywordTable); var def = self.$$proto, $scope = self.$$scope; self.$attr_accessor("name", "id", "state"); return (def.$initialize = function(name, id, state) { var self = this; self.name = name; self.id = id; return self.state = state; }, nil) && 'initialize'; })(self, null); Opal.cdecl($scope, 'KEYWORDS', ($a = ($b = [["__LINE__", ["k__LINE__", "k__LINE__"], "expr_end"], ["__FILE__", ["k__FILE__", "k__FILE__"], "expr_end"], ["alias", ["kALIAS", "kALIAS"], "expr_fname"], ["and", ["kAND", "kAND"], "expr_beg"], ["begin", ["kBEGIN", "kBEGIN"], "expr_beg"], ["break", ["kBREAK", "kBREAK"], "expr_mid"], ["case", ["kCASE", "kCASE"], "expr_beg"], ["class", ["kCLASS", "kCLASS"], "expr_class"], ["def", ["kDEF", "kDEF"], "expr_fname"], ["defined?", ["kDEFINED", "kDEFINED"], "expr_arg"], ["do", ["kDO", "kDO"], "expr_beg"], ["else", ["kELSE", "kELSE"], "expr_beg"], ["elsif", ["kELSIF", "kELSIF"], "expr_beg"], ["end", ["kEND", "kEND"], "expr_end"], ["ensure", ["kENSURE", "kENSURE"], "expr_beg"], ["false", ["kFALSE", "kFALSE"], "expr_end"], ["for", ["kFOR", "kFOR"], "expr_beg"], ["if", ["kIF", "kIF_MOD"], "expr_beg"], ["in", ["kIN", "kIN"], "expr_beg"], ["module", ["kMODULE", "kMODULE"], "expr_beg"], ["nil", ["kNIL", "kNIL"], "expr_end"], ["next", ["kNEXT", "kNEXT"], "expr_mid"], ["not", ["kNOT", "kNOT"], "expr_beg"], ["or", ["kOR", "kOR"], "expr_beg"], ["redo", ["kREDO", "kREDO"], "expr_end"], ["rescue", ["kRESCUE", "kRESCUE_MOD"], "expr_mid"], ["return", ["kRETURN", "kRETURN"], "expr_mid"], ["self", ["kSELF", "kSELF"], "expr_end"], ["super", ["kSUPER", "kSUPER"], "expr_arg"], ["then", ["kTHEN", "kTHEN"], "expr_beg"], ["true", ["kTRUE", "kTRUE"], "expr_end"], ["undef", ["kUNDEF", "kUNDEF"], "expr_fname"], ["unless", ["kUNLESS", "kUNLESS_MOD"], "expr_beg"], ["until", ["kUNTIL", "kUNTIL_MOD"], "expr_beg"], ["when", ["kWHEN", "kWHEN"], "expr_beg"], ["while", ["kWHILE", "kWHILE_MOD"], "expr_beg"], ["yield", ["kYIELD", "kYIELD"], "expr_arg"]]).$map, $a.$$p = (TMP_1 = function(decl){var self = TMP_1.$$s || this, $a; if (decl == null) decl = nil; return ($a = $scope.get('KeywordTable')).$new.apply($a, [].concat(decl))}, TMP_1.$$s = self, TMP_1), $a).call($b)); Opal.defs(self, '$map', function() { var $a, $b, TMP_2, self = this; if (self.map == null) self.map = nil; if ((($a = self.map) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.map = $hash2([], {}); ($a = ($b = $scope.get('KEYWORDS')).$each, $a.$$p = (TMP_2 = function(k){var self = TMP_2.$$s || this; if (self.map == null) self.map = nil; if (k == null) k = nil; return self.map['$[]='](k.$name(), k)}, TMP_2.$$s = self, TMP_2), $a).call($b); }; return self.map; }); Opal.defs(self, '$keyword', function(kw) { var self = this; return self.$map()['$[]'](kw); }); })(self) })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser/lexer"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$|', '$attr_reader', '$attr_accessor', '$new', '$yylex', '$yylval', '$has_local?', '$scope', '$parser', '$to_sym', '$<<', '$&', '$>>', '$!', '$==', '$include?', '$arg?', '$space?', '$check', '$after_operator?', '$scan', '$length', '$matched', '$pos=', '$pos', '$new_strterm', '$merge', '$yylval=', '$to_f', '$gsub', '$scanner', '$to_i', '$raise', '$peek', '$chr', '$%', '$[]', '$escape', '$peek_variable_name', '$bol?', '$eos?', '$read_escape', '$join', '$count', '$strterm', '$[]=', '$pushback', '$strterm=', '$add_string_content', '$line=', '$line', '$label_state?', '$end_with?', '$=~', '$keyword', '$state', '$name', '$id', '$cond?', '$cmdarg?', '$here_document', '$parse_string', '$skip', '$empty?', '$new_op_asgn', '$set_arg_state', '$spcarg?', '$beg?', '$===', '$new_strterm2', '$cond_push', '$cmdarg_push', '$cond_lexpop', '$cmdarg_lexpop', '$end?', '$heredoc_identifier', '$sub', '$inspect', '$process_numeric', '$process_identifier', '$size', '$pop', '$last']); self.$require("opal/regexp_anchors"); self.$require("strscan"); self.$require("opal/parser/keywords"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Lexer(){}; var self = $Lexer = $klass($base, $super, 'Lexer', $Lexer); var def = self.$$proto, $scope = self.$$scope; def.scanner = def.tok_line = def.tok_column = def.column = def.line = def.cond = def.cmdarg = def.lex_state = def.space_seen = def.yylval = def.scanner_stack = def.start_of_lambda = def.file = nil; Opal.cdecl($scope, 'STR_FUNC_ESCAPE', 1); Opal.cdecl($scope, 'STR_FUNC_EXPAND', 2); Opal.cdecl($scope, 'STR_FUNC_REGEXP', 4); Opal.cdecl($scope, 'STR_FUNC_QWORDS', 8); Opal.cdecl($scope, 'STR_FUNC_SYMBOL', 16); Opal.cdecl($scope, 'STR_FUNC_INDENT', 32); Opal.cdecl($scope, 'STR_FUNC_XQUOTE', 64); Opal.cdecl($scope, 'STR_SQUOTE', 0); Opal.cdecl($scope, 'STR_DQUOTE', $scope.get('STR_FUNC_EXPAND')); Opal.cdecl($scope, 'STR_XQUOTE', $scope.get('STR_FUNC_EXPAND')['$|']($scope.get('STR_FUNC_XQUOTE'))); Opal.cdecl($scope, 'STR_REGEXP', $scope.get('STR_FUNC_REGEXP')['$|']($scope.get('STR_FUNC_ESCAPE'))['$|']($scope.get('STR_FUNC_EXPAND'))); Opal.cdecl($scope, 'STR_SWORD', $scope.get('STR_FUNC_QWORDS')); Opal.cdecl($scope, 'STR_DWORD', $scope.get('STR_FUNC_QWORDS')['$|']($scope.get('STR_FUNC_EXPAND'))); Opal.cdecl($scope, 'STR_SSYM', $scope.get('STR_FUNC_SYMBOL')); Opal.cdecl($scope, 'STR_DSYM', $scope.get('STR_FUNC_SYMBOL')['$|']($scope.get('STR_FUNC_EXPAND'))); self.$attr_reader("line", "column"); self.$attr_reader("scope"); self.$attr_reader("eof_content"); self.$attr_accessor("lex_state"); self.$attr_accessor("strterm"); self.$attr_accessor("scanner"); self.$attr_accessor("yylval"); self.$attr_accessor("parser"); def.$initialize = function(source, file) { var self = this; self.lex_state = "expr_beg"; self.cond = 0; self.cmdarg = 0; self.line = 1; self.tok_line = 1; self.column = 0; self.tok_column = 0; self.file = file; self.scanner = $scope.get('StringScanner').$new(source); self.scanner_stack = [self.scanner]; self.case_stmt = nil; return self.start_of_lambda = nil; }; def.$next_token = function() { var self = this, token = nil, value = nil, location = nil; token = self.$yylex(); value = self.$yylval(); location = [self.tok_line, self.tok_column]; self.tok_column = self.column; self.tok_line = self.line; return [token, [value, location]]; }; def['$has_local?'] = function(local) { var self = this; return self.$parser().$scope()['$has_local?'](local.$to_sym()); }; def.$cond_push = function(n) { var self = this; return self.cond = (self.cond['$<<'](1))['$|']((n['$&'](1))); }; def.$cond_pop = function() { var self = this; return self.cond = self.cond['$>>'](1); }; def.$cond_lexpop = function() { var self = this; return self.cond = (self.cond['$>>'](1))['$|']((self.cond['$&'](1))); }; def['$cond?'] = function() { var self = this; return (self.cond['$&'](1))['$=='](0)['$!'](); }; def.$cmdarg_push = function(n) { var self = this; return self.cmdarg = (self.cmdarg['$<<'](1))['$|']((n['$&'](1))); }; def.$cmdarg_pop = function() { var self = this; return self.cmdarg = self.cmdarg['$>>'](1); }; def.$cmdarg_lexpop = function() { var self = this; return self.cmdarg = (self.cmdarg['$>>'](1))['$|']((self.cmdarg['$&'](1))); }; def['$cmdarg?'] = function() { var self = this; return (self.cmdarg['$&'](1))['$=='](0)['$!'](); }; def['$arg?'] = function() { var self = this; return ["expr_arg", "expr_cmdarg"]['$include?'](self.lex_state); }; def['$end?'] = function() { var self = this; return ["expr_end", "expr_endarg", "expr_endfn"]['$include?'](self.lex_state); }; def['$beg?'] = function() { var self = this; return ["expr_beg", "expr_value", "expr_mid", "expr_class"]['$include?'](self.lex_state); }; def['$after_operator?'] = function() { var self = this; return ["expr_fname", "expr_dot"]['$include?'](self.lex_state); }; def['$label_state?'] = function() { var $a, self = this; return ((($a = ["expr_beg", "expr_endfn"]['$include?'](self.lex_state)) !== false && $a !== nil) ? $a : self['$arg?']()); }; def['$spcarg?'] = function() { var $a, $b, self = this; return ($a = ($b = self['$arg?'](), $b !== false && $b !== nil ?self.space_seen : $b), $a !== false && $a !== nil ?self['$space?']()['$!']() : $a); }; def['$space?'] = function() { var self = this; return self.scanner.$check(/\s/); }; def.$set_arg_state = function() { var $a, self = this; return self.lex_state = (function() {if ((($a = self['$after_operator?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "expr_arg" } else { return "expr_beg" }; return nil; })(); }; def.$scan = function(regexp) { var $a, self = this, result = nil; if ((($a = result = self.scanner.$scan(regexp)) !== nil && (!$a.$$is_boolean || $a == true))) { self.column = $rb_plus(self.column, result.$length()); self.yylval = $rb_plus(self.yylval, self.scanner.$matched());}; return result; }; def.$skip = function(regexp) { var $a, self = this, result = nil; if ((($a = result = self.scanner.$scan(regexp)) !== nil && (!$a.$$is_boolean || $a == true))) { self.column = $rb_plus(self.column, result.$length()); self.tok_column = self.column;}; return result; }; def.$check = function(regexp) { var self = this; return self.scanner.$check(regexp); }; def.$pushback = function(n) { var $a, self = this; return ($a = self.scanner, $a['$pos=']($rb_minus($a.$pos(), n))); }; def.$matched = function() { var self = this; return self.scanner.$matched(); }; def['$line='] = function(line) { var self = this; self.column = self.tok_column = 0; return self.line = self.tok_line = line; }; def.$new_strterm = function(func, term, paren) { var self = this; return $hash2(["type", "func", "term", "paren"], {"type": "string", "func": func, "term": term, "paren": paren}); }; def.$new_strterm2 = function(func, term, paren) { var self = this; term = self.$new_strterm(func, term, paren); return term.$merge($hash2(["balance", "nesting"], {"balance": true, "nesting": 0})); }; def.$new_op_asgn = function(value) { var $a, $b, self = this; (($a = [value]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tOP_ASGN"; }; def.$process_numeric = function() { var $a, $b, self = this; self.lex_state = "expr_end"; if ((($a = self.$scan(/[\d_]+\.[\d_]+\b|[\d_]+(\.[\d_]+)?[eE][-+]?[\d_]+\b/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$gsub(/_/, "").$to_f()]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tFLOAT"; } else if ((($a = self.$scan(/([^0][\d_]*|0)\b/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$gsub(/_/, "").$to_i()]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tINTEGER"; } else if ((($a = self.$scan(/0[bB](0|1|_)+/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$to_i(2)]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tINTEGER"; } else if ((($a = self.$scan(/0[xX](\d|[a-f]|[A-F]|_)+/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$to_i(16)]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tINTEGER"; } else if ((($a = self.$scan(/0[oO]?([0-7]|_)+/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$to_i(8)]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tINTEGER"; } else if ((($a = self.$scan(/0[dD]([0-9]|_)+/)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [self.$scanner().$matched().$gsub(/_/, "").$to_i()]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tINTEGER"; } else { return self.$raise("Lexing error on numeric type: `" + (self.$scanner().$peek(5)) + "`") }; }; def.$read_escape = function() { var $a, self = this; if ((($a = self.$scan(/\\/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\\" } else if ((($a = self.$scan(/n/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\n" } else if ((($a = self.$scan(/t/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\t" } else if ((($a = self.$scan(/r/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\r" } else if ((($a = self.$scan(/f/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\f" } else if ((($a = self.$scan(/v/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\v" } else if ((($a = self.$scan(/a/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\u0007" } else if ((($a = self.$scan(/b/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\b" } else if ((($a = self.$scan(/e/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "\u001b" } else if ((($a = self.$scan(/s/)) !== nil && (!$a.$$is_boolean || $a == true))) { return " " } else if ((($a = self.$scan(/[0-7]{1,3}/)) !== nil && (!$a.$$is_boolean || $a == true))) { return (self.$matched().$to_i(8)['$%'](256)).$chr() } else if ((($a = self.$scan(/x([0-9a-fA-F]{1,2})/)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$scanner()['$[]'](1).$to_i(16).$chr() } else if ((($a = self.$scan(/u([0-9a-zA-Z]{1,4})/)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$scanner()['$[]'](1).$to_i(16).$chr((($scope.get('Encoding')).$$scope.get('UTF_8'))) } else { return self.$scan(/./) }; }; def.$peek_variable_name = function() { var $a, self = this; if ((($a = self.$check(/[@$]/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "tSTRING_DVAR" } else if ((($a = self.$scan(/\{/)) !== nil && (!$a.$$is_boolean || $a == true))) { return "tSTRING_DBEG" } else { return nil }; }; def.$here_document = function(str_parse) { var $a, $b, $c, self = this, eos_regx = nil, expand = nil, escape = nil, str_buffer = nil, tok = nil, reg = nil, complete_str = nil; eos_regx = (new RegExp("[ \\t]*" + $scope.get('Regexp').$escape(str_parse['$[]']("term")) + "(\\r*\\n|$)")); expand = true; escape = str_parse['$[]']("func")['$==']($scope.get('STR_SQUOTE'))['$!'](); if ((($a = self.$check(eos_regx)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$scan((new RegExp("[ \\t]*" + $scope.get('Regexp').$escape(str_parse['$[]']("term"))))); if ((($a = str_parse['$[]']("scanner")) !== nil && (!$a.$$is_boolean || $a == true))) { self.scanner_stack['$<<'](str_parse['$[]']("scanner")); self.scanner = str_parse['$[]']("scanner");}; return "tSTRING_END";}; str_buffer = []; if ((($a = self.$scan(/#/)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = tok = self.$peek_variable_name()) !== nil && (!$a.$$is_boolean || $a == true))) { return tok}; str_buffer['$<<']("#");}; while (!((($b = ($c = self.$check(eos_regx), $c !== false && $c !== nil ?self.$scanner()['$bol?']() : $c)) !== nil && (!$b.$$is_boolean || $b == true)))) { if ((($b = self.$scanner()['$eos?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.$raise("reached EOF while in heredoc")}; if ((($b = self.$scan(/\n/)) !== nil && (!$b.$$is_boolean || $b == true))) { str_buffer['$<<'](self.$scanner().$matched()) } else if ((($b = (($c = expand !== false && expand !== nil) ? self.$check(/#(?=[\$\@\{])/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { break; } else if ((($b = self.$scan(/\\/)) !== nil && (!$b.$$is_boolean || $b == true))) { str_buffer['$<<'](((function() {if (escape !== false && escape !== nil) { return self.$read_escape() } else { return self.$scanner().$matched() }; return nil; })())) } else { reg = $scope.get('Regexp').$new("[^#\u0000\\\\\n]+|."); self.$scan(reg); str_buffer['$<<'](self.$scanner().$matched()); };}; complete_str = str_buffer.$join(""); self.line = $rb_plus(self.line, complete_str.$count("\n")); (($a = [complete_str]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tSTRING_CONTENT"; }; def.$parse_string = function() { var $a, $b, self = this, str_parse = nil, func = nil, space = nil, qwords = nil, expand = nil, regexp = nil, str_buffer = nil, complete_str = nil; str_parse = self.$strterm(); func = str_parse['$[]']("func"); space = false; qwords = (func['$&']($scope.get('STR_FUNC_QWORDS')))['$=='](0)['$!'](); expand = (func['$&']($scope.get('STR_FUNC_EXPAND')))['$=='](0)['$!'](); regexp = (func['$&']($scope.get('STR_FUNC_REGEXP')))['$=='](0)['$!'](); if ((($a = (($b = qwords !== false && qwords !== nil) ? self.$scan(/\s+/) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { space = true}; str_buffer = []; if ((($a = self.$scan($scope.get('Regexp').$new($scope.get('Regexp').$escape(str_parse['$[]']("term"))))) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = (($b = qwords !== false && qwords !== nil) ? str_parse['$[]']("done_last_space")['$!']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { str_parse['$[]=']("done_last_space", true); self.$pushback(1); (($a = [" "]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tSPACE";}; if ((($a = str_parse['$[]']("balance")) !== nil && (!$a.$$is_boolean || $a == true))) { if (str_parse['$[]']("nesting")['$=='](0)) { if (regexp !== false && regexp !== nil) { (($a = [self.$scan(/\w+/)]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tREGEXP_END";}; return "tSTRING_END"; } else { str_buffer['$<<'](self.$scanner().$matched()); ($a = "nesting", $b = str_parse, $b['$[]=']($a, $rb_minus($b['$[]']($a), 1))); (($a = [str_parse]), $b = self, $b['$strterm='].apply($b, $a), $a[$a.length-1]); } } else if (regexp !== false && regexp !== nil) { self.lex_state = "expr_end"; (($a = [self.$scan(/\w+/)]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tREGEXP_END"; } else { if ((($a = str_parse['$[]']("scanner")) !== nil && (!$a.$$is_boolean || $a == true))) { self.scanner_stack['$<<'](str_parse['$[]']("scanner")); self.scanner = str_parse['$[]']("scanner");}; return "tSTRING_END"; };}; if (space !== false && space !== nil) { (($a = [" "]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tSPACE";}; if ((($a = ($b = str_parse['$[]']("balance"), $b !== false && $b !== nil ?self.$scan($scope.get('Regexp').$new($scope.get('Regexp').$escape(str_parse['$[]']("paren")))) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { str_buffer['$<<'](self.$scanner().$matched()); ($a = "nesting", $b = str_parse, $b['$[]=']($a, $rb_plus($b['$[]']($a), 1))); } else if ((($a = self.$check(/#[@$]/)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$scan(/#/); if (expand !== false && expand !== nil) { return "tSTRING_DVAR" } else { str_buffer['$<<'](self.$scanner().$matched()) }; } else if ((($a = self.$scan(/#\{/)) !== nil && (!$a.$$is_boolean || $a == true))) { if (expand !== false && expand !== nil) { return "tSTRING_DBEG" } else { str_buffer['$<<'](self.$scanner().$matched()) } } else if ((($a = self.$scan(/\#/)) !== nil && (!$a.$$is_boolean || $a == true))) { str_buffer['$<<']("#")}; self.$add_string_content(str_buffer, str_parse); complete_str = str_buffer.$join(""); self.line = $rb_plus(self.line, complete_str.$count("\n")); (($a = [complete_str]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tSTRING_CONTENT"; }; def.$add_string_content = function(str_buffer, str_parse) { var $a, $b, $c, self = this, func = nil, end_str_re = nil, qwords = nil, expand = nil, regexp = nil, escape = nil, xquote = nil, c = nil, handled = nil, reg = nil; func = str_parse['$[]']("func"); end_str_re = $scope.get('Regexp').$new($scope.get('Regexp').$escape(str_parse['$[]']("term"))); qwords = (func['$&']($scope.get('STR_FUNC_QWORDS')))['$=='](0)['$!'](); expand = (func['$&']($scope.get('STR_FUNC_EXPAND')))['$=='](0)['$!'](); regexp = (func['$&']($scope.get('STR_FUNC_REGEXP')))['$=='](0)['$!'](); escape = (func['$&']($scope.get('STR_FUNC_ESCAPE')))['$=='](0)['$!'](); xquote = (func['$==']($scope.get('STR_XQUOTE'))); while (!((($b = self.$scanner()['$eos?']()) !== nil && (!$b.$$is_boolean || $b == true)))) { c = nil; handled = true; if ((($b = self.$check(end_str_re)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = ($c = str_parse['$[]']("balance"), $c !== false && $c !== nil ?(str_parse['$[]']("nesting")['$=='](0)['$!']()) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$scan(end_str_re); c = self.$scanner().$matched(); ($b = "nesting", $c = str_parse, $c['$[]=']($b, $rb_minus($c['$[]']($b), 1))); } else { break; } } else if ((($b = ($c = str_parse['$[]']("balance"), $c !== false && $c !== nil ?self.$scan($scope.get('Regexp').$new($scope.get('Regexp').$escape(str_parse['$[]']("paren")))) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { ($b = "nesting", $c = str_parse, $c['$[]=']($b, $rb_plus($c['$[]']($b), 1))); c = self.$scanner().$matched(); } else if ((($b = (($c = qwords !== false && qwords !== nil) ? self.$scan(/\s/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$pushback(1); break;; } else if ((($b = (($c = expand !== false && expand !== nil) ? self.$check(/#(?=[\$\@\{])/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { break; } else if ((($b = (($c = qwords !== false && qwords !== nil) ? self.$scan(/\s/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$pushback(1); break;; } else if ((($b = self.$scan(/\\/)) !== nil && (!$b.$$is_boolean || $b == true))) { if (xquote !== false && xquote !== nil) { c = $rb_plus("\\", self.$scan(/./)) } else if ((($b = (($c = qwords !== false && qwords !== nil) ? self.$scan(/\n/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { str_buffer['$<<']("\n"); continue;; } else if ((($b = (($c = expand !== false && expand !== nil) ? self.$scan(/\n/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { continue; } else if ((($b = (($c = qwords !== false && qwords !== nil) ? self.$scan(/\s/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { c = " " } else if (regexp !== false && regexp !== nil) { if ((($b = self.$scan(/(.)/)) !== nil && (!$b.$$is_boolean || $b == true))) { c = $rb_plus("\\", self.$scanner().$matched())} } else if (expand !== false && expand !== nil) { c = self.$read_escape() } else if ((($b = self.$scan(/\n/)) !== nil && (!$b.$$is_boolean || $b == true))) { } else if ((($b = self.$scan(/\\/)) !== nil && (!$b.$$is_boolean || $b == true))) { if (escape !== false && escape !== nil) { c = "\\\\" } else { c = self.$scanner().$matched() } } else if ((($b = self.$scan(end_str_re)) !== nil && (!$b.$$is_boolean || $b == true))) { } else { str_buffer['$<<']("\\") } } else { handled = false }; if (handled !== false && handled !== nil) { } else { reg = (function() {if (qwords !== false && qwords !== nil) { return $scope.get('Regexp').$new("[^" + ($scope.get('Regexp').$escape(str_parse['$[]']("term"))) + "#\u0000\n \\\\]+|.") } else if ((($b = str_parse['$[]']("balance")) !== nil && (!$b.$$is_boolean || $b == true))) { return $scope.get('Regexp').$new("[^" + ($scope.get('Regexp').$escape(str_parse['$[]']("term"))) + ($scope.get('Regexp').$escape(str_parse['$[]']("paren"))) + "#\u0000\\\\]+|.") } else { return $scope.get('Regexp').$new("[^" + ($scope.get('Regexp').$escape(str_parse['$[]']("term"))) + "#\u0000\\\\]+|.") }; return nil; })(); self.$scan(reg); c = self.$scanner().$matched(); }; ((($b = c) !== false && $b !== nil) ? $b : c = self.$scanner().$matched()); str_buffer['$<<'](c);}; if ((($a = self.$scanner()['$eos?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$raise("reached EOF while in string") } else { return nil }; }; def.$heredoc_identifier = function() { var $a, $b, self = this, escape_method = nil, heredoc = nil, end_of_line = nil; if ((($a = self.$scan(/(-?)(['"])?(\w+)\2?/)) !== nil && (!$a.$$is_boolean || $a == true))) { escape_method = (function() {if ((($a = (self.scanner['$[]'](2)['$==']("'"))) !== nil && (!$a.$$is_boolean || $a == true))) { return $scope.get('STR_SQUOTE') } else { return $scope.get('STR_DQUOTE') }; return nil; })(); heredoc = self.scanner['$[]'](3); (($a = [self.$new_strterm(escape_method, heredoc, heredoc)]), $b = self, $b['$strterm='].apply($b, $a), $a[$a.length-1]); self.$strterm()['$[]=']("type", "heredoc"); end_of_line = self.$scan(/.*\n/); if ((($a = end_of_line['$==']("\n")['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$strterm()['$[]=']("scanner", $scope.get('StringScanner').$new(end_of_line))}; ($a = self, $a['$line=']($rb_plus($a.$line(), 1))); (($a = [heredoc]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tSTRING_BEG"; } else { return nil }; }; def.$process_identifier = function(matched, cmd_start) { var $a, $b, $c, self = this, last_state = nil, result = nil, kw = nil, old_state = nil; last_state = self.lex_state; if ((($a = ($b = ($c = self['$label_state?'](), $c !== false && $c !== nil ?self.$check(/::/)['$!']() : $c), $b !== false && $b !== nil ?self.$scan(/:/) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_beg"; (($a = [matched]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return "tLABEL";}; if (matched['$==']("defined?")) { if ((($a = self['$after_operator?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_end"; return "tIDENTIFIER";}; self.lex_state = "expr_arg"; return "kDEFINED";}; if ((($a = matched['$end_with?']("?", "!")) !== nil && (!$a.$$is_boolean || $a == true))) { result = "tIDENTIFIER" } else if (self.lex_state['$==']("expr_fname")) { if ((($a = ($b = self.$check(/\=\>/)['$!'](), $b !== false && $b !== nil ?self.$scan(/\=/) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { result = "tIDENTIFIER"; matched = $rb_plus(matched, self.$scanner().$matched());} } else if ((($a = matched['$=~']((new RegExp("" + $scope.get('REGEXP_START') + "[A-Z]")))) !== nil && (!$a.$$is_boolean || $a == true))) { result = "tCONSTANT" } else { result = "tIDENTIFIER" }; if ((($a = ($b = self.lex_state['$==']("expr_dot")['$!'](), $b !== false && $b !== nil ?kw = $scope.get('Keywords').$keyword(matched) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { old_state = self.lex_state; self.lex_state = kw.$state(); if (old_state['$==']("expr_fname")) { (($a = [kw.$name()]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return kw.$id()['$[]'](0);}; if (self.lex_state['$==']("expr_beg")) { cmd_start = true}; if (matched['$==']("do")) { if ((($a = self['$after_operator?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_end"; return "tIDENTIFIER";}; if ((($a = self.start_of_lambda) !== nil && (!$a.$$is_boolean || $a == true))) { self.start_of_lambda = false; self.lex_state = "expr_beg"; return "kDO_LAMBDA"; } else if ((($a = self['$cond?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_beg"; return "kDO_COND"; } else if ((($a = ($b = self['$cmdarg?'](), $b !== false && $b !== nil ?self.lex_state['$==']("expr_cmdarg")['$!']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_beg"; return "kDO_BLOCK"; } else if (self.lex_state['$==']("expr_endarg")) { return "kDO_BLOCK" } else { self.lex_state = "expr_beg"; return "kDO"; }; } else if ((($a = ((($b = old_state['$==']("expr_beg")) !== false && $b !== nil) ? $b : old_state['$==']("expr_value"))) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [matched]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return kw.$id()['$[]'](0); } else { if ((($a = kw.$id()['$[]'](0)['$=='](kw.$id()['$[]'](1))['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_beg"}; (($a = [matched]), $b = self, $b['$yylval='].apply($b, $a), $a[$a.length-1]); return kw.$id()['$[]'](1); };}; if ((($a = ["expr_beg", "expr_dot", "expr_mid", "expr_arg", "expr_cmdarg"]['$include?'](self.lex_state)) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = (function() {if (cmd_start !== false && cmd_start !== nil) { return "expr_cmdarg" } else { return "expr_arg" }; return nil; })() } else if (self.lex_state['$==']("expr_fname")) { self.lex_state = "expr_endfn" } else { self.lex_state = "expr_end" }; if ((($a = ($b = ["expr_dot", "expr_fname"]['$include?'](last_state)['$!'](), $b !== false && $b !== nil ?self['$has_local?'](matched) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { self.lex_state = "expr_end"}; return (function() {if ((($a = matched['$=~']((new RegExp("" + $scope.get('REGEXP_START') + "[A-Z]")))) !== nil && (!$a.$$is_boolean || $a == true))) { return "tCONSTANT" } else { return "tIDENTIFIER" }; return nil; })(); }; return (def.$yylex = function() {try { var $a, $b, $c, $d, self = this, cmd_start = nil, c = nil, token = nil, line_count = nil, result = nil, str_type = nil, paren = nil, term = nil, $case = nil, func = nil, start_word = nil, end_word = nil, matched = nil, sign = nil, utype = nil; self.yylval = ""; self.space_seen = false; cmd_start = false; c = ""; if ((($a = self.$strterm()) !== nil && (!$a.$$is_boolean || $a == true))) { if (self.$strterm()['$[]']("type")['$==']("heredoc")) { token = self.$here_document(self.$strterm()) } else { token = self.$parse_string() }; if ((($a = ((($b = token['$==']("tSTRING_END")) !== false && $b !== nil) ? $b : token['$==']("tREGEXP_END"))) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [nil]), $b = self, $b['$strterm='].apply($b, $a), $a[$a.length-1]); self.lex_state = "expr_end";}; return token;}; while ((($b = true) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$skip(/\ |\t|\r/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.space_seen = true; continue;; } else if ((($b = self.$skip(/(\n|#)/)) !== nil && (!$b.$$is_boolean || $b == true))) { c = self.$scanner().$matched(); if (c['$==']("#")) { self.$skip(/(.*)/) } else { ($b = self, $b['$line=']($rb_plus($b.$line(), 1))) }; self.$skip(/(\n+)/); if ((($b = self.$scanner().$matched()) !== nil && (!$b.$$is_boolean || $b == true))) { ($b = self, $b['$line=']($rb_plus($b.$line(), self.$scanner().$matched().$length())))}; if ((($b = ["expr_beg", "expr_dot"]['$include?'](self.lex_state)) !== nil && (!$b.$$is_boolean || $b == true))) { continue;}; if ((($b = self.$skip(/([\ \t\r\f\v]*)\./)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scanner()['$[]'](1)['$empty?']()) !== nil && (!$b.$$is_boolean || $b == true))) { } else { self.space_seen = true }; self.$pushback(1); if ((($b = self.$check(/\.\./)) !== nil && (!$b.$$is_boolean || $b == true))) { } else { continue; };}; cmd_start = true; self.lex_state = "expr_beg"; (($b = ["\\n"]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return "tNL"; } else if ((($b = self.$scan(/\;/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tSEMI"; } else if ((($b = self.$check(/\*/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\*\*\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("**"); } else if ((($b = self.$scan(/\*\*/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tPOW"; } else if ((($b = self.$scan(/\*\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("*"); } else { self.$scan(/\*/); if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg"; return "tSTAR2"; } else if ((($b = ($c = self.space_seen, $c !== false && $c !== nil ?self.$check(/\S/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tSTAR"; } else if ((($b = ["expr_beg", "expr_mid"]['$include?'](self.lex_state)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tSTAR"; } else { self.lex_state = "expr_beg"; return "tSTAR2"; }; } } else if ((($b = self.$scan(/\!/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg"; if ((($b = self.$scan(/@/)) !== nil && (!$b.$$is_boolean || $b == true))) { return ["tBANG", "!"]}; } else { self.lex_state = "expr_beg" }; if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tNEQ" } else if ((($b = self.$scan(/\~/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tNMATCH"}; return "tBANG"; } else if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = (($c = self.lex_state['$==']("expr_beg")) ? self.space_seen['$!']() : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = ($c = self.$scan(/begin/), $c !== false && $c !== nil ?self['$space?']() : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$scan(/(.*)/); line_count = 0; while ((($c = true) !== nil && (!$c.$$is_boolean || $c == true))) { if ((($c = self.$scanner()['$eos?']()) !== nil && (!$c.$$is_boolean || $c == true))) { self.$raise("embedded document meets end of file")}; if ((($c = ($d = self.$scan(/\=end/), $d !== false && $d !== nil ?self['$space?']() : $d)) !== nil && (!$c.$$is_boolean || $c == true))) { self.line = $rb_plus(self.line, line_count); return self.$yylex();}; if ((($c = self.$scan(/\n/)) !== nil && (!$c.$$is_boolean || $c == true))) { line_count = $rb_plus(line_count, 1); continue;;}; self.$scan(/(.*)/);};}}; self.$set_arg_state(); if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tEQQ"}; return "tEQ";}; if ((($b = self.$scan(/\~/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tMATCH" } else if ((($b = self.$scan(/\>/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tASSOC"}; return "tEQL"; } else if ((($b = self.$scan(/\"/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_DQUOTE'), "\"", "\x00")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tSTRING_BEG"; } else if ((($b = self.$scan(/\'/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_SQUOTE'), "'", "\x00")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tSTRING_BEG"; } else if ((($b = self.$scan(/\`/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_XQUOTE'), "`", "\x00")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tXSTRING_BEG"; } else if ((($b = self.$scan(/\&/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\&/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$new_op_asgn("&&")}; return "tANDOP"; } else if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("&");}; if ((($b = self['$spcarg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tAMPER" } else if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tAMPER" } else { result = "tAMPER2" }; self.$set_arg_state(); return result; } else if ((($b = self.$scan(/\|/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\|/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$new_op_asgn("||")}; return "tOROP"; } else if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$new_op_asgn("|")}; self.$set_arg_state(); return "tPIPE"; } else if ((($b = self.$scan(/\%[QqWwixrs]/)) !== nil && (!$b.$$is_boolean || $b == true))) { str_type = self.$scanner().$matched()['$[]'](1, 1); paren = term = self.$scan(/./); $case = term;if ("("['$===']($case)) {term = ")"}else if ("["['$===']($case)) {term = "]"}else if ("{"['$===']($case)) {term = "}"}else if ("<"['$===']($case)) {term = ">"}else {paren = "\x00"}; $b = Opal.to_ary((function() {$case = str_type;if ("Q"['$===']($case)) {return ["tSTRING_BEG", $scope.get('STR_DQUOTE')]}else if ("q"['$===']($case)) {return ["tSTRING_BEG", $scope.get('STR_SQUOTE')]}else if ("W"['$===']($case)) {self.$skip(/\s*/); return ["tWORDS_BEG", $scope.get('STR_DWORD')];}else if ("w"['$===']($case) || "i"['$===']($case)) {self.$skip(/\s*/); return ["tAWORDS_BEG", $scope.get('STR_SWORD')];}else if ("x"['$===']($case)) {return ["tXSTRING_BEG", $scope.get('STR_XQUOTE')]}else if ("r"['$===']($case)) {return ["tREGEXP_BEG", $scope.get('STR_REGEXP')]}else if ("s"['$===']($case)) {return ["tSTRING_BEG", $scope.get('STR_SQUOTE')]}else { return nil }})()), token = ($b[0] == null ? nil : $b[0]), func = ($b[1] == null ? nil : $b[1]); (($b = [self.$new_strterm2(func, term, paren)]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return token; } else if ((($b = self.$scan(/\//)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_REGEXP'), "/", "/")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tREGEXP_BEG"; } else if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("/");}; if ((($b = self['$arg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = ($c = self.$check(/\s/)['$!'](), $c !== false && $c !== nil ?self.space_seen : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_REGEXP'), "/", "/")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tREGEXP_BEG";}}; if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg" } else { self.lex_state = "expr_beg" }; return "tDIVIDE"; } else if ((($b = self.$scan(/\%/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("%"); } else if ((($b = self.$check(/[^\s]/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = ((($c = self.lex_state['$==']("expr_beg")) !== false && $c !== nil) ? $c : ((($d = self.lex_state['$==']("expr_arg")) ? self.space_seen : $d)))) !== nil && (!$b.$$is_boolean || $b == true))) { start_word = self.$scan(/./); end_word = ((($b = $hash2(["(", "[", "{"], {"(": ")", "[": "]", "{": "}"})['$[]'](start_word)) !== false && $b !== nil) ? $b : start_word); (($b = [self.$new_strterm2($scope.get('STR_DQUOTE'), end_word, start_word)]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]); return "tSTRING_BEG";}}; self.$set_arg_state(); return "tPERCENT"; } else if ((($b = self.$scan(/\\/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\r?\n/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.space_seen = true; continue;;}; self.$raise($scope.get('SyntaxError'), "backslash must appear before newline :" + (self.file) + ":" + (self.line)); } else if ((($b = self.$scan(/\(/)) !== nil && (!$b.$$is_boolean || $b == true))) { result = self.$scanner().$matched(); if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tLPAREN" } else if ((($b = ($c = self.space_seen, $c !== false && $c !== nil ?self['$arg?']() : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tLPAREN_ARG" } else { result = "tLPAREN2" }; self.lex_state = "expr_beg"; self.$cond_push(0); self.$cmdarg_push(0); return result; } else if ((($b = self.$scan(/\)/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$cond_lexpop(); self.$cmdarg_lexpop(); self.lex_state = "expr_end"; return "tRPAREN"; } else if ((($b = self.$scan(/\[/)) !== nil && (!$b.$$is_boolean || $b == true))) { result = self.$scanner().$matched(); if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg"; if ((($b = self.$scan(/\]=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tASET" } else if ((($b = self.$scan(/\]/)) !== nil && (!$b.$$is_boolean || $b == true))) { return "tAREF" } else { self.$raise("Unexpected '[' token") }; } else if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tLBRACK" } else if ((($b = ($c = self['$arg?'](), $c !== false && $c !== nil ?self.space_seen : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tLBRACK" } else { result = "tLBRACK2" }; self.lex_state = "expr_beg"; self.$cond_push(0); self.$cmdarg_push(0); return result; } else if ((($b = self.$scan(/\]/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$cond_lexpop(); self.$cmdarg_lexpop(); self.lex_state = "expr_end"; return "tRBRACK"; } else if ((($b = self.$scan(/\}/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$cond_lexpop(); self.$cmdarg_lexpop(); self.lex_state = "expr_end"; return "tRCURLY"; } else if ((($b = self.$scan(/\.\.\./)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tDOT3"; } else if ((($b = self.$scan(/\.\./)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tDOT2"; } else if ((($b = self.$scan(/\./)) !== nil && (!$b.$$is_boolean || $b == true))) { if (self.lex_state['$==']("expr_fname")) { } else { self.lex_state = "expr_dot" }; return "tDOT"; } else if ((($b = self.$scan(/\:\:/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tCOLON3"; } else if ((($b = self['$spcarg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tCOLON3";}; self.lex_state = "expr_dot"; return "tCOLON2"; } else if ((($b = self.$scan(/\:/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = ((($c = self['$end?']()) !== false && $c !== nil) ? $c : self.$check(/\s/))) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$check(/\w/)) !== nil && (!$b.$$is_boolean || $b == true))) { } else { self.lex_state = "expr_beg"; return "tCOLON"; }; self.lex_state = "expr_fname"; return "tSYMBEG";}; if ((($b = self.$scan(/\'/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_SSYM'), "'", "\x00")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1]) } else if ((($b = self.$scan(/\"/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [self.$new_strterm($scope.get('STR_DSYM'), "\"", "\x00")]), $c = self, $c['$strterm='].apply($c, $b), $b[$b.length-1])}; self.lex_state = "expr_fname"; return "tSYMBEG"; } else if ((($b = self.$scan(/\^\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn("^"); } else if ((($b = self.$scan(/\^/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tCARET"; } else if ((($b = self.$check(/\/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg" } else { if (self.lex_state['$==']("expr_class")) { cmd_start = true}; self.lex_state = "expr_beg"; }; return "tCMP"; } else if ((($b = self.$scan(/\<\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tLEQ"; } else if ((($b = self.$scan(/\/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\>\>\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$new_op_asgn(">>") } else if ((($b = self.$scan(/\>\>/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tRSHFT"; } else if ((($b = self.$scan(/\>\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tGEQ"; } else if ((($b = self.$scan(/\>/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tGT";} } else if ((($b = self.$scan(/->/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; self.start_of_lambda = true; return "tLAMBDA"; } else if ((($b = self.$scan(/[+-]/)) !== nil && (!$b.$$is_boolean || $b == true))) { matched = self.$scanner().$matched(); $b = Opal.to_ary((function() {if (matched['$==']("+")) { return ["tPLUS", "tUPLUS"] } else { return ["tMINUS", "tUMINUS"] }; return nil; })()), sign = ($b[0] == null ? nil : $b[0]), utype = ($b[1] == null ? nil : $b[1]); if ((($b = self['$beg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_mid"; (($b = [matched]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); if ((($b = ($c = self.$scanner().$peek(1)['$=~'](/\d/), $c !== false && $c !== nil ?Opal.ret((function() {if (utype['$==']("tUMINUS")) { return "-@NUM" } else { return "+@NUM" }; return nil; })()) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { } else { return utype }; } else if ((($b = self['$after_operator?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_arg"; if ((($b = self.$scan(/@/)) !== nil && (!$b.$$is_boolean || $b == true))) { (($b = [$rb_plus(matched, "@")]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return "tIDENTIFIER";}; (($b = [matched]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return sign;}; if ((($b = self.$scan(/\=/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return self.$new_op_asgn(matched);}; if ((($b = self['$spcarg?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_mid"; (($b = [matched]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return utype;}; self.lex_state = "expr_beg"; (($b = [matched]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return sign; } else if ((($b = self.$scan(/\?/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self['$end?']()) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tEH";}; if ((($b = self.$check(/\ |\t|\r|\s/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tEH"; } else if ((($b = self.$scan(/\\/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; (($b = [self.$read_escape()]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return "tSTRING";}; self.lex_state = "expr_end"; (($b = [self.$scan(/./)]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return "tSTRING"; } else if ((($b = self.$scan(/\~/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.$set_arg_state(); return "tTILDE"; } else if ((($b = self.$check(/\$/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.$scan(/\$([1-9]\d*)/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; (($b = [self.$scanner().$matched().$sub("$", "")]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return "tNTH_REF"; } else if ((($b = self.$scan(/(\$_)(\w+)/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tGVAR"; } else if ((($b = self.$scan(/\$[\+\'\`\&!@\"~*$?\/\\:;=.,<>_]/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tGVAR"; } else if ((($b = self.$scan(/\$\w+/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tGVAR"; } else { self.$raise("Bad gvar name: " + (self.$scanner().$peek(5).$inspect())) } } else if ((($b = self.$scan(/\$\w+/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tGVAR"; } else if ((($b = self.$scan(/\@\@\w*/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tCVAR"; } else if ((($b = self.$scan(/\@\w*/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_end"; return "tIVAR"; } else if ((($b = self.$scan(/\,/)) !== nil && (!$b.$$is_boolean || $b == true))) { self.lex_state = "expr_beg"; return "tCOMMA"; } else if ((($b = self.$scan(/\{/)) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = self.start_of_lambda) !== nil && (!$b.$$is_boolean || $b == true))) { self.start_of_lambda = false; self.lex_state = "expr_beg"; return "tLAMBEG"; } else if ((($b = ((($c = self['$arg?']()) !== false && $c !== nil) ? $c : self.lex_state['$==']("expr_end"))) !== nil && (!$b.$$is_boolean || $b == true))) { result = "tLCURLY" } else if (self.lex_state['$==']("expr_endarg")) { result = "LBRACE_ARG" } else { result = "tLBRACE" }; self.lex_state = "expr_beg"; self.$cond_push(0); self.$cmdarg_push(0); return result; } else if ((($b = ($c = self.$scanner()['$bol?'](), $c !== false && $c !== nil ?self.$skip(/\__END__(\n|$)/) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { while ((($c = true) !== nil && (!$c.$$is_boolean || $c == true))) { if ((($c = self.$scanner()['$eos?']()) !== nil && (!$c.$$is_boolean || $c == true))) { self.eof_content = self.$yylval(); return false;}; self.$scan(/(.*)/); self.$scan(/\n/);} } else if ((($b = self.$check(/[0-9]/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$process_numeric() } else if ((($b = self.$scan(/(\w)+[\?\!]?/)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$process_identifier(self.$scanner().$matched(), cmd_start)}; if ((($b = self.$scanner()['$eos?']()) !== nil && (!$b.$$is_boolean || $b == true))) { if (self.scanner_stack.$size()['$=='](1)) { (($b = [false]), $c = self, $c['$yylval='].apply($c, $b), $b[$b.length-1]); return false; } else { self.scanner_stack.$pop(); self.scanner = self.scanner_stack.$last(); return self.$yylex(); }}; self.$raise("Unexpected content in parsing stream `" + (self.$scanner().$peek(5)) + "` :" + (self.file) + ":" + (self.line));}; } catch ($returner) { if ($returner === Opal.returner) { return $returner.$v } throw $returner; } }, nil) && 'yylex'; })(self, null) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["racc/parser"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_times(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs * rhs : lhs['$*'](rhs); } function $rb_ge(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$class', '$_racc_do_parse_rb', '$_racc_setup', '$[]', '$!', '$==', '$next_token', '$racc_read_token', '$nil?', '$puts', '$push', '$<<', '$racc_shift', '$-@', '$last', '$pop', '$__send__', '$raise', '$racc_reduce', '$inspect', '$racc_next_state', '$racc_token2str', '$racc_print_stacks', '$empty?', '$map', '$racc_print_states', '$each_index', '$each']); return (function($base) { var self = $module($base, 'Racc'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Parser(){}; var self = $Parser = $klass($base, $super, 'Parser', $Parser); var def = self.$$proto, $scope = self.$$scope; def.yydebug = nil; def.$_racc_setup = function() { var self = this; return ((self.$class()).$$scope.get('Racc_arg')); }; def.$do_parse = function() { var self = this; return self.$_racc_do_parse_rb(self.$_racc_setup(), false); }; def.$_racc_do_parse_rb = function(arg, in_debug) { var $a, $b, $c, $d, self = this, action_table = nil, action_check = nil, action_default = nil, action_pointer = nil, goto_table = nil, goto_check = nil, goto_default = nil, goto_pointer = nil, nt_base = nil, reduce_table = nil, token_table = nil, shift_n = nil, reduce_n = nil, use_result = nil, racc_state = nil, racc_tstack = nil, racc_vstack = nil, racc_t = nil, racc_tok = nil, racc_val = nil, racc_read_next = nil, racc_user_yyerror = nil, racc_error_status = nil, token = nil, act = nil, i = nil, nerr = nil, custate = nil, curstate = nil, reduce_i = nil, reduce_len = nil, reduce_to = nil, method_id = nil, tmp_t = nil, tmp_v = nil, reduce_call_result = nil, k1 = nil; action_table = arg['$[]'](0); action_check = arg['$[]'](1); action_default = arg['$[]'](2); action_pointer = arg['$[]'](3); goto_table = arg['$[]'](4); goto_check = arg['$[]'](5); goto_default = arg['$[]'](6); goto_pointer = arg['$[]'](7); nt_base = arg['$[]'](8); reduce_table = arg['$[]'](9); token_table = arg['$[]'](10); shift_n = arg['$[]'](11); reduce_n = arg['$[]'](12); use_result = arg['$[]'](13); racc_state = [0]; racc_tstack = []; racc_vstack = []; racc_t = nil; racc_tok = nil; racc_val = nil; racc_read_next = true; racc_user_yyerror = false; racc_error_status = 0; token = nil; act = nil; i = nil; nerr = nil; custate = nil; while ((($b = true) !== nil && (!$b.$$is_boolean || $b == true))) { i = action_pointer['$[]'](racc_state['$[]'](-1)); if (i !== false && i !== nil) { if (racc_read_next !== false && racc_read_next !== nil) { if ((($b = racc_t['$=='](0)['$!']()) !== nil && (!$b.$$is_boolean || $b == true))) { token = self.$next_token(); racc_tok = token['$[]'](0); racc_val = token['$[]'](1); if (racc_tok['$=='](false)) { racc_t = 0 } else { racc_t = token_table['$[]'](racc_tok); if (racc_t !== false && racc_t !== nil) { } else { racc_t = 1 }; }; if ((($b = self.yydebug) !== nil && (!$b.$$is_boolean || $b == true))) { self.$racc_read_token(racc_t, racc_tok, racc_val)}; racc_read_next = false;}}; i = $rb_plus(i, racc_t); if ((($b = ((($c = ((($d = ($rb_lt(i, 0))) !== false && $d !== nil) ? $d : ((act = action_table['$[]'](i)))['$nil?']())) !== false && $c !== nil) ? $c : (action_check['$[]'](i)['$=='](racc_state['$[]'](-1))['$!']()))) !== nil && (!$b.$$is_boolean || $b == true))) { act = action_default['$[]'](racc_state['$[]'](-1))}; } else { act = action_default['$[]'](racc_state['$[]'](-1)) }; if ((($b = self.yydebug) !== nil && (!$b.$$is_boolean || $b == true))) { self.$puts("(act: " + (act) + ", shift_n: " + (shift_n) + ", reduce_n: " + (reduce_n) + ")")}; if ((($b = (($c = $rb_gt(act, 0)) ? $rb_lt(act, shift_n) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { if ($rb_gt(racc_error_status, 0)) { if ((($b = racc_t['$=='](1)['$!']()) !== nil && (!$b.$$is_boolean || $b == true))) { racc_error_status = $rb_minus(racc_error_status, 1)}}; racc_vstack.$push(racc_val); curstate = act; racc_state['$<<'](act); racc_read_next = true; if ((($b = self.yydebug) !== nil && (!$b.$$is_boolean || $b == true))) { racc_tstack.$push(racc_t); self.$racc_shift(racc_t, racc_tstack, racc_vstack);}; } else if ((($b = (($c = $rb_lt(act, 0)) ? $rb_gt(act, reduce_n['$-@']()) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { reduce_i = $rb_times(act, -3); reduce_len = reduce_table['$[]'](reduce_i); reduce_to = reduce_table['$[]']($rb_plus(reduce_i, 1)); method_id = reduce_table['$[]']($rb_plus(reduce_i, 2)); tmp_t = racc_tstack.$last(reduce_len); tmp_v = racc_vstack.$last(reduce_len); racc_state.$pop(reduce_len); racc_vstack.$pop(reduce_len); racc_tstack.$pop(reduce_len); if (use_result !== false && use_result !== nil) { reduce_call_result = self.$__send__(method_id, tmp_v, nil, tmp_v['$[]'](0)); racc_vstack.$push(reduce_call_result); } else { self.$raise("not using result??") }; racc_tstack.$push(reduce_to); if ((($b = self.yydebug) !== nil && (!$b.$$is_boolean || $b == true))) { self.$racc_reduce(tmp_t, reduce_to, racc_tstack, racc_vstack)}; k1 = $rb_minus(reduce_to, nt_base); if ((($b = ((reduce_i = goto_pointer['$[]'](k1)))['$=='](nil)['$!']()) !== nil && (!$b.$$is_boolean || $b == true))) { reduce_i = $rb_plus(reduce_i, racc_state['$[]'](-1)); if ((($b = ($c = ($d = ($rb_ge(reduce_i, 0)), $d !== false && $d !== nil ?(((curstate = goto_table['$[]'](reduce_i)))['$=='](nil)['$!']()) : $d), $c !== false && $c !== nil ?(goto_check['$[]'](reduce_i)['$=='](k1)) : $c)) !== nil && (!$b.$$is_boolean || $b == true))) { racc_state.$push(curstate) } else { racc_state.$push(goto_default['$[]'](k1)) }; } else { racc_state.$push(goto_default['$[]'](k1)) }; } else if (act['$=='](shift_n)) { return racc_vstack['$[]'](0) } else if (act['$=='](reduce_n['$-@']())) { self.$raise($scope.get('SyntaxError'), "unexpected '" + (racc_tok.$inspect()) + "'") } else { self.$raise("Rac: unknown action: " + (act)) }; if ((($b = self.yydebug) !== nil && (!$b.$$is_boolean || $b == true))) { self.$racc_next_state(racc_state['$[]'](-1), racc_state)};}; }; def.$racc_read_token = function(t, tok, val) { var self = this; self.$puts("read " + (tok) + "(" + (self.$racc_token2str(t)) + ") " + (val.$inspect())); return self.$puts("\n"); }; def.$racc_shift = function(tok, tstack, vstack) { var self = this; self.$puts("shift " + (self.$racc_token2str(tok))); self.$racc_print_stacks(tstack, vstack); return self.$puts("\n"); }; def.$racc_reduce = function(toks, sim, tstack, vstack) { var $a, $b, TMP_1, self = this; self.$puts("reduce " + ((function() {if ((($a = toks['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "" } else { return ($a = ($b = toks).$map, $a.$$p = (TMP_1 = function(t){var self = TMP_1.$$s || this; if (t == null) t = nil; return self.$racc_token2str(t)}, TMP_1.$$s = self, TMP_1), $a).call($b) }; return nil; })())); self.$puts(" --> " + (self.$racc_token2str(sim))); return self.$racc_print_stacks(tstack, vstack); }; def.$racc_next_state = function(curstate, state) { var self = this; self.$puts("goto " + (curstate)); self.$racc_print_states(state); return self.$puts("\n"); }; def.$racc_token2str = function(tok) { var self = this; return ((self.$class()).$$scope.get('Racc_token_to_s_table'))['$[]'](tok); }; def.$racc_print_stacks = function(t, v) { var $a, $b, TMP_2, self = this; self.$puts(" ["); ($a = ($b = t).$each_index, $a.$$p = (TMP_2 = function(i){var self = TMP_2.$$s || this; if (i == null) i = nil; return self.$puts(" (" + (self.$racc_token2str(t['$[]'](i))) + " " + (v['$[]'](i).$inspect()) + ")")}, TMP_2.$$s = self, TMP_2), $a).call($b); return self.$puts(" ]"); }; return (def.$racc_print_states = function(s) { var $a, $b, TMP_3, self = this; self.$puts(" ["); ($a = ($b = s).$each, $a.$$p = (TMP_3 = function(st){var self = TMP_3.$$s || this; if (st == null) st = nil; return self.$puts(" " + (st))}, TMP_3.$$s = self, TMP_3), $a).call($b); return self.$puts(" ]"); }, nil) && 'racc_print_states'; })(self, null) })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser/grammar"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash = Opal.hash; Opal.add_stubs(['$require', '$new', '$each', '$empty?', '$[]=', '$to_i', '$split', '$new_compstmt', '$[]', '$new_block', '$<<', '$new_body', '$lex_state=', '$lexer', '$new_alias', '$s', '$to_sym', '$value', '$new_if', '$new_while', '$new_until', '$new_rescue_mod', '$new_assign', '$new_op_asgn', '$op_to_setter', '$new_unary_call', '$new_return', '$new_break', '$new_next', '$new_call', '$new_super', '$new_yield', '$new_assignable', '$new_attrasgn', '$new_colon2', '$new_colon3', '$new_const', '$new_sym', '$new_op_asgn1', '$new_irange', '$new_erange', '$new_binary_call', '$new_int', '$new_float', '$include?', '$type', '$==', '$-@', '$to_f', '$new_not', '$new_and', '$new_or', '$new_hash', '$add_block_pass', '$cmdarg_push', '$cmdarg_pop', '$new_block_pass', '$new_splat', '$line', '$new_paren', '$new_array', '$new_nil', '$cond_push', '$cond_pop', '$new_class', '$new_sclass', '$new_module', '$push_scope', '$new_def', '$pop_scope', '$new_iter', '$new_ident', '$new_block_args', '$push', '$intern', '$first', '$nil?', '$new_str', '$str_append', '$new_xstr', '$new_regexp', '$concat', '$new_str_content', '$strterm', '$strterm=', '$new_evstr', '$cond_lexpop', '$cmdarg_lexpop', '$new_gvar', '$new_ivar', '$new_cvar', '$new_dsym', '$negate_num', '$new_self', '$new_true', '$new_false', '$new___FILE__', '$new___LINE__', '$new_var_ref', '$new_kwrestarg', '$new_kwoptarg', '$new_kwarg', '$new_args_tail', '$new_args', '$add_local', '$scope', '$raise']); self.$require("racc/parser.rb"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Parser(){}; var self = $Parser = $klass($base, $super, 'Parser', $Parser); var def = self.$$proto, $scope = self.$$scope, $a, $b, TMP_1, $c, TMP_3, $d, TMP_5, $e, TMP_7, clist = nil, racc_action_table = nil, arr = nil, idx = nil, racc_action_check = nil, racc_action_pointer = nil, racc_action_default = nil, racc_goto_table = nil, racc_goto_check = nil, racc_goto_pointer = nil, racc_goto_default = nil, racc_reduce_table = nil, racc_reduce_n = nil, racc_shift_n = nil, racc_token_table = nil, racc_nt_base = nil, racc_use_result_var = nil; clist = ["63,64,65,8,51,566,-89,-83,57,58,270,203,204,61,73,59,60,62,23,24,66", "67,74,-523,785,639,767,22,28,27,90,89,91,92,543,609,17,572,270,573,768", "265,7,41,6,9,94,93,566,84,50,86,85,87,-64,88,95,96,638,81,82,-94,38", "39,-88,535,587,790,537,573,-95,203,204,-525,-83,-90,-440,101,566,566", "-90,676,100,-440,36,-90,-91,30,-523,-92,52,-75,781,54,-92,32,269,608", "-92,40,101,-93,566,265,265,100,780,18,399,-523,-81,-83,79,73,75,76,77", "78,101,-83,565,74,80,100,269,708,63,64,65,56,51,-440,53,225,57,58,37", "83,542,61,-91,59,60,62,256,257,66,67,203,204,708,341,340,255,28,27,90", "89,91,92,305,101,217,565,-525,-86,100,-526,-80,41,708,586,94,93,-87", "84,50,86,85,87,259,88,95,96,-82,81,82,620,38,39,101,101,101,565,565", "100,100,100,-90,-91,-90,-91,-84,-90,-91,-85,-525,-92,225,-92,208,522", "-92,212,778,101,52,565,873,54,100,254,270,-277,101,40,707,-447,-84,100", "-277,-82,-84,216,-447,-526,-92,305,79,73,75,76,77,78,-83,-437,735,74", "80,101,790,707,-437,639,100,56,850,732,53,735,-94,388,37,83,63,64,65", "8,51,101,732,707,57,58,100,203,204,61,-277,59,60,62,23,24,66,67,638", "265,412,341,340,22,28,27,90,89,91,92,-82,-84,17,597,341,340,597,-89", "7,41,269,9,94,93,597,84,50,86,85,87,-449,88,95,96,597,81,82,733,38,39", "409,796,787,797,-278,411,410,-82,-84,597,733,-278,203,204,888,-82,-84", "446,549,735,36,-443,552,30,597,-278,52,602,-443,54,732,32,-278,599,598", "40,599,598,600,-88,518,519,751,18,599,598,604,522,79,73,75,76,77,78", "599,598,595,74,80,-278,338,337,341,340,639,56,-95,635,53,599,598,610", "37,83,63,64,65,8,51,639,-278,101,57,58,599,598,100,61,-86,59,60,62,23", "24,66,67,-94,638,733,809,790,22,28,27,90,89,91,92,101,101,17,-271,638", "100,100,615,7,41,-271,9,94,93,-449,84,50,86,85,87,583,88,95,96,483,81", "82,799,38,39,800,225,229,234,235,236,231,233,241,242,237,238,-277,218", "219,-277,101,239,240,-277,36,100,-277,30,-526,-80,52,-526,-271,54,619", "32,222,-88,228,40,224,223,220,221,232,230,226,18,227,582,801,202,79", "73,75,76,77,78,583,552,-448,74,80,200,243,581,-227,-448,101,56,201,-277", "53,100,-277,-82,37,83,63,64,65,8,51,-90,842,843,57,58,844,95,96,61,-87", "59,60,62,23,24,66,67,-95,535,804,757,537,22,28,27,90,89,91,92,919,582", "17,-448,341,340,199,920,7,41,481,9,94,93,770,84,50,86,85,87,525,88,95", "96,790,81,82,526,38,39,575,442,-81,225,-448,-442,225,576,443,-271,-89", "-448,-442,813,888,514,-271,-445,814,735,36,-446,515,30,-445,918,52,385", "-446,54,732,32,816,-279,222,40,490,222,224,223,-279,224,223,18,490,444", "445,592,79,73,75,76,77,78,593,574,444,74,80,-448,338,337,341,340,-271", "56,535,447,53,537,513,-258,37,83,63,64,65,8,51,-444,448,535,57,58,534", "-525,-444,61,-279,59,60,62,23,24,66,67,203,204,733,397,398,22,28,27", "90,89,91,92,809,790,17,-278,298,299,818,615,7,41,-278,9,94,93,753,84", "50,86,85,87,-279,88,95,96,213,81,82,-279,38,39,479,225,229,234,235,236", "231,233,241,242,237,238,-324,218,219,262,481,239,240,-324,36,483,263", "30,203,204,52,711,-278,54,573,32,222,826,228,40,224,223,220,221,232", "230,226,18,227,-279,703,828,79,73,75,76,77,78,690,831,832,74,80,834", "243,836,63,64,65,56,51,-324,53,-440,57,58,37,83,838,61,-440,59,60,62", "256,257,66,67,103,104,105,106,107,255,288,292,90,89,91,92,700,840,217", "698,338,337,341,340,490,41,688,-259,94,93,305,84,50,86,85,87,-63,88", "95,96,507,81,82,684,38,39,683,225,229,234,235,236,231,233,241,242,237", "238,682,218,219,297,508,239,240,296,208,509,676,212,851,852,52,853,854", "54,528,644,222,252,228,40,224,223,220,221,232,230,226,216,227,856,857", "676,79,73,75,76,77,78,516,859,668,74,80,-257,243,863,-227,666,-75,56", "690,665,53,868,274,870,37,83,63,64,65,8,51,663,244,305,57,58,655,654", "876,61,878,59,60,62,23,24,66,67,103,104,105,106,107,22,28,27,90,89,91", "92,879,305,17,305,338,337,341,340,7,41,265,9,94,93,225,84,50,86,85,87", "225,88,95,96,225,81,82,225,38,39,892,225,229,234,235,236,231,233,241", "242,237,238,-260,218,219,523,524,239,240,265,36,894,618,30,-257,198", "52,-526,552,54,617,32,222,904,228,40,224,223,220,221,232,230,226,18", "227,905,197,196,79,73,75,76,77,78,195,910,831,74,80,912,243,636,836", "836,838,56,225,614,53,611,607,603,37,83,63,64,65,8,51,921,305,108,57", "58,579,578,927,61,577,59,60,62,23,24,66,67,103,104,105,106,107,22,28", "27,90,89,91,92,401,554,17,333,331,330,682,332,7,41,97,9,94,93,562,84", "50,86,85,87,561,88,95,96,552,81,82,550,38,39,937,225,229,234,235,236", "231,233,241,242,237,238,836,218,219,939,940,239,240,549,36,546,483,30", "539,538,52,,,54,,32,222,,228,40,224,223,220,221,232,230,226,18,227,", ",,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,", "61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,554,217,333", "331,330,,332,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225", "229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212", ",,52,,,54,,644,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79", "73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59", "60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,554,217,333,331,330", ",332,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,745,,333,331,330", "735,332,,,,,,557,,,,732,,,,560,,,899,,,212,225,,52,,,54,,,,,,335,730", ",,,,,,338,337,341,340,,79,73,75,76,77,78,,222,,74,80,224,223,220,221", ",,56,,,53,,,,293,83,63,64,65,8,51,,,733,57,58,,,,61,,59,60,62,23,24", "66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237", "238,,218,219,,,239,240,,36,,,30,,,52,,,54,,32,222,,228,40,224,223,220", "221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65", "56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81", "82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239", "240,,208,,,212,,,52,,,54,,,222,252,228,40,224,223,220,221,232,230,226", "216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58", "37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217", ",,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229,234", "235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212,,,52,", ",54,,,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76", "77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237", "238,,218,219,,,239,240,,208,,,212,213,,52,,,54,,,222,,228,40,224,223", "220,221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,", "208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230,226,216,227", ",,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83", ",61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,", ",41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229,234,235", "236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212,,,52,,,54", ",,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76,77", "78,,,,74,80,,243,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,", "59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94", "93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231", "233,241,242,237,238,,218,219,,,239,240,,36,,,30,,,52,,,54,,32,222,,228", "40,224,223,220,221,232,230,226,18,227,,,,79,73,75,76,77,78,,,,74,80", ",243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,", ",,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259", "88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237,238", ",218,219,,,239,240,,208,,,212,,,52,,,54,,254,222,252,228,40,224,223", "220,221,232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81", "82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,218,219,,,239", "240,,208,,,212,,,52,,,54,,254,222,252,228,40,224,223,220,221,232,230", "226,216,227,,,,79,73,75,76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,", "57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92,", ",217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,225", "229,234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,208,,,212", ",,52,,,54,,254,222,252,228,40,224,223,220,221,232,230,226,216,227,,", ",79,73,75,76,77,78,,,,74,80,,243,,,,,56,,,53,,,,37,83,63,64,65,8,51", ",,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17", ",,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,229", "234,235,236,231,233,241,242,237,238,,218,219,,,239,240,,36,,,30,,,52", ",,54,,32,222,,228,40,224,223,220,221,232,230,226,18,227,,,,79,73,75", "76,77,78,,,,74,80,,243,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62", "23,24,66,67,,,,,,22,28,27,90,89,91,92,,554,17,333,331,330,225,332,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,554,,333,331,330,,332", "222,,557,,224,223,220,221,,,560,,,208,,,212,225,,52,,,54,,,,,,40,,,557", ",239,240,,18,,,806,,79,73,75,76,77,78,,222,,74,80,224,223,220,221,,", "56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67", ",,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40", ",,324,,333,331,330,18,332,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65", "56,51,,53,,57,58,37,83,,61,335,59,60,62,256,257,66,67,338,337,341,340", ",255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242,237,238,,-546", "-546,,,239,240,,208,,,212,,,52,,,54,,254,222,,228,40,224,223,220,221", "232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37", "83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27", "90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82", ",38,39,,225,,,,,,,,,,,,,,,,239,240,,36,,,278,,,52,,,54,,32,222,,228", "40,224,223,220,221,,,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,,,63", "64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288", "292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,324,,333,331,330,,332,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54,,282,,", ",335,,,,,,,,338,337,341,340,,79,73,75,76,77,78,772,,,74,80,,,,63,64", "65,56,51,,53,,57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288", "292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,745,,333,331,330,735,332,,,,,,,,,,732,,,,,,,286,,,212,,,52,,,54,", ",,,,335,,,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,295,,", "56,,,53,,,,293,83,63,64,65,,51,,,733,57,58,,,,61,,59,60,62,256,257,66", "67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,,,237,238,,", ",,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230", "226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57", "58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,", "217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,-546", "-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52,,,54", ",,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76,77", "78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257", "66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86", "85,87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,,237", "238,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221", "232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51", ",53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225", ",,,,,,,,,,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220", "221,,,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225", "-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52", ",,54,,,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76", "77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,225,229,234,235,236,231,233,241,242", "237,238,,-546,-546,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224", "223,220,221,232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63", "64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288", "292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,,38,39,,225,-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240", ",208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221,232,230,226,216,227", ",,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,-546,-546,-546", "-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228", "40,224,223,220,221,232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80", ",,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24", "66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,225,,,,,,,,,,,,,,,,239,240,,36,,,30,,,52", ",,54,,32,222,,228,40,224,223,220,221,,,226,18,227,,,,79,73,75,76,77", "78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257", "66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86", "85,87,,88,95,96,,81,82,,38,39,,225,-546,-546,-546,-546,231,233,,,-546", "-546,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220,221", "232,230,226,216,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51", ",53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92", ",,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,", ",,,,,,,,,,,,,,239,240,,208,,,212,,,52,,,54,,,222,,228,40,224,223,220", "221,,,226,18,227,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,225", "-546,-546,-546,-546,231,233,,,-546,-546,,,,,,239,240,,208,,,212,,,52", ",,54,,254,222,,228,40,224,223,220,221,232,230,226,216,227,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,259,88,95,96,,81,82,,38,39,,225,,,,,,,,,,,,,,,,239,240,,208", ",,212,,,52,,,54,,,222,,228,40,224,223,220,221,,,,216,,,,,79,73,75,76", "77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,", "59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94", "93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,225,,,,,,,,,,,,,,,,239,240", ",36,,,30,,,52,,,54,,32,222,,228,40,224,223,220,221,,,,18,,,,,79,73,75", "76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61", ",59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94", "93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,", "30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63", "64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27", "90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,", "38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,", "79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59", "60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84", "50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,", "52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65", "56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89", "91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39", ",,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73", "75,76,77,78,,,,74,80,101,,,,,100,56,,,53,,,,37,83,63,64,65,,51,,,,57", "58,,,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217", ",,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,324,,333,331,330", ",332,,,,,,,,,,,,,,,,,353,,,30,,,52,,,54,,32,,,,335,319,,,,,,,338,337", "341,340,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,293", "83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,", ",,,,289,,,94,93,,84,50,86,85,358,,88,95,96,,81,82,745,,333,331,330,735", "332,,,,,,,,,,732,,,,364,,,359,,,212,,,52,,,54,,,,,,335,,,,,,,,338,337", "341,340,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,293,83,63,64,65", "8,51,,,733,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91", "92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,", ",,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,", ",,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52", ",,54,,418,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65", "56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82", "324,,333,331,330,,332,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54,,,,,,335,", "545,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,745", ",333,331,330,735,332,,,,,,,,,,732,,,,,,,286,,,283,,,52,,,54,,,,,,335", "730,,,,,,,338,337,341,340,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53", ",,,293,83,63,64,65,8,51,,,733,57,58,,,,61,,59,60,62,23,24,66,67,,,,", ",22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,", ",,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65", "8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92", ",,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,", ",,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76", "77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,", "52,,,54,,,,252,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56", ",,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,", ",,22,28,27,90,89,91,92,,,17,,,,,,7,41,6,9,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40", ",,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,401,56,,,53,,,,37,83,63", "64,65,,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91", "92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,", ",,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17", ",,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,", ",,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67", ",,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40", ",,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64", "65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91", "92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,", ",,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75", "76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61", ",59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,6,9,94", "93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,", "30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63", "64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288", "292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96", ",81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,644,,252,,40", ",,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63", "64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89", "91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39", ",,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73", "75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62", "256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84", "50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,", "52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,", ",53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,", ",22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,", ",,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37", "83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,418,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74", "80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,", ",22,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,418,,,,40", ",,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57", "58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,217,", ",,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,", ",,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66", "67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87", "259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", "254,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,", ",37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28", "27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18", ",,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80", ",,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22", "28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,", "81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,", "216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83", ",61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,", "94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208", ",,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,", "63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28", "27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82", ",38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,", ",79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,", "59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,", ",94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208", ",,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,", ",63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28", "27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216", ",,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,217,,,,,,,41,,,94", "93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,", ",212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,", "63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28", "27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216", ",,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,756,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74", "80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,", ",,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40", ",,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63", "64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89", "91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39", ",,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73", "75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62", "23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86", "85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,450,52", ",,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52", ",,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212", ",,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82", ",38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,", ",,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80", ",,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,", "255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,", ",,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58", "37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217", ",,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,", ",,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66", "67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,", "53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91", "92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,", ",,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52", ",,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212", ",,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82", ",38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,", ",,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80", ",,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,", "255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,", ",,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58", "37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217", ",,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,", ",,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66", "67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,", "53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91", "92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,", ",,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52", ",,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212", ",,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82", ",38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,", ",,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,", "208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80", ",,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,", "255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,", ",,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58", "37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217", ",,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,", ",,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66", "67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,", "53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91", "92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,", ",,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,", ",,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73", "75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62", "256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84", "50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212", ",,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63", "64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288", "292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216", ",,,,79,73,75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51", ",,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17", ",,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,", ",,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77", "78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257", "66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86", "85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54", ",,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51", ",53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89", "91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39", ",,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73", "75,76,77,78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,", ",,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41", ",9,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,", ",36,,,30,,,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80", ",,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24", "66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32", ",,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53", ",57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92", ",,217,,,,,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,", ",,,,,,,,,,,,694,,,212,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78", ",,,74,80,,,,63,64,65,56,51,,53,,57,58,293,83,,61,,59,60,62,256,257,66", "67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87", "259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", "254,,252,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90,89", "91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,499,,,54,,254,,252,,40,,,,,,,,216", ",,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,", "94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,", ",208,,,212,,503,52,,,54,,254,,252,,40,,,,,,,,216,,,,,79,73,75,76,77", "78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59", "60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30", ",,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56", ",,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,", ",,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88,95", "96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40,,,", ",,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37", "83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,", ",,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,", ",,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77", "78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59", "60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,278", ",,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,644,,,,40,,,,,,,", "216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83", ",61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,", "94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208", ",,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,", "63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255", "288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96", ",81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,", ",216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37", "83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,", ",,,,289,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,", ",,,,286,,,212,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80", ",,,511,,,56,,,53,,,,293,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86", "85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,278,,,52,,,54", ",32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51", ",53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89", "91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39", ",,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73", "75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62", "256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84", "50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,", "52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65", "56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,28,27,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82", ",38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,254,,,,40,,,,,,,,216", ",,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61", ",59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289", ",,94,93,,84,50,86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,286", ",,283,,,52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,,,,56", ",,53,,,,293,83,63,64,65,8,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,", ",,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93,,84,50,86,85,87,,88", "95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30,,,52,,,54,,32,,,,40", ",,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,,,401,56,,,53,,,,37,83,63", "64,65,,51,,,,57,58,,,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91", "92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,", ",,,,,,,,,,,,,,,,,208,,,212,,659,52,,,54,,,,252,,40,,,,,,,,18,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212", ",,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292", "90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,259,88,95,96,,81", "82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,252,,40,,,,,,,", "216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83", ",61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,", ",41,,,94,93,,84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,", ",,,,,,,208,,,212,,,52,,,54,,644,,252,,40,,,,,,,,216,,,,,79,73,75,76", "77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,286,,,283,,,52,,,54", ",,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,", "57,58,293,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92", ",,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,", ",,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76", "77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256", "257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50", "86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52", ",,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90", "89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,216,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,28,27,90,89,91,92,,,217,,,,,,,41,,,94,93,", "84,50,86,85,87,259,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,", "212,,,52,,,54,,254,,,,40,,,,,,,,216,,,,,79,73,75,76,77,78,,,,74,80,", ",,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,256,257,66,67,,,,,,255", "288,292,90,89,91,92,,,217,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96", ",81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,", ",216,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37", "83,,61,,59,60,62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,", ",,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,", ",,,,,,,208,,,212,528,,52,,,54,,,,,,40,,,,,,,,216,,,,,79,73,75,76,77", "78,,,,74,80,,,,,,,56,,,53,,,,37,83,63,64,65,8,51,,,,57,58,,,,61,,59", "60,62,23,24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,7,41,,9,94,93", ",84,50,86,85,87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,36,,,30", ",,52,,,54,,32,,,,40,,,,,,,,18,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64", "65,56,51,,53,,57,58,37,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90", "89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38", "39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79", "73,75,76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60", "62,256,257,66,67,,,,,,255,288,292,90,89,91,92,,,217,,,,,,,289,,,94,93", ",84,50,86,85,358,,88,95,96,,81,82,,,,,,,,,,,,,,,,,,,,,,,,359,,,212,", ",52,,,54,,,,,,,,,,,,,,,,,,,79,73,75,76,77,78,,,,74,80,,,,63,64,65,56", "51,,53,,57,58,293,83,,61,,59,60,62,23,24,66,67,,,,,,22,28,27,90,89,91", "92,,,17,,,,,,,41,,,94,93,,84,50,86,85,87,,88,95,96,,81,82,,38,39,,,", ",,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,,,,,,40,,,,,,,,18,,,,,79,73,75", "76,77,78,,,,74,80,,,,63,64,65,56,51,,53,,57,58,37,83,,61,,59,60,62,23", "24,66,67,,,,,,22,28,27,90,89,91,92,,,17,,,,,,,41,,,94,93,,84,50,86,85", "87,,88,95,96,,81,82,,38,39,,,,,,,,,,,,,,,,,,,,,208,,,212,,,52,,,54,", ",,,,40,,,,,,,,18,,,,-277,79,73,75,76,77,78,-277,-277,-277,74,80,,-277", "-277,,-277,,56,,,53,,,,37,83,,,,,,,,,,-277,-277,,-277,-277,-277,-277", "-277,,,,,,,,,,,,,,,,,,,,,,,,-277,-277,-277,-277,-277,-277,-277,-277", "-277,-277,-277,-277,-277,-277,,,-277,-277,-277,,628,,,,-277,,,,,,,-277", ",-277,,-277,-277,-277,-277,-277,-277,-277,,-277,,-277,,,,,,,,,,,,,-277", "-277,,-85,,-277,-277,,-277,,,-93,,-277,-277,-277,,,-277,-277,-277,,-277", ",,,,,,,,,-277,-277,,,,,,,,,-277,-277,,-277,-277,-277,-277,-277,,,,,", ",,,,,,,,,,,,,,,,,,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277", "-277,-277,-277,-277,,,-277,-277,-277,,628,-277,,,-277,,,-277,,-277,", "-277,,-277,,-277,-277,-277,-277,-277,-277,-277,,-277,,-277,,,,,,,,,", ",,,-277,-277,-277,-277,,-277,-437,,-277,,,-93,,-437,-437,-437,,,-437", "-437,-437,,-437,,,,,,,,-437,,-437,-437,-437,,,,,,,,-437,-437,,-437,-437", "-437,-437,-437,,,,,,,,,,,,,,,,,,,,,,,,-437,-437,-437,-437,-437,-437", "-437,-437,-437,-437,-437,-437,-437,-437,,,-437,-437,-437,,-437,-437", ",,-437,,,-437,,-437,,-437,,-437,,-437,-437,-437,-437,-437,-437,-437", ",-437,,-437,,,,,,,,,,,,,-437,-437,-437,-437,,-437,-529,-437,-437,,,-437", ",-529,-529,-529,,,,-529,-529,,-529,,,,,,,,,-529,,,,,,,,,,,-529,-529", ",-529,-529,-529,-529,-529,,,,,,,,,,,,,,,,,,,,,,,,-529,-529,-529,-529", "-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,,,-529,-529,-529,", "625,,,,-529,,,,,,,-529,,-529,,-529,-529,-529,-529,-529,-529,-529,,-529", "-529,-529,,,,,,,,,,,,,-529,-529,,-83,,-529,-529,,-529,,,-91,,-529,-529", "-529,,,-529,-529,-529,,-529,,,,,,,,,-529,-529,-529,,,,,,,,,-529,-529", ",-529,-529,-529,-529,-529,,,,,,,,,,,,,,,,,,,,,,,,-529,-529,-529,-529", "-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,,,-529,-529,-529,", "769,-529,,,-529,,,-529,,-529,,-529,,-529,,-529,-529,-529,-529,-529,-529", "-529,,-529,-529,-529,,,,,,,,,,,,,-529,-529,-529,-529,,-529,-440,,-529", ",,-91,,-440,-440,-440,,,-440,-440,-440,,-440,,,,,,,,-440,,-440,-440", "-440,,,,,,,,-440,-440,,-440,-440,-440,-440,-440,,,,,,,,,,,,,,,,,,,,", ",,,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440", "-440,,,-440,-440,-440,,-440,-440,,,-440,,,-440,,-440,,-440,,-440,,-440", "-440,-440,-440,-440,-440,-440,,-440,,-440,,,,,,,,,,,,,-440,-440,-440", "-440,,-440,-373,-440,-440,,,-440,,-373,-373,-373,,,-373,-373,-373,,-373", ",,,,,,,,-373,-373,-373,,,,,,,,,-373,-373,,-373,-373,-373,-373,-373,", ",,,,,,,,,,,,,,,,,,,,,,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373", "-373,-373,-373,-373,,,-373,-373,-373,,,-373,,265,-373,,,-373,,-373,", "-373,,-373,,-373,-373,-373,-373,-373,-373,-373,,-373,-373,-373,,,,,", ",,,,,,,-373,-373,-373,-373,-530,-373,,,-373,,,-530,-530,-530,,,-530", "-530,-530,,-530,,,,,,,,,-530,-530,-530,-530,,,,,,,,-530,-530,,-530,-530", "-530,-530,-530,,,,,,,,,,,,,,,,,,,,,,,,-530,-530,-530,-530,-530,-530", "-530,-530,-530,-530,-530,-530,-530,-530,,,-530,-530,-530,,,-530,,,-530", ",,-530,,-530,,-530,,-530,,-530,-530,-530,-530,-530,-530,-530,,-530,-530", "-530,,,,,,,,,,,,,-530,-530,-530,-530,-545,-530,,-530,-530,,,-545,-545", "-545,,,-545,-545,-545,,-545,,,,,,,,,-545,-545,-545,,,,,,,,,-545,-545", ",-545,-545,-545,-545,-545,,,,,,,,,,,,,,,,,,,,,,,,-545,-545,-545,-545", "-545,-545,-545,-545,-545,-545,-545,-545,-545,-545,,,-545,-545,-545,", ",-545,,265,-545,,,-545,,-545,,-545,,-545,,-545,-545,-545,-545,-545,-545", "-545,,-545,-545,-545,,,,,,,,,,,,,-545,-545,-545,-545,-531,-545,,,-545", ",,-531,-531,-531,,,-531,-531,-531,,-531,,,,,,,,,-531,-531,-531,-531", ",,,,,,,-531,-531,,-531,-531,-531,-531,-531,,,,,,,,,,,,,,,,,,,,,,,,-531", "-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,,,-531", "-531,-531,,,-531,,,-531,,,-531,,-531,,-531,,-531,,-531,-531,-531,-531", "-531,-531,-531,,-531,-531,-531,,,,,,,,,,,,,-531,-531,-531,-531,-285", "-531,,-531,-531,,,-285,-285,-285,,,-285,-285,-285,,-285,,,,,,,,,,-285", "-285,,,,,,,,,-285,-285,,-285,-285,-285,-285,-285,,,,,,,,,,,,,,,,,,,", ",,,,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285", "-285,,,-285,-285,-285,,,-285,,274,-285,,,-285,,-285,,-285,,-285,,-285", "-285,-285,-285,-285,-285,-285,,-285,,-285,,,,,,,,,,,,,-285,-285,-285", "-285,-272,-285,,,-285,,,-272,-272,-272,,,-272,-272,-272,,-272,,,,,,", ",,,-272,-272,-272,,,,,,,,-272,-272,,-272,-272,-272,-272,-272,,,,,,,", ",,,,,,,,,,,,,,,,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272", "-272,-272,-272,,,-272,-272,-272,,,-272,,,-272,,,-272,,-272,,-272,,-272", ",-272,-272,-272,-272,-272,-272,-272,,-272,,-272,,,,,,,,,,,,,-272,-272", "-272,-272,-545,-272,,-272,-272,,,-545,-545,-545,,,-545,-545,-545,,-545", ",,,,,,,,,-545,,,,,,,,,,-545,-545,,-545,-545,-545,-545,-545,,,,,,,,,", ",,,-545,,,,,,,-545,-545,-545,,,-545,-545,-545,,-545,,,,,,-545,,,,-545", ",,-545,,,,,265,-545,-545,-545,,-545,-545,-545,-545,-545,,,,,,,,,,,,", "-545,,,,,,,,,,,,,-545,,-545,,,-545,,,,-545,,,,,,,-545,,,,,265,-545,", ",,,,,,,,,,,,,,,,,,,-545,,,,,,,,,,,,,-545,,-545,,,-545,156,167,157,180", "153,173,163,162,188,191,178,161,160,155,181,189,190,165,154,168,172", "174,166,159,,,,175,182,177,176,169,179,164,152,171,170,183,184,185,186", "187,151,158,149,150,147,148,,111,113,,,112,,,,,,,,,142,143,,139,121", "122,123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135", ",120,141,138,137,133,134,128,126,118,140,119,,,146,192,,,,,,,,,,80,156", "167,157,180,153,173,163,162,188,191,178,161,160,155,181,189,190,165", "154,168,172,174,166,159,,,,175,182,177,176,169,179,164,152,171,170,183", "184,185,186,187,151,158,149,150,147,148,,111,113,110,,112,,,,,,,,,142", "143,,139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,", ",,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,,,146,192", ",,,,,,,,,80,156,167,157,180,153,173,163,162,188,191,178,161,160,155", "181,189,190,165,154,168,172,174,166,159,,,,175,182,177,176,169,179,164", "152,171,170,183,184,185,186,187,151,158,149,150,147,148,,111,113,,,112", ",,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145,131", "132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119", ",,146,192,,,,,,,,,,80,156,167,157,180,153,173,163,162,188,191,178,161", "160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177,176,169", "179,164,152,171,170,183,184,185,186,187,151,158,149,150,147,148,,111", "113,,,112,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,", "144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126", "118,140,119,,,146,192,,,,,,,,,,80,156,167,157,180,153,173,163,162,188", "191,178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182", "177,176,169,179,164,152,171,170,183,184,185,186,187,151,158,149,150", "147,148,,111,113,,,112,,,,,,,,,142,143,,139,121,122,123,130,127,129", ",,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133", "134,128,126,118,140,119,,,146,156,167,157,180,153,173,163,162,188,191", "178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182,177", "176,169,179,164,152,171,170,183,184,185,186,187,151,158,149,150,147", "148,,111,113,395,394,112,,396,,,,,,,142,143,,139,121,122,123,130,127", "129,,,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137", "133,134,128,126,118,140,119,,,146,156,167,157,180,153,173,163,162,188", "191,178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175,182", "177,176,169,179,164,152,171,170,183,184,185,186,187,151,158,149,150", "147,148,,111,113,395,394,112,,396,,,,,,,142,143,,139,121,122,123,130", "127,129,,,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138", "137,133,134,128,126,118,140,119,,,146,156,167,157,180,153,173,163,162", "188,191,178,161,160,155,181,189,190,165,154,168,172,174,166,159,,,,175", "182,177,373,372,374,371,152,171,170,183,184,185,186,187,151,158,149", "150,369,370,,367,113,86,85,368,,88,,,,,,,142,143,,139,121,122,123,130", "127,129,,,124,125,,,,144,145,131,132,,,,,,378,,,,,,,136,135,,120,141", "138,137,133,134,128,126,118,140,119,631,436,146,,632,,,,,,,,,142,143", ",139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,,,,,", ",,136,135,,120,141,138,137,133,134,128,126,118,140,119,487,430,146,", "488,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145", "131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128,126,118", "140,119,722,436,146,,720,,,,,,,,,142,143,,139,121,122,123,130,127,129", ",,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133", "134,128,126,118,140,119,629,430,146,,630,,,,,,,,,142,143,,139,121,122", "123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135", ",120,141,138,137,133,134,128,126,118,140,119,717,436,146,,718,,,,,,", ",,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132", ",,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,715", "430,146,,716,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125", ",,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128", "126,118,140,119,932,430,146,,933,,,,,,,,,142,143,,139,121,122,123,130", "127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141", "138,137,133,134,128,126,118,140,119,934,436,146,,935,,,,,,,,,142,143", ",139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,,,,,", ",,136,135,,120,141,138,137,133,134,128,126,118,140,119,487,430,146,", "488,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145", "131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140", "119,487,430,146,,488,,,,,,,,,142,143,,139,121,122,123,130,127,129,,", "124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133", "134,128,126,118,140,119,631,436,146,,632,,,,,,,,,142,143,,139,121,122", "123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,,,,,,,,136,135,,120", "141,138,137,133,134,128,126,118,140,119,432,436,146,,434,,,,,,,,,142", "143,,139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,", ",,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,673,436,146", ",674,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145", "131,132,,,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140", "119,670,430,146,,671,,,,,,,,,142,143,,139,121,122,123,130,127,129,,", "124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133", "134,128,126,118,140,119,426,430,146,,427,,,,,,,,,142,143,,139,121,122", "123,130,127,129,,,124,125,,,,144,145,131,132,,,,,,265,,,,,,,136,135", ",120,141,138,137,133,134,128,126,118,140,119,722,436,146,,865,,,,,,", ",,142,143,,139,121,122,123,130,127,129,,,124,125,,,,144,145,131,132", ",,,,,,,,,,,,136,135,,120,141,138,137,133,134,128,126,118,140,119,629", "430,146,,630,,,,,,,,,142,143,,139,121,122,123,130,127,129,,,124,125", ",,,144,145,131,132,,,,,,265,,,,,,,136,135,,120,141,138,137,133,134,128", "126,118,140,119,,,146"]; racc_action_table = arr = Opal.get('Array').$new(23792, nil); idx = 0; ($a = ($b = clist).$each, $a.$$p = (TMP_1 = function(str){var self = TMP_1.$$s || this, $a, $b, TMP_2; if (str == null) str = nil; return ($a = ($b = str.$split(",", -1)).$each, $a.$$p = (TMP_2 = function(i){var self = TMP_2.$$s || this, $a; if (i == null) i = nil; if ((($a = i['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { arr['$[]='](idx, i.$to_i()) }; return idx = $rb_plus(idx, 1);}, TMP_2.$$s = self, TMP_2), $a).call($b)}, TMP_1.$$s = self, TMP_1), $a).call($b); clist = ["0,0,0,0,0,345,816,673,0,0,55,727,727,0,71,0,0,0,0,0,0,0,71,358,669,477", "629,0,0,0,0,0,0,0,318,389,0,349,26,349,630,672,0,0,0,0,0,0,344,0,0,0", "0,0,665,0,0,0,477,0,0,577,0,0,351,685,363,907,685,907,354,594,594,673", "673,629,358,3,862,869,715,667,3,358,0,932,934,0,358,630,0,665,660,0", "933,0,55,389,716,0,727,718,815,26,675,727,657,0,97,358,816,673,0,0,0", "0,0,0,345,673,345,0,0,345,26,817,918,918,918,0,918,358,0,678,918,918", "0,0,318,918,717,918,918,918,918,918,918,918,307,307,568,831,831,918", "918,918,918,918,918,918,594,344,918,344,934,577,344,718,351,918,569", "363,918,918,354,918,918,918,918,918,918,918,918,918,715,918,918,427", "918,918,363,862,869,862,869,363,862,869,932,934,932,934,716,932,934", "718,717,933,679,933,918,445,933,918,653,815,918,815,815,918,815,918", "290,935,817,918,817,369,427,817,935,670,671,918,369,935,427,307,918", "918,918,918,918,918,717,367,836,918,918,568,681,568,367,501,568,918", "770,836,918,828,445,78,918,918,916,916,916,916,916,569,828,569,916,916", "569,680,680,916,935,916,916,916,916,916,916,916,501,290,193,836,836", "916,916,916,916,916,916,916,670,671,916,605,828,828,382,770,916,916", "290,916,916,916,386,916,916,916,916,916,207,916,916,916,380,916,916", "836,916,916,110,686,680,687,516,110,110,670,671,391,828,516,449,449", "834,670,671,209,690,834,916,373,692,916,384,921,916,384,373,916,834", "916,921,605,605,916,382,382,382,207,293,293,605,916,386,386,386,297", "916,916,916,916,916,916,380,380,380,916,916,516,834,834,834,834,500", "916,209,449,916,391,391,391,916,916,908,908,908,908,908,490,921,731", "908,908,384,384,731,908,297,908,908,908,908,908,908,908,297,500,834", "922,922,908,908,908,908,908,908,908,725,348,908,900,490,725,348,416", "908,908,900,908,908,908,35,908,908,908,908,908,693,908,908,908,643,908", "908,693,908,908,694,416,416,416,416,416,416,416,416,416,416,416,674", "416,416,720,275,416,416,674,908,275,720,908,674,35,908,720,900,908,426", "908,416,35,416,908,416,416,416,416,416,416,416,908,416,693,695,14,908", "908,908,908,908,908,361,696,897,908,908,13,416,361,416,897,587,908,13", "674,908,587,720,426,908,908,903,903,903,903,903,426,749,749,903,903", "749,749,749,903,14,903,903,903,903,903,903,903,14,311,699,618,311,903", "903,903,903,903,903,903,898,361,903,897,552,552,13,898,903,903,641,903", "903,903,633,903,903,903,903,903,300,903,903,903,704,903,903,300,903", "903,352,206,618,454,284,372,453,352,206,287,618,284,372,710,912,285", "287,371,712,912,903,370,285,903,371,898,903,77,370,903,912,903,714,785", "454,903,626,453,454,454,785,453,453,903,621,300,208,376,903,903,903", "903,903,903,376,352,206,903,903,284,912,912,912,912,287,903,314,210", "903,314,285,616,903,903,896,896,896,896,896,374,211,310,896,896,310", "722,374,896,785,896,896,896,896,896,896,896,343,343,912,83,83,896,896", "896,896,896,896,896,702,702,896,579,37,37,723,634,896,896,579,896,896", "896,609,896,896,896,896,896,940,896,896,896,217,896,896,940,896,896", "249,634,634,634,634,634,634,634,634,634,634,634,42,634,634,25,250,634", "634,42,896,253,25,896,15,15,896,571,579,896,570,896,634,734,634,896", "634,634,634,634,634,634,634,896,634,940,564,738,896,896,896,896,896", "896,801,739,741,896,896,742,634,743,894,894,894,896,894,42,896,368,894", "894,896,896,745,894,368,894,894,894,894,894,894,894,664,664,664,664", "664,894,894,894,894,894,894,894,559,748,894,555,801,801,801,801,264", "894,544,755,894,894,41,894,894,894,894,894,277,894,894,894,279,894,894", "531,894,894,530,656,656,656,656,656,656,656,656,656,656,656,529,656", "656,36,280,656,656,34,894,281,520,894,773,774,894,777,779,894,517,894", "656,894,656,894,656,656,656,656,656,656,656,894,656,782,783,784,894", "894,894,894,894,894,286,788,512,894,894,791,656,792,656,510,507,894", "546,506,894,807,288,810,894,894,877,877,877,877,877,502,20,289,877,877", "496,495,819,877,822,877,877,877,877,877,877,877,276,276,276,276,276", "877,877,877,877,877,877,877,823,824,877,492,546,546,546,546,877,877", "292,877,877,877,458,877,877,877,877,877,457,877,877,877,456,877,877", "455,877,877,846,476,476,476,476,476,476,476,476,476,476,476,847,476", "476,298,299,476,476,433,877,855,425,877,421,12,877,865,866,877,419,877", "476,871,476,877,476,476,476,476,476,476,476,877,476,872,11,10,877,877", "877,877,877,877,9,880,882,877,877,885,476,476,886,887,888,877,302,413", "877,407,388,385,877,877,874,874,874,874,874,899,309,6,874,874,359,355", "909,874,353,874,874,874,874,874,874,874,5,5,5,5,5,874,874,874,874,874", "874,874,350,560,874,560,560,560,917,560,874,874,1,874,874,874,342,874", "874,874,874,874,339,874,874,874,327,874,874,326,874,874,926,766,766", "766,766,766,766,766,766,766,766,766,928,766,766,929,931,766,766,324", "874,323,315,874,313,312,874,,,874,,874,766,,766,874,766,766,766,766", "766,766,766,874,766,,,,874,874,874,874,874,874,,,,874,874,,766,,873", "873,873,874,873,,874,,873,873,874,874,,873,,873,873,873,873,873,873", "873,,,,,,873,873,873,873,873,873,873,,806,873,806,806,806,,806,,873", ",,873,873,,873,873,873,873,873,,873,873,873,,873,873,,873,873,,849,849", "849,849,849,849,849,849,849,849,849,,849,849,,,849,849,,873,,,873,,", "873,,,873,,873,849,,849,873,849,849,849,849,849,849,849,873,849,,,,873", "873,873,873,873,873,,,,873,873,,849,,863,863,863,873,863,,873,,863,863", "873,873,,863,,863,863,863,863,863,863,863,,,,,,863,863,863,863,863,863", "863,,557,863,557,557,557,,557,,863,,,863,863,,863,863,863,863,863,,863", "863,863,,863,863,891,,891,891,891,891,891,,,,,,557,,,,891,,,,557,,,863", ",,863,472,,863,,,863,,,,,,891,891,,,,,,,891,891,891,891,,863,863,863", "863,863,863,,472,,863,863,472,472,472,472,,,863,,,863,,,,863,863,859", "859,859,859,859,,,891,859,859,,,,859,,859,859,859,859,859,859,859,,", ",,,859,859,859,859,859,859,859,,,859,,,,,,859,859,,859,859,859,,859", "859,859,859,859,,859,859,859,,859,859,,859,859,,439,439,439,439,439", "439,439,439,439,439,439,,439,439,,,439,439,,859,,,859,,,859,,,859,,859", "439,,439,859,439,439,439,439,439,439,439,859,439,,,,859,859,859,859", "859,859,,,,859,859,,439,,854,854,854,859,854,,859,,854,854,859,859,", "854,,854,854,854,854,854,854,854,,,,,,854,854,854,854,854,854,854,,", "854,,,,,,,854,,,854,854,,854,854,854,854,854,854,854,854,854,,854,854", ",854,854,,247,247,247,247,247,247,247,247,247,247,247,,247,247,,,247", "247,,854,,,854,,,854,,,854,,,247,854,247,854,247,247,247,247,247,247", "247,854,247,,,,854,854,854,854,854,854,,,,854,854,,247,,850,850,850", "854,850,,854,,850,850,854,854,,850,,850,850,850,850,850,850,850,,,,", ",850,850,850,850,850,850,850,,,850,,,,,,,850,,,850,850,,850,850,850", "850,850,,850,850,850,,850,850,,850,850,,527,527,527,527,527,527,527", "527,527,527,527,,527,527,,,527,527,,850,,,850,,,850,,,850,,,527,,527", "850,527,527,527,527,527,527,527,850,527,,,,850,850,850,850,850,850,", ",,850,850,,527,,17,17,17,850,17,,850,,17,17,850,850,,17,,17,17,17,17", "17,17,17,,,,,,17,17,17,17,17,17,17,,,17,,,,,,,17,,,17,17,,17,17,17,17", "17,,17,17,17,,17,17,,17,17,,424,424,424,424,424,424,424,424,424,424", "424,,424,424,,,424,424,,17,,,17,17,,17,,,17,,,424,,424,17,424,424,424", "424,424,424,424,17,424,,,,17,17,17,17,17,17,,,,17,17,,424,,18,18,18", "17,18,,17,,18,18,17,17,,18,,18,18,18,18,18,18,18,,,,,,18,18,18,18,18", "18,18,,,18,,,,,,,18,,,18,18,,18,18,18,18,18,,18,18,18,,18,18,,18,18", ",764,764,764,764,764,764,764,764,764,764,764,,764,764,,,764,764,,18", ",,18,,,18,,,18,,,764,,764,18,764,764,764,764,764,764,764,18,764,,,,18", "18,18,18,18,18,,,,18,18,,764,,838,838,838,18,838,,18,,838,838,18,18", ",838,,838,838,838,838,838,838,838,,,,,,838,838,838,838,838,838,838,", ",838,,,,,,,838,,,838,838,,838,838,838,838,838,,838,838,838,,838,838", ",838,838,,761,761,761,761,761,761,761,761,761,761,761,,761,761,,,761", "761,,838,,,838,,,838,,,838,,,761,,761,838,761,761,761,761,761,761,761", "838,761,,,,838,838,838,838,838,838,,,,838,838,,761,,,,,838,,,838,,,", "838,838,812,812,812,812,812,,,,812,812,,,,812,,812,812,812,812,812,812", "812,,,,,,812,812,812,812,812,812,812,,,812,,,,,,812,812,,812,812,812", ",812,812,812,812,812,,812,812,812,,812,812,,812,812,,677,677,677,677", "677,677,677,677,677,677,677,,677,677,,,677,677,,812,,,812,,,812,,,812", ",812,677,,677,812,677,677,677,677,677,677,677,812,677,,,,812,812,812", "812,812,812,,,,812,812,,677,,22,22,22,812,22,,812,,22,22,812,812,,22", ",22,22,22,22,22,22,22,,,,,,22,22,22,22,22,22,22,,,22,,,,,,,22,,,22,22", ",22,22,22,22,22,22,22,22,22,,22,22,,22,22,,19,19,19,19,19,19,19,19,19", "19,19,,19,19,,,19,19,,22,,,22,,,22,,,22,,22,19,22,19,22,19,19,19,19", "19,19,19,22,19,,,,22,22,22,22,22,22,,,,22,22,,19,,23,23,23,22,23,,22", ",23,23,22,22,,23,,23,23,23,23,23,23,23,,,,,,23,23,23,23,23,23,23,,,23", ",,,,,,23,,,23,23,,23,23,23,23,23,23,23,23,23,,23,23,,23,23,,754,754", "754,754,754,754,754,754,754,754,754,,754,754,,,754,754,,23,,,23,,,23", ",,23,,23,754,23,754,23,754,754,754,754,754,754,754,23,754,,,,23,23,23", "23,23,23,,,,23,23,,754,,24,24,24,23,24,,23,,24,24,23,23,,24,,24,24,24", "24,24,24,24,,,,,,24,24,24,24,24,24,24,,,24,,,,,,,24,,,24,24,,24,24,24", "24,24,24,24,24,24,,24,24,,24,24,,759,759,759,759,759,759,759,759,759", "759,759,,759,759,,,759,759,,24,,,24,,,24,,,24,,24,759,24,759,24,759", "759,759,759,759,759,759,24,759,,,,24,24,24,24,24,24,,,,24,24,,759,,", ",,24,,,24,,,,24,24,811,811,811,811,811,,,,811,811,,,,811,,811,811,811", "811,811,811,811,,,,,,811,811,811,811,811,811,811,,,811,,,,,,811,811", ",811,811,811,,811,811,811,811,811,,811,811,811,,811,811,,811,811,,771", "771,771,771,771,771,771,771,771,771,771,,771,771,,,771,771,,811,,,811", ",,811,,,811,,811,771,,771,811,771,771,771,771,771,771,771,811,771,,", ",811,811,811,811,811,811,,,,811,811,,771,,809,809,809,811,809,,811,", "809,809,811,811,,809,,809,809,809,809,809,809,809,,,,,,809,809,809,809", "809,809,809,,335,809,335,335,335,473,335,,809,,,809,809,,809,809,809", "809,809,,809,809,809,,809,809,,809,809,700,,700,700,700,,700,473,,335", ",473,473,473,473,,,335,,,809,,,809,461,,809,,,809,,,,,,809,,,700,,461", "461,,809,,,700,,809,809,809,809,809,809,,461,,809,809,461,461,461,461", ",,809,,,809,,,,809,809,790,790,790,790,790,,,,790,790,,,,790,,790,790", "790,790,790,790,790,,,,,,790,790,790,790,790,790,790,,,790,,,,,,790", "790,,790,790,790,,790,790,790,790,790,,790,790,790,,790,790,,790,790", ",,,,,,,,,,,,,,,,,,,,790,,,790,,,790,,,790,,790,,,,790,,,550,,550,550", "550,790,550,,,,790,790,790,790,790,790,,,,790,790,,,,780,780,780,790", "780,,790,,780,780,790,790,,780,550,780,780,780,780,780,780,780,550,550", "550,550,,780,780,780,780,780,780,780,,,780,,,,,,,780,,,780,780,,780", "780,780,780,780,,780,780,780,,780,780,,780,780,,451,451,451,451,451", "451,451,451,451,451,451,,451,451,,,451,451,,780,,,780,,,780,,,780,,780", "451,,451,780,451,451,451,451,451,451,451,780,451,,,,780,780,780,780", "780,780,,,,780,780,,,,,,,780,,,780,,,,780,780,30,30,30,30,30,,,,30,30", ",,,30,,30,30,30,30,30,30,30,,,,,,30,30,30,30,30,30,30,,,30,,,,,,30,30", ",30,30,30,,30,30,30,30,30,,30,30,30,,30,30,,30,30,,464,,,,,,,,,,,,,", ",,464,464,,30,,,30,,,30,,,30,,30,464,,464,30,464,464,464,464,,,464,30", "464,,,,30,30,30,30,30,30,,,,30,30,,,,31,31,31,30,31,,30,,31,31,30,30", ",31,,31,31,31,31,31,31,31,,,,,,31,31,31,31,31,31,31,,,31,,,,,,,31,,", "31,31,,31,31,31,31,31,,31,31,31,,31,31,638,,638,638,638,,638,,,,,,,", ",,,,,,,,,31,,,31,,,31,,,31,,31,,,,638,,,,,,,,638,638,638,638,,31,31", "31,31,31,31,638,,,31,31,,,,32,32,32,31,32,,31,,32,32,31,31,,32,,32,32", "32,32,32,32,32,,,,,,32,32,32,32,32,32,32,,,32,,,,,,,32,,,32,32,,32,32", "32,32,32,,32,32,32,,32,32,832,,832,832,832,832,832,,,,,,,,,,832,,,,", ",,32,,,32,,,32,,,32,,,,,,832,,,,,,,,832,832,832,832,,32,32,32,32,32", "32,,,,32,32,,,,32,,,32,,,32,,,,32,32,769,769,769,,769,,,832,769,769", ",,,769,,769,769,769,769,769,769,769,,,,,,769,769,769,769,769,769,769", ",,769,,,,,,,769,,,769,769,,769,769,769,769,769,,769,769,769,,769,769", ",769,769,,474,474,474,474,474,474,474,,,474,474,,,,,,474,474,,769,,", "769,,,769,,,769,,,474,,474,769,474,474,474,474,474,474,474,769,474,", ",,769,769,769,769,769,769,,,,769,769,,,,768,768,768,769,768,,769,,768", "768,769,769,,768,,768,768,768,768,768,768,768,,,,,,768,768,768,768,768", "768,768,,,768,,,,,,,768,,,768,768,,768,768,768,768,768,,768,768,768", ",768,768,,768,768,,471,471,471,471,471,471,471,,,471,471,,,,,,471,471", ",768,,,768,,,768,,,768,,,471,,471,768,471,471,471,471,471,471,471,768", "471,,,,768,768,768,768,768,768,,,,768,768,,,,767,767,767,768,767,,768", ",767,767,768,768,,767,,767,767,767,767,767,767,767,,,,,,767,767,767", "767,767,767,767,,,767,,,,,,,767,,,767,767,,767,767,767,767,767,,767", "767,767,,767,767,,767,767,,475,475,475,475,475,475,475,475,,475,475", ",,,,,475,475,,767,,,767,,,767,,,767,,,475,,475,767,475,475,475,475,475", "475,475,767,475,,,,767,767,767,767,767,767,,,,767,767,,,,757,757,757", "767,757,,767,,757,757,767,767,,757,,757,757,757,757,757,757,757,,,,", ",757,757,757,757,757,757,757,,,757,,,,,,,757,,,757,757,,757,757,757", "757,757,,757,757,757,,757,757,,757,757,,463,,,,,,,,,,,,,,,,463,463,", "757,,,757,,,757,,,757,,,463,,463,757,463,463,463,463,,,463,757,463,", ",,757,757,757,757,757,757,,,,757,757,,,,38,38,38,757,38,,757,,38,38", "757,757,,38,,38,38,38,38,38,38,38,,,,,,38,38,38,38,38,38,38,,,38,,,", ",,,38,,,38,38,,38,38,38,38,38,,38,38,38,,38,38,,38,38,,470,470,470,470", "470,470,470,,,470,470,,,,,,470,470,,38,,,38,,,38,,,38,,,470,,470,38", "470,470,470,470,470,470,470,38,470,,,,38,38,38,38,38,38,,,,38,38,,,", "39,39,39,38,39,,38,,39,39,38,38,,39,,39,39,39,39,39,39,39,,,,,,39,39", "39,39,39,39,39,,,39,,,,,,,39,,,39,39,,39,39,39,39,39,,39,39,39,,39,39", ",39,39,,452,452,452,452,452,452,452,452,452,452,452,,452,452,,,452,452", ",39,,,39,,,39,,,39,,,452,,452,39,452,452,452,452,452,452,452,39,452", ",,,39,39,39,39,39,39,,,,39,39,,,,40,40,40,39,40,,39,,40,40,39,39,,40", ",40,40,40,40,40,40,40,,,,,,40,40,40,40,40,40,40,,,40,,,,,,,40,,,40,40", ",40,40,40,40,40,,40,40,40,,40,40,,40,40,,468,468,468,468,468,468,468", ",,468,468,,,,,,468,468,,40,,,40,,,40,,,40,,,468,,468,40,468,468,468", "468,468,468,468,40,468,,,,40,40,40,40,40,40,,,,40,40,,,,756,756,756", "40,756,,40,,756,756,40,40,,756,,756,756,756,756,756,756,756,,,,,,756", "756,756,756,756,756,756,,,756,,,,,,,756,,,756,756,,756,756,756,756,756", ",756,756,756,,756,756,,756,756,,467,467,467,467,467,467,467,,,467,467", ",,,,,467,467,,756,,,756,,,756,,,756,,,467,,467,756,467,467,467,467,467", "467,467,756,467,,,,756,756,756,756,756,756,,,,756,756,,,,,,,756,,,756", ",,,756,756,750,750,750,750,750,,,,750,750,,,,750,,750,750,750,750,750", "750,750,,,,,,750,750,750,750,750,750,750,,,750,,,,,,750,750,,750,750", "750,,750,750,750,750,750,,750,750,750,,750,750,,750,750,,466,,,,,,,", ",,,,,,,,466,466,,750,,,750,,,750,,,750,,750,466,,466,750,466,466,466", "466,,,466,750,466,,,,750,750,750,750,750,750,,,,750,750,,,,736,736,736", "750,736,,750,,736,736,750,750,,736,,736,736,736,736,736,736,736,,,,", ",736,736,736,736,736,736,736,,,736,,,,,,,736,,,736,736,,736,736,736", "736,736,,736,736,736,,736,736,,736,736,,462,462,462,462,462,462,462", ",,462,462,,,,,,462,462,,736,,,736,,,736,,,736,,,462,,462,736,462,462", "462,462,462,462,462,736,462,,,,736,736,736,736,736,736,,,,736,736,,", ",52,52,52,736,52,,736,,52,52,736,736,,52,,52,52,52,52,52,52,52,,,,,", "52,52,52,52,52,52,52,,,52,,,,,,,52,,,52,52,,52,52,52,52,52,,52,52,52", ",52,52,,52,52,,465,,,,,,,,,,,,,,,,465,465,,52,,,52,,,52,,,52,,,465,", "465,52,465,465,465,465,,,465,52,465,,,,52,52,52,52,52,52,,,,52,52,,", ",53,53,53,52,53,,52,,53,53,52,52,,53,,53,53,53,53,53,53,53,,,,,,53,53", "53,53,53,53,53,,,53,,,,,,,53,,,53,53,,53,53,53,53,53,53,53,53,53,,53", "53,,53,53,,469,469,469,469,469,469,469,,,469,469,,,,,,469,469,,53,,", "53,,,53,,,53,,53,469,,469,53,469,469,469,469,469,469,469,53,469,,,,53", "53,53,53,53,53,,,,53,53,,,,54,54,54,53,54,,53,,54,54,53,53,,54,,54,54", "54,54,54,54,54,,,,,,54,54,54,54,54,54,54,,,54,,,,,,,54,,,54,54,,54,54", "54,54,54,54,54,54,54,,54,54,,54,54,,459,,,,,,,,,,,,,,,,459,459,,54,", ",54,,,54,,,54,,,459,,459,54,459,459,459,459,,,,54,,,,,54,54,54,54,54", "54,,,,54,54,,,,,,,54,,,54,,,,54,54,729,729,729,729,729,,,,729,729,,", ",729,,729,729,729,729,729,729,729,,,,,,729,729,729,729,729,729,729,", ",729,,,,,,729,729,,729,729,729,,729,729,729,729,729,,729,729,729,,729", "729,,729,729,,460,,,,,,,,,,,,,,,,460,460,,729,,,729,,,729,,,729,,729", "460,,460,729,460,460,460,460,,,,729,,,,,729,729,729,729,729,729,,,,729", "729,,,,,,,729,,,729,,,,729,729,728,728,728,728,728,,,,728,728,,,,728", ",728,728,728,728,728,728,728,,,,,,728,728,728,728,728,728,728,,,728", ",,,,,728,728,,728,728,728,,728,728,728,728,728,,728,728,728,,728,728", ",728,728,,,,,,,,,,,,,,,,,,,,,728,,,728,,,728,,,728,,728,,,,728,,,,,", ",,728,,,,,728,728,728,728,728,728,,,,728,728,,,,57,57,57,728,57,,728", ",57,57,728,728,,57,,57,57,57,57,57,57,57,,,,,,57,57,57,57,57,57,57,", ",57,,,,,,,57,,,57,57,,57,57,57,57,57,,57,57,57,,57,57,,57,57,,,,,,,", ",,,,,,,,,,,,,57,,,57,,,57,,,57,,,,,,57,,,,,,,,57,,,,,57,57,57,57,57", "57,,,,57,57,,,,58,58,58,57,58,,57,,58,58,57,57,,58,,58,58,58,58,58,58", "58,,,,,,58,58,58,58,58,58,58,,,58,,,,,,,58,,,58,58,,58,58,58,58,58,", "58,58,58,,58,58,,58,58,,,,,,,,,,,,,,,,,,,,,58,,,58,,,58,,,58,,,,,,58", ",,,,,,,58,,,,,58,58,58,58,58,58,,,,58,58,,,,61,61,61,58,61,,58,,61,61", "58,58,,61,,61,61,61,61,61,61,61,,,,,,61,61,61,61,61,61,61,,,61,,,,,", ",61,,,61,61,,61,61,61,61,61,,61,61,61,,61,61,,61,61,,,,,,,,,,,,,,,,", ",,,,61,,,61,,,61,,,61,,,,,,61,,,,,,,,61,,,,,61,61,61,61,61,61,,,,61", "61,61,,,,,61,61,,,61,,,,61,61,62,62,62,,62,,,,62,62,,,,62,,62,62,62", "62,62,62,62,,,,,,62,62,62,62,62,62,62,,,62,,,,,,,62,,,62,62,,62,62,62", "62,62,,62,62,62,,62,62,56,,56,56,56,,56,,,,,,,,,,,,,,,,,62,,,62,,,62", ",,62,,62,,,,56,56,,,,,,,56,56,56,56,,62,62,62,62,62,62,,,,62,62,,,,63", "63,63,62,63,,62,,63,63,62,62,,63,,63,63,63,63,63,63,63,,,,,,63,63,63", "63,63,63,63,,,63,,,,,,,63,,,63,63,,63,63,63,63,63,,63,63,63,,63,63,730", ",730,730,730,730,730,,,,,,,,,,730,,,,63,,,63,,,63,,,63,,,63,,,,,,730", ",,,,,,,730,730,730,730,,63,63,63,63,63,63,,,,63,63,,,,,,,63,,,63,,,", "63,63,724,724,724,724,724,,,730,724,724,,,,724,,724,724,724,724,724", "724,724,,,,,,724,724,724,724,724,724,724,,,724,,,,,,724,724,,724,724", "724,,724,724,724,724,724,,724,724,724,,724,724,,724,724,,,,,,,,,,,,", ",,,,,,,,724,,,724,,,724,,,724,,724,,,,724,,,,,,,,724,,,,,724,724,724", "724,724,724,,,,724,724,,,,719,719,719,724,719,,724,,719,719,724,724", ",719,,719,719,719,719,719,719,719,,,,,,719,719,719,719,719,719,719,", ",719,,,,,,,719,,,719,719,,719,719,719,719,719,,719,719,719,,719,719", ",719,719,,,,,,,,,,,,,,,,,,,,,719,,,719,,,719,,,719,,,,,,719,,,,,,,,719", ",,,,719,719,719,719,719,719,,,,719,719,,,,713,713,713,719,713,,719,", "713,713,719,719,,713,,713,713,713,713,713,713,713,,,,,,713,713,713,713", "713,713,713,,,713,,,,,,,713,,,713,713,,713,713,713,713,713,,713,713", "713,,713,713,,713,713,,,,,,,,,,,,,,,,,,,,,713,,,713,,,713,,,713,,713", ",,,713,,,,,,,,713,,,,,713,713,713,713,713,713,,,,713,713,,,,682,682", "682,713,682,,713,,682,682,713,713,,682,,682,682,682,682,682,682,682", ",,,,,682,682,682,682,682,682,682,,,682,,,,,,,682,,,682,682,,682,682", "682,682,682,,682,682,682,,682,682,,682,682,,,,,,,,,,,,,,,,,,,,,682,", ",682,,,682,,,682,,682,,,,682,,,,,,,,682,,,,,682,682,682,682,682,682", ",,,682,682,,,,676,676,676,682,676,,682,,676,676,682,682,,676,,676,676", "676,676,676,676,676,,,,,,676,676,676,676,676,676,676,,,676,,,,,,,676", ",,676,676,,676,676,676,676,676,,676,676,676,,676,676,319,,319,319,319", ",319,,,,,,,,,,,,,,,,,676,,,676,,,676,,,676,,,,,,319,,319,,,,,,319,319", "319,319,,676,676,676,676,676,676,,,,676,676,,,,666,666,666,676,666,", "676,,666,666,676,676,,666,,666,666,666,666,666,666,666,,,,,,666,666", "666,666,666,666,666,,,666,,,,,,,666,,,666,666,,666,666,666,666,666,", "666,666,666,,666,666,590,,590,590,590,590,590,,,,,,,,,,590,,,,,,,666", ",,666,,,666,,,666,,,,,,590,590,,,,,,,590,590,590,590,,666,666,666,666", "666,666,,,,666,666,,,,,,,666,,,666,,,,666,666,662,662,662,662,662,,", "590,662,662,,,,662,,662,662,662,662,662,662,662,,,,,,662,662,662,662", "662,662,662,,,662,,,,,,662,662,,662,662,662,,662,662,662,662,662,,662", "662,662,,662,662,,662,662,,,,,,,,,,,,,,,,,,,,,662,,,662,,,662,,,662", ",662,,,,662,,,,,,,,662,,,,,662,662,662,662,662,662,,,,662,662,,,,,,", "662,,,662,,,,662,662,661,661,661,661,661,,,,661,661,,,,661,,661,661", "661,661,661,661,661,,,,,,661,661,661,661,661,661,661,,,661,,,,,,661", "661,,661,661,661,,661,661,661,661,661,,661,661,661,,661,661,,661,661", ",,,,,,,,,,,,,,,,,,,,661,,,661,,,661,,,661,,661,,,,661,,,,,,,,661,,,", ",661,661,661,661,661,661,,,,661,661,,,,655,655,655,661,655,,661,,655", "655,661,661,,655,,655,655,655,655,655,655,655,,,,,,655,655,655,655,655", "655,655,,,655,,,,,,,655,,,655,655,,655,655,655,655,655,655,655,655,655", ",655,655,,655,655,,,,,,,,,,,,,,,,,,,,,655,,,655,,,655,,,655,,,,655,", "655,,,,,,,,655,,,,,655,655,655,655,655,655,,,,655,655,,,,,,,655,,,655", ",,,655,655,99,99,99,99,99,,,,99,99,,,,99,,99,99,99,99,99,99,99,,,,,", "99,99,99,99,99,99,99,,,99,,,,,,99,99,99,99,99,99,,99,99,99,99,99,,99", "99,99,,99,99,,99,99,,,,,,,,,,,,,,,,,,,,,99,,,99,,,99,,,99,,99,,,,99", ",,,,,,,99,,,,,99,99,99,99,99,99,,,,99,99,,,,,,99,99,,,99,,,,99,99,103", "103,103,,103,,,,103,103,,,,103,,103,103,103,103,103,103,103,,,,,,103", "103,103,103,103,103,103,,,103,,,,,,,103,,,103,103,,103,103,103,103,103", ",103,103,103,,103,103,,103,103,,,,,,,,,,,,,,,,,,,,,103,,,103,,,103,", ",103,,,,,,103,,,,,,,,103,,,,,103,103,103,103,103,103,,,,103,103,,,,104", "104,104,103,104,,103,,104,104,103,103,,104,,104,104,104,104,104,104", "104,,,,,,104,104,104,104,104,104,104,,,104,,,,,,,104,,,104,104,,104", "104,104,104,104,,104,104,104,,104,104,,104,104,,,,,,,,,,,,,,,,,,,,,104", ",,104,,,104,,,104,,,,,,104,,,,,,,,104,,,,,104,104,104,104,104,104,,", ",104,104,,,,105,105,105,104,105,,104,,105,105,104,104,,105,,105,105", "105,105,105,105,105,,,,,,105,105,105,105,105,105,105,,,105,,,,,,,105", ",,105,105,,105,105,105,105,105,,105,105,105,,105,105,,105,105,,,,,,", ",,,,,,,,,,,,,,105,,,105,,,105,,,105,,,,,,105,,,,,,,,105,,,,,105,105", "105,105,105,105,,,,105,105,,,,106,106,106,105,106,,105,,106,106,105", "105,,106,,106,106,106,106,106,106,106,,,,,,106,106,106,106,106,106,106", ",,106,,,,,,,106,,,106,106,,106,106,106,106,106,,106,106,106,,106,106", ",106,106,,,,,,,,,,,,,,,,,,,,,106,,,106,,,106,,,106,,,,,,106,,,,,,,,106", ",,,,106,106,106,106,106,106,,,,106,106,,,,,,,106,,,106,,,,106,106,107", "107,107,107,107,,,,107,107,,,,107,,107,107,107,107,107,107,107,,,,,", "107,107,107,107,107,107,107,,,107,,,,,,107,107,,107,107,107,,107,107", "107,107,107,,107,107,107,,107,107,,107,107,,,,,,,,,,,,,,,,,,,,,107,", ",107,,,107,,,107,,107,,,,107,,,,,,,,107,,,,,107,107,107,107,107,107", ",,,107,107,,,,,,,107,,,107,,,,107,107,108,108,108,108,108,,,,108,108", ",,,108,,108,108,108,108,108,108,108,,,,,,108,108,108,108,108,108,108", ",,108,,,,,,108,108,108,108,108,108,,108,108,108,108,108,,108,108,108", ",108,108,,108,108,,,,,,,,,,,,,,,,,,,,,108,,,108,,,108,,,108,,108,,,", "108,,,,,,,,108,,,,,108,108,108,108,108,108,,,,108,108,,,,654,654,654", "108,654,,108,,654,654,108,108,,654,,654,654,654,654,654,654,654,,,,", ",654,654,654,654,654,654,654,,,654,,,,,,,654,,,654,654,,654,654,654", "654,654,654,654,654,654,,654,654,,654,654,,,,,,,,,,,,,,,,,,,,,654,,", "654,,,654,,,654,,654,,654,,654,,,,,,,,654,,,,,654,654,654,654,654,654", ",,,654,654,,,,,,,654,,,654,,,,654,654,651,651,651,651,651,,,,651,651", ",,,651,,651,651,651,651,651,651,651,,,,,,651,651,651,651,651,651,651", ",,651,,,,,,651,651,,651,651,651,,651,651,651,651,651,,651,651,651,,651", "651,,651,651,,,,,,,,,,,,,,,,,,,,,651,,,651,,,651,,,651,,651,,,,651,", ",,,,,,651,,,,,651,651,651,651,651,651,,,,651,651,,,,644,644,644,651", "644,,651,,644,644,651,651,,644,,644,644,644,644,644,644,644,,,,,,644", "644,644,644,644,644,644,,,644,,,,,,,644,,,644,644,,644,644,644,644,644", ",644,644,644,,644,644,,644,644,,,,,,,,,,,,,,,,,,,,,644,,,644,,,644,", ",644,,,,,,644,,,,,,,,644,,,,,644,644,644,644,644,644,,,,644,644,,,,", ",,644,,,644,,,,644,644,195,195,195,195,195,,,,195,195,,,,195,,195,195", "195,195,195,195,195,,,,,,195,195,195,195,195,195,195,,,195,,,,,,195", "195,,195,195,195,,195,195,195,195,195,,195,195,195,,195,195,,195,195", ",,,,,,,,,,,,,,,,,,,,195,,,195,,,195,,,195,,195,,,,195,,,,,,,,195,,,", ",195,195,195,195,195,195,,,,195,195,,,,196,196,196,195,196,,195,,196", "196,195,195,,196,,196,196,196,196,196,196,196,,,,,,196,196,196,196,196", "196,196,,,196,,,,,,,196,,,196,196,,196,196,196,196,196,,196,196,196", ",196,196,,196,196,,,,,,,,,,,,,,,,,,,,,196,,,196,,,196,,,196,,196,,,", "196,,,,,,,,196,,,,,196,196,196,196,196,196,,,,196,196,,,,197,197,197", "196,197,,196,,197,197,196,196,,197,,197,197,197,197,197,197,197,,,,", ",197,197,197,197,197,197,197,,,197,,,,,,,197,,,197,197,,197,197,197", "197,197,,197,197,197,,197,197,,197,197,,,,,,,,,,,,,,,,,,,,,197,,,197", ",,197,,,197,,197,,,,197,,,,,,,,197,,,,,197,197,197,197,197,197,,,,197", "197,,,,198,198,198,197,198,,197,,198,198,197,197,,198,,198,198,198,198", "198,198,198,,,,,,198,198,198,198,198,198,198,,,198,,,,,,,198,,,198,198", ",198,198,198,198,198,,198,198,198,,198,198,,198,198,,,,,,,,,,,,,,,,", ",,,,198,,,198,,,198,,,198,,,,,,198,,,,,,,,198,,,,,198,198,198,198,198", "198,,,,198,198,,,,199,199,199,198,199,,198,,199,199,198,198,,199,,199", "199,199,199,199,199,199,,,,,,199,199,199,199,199,199,199,,,199,,,,,", ",199,,,199,199,,199,199,199,199,199,199,199,199,199,,199,199,,199,199", ",,,,,,,,,,,,,,,,,,,,199,,,199,,,199,,,199,,199,,,,199,,,,,,,,199,,,", ",199,199,199,199,199,199,,,,199,199,,,,,,,199,,,199,,,,199,199,640,640", "640,640,640,,,,640,640,,,,640,,640,640,640,640,640,640,640,,,,,,640", "640,640,640,640,640,640,,,640,,,,,,640,640,,640,640,640,,640,640,640", "640,640,,640,640,640,,640,640,,640,640,,,,,,,,,,,,,,,,,,,,,640,,,640", ",,640,,,640,,640,,,,640,,,,,,,,640,,,,,640,640,640,640,640,640,,,,640", "640,,,,636,636,636,640,636,,640,,636,636,640,640,,636,,636,636,636,636", "636,636,636,,,,,,636,636,636,636,636,636,636,,,636,,,,,,,636,,,636,636", ",636,636,636,636,636,,636,636,636,,636,636,,636,636,,,,,,,,,,,,,,,,", ",,,,636,,,636,,,636,,,636,,,,,,636,,,,,,,,636,,,,,636,636,636,636,636", "636,,,,636,636,,,,202,202,202,636,202,,636,,202,202,636,636,,202,,202", "202,202,202,202,202,202,,,,,,202,202,202,202,202,202,202,,,202,,,,,", ",202,,,202,202,,202,202,202,202,202,,202,202,202,,202,202,,202,202,", ",,,,,,,,,,,,,,,,,,,202,,,202,,,202,,,202,,,,,,202,,,,,,,,202,,,,,202", "202,202,202,202,202,,,,202,202,,,,203,203,203,202,203,,202,,203,203", "202,202,,203,,203,203,203,203,203,203,203,,,,,,203,203,203,203,203,203", "203,,,203,,,,,,,203,,,203,203,,203,203,203,203,203,,203,203,203,,203", "203,,203,203,,,,,,,,,,,,,,,,,,,,,203,,,203,,,203,,,203,,,,,,203,,,,", ",,,203,,,,,203,203,203,203,203,203,,,,203,203,,,,204,204,204,203,204", ",203,,204,204,203,203,,204,,204,204,204,204,204,204,204,,,,,,204,204", "204,204,204,204,204,,,204,,,,,,,204,,,204,204,,204,204,204,204,204,", "204,204,204,,204,204,,204,204,,,,,,,,,,,,,,,,,,,,,204,,,204,,,204,,", "204,,,,,,204,,,,,,,,204,,,,,204,204,204,204,204,204,,,,204,204,,,,628", "628,628,204,628,,204,,628,628,204,204,,628,,628,628,628,628,628,628", "628,,,,,,628,628,628,628,628,628,628,,,628,,,,,,,628,,,628,628,,628", "628,628,628,628,,628,628,628,,628,628,,628,628,,,,,,,,,,,,,,,,,,,,,628", ",,628,,,628,,,628,,,,,,628,,,,,,,,628,,,,,628,628,628,628,628,628,,", ",628,628,,,,625,625,625,628,625,,628,,625,625,628,628,,625,,625,625", "625,625,625,625,625,,,,,,625,625,625,625,625,625,625,,,625,,,,,,,625", ",,625,625,,625,625,625,625,625,,625,625,625,,625,625,,625,625,,,,,,", ",,,,,,,,,,,,,,625,,,625,,,625,,,625,,,,,,625,,,,,,,,625,,,,,625,625", "625,625,625,625,,,,625,625,,,,620,620,620,625,620,,625,,620,620,625", "625,,620,,620,620,620,620,620,620,620,,,,,,620,620,620,620,620,620,620", ",,620,,,,,,,620,,,620,620,,620,620,620,620,620,,620,620,620,,620,620", ",620,620,,,,,,,,,,,,,,,,,,,,,620,,,620,,,620,,,620,,,,,,620,,,,,,,,620", ",,,,620,620,620,620,620,620,,,,620,620,,,,619,619,619,620,619,,620,", "619,619,620,620,,619,,619,619,619,619,619,619,619,,,,,,619,619,619,619", "619,619,619,,,619,,,,,,,619,,,619,619,,619,619,619,619,619,,619,619", "619,,619,619,,619,619,,,,,,,,,,,,,,,,,,,,,619,,,619,,,619,,,619,,,,", ",619,,,,,,,,619,,,,,619,619,619,619,619,619,,,,619,619,,,,617,617,617", "619,617,,619,,617,617,619,619,,617,,617,617,617,617,617,617,617,,,,", ",617,617,617,617,617,617,617,,,617,,,,,,,617,,,617,617,,617,617,617", "617,617,,617,617,617,,617,617,,617,617,,,,,,,,,,,,,,,,,,,,,617,,,617", ",,617,,,617,,617,,,,617,,,,,,,,617,,,,,617,617,617,617,617,617,,,,617", "617,,,,615,615,615,617,615,,617,,615,615,617,617,,615,,615,615,615,615", "615,615,615,,,,,,615,615,615,615,615,615,615,,,615,,,,,,,615,,,615,615", ",615,615,615,615,615,,615,615,615,,615,615,,615,615,,,,,,,,,,,,,,,,", ",,,,615,,,615,,,615,,,615,,,,,,615,,,,,,,,615,,,,,615,615,615,615,615", "615,,,,615,615,,,,,,,615,,,615,,,,615,615,212,212,212,212,212,,,,212", "212,,,,212,,212,212,212,212,212,212,212,,,,,,212,212,212,212,212,212", "212,,,212,,,,,,212,212,,212,212,212,,212,212,212,212,212,,212,212,212", ",212,212,,212,212,,,,,,,,,,,,,,,,,,,,,212,,,212,,,212,,,212,,212,,,", "212,,,,,,,,212,,,,,212,212,212,212,212,212,,,,212,212,,,,213,213,213", "212,213,,212,,213,213,212,212,,213,,213,213,213,213,213,213,213,,,,", ",213,213,213,213,213,213,213,,,213,,,,,,,213,,,213,213,,213,213,213", "213,213,,213,213,213,,213,213,,213,213,,,,,,,,,,,,,,,,,,,,,213,,,213", ",213,213,,,213,,,,,,213,,,,,,,,213,,,,,213,213,213,213,213,213,,,,213", "213,,,,216,216,216,213,216,,213,,216,216,213,213,,216,,216,216,216,216", "216,216,216,,,,,,216,216,216,216,216,216,216,,,216,,,,,,,216,,,216,216", ",216,216,216,216,216,,216,216,216,,216,216,,216,216,,,,,,,,,,,,,,,,", ",,,,216,,,216,,,216,,,216,,,,,,216,,,,,,,,216,,,,,216,216,216,216,216", "216,,,,216,216,,,,346,346,346,216,346,,216,,346,346,216,216,,346,,346", "346,346,346,346,346,346,,,,,,346,346,346,346,346,346,346,,,346,,,,,", ",346,,,346,346,,346,346,346,346,346,,346,346,346,,346,346,,346,346,", ",,,,,,,,,,,,,,,,,,,346,,,346,,,346,,,346,,,,,,346,,,,,,,,346,,,,,346", "346,346,346,346,346,,,,346,346,,,,218,218,218,346,218,,346,,218,218", "346,346,,218,,218,218,218,218,218,218,218,,,,,,218,218,218,218,218,218", "218,,,218,,,,,,,218,,,218,218,,218,218,218,218,218,,218,218,218,,218", "218,,218,218,,,,,,,,,,,,,,,,,,,,,218,,,218,,,218,,,218,,,,,,218,,,,", ",,,218,,,,,218,218,218,218,218,218,,,,218,218,,,,219,219,219,218,219", ",218,,219,219,218,218,,219,,219,219,219,219,219,219,219,,,,,,219,219", "219,219,219,219,219,,,219,,,,,,,219,,,219,219,,219,219,219,219,219,", "219,219,219,,219,219,,219,219,,,,,,,,,,,,,,,,,,,,,219,,,219,,,219,,", "219,,,,,,219,,,,,,,,219,,,,,219,219,219,219,219,219,,,,219,219,,,,220", "220,220,219,220,,219,,220,220,219,219,,220,,220,220,220,220,220,220", "220,,,,,,220,220,220,220,220,220,220,,,220,,,,,,,220,,,220,220,,220", "220,220,220,220,,220,220,220,,220,220,,220,220,,,,,,,,,,,,,,,,,,,,,220", ",,220,,,220,,,220,,,,,,220,,,,,,,,220,,,,,220,220,220,220,220,220,,", ",220,220,,,,221,221,221,220,221,,220,,221,221,220,220,,221,,221,221", "221,221,221,221,221,,,,,,221,221,221,221,221,221,221,,,221,,,,,,,221", ",,221,221,,221,221,221,221,221,,221,221,221,,221,221,,221,221,,,,,,", ",,,,,,,,,,,,,,221,,,221,,,221,,,221,,,,,,221,,,,,,,,221,,,,,221,221", "221,221,221,221,,,,221,221,,,,222,222,222,221,222,,221,,222,222,221", "221,,222,,222,222,222,222,222,222,222,,,,,,222,222,222,222,222,222,222", ",,222,,,,,,,222,,,222,222,,222,222,222,222,222,,222,222,222,,222,222", ",222,222,,,,,,,,,,,,,,,,,,,,,222,,,222,,,222,,,222,,,,,,222,,,,,,,,222", ",,,,222,222,222,222,222,222,,,,222,222,,,,223,223,223,222,223,,222,", "223,223,222,222,,223,,223,223,223,223,223,223,223,,,,,,223,223,223,223", "223,223,223,,,223,,,,,,,223,,,223,223,,223,223,223,223,223,,223,223", "223,,223,223,,223,223,,,,,,,,,,,,,,,,,,,,,223,,,223,,,223,,,223,,,,", ",223,,,,,,,,223,,,,,223,223,223,223,223,223,,,,223,223,,,,224,224,224", "223,224,,223,,224,224,223,223,,224,,224,224,224,224,224,224,224,,,,", ",224,224,224,224,224,224,224,,,224,,,,,,,224,,,224,224,,224,224,224", "224,224,,224,224,224,,224,224,,224,224,,,,,,,,,,,,,,,,,,,,,224,,,224", ",,224,,,224,,,,,,224,,,,,,,,224,,,,,224,224,224,224,224,224,,,,224,224", ",,,225,225,225,224,225,,224,,225,225,224,224,,225,,225,225,225,225,225", "225,225,,,,,,225,225,225,225,225,225,225,,,225,,,,,,,225,,,225,225,", "225,225,225,225,225,,225,225,225,,225,225,,225,225,,,,,,,,,,,,,,,,,", ",,,225,,,225,,,225,,,225,,,,,,225,,,,,,,,225,,,,,225,225,225,225,225", "225,,,,225,225,,,,226,226,226,225,226,,225,,226,226,225,225,,226,,226", "226,226,226,226,226,226,,,,,,226,226,226,226,226,226,226,,,226,,,,,", ",226,,,226,226,,226,226,226,226,226,,226,226,226,,226,226,,226,226,", ",,,,,,,,,,,,,,,,,,,226,,,226,,,226,,,226,,,,,,226,,,,,,,,226,,,,,226", "226,226,226,226,226,,,,226,226,,,,227,227,227,226,227,,226,,227,227", "226,226,,227,,227,227,227,227,227,227,227,,,,,,227,227,227,227,227,227", "227,,,227,,,,,,,227,,,227,227,,227,227,227,227,227,,227,227,227,,227", "227,,227,227,,,,,,,,,,,,,,,,,,,,,227,,,227,,,227,,,227,,,,,,227,,,,", ",,,227,,,,,227,227,227,227,227,227,,,,227,227,,,,228,228,228,227,228", ",227,,228,228,227,227,,228,,228,228,228,228,228,228,228,,,,,,228,228", "228,228,228,228,228,,,228,,,,,,,228,,,228,228,,228,228,228,228,228,", "228,228,228,,228,228,,228,228,,,,,,,,,,,,,,,,,,,,,228,,,228,,,228,,", "228,,,,,,228,,,,,,,,228,,,,,228,228,228,228,228,228,,,,228,228,,,,229", "229,229,228,229,,228,,229,229,228,228,,229,,229,229,229,229,229,229", "229,,,,,,229,229,229,229,229,229,229,,,229,,,,,,,229,,,229,229,,229", "229,229,229,229,,229,229,229,,229,229,,229,229,,,,,,,,,,,,,,,,,,,,,229", ",,229,,,229,,,229,,,,,,229,,,,,,,,229,,,,,229,229,229,229,229,229,,", ",229,229,,,,230,230,230,229,230,,229,,230,230,229,229,,230,,230,230", "230,230,230,230,230,,,,,,230,230,230,230,230,230,230,,,230,,,,,,,230", ",,230,230,,230,230,230,230,230,,230,230,230,,230,230,,230,230,,,,,,", ",,,,,,,,,,,,,,230,,,230,,,230,,,230,,,,,,230,,,,,,,,230,,,,,230,230", "230,230,230,230,,,,230,230,,,,231,231,231,230,231,,230,,231,231,230", "230,,231,,231,231,231,231,231,231,231,,,,,,231,231,231,231,231,231,231", ",,231,,,,,,,231,,,231,231,,231,231,231,231,231,,231,231,231,,231,231", ",231,231,,,,,,,,,,,,,,,,,,,,,231,,,231,,,231,,,231,,,,,,231,,,,,,,,231", ",,,,231,231,231,231,231,231,,,,231,231,,,,232,232,232,231,232,,231,", "232,232,231,231,,232,,232,232,232,232,232,232,232,,,,,,232,232,232,232", "232,232,232,,,232,,,,,,,232,,,232,232,,232,232,232,232,232,,232,232", "232,,232,232,,232,232,,,,,,,,,,,,,,,,,,,,,232,,,232,,,232,,,232,,,,", ",232,,,,,,,,232,,,,,232,232,232,232,232,232,,,,232,232,,,,233,233,233", "232,233,,232,,233,233,232,232,,233,,233,233,233,233,233,233,233,,,,", ",233,233,233,233,233,233,233,,,233,,,,,,,233,,,233,233,,233,233,233", "233,233,,233,233,233,,233,233,,233,233,,,,,,,,,,,,,,,,,,,,,233,,,233", ",,233,,,233,,,,,,233,,,,,,,,233,,,,,233,233,233,233,233,233,,,,233,233", ",,,234,234,234,233,234,,233,,234,234,233,233,,234,,234,234,234,234,234", "234,234,,,,,,234,234,234,234,234,234,234,,,234,,,,,,,234,,,234,234,", "234,234,234,234,234,,234,234,234,,234,234,,234,234,,,,,,,,,,,,,,,,,", ",,,234,,,234,,,234,,,234,,,,,,234,,,,,,,,234,,,,,234,234,234,234,234", "234,,,,234,234,,,,235,235,235,234,235,,234,,235,235,234,234,,235,,235", "235,235,235,235,235,235,,,,,,235,235,235,235,235,235,235,,,235,,,,,", ",235,,,235,235,,235,235,235,235,235,,235,235,235,,235,235,,235,235,", ",,,,,,,,,,,,,,,,,,,235,,,235,,,235,,,235,,,,,,235,,,,,,,,235,,,,,235", "235,235,235,235,235,,,,235,235,,,,236,236,236,235,236,,235,,236,236", "235,235,,236,,236,236,236,236,236,236,236,,,,,,236,236,236,236,236,236", "236,,,236,,,,,,,236,,,236,236,,236,236,236,236,236,,236,236,236,,236", "236,,236,236,,,,,,,,,,,,,,,,,,,,,236,,,236,,,236,,,236,,,,,,236,,,,", ",,,236,,,,,236,236,236,236,236,236,,,,236,236,,,,237,237,237,236,237", ",236,,237,237,236,236,,237,,237,237,237,237,237,237,237,,,,,,237,237", "237,237,237,237,237,,,237,,,,,,,237,,,237,237,,237,237,237,237,237,", "237,237,237,,237,237,,237,237,,,,,,,,,,,,,,,,,,,,,237,,,237,,,237,,", "237,,,,,,237,,,,,,,,237,,,,,237,237,237,237,237,237,,,,237,237,,,,238", "238,238,237,238,,237,,238,238,237,237,,238,,238,238,238,238,238,238", "238,,,,,,238,238,238,238,238,238,238,,,238,,,,,,,238,,,238,238,,238", "238,238,238,238,,238,238,238,,238,238,,238,238,,,,,,,,,,,,,,,,,,,,,238", ",,238,,,238,,,238,,,,,,238,,,,,,,,238,,,,,238,238,238,238,238,238,,", ",238,238,,,,239,239,239,238,239,,238,,239,239,238,238,,239,,239,239", "239,239,239,239,239,,,,,,239,239,239,239,239,239,239,,,239,,,,,,,239", ",,239,239,,239,239,239,239,239,,239,239,239,,239,239,,239,239,,,,,,", ",,,,,,,,,,,,,,239,,,239,,,239,,,239,,,,,,239,,,,,,,,239,,,,,239,239", "239,239,239,239,,,,239,239,,,,240,240,240,239,240,,239,,240,240,239", "239,,240,,240,240,240,240,240,240,240,,,,,,240,240,240,240,240,240,240", ",,240,,,,,,,240,,,240,240,,240,240,240,240,240,,240,240,240,,240,240", ",240,240,,,,,,,,,,,,,,,,,,,,,240,,,240,,,240,,,240,,,,,,240,,,,,,,,240", ",,,,240,240,240,240,240,240,,,,240,240,,,,241,241,241,240,241,,240,", "241,241,240,240,,241,,241,241,241,241,241,241,241,,,,,,241,241,241,241", "241,241,241,,,241,,,,,,,241,,,241,241,,241,241,241,241,241,,241,241", "241,,241,241,,241,241,,,,,,,,,,,,,,,,,,,,,241,,,241,,,241,,,241,,,,", ",241,,,,,,,,241,,,,,241,241,241,241,241,241,,,,241,241,,,,242,242,242", "241,242,,241,,242,242,241,241,,242,,242,242,242,242,242,242,242,,,,", ",242,242,242,242,242,242,242,,,242,,,,,,,242,,,242,242,,242,242,242", "242,242,,242,242,242,,242,242,,242,242,,,,,,,,,,,,,,,,,,,,,242,,,242", ",,242,,,242,,,,,,242,,,,,,,,242,,,,,242,242,242,242,242,242,,,,242,242", ",,,243,243,243,242,243,,242,,243,243,242,242,,243,,243,243,243,243,243", "243,243,,,,,,243,243,243,243,243,243,243,,,243,,,,,,,243,,,243,243,", "243,243,243,243,243,,243,243,243,,243,243,,243,243,,,,,,,,,,,,,,,,,", ",,,243,,,243,,,243,,,243,,,,,,243,,,,,,,,243,,,,,243,243,243,243,243", "243,,,,243,243,,,,586,586,586,243,586,,243,,586,586,243,243,,586,,586", "586,586,586,586,586,586,,,,,,586,586,586,586,586,586,586,,,586,,,,,", ",586,,,586,586,,586,586,586,586,586,,586,586,586,,586,586,,586,586,", ",,,,,,,,,,,,,,,,,,,586,,,586,,,586,,,586,,,,,,586,,,,,,,,586,,,,,586", "586,586,586,586,586,,,,586,586,,,,582,582,582,586,582,,586,,582,582", "586,586,,582,,582,582,582,582,582,582,582,,,,,,582,582,582,582,582,582", "582,,,582,,,,,,,582,,,582,582,,582,582,582,582,582,582,582,582,582,", "582,582,,582,582,,,,,,,,,,,,,,,,,,,,,582,,,582,,,582,,,582,,582,,,,582", ",,,,,,,582,,,,,582,582,582,582,582,582,,,,582,582,,,,574,574,574,582", "574,,582,,574,574,582,582,,574,,574,574,574,574,574,574,574,,,,,,574", "574,574,574,574,574,574,,,574,,,,,,,574,,,574,574,,574,574,574,574,574", "574,574,574,574,,574,574,,574,574,,,,,,,,,,,,,,,,,,,,,574,,,574,,,574", ",,574,,574,,,,574,,,,,,,,574,,,,,574,574,574,574,574,574,,,,574,574", ",,,252,252,252,574,252,,574,,252,252,574,574,,252,,252,252,252,252,252", "252,252,,,,,,252,252,252,252,252,252,252,,,252,,,,,,,252,,,252,252,", "252,252,252,252,252,,252,252,252,,252,252,,252,252,,,,,,,,,,,,,,,,,", ",,,252,,,252,,,252,,,252,,,,,,252,,,,,,,,252,,,,,252,252,252,252,252", "252,,,,252,252,,,,,,,252,,,252,,,,252,252,572,572,572,572,572,,,,572", "572,,,,572,,572,572,572,572,572,572,572,,,,,,572,572,572,572,572,572", "572,,,572,,,,,,572,572,,572,572,572,,572,572,572,572,572,,572,572,572", ",572,572,,572,572,,,,,,,,,,,,,,,,,,,,,572,,,572,,,572,,,572,,572,,,", "572,,,,,,,,572,,,,,572,572,572,572,572,572,,,,572,572,,,,254,254,254", "572,254,,572,,254,254,572,572,,254,,254,254,254,254,254,254,254,,,,", ",254,254,254,254,254,254,254,,,254,,,,,,,254,,,254,254,,254,254,254", "254,254,,254,254,254,,254,254,,254,254,,,,,,,,,,,,,,,,,,,,,254,,,254", ",,254,,,254,,,,,,254,,,,,,,,254,,,,,254,254,254,254,254,254,,,,254,254", ",,,259,259,259,254,259,,254,,259,259,254,254,,259,,259,259,259,259,259", "259,259,,,,,,259,259,259,259,259,259,259,,,259,,,,,,,259,,,259,259,", "259,259,259,259,259,,259,259,259,,259,259,,259,259,,,,,,,,,,,,,,,,,", ",,,259,,,259,,,259,,,259,,,,,,259,,,,,,,,259,,,,,259,259,259,259,259", "259,,,,259,259,,,,,,,259,,,259,,,,259,259,567,567,567,567,567,,,,567", "567,,,,567,,567,567,567,567,567,567,567,,,,,,567,567,567,567,567,567", "567,,,567,,,,,,567,567,,567,567,567,,567,567,567,567,567,,567,567,567", ",567,567,,567,567,,,,,,,,,,,,,,,,,,,,,567,,,567,,,567,,,567,,567,,,", "567,,,,,,,,567,,,,,567,567,567,567,567,567,,,,567,567,,,,,,,567,,,567", ",,,567,567,563,563,563,563,563,,,,563,563,,,,563,,563,563,563,563,563", "563,563,,,,,,563,563,563,563,563,563,563,,,563,,,,,,563,563,,563,563", "563,,563,563,563,563,563,,563,563,563,,563,563,,563,563,,,,,,,,,,,,", ",,,,,,,,563,,,563,,,563,,,563,,563,,,,563,,,,,,,,563,,,,,563,563,563", "563,563,563,,,,563,563,,,,549,549,549,563,549,,563,,549,549,563,563", ",549,,549,549,549,549,549,549,549,,,,,,549,549,549,549,549,549,549,", ",549,,,,,,,549,,,549,549,,549,549,549,549,549,,549,549,549,,549,549", ",,,,,,,,,,,,,,,,,,,,,,,549,,,549,,,549,,,549,,,,,,,,,,,,,,,,,,,549,549", "549,549,549,549,,,,549,549,,,,265,265,265,549,265,,549,,265,265,549", "549,,265,,265,265,265,265,265,265,265,,,,,,265,265,265,265,265,265,265", ",,265,,,,,,,265,,,265,265,,265,265,265,265,265,265,265,265,265,,265", "265,,265,265,,,,,,,,,,,,,,,,,,,,,265,,,265,,,265,,,265,,265,,265,,265", ",,,,,,,265,,,,,265,265,265,265,265,265,,,,265,265,,,,266,266,266,265", "266,,265,,266,266,265,265,,266,,266,266,266,266,266,266,266,,,,,,266", "266,266,266,266,266,266,,,266,,,,,,,266,,,266,266,,266,266,266,266,266", "266,266,266,266,,266,266,,266,266,,,,,,,,,,,,,,,,,,,,,266,,,266,,,266", ",,266,,266,,266,,266,,,,,,,,266,,,,,266,266,266,266,266,266,,,,266,266", ",,,274,274,274,266,274,,266,,274,274,266,266,,274,,274,274,274,274,274", "274,274,,,,,,274,274,274,274,274,274,274,,,274,,,,,,,274,,,274,274,", "274,274,274,274,274,274,274,274,274,,274,274,,274,274,,,,,,,,,,,,,,", ",,,,,,274,,,274,,274,274,,,274,,274,,274,,274,,,,,,,,274,,,,,274,274", "274,274,274,274,,,,274,274,,,,,,,274,,,274,,,,274,274,543,543,543,543", "543,,,,543,543,,,,543,,543,543,543,543,543,543,543,,,,,,543,543,543", "543,543,543,543,,,543,,,,,,543,543,,543,543,543,,543,543,543,543,543", ",543,543,543,,543,543,,543,543,,,,,,,,,,,,,,,,,,,,,543,,,543,,,543,", ",543,,543,,,,543,,,,,,,,543,,,,,543,543,543,543,543,543,,,,543,543,", ",,,,,543,,,543,,,,543,543,542,542,542,542,542,,,,542,542,,,,542,,542", "542,542,542,542,542,542,,,,,,542,542,542,542,542,542,542,,,542,,,,,", "542,542,,542,542,542,,542,542,542,542,542,,542,542,542,,542,542,,542", "542,,,,,,,,,,,,,,,,,,,,,542,,,542,,,542,,,542,,542,,,,542,,,,,,,,542", ",,,,542,542,542,542,542,542,,,,542,542,,,,537,537,537,542,537,,542,", "537,537,542,542,,537,,537,537,537,537,537,537,537,,,,,,537,537,537,537", "537,537,537,,,537,,,,,,,537,,,537,537,,537,537,537,537,537,537,537,537", "537,,537,537,,537,537,,,,,,,,,,,,,,,,,,,,,537,,,537,,,537,,,537,,,,", ",537,,,,,,,,537,,,,,537,537,537,537,537,537,,,,537,537,,,,,,,537,,,537", ",,,537,537,278,278,278,278,278,,,,278,278,,,,278,,278,278,278,278,278", "278,278,,,,,,278,278,278,278,278,278,278,,,278,,,,,,278,278,,278,278", "278,,278,278,278,278,278,,278,278,278,,278,278,,278,278,,,,,,,,,,,,", ",,,,,,,,278,,,278,,,278,,,278,,278,,,,278,,,,,,,,278,,,,,278,278,278", "278,278,278,,,,278,278,,,,534,534,534,278,534,,278,,534,534,278,278", ",534,,534,534,534,534,534,534,534,,,,,,534,534,534,534,534,534,534,", ",534,,,,,,,534,,,534,534,,534,534,534,534,534,534,534,534,534,,534,534", ",534,534,,,,,,,,,,,,,,,,,,,,,534,,,534,,,534,,,534,,534,,,,534,,,,,", ",,534,,,,,534,534,534,534,534,534,,,,534,534,,,,528,528,528,534,528", ",534,,528,528,534,534,,528,,528,528,528,528,528,528,528,,,,,,528,528", "528,528,528,528,528,,,528,,,,,,,528,,,528,528,,528,528,528,528,528,", "528,528,528,,528,528,,528,528,,,,,,,,,,,,,,,,,,,,,528,,,528,,,528,,", "528,,,,,,528,,,,,,,,528,,,,,528,528,528,528,528,528,,,,528,528,,,,524", "524,524,528,524,,528,,524,524,528,528,,524,,524,524,524,524,524,524", "524,,,,,,524,524,524,524,524,524,524,,,524,,,,,,,524,,,524,524,,524", "524,524,524,524,,524,524,524,,524,524,,524,524,,,,,,,,,,,,,,,,,,,,,524", ",,524,,,524,,,524,,,,,,524,,,,,,,,524,,,,,524,524,524,524,524,524,,", ",524,524,,,,282,282,282,524,282,,524,,282,282,524,524,,282,,282,282", "282,282,282,282,282,,,,,,282,282,282,282,282,282,282,,,282,,,,,,,282", ",,282,282,,282,282,282,282,282,,282,282,282,,282,282,,,,,,,,,,,,,,,", ",,,,,,,,282,,,282,,,282,,,282,,,,,,,,,,,,,,,,,,,282,282,282,282,282", "282,,,,282,282,,,,282,,,282,,,282,,,,282,282,283,283,283,283,283,,,", "283,283,,,,283,,283,283,283,283,283,283,283,,,,,,283,283,283,283,283", "283,283,,,283,,,,,,283,283,,283,283,283,,283,283,283,283,283,,283,283", "283,,283,283,,283,283,,,,,,,,,,,,,,,,,,,,,283,,,283,,,283,,,283,,283", ",,,283,,,,,,,,283,,,,,283,283,283,283,283,283,,,,283,283,,,,523,523", "523,283,523,,283,,523,523,283,283,,523,,523,523,523,523,523,523,523", ",,,,,523,523,523,523,523,523,523,,,523,,,,,,,523,,,523,523,,523,523", "523,523,523,,523,523,523,,523,523,,523,523,,,,,,,,,,,,,,,,,,,,,523,", ",523,,,523,,,523,,,,,,523,,,,,,,,523,,,,,523,523,523,523,523,523,,,", "523,523,,,,522,522,522,523,522,,523,,522,522,523,523,,522,,522,522,522", "522,522,522,522,,,,,,522,522,522,522,522,522,522,,,522,,,,,,,522,,,522", "522,,522,522,522,522,522,,522,522,522,,522,522,,522,522,,,,,,,,,,,,", ",,,,,,,,522,,,522,,,522,,,522,,,,,,522,,,,,,,,522,,,,,522,522,522,522", "522,522,,,,522,522,,,,513,513,513,522,513,,522,,513,513,522,522,,513", ",513,513,513,513,513,513,513,,,,,,513,513,513,513,513,513,513,,,513", ",,,,,,513,,,513,513,,513,513,513,513,513,513,513,513,513,,513,513,,513", "513,,,,,,,,,,,,,,,,,,,,,513,,,513,,,513,,,513,,513,,,,513,,,,,,,,513", ",,,,513,513,513,513,513,513,,,,513,513,,,,511,511,511,513,511,,513,", "511,511,513,513,,511,,511,511,511,511,511,511,511,,,,,,511,511,511,511", "511,511,511,,,511,,,,,,,511,,,511,511,,511,511,511,511,511,,511,511", "511,,511,511,,,,,,,,,,,,,,,,,,,,,,,,511,,,511,,,511,,,511,,,,,,,,,,", ",,,,,,,,511,511,511,511,511,511,,,,511,511,,,,,,,511,,,511,,,,511,511", "505,505,505,505,505,,,,505,505,,,,505,,505,505,505,505,505,505,505,", ",,,,505,505,505,505,505,505,505,,,505,,,,,,505,505,,505,505,505,,505", "505,505,505,505,,505,505,505,,505,505,,505,505,,,,,,,,,,,,,,,,,,,,,505", ",,505,,,505,,,505,,505,,,,505,,,,,,,,505,,,,,505,505,505,505,505,505", ",,,505,505,,,,,,505,505,,,505,,,,505,505,499,499,499,,499,,,,499,499", ",,,499,,499,499,499,499,499,499,499,,,,,,499,499,499,499,499,499,499", ",,499,,,,,,,499,,,499,499,,499,499,499,499,499,,499,499,499,,499,499", ",499,499,,,,,,,,,,,,,,,,,,,,,499,,,499,,499,499,,,499,,,,499,,499,,", ",,,,,499,,,,,499,499,499,499,499,499,,,,499,499,,,,483,483,483,499,483", ",499,,483,483,499,499,,483,,483,483,483,483,483,483,483,,,,,,483,483", "483,483,483,483,483,,,483,,,,,,,483,,,483,483,,483,483,483,483,483,", "483,483,483,,483,483,,483,483,,,,,,,,,,,,,,,,,,,,,483,,,483,,,483,,", "483,,,,,,483,,,,,,,,483,,,,,483,483,483,483,483,483,,,,483,483,,,,481", "481,481,483,481,,483,,481,481,483,483,,481,,481,481,481,481,481,481", "481,,,,,,481,481,481,481,481,481,481,,,481,,,,,,,481,,,481,481,,481", "481,481,481,481,481,481,481,481,,481,481,,481,481,,,,,,,,,,,,,,,,,,", ",,481,,,481,,,481,,,481,,,,481,,481,,,,,,,,481,,,,,481,481,481,481,481", "481,,,,481,481,,,,479,479,479,481,479,,481,,479,479,481,481,,479,,479", "479,479,479,479,479,479,,,,,,479,479,479,479,479,479,479,,,479,,,,,", ",479,,,479,479,,479,479,479,479,479,479,479,479,479,,479,479,,479,479", ",,,,,,,,,,,,,,,,,,,,479,,,479,,,479,,,479,,479,,479,,479,,,,,,,,479", ",,,,479,479,479,479,479,479,,,,479,479,,,,295,295,295,479,295,,479,", "295,295,479,479,,295,,295,295,295,295,295,295,295,,,,,,295,295,295,295", "295,295,295,,,295,,,,,,,295,,,295,295,,295,295,295,295,295,,295,295", "295,,295,295,,,,,,,,,,,,,,,,,,,,,,,,295,,,295,,,295,,,295,,,,,,,,,,", ",,,,,,,,295,295,295,295,295,295,,,,295,295,,,,448,448,448,295,448,,295", ",448,448,295,295,,448,,448,448,448,448,448,448,448,,,,,,448,448,448", "448,448,448,448,,,448,,,,,,,448,,,448,448,,448,448,448,448,448,,448", "448,448,,448,448,,448,448,,,,,,,,,,,,,,,,,,,,,448,,,448,,,448,,,448", ",,,,,448,,,,,,,,448,,,,,448,448,448,448,448,448,,,,448,448,,,,447,447", "447,448,447,,448,,447,447,448,448,,447,,447,447,447,447,447,447,447", ",,,,,447,447,447,447,447,447,447,,,447,,,,,,,447,,,447,447,,447,447", "447,447,447,,447,447,447,,447,447,,447,447,,,,,,,,,,,,,,,,,,,,,447,", ",447,,,447,,,447,,,,,,447,,,,,,,,447,,,,,447,447,447,447,447,447,,,", "447,447,,,,446,446,446,447,446,,447,,446,446,447,447,,446,,446,446,446", "446,446,446,446,,,,,,446,446,446,446,446,446,446,,,446,,,,,,,446,,,446", "446,,446,446,446,446,446,,446,446,446,,446,446,,446,446,,,,,,,,,,,,", ",,,,,,,,446,,,446,,,446,,,446,,,,,,446,,,,,,,,446,,,,,446,446,446,446", "446,446,,,,446,446,,,,444,444,444,446,444,,446,,444,444,446,446,,444", ",444,444,444,444,444,444,444,,,,,,444,444,444,444,444,444,444,,,444", ",,,,,,444,,,444,444,,444,444,444,444,444,444,444,444,444,,444,444,,444", "444,,,,,,,,,,,,,,,,,,,,,444,,,444,,,444,,,444,,444,,,,444,,,,,,,,444", ",,,,444,444,444,444,444,444,,,,444,444,,,,418,418,418,444,418,,444,", "418,418,444,444,,418,,418,418,418,418,418,418,418,,,,,,418,418,418,418", "418,418,418,,,418,,,,,,,418,,,418,418,,418,418,418,418,418,,418,418", "418,,418,418,,418,418,,,,,,,,,,,,,,,,,,,,,418,,,418,,,418,,,418,,,,", ",418,,,,,,,,418,,,,,418,418,418,418,418,418,,,,418,418,,,,304,304,304", "418,304,,418,,304,304,418,418,,304,,304,304,304,304,304,304,304,,,,", ",304,304,304,304,304,304,304,,,304,,,,,,,304,,,304,304,,304,304,304", "304,304,,304,304,304,,304,304,,304,304,,,,,,,,,,,,,,,,,,,,,304,,,304", "304,,304,,,304,,,,,,304,,,,,,,,304,,,,,304,304,304,304,304,304,,,,304", "304,,,,,,,304,,,304,,,,304,304,306,306,306,306,306,,,,306,306,,,,306", ",306,306,306,306,306,306,306,,,,,,306,306,306,306,306,306,306,,,306", ",,,,,306,306,,306,306,306,,306,306,306,306,306,,306,306,306,,306,306", ",306,306,,,,,,,,,,,,,,,,,,,,,306,,,306,,,306,,,306,,306,,,,306,,,,,", ",,306,,,,,306,306,306,306,306,306,,,,306,306,,,,378,378,378,306,378", ",306,,378,378,306,306,,378,,378,378,378,378,378,378,378,,,,,,378,378", "378,378,378,378,378,,,378,,,,,,,378,,,378,378,,378,378,378,378,378,", "378,378,378,,378,378,,378,378,,,,,,,,,,,,,,,,,,,,,378,,,378,,,378,,", "378,,,,,,378,,,,,,,,378,,,,,378,378,378,378,378,378,,,,378,378,,,,366", "366,366,378,366,,378,,366,366,378,378,,366,,366,366,366,366,366,366", "366,,,,,,366,366,366,366,366,366,366,,,366,,,,,,,366,,,366,366,,366", "366,366,366,366,,366,366,366,,366,366,,,,,,,,,,,,,,,,,,,,,,,,366,,,366", ",,366,,,366,,,,,,,,,,,,,,,,,,,366,366,366,366,366,366,,,,366,366,,,", "347,347,347,366,347,,366,,347,347,366,366,,347,,347,347,347,347,347", "347,347,,,,,,347,347,347,347,347,347,347,,,347,,,,,,,347,,,347,347,", "347,347,347,347,347,,347,347,347,,347,347,,347,347,,,,,,,,,,,,,,,,,", ",,,347,,,347,,,347,,,347,,,,,,347,,,,,,,,347,,,,,347,347,347,347,347", "347,,,,347,347,,,,588,588,588,347,588,,347,,588,588,347,347,,588,,588", "588,588,588,588,588,588,,,,,,588,588,588,588,588,588,588,,,588,,,,,", ",588,,,588,588,,588,588,588,588,588,,588,588,588,,588,588,,588,588,", ",,,,,,,,,,,,,,,,,,,588,,,588,,,588,,,588,,,,,,588,,,,,,,,588,,,,434", "588,588,588,588,588,588,434,434,434,588,588,,434,434,,434,,588,,,588", ",,,588,588,,,,,,,,,,434,434,,434,434,434,434,434,,,,,,,,,,,,,,,,,,,", ",,,,434,434,434,434,434,434,434,434,434,434,434,434,434,434,,,434,434", "434,,434,,,,434,,,,,,,434,,434,,434,434,434,434,434,434,434,,434,,434", ",,,,,,,,,,,,434,434,,434,,434,632,,434,,,434,,632,632,632,,,632,632", "632,,632,,,,,,,,,,632,632,,,,,,,,,632,632,,632,632,632,632,632,,,,,", ",,,,,,,,,,,,,,,,,,632,632,632,632,632,632,632,632,632,632,632,632,632", "632,,,632,632,632,,632,632,,,632,,,632,,632,,632,,632,,632,632,632,632", "632,632,632,,632,,632,,,,,,,,,,,,,632,632,632,632,,632,84,,632,,,632", ",84,84,84,,,84,84,84,,84,,,,,,,,84,,84,84,84,,,,,,,,84,84,,84,84,84", "84,84,,,,,,,,,,,,,,,,,,,,,,,,84,84,84,84,84,84,84,84,84,84,84,84,84", "84,,,84,84,84,,84,84,,,84,,,84,,84,,84,,84,,84,84,84,84,84,84,84,,84", ",84,,,,,,,,,,,,,84,84,84,84,,84,432,84,84,,,84,,432,432,432,,,,432,432", ",432,,,,,,,,,432,,,,,,,,,,,432,432,,432,432,432,432,432,,,,,,,,,,,,", ",,,,,,,,,,,432,432,432,432,432,432,432,432,432,432,432,432,432,432,", ",432,432,432,,432,,,,432,,,,,,,432,,432,,432,432,432,432,432,432,432", ",432,432,432,,,,,,,,,,,,,432,432,,432,,432,631,,432,,,432,,631,631,631", ",,631,631,631,,631,,,,,,,,,631,631,631,,,,,,,,,631,631,,631,631,631", "631,631,,,,,,,,,,,,,,,,,,,,,,,,631,631,631,631,631,631,631,631,631,631", "631,631,631,631,,,631,631,631,,631,631,,,631,,,631,,631,,631,,631,,631", "631,631,631,631,631,631,,631,631,631,,,,,,,,,,,,,631,631,631,631,,631", "87,,631,,,631,,87,87,87,,,87,87,87,,87,,,,,,,,87,,87,87,87,,,,,,,,87", "87,,87,87,87,87,87,,,,,,,,,,,,,,,,,,,,,,,,87,87,87,87,87,87,87,87,87", "87,87,87,87,87,,,87,87,87,,87,87,,,87,,,87,,87,,87,,87,,87,87,87,87", "87,87,87,,87,,87,,,,,,,,,,,,,87,87,87,87,,87,27,87,87,,,87,,27,27,27", ",,27,27,27,,27,,,,,,,,,27,27,27,,,,,,,,,27,27,,27,27,27,27,27,,,,,,", ",,,,,,,,,,,,,,,,,27,27,27,27,27,27,27,27,27,27,27,27,27,27,,,27,27,27", ",,27,,27,27,,,27,,27,,27,,27,,27,27,27,27,27,27,27,,27,27,27,,,,,,,", ",,,,,27,27,27,27,436,27,,,27,,,436,436,436,,,436,436,436,,436,,,,,,", ",,436,436,436,436,,,,,,,,436,436,,436,436,436,436,436,,,,,,,,,,,,,,", ",,,,,,,,,436,436,436,436,436,436,436,436,436,436,436,436,436,436,,,436", "436,436,,,436,,,436,,,436,,436,,436,,436,,436,436,436,436,436,436,436", ",436,436,436,,,,,,,,,,,,,436,436,436,436,428,436,,436,436,,,428,428", "428,,,428,428,428,,428,,,,,,,,,428,428,428,,,,,,,,,428,428,,428,428", "428,428,428,,,,,,,,,,,,,,,,,,,,,,,,428,428,428,428,428,428,428,428,428", "428,428,428,428,428,,,428,428,428,,,428,,428,428,,,428,,428,,428,,428", ",428,428,428,428,428,428,428,,428,428,428,,,,,,,,,,,,,428,428,428,428", "437,428,,,428,,,437,437,437,,,437,437,437,,437,,,,,,,,,437,437,437,437", ",,,,,,,437,437,,437,437,437,437,437,,,,,,,,,,,,,,,,,,,,,,,,437,437,437", "437,437,437,437,437,437,437,437,437,437,437,,,437,437,437,,,437,,,437", ",,437,,437,,437,,437,,437,437,437,437,437,437,437,,437,437,437,,,,,", ",,,,,,,437,437,437,437,28,437,,437,437,,,28,28,28,,,28,28,28,,28,,,", ",,,,,,28,28,,,,,,,,,28,28,,28,28,28,28,28,,,,,,,,,,,,,,,,,,,,,,,,28", "28,28,28,28,28,28,28,28,28,28,28,28,28,,,28,28,28,,,28,,28,28,,,28,", "28,,28,,28,,28,28,28,28,28,28,28,,28,,28,,,,,,,,,,,,,28,28,28,28,50", "28,,,28,,,50,50,50,,,50,50,50,,50,,,,,,,,,,50,50,50,,,,,,,,50,50,,50", "50,50,50,50,,,,,,,,,,,,,,,,,,,,,,,,50,50,50,50,50,50,50,50,50,50,50", "50,50,50,,,50,50,50,,,50,,,50,,,50,,50,,50,,50,,50,50,50,50,50,50,50", ",50,,50,,,,,,,,,,,,,50,50,50,50,486,50,,50,50,,,486,486,486,,,486,486", "486,,486,,,,,,,,,,486,,,,,,,,,,486,486,,486,486,486,486,486,,,,,,,,", ",,,,489,,,,,,,489,489,489,,,489,489,489,,489,,,,,,486,,,,489,,,486,", ",,,486,486,489,489,,489,489,489,489,489,,,,,,,,,,,,,486,,,,,,,,,,,,", "486,,486,,,486,,,,489,,,,,,,489,,,,,489,489,,,,,,,,,,,,,,,,,,,,,489", ",,,,,,,,,,,,489,,489,,,489,408,408,408,408,408,408,408,408,408,408,408", "408,408,408,408,408,408,408,408,408,408,408,408,408,,,,408,408,408,408", "408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408,408", ",408,408,,,408,,,,,,,,,408,408,,408,408,408,408,408,408,408,,,408,408", ",,,408,408,408,408,,,,,,,,,,,,,408,408,,408,408,408,408,408,408,408", "408,408,408,408,,,408,408,,,,,,,,,,408,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7", "7,7,7,7,7,7,7,7,7,,,,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,,7,7", "7,,7,,,,,,,,,7,7,,7,7,7,7,7,7,7,,,7,7,,,,7,7,7,7,,,,,,,,,,,,,7,7,,7", "7,7,7,7,7,7,7,7,7,7,,,7,7,,,,,,,,,,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8", "8,8,8,8,8,8,8,8,,,,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,,8,8,,", "8,,,,,,,,,8,8,,8,8,8,8,8,8,8,,,8,8,,,,8,8,8,8,,,,,,,,,,,,,8,8,,8,8,8", "8,8,8,8,8,8,8,8,,,8,8,,,,,,,,,,8,412,412,412,412,412,412,412,412,412", "412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,,,,412,412", "412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,412,412", "412,412,,412,412,,,412,,,,,,,,,412,412,,412,412,412,412,412,412,412", ",,412,412,,,,412,412,412,412,,,,,,,,,,,,,412,412,,412,412,412,412,412", "412,412,412,412,412,412,,,412,412,,,,,,,,,,412,747,747,747,747,747,747", "747,747,747,747,747,747,747,747,747,747,747,747,747,747,747,747,747", "747,,,,747,747,747,747,747,747,747,747,747,747,747,747,747,747,747,747", "747,747,747,747,747,,747,747,,,747,,,,,,,,,747,747,,747,747,747,747", "747,747,747,,,747,747,,,,747,747,747,747,,,,,,,,,,,,,747,747,,747,747", "747,747,747,747,747,747,747,747,747,,,747,79,79,79,79,79,79,79,79,79", "79,79,79,79,79,79,79,79,79,79,79,79,79,79,79,,,,79,79,79,79,79,79,79", "79,79,79,79,79,79,79,79,79,79,79,79,79,79,,79,79,79,79,79,,79,,,,,,", "79,79,,79,79,79,79,79,79,79,,,79,79,,,,79,79,79,79,,,,,,,,,,,,,79,79", ",79,79,79,79,79,79,79,79,79,79,79,,,79,192,192,192,192,192,192,192,192", "192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,,,,192", "192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192", "192,192,192,,192,192,192,192,192,,192,,,,,,,192,192,,192,192,192,192", "192,192,192,,,192,192,,,,192,192,192,192,,,,,,,,,,,,,192,192,,192,192", "192,192,192,192,192,192,192,192,192,,,192,65,65,65,65,65,65,65,65,65", "65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,,,,65,65,65,65,65,65,65", "65,65,65,65,65,65,65,65,65,65,65,65,65,65,,65,65,65,65,65,,65,,,,,,", "65,65,,65,65,65,65,65,65,65,,,65,65,,,,65,65,65,65,,,,,,65,,,,,,,65", "65,,65,65,65,65,65,65,65,65,65,65,65,443,443,65,,443,,,,,,,,,443,443", ",443,443,443,443,443,443,443,,,443,443,,,,443,443,443,443,,,,,,,,,,", ",,443,443,,443,443,443,443,443,443,443,443,443,443,443,583,583,443,", "583,,,,,,,,,583,583,,583,583,583,583,583,583,583,,,583,583,,,,583,583", "583,583,,,,,,583,,,,,,,583,583,,583,583,583,583,583,583,583,583,583", "583,583,581,581,583,,581,,,,,,,,,581,581,,581,581,581,581,581,581,581", ",,581,581,,,,581,581,581,581,,,,,,,,,,,,,581,581,,581,581,581,581,581", "581,581,581,581,581,581,442,442,581,,442,,,,,,,,,442,442,,442,442,442", "442,442,442,442,,,442,442,,,,442,442,442,442,,,,,,442,,,,,,,442,442", ",442,442,442,442,442,442,442,442,442,442,442,576,576,442,,576,,,,,,", ",,576,576,,576,576,576,576,576,576,576,,,576,576,,,,576,576,576,576", ",,,,,,,,,,,,576,576,,576,576,576,576,576,576,576,576,576,576,576,575", "575,576,,575,,,,,,,,,575,575,,575,575,575,575,575,575,575,,,575,575", ",,,575,575,575,575,,,,,,575,,,,,,,575,575,,575,575,575,575,575,575,575", "575,575,575,575,919,919,575,,919,,,,,,,,,919,919,,919,919,919,919,919", "919,919,,,919,919,,,,919,919,919,919,,,,,,919,,,,,,,919,919,,919,919", "919,919,919,919,919,919,919,919,919,920,920,919,,920,,,,,,,,,920,920", ",920,920,920,920,920,920,920,,,920,920,,,,920,920,920,920,,,,,,,,,,", ",,920,920,,920,920,920,920,920,920,920,920,920,920,920,262,262,920,", "262,,,,,,,,,262,262,,262,262,262,262,262,262,262,,,262,262,,,,262,262", "262,262,,,,,,,,,,,,,262,262,,262,262,262,262,262,262,262,262,262,262", "262,263,263,262,,263,,,,,,,,,263,263,,263,263,263,263,263,263,263,,", "263,263,,,,263,263,263,263,,,,,,,,,,,,,263,263,,263,263,263,263,263", "263,263,263,263,263,263,526,526,263,,526,,,,,,,,,526,526,,526,526,526", "526,526,526,526,,,526,526,,,,526,526,526,526,,,,,,,,,,,,,526,526,,526", "526,526,526,526,526,526,526,526,526,526,201,201,526,,201,,,,,,,,,201", "201,,201,201,201,201,201,201,201,,,201,201,,,,201,201,201,201,,,,,,", ",,,,,,201,201,,201,201,201,201,201,201,201,201,201,201,201,515,515,201", ",515,,,,,,,,,515,515,,515,515,515,515,515,515,515,,,515,515,,,,515,515", "515,515,,,,,,,,,,,,,515,515,,515,515,515,515,515,515,515,515,515,515", "515,514,514,515,,514,,,,,,,,,514,514,,514,514,514,514,514,514,514,,", "514,514,,,,514,514,514,514,,,,,,514,,,,,,,514,514,,514,514,514,514,514", "514,514,514,514,514,514,200,200,514,,200,,,,,,,,,200,200,,200,200,200", "200,200,200,200,,,200,200,,,,200,200,200,200,,,,,,200,,,,,,,200,200", ",200,200,200,200,200,200,200,200,200,200,200,799,799,200,,799,,,,,,", ",,799,799,,799,799,799,799,799,799,799,,,799,799,,,,799,799,799,799", ",,,,,,,,,,,,799,799,,799,799,799,799,799,799,799,799,799,799,799,525", "525,799,,525,,,,,,,,,525,525,,525,525,525,525,525,525,525,,,525,525", ",,,525,525,525,525,,,,,,525,,,,,,,525,525,,525,525,525,525,525,525,525", "525,525,525,525,,,525"]; racc_action_check = arr = Opal.get('Array').$new(23792, nil); idx = 0; ($a = ($c = clist).$each, $a.$$p = (TMP_3 = function(str){var self = TMP_3.$$s || this, $a, $b, TMP_4; if (str == null) str = nil; return ($a = ($b = str.$split(",", -1)).$each, $a.$$p = (TMP_4 = function(i){var self = TMP_4.$$s || this, $a; if (i == null) i = nil; if ((($a = i['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { arr['$[]='](idx, i.$to_i()) }; return idx = $rb_plus(idx, 1);}, TMP_4.$$s = self, TMP_4), $a).call($b)}, TMP_3.$$s = self, TMP_3), $a).call($c); racc_action_pointer = [-2, 1124, nil, -48, nil, 1063, 976, 21953, 22076, 949, 917, 916, 944, 447, 426, 730, nil, 1846, 1972, 2362, 921, nil, 2362, 2488, 2614, 679, 13, 20871, 21387, nil, 3280, 3406, 3532, nil, 759, 363, 828, 655, 4174, 4300, 4426, 727, 676, nil, nil, nil, nil, nil, nil, nil, 21516, nil, 4942, 5068, 5194, -15, 5998, 5596, 5722, nil, nil, 5848, 5986, 6112, nil, 22658, nil, nil, nil, nil, nil, -101, nil, nil, nil, nil, nil, 502, 132, 22434, nil, nil, nil, 642, 20347, nil, nil, 20740, nil, nil, nil, nil, nil, nil, nil, nil, nil, 108, nil, 7420, nil, nil, nil, 7558, 7684, 7810, 7936, 8074, 8212, nil, 275, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 22546, 160, nil, 8740, 8866, 8992, 9118, 9244, 23558, 23378, 9634, 9760, 9886, nil, 527, 231, 595, 258, 535, 597, 10780, 10906, nil, nil, 11032, 646, 11284, 11410, 11536, 11662, 11788, 11914, 12040, 12166, 12292, 12418, 12544, 12670, 12796, 12922, 13048, 13174, 13300, 13426, 13552, 13678, 13804, 13930, 14056, 14182, 14308, 14434, nil, nil, nil, 1594, nil, 614, 630, nil, 14938, 675, 15202, nil, nil, nil, nil, 15328, nil, nil, 23198, 23258, 750, 15856, 15982, nil, nil, nil, nil, nil, nil, nil, 16108, 357, 925, 767, 16648, 771, 793, 761, 17152, 17290, 530, 541, 867, 535, 848, 824, 197, nil, 896, 307, nil, 18574, nil, 288, 954, 955, 516, nil, 1005, nil, 19330, nil, 19468, 112, nil, 961, 560, 438, 1075, 1056, 545, 1078, nil, nil, 6, 6766, nil, nil, nil, 1037, 1027, nil, 1013, 1010, nil, nil, nil, nil, nil, nil, nil, 2864, nil, nil, nil, 1083, nil, nil, 1077, 664, 36, -7, 11158, 19846, 312, 23, 984, 40, 526, 1039, 46, 1067, nil, nil, -2, 1035, nil, 442, nil, 65, nil, nil, 19720, 167, 733, 149, 547, 543, 531, 271, 605, nil, 573, nil, 19594, nil, 262, nil, 244, nil, 292, 955, 252, nil, 954, -25, nil, 277, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 963, 21830, nil, nil, nil, 22199, 961, nil, nil, 400, nil, 19204, 908, nil, 902, nil, nil, 1846, 934, 409, 100, 21129, nil, nil, nil, 20478, 935, 20085, nil, 21000, 21258, nil, 1468, nil, nil, 22898, 22718, 19078, 124, 18952, 18826, 18700, 304, nil, 3142, 4300, 543, 540, 936, 933, 929, 923, 5194, 5332, 2901, 4816, 4048, 3280, 4942, 4690, 4552, 4426, 5068, 4174, 3796, 1353, 2853, 3670, 3922, 940, -50, nil, 18448, nil, 18322, nil, 18196, nil, nil, 21645, nil, nil, 21701, 332, nil, 854, nil, nil, 825, 824, nil, nil, 18070, 317, 178, 856, nil, nil, 17932, 844, 804, nil, nil, 803, 17794, 833, 17668, 23498, 23438, 254, 808, nil, nil, 762, nil, 17542, 17416, 17026, 23678, 23318, 1720, 16900, 873, 859, 774, nil, nil, 16774, nil, nil, 16510, nil, nil, nil, nil, 16384, 16246, 757, nil, 883, nil, nil, 15730, 3069, nil, 479, nil, nil, 750, nil, 1316, nil, 710, 1064, nil, nil, 15604, 776, nil, nil, 15466, 124, 144, 756, 760, 15076, nil, 14812, 23018, 22958, 37, nil, 637, nil, 22838, 14686, 22778, nil, nil, 14560, 405, 19972, nil, 6892, nil, nil, nil, 35, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 241, nil, nil, nil, 597, nil, nil, nil, nil, nil, 10642, 547, 10516, 478, 10390, 10264, 552, nil, nil, nil, 10138, 544, nil, 10012, -61, -47, 20609, 20216, 494, 676, nil, 9508, nil, 3418, nil, 9382, 456, nil, 372, 8602, nil, nil, nil, nil, nil, nil, 8476, nil, 123, 8338, 7282, 802, -22, nil, nil, 1, 7156, 7018, nil, 787, -37, 6880, -47, nil, -70, 207, 208, -49, -17, 400, 14, 6754, 2236, 66, 141, 239, 236, 6628, nil, nil, -60, 217, 322, nil, nil, 210, nil, 222, 378, 411, 384, 393, nil, nil, 473, 2893, nil, 699, nil, 584, nil, nil, nil, nil, nil, 608, nil, 613, 6502, 542, 56, 74, 116, 77, 6376, 403, nil, 599, 624, 6250, 311, nil, -25, 5470, 5332, 6124, 284, nil, nil, 724, nil, 4816, nil, 661, 669, nil, 670, 673, 675, nil, 680, nil, 22322, 748, 493, 4690, nil, nil, nil, 2488, 721, 4552, 4048, nil, 2614, nil, 2098, nil, nil, 1972, nil, 1078, 3922, 3796, 3670, 169, 2752, nil, 784, 884, nil, nil, 783, nil, 768, 3142, nil, 801, 905, 787, 559, nil, nil, 915, nil, 3016, 799, 841, nil, nil, nil, nil, nil, nil, 23618, nil, 745, nil, nil, nil, nil, 1190, 928, nil, 2878, 930, 2752, 2236, nil, nil, 90, -18, 99, nil, 945, nil, nil, 947, 967, 852, nil, nil, nil, 203, nil, nil, 52, 3544, nil, 291, nil, 190, nil, 2098, nil, nil, nil, nil, nil, nil, nil, 894, 890, nil, 1204, 1720, nil, nil, nil, 1594, 899, nil, nil, nil, 1468, nil, nil, 66, 1330, nil, 943, 906, nil, nil, 67, nil, 1030, 1042, 1204, 1078, nil, nil, 940, nil, nil, 970, nil, 934, nil, nil, 937, 940, 941, 934, nil, nil, 1342, nil, nil, 802, nil, 676, 444, 496, 1030, 361, nil, nil, 538, nil, nil, nil, 53, 400, 1083, nil, nil, 567, nil, nil, nil, 262, 1113, 124, 23078, 23138, 275, 414, nil, nil, nil, 1135, nil, 1028, 1150, nil, 1066, 73, 82, 74, 145, nil, nil, nil, nil, 654]; racc_action_default = [-3, -546, -1, -534, -4, -6, -546, -546, -546, -546, -546, -546, -546, -546, -271, -36, -37, -546, -546, -42, -44, -45, -282, -320, -321, -49, -249, -249, -249, -61, -10, -65, -72, -74, -546, -448, -546, -546, -546, -546, -546, -536, -226, -264, -265, -266, -267, -268, -269, -270, -524, -273, -546, -545, -516, -290, -545, -546, -546, -295, -298, -534, -546, -546, -312, -546, -322, -323, -391, -392, -393, -394, -395, -545, -398, -545, -545, -545, -545, -545, -425, -431, -432, -546, -522, -438, -439, -523, -441, -442, -443, -444, -445, -446, -447, -450, -451, -546, -2, -535, -541, -542, -543, -546, -546, -546, -546, -546, -3, -13, -546, -100, -101, -102, -103, -104, -105, -106, -109, -110, -111, -112, -113, -114, -115, -116, -117, -118, -119, -120, -121, -122, -123, -124, -125, -126, -127, -128, -129, -130, -131, -132, -133, -134, -135, -136, -137, -138, -139, -140, -141, -142, -143, -144, -145, -146, -147, -148, -149, -150, -151, -152, -153, -154, -155, -156, -157, -158, -159, -160, -161, -162, -163, -164, -165, -166, -167, -168, -169, -170, -171, -172, -173, -174, -175, -176, -177, -178, -179, -180, -181, -182, -546, -18, -107, -10, -546, -546, -546, -545, -546, -546, -546, -546, -546, -40, -546, -448, -546, -271, -546, -546, -10, -546, -41, -218, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -546, -362, -364, -46, -227, -242, -256, -256, -246, -546, -257, -546, -282, -320, -321, -518, -546, -47, -48, -546, -546, -53, -545, -546, -289, -367, -374, -376, -59, -372, -60, -546, -534, -11, -61, -10, -546, -546, -66, -69, -10, -80, -546, -546, -87, -285, -536, -546, -324, -373, -546, -71, -546, -76, -278, -433, -434, -546, -203, -204, -219, -546, -537, -10, -536, -228, -536, -538, -538, -546, -546, -538, -546, -291, -292, -546, -546, -335, -336, -343, -545, -482, -350, -545, -545, -361, -481, -483, -484, -485, -486, -487, -546, -500, -505, -506, -508, -509, -510, -546, -43, -546, -546, -546, -546, -534, -546, -535, -448, -546, -546, -271, -546, -489, -490, -96, -546, -98, -546, -271, -546, -309, -448, -546, -100, -101, -138, -139, -155, -160, -167, -170, -315, -546, -514, -546, -396, -546, -411, -546, -413, -546, -546, -546, -403, -546, -546, -409, -546, -424, -426, -427, -428, -429, -435, -436, 941, -5, -544, -19, -20, -21, -22, -23, -546, -546, -15, -16, -17, -546, -546, -25, -33, -183, -257, -546, -546, -26, -34, -35, -27, -185, -546, -525, -526, -249, -369, -527, -528, -525, -249, -526, -371, -527, -528, -32, -192, -38, -39, -546, -546, -545, -278, -546, -546, -546, -546, -288, -193, -194, -195, -196, -197, -198, -199, -200, -205, -206, -207, -208, -209, -210, -211, -212, -213, -214, -215, -216, -217, -220, -221, -222, -223, -546, -545, -243, -546, -244, -546, -254, -546, -258, -521, -249, -525, -526, -249, -545, -54, -536, -237, -238, -256, -256, -250, -251, -546, -545, -545, -546, -284, -9, -535, -546, -62, -276, -77, -67, -546, -546, -545, -546, -546, -86, -546, -433, -434, -73, -78, -546, -546, -546, -546, -546, -224, -546, -383, -546, -546, -229, -230, -540, -539, -232, -540, -280, -281, -517, -332, -10, -10, -546, -334, -546, -352, -359, -546, -356, -357, -546, -360, -482, -546, -491, -546, -493, -495, -499, -507, -511, -10, -325, -326, -327, -10, -546, -546, -546, -546, -10, -378, -545, -546, -546, -278, -304, -96, -97, -546, -545, -546, -307, -452, -546, -546, -546, -313, -480, -317, -532, -533, -536, -397, -412, -415, -416, -418, -399, -414, -400, -401, -402, -546, -405, -407, -408, -546, -430, -7, -14, -108, -24, -546, -263, -546, -279, -546, -546, -55, -235, -236, -368, -546, -57, -370, -546, -525, -526, -525, -526, -546, -183, -287, -546, -346, -546, -348, -10, -256, -255, -259, -546, -519, -520, -50, -365, -51, -366, -10, -233, -546, -239, -241, -42, -546, -248, -252, -546, -10, -10, -283, -12, -62, -546, -70, -75, -546, -525, -526, -545, -529, -85, -546, -546, -191, -201, -202, -546, -545, -545, -274, -275, -538, -546, -546, -333, -344, -546, -351, -545, -345, -546, -545, -545, -501, -488, -546, -546, -498, -545, -328, -545, -296, -329, -330, -331, -299, -546, -302, -546, -546, -546, -525, -526, -529, -277, -546, -96, -99, -529, -546, -10, -546, -454, -546, -10, -10, -480, -546, -457, -458, -460, -461, -463, -464, -513, -513, -469, -471, -471, -471, -479, -482, -503, -546, -546, -546, -10, -404, -406, -410, -184, -261, -546, -546, -29, -187, -30, -188, -56, -31, -189, -58, -190, -546, -546, -546, -279, -225, -347, -546, -546, -245, -260, -546, -234, -256, -546, -253, -546, -546, -68, -81, -79, -286, -545, -341, -10, -384, -545, -385, -386, -231, -337, -338, -358, -546, -278, -546, -354, -355, -492, -494, -497, -546, -339, -546, -546, -10, -10, -301, -303, -546, -279, -546, -279, -546, -453, -310, -546, -546, -536, -456, -459, -462, -546, -467, -468, -546, -546, -475, -546, -477, -546, -478, -546, -318, -515, -417, -420, -421, -422, -423, -546, -262, -28, -186, -546, -349, -363, -52, -240, -256, -375, -377, -8, -10, -390, -342, -546, -546, -388, -277, -545, -496, -293, -546, -294, -546, -546, -546, -10, -305, -308, -10, -314, -316, -546, -465, -513, -512, -470, -471, -471, -471, -546, -504, -502, -480, -419, -247, -546, -389, -10, -88, -546, -546, -95, -387, -353, -10, -297, -300, -259, -545, -10, -546, -455, -466, -546, -473, -474, -476, -10, -383, -545, -546, -546, -94, -545, -379, -380, -381, -546, -311, -471, -546, -382, -546, -525, -526, -529, -93, -340, -306, -472, -319, -89]; clist = ["26,304,375,556,248,248,248,214,428,433,328,312,320,571,520,102,393,26", "26,5,363,98,26,26,26,530,563,567,281,729,26,109,194,480,689,309,548", "291,291,551,553,415,422,681,117,117,344,345,741,744,348,807,26,26,99", "533,536,26,26,540,697,26,580,891,788,306,645,2,291,291,486,489,491,102", "294,596,264,271,273,349,555,606,889,114,114,346,279,810,249,249,249", "811,402,403,404,405,705,709,347,26,250,250,250,26,26,26,26,26,26,277", "642,812,642,829,830,692,13,719,5,696,382,384,645,908,391,648,406,5,650", "393,658,724,314,206,206,588,877,366,206,206,206,114,728,246,260,261", "13,285,285,590,833,835,837,747,591,114,318,425,541,743,889,376,695,858", "584,355,400,193,206,206,640,268,272,206,206,407,357,206,352,361,245", "309,477,651,500,414,420,423,741,744,501,438,923,661,662,26,26,26,26", "26,713,792,26,26,26,862,379,380,317,12,386,605,26,26,316,13,389,841", "749,206,206,206,206,13,13,556,750,824,701,882,667,881,313,377,710,497", "885,660,408,12,645,652,805,492,1,,,248,248,517,428,433,,,,,248,911,280", ",,,419,419,,26,26,531,114,532,,936,,328,26,544,,437,26,480,,,,26,721", "642,642,102,291,689,924,,521,504,913,914,915,,,743,752,291,699,,,,26", ",12,,,13,206,206,206,206,12,12,206,206,206,,672,589,510,,505,,13,206", "916,495,249,672,506,568,569,938,,512,249,,697,496,250,875,26,26,,741", "744,,250,,,,,277,,,102,,277,,,,570,,556,,866,,291,,,585,,,26,,,206,206", "672,,784,494,498,,,206,672,,,13,502,,321,285,13,,886,633,887,12,798", ",,802,803,,285,,,381,,383,383,387,390,383,12,13,413,775,,309,,,762,795", "930,612,,765,268,613,272,14,645,280,,,819,26,117,,822,823,117,,,653", "740,,,,,,,743,,206,206,,,,,14,287,287,669,,,867,,,,621,,,928,361,626", "114,642,,12,114,,,,12,,206,309,,874,,26,354,362,,,,26,280,,521,,,280", ",26,,12,,291,,437,,,,,664,642,,793,26,,,,714,,,,647,14,,649,723,,26", "26,896,14,14,,,,,903,,,748,291,309,641,,,206,,775,26,309,,,26,,,,925", "26,623,26,725,,,627,902,706,706,26,,,,26,,26,,,437,328,740,773,,909", ",,726,,,437,,,,493,,758,760,,,685,,763,206,,,,26,26,13,,,,26,,285,,206", ",623,,14,623,929,,,893,,26,,,,206,,,,,,14,26,437,,,,,437,13,13,,26,26", "521,547,693,,547,547,,,,291,786,,,,,,13,,,291,13,839,,,,13,,206,883", ",,883,740,,740,206,740,,,206,,206,,,,817,,,,,,12,,14,,,26,287,14,,,26", ",,672,26,26,,,779,287,,206,206,820,,821,,206,,825,14,,848,,419,,26,12", "12,,740,,13,26,,,,,,,,,,13,,622,686,687,12,,,740,12,13,13,815,,12,285", ",880,,,,,,26,702,285,,,704,,,869,,712,,35,,362,,,,,26,,26,26,,,,,623", "637,,627,,,114,,,,622,,706,622,637,35,284,284,206,,,,,13,637,637,,13", "13,855,,,12,,,,,,,,10,,26,12,,,,351,365,13,365,774,291,12,12,,206,26", "437,931,26,,777,,,,,,,,10,,782,783,,,,,,26,,,,309,35,,26,,,13,,26,35", "35,,,,,,26,,26,356,,,,315,,206,,13,13,,,,,12,,,,12,12,,,,,14,,,,,,287", ",,,,,,10,,,12,,,,,10,10,,,,,,,,,,13,,,846,898,14,14,,,,,,362,,,13,,", "13,,,437,35,,12,,14,,,,14,,,,,14,,13,622,35,,,,861,13,12,12,789,794", "13,,,,,,,,13,547,206,,547,547,,871,872,,,789,,789,,,,,,,10,,,,,,,,,", ",,,417,421,,12,10,,,,,,,,,14,,35,,,12,284,35,12,895,,14,,,,,,,,284,", "14,14,,907,,287,12,205,,35,,,,12,,287,,,12,,,,482,,484,917,12,,,485", "860,,922,,864,,10,926,,,,10,307,,,,,343,343,,,343,,,,,,,,,,,,14,10,", ",14,14,365,,,,,,,,,,,,,,,,,,,845,14,,,,343,343,343,343,,,,,,,,,,,,547", ",,,,,,,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,,,,,789,14,14,,,,,,,,,,,,,789", ",,,,,,,,,,,,,,,,,,,,,,,616,,,,,440,441,,,,14,,,,900,449,,,,,35,,,,,14", "284,,14,,,,,,,,,,,,,,,,,,,14,,,,,,,14,,,35,35,14,,643,,315,365,646,", "14,215,,,,247,247,247,10,,,35,,,657,35,,,,,35,301,302,303,,,,,,,,,,", ",,247,247,,,,,,,,10,10,,,643,,,315,,,,,,,,,,,,,,10,,,,10,,,,,10,,,,", ",343,343,,,,,,35,,,,,,,,,,,35,,,,,,,,,,35,35,,,594,284,,,,,,,,,,284", ",,,,,,,755,,,,,,,,,,,10,,,,,,,,,,,10,,,,,776,,,,,10,10,,,,643,315,,35", ",,,35,35,,416,247,424,247,,,439,,,,,,,,,,,,791,35,215,,451,452,453,454", "455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471", "472,473,474,475,476,10,417,,,10,10,,307,247,,247,35,,,,247,,,,,,247", "247,,827,,10,,,,247,,35,35,,,680,,,,,,,,847,,,,,,,,,,,,,,,,527,,,,,", "10,,417,,,,,,,,,,,,35,,,,897,,,10,10,,,,,,343,35,727,,35,,,,,,,,,,,", ",,,,,,,35,,,,,,,35,,890,,,35,,,,,,10,,35,,901,,,315,,,,,,,,10,,,10,", ",,,,,,906,,,,,,,,,,,10,,247,,,,,10,,,906,,10,,,,,,,,10,,,,,,,,247,,439", "634,424,,,,,,,,,,,,,,,,,,,,,,,343,,,,,,,,247,,247,,247,,,,,,,,,,,,,", ",,656,,,,,,,,,,,,,,247,,,,,,,,,677,678,679,,,,,,,,,,247,,,247,,,,,,", ",,,,,,,,,,,,,,,,,343,,,,,,,,,,,,,247,,,,,,,,247,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,754,,247,,759,761,,,,,764,,,766,,,,,,,,771,,,,,,,,247,,", ",,,,,,,247,247,,,,,,,,,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,247,849,,,,", ",,,,,759,761,764,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,849,,,,247,,,,,,,,,,,,,,,,,,,247", ",,,,,,,,,,,,,,,,,,,,247,,,,,,,,,,,,,,,,,,,,,,,,247"]; racc_goto_table = arr = Opal.get('Array').$new(2256, nil); idx = 0; ($a = ($d = clist).$each, $a.$$p = (TMP_5 = function(str){var self = TMP_5.$$s || this, $a, $b, TMP_6; if (str == null) str = nil; return ($a = ($b = str.$split(",", -1)).$each, $a.$$p = (TMP_6 = function(i){var self = TMP_6.$$s || this, $a; if (i == null) i = nil; if ((($a = i['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { arr['$[]='](idx, i.$to_i()) }; return idx = $rb_plus(idx, 1);}, TMP_6.$$s = self, TMP_6), $a).call($b)}, TMP_5.$$s = self, TMP_5), $a).call($d); clist = ["37,51,47,145,29,29,29,18,33,33,107,22,104,80,43,83,47,37,37,7,46,4,37", "37,37,8,77,77,41,84,37,14,14,61,106,29,109,52,52,109,109,24,24,10,50", "50,16,16,110,141,16,78,37,37,6,55,55,37,37,55,147,37,45,101,11,87,154", "2,52,52,33,33,35,83,42,129,34,34,34,4,148,129,151,48,48,88,39,11,54", "54,54,89,16,16,16,16,79,79,90,37,56,56,56,37,37,37,37,37,37,38,62,91", "62,142,142,111,21,92,7,111,126,126,154,93,126,60,7,7,60,47,62,94,56", "21,21,95,96,97,21,21,21,48,98,31,31,31,21,21,21,99,143,143,143,100,86", "48,102,22,103,111,151,85,105,12,82,81,5,15,21,21,36,57,57,21,21,2,19", "21,21,21,112,29,113,36,115,18,18,18,110,141,116,18,117,36,36,37,37,37", "37,37,118,119,37,37,37,120,124,125,76,20,127,128,37,37,74,21,130,131", "132,21,21,21,21,21,21,145,133,135,145,137,43,139,73,72,80,64,144,63", "27,20,154,59,149,58,1,,,29,29,51,33,33,,,,,29,142,9,,,,54,54,,37,37", "51,48,51,,78,,107,37,104,,48,37,61,,,,37,45,62,62,83,52,106,11,,41,4", "143,143,143,,,111,129,52,148,,,,37,,20,,,21,21,21,21,21,20,20,21,21", "21,,33,46,42,,6,,21,21,84,54,54,33,39,16,16,143,,39,54,,147,56,56,79", "37,37,,110,141,,56,,,,,38,,,83,,38,,,,4,,145,,111,,52,,,83,,,37,,,21", "21,33,,43,31,31,,,21,33,,,21,31,,53,21,21,,111,22,111,20,109,,,109,109", ",21,,,53,,53,53,53,53,53,20,21,9,61,,29,,,35,55,10,14,,35,57,14,57,23", "154,9,,,8,37,50,,8,8,50,,,51,108,,,,,,,111,,21,21,,,,,23,23,23,22,,", "145,,,,34,,,111,21,34,48,62,,20,48,,,,20,,21,29,,77,,37,23,23,,,,37", "9,,41,,,9,,37,,20,,52,,48,,,,,7,62,,24,37,,,,22,,,,34,23,,34,22,,37", "37,77,23,23,,,,,77,,,51,52,29,56,,,21,,61,37,29,,,37,,,,80,37,57,37", "16,,,57,109,83,83,37,,,,37,,37,,,48,107,108,104,,8,,,83,,,48,,,,53,", "18,18,,,56,,18,21,,,,37,37,21,,,,37,,21,,21,,57,,23,57,8,,,61,,37,,", ",21,,,,,,23,37,48,,,,,48,21,21,,37,37,41,53,21,,53,53,,,,52,41,,,,,", "21,,,52,21,47,,,,21,,21,108,,,108,108,,108,21,108,,,21,,21,,,,16,,,", ",,20,,23,,,37,23,23,,,37,,,33,37,37,,,56,23,,21,21,83,,83,,21,,83,23", ",18,,54,,37,20,20,,108,,21,37,,,,,,,,,,21,,53,9,9,20,,,108,20,21,21", "54,,20,21,,51,,,,,,37,9,21,,,9,,,16,,9,,44,,23,,,,,37,,37,37,,,,,57", "53,,57,,,48,,,,53,,83,53,53,44,44,44,21,,,,,21,53,53,,21,21,54,,,20", ",,,,,,,17,,37,20,,,,44,44,21,44,9,52,20,20,,21,37,48,22,37,,9,,,,,,", ",17,,9,9,,,,,,37,,,,29,44,,37,,,21,,37,44,44,,,,,,37,,37,17,,,,25,,21", ",21,21,,,,,20,,,,20,20,,,,,23,,,,,,23,,,,,,,17,,,20,,,,,17,17,,,,,,", ",,,21,,,9,21,23,23,,,,,,23,,,21,,,21,,,48,44,,20,,23,,,,23,,,,,23,,21", "53,44,,,,9,21,20,20,53,53,21,,,,,,,,21,53,21,,53,53,,9,9,,,53,,53,,", ",,,,17,,,,,,,,,,,,,25,25,,20,17,,,,,,,,,23,,44,,,20,44,44,20,9,,23,", ",,,,,,44,,23,23,,9,,23,20,26,,44,,,,20,,23,,,20,,,,25,,25,9,20,,,25", "53,,9,,53,,17,9,,,,17,26,,,,,26,26,,,26,,,,,,,,,,,,23,17,,,23,23,44", ",,,,,,,,,,,,,,,,,,23,23,,,,26,26,26,26,,,,,,,,,,,,53,,,,,,,,,,,,,,,", ",,,,,23,,,,,,,,,,,,,,,,,,,,53,23,23,,,,,,,,,,,,,53,,,,,,,,,,,,,,,,,", ",,,,,,25,,,,,26,26,,,,23,,,,23,26,,,,,44,,,,,23,44,,23,,,,,,,,,,,,,", ",,,,,23,,,,,,,23,,,44,44,23,,25,,25,44,25,,23,28,,,,28,28,28,17,,,44", ",,25,44,,,,,44,28,28,28,,,,,,,,,,,,,28,28,,,,,,,,17,17,,,25,,,25,,,", ",,,,,,,,,,17,,,,17,,,,,17,,,,,,26,26,,,,,,44,,,,,,,,,,,44,,,,,,,,,,44", "44,,,26,44,,,,,,,,,,44,,,,,,,,25,,,,,,,,,,,17,,,,,,,,,,,17,,,,,25,,", ",,17,17,,,,25,25,,44,,,,44,44,,28,28,28,28,,,28,,,,,,,,,,,,25,44,28", ",28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28", "28,28,28,17,25,,,17,17,,26,28,,28,44,,,,28,,,,,,28,28,,25,,17,,,,28", ",44,44,,,26,,,,,,,,25,,,,,,,,,,,,,,,,28,,,,,,17,,25,,,,,,,,,,,,44,,", ",44,,,17,17,,,,,,26,44,26,,44,,,,,,,,,,,,,,,,,,,44,,,,,,,44,,25,,,44", ",,,,,17,,44,,17,,,25,,,,,,,,17,,,17,,,,,,,,25,,,,,,,,,,,17,,28,,,,,17", ",,25,,17,,,,,,,,17,,,,,,,,28,,28,28,28,,,,,,,,,,,,,,,,,,,,,,,26,,,,", ",,,28,,28,,28,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,28,,,,,,,,,28,28,28,,,", ",,,,,,28,,,28,,,,,,,,,,,,,,,,,,,,,,,,26,,,,,,,,,,,,,28,,,,,,,,28,,,", ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,28,,28,28,,,,,28,,,28,,,,,,,,28,,,", ",,,,28,,,,,,,,,,28,28,,,,,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,28,28,,", ",,,,,,,28,28,28,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,", ",,,,,,,,,,,,,,,,,,28,,,,,,,,,,,,28,,,,28,,,,,,,,,,,,,,,,,,,28,,,,,,", ",,,,,,,,,,,,,,28,,,,,,,,,,,,,,,,,,,,,,,,28"]; racc_goto_check = arr = Opal.get('Array').$new(2256, nil); idx = 0; ($a = ($e = clist).$each, $a.$$p = (TMP_7 = function(str){var self = TMP_7.$$s || this, $a, $b, TMP_8; if (str == null) str = nil; return ($a = ($b = str.$split(",", -1)).$each, $a.$$p = (TMP_8 = function(i){var self = TMP_8.$$s || this, $a; if (i == null) i = nil; if ((($a = i['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { arr['$[]='](idx, i.$to_i()) }; return idx = $rb_plus(idx, 1);}, TMP_8.$$s = self, TMP_8), $a).call($b)}, TMP_7.$$s = self, TMP_7), $a).call($e); racc_goto_pointer = [nil, 244, 67, nil, 18, 67, 51, 19, -281, 228, -486, -617, -625, nil, 24, 159, -11, 857, -11, 114, 209, 116, -42, 438, -155, 869, 1089, 129, 1337, -18, nil, 121, nil, -192, 50, -192, -307, 0, 79, 56, nil, -3, 42, -281, 802, -297, -43, -63, 76, nil, 37, -40, 6, 341, 66, -255, 78, 145, -22, -251, -361, -217, -369, -262, -31, nil, nil, nil, nil, nil, nil, nil, 168, 178, 159, nil, 152, -318, -651, -472, -336, 103, -199, 12, -561, 96, -222, 14, 26, -614, 38, -598, -461, -752, -453, -229, -685, 73, -447, -226, -438, -776, 100, -160, -44, -388, -512, -46, -137, -287, -542, -431, 160, -62, nil, -85, -80, -715, -373, -481, -587, nil, nil, nil, 135, 134, 45, 133, -175, -305, 138, -532, -380, -373, nil, -503, nil, -599, nil, -597, nil, -541, -625, -591, -596, -332, nil, -490, -255, -458, nil, -752, nil, nil, -415]; racc_goto_default = [nil, nil, nil, 3, nil, 4, 350, 276, nil, 529, nil, 808, nil, 275, nil, nil, nil, 210, 16, 11, 211, 300, nil, 209, nil, 253, 15, nil, 19, 20, 21, nil, 25, 675, nil, nil, nil, 290, 29, nil, 31, 34, 33, nil, 207, 360, nil, 116, 431, 115, 69, nil, 42, 308, 310, nil, 311, 429, nil, nil, 624, 478, 251, nil, nil, 266, 43, 44, 45, 46, 47, 48, 49, nil, 267, 55, nil, nil, nil, nil, nil, nil, nil, 564, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, 323, 322, 691, 325, nil, 326, 327, nil, nil, 435, nil, nil, nil, nil, nil, nil, 68, 70, 71, 72, nil, nil, nil, nil, 601, nil, nil, nil, nil, 392, 731, 734, 739, 736, 737, 738, 884, nil, nil, 742, 334, 329, 336, nil, 558, 559, 746, 339, 342, 258]; racc_reduce_table = [0, 0, "racc_error", 1, 141, "_reduce_none", 2, 142, "_reduce_2", 0, 143, "_reduce_3", 1, 143, "_reduce_4", 3, 143, "_reduce_5", 1, 145, "_reduce_none", 4, 145, "_reduce_7", 4, 148, "_reduce_8", 2, 149, "_reduce_9", 0, 153, "_reduce_10", 1, 153, "_reduce_11", 3, 153, "_reduce_12", 0, 167, "_reduce_13", 4, 147, "_reduce_14", 3, 147, "_reduce_15", 3, 147, "_reduce_none", 3, 147, "_reduce_17", 2, 147, "_reduce_18", 3, 147, "_reduce_19", 3, 147, "_reduce_20", 3, 147, "_reduce_21", 3, 147, "_reduce_22", 3, 147, "_reduce_23", 4, 147, "_reduce_none", 3, 147, "_reduce_25", 3, 147, "_reduce_26", 3, 147, "_reduce_27", 6, 147, "_reduce_none", 5, 147, "_reduce_29", 5, 147, "_reduce_none", 5, 147, "_reduce_none", 3, 147, "_reduce_none", 3, 147, "_reduce_33", 3, 147, "_reduce_34", 3, 147, "_reduce_35", 1, 147, "_reduce_none", 1, 166, "_reduce_none", 3, 166, "_reduce_38", 3, 166, "_reduce_39", 2, 166, "_reduce_40", 2, 166, "_reduce_41", 1, 166, "_reduce_none", 1, 156, "_reduce_none", 1, 158, "_reduce_none", 1, 158, "_reduce_none", 2, 158, "_reduce_46", 2, 158, "_reduce_47", 2, 158, "_reduce_48", 1, 170, "_reduce_none", 4, 170, "_reduce_none", 4, 170, "_reduce_none", 4, 175, "_reduce_none", 2, 169, "_reduce_53", 3, 169, "_reduce_none", 4, 169, "_reduce_55", 5, 169, "_reduce_none", 4, 169, "_reduce_57", 5, 169, "_reduce_none", 2, 169, "_reduce_59", 2, 169, "_reduce_60", 1, 159, "_reduce_61", 3, 159, "_reduce_62", 1, 179, "_reduce_63", 3, 179, "_reduce_64", 1, 178, "_reduce_65", 2, 178, "_reduce_66", 3, 178, "_reduce_67", 5, 178, "_reduce_none", 2, 178, "_reduce_69", 4, 178, "_reduce_none", 2, 178, "_reduce_71", 1, 178, "_reduce_72", 3, 178, "_reduce_none", 1, 181, "_reduce_74", 3, 181, "_reduce_75", 2, 180, "_reduce_76", 3, 180, "_reduce_77", 1, 183, "_reduce_none", 3, 183, "_reduce_none", 1, 182, "_reduce_80", 4, 182, "_reduce_81", 3, 182, "_reduce_82", 3, 182, "_reduce_none", 3, 182, "_reduce_none", 3, 182, "_reduce_none", 2, 182, "_reduce_none", 1, 182, "_reduce_none", 1, 157, "_reduce_88", 4, 157, "_reduce_89", 3, 157, "_reduce_90", 3, 157, "_reduce_91", 3, 157, "_reduce_92", 3, 157, "_reduce_93", 2, 157, "_reduce_94", 1, 157, "_reduce_none", 1, 185, "_reduce_none", 2, 186, "_reduce_97", 1, 186, "_reduce_98", 3, 186, "_reduce_99", 1, 187, "_reduce_none", 1, 187, "_reduce_none", 1, 187, "_reduce_none", 1, 187, "_reduce_103", 1, 187, "_reduce_104", 1, 154, "_reduce_105", 1, 154, "_reduce_none", 1, 155, "_reduce_107", 3, 155, "_reduce_108", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 188, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 1, 189, "_reduce_none", 3, 168, "_reduce_183", 5, 168, "_reduce_184", 3, 168, "_reduce_185", 6, 168, "_reduce_186", 5, 168, "_reduce_187", 5, 168, "_reduce_none", 5, 168, "_reduce_none", 5, 168, "_reduce_none", 4, 168, "_reduce_none", 3, 168, "_reduce_none", 3, 168, "_reduce_193", 3, 168, "_reduce_194", 3, 168, "_reduce_195", 3, 168, "_reduce_196", 3, 168, "_reduce_197", 3, 168, "_reduce_198", 3, 168, "_reduce_199", 3, 168, "_reduce_200", 4, 168, "_reduce_201", 4, 168, "_reduce_202", 2, 168, "_reduce_203", 2, 168, "_reduce_204", 3, 168, "_reduce_205", 3, 168, "_reduce_206", 3, 168, "_reduce_207", 3, 168, "_reduce_208", 3, 168, "_reduce_209", 3, 168, "_reduce_210", 3, 168, "_reduce_211", 3, 168, "_reduce_212", 3, 168, "_reduce_213", 3, 168, "_reduce_214", 3, 168, "_reduce_215", 3, 168, "_reduce_216", 3, 168, "_reduce_217", 2, 168, "_reduce_218", 2, 168, "_reduce_219", 3, 168, "_reduce_220", 3, 168, "_reduce_221", 3, 168, "_reduce_222", 3, 168, "_reduce_223", 3, 168, "_reduce_224", 5, 168, "_reduce_225", 1, 168, "_reduce_none", 1, 165, "_reduce_none", 1, 162, "_reduce_228", 2, 162, "_reduce_229", 2, 162, "_reduce_230", 4, 162, "_reduce_231", 2, 162, "_reduce_232", 3, 197, "_reduce_233", 2, 199, "_reduce_none", 1, 200, "_reduce_235", 1, 200, "_reduce_none", 1, 198, "_reduce_237", 1, 198, "_reduce_none", 2, 198, "_reduce_239", 4, 198, "_reduce_240", 2, 198, "_reduce_241", 1, 171, "_reduce_242", 2, 171, "_reduce_243", 2, 171, "_reduce_244", 4, 171, "_reduce_245", 1, 171, "_reduce_246", 4, 203, "_reduce_none", 1, 203, "_reduce_none", 0, 205, "_reduce_249", 2, 174, "_reduce_250", 1, 204, "_reduce_none", 2, 204, "_reduce_252", 3, 204, "_reduce_253", 2, 202, "_reduce_254", 2, 201, "_reduce_255", 0, 201, "_reduce_256", 1, 194, "_reduce_257", 2, 194, "_reduce_258", 3, 194, "_reduce_259", 4, 194, "_reduce_260", 3, 164, "_reduce_261", 4, 164, "_reduce_262", 2, 164, "_reduce_263", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 1, 192, "_reduce_none", 0, 227, "_reduce_273", 4, 192, "_reduce_274", 4, 192, "_reduce_275", 3, 192, "_reduce_276", 3, 192, "_reduce_277", 2, 192, "_reduce_278", 4, 192, "_reduce_279", 3, 192, "_reduce_280", 3, 192, "_reduce_281", 1, 192, "_reduce_282", 4, 192, "_reduce_283", 3, 192, "_reduce_284", 1, 192, "_reduce_285", 5, 192, "_reduce_286", 4, 192, "_reduce_287", 3, 192, "_reduce_288", 2, 192, "_reduce_289", 1, 192, "_reduce_none", 2, 192, "_reduce_291", 2, 192, "_reduce_292", 6, 192, "_reduce_293", 6, 192, "_reduce_294", 0, 228, "_reduce_295", 0, 229, "_reduce_296", 7, 192, "_reduce_297", 0, 230, "_reduce_298", 0, 231, "_reduce_299", 7, 192, "_reduce_300", 5, 192, "_reduce_301", 4, 192, "_reduce_302", 5, 192, "_reduce_303", 0, 232, "_reduce_304", 0, 233, "_reduce_305", 9, 192, "_reduce_306", 0, 234, "_reduce_307", 6, 192, "_reduce_308", 0, 235, "_reduce_309", 0, 236, "_reduce_310", 8, 192, "_reduce_311", 0, 237, "_reduce_312", 0, 238, "_reduce_313", 6, 192, "_reduce_314", 0, 239, "_reduce_315", 6, 192, "_reduce_316", 0, 240, "_reduce_317", 0, 241, "_reduce_318", 9, 192, "_reduce_319", 1, 192, "_reduce_320", 1, 192, "_reduce_321", 1, 192, "_reduce_322", 1, 192, "_reduce_none", 1, 161, "_reduce_none", 1, 217, "_reduce_none", 1, 217, "_reduce_none", 1, 217, "_reduce_none", 2, 217, "_reduce_none", 1, 219, "_reduce_none", 1, 219, "_reduce_none", 1, 219, "_reduce_none", 2, 216, "_reduce_332", 3, 242, "_reduce_333", 2, 242, "_reduce_334", 1, 242, "_reduce_none", 1, 242, "_reduce_none", 3, 243, "_reduce_337", 3, 243, "_reduce_338", 1, 218, "_reduce_339", 5, 218, "_reduce_340", 1, 151, "_reduce_none", 2, 151, "_reduce_342", 1, 245, "_reduce_343", 3, 245, "_reduce_344", 3, 246, "_reduce_345", 1, 176, "_reduce_none", 2, 176, "_reduce_347", 1, 176, "_reduce_348", 3, 176, "_reduce_349", 1, 247, "_reduce_350", 2, 249, "_reduce_351", 1, 249, "_reduce_352", 6, 244, "_reduce_353", 4, 244, "_reduce_354", 4, 244, "_reduce_355", 2, 244, "_reduce_356", 2, 244, "_reduce_357", 4, 244, "_reduce_358", 2, 244, "_reduce_359", 2, 244, "_reduce_360", 1, 244, "_reduce_361", 0, 253, "_reduce_362", 5, 252, "_reduce_363", 2, 172, "_reduce_364", 4, 172, "_reduce_none", 4, 172, "_reduce_none", 2, 215, "_reduce_367", 4, 215, "_reduce_368", 3, 215, "_reduce_369", 4, 215, "_reduce_370", 3, 215, "_reduce_371", 2, 215, "_reduce_372", 1, 215, "_reduce_373", 0, 255, "_reduce_374", 5, 214, "_reduce_375", 0, 256, "_reduce_376", 5, 214, "_reduce_377", 0, 258, "_reduce_378", 6, 220, "_reduce_379", 1, 257, "_reduce_380", 1, 257, "_reduce_none", 6, 150, "_reduce_382", 0, 150, "_reduce_383", 1, 259, "_reduce_384", 1, 259, "_reduce_none", 1, 259, "_reduce_none", 2, 260, "_reduce_387", 1, 260, "_reduce_388", 2, 152, "_reduce_389", 1, 152, "_reduce_none", 1, 206, "_reduce_none", 1, 206, "_reduce_none", 1, 206, "_reduce_none", 1, 207, "_reduce_394", 1, 263, "_reduce_none", 2, 263, "_reduce_396", 3, 264, "_reduce_397", 1, 264, "_reduce_398", 3, 208, "_reduce_399", 3, 209, "_reduce_400", 3, 210, "_reduce_401", 3, 210, "_reduce_402", 1, 267, "_reduce_403", 3, 267, "_reduce_404", 1, 268, "_reduce_405", 2, 268, "_reduce_406", 3, 211, "_reduce_407", 3, 211, "_reduce_408", 1, 270, "_reduce_409", 3, 270, "_reduce_410", 1, 265, "_reduce_411", 2, 265, "_reduce_412", 1, 266, "_reduce_413", 2, 266, "_reduce_414", 1, 269, "_reduce_415", 0, 272, "_reduce_416", 3, 269, "_reduce_417", 0, 273, "_reduce_418", 4, 269, "_reduce_419", 1, 271, "_reduce_420", 1, 271, "_reduce_421", 1, 271, "_reduce_422", 1, 271, "_reduce_none", 2, 190, "_reduce_424", 1, 190, "_reduce_425", 1, 274, "_reduce_none", 1, 274, "_reduce_none", 1, 274, "_reduce_none", 1, 274, "_reduce_none", 3, 262, "_reduce_430", 1, 261, "_reduce_431", 1, 261, "_reduce_432", 2, 261, "_reduce_433", 2, 261, "_reduce_434", 2, 261, "_reduce_435", 2, 261, "_reduce_436", 1, 184, "_reduce_437", 1, 184, "_reduce_438", 1, 184, "_reduce_439", 1, 184, "_reduce_440", 1, 184, "_reduce_441", 1, 184, "_reduce_442", 1, 184, "_reduce_443", 1, 184, "_reduce_444", 1, 184, "_reduce_445", 1, 184, "_reduce_446", 1, 184, "_reduce_447", 1, 212, "_reduce_448", 1, 160, "_reduce_449", 1, 163, "_reduce_450", 1, 163, "_reduce_none", 1, 222, "_reduce_452", 3, 222, "_reduce_453", 2, 222, "_reduce_454", 4, 224, "_reduce_455", 2, 224, "_reduce_456", 1, 276, "_reduce_none", 1, 276, "_reduce_none", 2, 277, "_reduce_459", 1, 277, "_reduce_460", 1, 278, "_reduce_461", 2, 279, "_reduce_462", 1, 279, "_reduce_463", 1, 280, "_reduce_464", 3, 280, "_reduce_465", 4, 281, "_reduce_466", 2, 281, "_reduce_467", 2, 281, "_reduce_468", 1, 281, "_reduce_469", 2, 283, "_reduce_470", 0, 283, "_reduce_471", 6, 275, "_reduce_472", 4, 275, "_reduce_473", 4, 275, "_reduce_474", 2, 275, "_reduce_475", 4, 275, "_reduce_476", 2, 275, "_reduce_477", 2, 275, "_reduce_478", 1, 275, "_reduce_479", 0, 275, "_reduce_480", 1, 285, "_reduce_none", 1, 285, "_reduce_482", 1, 286, "_reduce_483", 1, 286, "_reduce_484", 1, 286, "_reduce_485", 1, 286, "_reduce_486", 1, 287, "_reduce_487", 3, 287, "_reduce_488", 1, 221, "_reduce_none", 1, 221, "_reduce_none", 1, 289, "_reduce_491", 3, 289, "_reduce_none", 1, 290, "_reduce_493", 3, 290, "_reduce_494", 1, 288, "_reduce_none", 4, 288, "_reduce_none", 3, 288, "_reduce_none", 2, 288, "_reduce_none", 1, 288, "_reduce_none", 1, 250, "_reduce_500", 3, 250, "_reduce_501", 3, 291, "_reduce_502", 1, 284, "_reduce_503", 3, 284, "_reduce_504", 1, 292, "_reduce_none", 1, 292, "_reduce_none", 2, 251, "_reduce_507", 1, 251, "_reduce_508", 1, 293, "_reduce_none", 1, 293, "_reduce_none", 2, 248, "_reduce_511", 2, 282, "_reduce_512", 0, 282, "_reduce_513", 1, 225, "_reduce_514", 4, 225, "_reduce_515", 0, 213, "_reduce_516", 2, 213, "_reduce_517", 1, 196, "_reduce_518", 3, 196, "_reduce_519", 3, 294, "_reduce_520", 2, 294, "_reduce_521", 1, 177, "_reduce_none", 1, 177, "_reduce_none", 1, 177, "_reduce_none", 1, 173, "_reduce_none", 1, 173, "_reduce_none", 1, 173, "_reduce_none", 1, 173, "_reduce_none", 1, 254, "_reduce_none", 1, 254, "_reduce_none", 1, 254, "_reduce_none", 1, 226, "_reduce_none", 1, 226, "_reduce_none", 0, 144, "_reduce_none", 1, 144, "_reduce_none", 0, 191, "_reduce_none", 1, 191, "_reduce_none", 0, 195, "_reduce_none", 1, 195, "_reduce_none", 1, 195, "_reduce_none", 1, 223, "_reduce_none", 1, 223, "_reduce_none", 1, 146, "_reduce_none", 2, 146, "_reduce_none", 0, 193, "_reduce_545"]; racc_reduce_n = 546; racc_shift_n = 941; racc_token_table = $hash(false, 0, "error", 1, "kCLASS", 2, "kMODULE", 3, "kDEF", 4, "kUNDEF", 5, "kBEGIN", 6, "kRESCUE", 7, "kENSURE", 8, "kEND", 9, "kIF", 10, "kUNLESS", 11, "kTHEN", 12, "kELSIF", 13, "kELSE", 14, "kCASE", 15, "kWHEN", 16, "kWHILE", 17, "kUNTIL", 18, "kFOR", 19, "kBREAK", 20, "kNEXT", 21, "kREDO", 22, "kRETRY", 23, "kIN", 24, "kDO", 25, "kDO_COND", 26, "kDO_BLOCK", 27, "kDO_LAMBDA", 28, "kRETURN", 29, "kYIELD", 30, "kSUPER", 31, "kSELF", 32, "kNIL", 33, "kTRUE", 34, "kFALSE", 35, "kAND", 36, "kOR", 37, "kNOT", 38, "kIF_MOD", 39, "kUNLESS_MOD", 40, "kWHILE_MOD", 41, "kUNTIL_MOD", 42, "kRESCUE_MOD", 43, "kALIAS", 44, "kDEFINED", 45, "klBEGIN", 46, "klEND", 47, "k__LINE__", 48, "k__FILE__", 49, "k__ENCODING__", 50, "tIDENTIFIER", 51, "tFID", 52, "tGVAR", 53, "tIVAR", 54, "tCONSTANT", 55, "tLABEL", 56, "tCVAR", 57, "tNTH_REF", 58, "tBACK_REF", 59, "tSTRING_CONTENT", 60, "tINTEGER", 61, "tFLOAT", 62, "tREGEXP_END", 63, "tUPLUS", 64, "tUMINUS", 65, "tUMINUS_NUM", 66, "tPOW", 67, "tCMP", 68, "tEQ", 69, "tEQQ", 70, "tNEQ", 71, "tGEQ", 72, "tLEQ", 73, "tANDOP", 74, "tOROP", 75, "tMATCH", 76, "tNMATCH", 77, "tDOT", 78, "tDOT2", 79, "tDOT3", 80, "tAREF", 81, "tASET", 82, "tLSHFT", 83, "tRSHFT", 84, "tCOLON2", 85, "tCOLON3", 86, "tOP_ASGN", 87, "tASSOC", 88, "tLPAREN", 89, "tLPAREN2", 90, "tRPAREN", 91, "tLPAREN_ARG", 92, "ARRAY_BEG", 93, "tRBRACK", 94, "tLBRACE", 95, "tLBRACE_ARG", 96, "tSTAR", 97, "tSTAR2", 98, "tAMPER", 99, "tAMPER2", 100, "tTILDE", 101, "tPERCENT", 102, "tDIVIDE", 103, "tPLUS", 104, "tMINUS", 105, "tLT", 106, "tGT", 107, "tPIPE", 108, "tBANG", 109, "tCARET", 110, "tLCURLY", 111, "tRCURLY", 112, "tBACK_REF2", 113, "tSYMBEG", 114, "tSTRING_BEG", 115, "tXSTRING_BEG", 116, "tREGEXP_BEG", 117, "tWORDS_BEG", 118, "tAWORDS_BEG", 119, "tSTRING_DBEG", 120, "tSTRING_DVAR", 121, "tSTRING_END", 122, "tSTRING", 123, "tSYMBOL", 124, "tNL", 125, "tEH", 126, "tCOLON", 127, "tCOMMA", 128, "tSPACE", 129, "tSEMI", 130, "tLAMBDA", 131, "tLAMBEG", 132, "tLBRACK2", 133, "tLBRACK", 134, "tDSTAR", 135, "tEQL", 136, "tLOWEST", 137, "-@NUM", 138, "+@NUM", 139); racc_nt_base = 140; racc_use_result_var = true; Opal.cdecl($scope, 'Racc_arg', [racc_action_table, racc_action_check, racc_action_default, racc_action_pointer, racc_goto_table, racc_goto_check, racc_goto_default, racc_goto_pointer, racc_nt_base, racc_reduce_table, racc_token_table, racc_shift_n, racc_reduce_n, racc_use_result_var]); Opal.cdecl($scope, 'Racc_token_to_s_table', ["$end", "error", "kCLASS", "kMODULE", "kDEF", "kUNDEF", "kBEGIN", "kRESCUE", "kENSURE", "kEND", "kIF", "kUNLESS", "kTHEN", "kELSIF", "kELSE", "kCASE", "kWHEN", "kWHILE", "kUNTIL", "kFOR", "kBREAK", "kNEXT", "kREDO", "kRETRY", "kIN", "kDO", "kDO_COND", "kDO_BLOCK", "kDO_LAMBDA", "kRETURN", "kYIELD", "kSUPER", "kSELF", "kNIL", "kTRUE", "kFALSE", "kAND", "kOR", "kNOT", "kIF_MOD", "kUNLESS_MOD", "kWHILE_MOD", "kUNTIL_MOD", "kRESCUE_MOD", "kALIAS", "kDEFINED", "klBEGIN", "klEND", "k__LINE__", "k__FILE__", "k__ENCODING__", "tIDENTIFIER", "tFID", "tGVAR", "tIVAR", "tCONSTANT", "tLABEL", "tCVAR", "tNTH_REF", "tBACK_REF", "tSTRING_CONTENT", "tINTEGER", "tFLOAT", "tREGEXP_END", "tUPLUS", "tUMINUS", "tUMINUS_NUM", "tPOW", "tCMP", "tEQ", "tEQQ", "tNEQ", "tGEQ", "tLEQ", "tANDOP", "tOROP", "tMATCH", "tNMATCH", "tDOT", "tDOT2", "tDOT3", "tAREF", "tASET", "tLSHFT", "tRSHFT", "tCOLON2", "tCOLON3", "tOP_ASGN", "tASSOC", "tLPAREN", "tLPAREN2", "tRPAREN", "tLPAREN_ARG", "ARRAY_BEG", "tRBRACK", "tLBRACE", "tLBRACE_ARG", "tSTAR", "tSTAR2", "tAMPER", "tAMPER2", "tTILDE", "tPERCENT", "tDIVIDE", "tPLUS", "tMINUS", "tLT", "tGT", "tPIPE", "tBANG", "tCARET", "tLCURLY", "tRCURLY", "tBACK_REF2", "tSYMBEG", "tSTRING_BEG", "tXSTRING_BEG", "tREGEXP_BEG", "tWORDS_BEG", "tAWORDS_BEG", "tSTRING_DBEG", "tSTRING_DVAR", "tSTRING_END", "tSTRING", "tSYMBOL", "tNL", "tEH", "tCOLON", "tCOMMA", "tSPACE", "tSEMI", "tLAMBDA", "tLAMBEG", "tLBRACK2", "tLBRACK", "tDSTAR", "tEQL", "tLOWEST", "\"-@NUM\"", "\"+@NUM\"", "$start", "program", "top_compstmt", "top_stmts", "opt_terms", "top_stmt", "terms", "stmt", "bodystmt", "compstmt", "opt_rescue", "opt_else", "opt_ensure", "stmts", "fitem", "undef_list", "expr_value", "lhs", "command_call", "mlhs", "var_lhs", "primary_value", "aref_args", "backref", "mrhs", "arg_value", "expr", "@1", "arg", "command", "block_command", "call_args", "block_call", "operation2", "command_args", "cmd_brace_block", "opt_block_var", "operation", "mlhs_basic", "mlhs_entry", "mlhs_head", "mlhs_item", "mlhs_node", "mlhs_post", "variable", "cname", "cpath", "fname", "op", "reswords", "symbol", "opt_nl", "primary", "none", "args", "trailer", "assocs", "paren_args", "opt_call_args", "rparen", "opt_paren_args", "opt_block_arg", "block_arg", "call_args2", "open_args", "@2", "literal", "strings", "xstring", "regexp", "words", "awords", "var_ref", "assoc_list", "brace_block", "method_call", "lambda", "then", "if_tail", "do", "case_body", "for_var", "superclass", "term", "f_arglist", "singleton", "dot_or_colon", "@3", "@4", "@5", "@6", "@7", "@8", "@9", "@10", "@11", "@12", "@13", "@14", "@15", "@16", "@17", "f_larglist", "lambda_body", "block_param", "f_block_optarg", "f_block_opt", "block_args_tail", "f_block_arg", "opt_block_args_tail", "f_arg", "f_rest_arg", "do_block", "@18", "operation3", "@19", "@20", "cases", "@21", "exc_list", "exc_var", "numeric", "dsym", "string", "string1", "string_contents", "xstring_contents", "word_list", "word", "string_content", "qword_list", "string_dvar", "@22", "@23", "sym", "f_args", "kwrest_mark", "f_kwrest", "f_label", "f_kw", "f_kwarg", "args_tail", "opt_f_block_arg", "opt_args_tail", "f_optarg", "f_norm_arg", "f_bad_arg", "f_arg_item", "f_margs", "f_marg", "f_marg_list", "f_opt", "restarg_mark", "blkarg_mark", "assoc"]); Opal.cdecl($scope, 'Racc_debug_parser', false); def.$_reduce_2 = function(val, _values, result) { var self = this; result = self.$new_compstmt(val['$[]'](0)); return result; }; def.$_reduce_3 = function(val, _values, result) { var self = this; result = self.$new_block(); return result; }; def.$_reduce_4 = function(val, _values, result) { var self = this; result = self.$new_block(val['$[]'](0)); return result; }; def.$_reduce_5 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = val['$[]'](0); return result; }; def.$_reduce_7 = function(val, _values, result) { var self = this; result = val['$[]'](2); return result; }; def.$_reduce_8 = function(val, _values, result) { var self = this; result = self.$new_body(val['$[]'](0), val['$[]'](1), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_9 = function(val, _values, result) { var self = this; result = self.$new_compstmt(val['$[]'](0)); return result; }; def.$_reduce_10 = function(val, _values, result) { var self = this; result = self.$new_block(); return result; }; def.$_reduce_11 = function(val, _values, result) { var self = this; result = self.$new_block(val['$[]'](0)); return result; }; def.$_reduce_12 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = val['$[]'](0); return result; }; def.$_reduce_13 = function(val, _values, result) { var $a, $b, self = this; (($a = ["expr_fname"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_14 = function(val, _values, result) { var self = this; result = self.$new_alias(val['$[]'](0), val['$[]'](1), val['$[]'](3)); return result; }; def.$_reduce_15 = function(val, _values, result) { var self = this; result = self.$s("valias", self.$value(val['$[]'](1)).$to_sym(), self.$value(val['$[]'](2)).$to_sym()); return result; }; def.$_reduce_17 = function(val, _values, result) { var self = this; result = self.$s("valias", self.$value(val['$[]'](1)).$to_sym(), self.$value(val['$[]'](2)).$to_sym()); return result; }; def.$_reduce_18 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_19 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](1), val['$[]'](2), val['$[]'](0), nil); return result; }; def.$_reduce_20 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](1), val['$[]'](2), nil, val['$[]'](0)); return result; }; def.$_reduce_21 = function(val, _values, result) { var self = this; result = self.$new_while(val['$[]'](1), val['$[]'](2), val['$[]'](0)); return result; }; def.$_reduce_22 = function(val, _values, result) { var self = this; result = self.$new_until(val['$[]'](1), val['$[]'](2), val['$[]'](0)); return result; }; def.$_reduce_23 = function(val, _values, result) { var self = this; result = self.$new_rescue_mod(val['$[]'](1), val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_25 = function(val, _values, result) { var self = this; result = self.$new_assign(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_26 = function(val, _values, result) { var self = this; result = self.$s("masgn", val['$[]'](0), self.$s("to_ary", val['$[]'](2))); return result; }; def.$_reduce_27 = function(val, _values, result) { var self = this; result = self.$new_op_asgn(val['$[]'](1), val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_29 = function(val, _values, result) { var self = this; result = self.$s("op_asgn2", val['$[]'](0), self.$op_to_setter(val['$[]'](2)), self.$value(val['$[]'](3)).$to_sym(), val['$[]'](4)); return result; }; def.$_reduce_33 = function(val, _values, result) { var self = this; result = self.$new_assign(val['$[]'](0), val['$[]'](1), self.$s("svalue", val['$[]'](2))); return result; }; def.$_reduce_34 = function(val, _values, result) { var self = this; result = self.$s("masgn", val['$[]'](0), self.$s("to_ary", val['$[]'](2))); return result; }; def.$_reduce_35 = function(val, _values, result) { var self = this; result = self.$s("masgn", val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_38 = function(val, _values, result) { var self = this; result = self.$s("and", val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_39 = function(val, _values, result) { var self = this; result = self.$s("or", val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_40 = function(val, _values, result) { var self = this; result = self.$new_unary_call(["!", []], val['$[]'](1)); return result; }; def.$_reduce_41 = function(val, _values, result) { var self = this; result = self.$new_unary_call(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_46 = function(val, _values, result) { var self = this; result = self.$new_return(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_47 = function(val, _values, result) { var self = this; result = self.$new_break(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_48 = function(val, _values, result) { var self = this; result = self.$new_next(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_53 = function(val, _values, result) { var self = this; result = self.$new_call(nil, val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_55 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_57 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_59 = function(val, _values, result) { var self = this; result = self.$new_super(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_60 = function(val, _values, result) { var self = this; result = self.$new_yield(val['$[]'](1)); return result; }; def.$_reduce_61 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_62 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_63 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_64 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_65 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_66 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](val['$[]'](1)); return result; }; def.$_reduce_67 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](self.$s("splat", val['$[]'](2))); return result; }; def.$_reduce_69 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](self.$s("splat")); return result; }; def.$_reduce_71 = function(val, _values, result) { var self = this; result = self.$s("array", self.$s("splat", val['$[]'](1))); return result; }; def.$_reduce_72 = function(val, _values, result) { var self = this; result = self.$s("array", self.$s("splat")); return result; }; def.$_reduce_74 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_75 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_76 = function(val, _values, result) { var self = this; result = self.$s("array", val['$[]'](0)); return result; }; def.$_reduce_77 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](val['$[]'](1)); return result; }; def.$_reduce_80 = function(val, _values, result) { var self = this; result = self.$new_assignable(val['$[]'](0)); return result; }; def.$_reduce_81 = function(val, _values, result) { var $a, self = this, args = nil; args = (function() {if ((($a = val['$[]'](2)) !== nil && (!$a.$$is_boolean || $a == true))) { return val['$[]'](2) } else { return [] }; return nil; })(); result = self.$s("attrasgn", val['$[]'](0), "[]=", ($a = self).$s.apply($a, ["arglist"].concat(args))); return result; }; def.$_reduce_82 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2), []); return result; }; def.$_reduce_88 = function(val, _values, result) { var self = this; result = self.$new_assignable(val['$[]'](0)); return result; }; def.$_reduce_89 = function(val, _values, result) { var self = this; result = self.$new_attrasgn(val['$[]'](0), "[]=", val['$[]'](2)); return result; }; def.$_reduce_90 = function(val, _values, result) { var self = this; result = self.$new_attrasgn(val['$[]'](0), self.$op_to_setter(val['$[]'](2))); return result; }; def.$_reduce_91 = function(val, _values, result) { var self = this; result = self.$new_attrasgn(val['$[]'](0), self.$op_to_setter(val['$[]'](2))); return result; }; def.$_reduce_92 = function(val, _values, result) { var self = this; result = self.$new_attrasgn(val['$[]'](0), self.$op_to_setter(val['$[]'](2))); return result; }; def.$_reduce_93 = function(val, _values, result) { var self = this; result = self.$new_colon2(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_94 = function(val, _values, result) { var self = this; result = self.$new_colon3(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_97 = function(val, _values, result) { var self = this; result = self.$new_colon3(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_98 = function(val, _values, result) { var self = this; result = self.$new_const(val['$[]'](0)); return result; }; def.$_reduce_99 = function(val, _values, result) { var self = this; result = self.$new_colon2(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_103 = function(val, _values, result) { var $a, $b, self = this; (($a = ["expr_end"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); result = val['$[]'](0); return result; }; def.$_reduce_104 = function(val, _values, result) { var $a, $b, self = this; (($a = ["expr_end"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); result = val['$[]'](0); return result; }; def.$_reduce_105 = function(val, _values, result) { var self = this; result = self.$new_sym(val['$[]'](0)); return result; }; def.$_reduce_107 = function(val, _values, result) { var self = this; result = self.$s("undef", val['$[]'](0)); return result; }; def.$_reduce_108 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](val['$[]'](2)); return result; }; def.$_reduce_183 = function(val, _values, result) { var self = this; result = self.$new_assign(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_184 = function(val, _values, result) { var self = this; result = self.$new_assign(val['$[]'](0), val['$[]'](1), self.$s("rescue_mod", val['$[]'](2), val['$[]'](4))); return result; }; def.$_reduce_185 = function(val, _values, result) { var self = this; result = self.$new_op_asgn(val['$[]'](1), val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_186 = function(val, _values, result) { var self = this; result = self.$new_op_asgn1(val['$[]'](0), val['$[]'](2), val['$[]'](4), val['$[]'](5)); return result; }; def.$_reduce_187 = function(val, _values, result) { var self = this; result = self.$s("op_asgn2", val['$[]'](0), self.$op_to_setter(val['$[]'](2)), self.$value(val['$[]'](3)).$to_sym(), val['$[]'](4)); return result; }; def.$_reduce_193 = function(val, _values, result) { var self = this; result = self.$new_irange(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_194 = function(val, _values, result) { var self = this; result = self.$new_erange(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_195 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_196 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_197 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_198 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_199 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_200 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_201 = function(val, _values, result) { var self = this; result = self.$new_call(self.$new_binary_call(self.$new_int(val['$[]'](1)), val['$[]'](2), val['$[]'](3)), ["-@", []], []); return result; }; def.$_reduce_202 = function(val, _values, result) { var self = this; result = self.$new_call(self.$new_binary_call(self.$new_float(val['$[]'](1)), val['$[]'](2), val['$[]'](3)), ["-@", []], []); return result; }; def.$_reduce_203 = function(val, _values, result) { var $a, self = this; result = self.$new_call(val['$[]'](1), ["+@", []], []); if ((($a = ["int", "float"]['$include?'](val['$[]'](1).$type())) !== nil && (!$a.$$is_boolean || $a == true))) { result = val['$[]'](1)}; return result; }; def.$_reduce_204 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](1), ["-@", []], []); if (val['$[]'](1).$type()['$==']("int")) { val['$[]'](1)['$[]='](1, val['$[]'](1)['$[]'](1)['$-@']()); result = val['$[]'](1); } else if (val['$[]'](1).$type()['$==']("float")) { val['$[]'](1)['$[]='](1, val['$[]'](1)['$[]'](1).$to_f()['$-@']()); result = val['$[]'](1);}; return result; }; def.$_reduce_205 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_206 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_207 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_208 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_209 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_210 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_211 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_212 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_213 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_214 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_215 = function(val, _values, result) { var self = this; result = self.$new_unary_call(["!", []], self.$new_binary_call(val['$[]'](0), ["==", []], val['$[]'](2))); return result; }; def.$_reduce_216 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_217 = function(val, _values, result) { var self = this; result = self.$new_not(val['$[]'](1), self.$new_binary_call(val['$[]'](0), ["=~", []], val['$[]'](2))); return result; }; def.$_reduce_218 = function(val, _values, result) { var self = this; result = self.$new_unary_call(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_219 = function(val, _values, result) { var self = this; result = self.$new_unary_call(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_220 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_221 = function(val, _values, result) { var self = this; result = self.$new_binary_call(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_222 = function(val, _values, result) { var self = this; result = self.$new_and(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_223 = function(val, _values, result) { var self = this; result = self.$new_or(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_224 = function(val, _values, result) { var self = this; result = self.$s("defined", val['$[]'](2)); return result; }; def.$_reduce_225 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](1), val['$[]'](0), val['$[]'](2), val['$[]'](4)); return result; }; def.$_reduce_228 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_229 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_230 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_231 = function(val, _values, result) { var $a, self = this; val['$[]'](0)['$<<'](($a = self).$s.apply($a, ["hash"].concat(val['$[]'](2)))); result = val['$[]'](0); return result; }; def.$_reduce_232 = function(val, _values, result) { var $a, self = this; result = [($a = self).$s.apply($a, ["hash"].concat(val['$[]'](0)))]; return result; }; def.$_reduce_233 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_235 = function(val, _values, result) { var self = this; result = []; return result; }; def.$_reduce_237 = function(val, _values, result) { var self = this; result = []; return result; }; def.$_reduce_239 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_240 = function(val, _values, result) { var self = this; result = val['$[]'](0); result['$<<'](self.$new_hash(nil, val['$[]'](2), nil)); return result; }; def.$_reduce_241 = function(val, _values, result) { var self = this; result = [self.$new_hash(nil, val['$[]'](0), nil)]; return result; }; def.$_reduce_242 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_243 = function(val, _values, result) { var self = this; result = val['$[]'](0); self.$add_block_pass(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_244 = function(val, _values, result) { var self = this; result = [self.$new_hash(nil, val['$[]'](0), nil)]; self.$add_block_pass(result, val['$[]'](1)); return result; }; def.$_reduce_245 = function(val, _values, result) { var self = this; result = val['$[]'](0); result['$<<'](self.$new_hash(nil, val['$[]'](2), nil)); return result; }; def.$_reduce_246 = function(val, _values, result) { var self = this; result = []; self.$add_block_pass(result, val['$[]'](0)); return result; }; def.$_reduce_249 = function(val, _values, result) { var self = this; self.$lexer().$cmdarg_push(1); return result; }; def.$_reduce_250 = function(val, _values, result) { var self = this; self.$lexer().$cmdarg_pop(); result = val['$[]'](1); return result; }; def.$_reduce_252 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_253 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_254 = function(val, _values, result) { var self = this; result = self.$new_block_pass(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_255 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_256 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_257 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_258 = function(val, _values, result) { var self = this; result = [self.$new_splat(val['$[]'](0), val['$[]'](1))]; return result; }; def.$_reduce_259 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](val['$[]'](2)); return result; }; def.$_reduce_260 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](self.$new_splat(val['$[]'](2), val['$[]'](3))); return result; }; def.$_reduce_261 = function(val, _values, result) { var $a, self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = ($a = self).$s.apply($a, ["array"].concat(val['$[]'](0))); return result; }; def.$_reduce_262 = function(val, _values, result) { var $a, self = this; val['$[]'](0)['$<<'](self.$s("splat", val['$[]'](3))); result = ($a = self).$s.apply($a, ["array"].concat(val['$[]'](0))); return result; }; def.$_reduce_263 = function(val, _values, result) { var self = this; result = self.$s("splat", val['$[]'](1)); return result; }; def.$_reduce_273 = function(val, _values, result) { var self = this; result = self.$lexer().$line(); return result; }; def.$_reduce_274 = function(val, _values, result) { var self = this; result = self.$s("begin", val['$[]'](2)); return result; }; def.$_reduce_275 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_276 = function(val, _values, result) { var self = this; result = self.$new_paren(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_277 = function(val, _values, result) { var self = this; result = self.$new_colon2(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_278 = function(val, _values, result) { var self = this; result = self.$new_colon3(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_279 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), ["[]", []], val['$[]'](2)); return result; }; def.$_reduce_280 = function(val, _values, result) { var self = this; result = self.$new_array(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_281 = function(val, _values, result) { var self = this; result = self.$new_hash(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_282 = function(val, _values, result) { var self = this; result = self.$new_return(val['$[]'](0)); return result; }; def.$_reduce_283 = function(val, _values, result) { var self = this; result = self.$new_yield(val['$[]'](2)); return result; }; def.$_reduce_284 = function(val, _values, result) { var self = this; result = self.$s("yield"); return result; }; def.$_reduce_285 = function(val, _values, result) { var self = this; result = self.$s("yield"); return result; }; def.$_reduce_286 = function(val, _values, result) { var self = this; result = self.$s("defined", val['$[]'](3)); return result; }; def.$_reduce_287 = function(val, _values, result) { var self = this; result = self.$new_unary_call(["!", []], val['$[]'](2)); return result; }; def.$_reduce_288 = function(val, _values, result) { var self = this; result = self.$new_unary_call(["!", []], self.$new_nil(val['$[]'](0))); return result; }; def.$_reduce_289 = function(val, _values, result) { var self = this; result = self.$new_call(nil, val['$[]'](0), []); result['$<<'](val['$[]'](1)); return result; }; def.$_reduce_291 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](1)); result = val['$[]'](0); return result; }; def.$_reduce_292 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_293 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](0), val['$[]'](1), val['$[]'](3), val['$[]'](4)); return result; }; def.$_reduce_294 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](0), val['$[]'](1), val['$[]'](4), val['$[]'](3)); return result; }; def.$_reduce_295 = function(val, _values, result) { var self = this; self.$lexer().$cond_push(1); result = self.$lexer().$line(); return result; }; def.$_reduce_296 = function(val, _values, result) { var self = this; self.$lexer().$cond_pop(); return result; }; def.$_reduce_297 = function(val, _values, result) { var self = this; result = self.$s("while", val['$[]'](2), val['$[]'](5)); return result; }; def.$_reduce_298 = function(val, _values, result) { var self = this; self.$lexer().$cond_push(1); result = self.$lexer().$line(); return result; }; def.$_reduce_299 = function(val, _values, result) { var self = this; self.$lexer().$cond_pop(); return result; }; def.$_reduce_300 = function(val, _values, result) { var self = this; result = self.$s("until", val['$[]'](2), val['$[]'](5)); return result; }; def.$_reduce_301 = function(val, _values, result) { var $a, self = this; result = ($a = self).$s.apply($a, ["case", val['$[]'](1)].concat(val['$[]'](3))); return result; }; def.$_reduce_302 = function(val, _values, result) { var $a, self = this; result = ($a = self).$s.apply($a, ["case", nil].concat(val['$[]'](2))); return result; }; def.$_reduce_303 = function(val, _values, result) { var self = this; result = self.$s("case", nil, val['$[]'](3)); return result; }; def.$_reduce_304 = function(val, _values, result) { var self = this; self.$lexer().$cond_push(1); result = self.$lexer().$line(); return result; }; def.$_reduce_305 = function(val, _values, result) { var self = this; self.$lexer().$cond_pop(); return result; }; def.$_reduce_306 = function(val, _values, result) { var self = this; result = self.$s("for", val['$[]'](4), val['$[]'](1), val['$[]'](7)); return result; }; def.$_reduce_307 = function(val, _values, result) { var self = this; return result; }; def.$_reduce_308 = function(val, _values, result) { var self = this; result = self.$new_class(val['$[]'](0), val['$[]'](1), val['$[]'](2), val['$[]'](4), val['$[]'](5)); return result; }; def.$_reduce_309 = function(val, _values, result) { var self = this; result = self.$lexer().$line(); return result; }; def.$_reduce_310 = function(val, _values, result) { var self = this; return result; }; def.$_reduce_311 = function(val, _values, result) { var self = this; result = self.$new_sclass(val['$[]'](0), val['$[]'](3), val['$[]'](6), val['$[]'](7)); return result; }; def.$_reduce_312 = function(val, _values, result) { var self = this; result = self.$lexer().$line(); return result; }; def.$_reduce_313 = function(val, _values, result) { var self = this; return result; }; def.$_reduce_314 = function(val, _values, result) { var self = this; result = self.$new_module(val['$[]'](0), val['$[]'](2), val['$[]'](4), val['$[]'](5)); return result; }; def.$_reduce_315 = function(val, _values, result) { var $a, $b, self = this; self.$push_scope(); (($a = ["expr_endfn"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_316 = function(val, _values, result) { var self = this; result = self.$new_def(val['$[]'](0), nil, val['$[]'](1), val['$[]'](3), val['$[]'](4), val['$[]'](5)); self.$pop_scope(); return result; }; def.$_reduce_317 = function(val, _values, result) { var $a, $b, self = this; (($a = ["expr_fname"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_318 = function(val, _values, result) { var $a, $b, self = this; self.$push_scope(); (($a = ["expr_endfn"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_319 = function(val, _values, result) { var self = this; result = self.$new_def(val['$[]'](0), val['$[]'](1), val['$[]'](4), val['$[]'](6), val['$[]'](7), val['$[]'](8)); self.$pop_scope(); return result; }; def.$_reduce_320 = function(val, _values, result) { var self = this; result = self.$new_break(val['$[]'](0)); return result; }; def.$_reduce_321 = function(val, _values, result) { var self = this; result = self.$s("next"); return result; }; def.$_reduce_322 = function(val, _values, result) { var self = this; result = self.$s("redo"); return result; }; def.$_reduce_332 = function(val, _values, result) { var self = this; result = self.$new_call(nil, ["lambda", []], []); result['$<<'](self.$new_iter(val['$[]'](0), val['$[]'](1))); return result; }; def.$_reduce_333 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_334 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_337 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_338 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_339 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_340 = function(val, _values, result) { var self = this; result = self.$new_if(val['$[]'](0), val['$[]'](1), val['$[]'](3), val['$[]'](4)); return result; }; def.$_reduce_342 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_343 = function(val, _values, result) { var self = this; result = self.$s("block", val['$[]'](0)); return result; }; def.$_reduce_344 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = val['$[]'](0); return result; }; def.$_reduce_345 = function(val, _values, result) { var self = this; result = self.$new_assign(self.$new_assignable(self.$new_ident(val['$[]'](0))), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_347 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_348 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_349 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_350 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_351 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_352 = function(val, _values, result) { var self = this; nil; return result; }; def.$_reduce_353 = function(val, _values, result) { var self = this; result = self.$new_block_args(val['$[]'](0), val['$[]'](2), val['$[]'](4), val['$[]'](5)); return result; }; def.$_reduce_354 = function(val, _values, result) { var self = this; result = self.$new_block_args(val['$[]'](0), val['$[]'](2), nil, val['$[]'](3)); return result; }; def.$_reduce_355 = function(val, _values, result) { var self = this; result = self.$new_block_args(val['$[]'](0), nil, val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_356 = function(val, _values, result) { var self = this; result = self.$new_block_args(val['$[]'](0), nil, nil, nil); return result; }; def.$_reduce_357 = function(val, _values, result) { var self = this; result = self.$new_block_args(val['$[]'](0), nil, nil, val['$[]'](1)); return result; }; def.$_reduce_358 = function(val, _values, result) { var self = this; result = self.$new_block_args(nil, val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_359 = function(val, _values, result) { var self = this; result = self.$new_block_args(nil, val['$[]'](0), nil, val['$[]'](1)); return result; }; def.$_reduce_360 = function(val, _values, result) { var self = this; result = self.$new_block_args(nil, nil, val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_361 = function(val, _values, result) { var self = this; result = self.$new_block_args(nil, nil, nil, val['$[]'](0)); return result; }; def.$_reduce_362 = function(val, _values, result) { var self = this; self.$push_scope("block"); result = self.$lexer().$line(); return result; }; def.$_reduce_363 = function(val, _values, result) { var self = this; result = self.$new_iter(val['$[]'](2), val['$[]'](3)); self.$pop_scope(); return result; }; def.$_reduce_364 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](1)); result = val['$[]'](0); return result; }; def.$_reduce_367 = function(val, _values, result) { var self = this; result = self.$new_call(nil, val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_368 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_369 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), ["call", []], val['$[]'](2)); return result; }; def.$_reduce_370 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_371 = function(val, _values, result) { var self = this; result = self.$new_call(val['$[]'](0), val['$[]'](2)); return result; }; def.$_reduce_372 = function(val, _values, result) { var self = this; result = self.$new_super(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_373 = function(val, _values, result) { var self = this; result = self.$new_super(val['$[]'](0), nil); return result; }; def.$_reduce_374 = function(val, _values, result) { var self = this; self.$push_scope("block"); result = self.$lexer().$line(); return result; }; def.$_reduce_375 = function(val, _values, result) { var self = this; result = self.$new_iter(val['$[]'](2), val['$[]'](3)); self.$pop_scope(); return result; }; def.$_reduce_376 = function(val, _values, result) { var self = this; self.$push_scope("block"); result = self.$lexer().$line(); return result; }; def.$_reduce_377 = function(val, _values, result) { var self = this; result = self.$new_iter(val['$[]'](2), val['$[]'](3)); self.$pop_scope(); return result; }; def.$_reduce_378 = function(val, _values, result) { var self = this; result = self.$lexer().$line(); return result; }; def.$_reduce_379 = function(val, _values, result) { var $a, $b, self = this, part = nil; part = self.$s("when", ($a = self).$s.apply($a, ["array"].concat(val['$[]'](2))), val['$[]'](4)); result = [part]; if ((($b = val['$[]'](5)) !== nil && (!$b.$$is_boolean || $b == true))) { ($b = result).$push.apply($b, [].concat(val['$[]'](5)))}; return result; }; def.$_reduce_380 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_382 = function(val, _values, result) { var $a, self = this, exc = nil; exc = ((($a = val['$[]'](1)) !== false && $a !== nil) ? $a : self.$s("array")); if ((($a = val['$[]'](2)) !== nil && (!$a.$$is_boolean || $a == true))) { exc['$<<'](self.$new_assign(val['$[]'](2), val['$[]'](2), self.$s("gvar", "$!".$intern())))}; result = [self.$s("resbody", exc, val['$[]'](4))]; if ((($a = val['$[]'](5)) !== nil && (!$a.$$is_boolean || $a == true))) { result.$push(val['$[]'](5).$first())}; return result; }; def.$_reduce_383 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_384 = function(val, _values, result) { var self = this; result = self.$s("array", val['$[]'](0)); return result; }; def.$_reduce_387 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_388 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_389 = function(val, _values, result) { var $a, self = this; result = (function() {if ((($a = val['$[]'](1)['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$s("nil") } else { return val['$[]'](1) }; return nil; })(); return result; }; def.$_reduce_394 = function(val, _values, result) { var self = this; result = self.$new_str(val['$[]'](0)); return result; }; def.$_reduce_396 = function(val, _values, result) { var self = this; result = self.$str_append(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_397 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_398 = function(val, _values, result) { var self = this; result = self.$s("str", self.$value(val['$[]'](0))); return result; }; def.$_reduce_399 = function(val, _values, result) { var self = this; result = self.$new_xstr(val['$[]'](0), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_400 = function(val, _values, result) { var self = this; result = self.$new_regexp(val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_401 = function(val, _values, result) { var self = this; result = self.$s("array"); return result; }; def.$_reduce_402 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_403 = function(val, _values, result) { var self = this; result = self.$s("array"); return result; }; def.$_reduce_404 = function(val, _values, result) { var self = this, part = nil; part = val['$[]'](1); if (part.$type()['$==']("evstr")) { part = self.$s("dstr", "", val['$[]'](1))}; result = val['$[]'](0)['$<<'](part); return result; }; def.$_reduce_405 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_406 = function(val, _values, result) { var self = this; result = val['$[]'](0).$concat([val['$[]'](1)]); return result; }; def.$_reduce_407 = function(val, _values, result) { var self = this; result = self.$s("array"); return result; }; def.$_reduce_408 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_409 = function(val, _values, result) { var self = this; result = self.$s("array"); return result; }; def.$_reduce_410 = function(val, _values, result) { var self = this; result = val['$[]'](0)['$<<'](self.$s("str", self.$value(val['$[]'](1)))); return result; }; def.$_reduce_411 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_412 = function(val, _values, result) { var self = this; result = self.$str_append(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_413 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_414 = function(val, _values, result) { var self = this; result = self.$str_append(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_415 = function(val, _values, result) { var self = this; result = self.$new_str_content(val['$[]'](0)); return result; }; def.$_reduce_416 = function(val, _values, result) { var $a, $b, self = this; result = self.$lexer().$strterm(); (($a = [nil]), $b = self.$lexer(), $b['$strterm='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_417 = function(val, _values, result) { var $a, $b, self = this; (($a = [val['$[]'](1)]), $b = self.$lexer(), $b['$strterm='].apply($b, $a), $a[$a.length-1]); result = self.$new_evstr(val['$[]'](2)); return result; }; def.$_reduce_418 = function(val, _values, result) { var $a, $b, self = this; self.$lexer().$cond_push(0); self.$lexer().$cmdarg_push(0); result = self.$lexer().$strterm(); (($a = [nil]), $b = self.$lexer(), $b['$strterm='].apply($b, $a), $a[$a.length-1]); (($a = ["expr_beg"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_419 = function(val, _values, result) { var $a, $b, self = this; (($a = [val['$[]'](1)]), $b = self.$lexer(), $b['$strterm='].apply($b, $a), $a[$a.length-1]); self.$lexer().$cond_lexpop(); self.$lexer().$cmdarg_lexpop(); result = self.$new_evstr(val['$[]'](2)); return result; }; def.$_reduce_420 = function(val, _values, result) { var self = this; result = self.$new_gvar(val['$[]'](0)); return result; }; def.$_reduce_421 = function(val, _values, result) { var self = this; result = self.$new_ivar(val['$[]'](0)); return result; }; def.$_reduce_422 = function(val, _values, result) { var self = this; result = self.$new_cvar(val['$[]'](0)); return result; }; def.$_reduce_424 = function(val, _values, result) { var $a, $b, self = this; result = self.$new_sym(val['$[]'](1)); (($a = ["expr_end"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_425 = function(val, _values, result) { var self = this; result = self.$new_sym(val['$[]'](0)); return result; }; def.$_reduce_430 = function(val, _values, result) { var self = this; result = self.$new_dsym(val['$[]'](1)); return result; }; def.$_reduce_431 = function(val, _values, result) { var self = this; result = self.$new_int(val['$[]'](0)); return result; }; def.$_reduce_432 = function(val, _values, result) { var self = this; result = self.$new_float(val['$[]'](0)); return result; }; def.$_reduce_433 = function(val, _values, result) { var self = this; result = self.$negate_num(self.$new_int(val['$[]'](1))); return result; }; def.$_reduce_434 = function(val, _values, result) { var self = this; result = self.$negate_num(self.$new_float(val['$[]'](1))); return result; }; def.$_reduce_435 = function(val, _values, result) { var self = this; result = self.$new_int(val['$[]'](1)); return result; }; def.$_reduce_436 = function(val, _values, result) { var self = this; result = self.$new_float(val['$[]'](1)); return result; }; def.$_reduce_437 = function(val, _values, result) { var self = this; result = self.$new_ident(val['$[]'](0)); return result; }; def.$_reduce_438 = function(val, _values, result) { var self = this; result = self.$new_ivar(val['$[]'](0)); return result; }; def.$_reduce_439 = function(val, _values, result) { var self = this; result = self.$new_gvar(val['$[]'](0)); return result; }; def.$_reduce_440 = function(val, _values, result) { var self = this; result = self.$new_const(val['$[]'](0)); return result; }; def.$_reduce_441 = function(val, _values, result) { var self = this; result = self.$new_cvar(val['$[]'](0)); return result; }; def.$_reduce_442 = function(val, _values, result) { var self = this; result = self.$new_nil(val['$[]'](0)); return result; }; def.$_reduce_443 = function(val, _values, result) { var self = this; result = self.$new_self(val['$[]'](0)); return result; }; def.$_reduce_444 = function(val, _values, result) { var self = this; result = self.$new_true(val['$[]'](0)); return result; }; def.$_reduce_445 = function(val, _values, result) { var self = this; result = self.$new_false(val['$[]'](0)); return result; }; def.$_reduce_446 = function(val, _values, result) { var self = this; result = self.$new___FILE__(val['$[]'](0)); return result; }; def.$_reduce_447 = function(val, _values, result) { var self = this; result = self.$new___LINE__(val['$[]'](0)); return result; }; def.$_reduce_448 = function(val, _values, result) { var self = this; result = self.$new_var_ref(val['$[]'](0)); return result; }; def.$_reduce_449 = function(val, _values, result) { var self = this; result = self.$new_assignable(val['$[]'](0)); return result; }; def.$_reduce_450 = function(val, _values, result) { var self = this; result = self.$s("nth_ref", self.$value(val['$[]'](0))); return result; }; def.$_reduce_452 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_453 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_454 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_455 = function(val, _values, result) { var $a, $b, self = this; result = val['$[]'](1); (($a = ["expr_beg"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_456 = function(val, _values, result) { var $a, $b, self = this; result = val['$[]'](0); (($a = ["expr_beg"]), $b = self.$lexer(), $b['$lex_state='].apply($b, $a), $a[$a.length-1]); return result; }; def.$_reduce_459 = function(val, _values, result) { var self = this; result = self.$new_kwrestarg(val['$[]'](1)); return result; }; def.$_reduce_460 = function(val, _values, result) { var self = this; result = self.$new_kwrestarg(); return result; }; def.$_reduce_461 = function(val, _values, result) { var self = this; result = self.$new_sym(val['$[]'](0)); return result; }; def.$_reduce_462 = function(val, _values, result) { var self = this; result = self.$new_kwoptarg(val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_463 = function(val, _values, result) { var self = this; result = self.$new_kwarg(val['$[]'](0)); return result; }; def.$_reduce_464 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_465 = function(val, _values, result) { var self = this; result = val['$[]'](0); result['$<<'](val['$[]'](2)); return result; }; def.$_reduce_466 = function(val, _values, result) { var self = this; result = self.$new_args_tail(val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_467 = function(val, _values, result) { var self = this; result = self.$new_args_tail(val['$[]'](0), nil, val['$[]'](1)); return result; }; def.$_reduce_468 = function(val, _values, result) { var self = this; result = self.$new_args_tail(nil, val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_469 = function(val, _values, result) { var self = this; result = self.$new_args_tail(nil, nil, val['$[]'](0)); return result; }; def.$_reduce_470 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_471 = function(val, _values, result) { var self = this; result = self.$new_args_tail(nil, nil, nil); return result; }; def.$_reduce_472 = function(val, _values, result) { var self = this; result = self.$new_args(val['$[]'](0), val['$[]'](2), val['$[]'](4), val['$[]'](5)); return result; }; def.$_reduce_473 = function(val, _values, result) { var self = this; result = self.$new_args(val['$[]'](0), val['$[]'](2), nil, val['$[]'](3)); return result; }; def.$_reduce_474 = function(val, _values, result) { var self = this; result = self.$new_args(val['$[]'](0), nil, val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_475 = function(val, _values, result) { var self = this; result = self.$new_args(val['$[]'](0), nil, nil, val['$[]'](1)); return result; }; def.$_reduce_476 = function(val, _values, result) { var self = this; result = self.$new_args(nil, val['$[]'](0), val['$[]'](2), val['$[]'](3)); return result; }; def.$_reduce_477 = function(val, _values, result) { var self = this; result = self.$new_args(nil, val['$[]'](0), nil, val['$[]'](1)); return result; }; def.$_reduce_478 = function(val, _values, result) { var self = this; result = self.$new_args(nil, nil, val['$[]'](0), val['$[]'](1)); return result; }; def.$_reduce_479 = function(val, _values, result) { var self = this; result = self.$new_args(nil, nil, nil, val['$[]'](0)); return result; }; def.$_reduce_480 = function(val, _values, result) { var self = this; result = self.$new_args(nil, nil, nil, nil); return result; }; def.$_reduce_482 = function(val, _values, result) { var self = this; result = self.$value(val['$[]'](0)).$to_sym(); self.$scope().$add_local(result); return result; }; def.$_reduce_483 = function(val, _values, result) { var self = this; self.$raise("formal argument cannot be a constant"); return result; }; def.$_reduce_484 = function(val, _values, result) { var self = this; self.$raise("formal argument cannot be an instance variable"); return result; }; def.$_reduce_485 = function(val, _values, result) { var self = this; self.$raise("formal argument cannot be a class variable"); return result; }; def.$_reduce_486 = function(val, _values, result) { var self = this; self.$raise("formal argument cannot be a global variable"); return result; }; def.$_reduce_487 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_488 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_491 = function(val, _values, result) { var self = this; result = self.$s("lasgn", val['$[]'](0)); return result; }; def.$_reduce_493 = function(val, _values, result) { var self = this; result = self.$s("array", val['$[]'](0)); return result; }; def.$_reduce_494 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = val['$[]'](0); return result; }; def.$_reduce_500 = function(val, _values, result) { var self = this; result = [val['$[]'](0)]; return result; }; def.$_reduce_501 = function(val, _values, result) { var self = this; val['$[]'](0)['$<<'](val['$[]'](2)); result = val['$[]'](0); return result; }; def.$_reduce_502 = function(val, _values, result) { var self = this; result = self.$new_assign(self.$new_assignable(self.$new_ident(val['$[]'](0))), val['$[]'](1), val['$[]'](2)); return result; }; def.$_reduce_503 = function(val, _values, result) { var self = this; result = self.$s("block", val['$[]'](0)); return result; }; def.$_reduce_504 = function(val, _values, result) { var self = this; result = val['$[]'](0); val['$[]'](0)['$<<'](val['$[]'](2)); return result; }; def.$_reduce_507 = function(val, _values, result) { var self = this; result = (("*") + (self.$value(val['$[]'](1)))).$to_sym(); return result; }; def.$_reduce_508 = function(val, _values, result) { var self = this; result = "*"; return result; }; def.$_reduce_511 = function(val, _values, result) { var self = this; result = (("&") + (self.$value(val['$[]'](1)))).$to_sym(); return result; }; def.$_reduce_512 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_513 = function(val, _values, result) { var self = this; result = nil; return result; }; def.$_reduce_514 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_515 = function(val, _values, result) { var self = this; result = val['$[]'](1); return result; }; def.$_reduce_516 = function(val, _values, result) { var self = this; result = []; return result; }; def.$_reduce_517 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_518 = function(val, _values, result) { var self = this; result = val['$[]'](0); return result; }; def.$_reduce_519 = function(val, _values, result) { var $a, self = this; result = ($a = val['$[]'](0)).$push.apply($a, [].concat(val['$[]'](2))); return result; }; def.$_reduce_520 = function(val, _values, result) { var self = this; result = [val['$[]'](0), val['$[]'](2)]; return result; }; def.$_reduce_521 = function(val, _values, result) { var self = this; result = [self.$new_sym(val['$[]'](0)), val['$[]'](1)]; return result; }; def.$_reduce_545 = function(val, _values, result) { var self = this; result = nil; return result; }; return (def.$_reduce_none = function(val, _values, result) { var self = this; return val['$[]'](0); }, nil) && '_reduce_none'; })(self, (($scope.get('Racc')).$$scope.get('Parser'))) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser/parser_scope"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$attr_reader', '$attr_accessor', '$==', '$<<', '$include?', '$has_local?']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ParserScope(){}; var self = $ParserScope = $klass($base, $super, 'ParserScope', $ParserScope); var def = self.$$proto, $scope = self.$$scope; def.locals = def.parent = def.block = nil; self.$attr_reader("locals"); self.$attr_accessor("parent"); def.$initialize = function(type) { var self = this; self.block = type['$==']("block"); self.locals = []; return self.parent = nil; }; def.$add_local = function(local) { var self = this; return self.locals['$<<'](local); }; return (def['$has_local?'] = function(local) { var $a, $b, self = this; if ((($a = self.locals['$include?'](local)) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = ($b = self.parent, $b !== false && $b !== nil ?self.block : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.parent['$has_local?'](local)}; return false; }, nil) && 'has_local?'; })(self, null) })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/parser"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_times(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs * rhs : lhs['$*'](rhs); } function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$attr_reader', '$new', '$parser=', '$parse_to_sexp', '$join', '$message', '$line', '$lexer', '$column', '$[]', '$split', '$raise', '$class', '$push_scope', '$do_parse', '$pop_scope', '$next_token', '$last', '$parent=', '$<<', '$pop', '$inspect', '$value', '$token_to_str', '$s', '$source=', '$s0', '$source', '$s1', '$file', '$to_sym', '$nil?', '$==', '$length', '$size', '$type', '$each', '$!', '$add_local', '$scope', '$to_s', '$empty?', '$is_a?', '$new_splat', '$new_call', '$[]=', '$array', '$-@', '$===', '$new_gettable', '$type=', '$has_local?']); self.$require("opal/parser/sexp"); self.$require("opal/parser/lexer"); self.$require("opal/parser/grammar"); self.$require("opal/parser/parser_scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Parser(){}; var self = $Parser = $klass($base, $super, 'Parser', $Parser); var def = self.$$proto, $scope = self.$$scope; def.lexer = def.file = def.scopes = nil; self.$attr_reader("lexer", "file", "scope"); def.$parse = function(source, file) { var $a, $b, self = this, error = nil, message = nil; if (file == null) { file = "(string)" } try { self.file = file; self.scopes = []; self.lexer = $scope.get('Lexer').$new(source, file); (($a = [self]), $b = self.lexer, $b['$parser='].apply($b, $a), $a[$a.length-1]); return self.$parse_to_sexp(); } catch ($err) {if (true) {error = $err; message = [nil, error.$message(), "Source: " + (self.file) + ":" + (self.$lexer().$line()) + ":" + (self.$lexer().$column()), source.$split("\n")['$[]']($rb_minus(self.$lexer().$line(), 1)), $rb_plus($rb_times("~", ($rb_minus(self.$lexer().$column(), 1))), "^")].$join("\n"); return self.$raise(error.$class(), message); }else { throw $err; } }; }; def.$parse_to_sexp = function() { var self = this, result = nil; self.$push_scope(); result = self.$do_parse(); self.$pop_scope(); return result; }; def.$next_token = function() { var self = this; return self.lexer.$next_token(); }; def.$s = function(parts) { var self = this; parts = $slice.call(arguments, 0); return $scope.get('Sexp').$new(parts); }; def.$push_scope = function(type) { var $a, $b, self = this, top = nil, scope = nil; if (type == null) { type = nil } top = self.scopes.$last(); scope = $scope.get('ParserScope').$new(type); (($a = [top]), $b = scope, $b['$parent='].apply($b, $a), $a[$a.length-1]); self.scopes['$<<'](scope); return self.scope = scope; }; def.$pop_scope = function() { var self = this; self.scopes.$pop(); return self.scope = self.scopes.$last(); }; def.$on_error = function(t, val, vstack) { var $a, self = this; return self.$raise("parse error on value " + (self.$value(val).$inspect()) + " (" + (((($a = self.$token_to_str(t)) !== false && $a !== nil) ? $a : "?")) + ") :" + (self.file) + ":" + (self.$lexer().$line())); }; def.$value = function(tok) { var self = this; return tok['$[]'](0); }; def.$source = function(tok) { var self = this; if (tok !== false && tok !== nil) { return tok['$[]'](1) } else { return nil }; }; def.$s0 = function(type, source) { var $a, $b, self = this, sexp = nil; sexp = self.$s(type); (($a = [source]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$s1 = function(type, first, source) { var $a, $b, self = this, sexp = nil; sexp = self.$s(type, first); (($a = [source]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_nil = function(tok) { var self = this; return self.$s0("nil", self.$source(tok)); }; def.$new_self = function(tok) { var self = this; return self.$s0("self", self.$source(tok)); }; def.$new_true = function(tok) { var self = this; return self.$s0("true", self.$source(tok)); }; def.$new_false = function(tok) { var self = this; return self.$s0("false", self.$source(tok)); }; def.$new___FILE__ = function(tok) { var self = this; return self.$s1("str", self.$file(), self.$source(tok)); }; def.$new___LINE__ = function(tok) { var self = this; return self.$s1("int", self.$lexer().$line(), self.$source(tok)); }; def.$new_ident = function(tok) { var self = this; return self.$s1("identifier", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_int = function(tok) { var self = this; return self.$s1("int", self.$value(tok), self.$source(tok)); }; def.$new_float = function(tok) { var self = this; return self.$s1("float", self.$value(tok), self.$source(tok)); }; def.$new_ivar = function(tok) { var self = this; return self.$s1("ivar", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_gvar = function(tok) { var self = this; return self.$s1("gvar", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_cvar = function(tok) { var self = this; return self.$s1("cvar", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_const = function(tok) { var self = this; return self.$s1("const", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_colon2 = function(lhs, tok, name) { var $a, $b, self = this, sexp = nil; sexp = self.$s("colon2", lhs, self.$value(name).$to_sym()); (($a = [self.$source(tok)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_colon3 = function(tok, name) { var self = this; return self.$s1("colon3", self.$value(name).$to_sym(), self.$source(name)); }; def.$new_sym = function(tok) { var self = this; return self.$s1("sym", self.$value(tok).$to_sym(), self.$source(tok)); }; def.$new_alias = function(kw, new$, old) { var $a, $b, self = this, sexp = nil; sexp = self.$s("alias", new$, old); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_break = function(kw, args) { var $a, self = this, sexp = nil; if (args == null) { args = nil } if ((($a = args['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { sexp = self.$s("break") } else if (args.$length()['$=='](1)) { sexp = self.$s("break", args['$[]'](0)) } else { sexp = self.$s("break", ($a = self).$s.apply($a, ["array"].concat(args))) }; return sexp; }; def.$new_return = function(kw, args) { var $a, self = this, sexp = nil; if (args == null) { args = nil } if ((($a = args['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { sexp = self.$s("return") } else if (args.$length()['$=='](1)) { sexp = self.$s("return", args['$[]'](0)) } else { sexp = self.$s("return", ($a = self).$s.apply($a, ["array"].concat(args))) }; return sexp; }; def.$new_next = function(kw, args) { var $a, self = this, sexp = nil; if (args == null) { args = [] } if (args.$length()['$=='](1)) { sexp = self.$s("next", args['$[]'](0)) } else { sexp = self.$s("next", ($a = self).$s.apply($a, ["array"].concat(args))) }; return sexp; }; def.$new_block = function(stmt) { var self = this, sexp = nil; if (stmt == null) { stmt = nil } sexp = self.$s("block"); if (stmt !== false && stmt !== nil) { sexp['$<<'](stmt)}; return sexp; }; def.$new_compstmt = function(block) { var $a, $b, $c, self = this, comp = nil, result = nil; comp = (function() {if (block.$size()['$=='](1)) { return nil } else if (block.$size()['$=='](2)) { return block['$[]'](1) } else { return block }; return nil; })(); if ((($a = ($b = (($c = comp !== false && comp !== nil) ? comp.$type()['$==']("begin") : $c), $b !== false && $b !== nil ?comp.$size()['$=='](2) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { result = comp['$[]'](1) } else { result = comp }; return result; }; def.$new_body = function(compstmt, res, els, ens) { var $a, $b, TMP_1, self = this, s = nil; s = ((($a = compstmt) !== false && $a !== nil) ? $a : self.$s("block")); if (res !== false && res !== nil) { s = self.$s("rescue", s); ($a = ($b = res).$each, $a.$$p = (TMP_1 = function(r){var self = TMP_1.$$s || this; if (r == null) r = nil; return s['$<<'](r)}, TMP_1.$$s = self, TMP_1), $a).call($b); if (els !== false && els !== nil) { s['$<<'](els)};}; if (ens !== false && ens !== nil) { return self.$s("ensure", s, ens) } else { return s }; }; def.$new_def = function(kw, recv, name, args, body, end_tok) { var $a, $b, self = this, sexp = nil; if ((($a = body.$type()['$==']("block")['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { body = self.$s("block", body)}; if (body.$size()['$=='](1)) { body['$<<'](self.$s("nil"))}; sexp = self.$s("def", recv, self.$value(name).$to_sym(), args, body); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_class = function(start, path, sup, body, endt) { var $a, $b, self = this, sexp = nil; sexp = self.$s("class", path, sup, body); (($a = [self.$source(start)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_sclass = function(kw, expr, body, end_tok) { var $a, $b, self = this, sexp = nil; sexp = self.$s("sclass", expr, body); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_module = function(kw, path, body, end_tok) { var $a, $b, self = this, sexp = nil; sexp = self.$s("module", path, body); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_iter = function(args, body) { var $a, self = this, s = nil; ((($a = args) !== false && $a !== nil) ? $a : args = nil); s = self.$s("iter", args); if (body !== false && body !== nil) { s['$<<'](body)}; return s; }; def.$new_if = function(if_tok, expr, stmt, tail) { var $a, $b, self = this, sexp = nil; sexp = self.$s("if", expr, stmt, tail); (($a = [self.$source(if_tok)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_while = function(kw, test, body) { var $a, $b, self = this, sexp = nil; sexp = self.$s("while", test, body); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_until = function(kw, test, body) { var $a, $b, self = this, sexp = nil; sexp = self.$s("until", test, body); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_rescue_mod = function(kw, expr, resc) { var $a, $b, self = this, sexp = nil; sexp = self.$s("rescue_mod", expr, resc); (($a = [self.$source(kw)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_array = function(start, args, finish) { var $a, $b, $c, self = this, sexp = nil; ((($a = args) !== false && $a !== nil) ? $a : args = []); sexp = ($a = self).$s.apply($a, ["array"].concat(args)); (($b = [self.$source(start)]), $c = sexp, $c['$source='].apply($c, $b), $b[$b.length-1]); return sexp; }; def.$new_hash = function(open, assocs, close) { var $a, $b, $c, self = this, sexp = nil; sexp = ($a = self).$s.apply($a, ["hash"].concat(assocs)); (($b = [self.$source(open)]), $c = sexp, $c['$source='].apply($c, $b), $b[$b.length-1]); return sexp; }; def.$new_not = function(kw, expr) { var self = this; return self.$s1("not", expr, self.$source(kw)); }; def.$new_paren = function(open, expr, close) { var $a, $b, self = this; if ((($a = ((($b = expr['$nil?']()) !== false && $b !== nil) ? $b : expr['$=='](["block"]))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$s1("paren", self.$s0("nil", self.$source(open)), self.$source(open)) } else { return self.$s1("paren", expr, self.$source(open)) }; }; def.$new_args_tail = function(kwarg, kwrest, block) { var self = this; return [kwarg, kwrest, block]; }; def.$new_args = function(norm, opt, rest, tail) { var $a, $b, TMP_2, $c, TMP_3, $d, TMP_4, $e, self = this, res = nil, restname = nil, blockname = nil; res = self.$s("args"); if (norm !== false && norm !== nil) { ($a = ($b = norm).$each, $a.$$p = (TMP_2 = function(arg){var self = TMP_2.$$s || this; if (arg == null) arg = nil; self.$scope().$add_local(arg); return res['$<<'](self.$s("arg", arg));}, TMP_2.$$s = self, TMP_2), $a).call($b)}; if (opt !== false && opt !== nil) { ($a = ($c = opt['$[]']($range(1, -1, false))).$each, $a.$$p = (TMP_3 = function(_opt){var self = TMP_3.$$s || this; if (_opt == null) _opt = nil; return res['$<<'](self.$s("optarg", _opt['$[]'](1), _opt['$[]'](2)))}, TMP_3.$$s = self, TMP_3), $a).call($c)}; if (rest !== false && rest !== nil) { restname = rest.$to_s()['$[]']($range(1, -1, false)); if ((($a = restname['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { res['$<<'](self.$s("restarg")) } else { res['$<<'](self.$s("restarg", restname.$to_sym())); self.$scope().$add_local(restname.$to_sym()); };}; if ((($a = (($d = tail !== false && tail !== nil) ? tail['$[]'](0) : $d)) !== nil && (!$a.$$is_boolean || $a == true))) { ($a = ($d = tail['$[]'](0)).$each, $a.$$p = (TMP_4 = function(kwarg){var self = TMP_4.$$s || this; if (kwarg == null) kwarg = nil; return res['$<<'](kwarg)}, TMP_4.$$s = self, TMP_4), $a).call($d)}; if ((($a = (($e = tail !== false && tail !== nil) ? tail['$[]'](1) : $e)) !== nil && (!$a.$$is_boolean || $a == true))) { res['$<<'](tail['$[]'](1))}; if ((($a = (($e = tail !== false && tail !== nil) ? tail['$[]'](2) : $e)) !== nil && (!$a.$$is_boolean || $a == true))) { blockname = tail['$[]'](2).$to_s()['$[]']($range(1, -1, false)).$to_sym(); self.$scope().$add_local(blockname); res['$<<'](self.$s("blockarg", blockname));}; return res; }; def.$new_kwarg = function(name) { var self = this; self.$scope().$add_local(name['$[]'](1)); return self.$s("kwarg", name['$[]'](1)); }; def.$new_kwoptarg = function(name, val) { var self = this; self.$scope().$add_local(name['$[]'](1)); return self.$s("kwoptarg", name['$[]'](1), val); }; def.$new_kwrestarg = function(name) { var self = this, result = nil; if (name == null) { name = nil } result = self.$s("kwrestarg"); if (name !== false && name !== nil) { self.$scope().$add_local(name['$[]'](0).$to_sym()); result['$<<'](name['$[]'](0).$to_sym());}; return result; }; def.$new_block_args = function(norm, opt, rest, block) { var $a, $b, TMP_5, $c, TMP_6, $d, self = this, res = nil, r = nil, b = nil, args = nil; res = self.$s("array"); if (norm !== false && norm !== nil) { ($a = ($b = norm).$each, $a.$$p = (TMP_5 = function(arg){var self = TMP_5.$$s || this, $a; if (arg == null) arg = nil; if ((($a = arg['$is_a?']($scope.get('Symbol'))) !== nil && (!$a.$$is_boolean || $a == true))) { self.$scope().$add_local(arg); return res['$<<'](self.$s("lasgn", arg)); } else { return res['$<<'](arg) }}, TMP_5.$$s = self, TMP_5), $a).call($b)}; if (opt !== false && opt !== nil) { ($a = ($c = opt['$[]']($range(1, -1, false))).$each, $a.$$p = (TMP_6 = function(_opt){var self = TMP_6.$$s || this; if (_opt == null) _opt = nil; return res['$<<'](self.$s("lasgn", _opt['$[]'](1)))}, TMP_6.$$s = self, TMP_6), $a).call($c)}; if (rest !== false && rest !== nil) { r = rest.$to_s()['$[]']($range(1, -1, false)).$to_sym(); res['$<<'](self.$new_splat(nil, self.$s("lasgn", r))); self.$scope().$add_local(r);}; if (block !== false && block !== nil) { b = block.$to_s()['$[]']($range(1, -1, false)).$to_sym(); res['$<<'](self.$s("block_pass", self.$s("lasgn", b))); self.$scope().$add_local(b);}; if (opt !== false && opt !== nil) { res['$<<'](opt)}; args = (function() {if ((($a = (($d = res.$size()['$=='](2)) ? norm : $d)) !== nil && (!$a.$$is_boolean || $a == true))) { return res['$[]'](1) } else { return self.$s("masgn", res) }; return nil; })(); if (args.$type()['$==']("array")) { return self.$s("masgn", args) } else { return args }; }; def.$new_call = function(recv, meth, args) { var $a, $b, $c, self = this, sexp = nil; if (args == null) { args = nil } ((($a = args) !== false && $a !== nil) ? $a : args = []); sexp = self.$s("call", recv, self.$value(meth).$to_sym(), ($a = self).$s.apply($a, ["arglist"].concat(args))); (($b = [self.$source(meth)]), $c = sexp, $c['$source='].apply($c, $b), $b[$b.length-1]); return sexp; }; def.$new_binary_call = function(recv, meth, arg) { var self = this; return self.$new_call(recv, meth, [arg]); }; def.$new_unary_call = function(op, recv) { var self = this; return self.$new_call(recv, op, []); }; def.$new_and = function(lhs, tok, rhs) { var $a, $b, self = this, sexp = nil; sexp = self.$s("and", lhs, rhs); (($a = [self.$source(tok)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_or = function(lhs, tok, rhs) { var $a, $b, self = this, sexp = nil; sexp = self.$s("or", lhs, rhs); (($a = [self.$source(tok)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_irange = function(beg, op, finish) { var $a, $b, self = this, sexp = nil; sexp = self.$s("irange", beg, finish); (($a = [self.$source(op)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$new_erange = function(beg, op, finish) { var $a, $b, self = this, sexp = nil; sexp = self.$s("erange", beg, finish); (($a = [self.$source(op)]), $b = sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); return sexp; }; def.$negate_num = function(sexp) { var self = this; sexp.$array()['$[]='](1, sexp.$array()['$[]'](1)['$-@']()); return sexp; }; def.$add_block_pass = function(arglist, block) { var self = this; if (block !== false && block !== nil) { arglist['$<<'](block)}; return arglist; }; def.$new_block_pass = function(amper_tok, val) { var self = this; return self.$s1("block_pass", val, self.$source(amper_tok)); }; def.$new_splat = function(tok, value) { var self = this; return self.$s1("splat", value, self.$source(tok)); }; def.$new_op_asgn = function(op, lhs, rhs) { var self = this, $case = nil, result = nil; $case = self.$value(op).$to_sym();if ("||"['$===']($case)) {result = self.$s("op_asgn_or", self.$new_gettable(lhs)); result['$<<']((lhs['$<<'](rhs)));}else if ("&&"['$===']($case)) {result = self.$s("op_asgn_and", self.$new_gettable(lhs)); result['$<<']((lhs['$<<'](rhs)));}else {result = lhs; result['$<<'](self.$new_call(self.$new_gettable(lhs), op, [rhs]));}; return result; }; def.$new_op_asgn1 = function(lhs, args, op, rhs) { var $a, $b, $c, self = this, arglist = nil, sexp = nil; arglist = ($a = self).$s.apply($a, ["arglist"].concat(args)); sexp = self.$s("op_asgn1", lhs, arglist, self.$value(op), rhs); (($b = [self.$source(op)]), $c = sexp, $c['$source='].apply($c, $b), $b[$b.length-1]); return sexp; }; def.$op_to_setter = function(op) { var self = this; return ((("") + (self.$value(op))) + "=").$to_sym(); }; def.$new_attrasgn = function(recv, op, args) { var $a, self = this, arglist = nil, sexp = nil; if (args == null) { args = [] } arglist = ($a = self).$s.apply($a, ["arglist"].concat(args)); sexp = self.$s("attrasgn", recv, op, arglist); return sexp; }; def.$new_assign = function(lhs, tok, rhs) { var $a, $b, self = this, $case = nil; return (function() {$case = lhs.$type();if ("iasgn"['$===']($case) || "cdecl"['$===']($case) || "lasgn"['$===']($case) || "gasgn"['$===']($case) || "cvdecl"['$===']($case) || "nth_ref"['$===']($case)) {lhs['$<<'](rhs); return lhs;}else if ("call"['$===']($case) || "attrasgn"['$===']($case)) {lhs.$last()['$<<'](rhs); return lhs;}else if ("colon2"['$===']($case)) {lhs['$<<'](rhs); (($a = ["casgn"]), $b = lhs, $b['$type='].apply($b, $a), $a[$a.length-1]); return lhs;}else if ("colon3"['$===']($case)) {lhs['$<<'](rhs); (($a = ["casgn3"]), $b = lhs, $b['$type='].apply($b, $a), $a[$a.length-1]); return lhs;}else {return self.$raise("Bad lhs for new_assign: " + (lhs.$type()))}})(); }; def.$new_assignable = function(ref) { var $a, $b, self = this, $case = nil; $case = ref.$type();if ("ivar"['$===']($case)) {(($a = ["iasgn"]), $b = ref, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("const"['$===']($case)) {(($a = ["cdecl"]), $b = ref, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("identifier"['$===']($case)) {if ((($a = self.$scope()['$has_local?'](ref['$[]'](1))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$scope().$add_local(ref['$[]'](1)) }; (($a = ["lasgn"]), $b = ref, $b['$type='].apply($b, $a), $a[$a.length-1]);}else if ("gvar"['$===']($case)) {(($a = ["gasgn"]), $b = ref, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("cvar"['$===']($case)) {(($a = ["cvdecl"]), $b = ref, $b['$type='].apply($b, $a), $a[$a.length-1])}else {self.$raise($scope.get('SyntaxError'), "Bad new_assignable type: " + (ref.$type()))}; return ref; }; def.$new_gettable = function(ref) { var $a, $b, self = this, res = nil, $case = nil; res = (function() {$case = ref.$type();if ("lasgn"['$===']($case)) {return self.$s("lvar", ref['$[]'](1))}else if ("iasgn"['$===']($case)) {return self.$s("ivar", ref['$[]'](1))}else if ("gasgn"['$===']($case)) {return self.$s("gvar", ref['$[]'](1))}else if ("cvdecl"['$===']($case)) {return self.$s("cvar", ref['$[]'](1))}else if ("cdecl"['$===']($case)) {return self.$s("const", ref['$[]'](1))}else {return self.$raise("Bad new_gettable ref: " + (ref.$type()))}})(); (($a = [ref.$source()]), $b = res, $b['$source='].apply($b, $a), $a[$a.length-1]); return res; }; def.$new_var_ref = function(ref) { var $a, $b, self = this, $case = nil, result = nil; return (function() {$case = ref.$type();if ("self"['$===']($case) || "nil"['$===']($case) || "true"['$===']($case) || "false"['$===']($case) || "line"['$===']($case) || "file"['$===']($case)) {return ref}else if ("const"['$===']($case)) {return ref}else if ("ivar"['$===']($case) || "gvar"['$===']($case) || "cvar"['$===']($case)) {return ref}else if ("int"['$===']($case)) {return ref}else if ("str"['$===']($case)) {return ref}else if ("identifier"['$===']($case)) {result = (function() {if ((($a = self.$scope()['$has_local?'](ref['$[]'](1))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$s("lvar", ref['$[]'](1)) } else { return self.$s("call", nil, ref['$[]'](1), self.$s("arglist")) }; return nil; })(); (($a = [ref.$source()]), $b = result, $b['$source='].apply($b, $a), $a[$a.length-1]); return result;}else {return self.$raise("Bad var_ref type: " + (ref.$type()))}})(); }; def.$new_super = function(kw, args) { var $a, $b, $c, self = this, sexp = nil; if ((($a = args['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { sexp = self.$s("super", nil) } else { sexp = self.$s("super", ($a = self).$s.apply($a, ["arglist"].concat(args))) }; (($b = [self.$source(kw)]), $c = sexp, $c['$source='].apply($c, $b), $b[$b.length-1]); return sexp; }; def.$new_yield = function(args) { var $a, self = this; ((($a = args) !== false && $a !== nil) ? $a : args = []); return ($a = self).$s.apply($a, ["yield"].concat(args)); }; def.$new_xstr = function(start_t, str, end_t) { var $a, $b, self = this, $case = nil; if (str !== false && str !== nil) { } else { return self.$s("xstr", "") }; $case = str.$type();if ("str"['$===']($case)) {(($a = ["xstr"]), $b = str, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("dstr"['$===']($case)) {(($a = ["dxstr"]), $b = str, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("evstr"['$===']($case)) {str = self.$s("dxstr", "", str)}; (($a = [self.$source(start_t)]), $b = str, $b['$source='].apply($b, $a), $a[$a.length-1]); return str; }; def.$new_dsym = function(str) { var $a, $b, self = this, $case = nil; if (str !== false && str !== nil) { } else { return self.$s("sym", "") }; $case = str.$type();if ("str"['$===']($case)) {(($a = ["sym"]), $b = str, $b['$type='].apply($b, $a), $a[$a.length-1]); str['$[]='](1, str['$[]'](1).$to_sym());}else if ("dstr"['$===']($case)) {(($a = ["dsym"]), $b = str, $b['$type='].apply($b, $a), $a[$a.length-1])}else if ("evstr"['$===']($case)) {str = self.$s("dsym", str)}; return str; }; def.$new_evstr = function(str) { var self = this; return self.$s("evstr", str); }; def.$new_str = function(str) { var $a, $b, $c, self = this; if (str !== false && str !== nil) { } else { return self.$s("str", "") }; if ((($a = ($b = (($c = str.$size()['$=='](3)) ? str['$[]'](1)['$==']("") : $c), $b !== false && $b !== nil ?str.$type()['$==']("str") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return str['$[]'](2) } else if ((($a = (($b = str.$type()['$==']("str")) ? $rb_gt(str.$size(), 3) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = ["dstr"]), $b = str, $b['$type='].apply($b, $a), $a[$a.length-1]); return str; } else if (str.$type()['$==']("evstr")) { return self.$s("dstr", "", str) } else { return str }; }; def.$new_regexp = function(reg, ending) { var $a, $b, self = this, $case = nil; if (reg !== false && reg !== nil) { } else { return self.$s("regexp", "") }; return (function() {$case = reg.$type();if ("str"['$===']($case)) {return self.$s("regexp", reg['$[]'](1), self.$value(ending))}else if ("evstr"['$===']($case)) {return self.$s("dregx", "", reg)}else if ("dstr"['$===']($case)) {(($a = ["dregx"]), $b = reg, $b['$type='].apply($b, $a), $a[$a.length-1]); return reg;}else { return nil }})(); }; def.$str_append = function(str, str2) { var self = this; if (str !== false && str !== nil) { } else { return str2 }; if (str2 !== false && str2 !== nil) { } else { return str }; if (str.$type()['$==']("evstr")) { str = self.$s("dstr", "", str) } else if (str.$type()['$==']("str")) { str = self.$s("dstr", str['$[]'](1))}; str['$<<'](str2); return str; }; return (def.$new_str_content = function(tok) { var self = this; return self.$s1("str", self.$value(tok), self.$source(tok)); }, nil) && 'new_str_content'; })(self, (($scope.get('Racc')).$$scope.get('Parser'))) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/fragment"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$attr_reader', '$to_s', '$line', '$column', '$inspect']); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Fragment(){}; var self = $Fragment = $klass($base, $super, 'Fragment', $Fragment); var def = self.$$proto, $scope = self.$$scope; def.sexp = def.code = nil; self.$attr_reader("code"); def.$initialize = function(code, sexp) { var self = this; if (sexp == null) { sexp = nil } self.code = code.$to_s(); return self.sexp = sexp; }; def.$to_code = function() { var $a, self = this; if ((($a = self.sexp) !== nil && (!$a.$$is_boolean || $a == true))) { return "/*:" + (self.sexp.$line()) + ":" + (self.sexp.$column()) + "*/" + (self.code) } else { return self.code }; }; def.$inspect = function() { var self = this; return "f(" + (self.code.$inspect()) + ")"; }; def.$line = function() { var $a, self = this; if ((($a = self.sexp) !== nil && (!$a.$$is_boolean || $a == true))) { return self.sexp.$line() } else { return nil }; }; return (def.$column = function() { var $a, self = this; if ((($a = self.sexp) !== nil && (!$a.$$is_boolean || $a == true))) { return self.sexp.$column() } else { return nil }; }, nil) && 'column'; })(self, null) })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/helpers"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; Opal.add_stubs(['$require', '$valid_name?', '$inspect', '$=~', '$!', '$to_s', '$to_sym', '$indent', '$to_proc', '$compiler', '$parser_indent', '$push', '$current_indent', '$js_truthy_optimize', '$with_temp', '$fragment', '$expr', '$==', '$type', '$[]', '$uses_block!', '$scope', '$block_name', '$include?', '$dup']); self.$require("opal/regexp_anchors"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Helpers'); var def = self.$$proto, $scope = self.$$scope, TMP_1; Opal.cdecl($scope, 'ES51_RESERVED_WORD', (new RegExp("" + $scope.get('REGEXP_START') + "(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)" + $scope.get('REGEXP_END')))); Opal.cdecl($scope, 'ES3_RESERVED_WORD_EXCLUSIVE', (new RegExp("" + $scope.get('REGEXP_START') + "(?:int|byte|char|goto|long|final|float|short|double|native|throws|boolean|abstract|volatile|transient|synchronized)" + $scope.get('REGEXP_END')))); Opal.cdecl($scope, 'IMMUTABLE_PROPS', (new RegExp("" + $scope.get('REGEXP_START') + "(?:NaN|Infinity|undefined)" + $scope.get('REGEXP_END')))); Opal.cdecl($scope, 'BASIC_IDENTIFIER_RULES', (new RegExp("" + $scope.get('REGEXP_START') + "[$_a-z][$_a-z\\d]*" + $scope.get('REGEXP_END')))); Opal.defn(self, '$property', function(name) { var $a, self = this; if ((($a = self['$valid_name?'](name)) !== nil && (!$a.$$is_boolean || $a == true))) { return "." + (name) } else { return "[" + (name.$inspect()) + "]" }; }); Opal.defn(self, '$valid_name?', function(name) { var $a, $b, $c, self = this; return ($a = $scope.get('BASIC_IDENTIFIER_RULES')['$=~'](name), $a !== false && $a !== nil ?(((($b = ((($c = $scope.get('ES51_RESERVED_WORD')['$=~'](name)) !== false && $c !== nil) ? $c : $scope.get('ES3_RESERVED_WORD_EXCLUSIVE')['$=~'](name))) !== false && $b !== nil) ? $b : $scope.get('IMMUTABLE_PROPS')['$=~'](name)))['$!']() : $a); }); Opal.defn(self, '$variable', function(name) { var $a, self = this; if ((($a = self['$valid_name?'](name.$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { return name } else { return "" + (name) + "$" }; }); Opal.defn(self, '$lvar_to_js', function(var$) { var $a, self = this; if ((($a = self['$valid_name?'](var$.$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { } else { var$ = "" + (var$) + "$" }; return var$.$to_sym(); }); Opal.defn(self, '$mid_to_jsid', function(mid) { var $a, self = this; if ((($a = /\=|\+|\-|\*|\/|\!|\?|\<|\>|\&|\||\^|\%|\~|\[/['$=~'](mid.$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { return "['$" + (mid) + "']" } else { return $rb_plus(".$", mid) }; }); Opal.defn(self, '$indent', TMP_1 = function() { var $a, $b, self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; return ($a = ($b = self.$compiler()).$indent, $a.$$p = block.$to_proc(), $a).call($b); }); Opal.defn(self, '$current_indent', function() { var self = this; return self.$compiler().$parser_indent(); }); Opal.defn(self, '$line', function(strs) { var $a, self = this; strs = $slice.call(arguments, 0); self.$push("\n" + (self.$current_indent())); return ($a = self).$push.apply($a, [].concat(strs)); }); Opal.defn(self, '$empty_line', function() { var self = this; return self.$push("\n"); }); Opal.defn(self, '$js_truthy', function(sexp) { var $a, $b, TMP_2, self = this, optimize = nil; if ((($a = optimize = self.$js_truthy_optimize(sexp)) !== nil && (!$a.$$is_boolean || $a == true))) { return optimize}; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(tmp){var self = TMP_2.$$s || this; if (tmp == null) tmp = nil; return [self.$fragment("((" + (tmp) + " = "), self.$expr(sexp), self.$fragment(") !== nil && (!" + (tmp) + ".$$is_boolean || " + (tmp) + " == true))")]}, TMP_2.$$s = self, TMP_2), $a).call($b); }); Opal.defn(self, '$js_falsy', function(sexp) { var $a, $b, TMP_3, self = this, mid = nil; if (sexp.$type()['$==']("call")) { mid = sexp['$[]'](2); if (mid['$==']("block_given?")) { self.$scope()['$uses_block!'](); return "" + (self.$scope().$block_name()) + " === nil";};}; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this; if (tmp == null) tmp = nil; return [self.$fragment("((" + (tmp) + " = "), self.$expr(sexp), self.$fragment(") === nil || (" + (tmp) + ".$$is_boolean && " + (tmp) + " == false))")]}, TMP_3.$$s = self, TMP_3), $a).call($b); }); Opal.defn(self, '$js_truthy_optimize', function(sexp) { var $a, self = this, mid = nil; if (sexp.$type()['$==']("call")) { mid = sexp['$[]'](2); if (mid['$==']("block_given?")) { return self.$expr(sexp) } else if ((($a = (($scope.get('Compiler')).$$scope.get('COMPARE'))['$include?'](mid.$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$expr(sexp) } else if (mid['$==']("==")) { return self.$expr(sexp) } else { return nil }; } else if ((($a = ["lvar", "self"]['$include?'](sexp.$type())) !== nil && (!$a.$$is_boolean || $a == true))) { return [self.$expr(sexp.$dup()), self.$fragment(" !== false && "), self.$expr(sexp.$dup()), self.$fragment(" !== nil")] } else { return nil }; }); })(self) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/base"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $range = Opal.range; Opal.add_stubs(['$require', '$include', '$each', '$[]=', '$handlers', '$each_with_index', '$define_method', '$[]', '$attr_reader', '$type', '$compile', '$raise', '$is_a?', '$fragment', '$<<', '$unshift', '$reverse', '$push', '$new', '$error', '$scope', '$s', '$==', '$process', '$expr', '$add_scope_local', '$to_sym', '$add_scope_ivar', '$add_scope_gvar', '$add_scope_temp', '$helper', '$with_temp', '$to_proc', '$in_while?', '$instance_variable_get']); self.$require("opal/nodes/helpers"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $Base(){}; var self = $Base = $klass($base, $super, 'Base', $Base); var def = self.$$proto, $scope = self.$$scope, TMP_6; def.sexp = def.fragments = def.compiler = def.level = nil; self.$include($scope.get('Helpers')); Opal.defs(self, '$handlers', function() { var $a, self = this; if (self.handlers == null) self.handlers = nil; return ((($a = self.handlers) !== false && $a !== nil) ? $a : self.handlers = $hash2([], {})); }); Opal.defs(self, '$handle', function(types) { var $a, $b, TMP_1, self = this; types = $slice.call(arguments, 0); return ($a = ($b = types).$each, $a.$$p = (TMP_1 = function(type){var self = TMP_1.$$s || this; if (type == null) type = nil; return $scope.get('Base').$handlers()['$[]='](type, self)}, TMP_1.$$s = self, TMP_1), $a).call($b); }); Opal.defs(self, '$children', function(names) { var $a, $b, TMP_2, self = this; names = $slice.call(arguments, 0); return ($a = ($b = names).$each_with_index, $a.$$p = (TMP_2 = function(name, idx){var self = TMP_2.$$s || this, $a, $b, TMP_3; if (name == null) name = nil;if (idx == null) idx = nil; return ($a = ($b = self).$define_method, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; if (self.sexp == null) self.sexp = nil; return self.sexp['$[]']($rb_plus(idx, 1))}, TMP_3.$$s = self, TMP_3), $a).call($b, name)}, TMP_2.$$s = self, TMP_2), $a).call($b); }); self.$attr_reader("compiler", "type"); def.$initialize = function(sexp, level, compiler) { var self = this; self.sexp = sexp; self.type = sexp.$type(); self.level = level; return self.compiler = compiler; }; def.$children = function() { var self = this; return self.sexp['$[]']($range(1, -1, false)); }; def.$compile_to_fragments = function() { var $a, $b, self = this; if ((($a = (($b = self['fragments'], $b != null && $b !== nil) ? 'instance-variable' : nil)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.fragments}; self.fragments = []; self.$compile(); return self.fragments; }; def.$compile = function() { var self = this; return self.$raise("Not Implemented"); }; def.$push = function(strs) { var $a, $b, TMP_4, self = this; strs = $slice.call(arguments, 0); return ($a = ($b = strs).$each, $a.$$p = (TMP_4 = function(str){var self = TMP_4.$$s || this, $a; if (self.fragments == null) self.fragments = nil; if (str == null) str = nil; if ((($a = str['$is_a?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { str = self.$fragment(str)}; return self.fragments['$<<'](str);}, TMP_4.$$s = self, TMP_4), $a).call($b); }; def.$unshift = function(strs) { var $a, $b, TMP_5, self = this; strs = $slice.call(arguments, 0); return ($a = ($b = strs.$reverse()).$each, $a.$$p = (TMP_5 = function(str){var self = TMP_5.$$s || this, $a; if (self.fragments == null) self.fragments = nil; if (str == null) str = nil; if ((($a = str['$is_a?']($scope.get('String'))) !== nil && (!$a.$$is_boolean || $a == true))) { str = self.$fragment(str)}; return self.fragments.$unshift(str);}, TMP_5.$$s = self, TMP_5), $a).call($b); }; def.$wrap = function(pre, post) { var self = this; self.$unshift(pre); return self.$push(post); }; def.$fragment = function(str) { var self = this; return (($scope.get('Opal')).$$scope.get('Fragment')).$new(str, self.sexp); }; def.$error = function(msg) { var self = this; return self.compiler.$error(msg); }; def.$scope = function() { var self = this; return self.compiler.$scope(); }; def.$s = function(args) { var $a, self = this; args = $slice.call(arguments, 0); return ($a = self.compiler).$s.apply($a, [].concat(args)); }; def['$expr?'] = function() { var self = this; return self.level['$==']("expr"); }; def['$recv?'] = function() { var self = this; return self.level['$==']("recv"); }; def['$stmt?'] = function() { var self = this; return self.level['$==']("stmt"); }; def.$process = function(sexp, level) { var self = this; if (level == null) { level = "expr" } return self.compiler.$process(sexp, level); }; def.$expr = function(sexp) { var self = this; return self.compiler.$process(sexp, "expr"); }; def.$recv = function(sexp) { var self = this; return self.compiler.$process(sexp, "recv"); }; def.$stmt = function(sexp) { var self = this; return self.compiler.$process(sexp, "stmt"); }; def.$expr_or_nil = function(sexp) { var self = this; if (sexp !== false && sexp !== nil) { return self.$expr(sexp) } else { return "nil" }; }; def.$add_local = function(name) { var self = this; return self.$scope().$add_scope_local(name.$to_sym()); }; def.$add_ivar = function(name) { var self = this; return self.$scope().$add_scope_ivar(name); }; def.$add_gvar = function(name) { var self = this; return self.$scope().$add_scope_gvar(name); }; def.$add_temp = function(temp) { var self = this; return self.$scope().$add_scope_temp(temp); }; def.$helper = function(name) { var self = this; return self.compiler.$helper(name); }; def.$with_temp = TMP_6 = function() { var $a, $b, self = this, $iter = TMP_6.$$p, block = $iter || nil; TMP_6.$$p = null; return ($a = ($b = self.compiler).$with_temp, $a.$$p = block.$to_proc(), $a).call($b); }; def['$in_while?'] = function() { var self = this; return self.compiler['$in_while?'](); }; return (def.$while_loop = function() { var self = this; return self.compiler.$instance_variable_get("@while_loop"); }, nil) && 'while_loop'; })(self, null) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/literal"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $gvars = Opal.gvars; Opal.add_stubs(['$require', '$handle', '$push', '$to_s', '$type', '$children', '$value', '$recv?', '$wrap', '$join', '$keys', '$gsub', '$even?', '$length', '$chop', '$[]', '$translate_escape_chars', '$inspect', '$===', '$new', '$flags', '$each_line', '$==', '$s', '$source=', '$line', '$include', '$stmt?', '$!', '$include?', '$compile_split_lines', '$needs_semicolon?', '$each_with_index', '$expr', '$raise', '$last', '$each', '$requires_semicolon', '$helper', '$start', '$finish']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ValueNode(){}; var self = $ValueNode = $klass($base, $super, 'ValueNode', $ValueNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("true", "false", "self", "nil"); return (def.$compile = function() { var self = this; return self.$push(self.$type().$to_s()); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $NumericNode(){}; var self = $NumericNode = $klass($base, $super, 'NumericNode', $NumericNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("int", "float"); self.$children("value"); return (def.$compile = function() { var $a, self = this; self.$push(self.$value().$to_s()); if ((($a = self['$recv?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ")") } else { return nil }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $StringNode(){}; var self = $StringNode = $klass($base, $super, 'StringNode', $StringNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("str"); self.$children("value"); Opal.cdecl($scope, 'ESCAPE_CHARS', $hash2(["a", "e"], {"a": "\\u0007", "e": "\\u001b"})); Opal.cdecl($scope, 'ESCAPE_REGEX', (new RegExp("(\\\\+)([" + $scope.get('ESCAPE_CHARS').$keys().$join("") + "])"))); def.$translate_escape_chars = function(inspect_string) { var $a, $b, TMP_1, self = this; return ($a = ($b = inspect_string).$gsub, $a.$$p = (TMP_1 = function(original){var self = TMP_1.$$s || this, $a, $b; if (original == null) original = nil; if ((($a = (($b = $gvars['~']) === nil ? nil : $b['$[]'](1)).$length()['$even?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return original } else { return $rb_plus((($a = $gvars['~']) === nil ? nil : $a['$[]'](1)).$chop(), $scope.get('ESCAPE_CHARS')['$[]']((($a = $gvars['~']) === nil ? nil : $a['$[]'](2)))) }}, TMP_1.$$s = self, TMP_1), $a).call($b, $scope.get('ESCAPE_REGEX')); }; return (def.$compile = function() { var self = this; return self.$push(self.$translate_escape_chars(self.$value().$inspect())); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $SymbolNode(){}; var self = $SymbolNode = $klass($base, $super, 'SymbolNode', $SymbolNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("sym"); self.$children("value"); return (def.$compile = function() { var self = this; return self.$push(self.$value().$to_s().$inspect()); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $RegexpNode(){}; var self = $RegexpNode = $klass($base, $super, 'RegexpNode', $RegexpNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("regexp"); self.$children("value", "flags"); return (def.$compile = function() { var self = this, $case = nil, message = nil; return (function() {$case = self.$value();if (""['$===']($case)) {return self.$push("/(?:)/")}else if (/\?\<\w+\>/['$===']($case)) {message = "named captures are not supported in javascript: " + (self.$value().$inspect()); return self.$push("self.$raise(new SyntaxError('" + (message) + "'))");}else {return self.$push("" + ($scope.get('Regexp').$new(self.$value()).$inspect()) + (self.$flags()))}})(); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base) { var self = $module($base, 'XStringLineSplitter'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$compile_split_lines', function(value, sexp) { var $a, $b, TMP_2, self = this, idx = nil; idx = 0; return ($a = ($b = value).$each_line, $a.$$p = (TMP_2 = function(line){var self = TMP_2.$$s || this, $a, $b, line_sexp = nil, frag = nil; if (line == null) line = nil; if (idx['$=='](0)) { self.$push(line) } else { line_sexp = self.$s(); (($a = [[$rb_plus(sexp.$line(), idx), 0]]), $b = line_sexp, $b['$source='].apply($b, $a), $a[$a.length-1]); frag = $scope.get('Fragment').$new(line, line_sexp); self.$push(frag); }; return idx = $rb_plus(idx, 1);}, TMP_2.$$s = self, TMP_2), $a).call($b); }) })(self); (function($base, $super) { function $XStringNode(){}; var self = $XStringNode = $klass($base, $super, 'XStringNode', $XStringNode); var def = self.$$proto, $scope = self.$$scope; def.sexp = nil; self.$include($scope.get('XStringLineSplitter')); self.$handle("xstr"); self.$children("value"); def['$needs_semicolon?'] = function() { var $a, self = this; return ($a = self['$stmt?'](), $a !== false && $a !== nil ?self.$value().$to_s()['$include?'](";")['$!']() : $a); }; def.$compile = function() { var $a, self = this; self.$compile_split_lines(self.$value().$to_s(), self.sexp); if ((($a = self['$needs_semicolon?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push(";")}; if ((($a = self['$recv?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ")") } else { return nil }; }; return (def.$start_line = function() { var self = this; return self.sexp.$line(); }, nil) && 'start_line'; })(self, $scope.get('Base')); (function($base, $super) { function $DynamicStringNode(){}; var self = $DynamicStringNode = $klass($base, $super, 'DynamicStringNode', $DynamicStringNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("dstr"); return (def.$compile = function() { var $a, $b, TMP_3, self = this; return ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_3 = function(part, idx){var self = TMP_3.$$s || this, $a; if (part == null) part = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(" + ") }; if ((($a = $scope.get('String')['$==='](part)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push(part.$inspect()) } else if (part.$type()['$==']("evstr")) { self.$push("("); self.$push(self.$expr(part['$[]'](1))); self.$push(")"); } else if (part.$type()['$==']("str")) { self.$push(part['$[]'](1).$inspect()) } else if (part.$type()['$==']("dstr")) { self.$push("("); self.$push(self.$expr(part)); self.$push(")"); } else { self.$raise("Bad dstr part " + (part.$inspect())) }; if ((($a = self['$recv?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ")") } else { return nil };}, TMP_3.$$s = self, TMP_3), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $DynamicSymbolNode(){}; var self = $DynamicSymbolNode = $klass($base, $super, 'DynamicSymbolNode', $DynamicSymbolNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("dsym"); return (def.$compile = function() { var $a, $b, TMP_4, self = this; ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_4 = function(part, idx){var self = TMP_4.$$s || this, $a; if (part == null) part = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(" + ") }; if ((($a = $scope.get('String')['$==='](part)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push(part.$inspect()) } else if (part.$type()['$==']("evstr")) { return self.$push(self.$expr(self.$s("call", part.$last(), "to_s", self.$s("arglist")))) } else if (part.$type()['$==']("str")) { return self.$push(part.$last().$inspect()) } else { return self.$raise("Bad dsym part") };}, TMP_4.$$s = self, TMP_4), $a).call($b); return self.$wrap("(", ")"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $DynamicXStringNode(){}; var self = $DynamicXStringNode = $klass($base, $super, 'DynamicXStringNode', $DynamicXStringNode); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('XStringLineSplitter')); self.$handle("dxstr"); def.$requires_semicolon = function(code) { var $a, self = this; return ($a = self['$stmt?'](), $a !== false && $a !== nil ?code['$include?'](";")['$!']() : $a); }; return (def.$compile = function() { var $a, $b, TMP_5, self = this, needs_semicolon = nil; needs_semicolon = false; ($a = ($b = self.$children()).$each, $a.$$p = (TMP_5 = function(part){var self = TMP_5.$$s || this, $a; if (self.sexp == null) self.sexp = nil; if (part == null) part = nil; if ((($a = $scope.get('String')['$==='](part)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$compile_split_lines(part.$to_s(), self.sexp); if ((($a = self.$requires_semicolon(part.$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { return needs_semicolon = true } else { return nil }; } else if (part.$type()['$==']("evstr")) { return self.$push(self.$expr(part['$[]'](1))) } else if (part.$type()['$==']("str")) { self.$compile_split_lines(part.$last().$to_s(), part); if ((($a = self.$requires_semicolon(part.$last().$to_s())) !== nil && (!$a.$$is_boolean || $a == true))) { return needs_semicolon = true } else { return nil }; } else { return self.$raise("Bad dxstr part") }}, TMP_5.$$s = self, TMP_5), $a).call($b); if (needs_semicolon !== false && needs_semicolon !== nil) { self.$push(";")}; if ((($a = self['$recv?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ")") } else { return nil }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $DynamicRegexpNode(){}; var self = $DynamicRegexpNode = $klass($base, $super, 'DynamicRegexpNode', $DynamicRegexpNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("dregx"); return (def.$compile = function() { var $a, $b, TMP_6, self = this; ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_6 = function(part, idx){var self = TMP_6.$$s || this, $a; if (part == null) part = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(" + ") }; if ((($a = $scope.get('String')['$==='](part)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push(part.$inspect()) } else if (part.$type()['$==']("str")) { return self.$push(part['$[]'](1).$inspect()) } else { return self.$push(self.$expr(part['$[]'](1))) };}, TMP_6.$$s = self, TMP_6), $a).call($b); return self.$wrap("(new RegExp(", "))"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $InclusiveRangeNode(){}; var self = $InclusiveRangeNode = $klass($base, $super, 'InclusiveRangeNode', $InclusiveRangeNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("irange"); self.$children("start", "finish"); return (def.$compile = function() { var self = this; self.$helper("range"); return self.$push("$range(", self.$expr(self.$start()), ", ", self.$expr(self.$finish()), ", false)"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ExclusiveRangeNode(){}; var self = $ExclusiveRangeNode = $klass($base, $super, 'ExclusiveRangeNode', $ExclusiveRangeNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("erange"); self.$children("start", "finish"); return (def.$compile = function() { var self = this; self.$helper("range"); return self.$push("$range(", self.$expr(self.$start()), ", ", self.$expr(self.$finish()), ", true)"); }, nil) && 'compile'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/variables"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$irb?', '$compiler', '$top?', '$scope', '$using_irb?', '$push', '$variable', '$to_s', '$var_name', '$with_temp', '$property', '$wrap', '$expr', '$value', '$add_local', '$recv?', '$[]', '$name', '$add_ivar', '$helper', '$==', '$handle_global_match', '$handle_post_match', '$handle_pre_match', '$add_gvar', '$index']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $LocalVariableNode(){}; var self = $LocalVariableNode = $klass($base, $super, 'LocalVariableNode', $LocalVariableNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("lvar"); self.$children("var_name"); def['$using_irb?'] = function() { var $a, self = this; return ($a = self.$compiler()['$irb?'](), $a !== false && $a !== nil ?self.$scope()['$top?']() : $a); }; return (def.$compile = function() { var $a, $b, TMP_1, self = this; if ((($a = self['$using_irb?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return self.$push(self.$variable(self.$var_name().$to_s())) }; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_1 = function(tmp){var self = TMP_1.$$s || this; if (tmp == null) tmp = nil; self.$push(self.$property(self.$var_name().$to_s())); return self.$wrap("((" + (tmp) + " = Opal.irb_vars", ") == null ? nil : " + (tmp) + ")");}, TMP_1.$$s = self, TMP_1), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $LocalAssignNode(){}; var self = $LocalAssignNode = $klass($base, $super, 'LocalAssignNode', $LocalAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("lasgn"); self.$children("var_name", "value"); def['$using_irb?'] = function() { var $a, self = this; return ($a = self.$compiler()['$irb?'](), $a !== false && $a !== nil ?self.$scope()['$top?']() : $a); }; return (def.$compile = function() { var $a, self = this; if ((($a = self['$using_irb?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("Opal.irb_vars" + (self.$property(self.$var_name().$to_s())) + " = "); self.$push(self.$expr(self.$value())); } else { self.$add_local(self.$variable(self.$var_name().$to_s())); self.$push("" + (self.$variable(self.$var_name().$to_s())) + " = "); self.$push(self.$expr(self.$value())); }; if ((($a = self['$recv?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ")") } else { return nil }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $InstanceVariableNode(){}; var self = $InstanceVariableNode = $klass($base, $super, 'InstanceVariableNode', $InstanceVariableNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("ivar"); self.$children("name"); def.$var_name = function() { var self = this; return self.$name().$to_s()['$[]']($range(1, -1, false)); }; return (def.$compile = function() { var self = this, name = nil; name = self.$property(self.$var_name()); self.$add_ivar(name); return self.$push("self" + (name)); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $InstanceAssignNode(){}; var self = $InstanceAssignNode = $klass($base, $super, 'InstanceAssignNode', $InstanceAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("iasgn"); self.$children("name", "value"); def.$var_name = function() { var self = this; return self.$name().$to_s()['$[]']($range(1, -1, false)); }; return (def.$compile = function() { var self = this, name = nil; name = self.$property(self.$var_name()); self.$push("self" + (name) + " = "); return self.$push(self.$expr(self.$value())); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $GlobalVariableNode(){}; var self = $GlobalVariableNode = $klass($base, $super, 'GlobalVariableNode', $GlobalVariableNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("gvar"); self.$children("name"); def.$var_name = function() { var self = this; return self.$name().$to_s()['$[]']($range(1, -1, false)); }; def.$compile = function() { var self = this, name = nil; self.$helper("gvars"); if (self.$var_name()['$==']("&")) { return self.$handle_global_match() } else if (self.$var_name()['$==']("'")) { return self.$handle_post_match() } else if (self.$var_name()['$==']("`")) { return self.$handle_pre_match()}; name = self.$property(self.$var_name()); self.$add_gvar(name); return self.$push("$gvars" + (name)); }; def.$handle_global_match = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(tmp){var self = TMP_2.$$s || this; if (tmp == null) tmp = nil; return self.$push("((" + (tmp) + " = $gvars['~']) === nil ? nil : " + (tmp) + "['$[]'](0))")}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$handle_pre_match = function() { var $a, $b, TMP_3, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this; if (tmp == null) tmp = nil; return self.$push("((" + (tmp) + " = $gvars['~']) === nil ? nil : " + (tmp) + ".$pre_match())")}, TMP_3.$$s = self, TMP_3), $a).call($b); }; return (def.$handle_post_match = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_4 = function(tmp){var self = TMP_4.$$s || this; if (tmp == null) tmp = nil; return self.$push("((" + (tmp) + " = $gvars['~']) === nil ? nil : " + (tmp) + ".$post_match())")}, TMP_4.$$s = self, TMP_4), $a).call($b); }, nil) && 'handle_post_match'; })(self, $scope.get('Base')); (function($base, $super) { function $GlobalAssignNode(){}; var self = $GlobalAssignNode = $klass($base, $super, 'GlobalAssignNode', $GlobalAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("gasgn"); self.$children("name", "value"); def.$var_name = function() { var self = this; return self.$name().$to_s()['$[]']($range(1, -1, false)); }; return (def.$compile = function() { var self = this, name = nil; self.$helper("gvars"); name = self.$property(self.$var_name()); self.$push("$gvars" + (name) + " = "); return self.$push(self.$expr(self.$value())); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $BackrefNode(){}; var self = $BackrefNode = $klass($base, $super, 'BackrefNode', $BackrefNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("nth_ref"); self.$children("index"); return (def.$compile = function() { var $a, $b, TMP_5, self = this; self.$helper("gvars"); return ($a = ($b = self).$with_temp, $a.$$p = (TMP_5 = function(tmp){var self = TMP_5.$$s || this; if (tmp == null) tmp = nil; return self.$push("((" + (tmp) + " = $gvars['~']) === nil ? nil : " + (tmp) + "['$[]'](" + (self.$index()) + "))")}, TMP_5.$$s = self, TMP_5), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ClassVariableNode(){}; var self = $ClassVariableNode = $klass($base, $super, 'ClassVariableNode', $ClassVariableNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("cvar"); self.$children("name"); return (def.$compile = function() { var $a, $b, TMP_6, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_6 = function(tmp){var self = TMP_6.$$s || this; if (tmp == null) tmp = nil; return self.$push("((" + (tmp) + " = Opal.cvars['" + (self.$name()) + "']) == null ? nil : " + (tmp) + ")")}, TMP_6.$$s = self, TMP_6), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ClassVarAssignNode(){}; var self = $ClassVarAssignNode = $klass($base, $super, 'ClassVarAssignNode', $ClassVarAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("casgn"); self.$children("name", "value"); return (def.$compile = function() { var self = this; self.$push("(Opal.cvars['" + (self.$name()) + "'] = "); self.$push(self.$expr(self.$value())); return self.$push(")"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ClassVarDeclNode(){}; var self = $ClassVarDeclNode = $klass($base, $super, 'ClassVarDeclNode', $ClassVarDeclNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("cvdecl"); self.$children("name", "value"); return (def.$compile = function() { var self = this; self.$push("(Opal.cvars['" + (self.$name()) + "'] = "); self.$push(self.$expr(self.$value())); return self.$push(")"); }, nil) && 'compile'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/constants"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$==', '$name', '$eof_content', '$compiler', '$push', '$expr', '$base', '$wrap', '$value']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ConstNode(){}; var self = $ConstNode = $klass($base, $super, 'ConstNode', $ConstNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("const"); self.$children("name"); return (def.$compile = function() { var $a, $b, self = this; if ((($a = (($b = self.$name()['$==']("DATA")) ? self.$compiler().$eof_content() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("$__END__") } else { return self.$push("$scope.get('" + (self.$name()) + "')") }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ConstDeclarationNode(){}; var self = $ConstDeclarationNode = $klass($base, $super, 'ConstDeclarationNode', $ConstDeclarationNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("cdecl"); self.$children("name", "base"); return (def.$compile = function() { var self = this; self.$push(self.$expr(self.$base())); return self.$wrap("Opal.cdecl($scope, '" + (self.$name()) + "', ", ")"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ConstAssignNode(){}; var self = $ConstAssignNode = $klass($base, $super, 'ConstAssignNode', $ConstAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("casgn"); self.$children("base", "name", "value"); return (def.$compile = function() { var self = this; self.$push("Opal.casgn("); self.$push(self.$expr(self.$base())); self.$push(", '" + (self.$name()) + "', "); self.$push(self.$expr(self.$value())); return self.$push(")"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ConstGetNode(){}; var self = $ConstGetNode = $klass($base, $super, 'ConstGetNode', $ConstGetNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("colon2"); self.$children("base", "name"); return (def.$compile = function() { var self = this; self.$push("(("); self.$push(self.$expr(self.$base())); return self.$push(").$$scope.get('" + (self.$name()) + "'))"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $TopConstNode(){}; var self = $TopConstNode = $klass($base, $super, 'TopConstNode', $TopConstNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("colon3"); self.$children("name"); return (def.$compile = function() { var self = this; return self.$push("Opal.get('" + (self.$name()) + "')"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $TopConstAssignNode(){}; var self = $TopConstAssignNode = $klass($base, $super, 'TopConstAssignNode', $TopConstAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("casgn3"); self.$children("name", "value"); return (def.$compile = function() { var self = this; self.$push("Opal.casgn(Opal.Object, '" + (self.$name()) + "', "); self.$push(self.$expr(self.$value())); return self.$push(")"); }, nil) && 'compile'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["pathname"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $module = Opal.module; Opal.add_stubs(['$==', '$raise', '$attr_reader', '$path', '$start_with?', '$!', '$absolute?', '$sub', '$new']); (function($base, $super) { function $Pathname(){}; var self = $Pathname = $klass($base, $super, 'Pathname', $Pathname); var def = self.$$proto, $scope = self.$$scope; def.path = nil; def.$initialize = function(path) { var self = this; if (path['$==']("\x00")) { self.$raise($scope.get('ArgumentError'))}; return self.path = path; }; self.$attr_reader("path"); def['$=='] = function(other) { var self = this; return other.$path()['$=='](self.path); }; def['$absolute?'] = function() { var self = this; return self.path['$start_with?']("/"); }; def['$relative?'] = function() { var self = this; return self['$absolute?']()['$!'](); }; def['$root?'] = function() { var self = this; return self.path['$==']("/"); }; def.$parent = function() { var $a, self = this, new_path = nil; new_path = self.path.$sub(/\/([^\/]+\/?$)/, ""); if (new_path['$==']("")) { new_path = (function() {if ((($a = self['$absolute?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "/" } else { return "." }; return nil; })()}; return $scope.get('Pathname').$new(new_path); }; def.$sub = function(args) { var $a, self = this; args = $slice.call(arguments, 0); return $scope.get('Pathname').$new(($a = self.path).$sub.apply($a, [].concat(args))); }; def.$cleanpath = function() { var self = this; return Opal.normalize_loadable_path(self.path); }; def.$to_path = function() { var self = this; return self.path; }; def.$hash = function() { var self = this; return self.path; }; Opal.defn(self, '$to_str', def.$to_path); return Opal.defn(self, '$to_s', def.$to_path); })(self, null); return (function($base) { var self = $module($base, 'Kernel'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$Pathname', function(path) { var self = this; return $scope.get('Pathname').$new(path); }) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/runtime_helpers"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$new', '$children', '$==', '$include?', '$to_sym', '$<<', '$define_method', '$to_proc', '$meth', '$__send__', '$raise', '$helper', '$[]', '$arglist', '$js_truthy', '$js_falsy']); self.$require("set"); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $RuntimeHelpers(){}; var self = $RuntimeHelpers = $klass($base, $super, 'RuntimeHelpers', $RuntimeHelpers); var def = self.$$proto, $scope = self.$$scope, TMP_1, $a, $b, TMP_2, $c, TMP_3; Opal.cdecl($scope, 'HELPERS', $scope.get('Set').$new()); self.$children("recvr", "meth", "arglist"); Opal.defs(self, '$compatible?', function(recvr, meth, arglist) { var $a, self = this; return (($a = recvr['$=='](["const", "Opal"])) ? $scope.get('HELPERS')['$include?'](meth.$to_sym()) : $a); }); Opal.defs(self, '$helper', TMP_1 = function(name) { var $a, $b, self = this, $iter = TMP_1.$$p, block = $iter || nil; TMP_1.$$p = null; $scope.get('HELPERS')['$<<'](name); return ($a = ($b = self).$define_method, $a.$$p = block.$to_proc(), $a).call($b, "compile_" + (name)); }); def.$compile = function() { var $a, self = this; if ((($a = $scope.get('HELPERS')['$include?'](self.$meth().$to_sym())) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$__send__("compile_" + (self.$meth())) } else { return self.$raise("Helper not supported: " + (self.$meth())) }; }; ($a = ($b = self).$helper, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this, $a, sexp = nil; if ((($a = sexp = self.$arglist()['$[]'](1)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise("truthy? requires an object") }; return self.$js_truthy(sexp);}, TMP_2.$$s = self, TMP_2), $a).call($b, "truthy?"); return ($a = ($c = self).$helper, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this, $a, sexp = nil; if ((($a = sexp = self.$arglist()['$[]'](1)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$raise("falsy? requires an object") }; return self.$js_falsy(sexp);}, TMP_3.$$s = self, TMP_3), $a).call($c, "falsy?"); })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/call"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$[]=', '$define_method', '$to_proc', '$handle_special', '$compile_default?', '$<<', '$method_calls', '$compiler', '$to_sym', '$meth', '$using_irb?', '$compile_irb_var', '$default_compile', '$mid_to_jsid', '$to_s', '$any?', '$==', '$first', '$[]', '$arglist', '$===', '$last', '$type', '$pop', '$iter', '$new_temp', '$scope', '$expr', '$recv', '$recv_sexp', '$s', '$!', '$insert', '$push', '$unshift', '$queue_temp', '$recvr', '$=~', '$with_temp', '$variable', '$intern', '$irb?', '$top?', '$nil?', '$include?', '$__send__', '$compatible?', '$compile', '$new', '$each', '$add_special', '$inline_operators?', '$operator_helpers', '$fragment', '$compile_default!', '$resolve', '$requires', '$file', '$dirname', '$cleanpath', '$join', '$Pathname', '$inspect', '$process', '$class_scope?', '$required_trees', '$handle_block_given_call', '$def?', '$mid', '$handle_part', '$map', '$expand_path', '$split', '$dynamic_require_severity', '$error', '$line', '$warning', '$inject']); self.$require("set"); self.$require("pathname"); self.$require("opal/nodes/base"); self.$require("opal/nodes/runtime_helpers"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $CallNode(){}; var self = $CallNode = $klass($base, $super, 'CallNode', $CallNode); var def = self.$$proto, $scope = self.$$scope, TMP_1, $a, $b, TMP_6, $c, TMP_8, $d, TMP_9, $e, TMP_10, $f, TMP_11, $g, TMP_12, $h, TMP_13, $i, TMP_14, $j, TMP_15; def.assignment = def.compiler = def.sexp = def.level = def.compile_default = nil; self.$handle("call"); self.$children("recvr", "meth", "arglist", "iter"); Opal.cdecl($scope, 'SPECIALS', $hash2([], {})); Opal.cdecl($scope, 'OPERATORS', $hash2(["+", "-", "*", "/", "<", "<=", ">", ">="], {"+": "plus", "-": "minus", "*": "times", "/": "divide", "<": "lt", "<=": "le", ">": "gt", ">=": "ge"})); Opal.defs(self, '$add_special', TMP_1 = function(name, options) { var $a, $b, self = this, $iter = TMP_1.$$p, handler = $iter || nil; if (options == null) { options = $hash2([], {}) } TMP_1.$$p = null; $scope.get('SPECIALS')['$[]='](name, options); return ($a = ($b = self).$define_method, $a.$$p = handler.$to_proc(), $a).call($b, "handle_" + (name)); }); def.$compile = function() { var $a, self = this; self.$handle_special(); if ((($a = self['$compile_default?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return nil }; self.$compiler().$method_calls()['$<<'](self.$meth().$to_sym()); if ((($a = self['$using_irb?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_irb_var()}; return self.$default_compile(); }; def.$default_compile = function() { var $a, $b, TMP_2, $c, self = this, mid = nil, splat = nil, block = nil, blktmp = nil, tmprecv = nil, recv_code = nil, call_recv = nil, args = nil; mid = self.$mid_to_jsid(self.$meth().$to_s()); splat = ($a = ($b = self.$arglist()['$[]']($range(1, -1, false)))['$any?'], $a.$$p = (TMP_2 = function(a){var self = TMP_2.$$s || this; if (a == null) a = nil; return a.$first()['$==']("splat")}, TMP_2.$$s = self, TMP_2), $a).call($b); if ((($a = ($c = $scope.get('Sexp')['$==='](self.$arglist().$last()), $c !== false && $c !== nil ?self.$arglist().$last().$type()['$==']("block_pass") : $c)) !== nil && (!$a.$$is_boolean || $a == true))) { block = self.$arglist().$pop() } else if ((($a = self.$iter()) !== nil && (!$a.$$is_boolean || $a == true))) { block = self.$iter()}; if (block !== false && block !== nil) { blktmp = self.$scope().$new_temp()}; if ((($a = ((($c = splat) !== false && $c !== nil) ? $c : blktmp)) !== nil && (!$a.$$is_boolean || $a == true))) { tmprecv = self.$scope().$new_temp()}; if (block !== false && block !== nil) { block = self.$expr(block)}; recv_code = self.$recv(self.$recv_sexp()); call_recv = self.$s("js_tmp", ((($a = tmprecv) !== false && $a !== nil) ? $a : recv_code)); if ((($a = (($c = blktmp !== false && blktmp !== nil) ? splat['$!']() : $c)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$arglist().$insert(1, call_recv)}; args = self.$expr(self.$arglist()); if (tmprecv !== false && tmprecv !== nil) { self.$push("(" + (tmprecv) + " = ", recv_code, ")" + (mid)) } else { self.$push(recv_code, mid) }; if (blktmp !== false && blktmp !== nil) { self.$unshift("(" + (blktmp) + " = "); self.$push(", " + (blktmp) + ".$$p = ", block, ", " + (blktmp) + ")");}; if (splat !== false && splat !== nil) { self.$push(".apply(", (((($a = tmprecv) !== false && $a !== nil) ? $a : recv_code)), ", ", args, ")") } else if (blktmp !== false && blktmp !== nil) { self.$push(".call(", args, ")") } else { self.$push("(", args, ")") }; if (blktmp !== false && blktmp !== nil) { return self.$scope().$queue_temp(blktmp) } else { return nil }; }; def.$recv_sexp = function() { var $a, self = this; return ((($a = self.$recvr()) !== false && $a !== nil) ? $a : self.$s("self")); }; def['$attr_assignment?'] = function() { var $a, self = this; return ((($a = self.assignment) !== false && $a !== nil) ? $a : self.assignment = self.$meth().$to_s()['$=~']((new RegExp("" + $scope.get('REGEXP_START') + "[\\da-z]+\\=" + $scope.get('REGEXP_END'))))); }; def.$compile_irb_var = function() { var $a, $b, TMP_3, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this, lvar = nil, call = nil; if (tmp == null) tmp = nil; lvar = self.$variable(self.$meth()); call = self.$s("call", self.$s("self"), self.$meth().$intern(), self.$s("arglist")); return self.$push("((" + (tmp) + " = Opal.irb_vars." + (lvar) + ") == null ? ", self.$expr(call), " : " + (tmp) + ")");}, TMP_3.$$s = self, TMP_3), $a).call($b); }; def.$compile_assignment = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_4 = function(args_tmp){var self = TMP_4.$$s || this, $a, $b, TMP_5; if (args_tmp == null) args_tmp = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_5 = function(recv_tmp){var self = TMP_5.$$s || this, args = nil, mid = nil; if (recv_tmp == null) recv_tmp = nil; args = self.$expr(self.$arglist()); mid = self.$mid_to_jsid(self.$meth().$to_s()); return self.$push("((" + (args_tmp) + " = [", args, $rb_plus("]), ", "" + (recv_tmp) + " = "), self.$recv(self.$recv_sexp()), ", ", recv_tmp, mid, $rb_plus(".apply(" + (recv_tmp) + ", " + (args_tmp) + "), ", "" + (args_tmp) + "[" + (args_tmp) + ".length-1])"));}, TMP_5.$$s = self, TMP_5), $a).call($b)}, TMP_4.$$s = self, TMP_4), $a).call($b); }; def['$using_irb?'] = function() { var $a, $b, $c, $d, self = this; return ($a = ($b = ($c = ($d = self.compiler['$irb?'](), $d !== false && $d !== nil ?self.$scope()['$top?']() : $d), $c !== false && $c !== nil ?self.$arglist()['$=='](self.$s("arglist")) : $c), $b !== false && $b !== nil ?self.$recvr()['$nil?']() : $b), $a !== false && $a !== nil ?self.$iter()['$nil?']() : $a); }; def.$handle_special = function() { var $a, self = this; self.compile_default = true; if ((($a = $scope.get('SPECIALS')['$include?'](self.$meth())) !== nil && (!$a.$$is_boolean || $a == true))) { self.compile_default = false; return self.$__send__("handle_" + (self.$meth())); } else if ((($a = $scope.get('RuntimeHelpers')['$compatible?'](self.$recvr(), self.$meth(), self.$arglist())) !== nil && (!$a.$$is_boolean || $a == true))) { self.compile_default = false; return self.$push($scope.get('RuntimeHelpers').$new(self.sexp, self.level, self.compiler).$compile()); } else { return nil }; }; def['$compile_default!'] = function() { var self = this; return self.compile_default = true; }; def['$compile_default?'] = function() { var self = this; return self.compile_default; }; ($a = ($b = $scope.get('OPERATORS')).$each, $a.$$p = (TMP_6 = function(operator, name){var self = TMP_6.$$s || this, $a, $b, TMP_7; if (operator == null) operator = nil;if (name == null) name = nil; return ($a = ($b = self).$add_special, $a.$$p = (TMP_7 = function(){var self = TMP_7.$$s || this, $a, lhs = nil, rhs = nil; if ((($a = self.$compiler()['$inline_operators?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$compiler().$operator_helpers()['$<<'](operator.$to_sym()); $a = [self.$expr(self.$recvr()), self.$expr(self.$arglist()['$[]'](1))], lhs = $a[0], rhs = $a[1]; self.$push(self.$fragment("$rb_" + (name) + "(")); self.$push(lhs); self.$push(self.$fragment(", ")); self.$push(rhs); return self.$push(self.$fragment(")")); } else { return self['$compile_default!']() }}, TMP_7.$$s = self, TMP_7), $a).call($b, operator.$to_sym())}, TMP_6.$$s = self, TMP_6), $a).call($b); ($a = ($c = self).$add_special, $a.$$p = (TMP_8 = function(){var self = TMP_8.$$s || this, $a, str = nil; self['$compile_default!'](); str = $scope.get('DependencyResolver').$new(self.$compiler(), self.$arglist()['$[]'](1)).$resolve(); if ((($a = str['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$compiler().$requires()['$<<'](str) }; return self.$push(self.$fragment(""));}, TMP_8.$$s = self, TMP_8), $a).call($c, "require"); ($a = ($d = self).$add_special, $a.$$p = (TMP_9 = function(){var self = TMP_9.$$s || this, arg = nil, file = nil, dir = nil; arg = self.$arglist()['$[]'](1); file = self.$compiler().$file(); if (arg['$[]'](0)['$==']("str")) { dir = $scope.get('File').$dirname(file); self.$compiler().$requires()['$<<'](self.$Pathname(dir).$join(arg['$[]'](1)).$cleanpath().$to_s());}; self.$push(self.$fragment("self.$require(" + (file.$inspect()) + "+ '/../' + ")); self.$push(self.$process(self.$arglist())); return self.$push(self.$fragment(")"));}, TMP_9.$$s = self, TMP_9), $a).call($d, "require_relative"); ($a = ($e = self).$add_special, $a.$$p = (TMP_10 = function(){var self = TMP_10.$$s || this, $a, str = nil; if ((($a = self.$scope()['$class_scope?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self['$compile_default!'](); str = $scope.get('DependencyResolver').$new(self.$compiler(), self.$arglist()['$[]'](2)).$resolve(); if ((($a = str['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$compiler().$requires()['$<<'](str) }; return self.$push(self.$fragment("")); } else { return nil }}, TMP_10.$$s = self, TMP_10), $a).call($e, "autoload"); ($a = ($f = self).$add_special, $a.$$p = (TMP_11 = function(){var self = TMP_11.$$s || this, arg = nil, relative_path = nil, dir = nil, full_path = nil; arg = self.$arglist()['$[]'](1); if (arg['$[]'](0)['$==']("str")) { relative_path = arg['$[]'](1); self.$compiler().$required_trees()['$<<'](relative_path); dir = $scope.get('File').$dirname(self.$compiler().$file()); full_path = self.$Pathname(dir).$join(relative_path).$cleanpath().$to_s(); arg['$[]='](1, full_path);}; self['$compile_default!'](); return self.$push(self.$fragment(""));}, TMP_11.$$s = self, TMP_11), $a).call($f, "require_tree"); ($a = ($g = self).$add_special, $a.$$p = (TMP_12 = function(){var self = TMP_12.$$s || this; if (self.sexp == null) self.sexp = nil; return self.$push(self.$compiler().$handle_block_given_call(self.sexp))}, TMP_12.$$s = self, TMP_12), $a).call($g, "block_given?"); ($a = ($h = self).$add_special, $a.$$p = (TMP_13 = function(){var self = TMP_13.$$s || this, $a; if ((($a = self.$scope()['$def?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push(self.$fragment(self.$scope().$mid().$to_s().$inspect())) } else { return self.$push(self.$fragment("nil")) }}, TMP_13.$$s = self, TMP_13), $a).call($h, "__callee__"); ($a = ($i = self).$add_special, $a.$$p = (TMP_14 = function(){var self = TMP_14.$$s || this, $a; if ((($a = self.$scope()['$def?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push(self.$fragment(self.$scope().$mid().$to_s().$inspect())) } else { return self.$push(self.$fragment("nil")) }}, TMP_14.$$s = self, TMP_14), $a).call($i, "__method__"); ($a = ($j = self).$add_special, $a.$$p = (TMP_15 = function(){var self = TMP_15.$$s || this; return self.$push(self.$fragment("debugger"))}, TMP_15.$$s = self, TMP_15), $a).call($j, "debugger"); return (function($base, $super) { function $DependencyResolver(){}; var self = $DependencyResolver = $klass($base, $super, 'DependencyResolver', $DependencyResolver); var def = self.$$proto, $scope = self.$$scope; def.sexp = def.compiler = nil; def.$initialize = function(compiler, sexp) { var self = this; self.compiler = compiler; return self.sexp = sexp; }; def.$resolve = function() { var self = this; return self.$handle_part(self.sexp); }; def.$handle_part = function(sexp) { var $a, $b, TMP_16, self = this, type = nil, _ = nil, recv = nil, meth = nil, args = nil, parts = nil, msg = nil, $case = nil; type = sexp.$type(); if (type['$==']("str")) { return sexp['$[]'](1) } else if (type['$==']("call")) { $a = Opal.to_ary(sexp), _ = ($a[0] == null ? nil : $a[0]), recv = ($a[1] == null ? nil : $a[1]), meth = ($a[2] == null ? nil : $a[2]), args = ($a[3] == null ? nil : $a[3]); parts = ($a = ($b = args['$[]']($range(1, -1, false))).$map, $a.$$p = (TMP_16 = function(s){var self = TMP_16.$$s || this; if (s == null) s = nil; return self.$handle_part(s)}, TMP_16.$$s = self, TMP_16), $a).call($b); if (recv['$=='](["const", "File"])) { if (meth['$==']("expand_path")) { return ($a = self).$expand_path.apply($a, [].concat(parts)) } else if (meth['$==']("join")) { return self.$expand_path(parts.$join("/")) } else if (meth['$==']("dirname")) { return self.$expand_path(parts['$[]'](0).$split("/")['$[]']($range(0, -1, true)).$join("/"))}};}; msg = "Cannot handle dynamic require"; return (function() {$case = self.compiler.$dynamic_require_severity();if ("error"['$===']($case)) {return self.compiler.$error(msg, self.sexp.$line())}else if ("warning"['$===']($case)) {return self.compiler.$warning(msg, self.sexp.$line())}else { return nil }})(); }; return (def.$expand_path = function(path, base) { var $a, $b, TMP_17, self = this; if (base == null) { base = "" } return ($a = ($b = (((("") + (base)) + "/") + (path)).$split("/")).$inject, $a.$$p = (TMP_17 = function(p, part){var self = TMP_17.$$s || this; if (p == null) p = nil;if (part == null) part = nil; if (part['$==']("")) { } else if (part['$==']("..")) { p.$pop() } else { p['$<<'](part) }; return p;}, TMP_17.$$s = self, TMP_17), $a).call($b, []).$join("/"); }, nil) && 'expand_path'; })(self, null); })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/call_special"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$=~', '$to_s', '$meth', '$with_temp', '$expr', '$arglist', '$mid_to_jsid', '$push', '$recv', '$recv_sexp', '$s', '$lhs', '$rhs', '$process', '$recvr', '$[]', '$args', '$op', '$===', '$compile_or', '$compile_and', '$compile_operator', '$to_sym', '$first_arg', '$mid']); self.$require("opal/nodes/base"); self.$require("opal/nodes/call"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $AttrAssignNode(){}; var self = $AttrAssignNode = $klass($base, $super, 'AttrAssignNode', $AttrAssignNode); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$handle("attrasgn"); self.$children("recvr", "meth", "arglist"); return (def.$default_compile = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var $a, $b, TMP_2, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; if ((($a = ($b = self.$meth().$to_s()['$=~']((new RegExp("" + $scope.get('REGEXP_START') + "\\w+=" + $scope.get('REGEXP_END')))), ($b === nil || $b === false))) !== nil && (!$a.$$is_boolean || $a == true))) { return Opal.find_super_dispatcher(self, 'default_compile', TMP_1, $iter).apply(self, $zuper)}; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(args_tmp){var self = TMP_2.$$s || this, $a, $b, TMP_3; if (args_tmp == null) args_tmp = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(recv_tmp){var self = TMP_3.$$s || this, args = nil, mid = nil; if (recv_tmp == null) recv_tmp = nil; args = self.$expr(self.$arglist()); mid = self.$mid_to_jsid(self.$meth().$to_s()); return self.$push("((" + (args_tmp) + " = [", args, $rb_plus("]), ", "" + (recv_tmp) + " = "), self.$recv(self.$recv_sexp()), ", ", recv_tmp, mid, $rb_plus(".apply(" + (recv_tmp) + ", " + (args_tmp) + "), ", "" + (args_tmp) + "[" + (args_tmp) + ".length-1])"));}, TMP_3.$$s = self, TMP_3), $a).call($b)}, TMP_2.$$s = self, TMP_2), $a).call($b); }, nil) && 'default_compile'; })(self, $scope.get('CallNode')); (function($base, $super) { function $Match3Node(){}; var self = $Match3Node = $klass($base, $super, 'Match3Node', $Match3Node); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("match3"); self.$children("lhs", "rhs"); return (def.$compile = function() { var self = this, sexp = nil; sexp = self.$s("call", self.$lhs(), "=~", self.$s("arglist", self.$rhs())); return self.$push(self.$process(sexp, self.level)); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $OpAsgnOrNode(){}; var self = $OpAsgnOrNode = $klass($base, $super, 'OpAsgnOrNode', $OpAsgnOrNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("op_asgn_or"); self.$children("recvr", "rhs"); return (def.$compile = function() { var self = this, sexp = nil; sexp = self.$s("or", self.$recvr(), self.$rhs()); return self.$push(self.$expr(sexp)); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $OpAsgnAndNode(){}; var self = $OpAsgnAndNode = $klass($base, $super, 'OpAsgnAndNode', $OpAsgnAndNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("op_asgn_and"); self.$children("recvr", "rhs"); return (def.$compile = function() { var self = this, sexp = nil; sexp = self.$s("and", self.$recvr(), self.$rhs()); return self.$push(self.$expr(sexp)); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $OpAsgn1Node(){}; var self = $OpAsgn1Node = $klass($base, $super, 'OpAsgn1Node', $OpAsgn1Node); var def = self.$$proto, $scope = self.$$scope; self.$handle("op_asgn1"); self.$children("lhs", "args", "op", "rhs"); def.$first_arg = function() { var self = this; return self.$args()['$[]'](1); }; def.$compile = function() { var self = this, $case = nil; return (function() {$case = self.$op().$to_s();if ("||"['$===']($case)) {return self.$compile_or()}else if ("&&"['$===']($case)) {return self.$compile_and()}else {return self.$compile_operator()}})(); }; def.$compile_operator = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_4 = function(a){var self = TMP_4.$$s || this, $a, $b, TMP_5; if (a == null) a = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_5 = function(r){var self = TMP_5.$$s || this, cur = nil, rhs = nil, call = nil; if (r == null) r = nil; cur = self.$s("call", self.$s("js_tmp", r), "[]", self.$s("arglist", self.$s("js_tmp", a))); rhs = self.$s("call", cur, self.$op().$to_sym(), self.$s("arglist", self.$rhs())); call = self.$s("call", self.$s("js_tmp", r), "[]=", self.$s("arglist", self.$s("js_tmp", a), rhs)); self.$push("(" + (a) + " = ", self.$expr(self.$first_arg()), ", " + (r) + " = ", self.$expr(self.$lhs())); return self.$push(", ", self.$expr(call), ")");}, TMP_5.$$s = self, TMP_5), $a).call($b)}, TMP_4.$$s = self, TMP_4), $a).call($b); }; def.$compile_or = function() { var $a, $b, TMP_6, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_6 = function(a){var self = TMP_6.$$s || this, $a, $b, TMP_7; if (a == null) a = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_7 = function(r){var self = TMP_7.$$s || this, aref = nil, aset = nil, orop = nil; if (r == null) r = nil; aref = self.$s("call", self.$s("js_tmp", r), "[]", self.$s("arglist", self.$s("js_tmp", a))); aset = self.$s("call", self.$s("js_tmp", r), "[]=", self.$s("arglist", self.$s("js_tmp", a), self.$rhs())); orop = self.$s("or", aref, aset); self.$push("(" + (a) + " = ", self.$expr(self.$first_arg()), ", " + (r) + " = ", self.$expr(self.$lhs())); return self.$push(", ", self.$expr(orop), ")");}, TMP_7.$$s = self, TMP_7), $a).call($b)}, TMP_6.$$s = self, TMP_6), $a).call($b); }; return (def.$compile_and = function() { var $a, $b, TMP_8, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_8 = function(a){var self = TMP_8.$$s || this, $a, $b, TMP_9; if (a == null) a = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_9 = function(r){var self = TMP_9.$$s || this, aref = nil, aset = nil, andop = nil; if (r == null) r = nil; aref = self.$s("call", self.$s("js_tmp", r), "[]", self.$s("arglist", self.$s("js_tmp", a))); aset = self.$s("call", self.$s("js_tmp", r), "[]=", self.$s("arglist", self.$s("js_tmp", a), self.$rhs())); andop = self.$s("and", aref, aset); self.$push("(" + (a) + " = ", self.$expr(self.$first_arg()), ", " + (r) + " = ", self.$expr(self.$lhs())); return self.$push(", ", self.$expr(andop), ")");}, TMP_9.$$s = self, TMP_9), $a).call($b)}, TMP_8.$$s = self, TMP_8), $a).call($b); }, nil) && 'compile_and'; })(self, $scope.get('Base')); (function($base, $super) { function $OpAsgn2Node(){}; var self = $OpAsgn2Node = $klass($base, $super, 'OpAsgn2Node', $OpAsgn2Node); var def = self.$$proto, $scope = self.$$scope; self.$handle("op_asgn2"); self.$children("lhs", "mid", "op", "rhs"); def.$meth = function() { var self = this; return self.$mid().$to_s()['$[]']($range(0, -2, false)); }; def.$compile = function() { var self = this, $case = nil; return (function() {$case = self.$op().$to_s();if ("||"['$===']($case)) {return self.$compile_or()}else if ("&&"['$===']($case)) {return self.$compile_and()}else {return self.$compile_operator()}})(); }; def.$compile_or = function() { var $a, $b, TMP_10, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_10 = function(tmp){var self = TMP_10.$$s || this, getr = nil, asgn = nil, orop = nil; if (tmp == null) tmp = nil; getr = self.$s("call", self.$s("js_tmp", tmp), self.$meth(), self.$s("arglist")); asgn = self.$s("call", self.$s("js_tmp", tmp), self.$mid(), self.$s("arglist", self.$rhs())); orop = self.$s("or", getr, asgn); return self.$push("(" + (tmp) + " = ", self.$expr(self.$lhs()), ", ", self.$expr(orop), ")");}, TMP_10.$$s = self, TMP_10), $a).call($b); }; def.$compile_and = function() { var $a, $b, TMP_11, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_11 = function(tmp){var self = TMP_11.$$s || this, getr = nil, asgn = nil, andop = nil; if (tmp == null) tmp = nil; getr = self.$s("call", self.$s("js_tmp", tmp), self.$meth(), self.$s("arglist")); asgn = self.$s("call", self.$s("js_tmp", tmp), self.$mid(), self.$s("arglist", self.$rhs())); andop = self.$s("and", getr, asgn); return self.$push("(" + (tmp) + " = ", self.$expr(self.$lhs()), ", ", self.$expr(andop), ")");}, TMP_11.$$s = self, TMP_11), $a).call($b); }; return (def.$compile_operator = function() { var $a, $b, TMP_12, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_12 = function(tmp){var self = TMP_12.$$s || this, getr = nil, oper = nil, asgn = nil; if (tmp == null) tmp = nil; getr = self.$s("call", self.$s("js_tmp", tmp), self.$meth(), self.$s("arglist")); oper = self.$s("call", getr, self.$op(), self.$s("arglist", self.$rhs())); asgn = self.$s("call", self.$s("js_tmp", tmp), self.$mid(), self.$s("arglist", oper)); return self.$push("(" + (tmp) + " = ", self.$expr(self.$lhs()), ", ", self.$expr(asgn), ")");}, TMP_12.$$s = self, TMP_12), $a).call($b); }, nil) && 'compile_operator'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/scope"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_accessor', '$attr_reader', '$indent', '$scope', '$compiler', '$scope=', '$call', '$==', '$!', '$class?', '$dup', '$push', '$map', '$ivars', '$gvars', '$parser_indent', '$empty?', '$join', '$proto', '$%', '$fragment', '$def_in_class?', '$add_proto_ivar', '$include?', '$<<', '$has_local?', '$pop', '$next_temp', '$succ', '$uses_block!', '$identify!', '$unique_temp', '$add_scope_temp', '$parent', '$def?', '$type', '$mid']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ScopeNode(){}; var self = $ScopeNode = $klass($base, $super, 'ScopeNode', $ScopeNode); var def = self.$$proto, $scope = self.$$scope, TMP_1, TMP_2; def.type = def.defs = def.parent = def.temps = def.locals = def.compiler = def.proto_ivars = def.ivars = def.gvars = def.args = def.queue = def.unique = def.while_stack = def.identity = def.uses_block = nil; self.$attr_accessor("parent"); self.$attr_accessor("name"); self.$attr_accessor("block_name"); self.$attr_reader("scope_name"); self.$attr_reader("ivars"); self.$attr_reader("gvars"); self.$attr_accessor("mid"); self.$attr_accessor("defs"); self.$attr_reader("methods"); self.$attr_accessor("uses_super"); self.$attr_accessor("uses_zuper"); self.$attr_accessor("catch_return"); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.locals = []; self.temps = []; self.args = []; self.ivars = []; self.gvars = []; self.parent = nil; self.queue = []; self.unique = "a"; self.while_stack = []; self.identity = nil; self.defs = nil; self.methods = []; self.uses_block = false; return self.proto_ivars = []; }; def.$in_scope = TMP_2 = function() { var $a, $b, TMP_3, self = this, $iter = TMP_2.$$p, block = $iter || nil; TMP_2.$$p = null; return ($a = ($b = self).$indent, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this, $a, $b; if (self.parent == null) self.parent = nil; self.parent = self.$compiler().$scope(); (($a = [self]), $b = self.$compiler(), $b['$scope='].apply($b, $a), $a[$a.length-1]); block.$call(self); return (($a = [self.parent]), $b = self.$compiler(), $b['$scope='].apply($b, $a), $a[$a.length-1]);}, TMP_3.$$s = self, TMP_3), $a).call($b); }; def['$class_scope?'] = function() { var $a, self = this; return ((($a = self.type['$==']("class")) !== false && $a !== nil) ? $a : self.type['$==']("module")); }; def['$class?'] = function() { var self = this; return self.type['$==']("class"); }; def['$module?'] = function() { var self = this; return self.type['$==']("module"); }; def['$sclass?'] = function() { var self = this; return self.type['$==']("sclass"); }; def['$top?'] = function() { var self = this; return self.type['$==']("top"); }; def['$iter?'] = function() { var self = this; return self.type['$==']("iter"); }; def['$def?'] = function() { var self = this; return self.type['$==']("def"); }; def['$def_in_class?'] = function() { var $a, $b, $c, self = this; return ($a = ($b = ($c = self.defs['$!'](), $c !== false && $c !== nil ?self.type['$==']("def") : $c), $b !== false && $b !== nil ?self.parent : $b), $a !== false && $a !== nil ?self.parent['$class?']() : $a); }; def.$proto = function() { var self = this; return "def"; }; def.$to_vars = function() { var $a, $b, $c, TMP_4, $d, TMP_5, $e, TMP_6, $f, TMP_7, self = this, vars = nil, iv = nil, gv = nil, indent = nil, str = nil, pvars = nil, result = nil; vars = self.temps.$dup(); ($a = vars).$push.apply($a, [].concat(($b = ($c = self.locals).$map, $b.$$p = (TMP_4 = function(l){var self = TMP_4.$$s || this; if (l == null) l = nil; return "" + (l) + " = nil"}, TMP_4.$$s = self, TMP_4), $b).call($c))); iv = ($b = ($d = self.$ivars()).$map, $b.$$p = (TMP_5 = function(ivar){var self = TMP_5.$$s || this; if (ivar == null) ivar = nil; return "if (self" + (ivar) + " == null) self" + (ivar) + " = nil;\n"}, TMP_5.$$s = self, TMP_5), $b).call($d); gv = ($b = ($e = self.$gvars()).$map, $b.$$p = (TMP_6 = function(gvar){var self = TMP_6.$$s || this; if (gvar == null) gvar = nil; return "if ($gvars" + (gvar) + " == null) $gvars" + (gvar) + " = nil;\n"}, TMP_6.$$s = self, TMP_6), $b).call($e); indent = self.compiler.$parser_indent(); str = (function() {if ((($b = vars['$empty?']()) !== nil && (!$b.$$is_boolean || $b == true))) { return "" } else { return "var " + (vars.$join(", ")) + ";\n" }; return nil; })(); if ((($b = self.$ivars()['$empty?']()) !== nil && (!$b.$$is_boolean || $b == true))) { } else { str = $rb_plus(str, "" + (indent) + (iv.$join(indent))) }; if ((($b = self.$gvars()['$empty?']()) !== nil && (!$b.$$is_boolean || $b == true))) { } else { str = $rb_plus(str, "" + (indent) + (gv.$join(indent))) }; if ((($b = ($f = self['$class?'](), $f !== false && $f !== nil ?self.proto_ivars['$empty?']()['$!']() : $f)) !== nil && (!$b.$$is_boolean || $b == true))) { pvars = ($b = ($f = self.proto_ivars).$map, $b.$$p = (TMP_7 = function(i){var self = TMP_7.$$s || this; if (i == null) i = nil; return "" + (self.$proto()) + (i)}, TMP_7.$$s = self, TMP_7), $b).call($f).$join(" = "); result = "%s\n%s%s = nil;"['$%']([str, indent, pvars]); } else { result = str }; return self.$fragment(result); }; def.$add_scope_ivar = function(ivar) { var $a, self = this; if ((($a = self['$def_in_class?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.parent.$add_proto_ivar(ivar) } else if ((($a = self.ivars['$include?'](ivar)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.ivars['$<<'](ivar) }; }; def.$add_scope_gvar = function(gvar) { var $a, self = this; if ((($a = self.gvars['$include?'](gvar)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.gvars['$<<'](gvar) }; }; def.$add_proto_ivar = function(ivar) { var $a, self = this; if ((($a = self.proto_ivars['$include?'](ivar)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.proto_ivars['$<<'](ivar) }; }; def.$add_arg = function(arg) { var $a, self = this; if ((($a = self.args['$include?'](arg)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.args['$<<'](arg) }; return arg; }; def.$add_scope_local = function(local) { var $a, self = this; if ((($a = self['$has_local?'](local)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; return self.locals['$<<'](local); }; def['$has_local?'] = function(local) { var $a, $b, self = this; if ((($a = ((($b = self.locals['$include?'](local)) !== false && $b !== nil) ? $b : self.args['$include?'](local))) !== nil && (!$a.$$is_boolean || $a == true))) { return true}; if ((($a = ($b = self.parent, $b !== false && $b !== nil ?self.type['$==']("iter") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.parent['$has_local?'](local)}; return false; }; def.$add_scope_temp = function(tmps) { var $a, self = this; tmps = $slice.call(arguments, 0); return ($a = self.temps).$push.apply($a, [].concat(tmps)); }; def['$has_temp?'] = function(tmp) { var self = this; return self.temps['$include?'](tmp); }; def.$new_temp = function() { var $a, self = this, tmp = nil; if ((($a = self.queue['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { return self.queue.$pop() }; tmp = self.$next_temp(); self.temps['$<<'](tmp); return tmp; }; def.$next_temp = function() { var self = this, tmp = nil; tmp = "$" + (self.unique); self.unique = self.unique.$succ(); return tmp; }; def.$queue_temp = function(name) { var self = this; return self.queue['$<<'](name); }; def.$push_while = function() { var self = this, info = nil; info = $hash2([], {}); self.while_stack.$push(info); return info; }; def.$pop_while = function() { var self = this; return self.while_stack.$pop(); }; def['$in_while?'] = function() { var self = this; return self.while_stack['$empty?']()['$!'](); }; def['$uses_block!'] = function() { var $a, $b, self = this; if ((($a = (($b = self.type['$==']("iter")) ? self.parent : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.parent['$uses_block!']() } else { self.uses_block = true; return self['$identify!'](); }; }; def['$identify!'] = function() { var $a, self = this; if ((($a = self.identity) !== nil && (!$a.$$is_boolean || $a == true))) { return self.identity}; self.identity = self.compiler.$unique_temp(); if ((($a = self.parent) !== nil && (!$a.$$is_boolean || $a == true))) { self.parent.$add_scope_temp(self.identity)}; return self.identity; }; def.$identity = function() { var self = this; return self.identity; }; def.$find_parent_def = function() { var $a, $b, self = this, scope = nil; scope = self; while ((($b = scope = scope.$parent()) !== nil && (!$b.$$is_boolean || $b == true))) { if ((($b = scope['$def?']()) !== nil && (!$b.$$is_boolean || $b == true))) { return scope}}; return nil; }; def.$get_super_chain = function() { var $a, $b, self = this, chain = nil, scope = nil, defn = nil, mid = nil; $a = [[], self, "null", "null"], chain = $a[0], scope = $a[1], defn = $a[2], mid = $a[3]; while (scope !== false && scope !== nil) { if (scope.$type()['$==']("iter")) { chain['$<<'](scope['$identify!']()); if ((($b = scope.$parent()) !== nil && (!$b.$$is_boolean || $b == true))) { scope = scope.$parent()}; } else if (scope.$type()['$==']("def")) { defn = scope['$identify!'](); mid = "'" + (scope.$mid()) + "'"; break;; } else { break; }}; return [chain, defn, mid]; }; return (def['$uses_block?'] = function() { var self = this; return self.uses_block; }, nil) && 'uses_block?'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/module"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$name_and_base', '$helper', '$push', '$line', '$in_scope', '$name=', '$scope', '$add_temp', '$proto', '$stmt', '$body', '$s', '$empty_line', '$to_vars', '$==', '$type', '$cid', '$to_s', '$[]', '$expr', '$raise']); self.$require("opal/nodes/scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ModuleNode(){}; var self = $ModuleNode = $klass($base, $super, 'ModuleNode', $ModuleNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("module"); self.$children("cid", "body"); def.$compile = function() { var $a, $b, TMP_1, self = this, name = nil, base = nil; $a = Opal.to_ary(self.$name_and_base()), name = ($a[0] == null ? nil : $a[0]), base = ($a[1] == null ? nil : $a[1]); self.$helper("module"); self.$push("(function($base) {"); self.$line(" var self = $module($base, '" + (name) + "');"); ($a = ($b = self).$in_scope, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, $b, body_code = nil; (($a = [name]), $b = self.$scope(), $b['$name='].apply($b, $a), $a[$a.length-1]); self.$add_temp("" + (self.$scope().$proto()) + " = self.$$proto"); self.$add_temp("$scope = self.$$scope"); body_code = self.$stmt(((($a = self.$body()) !== false && $a !== nil) ? $a : self.$s("nil"))); self.$empty_line(); self.$line(self.$scope().$to_vars()); return self.$line(body_code);}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$line("})(", base, ")"); }; return (def.$name_and_base = function() { var self = this; if (self.$cid().$type()['$==']("const")) { return [self.$cid()['$[]'](1).$to_s(), "self"] } else if (self.$cid().$type()['$==']("colon2")) { return [self.$cid()['$[]'](2).$to_s(), self.$expr(self.$cid()['$[]'](1))] } else if (self.$cid().$type()['$==']("colon3")) { return [self.$cid()['$[]'](1).$to_s(), "Opal.Object"] } else { return self.$raise("Bad receiver in module") }; }, nil) && 'name_and_base'; })(self, $scope.get('ScopeNode')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/class"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$name_and_base', '$helper', '$push', '$line', '$in_scope', '$name=', '$scope', '$add_temp', '$proto', '$body_code', '$empty_line', '$to_vars', '$super_code', '$sup', '$expr', '$stmt', '$returns', '$compiler', '$body', '$s']); self.$require("opal/nodes/module"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ClassNode(){}; var self = $ClassNode = $klass($base, $super, 'ClassNode', $ClassNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("class"); self.$children("cid", "sup", "body"); def.$compile = function() { var $a, $b, TMP_1, self = this, name = nil, base = nil; $a = Opal.to_ary(self.$name_and_base()), name = ($a[0] == null ? nil : $a[0]), base = ($a[1] == null ? nil : $a[1]); self.$helper("klass"); self.$push("(function($base, $super) {"); self.$line(" function $" + (name) + "(){};"); self.$line(" var self = $" + (name) + " = $klass($base, $super, '" + (name) + "', $" + (name) + ");"); ($a = ($b = self).$in_scope, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, $b, body_code = nil; (($a = [name]), $b = self.$scope(), $b['$name='].apply($b, $a), $a[$a.length-1]); self.$add_temp("" + (self.$scope().$proto()) + " = self.$$proto"); self.$add_temp("$scope = self.$$scope"); body_code = self.$body_code(); self.$empty_line(); self.$line(self.$scope().$to_vars()); return self.$line(body_code);}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$line("})(", base, ", ", self.$super_code(), ")"); }; def.$super_code = function() { var $a, self = this; if ((($a = self.$sup()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$expr(self.$sup()) } else { return "null" }; }; return (def.$body_code = function() { var $a, self = this; return self.$stmt(self.$compiler().$returns(((($a = self.$body()) !== false && $a !== nil) ? $a : self.$s("nil")))); }, nil) && 'body_code'; })(self, $scope.get('ModuleNode')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/singleton_class"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$push', '$in_scope', '$add_temp', '$stmt', '$returns', '$compiler', '$body', '$line', '$to_vars', '$scope', '$recv', '$object']); self.$require("opal/nodes/scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $SingletonClassNode(){}; var self = $SingletonClassNode = $klass($base, $super, 'SingletonClassNode', $SingletonClassNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("sclass"); self.$children("object", "body"); return (def.$compile = function() { var $a, $b, TMP_1, self = this; self.$push("(function(self) {"); ($a = ($b = self).$in_scope, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, body_stmt = nil; self.$add_temp("$scope = self.$$scope"); self.$add_temp("def = self.$$proto"); body_stmt = self.$stmt(self.$compiler().$returns(self.$body())); self.$line(self.$scope().$to_vars()); return self.$line(body_stmt);}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$line("})(", self.$recv(self.$object()), ".$singleton_class())"); }, nil) && 'compile'; })(self, $scope.get('ScopeNode')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/iter"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$extract_opt_args', '$extract_block_arg', '$is_a?', '$last', '$args', '$==', '$type', '$[]', '$pop', '$length', '$args_to_params', '$<<', '$in_scope', '$identify!', '$scope', '$add_temp', '$compile_args', '$add_arg', '$push', '$block_name=', '$line', '$stmt', '$body', '$to_vars', '$unshift', '$join', '$each_with_index', '$variable', '$find', '$to_sym', '$expr', '$raise', '$shift', '$===', '$args_sexp', '$nil?', '$s', '$returns', '$compiler', '$body_sexp', '$each', '$next_temp']); self.$require("opal/nodes/scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $IterNode(){}; var self = $IterNode = $klass($base, $super, 'IterNode', $IterNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("iter"); self.$children("args_sexp", "body_sexp"); def.$compile = function() { var $a, $b, TMP_1, self = this, opt_args = nil, block_arg = nil, splat = nil, len = nil, params = nil, to_vars = nil, identity = nil, body_code = nil; opt_args = self.$extract_opt_args(); block_arg = self.$extract_block_arg(); if ((($a = ($b = self.$args().$last()['$is_a?']($scope.get('Sexp')), $b !== false && $b !== nil ?self.$args().$last().$type()['$==']("splat") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { splat = self.$args().$last()['$[]'](1)['$[]'](1); self.$args().$pop(); len = self.$args().$length();}; params = self.$args_to_params(self.$args()['$[]']($range(1, -1, false))); if (splat !== false && splat !== nil) { params['$<<'](splat)}; to_vars = identity = body_code = nil; ($a = ($b = self).$in_scope, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, $b, scope_name = nil; identity = self.$scope()['$identify!'](); self.$add_temp("self = " + (identity) + ".$$s || this"); self.$compile_args(self.$args()['$[]']($range(1, -1, false)), opt_args, params); if (splat !== false && splat !== nil) { self.$scope().$add_arg(splat); self.$push("" + (splat) + " = $slice.call(arguments, " + ($rb_minus(len, 1)) + ");");}; if (block_arg !== false && block_arg !== nil) { (($a = [block_arg]), $b = self.$scope(), $b['$block_name='].apply($b, $a), $a[$a.length-1]); self.$scope().$add_temp(block_arg); scope_name = self.$scope()['$identify!'](); self.$line("" + (block_arg) + " = " + (scope_name) + ".$$p || nil, " + (scope_name) + ".$$p = null;");}; body_code = self.$stmt(self.$body()); return to_vars = self.$scope().$to_vars();}, TMP_1.$$s = self, TMP_1), $a).call($b); self.$line(body_code); self.$unshift(to_vars); self.$unshift("(" + (identity) + " = function(" + (params.$join(", ")) + "){"); return self.$push("}, " + (identity) + ".$$s = self, " + (identity) + ")"); }; def.$compile_args = function(args, opt_args, params) { var $a, $b, TMP_2, self = this; return ($a = ($b = args).$each_with_index, $a.$$p = (TMP_2 = function(arg, idx){var self = TMP_2.$$s || this, $a, $b, $c, $d, TMP_3, TMP_4, current_opt = nil; if (arg == null) arg = nil;if (idx == null) idx = nil; if (arg.$type()['$==']("lasgn")) { arg = self.$variable(arg['$[]'](1)); if ((($a = (($b = opt_args !== false && opt_args !== nil) ? current_opt = ($c = ($d = opt_args).$find, $c.$$p = (TMP_3 = function(s){var self = TMP_3.$$s || this; if (s == null) s = nil; return s['$[]'](1)['$=='](arg.$to_sym())}, TMP_3.$$s = self, TMP_3), $c).call($d) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("if (" + (arg) + " == null) " + (arg) + " = ", self.$expr(current_opt['$[]'](2)), ";") } else { return self.$push("if (" + (arg) + " == null) " + (arg) + " = nil;") }; } else if (arg.$type()['$==']("array")) { return ($a = ($b = arg['$[]']($range(1, -1, false))).$each_with_index, $a.$$p = (TMP_4 = function(_arg, _idx){var self = TMP_4.$$s || this; if (_arg == null) _arg = nil;if (_idx == null) _idx = nil; _arg = self.$variable(_arg['$[]'](1)); return self.$push("var " + (_arg) + " = " + (params['$[]'](idx)) + "[" + (_idx) + "];");}, TMP_4.$$s = self, TMP_4), $a).call($b) } else { return self.$raise("Bad block arg type") }}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$extract_opt_args = function() { var $a, $b, self = this, opt_args = nil; if ((($a = ($b = self.$args().$last()['$is_a?']($scope.get('Sexp')), $b !== false && $b !== nil ?self.$args().$last().$type()['$==']("block") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { opt_args = self.$args().$pop(); opt_args.$shift(); return opt_args; } else { return nil }; }; def.$extract_block_arg = function() { var $a, $b, self = this, block_arg = nil; if ((($a = ($b = self.$args().$last()['$is_a?']($scope.get('Sexp')), $b !== false && $b !== nil ?self.$args().$last().$type()['$==']("block_pass") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { block_arg = self.$args().$pop(); return block_arg = block_arg['$[]'](1)['$[]'](1).$to_sym(); } else { return nil }; }; def.$args = function() { var $a, $b, self = this; if ((($a = ((($b = $scope.get('Fixnum')['$==='](self.$args_sexp())) !== false && $b !== nil) ? $b : self.$args_sexp()['$nil?']())) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$s("array") } else if (self.$args_sexp().$type()['$==']("lasgn")) { return self.$s("array", self.$args_sexp()) } else { return self.$args_sexp()['$[]'](1) }; }; def.$body = function() { var $a, self = this; return self.$compiler().$returns(((($a = self.$body_sexp()) !== false && $a !== nil) ? $a : self.$s("nil"))); }; return (def.$args_to_params = function(sexp) { var $a, $b, TMP_5, self = this, result = nil; result = []; ($a = ($b = sexp).$each, $a.$$p = (TMP_5 = function(arg){var self = TMP_5.$$s || this, ref = nil; if (arg == null) arg = nil; if (arg['$[]'](0)['$==']("lasgn")) { ref = self.$variable(arg['$[]'](1)); self.$add_arg(ref); return result['$<<'](ref); } else if (arg['$[]'](0)['$==']("array")) { return result['$<<'](self.$scope().$next_temp()) } else { return self.$raise("Bad js_block_arg: " + (arg['$[]'](0))) }}, TMP_5.$$s = self, TMP_5), $a).call($b); return result; }, nil) && 'args_to_params'; })(self, $scope.get('ScopeNode')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/def"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_lt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs < rhs : lhs['$<'](rhs); } function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$select', '$==', '$first', '$[]', '$args', '$find', '$include?', '$length', '$block_arg', '$rest_arg', '$size', '$keyword_args', '$mid_to_jsid', '$to_s', '$mid', '$to_sym', '$variable', '$arity_check?', '$compiler', '$arity_check', '$opt_args', '$in_scope', '$mid=', '$scope', '$recvr', '$defs=', '$uses_block!', '$add_arg', '$block_name=', '$process', '$stmt', '$returns', '$stmts', '$add_temp', '$compile_rest_arg', '$compile_opt_args', '$compile_keyword_args', '$identity', '$compile_block_arg', '$unshift', '$current_indent', '$to_vars', '$line', '$uses_zuper', '$catch_return', '$push', '$recv', '$uses_defn?', '$wrap', '$class?', '$proto', '$sclass?', '$top?', '$expr?', '$uses_block?', '$block_name', '$argc', '$each', '$expr', '$empty?', '$helper', '$with_temp', '$last', '$===', '$add_local', '$map', '$inspect', '$join', '$raise', '$iter?', '$module?', '$name', '$!', '$-@', '$each_with_index', '$nil?']); self.$require("opal/nodes/scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $DefNode(){}; var self = $DefNode = $klass($base, $super, 'DefNode', $DefNode); var def = self.$$proto, $scope = self.$$scope; def.opt_args = def.rest_arg = def.keyword_args = def.block_arg = def.argc = nil; self.$handle("def"); self.$children("recvr", "mid", "args", "stmts"); def.$opt_args = function() { var $a, $b, $c, TMP_1, self = this; return ((($a = self.opt_args) !== false && $a !== nil) ? $a : self.opt_args = ($b = ($c = self.$args()['$[]']($range(1, -1, false))).$select, $b.$$p = (TMP_1 = function(arg){var self = TMP_1.$$s || this; if (arg == null) arg = nil; return arg.$first()['$==']("optarg")}, TMP_1.$$s = self, TMP_1), $b).call($c)); }; def.$rest_arg = function() { var $a, $b, $c, TMP_2, self = this; return ((($a = self.rest_arg) !== false && $a !== nil) ? $a : self.rest_arg = ($b = ($c = self.$args()['$[]']($range(1, -1, false))).$find, $b.$$p = (TMP_2 = function(arg){var self = TMP_2.$$s || this; if (arg == null) arg = nil; return arg.$first()['$==']("restarg")}, TMP_2.$$s = self, TMP_2), $b).call($c)); }; def.$keyword_args = function() { var $a, $b, $c, TMP_3, self = this; return ((($a = self.keyword_args) !== false && $a !== nil) ? $a : self.keyword_args = ($b = ($c = self.$args()['$[]']($range(1, -1, false))).$select, $b.$$p = (TMP_3 = function(arg){var self = TMP_3.$$s || this; if (arg == null) arg = nil; return ["kwarg", "kwoptarg", "kwrestarg"]['$include?'](arg.$first())}, TMP_3.$$s = self, TMP_3), $b).call($c)); }; def.$block_arg = function() { var $a, $b, $c, TMP_4, self = this; return ((($a = self.block_arg) !== false && $a !== nil) ? $a : self.block_arg = ($b = ($c = self.$args()['$[]']($range(1, -1, false))).$find, $b.$$p = (TMP_4 = function(arg){var self = TMP_4.$$s || this; if (arg == null) arg = nil; return arg.$first()['$==']("blockarg")}, TMP_4.$$s = self, TMP_4), $b).call($c)); }; def.$argc = function() { var $a, self = this; if ((($a = self.argc) !== nil && (!$a.$$is_boolean || $a == true))) { return self.argc}; self.argc = $rb_minus(self.$args().$length(), 1); if ((($a = self.$block_arg()) !== nil && (!$a.$$is_boolean || $a == true))) { self.argc = $rb_minus(self.argc, 1)}; if ((($a = self.$rest_arg()) !== nil && (!$a.$$is_boolean || $a == true))) { self.argc = $rb_minus(self.argc, 1)}; self.argc = $rb_minus(self.argc, self.$keyword_args().$size()); return self.argc; }; def.$compile = function() { var $a, $b, TMP_5, self = this, jsid = nil, params = nil, scope_name = nil, block_name = nil, arity_code = nil; jsid = self.$mid_to_jsid(self.$mid().$to_s()); params = nil; scope_name = nil; if ((($a = self.$block_arg()) !== nil && (!$a.$$is_boolean || $a == true))) { block_name = self.$variable(self.$block_arg()['$[]'](1)).$to_sym()}; if ((($a = self.$compiler()['$arity_check?']()) !== nil && (!$a.$$is_boolean || $a == true))) { arity_code = self.$arity_check(self.$args(), self.$opt_args(), self.$rest_arg(), self.$keyword_args(), block_name, self.$mid())}; ($a = ($b = self).$in_scope, $a.$$p = (TMP_5 = function(){var self = TMP_5.$$s || this, $a, $b, $c, stmt_code = nil; (($a = [self.$mid()]), $b = self.$scope(), $b['$mid='].apply($b, $a), $a[$a.length-1]); if ((($a = self.$recvr()) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [true]), $b = self.$scope(), $b['$defs='].apply($b, $a), $a[$a.length-1])}; if (block_name !== false && block_name !== nil) { self.$scope()['$uses_block!'](); self.$scope().$add_arg(block_name);}; (($a = [((($c = block_name) !== false && $c !== nil) ? $c : "$yield")]), $b = self.$scope(), $b['$block_name='].apply($b, $a), $a[$a.length-1]); params = self.$process(self.$args()); stmt_code = self.$stmt(self.$compiler().$returns(self.$stmts())); self.$add_temp("self = this"); self.$compile_rest_arg(); self.$compile_opt_args(); self.$compile_keyword_args(); scope_name = self.$scope().$identity(); self.$compile_block_arg(); self.$unshift("\n" + (self.$current_indent()), self.$scope().$to_vars()); self.$line(stmt_code); if (arity_code !== false && arity_code !== nil) { self.$unshift(arity_code)}; if ((($a = self.$scope().$uses_zuper()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("var $zuper = $slice.call(arguments, 0);")}; if ((($a = self.$scope().$catch_return()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("try {\n"); self.$line("} catch ($returner) { if ($returner === Opal.returner) { return $returner.$v }"); return self.$push(" throw $returner; }"); } else { return nil };}, TMP_5.$$s = self, TMP_5), $a).call($b); self.$unshift(") {"); self.$unshift(params); self.$unshift("function("); if (scope_name !== false && scope_name !== nil) { self.$unshift("" + (scope_name) + " = ")}; self.$line("}"); if ((($a = self.$recvr()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("Opal.defs(", self.$recv(self.$recvr()), ", '$" + (self.$mid()) + "', "); self.$push(")"); } else if ((($a = self['$uses_defn?'](self.$scope())) !== nil && (!$a.$$is_boolean || $a == true))) { self.$wrap("Opal.defn(self, '$" + (self.$mid()) + "', ", ")") } else if ((($a = self.$scope()['$class?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("" + (self.$scope().$proto()) + (jsid) + " = ") } else if ((($a = self.$scope()['$sclass?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("self.$$proto" + (jsid) + " = ") } else if ((($a = self.$scope()['$top?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$unshift("Opal.Object.$$proto" + (jsid) + " = ") } else { self.$unshift("def" + (jsid) + " = ") }; if ((($a = self['$expr?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(", ", nil) && '" + (self.$mid()) + "'") } else { return nil }; }; def.$compile_block_arg = function() { var $a, self = this, scope_name = nil, yielder = nil; if ((($a = self.$scope()['$uses_block?']()) !== nil && (!$a.$$is_boolean || $a == true))) { scope_name = self.$scope().$identity(); yielder = self.$scope().$block_name(); self.$add_temp("$iter = " + (scope_name) + ".$$p"); self.$add_temp("" + (yielder) + " = $iter || nil"); return self.$line("" + (scope_name) + ".$$p = null;"); } else { return nil }; }; def.$compile_rest_arg = function() { var $a, $b, self = this, splat = nil; if ((($a = ($b = self.$rest_arg(), $b !== false && $b !== nil ?self.$rest_arg()['$[]'](1) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { splat = self.$variable(self.$rest_arg()['$[]'](1).$to_sym()); return self.$line("" + (splat) + " = $slice.call(arguments, " + (self.$argc()) + ");"); } else { return nil }; }; def.$compile_opt_args = function() { var $a, $b, TMP_6, self = this; return ($a = ($b = self.$opt_args()).$each, $a.$$p = (TMP_6 = function(arg){var self = TMP_6.$$s || this; if (arg == null) arg = nil; if (arg['$[]'](2)['$[]'](2)['$==']("undefined")) { return nil;}; self.$line("if (" + (self.$variable(arg['$[]'](1))) + " == null) {"); self.$line(" " + (self.$variable(arg['$[]'](1))) + " = ", self.$expr(arg['$[]'](2))); return self.$line("}");}, TMP_6.$$s = self, TMP_6), $a).call($b); }; def.$compile_keyword_args = function() { var $a, $b, TMP_7, $c, TMP_8, self = this, last_opt_arg = nil, opt_arg_name = nil; if ((($a = self.$keyword_args()['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil}; self.$helper("hash2"); if ((($a = self.$rest_arg()) !== nil && (!$a.$$is_boolean || $a == true))) { ($a = ($b = self).$with_temp, $a.$$p = (TMP_7 = function(tmp){var self = TMP_7.$$s || this, rest_arg_name = nil; if (tmp == null) tmp = nil; rest_arg_name = self.$variable(self.$rest_arg()['$[]'](1).$to_sym()); self.$line("" + (tmp) + " = " + (rest_arg_name) + "[" + (rest_arg_name) + ".length - 1];"); self.$line("if (" + (tmp) + " == null || !" + (tmp) + ".$$is_hash) {"); self.$line(" $kwargs = $hash2([], {});"); self.$line("} else {"); self.$line(" $kwargs = " + (rest_arg_name) + ".pop();"); return self.$line("}");}, TMP_7.$$s = self, TMP_7), $a).call($b) } else if ((($a = last_opt_arg = self.$opt_args().$last()) !== nil && (!$a.$$is_boolean || $a == true))) { opt_arg_name = self.$variable(last_opt_arg['$[]'](1)); self.$line("if (" + (opt_arg_name) + " == null) {"); self.$line(" $kwargs = $hash2([], {});"); self.$line("}"); self.$line("else if (" + (opt_arg_name) + ".$$is_hash) {"); self.$line(" $kwargs = " + (opt_arg_name) + ";"); self.$line(" " + (opt_arg_name) + " = ", self.$expr(last_opt_arg['$[]'](2)), ";"); self.$line("}"); } else { self.$line("if ($kwargs == null) {"); self.$line(" $kwargs = $hash2([], {});"); self.$line("}"); }; self.$line("if (!$kwargs.$$is_hash) {"); self.$line(" throw Opal.ArgumentError.$new('expecting keyword args');"); self.$line("}"); return ($a = ($c = self.$keyword_args()).$each, $a.$$p = (TMP_8 = function(kwarg){var self = TMP_8.$$s || this, $a, $b, TMP_9, $c, $d, TMP_10, $case = nil, arg_name = nil, var_name = nil, kwarg_names = nil, used_args = nil; if (kwarg == null) kwarg = nil; return (function() {$case = kwarg.$first();if ("kwoptarg"['$===']($case)) {arg_name = kwarg['$[]'](1); var_name = self.$variable(arg_name.$to_s()); self.$add_local(var_name); self.$line("if ((" + (var_name) + " = $kwargs.smap['" + (arg_name) + "']) == null) {"); self.$line(" " + (var_name) + " = ", self.$expr(kwarg['$[]'](2))); return self.$line("}");}else if ("kwarg"['$===']($case)) {arg_name = kwarg['$[]'](1); var_name = self.$variable(arg_name.$to_s()); self.$add_local(var_name); self.$line("if ((" + (var_name) + " = $kwargs.smap['" + (arg_name) + "']) == null) {"); self.$line(" throw new Error('expecting keyword arg: " + (arg_name) + "')"); return self.$line("}");}else if ("kwrestarg"['$===']($case)) {arg_name = kwarg['$[]'](1); var_name = self.$variable(arg_name.$to_s()); self.$add_local(var_name); kwarg_names = ($a = ($b = ($c = ($d = self.$keyword_args()).$select, $c.$$p = (TMP_10 = function(kw){var self = TMP_10.$$s || this; if (kw == null) kw = nil; return ["kwoptarg", "kwarg"]['$include?'](kw.$first())}, TMP_10.$$s = self, TMP_10), $c).call($d)).$map, $a.$$p = (TMP_9 = function(kw){var self = TMP_9.$$s || this; if (kw == null) kw = nil; return "" + (kw['$[]'](1).$to_s().$inspect()) + ": true"}, TMP_9.$$s = self, TMP_9), $a).call($b); used_args = "{" + (kwarg_names.$join(",")) + "}"; return self.$line("" + (var_name) + " = Opal.kwrestargs($kwargs, " + (used_args) + ");");}else {return self.$raise("unknown kwarg type " + (kwarg.$first()))}})()}, TMP_8.$$s = self, TMP_8), $a).call($c); }; def['$uses_defn?'] = function(scope) { var $a, $b, self = this; if ((($a = ((($b = scope['$iter?']()) !== false && $b !== nil) ? $b : scope['$module?']())) !== nil && (!$a.$$is_boolean || $a == true))) { return true } else if ((($a = ($b = scope['$class?'](), $b !== false && $b !== nil ?["Object", "BasicObject"]['$include?'](scope.$name()) : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return true } else { return false }; }; return (def.$arity_check = function(args, opt, splat, kwargs, block_name, mid) { var $a, $b, $c, self = this, meth = nil, arity = nil, aritycode = nil; meth = mid.$to_s().$inspect(); arity = $rb_minus(args.$size(), 1); arity = $rb_minus(arity, (opt.$size())); if (splat !== false && splat !== nil) { arity = $rb_minus(arity, 1)}; arity = $rb_minus(arity, (kwargs.$size())); if (block_name !== false && block_name !== nil) { arity = $rb_minus(arity, 1)}; if ((($a = ((($b = ((($c = opt['$empty?']()['$!']()) !== false && $c !== nil) ? $c : kwargs['$empty?']()['$!']())) !== false && $b !== nil) ? $b : splat)) !== nil && (!$a.$$is_boolean || $a == true))) { arity = $rb_minus(arity['$-@'](), 1)}; aritycode = "var $arity = arguments.length;"; if ($rb_lt(arity, 0)) { return $rb_plus(aritycode, "if ($arity < " + (($rb_plus(arity, 1))['$-@']()) + ") { Opal.ac($arity, " + (arity) + ", this, " + (meth) + "); }") } else { return $rb_plus(aritycode, "if ($arity !== " + (arity) + ") { Opal.ac($arity, " + (arity) + ", this, " + (meth) + "); }") }; }, nil) && 'arity_check'; })(self, $scope.get('ScopeNode')); (function($base, $super) { function $ArgsNode(){}; var self = $ArgsNode = $klass($base, $super, 'ArgsNode', $ArgsNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("args"); return (def.$compile = function() { var $a, $b, TMP_11, self = this, done_kwargs = nil; done_kwargs = false; return ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_11 = function(child, idx){var self = TMP_11.$$s || this, $a, $b, $case = nil; if (child == null) child = nil;if (idx == null) idx = nil; if ("blockarg"['$=='](child.$first())) { return nil;}; if ((($a = (($b = "restarg"['$=='](child.$first())) ? child['$[]'](1)['$nil?']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return nil;}; return (function() {$case = child.$first();if ("kwarg"['$===']($case) || "kwoptarg"['$===']($case) || "kwrestarg"['$===']($case)) {if (done_kwargs !== false && done_kwargs !== nil) { return nil } else { done_kwargs = true; if (idx['$=='](0)) { } else { self.$push(", ") }; self.$scope().$add_arg("$kwargs"); return self.$push("$kwargs"); }}else {child = child['$[]'](1).$to_sym(); if (idx['$=='](0)) { } else { self.$push(", ") }; child = self.$variable(child); self.$scope().$add_arg(child.$to_sym()); return self.$push(child.$to_s());}})();}, TMP_11.$$s = self, TMP_11), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/if"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$truthy', '$falsy', '$skip_check_present?', '$skip_check_present_not?', '$push', '$js_truthy', '$test', '$indent', '$line', '$stmt', '$==', '$type', '$needs_wrapper?', '$wrap', '$returns', '$compiler', '$true_body', '$s', '$false_body', '$expr?', '$recv?']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $IfNode(){}; var self = $IfNode = $klass($base, $super, 'IfNode', $IfNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("if"); self.$children("test", "true_body", "false_body"); Opal.cdecl($scope, 'RUBY_ENGINE_CHECK', ["call", ["const", "RUBY_ENGINE"], "==", ["arglist", ["str", "opal"]]]); Opal.cdecl($scope, 'RUBY_PLATFORM_CHECK', ["call", ["const", "RUBY_PLATFORM"], "==", ["arglist", ["str", "opal"]]]); Opal.cdecl($scope, 'RUBY_ENGINE_CHECK_NOT', ["call", ["call", ["const", "RUBY_ENGINE"], "==", ["arglist", ["str", "opal"]]], "!", ["arglist"]]); Opal.cdecl($scope, 'RUBY_PLATFORM_CHECK_NOT', ["call", ["call", ["const", "RUBY_PLATFORM"], "==", ["arglist", ["str", "opal"]]], "!", ["arglist"]]); def.$compile = function() { var $a, $b, TMP_1, $c, TMP_2, self = this, truthy = nil, falsy = nil; $a = [self.$truthy(), self.$falsy()], truthy = $a[0], falsy = $a[1]; if ((($a = self['$skip_check_present?']()) !== nil && (!$a.$$is_boolean || $a == true))) { falsy = nil}; if ((($a = self['$skip_check_present_not?']()) !== nil && (!$a.$$is_boolean || $a == true))) { truthy = nil}; self.$push("if (", self.$js_truthy(self.$test()), ") {"); if (truthy !== false && truthy !== nil) { ($a = ($b = self).$indent, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this; return self.$line(self.$stmt(truthy))}, TMP_1.$$s = self, TMP_1), $a).call($b)}; if (falsy !== false && falsy !== nil) { if (falsy.$type()['$==']("if")) { self.$line("} else ", self.$stmt(falsy)) } else { ($a = ($c = self).$indent, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; self.$line("} else {"); return self.$line(self.$stmt(falsy));}, TMP_2.$$s = self, TMP_2), $a).call($c); self.$line("}"); } } else { self.$push("}") }; if ((($a = self['$needs_wrapper?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(function() {", "; return nil; })()") } else { return nil }; }; def['$skip_check_present?'] = function() { var $a, self = this; return ((($a = self.$test()['$==']($scope.get('RUBY_ENGINE_CHECK'))) !== false && $a !== nil) ? $a : self.$test()['$==']($scope.get('RUBY_PLATFORM_CHECK'))); }; def['$skip_check_present_not?'] = function() { var $a, self = this; return ((($a = self.$test()['$==']($scope.get('RUBY_ENGINE_CHECK_NOT'))) !== false && $a !== nil) ? $a : self.$test()['$==']($scope.get('RUBY_PLATFORM_CHECK_NOT'))); }; def.$truthy = function() { var $a, self = this; if ((($a = self['$needs_wrapper?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compiler().$returns(((($a = self.$true_body()) !== false && $a !== nil) ? $a : self.$s("nil"))) } else { return self.$true_body() }; }; def.$falsy = function() { var $a, self = this; if ((($a = self['$needs_wrapper?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compiler().$returns(((($a = self.$false_body()) !== false && $a !== nil) ? $a : self.$s("nil"))) } else { return self.$false_body() }; }; return (def['$needs_wrapper?'] = function() { var $a, self = this; return ((($a = self['$expr?']()) !== false && $a !== nil) ? $a : self['$recv?']()); }, nil) && 'needs_wrapper?'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/logic"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$in_while?', '$push', '$expr_or_nil', '$value', '$wrap', '$compile_while', '$iter?', '$scope', '$compile_iter', '$error', '$[]', '$while_loop', '$stmt?', '$[]=', '$identity', '$with_temp', '$expr', '$==', '$empty_splat?', '$type', '$recv', '$lhs', '$rhs', '$js_truthy_optimize', '$nil?', '$s', '$size', '$find_parent_def', '$expr?', '$def?', '$return_in_iter?', '$return_expr_in_def?', '$scope_to_catch_return', '$catch_return=', '$return_val', '$raise', '$to_s']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $NextNode(){}; var self = $NextNode = $klass($base, $super, 'NextNode', $NextNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("next"); self.$children("value"); return (def.$compile = function() { var $a, self = this; if ((($a = self['$in_while?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("continue;")}; self.$push(self.$expr_or_nil(self.$value())); return self.$wrap("return ", ";"); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $BreakNode(){}; var self = $BreakNode = $klass($base, $super, 'BreakNode', $BreakNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("break"); self.$children("value"); def.$compile = function() { var $a, self = this; if ((($a = self['$in_while?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_while() } else if ((($a = self.$scope()['$iter?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_iter() } else { return self.$error("void value expression: cannot use break outside of iter/while") }; }; def.$compile_while = function() { var $a, self = this; if ((($a = self.$while_loop()['$[]']("closure")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("return ", self.$expr_or_nil(self.$value())) } else { return self.$push("break;") }; }; return (def.$compile_iter = function() { var $a, self = this; if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$error("break must be used as a statement") }; self.$push(self.$expr_or_nil(self.$value())); return self.$wrap("return ($breaker.$v = ", ", $breaker)"); }, nil) && 'compile_iter'; })(self, $scope.get('Base')); (function($base, $super) { function $RedoNode(){}; var self = $RedoNode = $klass($base, $super, 'RedoNode', $RedoNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("redo"); def.$compile = function() { var $a, self = this; if ((($a = self['$in_while?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_while() } else if ((($a = self.$scope()['$iter?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_iter() } else { return self.$push("REDO()") }; }; def.$compile_while = function() { var self = this; self.$while_loop()['$[]=']("use_redo", true); return self.$push("" + (self.$while_loop()['$[]']("redo_var")) + " = true"); }; return (def.$compile_iter = function() { var self = this; return self.$push("return " + (self.$scope().$identity()) + ".apply(null, $slice.call(arguments))"); }, nil) && 'compile_iter'; })(self, $scope.get('Base')); (function($base, $super) { function $NotNode(){}; var self = $NotNode = $klass($base, $super, 'NotNode', $NotNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("not"); self.$children("value"); return (def.$compile = function() { var $a, $b, TMP_1, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_1 = function(tmp){var self = TMP_1.$$s || this; if (tmp == null) tmp = nil; self.$push(self.$expr(self.$value())); return self.$wrap("(" + (tmp) + " = ", ", (" + (tmp) + " === nil || " + (tmp) + " === false))");}, TMP_1.$$s = self, TMP_1), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $SplatNode(){}; var self = $SplatNode = $klass($base, $super, 'SplatNode', $SplatNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("splat"); self.$children("value"); def['$empty_splat?'] = function() { var $a, self = this; return ((($a = self.$value()['$=='](["nil"])) !== false && $a !== nil) ? $a : self.$value()['$=='](["paren", ["nil"]])); }; return (def.$compile = function() { var $a, self = this; if ((($a = self['$empty_splat?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("[]") } else if (self.$value().$type()['$==']("sym")) { return self.$push("[", self.$expr(self.$value()), "]") } else { return self.$push(self.$recv(self.$value())) }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $OrNode(){}; var self = $OrNode = $klass($base, $super, 'OrNode', $OrNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("or"); self.$children("lhs", "rhs"); return (def.$compile = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(tmp){var self = TMP_2.$$s || this; if (tmp == null) tmp = nil; self.$push("(((" + (tmp) + " = "); self.$push(self.$expr(self.$lhs())); self.$push(") !== false && " + (tmp) + " !== nil) ? " + (tmp) + " : "); self.$push(self.$expr(self.$rhs())); return self.$push(")");}, TMP_2.$$s = self, TMP_2), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $AndNode(){}; var self = $AndNode = $klass($base, $super, 'AndNode', $AndNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("and"); self.$children("lhs", "rhs"); return (def.$compile = function() { var $a, $b, TMP_3, self = this, truthy_opt = nil; truthy_opt = nil; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this, $a; if (tmp == null) tmp = nil; if ((($a = truthy_opt = self.$js_truthy_optimize(self.$lhs())) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("((" + (tmp) + " = ", truthy_opt); self.$push(") ? "); self.$push(self.$expr(self.$rhs())); return self.$push(" : " + (tmp) + ")"); } else { self.$push("(" + (tmp) + " = "); self.$push(self.$expr(self.$lhs())); self.$push(", " + (tmp) + " !== false && " + (tmp) + " !== nil ?"); self.$push(self.$expr(self.$rhs())); return self.$push(" : " + (tmp) + ")"); }}, TMP_3.$$s = self, TMP_3), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ReturnNode(){}; var self = $ReturnNode = $klass($base, $super, 'ReturnNode', $ReturnNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("return"); self.$children("value"); def.$return_val = function() { var $a, self = this; if ((($a = self.$value()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$expr(self.$s("nil")) } else if ($rb_gt(self.$children().$size(), 1)) { return self.$expr(($a = self).$s.apply($a, ["array"].concat(self.$children()))) } else { return self.$expr(self.$value()) }; }; def['$return_in_iter?'] = function() { var $a, $b, self = this, parent_def = nil; if ((($a = ($b = self.$scope()['$iter?'](), $b !== false && $b !== nil ?parent_def = self.$scope().$find_parent_def() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return parent_def } else { return nil }; }; def['$return_expr_in_def?'] = function() { var $a, $b, self = this; if ((($a = ($b = self['$expr?'](), $b !== false && $b !== nil ?self.$scope()['$def?']() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$scope() } else { return nil }; }; def.$scope_to_catch_return = function() { var $a, self = this; return ((($a = self['$return_in_iter?']()) !== false && $a !== nil) ? $a : self['$return_expr_in_def?']()); }; return (def.$compile = function() { var $a, $b, self = this, def_scope = nil; if ((($a = def_scope = self.$scope_to_catch_return()) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [true]), $b = def_scope, $b['$catch_return='].apply($b, $a), $a[$a.length-1]); return self.$push("Opal.ret(", self.$return_val(), ")"); } else if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("return ", self.$return_val()) } else { return self.$raise($scope.get('SyntaxError'), "void value expression: cannot return as an expression") }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $JSReturnNode(){}; var self = $JSReturnNode = $klass($base, $super, 'JSReturnNode', $JSReturnNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("js_return"); self.$children("value"); return (def.$compile = function() { var self = this; self.$push("return "); return self.$push(self.$expr(self.$value())); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $JSTempNode(){}; var self = $JSTempNode = $klass($base, $super, 'JSTempNode', $JSTempNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("js_tmp"); self.$children("value"); return (def.$compile = function() { var self = this; return self.$push(self.$value().$to_s()); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $BlockPassNode(){}; var self = $BlockPassNode = $klass($base, $super, 'BlockPassNode', $BlockPassNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("block_pass"); self.$children("value"); return (def.$compile = function() { var self = this; return self.$push(self.$expr(self.$s("call", self.$value(), "to_proc", self.$s("arglist")))); }, nil) && 'compile'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/definitions"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$push', '$process', '$value', '$proto', '$scope', '$mid_to_jsid', '$to_s', '$[]', '$mid', '$new_name', '$old_name', '$class?', '$module?', '$<<', '$methods', '$old_mid', '$new_mid', '$!', '$stmt?', '$==', '$type', '$body', '$stmt', '$returns', '$compiler', '$wrap', '$each_with_index', '$expr', '$empty?', '$stmt_join', '$find_inline_yield', '$child_is_expr?', '$class_scope?', '$current_indent', '$raw_expression?', '$include?', '$first', '$===', '$[]=', '$s', '$has_temp?', '$add_temp']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $SvalueNode(){}; var self = $SvalueNode = $klass($base, $super, 'SvalueNode', $SvalueNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("svalue"); self.$children("value"); return (def.$compile = function() { var self = this; return self.$push(self.$process(self.$value(), self.level)); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $UndefNode(){}; var self = $UndefNode = $klass($base, $super, 'UndefNode', $UndefNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("undef"); self.$children("mid"); return (def.$compile = function() { var self = this; return self.$push("delete " + (self.$scope().$proto()) + (self.$mid_to_jsid(self.$mid()['$[]'](1).$to_s()))); }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $AliasNode(){}; var self = $AliasNode = $klass($base, $super, 'AliasNode', $AliasNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("alias"); self.$children("new_name", "old_name"); def.$new_mid = function() { var self = this; return self.$mid_to_jsid(self.$new_name()['$[]'](1).$to_s()); }; def.$old_mid = function() { var self = this; return self.$mid_to_jsid(self.$old_name()['$[]'](1).$to_s()); }; return (def.$compile = function() { var $a, $b, self = this; if ((($a = ((($b = self.$scope()['$class?']()) !== false && $b !== nil) ? $b : self.$scope()['$module?']())) !== nil && (!$a.$$is_boolean || $a == true))) { self.$scope().$methods()['$<<']("$" + (self.$new_name()['$[]'](1))); return self.$push("Opal.defn(self, '$" + (self.$new_name()['$[]'](1)) + "', " + (self.$scope().$proto()) + (self.$old_mid()) + ")"); } else { return self.$push("self.$$proto" + (self.$new_mid()) + " = self.$$proto" + (self.$old_mid())) }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $BeginNode(){}; var self = $BeginNode = $klass($base, $super, 'BeginNode', $BeginNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("begin"); self.$children("body"); return (def.$compile = function() { var $a, $b, self = this; if ((($a = ($b = self['$stmt?']()['$!'](), $b !== false && $b !== nil ?self.$body().$type()['$==']("block") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push(self.$stmt(self.$compiler().$returns(self.$body()))); return self.$wrap("(function() {", "})()"); } else { return self.$push(self.$process(self.$body(), self.level)) }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $ParenNode(){}; var self = $ParenNode = $klass($base, $super, 'ParenNode', $ParenNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("paren"); self.$children("body"); return (def.$compile = function() { var $a, $b, TMP_1, self = this; if (self.$body().$type()['$==']("block")) { ($a = ($b = self.$body().$children()).$each_with_index, $a.$$p = (TMP_1 = function(child, idx){var self = TMP_1.$$s || this; if (child == null) child = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(", ") }; return self.$push(self.$expr(child));}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$wrap("(", ")"); } else { self.$push(self.$process(self.$body(), self.level)); if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$wrap("(", ")") }; }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $BlockNode(){}; var self = $BlockNode = $klass($base, $super, 'BlockNode', $BlockNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("block"); def.$compile = function() { var $a, $b, TMP_2, self = this; if ((($a = self.$children()['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("nil")}; return ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_2 = function(child, idx){var self = TMP_2.$$s || this, $a, yasgn = nil; if (self.level == null) self.level = nil; if (child == null) child = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(self.$stmt_join()) }; if ((($a = yasgn = self.$find_inline_yield(child)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push(self.$compiler().$process(yasgn, self.level)); self.$push(";");}; self.$push(self.$compiler().$process(child, self.level)); if ((($a = self['$child_is_expr?'](child)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push(";") } else { return nil };}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$stmt_join = function() { var $a, self = this; if ((($a = self.$scope()['$class_scope?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "\n\n" + (self.$current_indent()) } else { return "\n" + (self.$current_indent()) }; }; def['$child_is_expr?'] = function(child) { var $a, self = this; return ($a = self['$raw_expression?'](child), $a !== false && $a !== nil ?["stmt", "stmt_closure"]['$include?'](self.level) : $a); }; def['$raw_expression?'] = function(child) { var self = this; return ["xstr", "dxstr"]['$include?'](child.$type())['$!'](); }; return (def.$find_inline_yield = function(stmt) { var $a, $b, TMP_3, $c, TMP_4, self = this, found = nil, $case = nil, arglist = nil; found = nil; $case = stmt.$first();if ("js_return"['$===']($case)) {if ((($a = found = self.$find_inline_yield(stmt['$[]'](1))) !== nil && (!$a.$$is_boolean || $a == true))) { found = found['$[]'](2)}}else if ("array"['$===']($case)) {($a = ($b = stmt['$[]']($range(1, -1, false))).$each_with_index, $a.$$p = (TMP_3 = function(el, idx){var self = TMP_3.$$s || this; if (el == null) el = nil;if (idx == null) idx = nil; if (el.$first()['$==']("yield")) { found = el; return stmt['$[]=']($rb_plus(idx, 1), self.$s("js_tmp", "$yielded")); } else { return nil }}, TMP_3.$$s = self, TMP_3), $a).call($b)}else if ("call"['$===']($case)) {arglist = stmt['$[]'](3); ($a = ($c = arglist['$[]']($range(1, -1, false))).$each_with_index, $a.$$p = (TMP_4 = function(el, idx){var self = TMP_4.$$s || this; if (el == null) el = nil;if (idx == null) idx = nil; if (el.$first()['$==']("yield")) { found = el; return arglist['$[]=']($rb_plus(idx, 1), self.$s("js_tmp", "$yielded")); } else { return nil }}, TMP_4.$$s = self, TMP_4), $a).call($c);}; if (found !== false && found !== nil) { if ((($a = self.$scope()['$has_temp?']("$yielded")) !== nil && (!$a.$$is_boolean || $a == true))) { } else { self.$scope().$add_temp("$yielded") }; return self.$s("yasgn", "$yielded", found); } else { return nil }; }, nil) && 'find_inline_yield'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/yield"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$find_yielding_scope', '$uses_block!', '$block_name', '$yields_single_arg?', '$push', '$expr', '$first', '$wrap', '$s', '$uses_splat?', '$scope', '$def?', '$parent', '$!', '$==', '$size', '$any?', '$type', '$handle', '$compile_call', '$children', '$stmt?', '$with_temp', '$[]', '$yield_args', '$var_name']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $BaseYieldNode(){}; var self = $BaseYieldNode = $klass($base, $super, 'BaseYieldNode', $BaseYieldNode); var def = self.$$proto, $scope = self.$$scope; def.$compile_call = function(children, level) { var $a, $b, self = this, yielding_scope = nil, block_name = nil; yielding_scope = self.$find_yielding_scope(); yielding_scope['$uses_block!'](); block_name = ((($a = yielding_scope.$block_name()) !== false && $a !== nil) ? $a : "$yield"); if ((($a = self['$yields_single_arg?'](children)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push(self.$expr(children.$first())); return self.$wrap("Opal.yield1(" + (block_name) + ", ", ")"); } else { self.$push(self.$expr(($a = self).$s.apply($a, ["arglist"].concat(children)))); if ((($b = self['$uses_splat?'](children)) !== nil && (!$b.$$is_boolean || $b == true))) { return self.$wrap("Opal.yieldX(" + (block_name) + ", ", ")") } else { return self.$wrap("Opal.yieldX(" + (block_name) + ", [", "])") }; }; }; def.$find_yielding_scope = function() { var $a, $b, $c, self = this, working = nil; working = self.$scope(); while (working !== false && working !== nil) { if ((($b = ((($c = working.$block_name()) !== false && $c !== nil) ? $c : working['$def?']())) !== nil && (!$b.$$is_boolean || $b == true))) { break;}; working = working.$parent();}; return working; }; def['$yields_single_arg?'] = function(children) { var $a, self = this; return ($a = self['$uses_splat?'](children)['$!'](), $a !== false && $a !== nil ?children.$size()['$=='](1) : $a); }; return (def['$uses_splat?'] = function(children) { var $a, $b, TMP_1, self = this; return ($a = ($b = children)['$any?'], $a.$$p = (TMP_1 = function(child){var self = TMP_1.$$s || this; if (child == null) child = nil; return child.$type()['$==']("splat")}, TMP_1.$$s = self, TMP_1), $a).call($b); }, nil) && 'uses_splat?'; })(self, $scope.get('Base')); (function($base, $super) { function $YieldNode(){}; var self = $YieldNode = $klass($base, $super, 'YieldNode', $YieldNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("yield"); return (def.$compile = function() { var $a, $b, TMP_2, self = this; self.$compile_call(self.$children(), self.level); if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("if (", " === $breaker) return $breaker.$v") } else { return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(tmp){var self = TMP_2.$$s || this; if (tmp == null) tmp = nil; return self.$wrap("(((" + (tmp) + " = ", ") === $breaker) ? $breaker.$v : " + (tmp) + ")")}, TMP_2.$$s = self, TMP_2), $a).call($b) }; }, nil) && 'compile'; })(self, $scope.get('BaseYieldNode')); (function($base, $super) { function $YasgnNode(){}; var self = $YasgnNode = $klass($base, $super, 'YasgnNode', $YasgnNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("yasgn"); self.$children("var_name", "yield_args"); return (def.$compile = function() { var $a, self = this; self.$compile_call(($a = self).$s.apply($a, [].concat(self.$yield_args()['$[]']($range(1, -1, false)))), "stmt"); return self.$wrap("if ((" + (self.$var_name()) + " = ", ") === $breaker) return $breaker.$v"); }, nil) && 'compile'; })(self, $scope.get('BaseYieldNode')); (function($base, $super) { function $ReturnableYieldNode(){}; var self = $ReturnableYieldNode = $klass($base, $super, 'ReturnableYieldNode', $ReturnableYieldNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("returnable_yield"); return (def.$compile = function() { var $a, $b, TMP_3, self = this; self.$compile_call(self.$children(), self.level); return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this; if (tmp == null) tmp = nil; return self.$wrap("return " + (tmp) + " = ", ", " + (tmp) + " === $breaker ? " + (tmp) + " : " + (tmp))}, TMP_3.$$s = self, TMP_3), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('BaseYieldNode')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/rescue"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$stmt?', '$lhs', '$returns', '$compiler', '$rhs', '$push', '$expr', '$body', '$rescue_val', '$wrap', '$line', '$process', '$body_sexp', '$ensr_sexp', '$wrap_in_closure?', '$begn', '$ensr', '$s', '$recv?', '$expr?', '$indent', '$body_code', '$each_with_index', '$==', '$type', '$[]', '$!', '$empty?', '$rescue_exprs', '$rescue_variable', '$[]=', '$rescue_body', '$===', '$include?', '$rescue_variable?', '$last', '$args', '$dup', '$pop']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $RescueModNode(){}; var self = $RescueModNode = $klass($base, $super, 'RescueModNode', $RescueModNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("rescue_mod"); self.$children("lhs", "rhs"); def.$body = function() { var $a, self = this; if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$lhs() } else { return self.$compiler().$returns(self.$lhs()) }; }; def.$rescue_val = function() { var $a, self = this; if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$rhs() } else { return self.$compiler().$returns(self.$rhs()) }; }; return (def.$compile = function() { var $a, self = this; self.$push("try {", self.$expr(self.$body()), " } catch ($err) { ", self.$expr(self.$rescue_val()), " }"); if ((($a = self['$stmt?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$wrap("(function() {", "})()") }; }, nil) && 'compile'; })(self, $scope.get('Base')); (function($base, $super) { function $EnsureNode(){}; var self = $EnsureNode = $klass($base, $super, 'EnsureNode', $EnsureNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("ensure"); self.$children("begn", "ensr"); def.$compile = function() { var $a, self = this; self.$push("try {"); self.$line(self.$compiler().$process(self.$body_sexp(), self.level)); self.$line("} finally {"); self.$line(self.$compiler().$process(self.$ensr_sexp(), self.level)); self.$line("}"); if ((($a = self['$wrap_in_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(function() {", "; })()") } else { return nil }; }; def.$body_sexp = function() { var $a, self = this; if ((($a = self['$wrap_in_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compiler().$returns(self.$begn()) } else { return self.$begn() }; }; def.$ensr_sexp = function() { var $a, self = this; return ((($a = self.$ensr()) !== false && $a !== nil) ? $a : self.$s("nil")); }; return (def['$wrap_in_closure?'] = function() { var $a, self = this; return ((($a = self['$recv?']()) !== false && $a !== nil) ? $a : self['$expr?']()); }, nil) && 'wrap_in_closure?'; })(self, $scope.get('Base')); (function($base, $super) { function $RescueNode(){}; var self = $RescueNode = $klass($base, $super, 'RescueNode', $RescueNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("rescue"); self.$children("body"); def.$compile = function() { var $a, $b, TMP_1, $c, TMP_2, self = this, handled_else = nil; handled_else = false; self.$push("try {"); self.$line(($a = ($b = self).$indent, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this; if (self.level == null) self.level = nil; return self.$process(self.$body_code(), self.level)}, TMP_1.$$s = self, TMP_1), $a).call($b)); self.$line("} catch ($err) {"); ($a = ($c = self.$children()['$[]']($range(1, -1, false))).$each_with_index, $a.$$p = (TMP_2 = function(child, idx){var self = TMP_2.$$s || this, $a, $b, TMP_3; if (child == null) child = nil;if (idx == null) idx = nil; if (child.$type()['$==']("resbody")) { } else { handled_else = true }; if (idx['$=='](0)) { } else { self.$push("else ") }; return self.$push(($a = ($b = self).$indent, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; if (self.level == null) self.level = nil; return self.$process(child, self.level)}, TMP_3.$$s = self, TMP_3), $a).call($b));}, TMP_2.$$s = self, TMP_2), $a).call($c); if (handled_else !== false && handled_else !== nil) { } else { self.$push("else { throw $err; }") }; self.$line("}"); if ((($a = self['$expr?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(function() { ", "})()") } else { return nil }; }; return (def.$body_code = function() { var $a, self = this, body_code = nil; body_code = ((function() {if (self.$body().$type()['$==']("resbody")) { return self.$s("nil") } else { return self.$body() }; return nil; })()); if ((($a = self['$stmt?']()['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compiler().$returns(body_code) } else { return body_code }; }, nil) && 'body_code'; })(self, $scope.get('Base')); (function($base, $super) { function $ResBodyNode(){}; var self = $ResBodyNode = $klass($base, $super, 'ResBodyNode', $ResBodyNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("resbody"); self.$children("args", "body"); def.$compile = function() { var $a, $b, TMP_4, self = this, variable = nil; self.$push("if ("); if ((($a = self.$rescue_exprs()['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("true") } else { self.$push("Opal.rescue($err, ["); ($a = ($b = self.$rescue_exprs()).$each_with_index, $a.$$p = (TMP_4 = function(rexpr, idx){var self = TMP_4.$$s || this; if (rexpr == null) rexpr = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(", ") }; return self.$push(self.$expr(rexpr));}, TMP_4.$$s = self, TMP_4), $a).call($b); self.$push("])"); }; self.$push(") {"); if ((($a = variable = self.$rescue_variable()) !== nil && (!$a.$$is_boolean || $a == true))) { variable['$[]='](2, self.$s("js_tmp", "$err")); self.$push(self.$expr(variable), ";");}; self.$line(self.$process(self.$rescue_body(), self.level)); return self.$line("}"); }; def['$rescue_variable?'] = function(variable) { var $a, self = this; return ($a = $scope.get('Sexp')['$==='](variable), $a !== false && $a !== nil ?["lasgn", "iasgn"]['$include?'](variable.$type()) : $a); }; def.$rescue_variable = function() { var $a, self = this; if ((($a = self['$rescue_variable?'](self.$args().$last())) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$args().$last().$dup() } else { return nil }; }; def.$rescue_exprs = function() { var $a, self = this, exprs = nil; exprs = self.$args().$dup(); if ((($a = self['$rescue_variable?'](exprs.$last())) !== nil && (!$a.$$is_boolean || $a == true))) { exprs.$pop()}; return exprs.$children(); }; return (def.$rescue_body = function() { var $a, self = this, body_code = nil; body_code = (((($a = self.$body()) !== false && $a !== nil) ? $a : self.$s("nil"))); if ((($a = self['$stmt?']()['$!']()) !== nil && (!$a.$$is_boolean || $a == true))) { body_code = self.$compiler().$returns(body_code)}; return body_code; }, nil) && 'rescue_body'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/case"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$in_case', '$condition', '$[]=', '$case_stmt', '$add_local', '$push', '$expr', '$each_with_index', '$==', '$type', '$needs_closure?', '$returns', '$compiler', '$stmt', '$case_parts', '$!', '$wrap', '$stmt?', '$[]', '$s', '$js_truthy', '$when_checks', '$process', '$body_code', '$whens', '$body']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $CaseNode(){}; var self = $CaseNode = $klass($base, $super, 'CaseNode', $CaseNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("case"); self.$children("condition"); def.$compile = function() { var $a, $b, TMP_1, self = this, handled_else = nil; handled_else = false; return ($a = ($b = self.$compiler()).$in_case, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, $b, TMP_2, $c; if ((($a = self.$condition()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$case_stmt()['$[]=']("cond", true); self.$add_local("$case"); self.$push("$case = ", self.$expr(self.$condition()), ";");}; ($a = ($b = self.$case_parts()).$each_with_index, $a.$$p = (TMP_2 = function(wen, idx){var self = TMP_2.$$s || this, $a, $b; if (wen == null) wen = nil;if (idx == null) idx = nil; if ((($a = (($b = wen !== false && wen !== nil) ? wen.$type()['$==']("when") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = self['$needs_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$compiler().$returns(wen)}; if (idx['$=='](0)) { } else { self.$push("else ") }; return self.$push(self.$stmt(wen)); } else if (wen !== false && wen !== nil) { handled_else = true; if ((($a = self['$needs_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { wen = self.$compiler().$returns(wen)}; return self.$push("else {", self.$stmt(wen), "}"); } else { return nil }}, TMP_2.$$s = self, TMP_2), $a).call($b); if ((($a = ($c = self['$needs_closure?'](), $c !== false && $c !== nil ?handled_else['$!']() : $c)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("else { return nil }")}; if ((($a = self['$needs_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(function() {", "})()") } else { return nil };}, TMP_1.$$s = self, TMP_1), $a).call($b); }; def['$needs_closure?'] = function() { var self = this; return self['$stmt?']()['$!'](); }; def.$case_parts = function() { var self = this; return self.$children()['$[]']($range(1, -1, false)); }; return (def.$case_stmt = function() { var self = this; return self.$compiler().$case_stmt(); }, nil) && 'case_stmt'; })(self, $scope.get('Base')); (function($base, $super) { function $WhenNode(){}; var self = $WhenNode = $klass($base, $super, 'WhenNode', $WhenNode); var def = self.$$proto, $scope = self.$$scope; def.level = nil; self.$handle("when"); self.$children("whens", "body"); def.$compile = function() { var $a, $b, TMP_3, self = this; self.$push("if ("); ($a = ($b = self.$when_checks()).$each_with_index, $a.$$p = (TMP_3 = function(check, idx){var self = TMP_3.$$s || this, $a, call = nil; if (check == null) check = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(" || ") }; if (check.$type()['$==']("splat")) { self.$push("(function($splt) { for (var i = 0; i < $splt.length; i++) {"); self.$push("if ($splt[i]['$===']($case)) { return true; }"); return self.$push("} return false; })(", self.$expr(check['$[]'](1)), ")"); } else if ((($a = self.$case_stmt()['$[]']("cond")) !== nil && (!$a.$$is_boolean || $a == true))) { call = self.$s("call", check, "===", self.$s("arglist", self.$s("js_tmp", "$case"))); return self.$push(self.$expr(call)); } else { return self.$push(self.$js_truthy(check)) };}, TMP_3.$$s = self, TMP_3), $a).call($b); return self.$push(") {", self.$process(self.$body_code(), self.level), "}"); }; def.$when_checks = function() { var self = this; return self.$whens().$children(); }; def.$case_stmt = function() { var self = this; return self.$compiler().$case_stmt(); }; return (def.$body_code = function() { var $a, self = this; return ((($a = self.$body()) !== false && $a !== nil) ? $a : self.$s("nil")); }, nil) && 'body_code'; })(self, $scope.get('Base')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/super"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$children', '$arglist', '$iter', '$expr', '$iter_sexp', '$uses_block!', '$scope', '$def?', '$identify!', '$name', '$parent', '$defs', '$push', '$to_s', '$mid', '$iter?', '$get_super_chain', '$join', '$map', '$raise', '$s', '$handle', '$compile_dispatcher', '$wrap', '$has_splat?', '$args', '$fragment', '$uses_zuper=', '$any?', '$==', '$type']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $BaseSuperNode(){}; var self = $BaseSuperNode = $klass($base, $super, 'BaseSuperNode', $BaseSuperNode); var def = self.$$proto, $scope = self.$$scope; self.$children("arglist", "iter"); def.$compile_dispatcher = function() { var $a, $b, TMP_1, self = this, iter = nil, scope_name = nil, class_name = nil, chain = nil, cur_defn = nil, mid = nil, trys = nil; if ((($a = ((($b = self.$arglist()) !== false && $b !== nil) ? $b : self.$iter())) !== nil && (!$a.$$is_boolean || $a == true))) { iter = self.$expr(self.$iter_sexp()) } else { self.$scope()['$uses_block!'](); iter = "$iter"; }; if ((($a = self.$scope()['$def?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$scope()['$uses_block!'](); scope_name = self.$scope()['$identify!'](); class_name = (function() {if ((($a = self.$scope().$parent().$name()) !== nil && (!$a.$$is_boolean || $a == true))) { return "$" + (self.$scope().$parent().$name()) } else { return "self.$$class.$$proto" }; return nil; })(); if ((($a = self.$scope().$defs()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("Opal.find_super_dispatcher(self, '" + (self.$scope().$mid().$to_s()) + "', " + (scope_name) + ", "); self.$push(iter); return self.$push(", " + (class_name) + ")"); } else { self.$push("Opal.find_super_dispatcher(self, '" + (self.$scope().$mid().$to_s()) + "', " + (scope_name) + ", "); self.$push(iter); return self.$push(")"); }; } else if ((($a = self.$scope()['$iter?']()) !== nil && (!$a.$$is_boolean || $a == true))) { $a = Opal.to_ary(self.$scope().$get_super_chain()), chain = ($a[0] == null ? nil : $a[0]), cur_defn = ($a[1] == null ? nil : $a[1]), mid = ($a[2] == null ? nil : $a[2]); trys = ($a = ($b = chain).$map, $a.$$p = (TMP_1 = function(c){var self = TMP_1.$$s || this; if (c == null) c = nil; return "" + (c) + ".$$def"}, TMP_1.$$s = self, TMP_1), $a).call($b).$join(" || "); return self.$push("Opal.find_iter_super_dispatcher(self, " + (mid) + ", (" + (trys) + " || " + (cur_defn) + "), null)"); } else { return self.$raise("Cannot call super() from outside a method block") }; }; def.$args = function() { var $a, self = this; return ((($a = self.$arglist()) !== false && $a !== nil) ? $a : self.$s("arglist")); }; return (def.$iter_sexp = function() { var $a, self = this; return ((($a = self.$iter()) !== false && $a !== nil) ? $a : self.$s("js_tmp", "null")); }, nil) && 'iter_sexp'; })(self, $scope.get('Base')); (function($base, $super) { function $DefinedSuperNode(){}; var self = $DefinedSuperNode = $klass($base, $super, 'DefinedSuperNode', $DefinedSuperNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("defined_super"); return (def.$compile = function() { var self = this; self.$compile_dispatcher(); return self.$wrap("((", ") != null ? \"super\" : nil)"); }, nil) && 'compile'; })(self, $scope.get('BaseSuperNode')); (function($base, $super) { function $SuperNode(){}; var self = $SuperNode = $klass($base, $super, 'SuperNode', $SuperNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("super"); self.$children("arglist", "iter"); def.$compile = function() { var $a, $b, self = this, splat = nil, args = nil; if ((($a = ((($b = self.$arglist()) !== false && $b !== nil) ? $b : self.$iter())) !== nil && (!$a.$$is_boolean || $a == true))) { splat = self['$has_splat?'](); args = self.$expr(self.$args()); if (splat !== false && splat !== nil) { } else { args = [self.$fragment("["), args, self.$fragment("]")] }; } else if ((($a = self.$scope()['$def?']()) !== nil && (!$a.$$is_boolean || $a == true))) { (($a = [true]), $b = self.$scope(), $b['$uses_zuper='].apply($b, $a), $a[$a.length-1]); args = self.$fragment("$zuper"); } else { args = self.$fragment("$slice.call(arguments)") }; self.$compile_dispatcher(); self.$push(".apply(self, "); ($a = self).$push.apply($a, [].concat(args)); return self.$push(")"); }; return (def['$has_splat?'] = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self.$args().$children())['$any?'], $a.$$p = (TMP_2 = function(child){var self = TMP_2.$$s || this; if (child == null) child = nil; return child.$type()['$==']("splat")}, TMP_2.$$s = self, TMP_2), $a).call($b); }, nil) && 'has_splat?'; })(self, $scope.get('BaseSuperNode')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/version"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module; return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; Opal.cdecl($scope, 'VERSION', "0.8.1") })(self) }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/top"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$push', '$version_comment', '$opening', '$in_scope', '$line', '$inspect', '$to_s', '$dynamic_require_severity', '$compiler', '$stmt', '$stmts', '$is_a?', '$add_temp', '$add_used_helpers', '$add_used_operators', '$to_vars', '$scope', '$compile_method_stubs', '$compile_irb_vars', '$compile_end_construct', '$closing', '$requirable?', '$cleanpath', '$Pathname', '$file', '$returns', '$body', '$irb?', '$to_a', '$helpers', '$each', '$operator_helpers', '$[]', '$method_missing?', '$method_calls', '$join', '$map', '$empty?', '$eof_content']); self.$require("pathname"); self.$require("opal/version"); self.$require("opal/nodes/scope"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $TopNode(){}; var self = $TopNode = $klass($base, $super, 'TopNode', $TopNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("top"); self.$children("body"); def.$compile = function() { var $a, $b, TMP_1, self = this; self.$push(self.$version_comment()); self.$opening(); ($a = ($b = self).$in_scope, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, body_code = nil; self.$line("Opal.dynamic_require_severity = " + (self.$compiler().$dynamic_require_severity().$to_s().$inspect()) + ";"); body_code = self.$stmt(self.$stmts()); if ((($a = body_code['$is_a?']($scope.get('Array'))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { body_code = [body_code] }; self.$add_temp("self = Opal.top"); self.$add_temp("$scope = Opal"); self.$add_temp("nil = Opal.nil"); self.$add_used_helpers(); self.$add_used_operators(); self.$line(self.$scope().$to_vars()); self.$compile_method_stubs(); self.$compile_irb_vars(); self.$compile_end_construct(); return self.$line(body_code);}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$closing(); }; def.$opening = function() { var $a, self = this, path = nil; if ((($a = self.$compiler()['$requirable?']()) !== nil && (!$a.$$is_boolean || $a == true))) { path = self.$Pathname(self.$compiler().$file()).$cleanpath().$to_s(); return self.$line("Opal.modules[" + (path.$inspect()) + "] = function(Opal) {"); } else { return self.$line("(function(Opal) {") }; }; def.$closing = function() { var $a, self = this; if ((($a = self.$compiler()['$requirable?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$line("};\n") } else { return self.$line("})(Opal);\n") }; }; def.$stmts = function() { var self = this; return self.$compiler().$returns(self.$body()); }; def.$compile_irb_vars = function() { var $a, self = this; if ((($a = self.$compiler()['$irb?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$line("if (!Opal.irb_vars) { Opal.irb_vars = {}; }") } else { return nil }; }; def.$add_used_helpers = function() { var $a, $b, TMP_2, self = this, helpers = nil; helpers = self.$compiler().$helpers().$to_a(); return ($a = ($b = helpers.$to_a()).$each, $a.$$p = (TMP_2 = function(h){var self = TMP_2.$$s || this; if (h == null) h = nil; return self.$add_temp("$" + (h) + " = Opal." + (h))}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$add_used_operators = function() { var $a, $b, TMP_3, self = this, operators = nil; operators = self.$compiler().$operator_helpers().$to_a(); return ($a = ($b = operators).$each, $a.$$p = (TMP_3 = function(op){var self = TMP_3.$$s || this, name = nil; if (op == null) op = nil; name = (((($scope.get('Nodes')).$$scope.get('CallNode'))).$$scope.get('OPERATORS'))['$[]'](op); self.$line("function $rb_" + (name) + "(lhs, rhs) {"); self.$line(" return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs " + (op) + " rhs : lhs['$" + (op) + "'](rhs);"); return self.$line("}");}, TMP_3.$$s = self, TMP_3), $a).call($b); }; def.$compile_method_stubs = function() { var $a, $b, TMP_4, self = this, calls = nil, stubs = nil; if ((($a = self.$compiler()['$method_missing?']()) !== nil && (!$a.$$is_boolean || $a == true))) { calls = self.$compiler().$method_calls(); stubs = ($a = ($b = calls.$to_a()).$map, $a.$$p = (TMP_4 = function(k){var self = TMP_4.$$s || this; if (k == null) k = nil; return "'$" + (k) + "'"}, TMP_4.$$s = self, TMP_4), $a).call($b).$join(", "); if ((($a = stubs['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$line("Opal.add_stubs([" + (stubs) + "]);") }; } else { return nil }; }; def.$compile_end_construct = function() { var $a, self = this, content = nil; if ((($a = content = self.$compiler().$eof_content()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$line("var $__END__ = Opal.Object.$new();"); return self.$line("$__END__.$read = function() { return " + (content.$inspect()) + "; };"); } else { return nil }; }; return (def.$version_comment = function() { var self = this; return "/* Generated by Opal " + ((($scope.get('Opal')).$$scope.get('VERSION'))) + " */"; }, nil) && 'version_comment'; })(self, $scope.get('ScopeNode')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/while"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$with_temp', '$js_truthy', '$test', '$in_while', '$wrap_in_closure?', '$[]=', '$while_loop', '$stmt', '$body', '$uses_redo?', '$push', '$while_open', '$while_close', '$line', '$compiler', '$wrap', '$[]', '$expr?', '$recv?']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $WhileNode(){}; var self = $WhileNode = $klass($base, $super, 'WhileNode', $WhileNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("while"); self.$children("test", "body"); def.$compile = function() { var $a, $b, TMP_1, self = this; ($a = ($b = self).$with_temp, $a.$$p = (TMP_1 = function(redo_var){var self = TMP_1.$$s || this, $a, $b, TMP_2, test_code = nil; if (redo_var == null) redo_var = nil; test_code = self.$js_truthy(self.$test()); return ($a = ($b = self.$compiler()).$in_while, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this, $a, body_code = nil; if ((($a = self['$wrap_in_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$while_loop()['$[]=']("closure", true)}; self.$while_loop()['$[]=']("redo_var", redo_var); body_code = self.$stmt(self.$body()); if ((($a = self['$uses_redo?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("" + (redo_var) + " = false; " + (self.$while_open()) + (redo_var) + " || "); self.$push(test_code); self.$push(self.$while_close()); } else { self.$push(self.$while_open(), test_code, self.$while_close()) }; if ((($a = self['$uses_redo?']()) !== nil && (!$a.$$is_boolean || $a == true))) { self.$push("" + (redo_var) + " = false;")}; return self.$line(body_code, "}");}, TMP_2.$$s = self, TMP_2), $a).call($b);}, TMP_1.$$s = self, TMP_1), $a).call($b); if ((($a = self['$wrap_in_closure?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$wrap("(function() {", "; return nil; })()") } else { return nil }; }; def.$while_open = function() { var self = this; return "while ("; }; def.$while_close = function() { var self = this; return ") {"; }; def['$uses_redo?'] = function() { var self = this; return self.$while_loop()['$[]']("use_redo"); }; return (def['$wrap_in_closure?'] = function() { var $a, self = this; return ((($a = self['$expr?']()) !== false && $a !== nil) ? $a : self['$recv?']()); }, nil) && 'wrap_in_closure?'; })(self, $scope.get('Base')); (function($base, $super) { function $UntilNode(){}; var self = $UntilNode = $klass($base, $super, 'UntilNode', $UntilNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("until"); def.$while_open = function() { var self = this; return "while (!("; }; return (def.$while_close = function() { var self = this; return ")) {"; }, nil) && 'while_close'; })(self, $scope.get('WhileNode')); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/for"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$with_temp', '$==', '$type', '$args_sexp', '$s', '$<<', '$body_sexp', '$first', '$insert', '$value', '$push', '$expr']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ForNode(){}; var self = $ForNode = $klass($base, $super, 'ForNode', $ForNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("for"); self.$children("value", "args_sexp", "body_sexp"); return (def.$compile = function() { var $a, $b, TMP_1, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_1 = function(loop_var){var self = TMP_1.$$s || this, $a, assign = nil, iter = nil, sexp = nil; if (loop_var == null) loop_var = nil; if (self.$args_sexp().$type()['$==']("array")) { assign = self.$s("masgn", self.$args_sexp()); assign['$<<'](self.$s("to_ary", self.$s("js_tmp", loop_var))); } else { assign = self.$args_sexp()['$<<'](self.$s("js_tmp", loop_var)) }; if ((($a = self.$body_sexp()) !== nil && (!$a.$$is_boolean || $a == true))) { if (self.$body_sexp().$first()['$==']("block")) { self.$body_sexp().$insert(1, assign); assign = self.$body_sexp(); } else { assign = self.$s("block", assign, self.$body_sexp()) }}; iter = self.$s("iter", self.$s("lasgn", loop_var), assign); sexp = self.$s("call", self.$value(), "each", self.$s("arglist"), iter); return self.$push(self.$expr(sexp));}, TMP_1.$$s = self, TMP_1), $a).call($b); }, nil) && 'compile'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/hash"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$handle', '$each_with_index', '$even?', '$<<', '$children', '$all?', '$include?', '$type', '$keys_and_values', '$simple_keys?', '$compile_hash2', '$compile_hash', '$helper', '$==', '$push', '$expr', '$wrap', '$times', '$inspect', '$to_s', '$[]', '$[]=', '$size', '$join']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $HashNode(){}; var self = $HashNode = $klass($base, $super, 'HashNode', $HashNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("hash"); def.$keys_and_values = function() { var $a, $b, TMP_1, self = this, keys = nil, values = nil; $a = [[], []], keys = $a[0], values = $a[1]; ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_1 = function(obj, idx){var self = TMP_1.$$s || this, $a; if (obj == null) obj = nil;if (idx == null) idx = nil; if ((($a = idx['$even?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return keys['$<<'](obj) } else { return values['$<<'](obj) }}, TMP_1.$$s = self, TMP_1), $a).call($b); return [keys, values]; }; def['$simple_keys?'] = function(keys) { var $a, $b, TMP_2, self = this; return ($a = ($b = keys)['$all?'], $a.$$p = (TMP_2 = function(key){var self = TMP_2.$$s || this; if (key == null) key = nil; return ["sym", "str"]['$include?'](key.$type())}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$compile = function() { var $a, self = this, keys = nil, values = nil; $a = Opal.to_ary(self.$keys_and_values()), keys = ($a[0] == null ? nil : $a[0]), values = ($a[1] == null ? nil : $a[1]); if ((($a = self['$simple_keys?'](keys)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$compile_hash2(keys, values) } else { return self.$compile_hash() }; }; def.$compile_hash = function() { var $a, $b, TMP_3, self = this; self.$helper("hash"); ($a = ($b = self.$children()).$each_with_index, $a.$$p = (TMP_3 = function(child, idx){var self = TMP_3.$$s || this; if (child == null) child = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(", ") }; return self.$push(self.$expr(child));}, TMP_3.$$s = self, TMP_3), $a).call($b); return self.$wrap("$hash(", ")"); }; return (def.$compile_hash2 = function(keys, values) { var $a, $b, TMP_4, $c, TMP_5, self = this, hash_obj = nil, hash_keys = nil; $a = [$hash2([], {}), []], hash_obj = $a[0], hash_keys = $a[1]; self.$helper("hash2"); ($a = ($b = keys.$size()).$times, $a.$$p = (TMP_4 = function(idx){var self = TMP_4.$$s || this, $a, key = nil; if (idx == null) idx = nil; key = keys['$[]'](idx)['$[]'](1).$to_s().$inspect(); if ((($a = hash_obj['$include?'](key)) !== nil && (!$a.$$is_boolean || $a == true))) { } else { hash_keys['$<<'](key) }; return hash_obj['$[]='](key, self.$expr(values['$[]'](idx)));}, TMP_4.$$s = self, TMP_4), $a).call($b); ($a = ($c = hash_keys).$each_with_index, $a.$$p = (TMP_5 = function(key, idx){var self = TMP_5.$$s || this; if (key == null) key = nil;if (idx == null) idx = nil; if (idx['$=='](0)) { } else { self.$push(", ") }; self.$push("" + (key) + ": "); return self.$push(hash_obj['$[]'](key));}, TMP_5.$$s = self, TMP_5), $a).call($c); return self.$wrap("$hash2([" + (hash_keys.$join(", ")) + "], {", "})"); }, nil) && 'compile_hash2'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/array"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$empty?', '$children', '$push', '$each', '$==', '$type', '$expr', '$<<', '$fragment']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ArrayNode(){}; var self = $ArrayNode = $klass($base, $super, 'ArrayNode', $ArrayNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("array"); return (def.$compile = function() { var $a, $b, TMP_1, self = this, code = nil, work = nil, join = nil; if ((($a = self.$children()['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("[]")}; $a = [[], []], code = $a[0], work = $a[1]; ($a = ($b = self.$children()).$each, $a.$$p = (TMP_1 = function(child){var self = TMP_1.$$s || this, $a, splat = nil, part = nil; if (child == null) child = nil; splat = child.$type()['$==']("splat"); part = self.$expr(child); if (splat !== false && splat !== nil) { if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code['$<<'](self.$fragment("[].concat("))['$<<'](part)['$<<'](self.$fragment(")")) } else { code['$<<'](self.$fragment(".concat("))['$<<'](part)['$<<'](self.$fragment(")")) } } else { if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code['$<<'](self.$fragment("["))['$<<'](work)['$<<'](self.$fragment("]")) } else { code['$<<'](self.$fragment(".concat(["))['$<<'](work)['$<<'](self.$fragment("])")) }; code['$<<'](self.$fragment(".concat("))['$<<'](part)['$<<'](self.$fragment(")")); }; return work = []; } else { if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { work['$<<'](self.$fragment(", ")) }; return work['$<<'](part); };}, TMP_1.$$s = self, TMP_1), $a).call($b); if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { join = [self.$fragment("["), work, self.$fragment("]")]; if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code = join } else { code.$push([self.$fragment(".concat("), join, self.$fragment(")")]) }; }; return self.$push(code); }, nil) && 'compile'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/defined"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $range = Opal.range; Opal.add_stubs(['$require', '$handle', '$children', '$type', '$value', '$===', '$push', '$inspect', '$to_s', '$expr', '$s', '$[]', '$respond_to?', '$__send__', '$mid_to_jsid', '$with_temp', '$handle_block_given_call', '$compiler', '$wrap', '$include?']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $DefinedNode(){}; var self = $DefinedNode = $klass($base, $super, 'DefinedNode', $DefinedNode); var def = self.$$proto, $scope = self.$$scope; def.sexp = nil; self.$handle("defined"); self.$children("value"); def.$compile = function() { var $a, self = this, type = nil, $case = nil; type = self.$value().$type(); return (function() {$case = type;if ("self"['$===']($case) || "nil"['$===']($case) || "false"['$===']($case) || "true"['$===']($case)) {return self.$push(type.$to_s().$inspect())}else if ("lasgn"['$===']($case) || "iasgn"['$===']($case) || "gasgn"['$===']($case) || "cvdecl"['$===']($case) || "masgn"['$===']($case) || "op_asgn_or"['$===']($case) || "op_asgn_and"['$===']($case)) {return self.$push("'assignment'")}else if ("paren"['$===']($case) || "not"['$===']($case)) {return self.$push(self.$expr(self.$s("defined", self.$value()['$[]'](1))))}else if ("lvar"['$===']($case)) {return self.$push("'local-variable'")}else {if ((($a = self['$respond_to?']("compile_" + (type))) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$__send__("compile_" + (type)) } else { return self.$push("'expression'") }}})(); }; def.$compile_call = function() { var $a, $b, TMP_1, self = this, mid = nil, recv = nil; mid = self.$mid_to_jsid(self.$value()['$[]'](2).$to_s()); recv = (function() {if ((($a = self.$value()['$[]'](1)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$expr(self.$value()['$[]'](1)) } else { return "self" }; return nil; })(); return ($a = ($b = self).$with_temp, $a.$$p = (TMP_1 = function(tmp){var self = TMP_1.$$s || this; if (tmp == null) tmp = nil; self.$push("(((" + (tmp) + " = ", recv, "" + (mid) + ") && !" + (tmp) + ".$$stub) || ", recv); return self.$push("['$respond_to_missing?']('" + (self.$value()['$[]'](2).$to_s()) + "') ? 'method' : nil)");}, TMP_1.$$s = self, TMP_1), $a).call($b); }; def.$compile_ivar = function() { var $a, $b, TMP_2, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_2 = function(tmp){var self = TMP_2.$$s || this, name = nil; if (tmp == null) tmp = nil; name = self.$value()['$[]'](1).$to_s()['$[]']($range(1, -1, false)); self.$push("((" + (tmp) + " = self['" + (name) + "'], " + (tmp) + " != null && " + (tmp) + " !== nil) ? "); return self.$push("'instance-variable' : nil)");}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$compile_super = function() { var self = this; return self.$push(self.$expr(self.$s("defined_super", self.$value()))); }; def.$compile_yield = function() { var self = this; self.$push(self.$compiler().$handle_block_given_call(self.sexp)); return self.$wrap("((", ") != null ? \"yield\" : nil)"); }; def.$compile_xstr = function() { var self = this; self.$push(self.$expr(self.$value())); return self.$wrap("(typeof(", ") !== \"undefined\")"); }; Opal.defn(self, '$compile_dxstr', def.$compile_xstr); def.$compile_const = function() { var self = this; return self.$push("($scope." + (self.$value()['$[]'](1)) + " != null)"); }; def.$compile_colon2 = function() { var self = this; self.$push("(function(){ try { return (("); self.$push(self.$expr(self.$value())); self.$push(") != null ? 'constant' : nil); } catch (err) { if (err.$$class"); return self.$push(" === Opal.NameError) { return nil; } else { throw(err); }}; })()"); }; def.$compile_colon3 = function() { var self = this; return self.$push("(Opal.Object.$$scope." + (self.$value()['$[]'](1)) + " == null ? nil : 'constant')"); }; def.$compile_cvar = function() { var self = this; return self.$push("(Opal.cvars['" + (self.$value()['$[]'](1)) + "'] != null ? 'class variable' : nil)"); }; def.$compile_gvar = function() { var $a, $b, TMP_3, self = this, name = nil; name = self.$value()['$[]'](1).$to_s()['$[]']($range(1, -1, false)); if ((($a = ["~", "!"]['$include?'](name)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$push("'global-variable'") } else if ((($a = ["`", "'", "+", "&"]['$include?'](name)) !== nil && (!$a.$$is_boolean || $a == true))) { return ($a = ($b = self).$with_temp, $a.$$p = (TMP_3 = function(tmp){var self = TMP_3.$$s || this; if (tmp == null) tmp = nil; self.$push("((" + (tmp) + " = $gvars['~'], " + (tmp) + " != null && " + (tmp) + " !== nil) ? "); return self.$push("'global-variable' : nil)");}, TMP_3.$$s = self, TMP_3), $a).call($b) } else { return self.$push("($gvars[" + (name.$inspect()) + "] != null ? 'global-variable' : nil)") }; }; return (def.$compile_nth_ref = function() { var $a, $b, TMP_4, self = this; return ($a = ($b = self).$with_temp, $a.$$p = (TMP_4 = function(tmp){var self = TMP_4.$$s || this; if (tmp == null) tmp = nil; self.$push("((" + (tmp) + " = $gvars['~'], " + (tmp) + " != null && " + (tmp) + " != nil) ? "); return self.$push("'global-variable' : nil)");}, TMP_4.$$s = self, TMP_4), $a).call($b); }, nil) && 'compile_nth_ref'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/masgn"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } function $rb_ge(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs >= rhs : lhs['$>='](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$children', '$new_temp', '$scope', '$==', '$type', '$rhs', '$size', '$push', '$expr', '$[]', '$raise', '$each_with_index', '$dup', '$<<', '$s', '$[]=', '$to_sym', '$last', '$lhs', '$queue_temp']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $MassAssignNode(){}; var self = $MassAssignNode = $klass($base, $super, 'MassAssignNode', $MassAssignNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("masgn"); self.$children("lhs", "rhs"); return (def.$compile = function() { var $a, $b, TMP_1, self = this, tmp = nil, len = nil; tmp = self.$scope().$new_temp(); len = 0; if (self.$rhs().$type()['$==']("array")) { len = $rb_minus(self.$rhs().$size(), 1); self.$push("" + (tmp) + " = ", self.$expr(self.$rhs())); } else if (self.$rhs().$type()['$==']("to_ary")) { self.$push("" + (tmp) + " = Opal.to_ary(", self.$expr(self.$rhs()['$[]'](1)), ")") } else if (self.$rhs().$type()['$==']("splat")) { self.$push("(" + (tmp) + " = ", self.$expr(self.$rhs()['$[]'](1)), ")['$to_a'] && !" + (tmp) + "['$to_a'].$$stub ? (" + (tmp) + " = " + (tmp) + "['$to_a']())"); self.$push(" : (" + (tmp) + ").$$is_array ? " + (tmp) + " : (" + (tmp) + " = [" + (tmp) + "])"); } else { self.$raise("unsupported mlhs type") }; ($a = ($b = self.$lhs().$children()).$each_with_index, $a.$$p = (TMP_1 = function(child, idx){var self = TMP_1.$$s || this, $a, $b, $c, $d, part = nil, assign = nil; if (child == null) child = nil;if (idx == null) idx = nil; self.$push(", "); if (child.$type()['$==']("splat")) { if ((($a = part = child['$[]'](1)) !== nil && (!$a.$$is_boolean || $a == true))) { part = part.$dup(); part['$<<'](self.$s("js_tmp", "$slice.call(" + (tmp) + ", " + (idx) + ")")); return self.$push(self.$expr(part)); } else { return nil } } else { if ($rb_ge(idx, len)) { assign = self.$s("js_tmp", "(" + (tmp) + "[" + (idx) + "] == null ? nil : " + (tmp) + "[" + (idx) + "])") } else { assign = self.$s("js_tmp", "" + (tmp) + "[" + (idx) + "]") }; part = child.$dup(); if ((($a = ((($b = ((($c = ((($d = child.$type()['$==']("lasgn")) !== false && $d !== nil) ? $d : child.$type()['$==']("iasgn"))) !== false && $c !== nil) ? $c : child.$type()['$==']("lvar"))) !== false && $b !== nil) ? $b : child.$type()['$==']("gasgn"))) !== nil && (!$a.$$is_boolean || $a == true))) { part['$<<'](assign) } else if (child.$type()['$==']("call")) { part['$[]='](2, ((("") + (part['$[]'](2))) + "=").$to_sym()); part.$last()['$<<'](assign); } else if (child.$type()['$==']("attrasgn")) { part.$last()['$<<'](assign) } else { self.$raise("Bad lhs for masgn") }; return self.$push(self.$expr(part)); };}, TMP_1.$$s = self, TMP_1), $a).call($b); return self.$scope().$queue_temp(tmp); }, nil) && 'compile'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes/arglist"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass; Opal.add_stubs(['$require', '$handle', '$each', '$==', '$first', '$expr', '$empty?', '$<<', '$fragment', '$children', '$push']); self.$require("opal/nodes/base"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'Nodes'); var def = self.$$proto, $scope = self.$$scope; (function($base, $super) { function $ArglistNode(){}; var self = $ArglistNode = $klass($base, $super, 'ArglistNode', $ArglistNode); var def = self.$$proto, $scope = self.$$scope; self.$handle("arglist"); return (def.$compile = function() { var $a, $b, TMP_1, self = this, code = nil, work = nil, join = nil; $a = [[], []], code = $a[0], work = $a[1]; ($a = ($b = self.$children()).$each, $a.$$p = (TMP_1 = function(current){var self = TMP_1.$$s || this, $a, splat = nil, arg = nil; if (current == null) current = nil; splat = current.$first()['$==']("splat"); arg = self.$expr(current); if (splat !== false && splat !== nil) { if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code['$<<'](self.$fragment("[].concat(")); code['$<<'](arg); code['$<<'](self.$fragment(")")); } else { code = $rb_plus(code, ".concat(" + (arg) + ")") } } else { if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code['$<<']([self.$fragment("["), work, self.$fragment("]")]) } else { code['$<<']([self.$fragment(".concat(["), work, self.$fragment("])")]) }; code['$<<']([self.$fragment(".concat("), arg, self.$fragment(")")]); }; return work = []; } else { if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { work['$<<'](self.$fragment(", ")) }; return work['$<<'](arg); };}, TMP_1.$$s = self, TMP_1), $a).call($b); if ((($a = work['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { } else { join = work; if ((($a = code['$empty?']()) !== nil && (!$a.$$is_boolean || $a == true))) { code = join } else { code['$<<'](self.$fragment(".concat("))['$<<'](join)['$<<'](self.$fragment(")")) }; }; return ($a = self).$push.apply($a, [].concat(code)); }, nil) && 'compile'; })(self, $scope.get('Base')) })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/nodes"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require']); self.$require("opal/nodes/base"); self.$require("opal/nodes/literal"); self.$require("opal/nodes/variables"); self.$require("opal/nodes/constants"); self.$require("opal/nodes/call"); self.$require("opal/nodes/call_special"); self.$require("opal/nodes/module"); self.$require("opal/nodes/class"); self.$require("opal/nodes/singleton_class"); self.$require("opal/nodes/iter"); self.$require("opal/nodes/def"); self.$require("opal/nodes/if"); self.$require("opal/nodes/logic"); self.$require("opal/nodes/definitions"); self.$require("opal/nodes/yield"); self.$require("opal/nodes/rescue"); self.$require("opal/nodes/case"); self.$require("opal/nodes/super"); self.$require("opal/nodes/top"); self.$require("opal/nodes/while"); self.$require("opal/nodes/for"); self.$require("opal/nodes/hash"); self.$require("opal/nodes/array"); self.$require("opal/nodes/defined"); self.$require("opal/nodes/masgn"); return self.$require("opal/nodes/arglist"); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/compiler"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_gt(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs > rhs : lhs['$>'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2, $klass = Opal.klass; Opal.add_stubs(['$require', '$compile', '$new', '$[]', '$define_method', '$fetch', '$!', '$include?', '$raise', '$inspect', '$compiler_option', '$attr_reader', '$attr_accessor', '$s', '$parse', '$file', '$eof_content', '$lexer', '$flatten', '$process', '$join', '$map', '$to_proc', '$message', '$class', '$backtrace', '$warn', '$<<', '$helpers', '$new_temp', '$queue_temp', '$push_while', '$pop_while', '$in_while?', '$==', '$fragment', '$handlers', '$type', '$compile_to_fragments', '$returns', '$===', '$[]=', '$length', '$=~', '$tap', '$source=', '$source', '$uses_block!', '$block_name', '$find_parent_def']); self.$require("set"); self.$require("opal/parser"); self.$require("opal/fragment"); self.$require("opal/nodes"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$compile', function(source, options) { var self = this; if (options == null) { options = $hash2([], {}) } return $scope.get('Compiler').$new(source, options).$compile(); }); (function($base, $super) { function $Compiler(){}; var self = $Compiler = $klass($base, $super, 'Compiler', $Compiler); var def = self.$$proto, $scope = self.$$scope, TMP_3, TMP_4, TMP_5, TMP_6; def.parser = def.source = def.sexp = def.fragments = def.helpers = def.operator_helpers = def.method_calls = def.indent = def.unique = def.scope = def.case_stmt = def.handlers = def.requires = def.required_trees = nil; Opal.cdecl($scope, 'INDENT', " "); Opal.cdecl($scope, 'COMPARE', ["<", ">", "<=", ">="]); Opal.defs(self, '$compiler_option', function(name, default_value, options) { var $a, $b, TMP_1, $c, self = this, mid = nil, valid_values = nil; if (options == null) { options = $hash2([], {}) } mid = options['$[]']("as"); valid_values = options['$[]']("valid_values"); return ($a = ($b = self).$define_method, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, $b, TMP_2, $c, value = nil; if (self.options == null) self.options = nil; value = ($a = ($b = self.options).$fetch, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; return default_value}, TMP_2.$$s = self, TMP_2), $a).call($b, name); if ((($a = (($c = valid_values !== false && valid_values !== nil) ? (valid_values['$include?'](value))['$!']() : $c)) !== nil && (!$a.$$is_boolean || $a == true))) { self.$raise($scope.get('ArgumentError'), $rb_plus("invalid value " + (value.$inspect()) + " for option " + (name.$inspect()) + " ", "(valid values: " + (valid_values.$inspect()) + ")"))}; return value;}, TMP_1.$$s = self, TMP_1), $a).call($b, ((($c = mid) !== false && $c !== nil) ? $c : name)); }); self.$compiler_option("file", "(file)"); self.$compiler_option("method_missing", true, $hash2(["as"], {"as": "method_missing?"})); self.$compiler_option("arity_check", false, $hash2(["as"], {"as": "arity_check?"})); self.$compiler_option("irb", false, $hash2(["as"], {"as": "irb?"})); self.$compiler_option("dynamic_require_severity", "error", $hash2(["valid_values"], {"valid_values": ["error", "warning", "ignore"]})); self.$compiler_option("requirable", false, $hash2(["as"], {"as": "requirable?"})); self.$compiler_option("inline_operators", true, $hash2(["as"], {"as": "inline_operators?"})); self.$attr_reader("result"); self.$attr_reader("fragments"); self.$attr_accessor("scope"); self.$attr_reader("case_stmt"); self.$attr_reader("eof_content"); def.$initialize = function(source, options) { var self = this; if (options == null) { options = $hash2([], {}) } self.source = source; self.indent = ""; self.unique = 0; return self.options = options; }; def.$compile = function() { var $a, $b, self = this, error = nil, message = nil; try { self.parser = $scope.get('Parser').$new(); self.sexp = self.$s("top", ((($a = self.parser.$parse(self.source, self.$file())) !== false && $a !== nil) ? $a : self.$s("nil"))); self.eof_content = self.parser.$lexer().$eof_content(); self.fragments = self.$process(self.sexp).$flatten(); return self.result = ($a = ($b = self.fragments).$map, $a.$$p = "code".$to_proc(), $a).call($b).$join(""); } catch ($err) {if (true) {error = $err; message = "An error occurred while compiling: " + (self.$file()) + "\n" + (error.$message()); return self.$raise(error.$class(), message, error.$backtrace()); }else { throw $err; } }; }; def.$source_map = function(source_file) { var $a, self = this; if (source_file == null) { source_file = nil } return (($scope.get('Opal')).$$scope.get('SourceMap')).$new(self.fragments, ((($a = source_file) !== false && $a !== nil) ? $a : self.$file())); }; def.$helpers = function() { var $a, self = this; return ((($a = self.helpers) !== false && $a !== nil) ? $a : self.helpers = $scope.get('Set').$new(["breaker", "slice"])); }; def.$operator_helpers = function() { var $a, self = this; return ((($a = self.operator_helpers) !== false && $a !== nil) ? $a : self.operator_helpers = $scope.get('Set').$new()); }; def.$method_calls = function() { var $a, self = this; return ((($a = self.method_calls) !== false && $a !== nil) ? $a : self.method_calls = $scope.get('Set').$new()); }; def.$error = function(msg, line) { var self = this; if (line == null) { line = nil } return self.$raise($scope.get('SyntaxError'), "" + (msg) + " :" + (self.$file()) + ":" + (line)); }; def.$warning = function(msg, line) { var self = this; if (line == null) { line = nil } return self.$warn("WARNING: " + (msg) + " -- " + (self.$file()) + ":" + (line)); }; def.$parser_indent = function() { var self = this; return self.indent; }; def.$s = function(parts) { var self = this; parts = $slice.call(arguments, 0); return $scope.get('Sexp').$new(parts); }; def.$fragment = function(str, sexp) { var self = this; if (sexp == null) { sexp = nil } return $scope.get('Fragment').$new(str, sexp); }; def.$unique_temp = function() { var self = this; return "TMP_" + (self.unique = $rb_plus(self.unique, 1)); }; def.$helper = function(name) { var self = this; return self.$helpers()['$<<'](name); }; def.$indent = TMP_3 = function() { var $a, self = this, $iter = TMP_3.$$p, block = $iter || nil, indent = nil, res = nil; TMP_3.$$p = null; indent = self.indent; self.indent = $rb_plus(self.indent, $scope.get('INDENT')); self.space = "\n" + (self.indent); res = ((($a = Opal.yieldX(block, [])) === $breaker) ? $breaker.$v : $a); self.indent = indent; self.space = "\n" + (self.indent); return res; }; def.$with_temp = TMP_4 = function() { var $a, self = this, $iter = TMP_4.$$p, block = $iter || nil, tmp = nil, res = nil; TMP_4.$$p = null; tmp = self.scope.$new_temp(); res = ((($a = Opal.yield1(block, tmp)) === $breaker) ? $breaker.$v : $a); self.scope.$queue_temp(tmp); return res; }; def.$in_while = TMP_5 = function() { var $a, self = this, $iter = TMP_5.$$p, $yield = $iter || nil, result = nil; TMP_5.$$p = null; if (($yield !== nil)) { } else { return nil }; self.while_loop = self.scope.$push_while(); result = ((($a = Opal.yieldX($yield, [])) === $breaker) ? $breaker.$v : $a); self.scope.$pop_while(); return result; }; def.$in_case = TMP_6 = function() { var self = this, $iter = TMP_6.$$p, $yield = $iter || nil, old = nil; TMP_6.$$p = null; if (($yield !== nil)) { } else { return nil }; old = self.case_stmt; self.case_stmt = $hash2([], {}); if (Opal.yieldX($yield, []) === $breaker) return $breaker.$v; return self.case_stmt = old; }; def['$in_while?'] = function() { var self = this; return self.scope['$in_while?'](); }; def.$process = function(sexp, level) { var $a, self = this, handler = nil; if (level == null) { level = "expr" } if (sexp['$=='](nil)) { return self.$fragment("")}; if ((($a = handler = self.$handlers()['$[]'](sexp.$type())) !== nil && (!$a.$$is_boolean || $a == true))) { return handler.$new(sexp, level, self).$compile_to_fragments() } else { return self.$raise("Unsupported sexp: " + (sexp.$type())) }; }; def.$handlers = function() { var $a, self = this; return ((($a = self.handlers) !== false && $a !== nil) ? $a : self.handlers = (((($scope.get('Opal')).$$scope.get('Nodes'))).$$scope.get('Base')).$handlers()); }; def.$requires = function() { var $a, self = this; return ((($a = self.requires) !== false && $a !== nil) ? $a : self.requires = []); }; def.$required_trees = function() { var $a, self = this; return ((($a = self.required_trees) !== false && $a !== nil) ? $a : self.required_trees = []); }; def.$returns = function(sexp) { var $a, $b, TMP_7, self = this, $case = nil; if (sexp !== false && sexp !== nil) { } else { return self.$returns(self.$s("nil")) }; return (function() {$case = sexp.$type();if ("break"['$===']($case) || "next"['$===']($case) || "redo"['$===']($case)) {return sexp}else if ("yield"['$===']($case)) {sexp['$[]='](0, "returnable_yield"); return sexp;}else if ("scope"['$===']($case)) {sexp['$[]='](1, self.$returns(sexp['$[]'](1))); return sexp;}else if ("block"['$===']($case)) {if ($rb_gt(sexp.$length(), 1)) { sexp['$[]='](-1, self.$returns(sexp['$[]'](-1))) } else { sexp['$<<'](self.$returns(self.$s("nil"))) }; return sexp;}else if ("when"['$===']($case)) {sexp['$[]='](2, self.$returns(sexp['$[]'](2))); return sexp;}else if ("rescue"['$===']($case)) {sexp['$[]='](1, self.$returns(sexp['$[]'](1))); if ((($a = ($b = sexp['$[]'](2), $b !== false && $b !== nil ?sexp['$[]'](2)['$[]'](0)['$==']("resbody") : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { if ((($a = sexp['$[]'](2)['$[]'](2)) !== nil && (!$a.$$is_boolean || $a == true))) { sexp['$[]'](2)['$[]='](2, self.$returns(sexp['$[]'](2)['$[]'](2))) } else { sexp['$[]'](2)['$[]='](2, self.$returns(self.$s("nil"))) }}; return sexp;}else if ("ensure"['$===']($case)) {sexp['$[]='](1, self.$returns(sexp['$[]'](1))); return sexp;}else if ("begin"['$===']($case)) {sexp['$[]='](1, self.$returns(sexp['$[]'](1))); return sexp;}else if ("rescue_mod"['$===']($case)) {sexp['$[]='](1, self.$returns(sexp['$[]'](1))); sexp['$[]='](2, self.$returns(sexp['$[]'](2))); return sexp;}else if ("while"['$===']($case)) {return sexp}else if ("return"['$===']($case) || "js_return"['$===']($case)) {return sexp}else if ("xstr"['$===']($case)) {if ((($a = /return|;/['$=~'](sexp['$[]'](1))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { sexp['$[]='](1, "return " + (sexp['$[]'](1)) + ";") }; return sexp;}else if ("dxstr"['$===']($case)) {if ((($a = /return|;|\n/['$=~'](sexp['$[]'](1))) !== nil && (!$a.$$is_boolean || $a == true))) { } else { sexp['$[]='](1, "return " + (sexp['$[]'](1))) }; return sexp;}else if ("if"['$===']($case)) {sexp['$[]='](2, self.$returns(((($a = sexp['$[]'](2)) !== false && $a !== nil) ? $a : self.$s("nil")))); sexp['$[]='](3, self.$returns(((($a = sexp['$[]'](3)) !== false && $a !== nil) ? $a : self.$s("nil")))); return sexp;}else {return ($a = ($b = self.$s("js_return", sexp)).$tap, $a.$$p = (TMP_7 = function(s){var self = TMP_7.$$s || this, $a, $b; if (s == null) s = nil; return (($a = [sexp.$source()]), $b = s, $b['$source='].apply($b, $a), $a[$a.length-1])}, TMP_7.$$s = self, TMP_7), $a).call($b)}})(); }; return (def.$handle_block_given_call = function(sexp) { var $a, $b, self = this, scope = nil; self.scope['$uses_block!'](); if ((($a = self.scope.$block_name()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$fragment("(" + (self.scope.$block_name()) + " !== nil)", sexp) } else if ((($a = ($b = scope = self.scope.$find_parent_def(), $b !== false && $b !== nil ?scope.$block_name() : $b)) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$fragment("(" + (scope.$block_name()) + " !== nil)", sexp) } else { return self.$fragment("false", sexp) }; }, nil) && 'handle_block_given_call'; })(self, null); })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal/erb"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $klass = Opal.klass, $gvars = Opal.gvars; Opal.add_stubs(['$require', '$compile', '$new', '$fix_quotes', '$find_contents', '$find_code', '$wrap_compiled', '$require_erb', '$prepared_source', '$gsub', '$=~', '$sub']); self.$require("opal/compiler"); return (function($base) { var self = $module($base, 'Opal'); var def = self.$$proto, $scope = self.$$scope; (function($base) { var self = $module($base, 'ERB'); var def = self.$$proto, $scope = self.$$scope; Opal.defs(self, '$compile', function(source, file_name) { var self = this; if (file_name == null) { file_name = "(erb)" } return $scope.get('Compiler').$new(source, file_name).$compile(); }); (function($base, $super) { function $Compiler(){}; var self = $Compiler = $klass($base, $super, 'Compiler', $Compiler); var def = self.$$proto, $scope = self.$$scope; def.prepared_source = def.source = def.file_name = nil; Opal.cdecl($scope, 'BLOCK_EXPR', /\s+(do|\{)(\s*\|[^|]*\|)?\s*\Z/); def.$initialize = function(source, file_name) { var $a, self = this; if (file_name == null) { file_name = "(erb)" } return $a = [source, file_name, source], self.source = $a[0], self.file_name = $a[1], self.result = $a[2]; }; def.$prepared_source = function() { var $a, self = this, source = nil; return ((($a = self.prepared_source) !== false && $a !== nil) ? $a : self.prepared_source = (function() {source = self.source; source = self.$fix_quotes(source); source = self.$find_contents(source); source = self.$find_code(source); source = self.$wrap_compiled(source); source = self.$require_erb(source); return source;})()); }; def.$compile = function() { var self = this; return $scope.get('Opal').$compile(self.$prepared_source()); }; def.$fix_quotes = function(result) { var self = this; return result.$gsub("\"", "\\\""); }; def.$require_erb = function(result) { var self = this; return $rb_plus("require \"erb\";", result); }; def.$find_contents = function(result) { var $a, $b, TMP_1, self = this; return ($a = ($b = result).$gsub, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this, $a, inner = nil; inner = (($a = $gvars['~']) === nil ? nil : $a['$[]'](1)).$gsub(/\\'/, "'").$gsub(/\\"/, "\""); if ((($a = inner['$=~']($scope.get('BLOCK_EXPR'))) !== nil && (!$a.$$is_boolean || $a == true))) { return "\")\noutput_buffer.append= " + (inner) + "\noutput_buffer.append(\"" } else { return "\")\noutput_buffer.append=(" + (inner) + ")\noutput_buffer.append(\"" };}, TMP_1.$$s = self, TMP_1), $a).call($b, /<%=([\s\S]+?)%>/); }; def.$find_code = function(result) { var $a, $b, TMP_2, self = this; return ($a = ($b = result).$gsub, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this, $a; return "\")\n" + ((($a = $gvars['~']) === nil ? nil : $a['$[]'](1))) + "\noutput_buffer.append(\""}, TMP_2.$$s = self, TMP_2), $a).call($b, /<%([\s\S]+?)%>/); }; return (def.$wrap_compiled = function(result) { var self = this, path = nil; path = self.file_name.$sub((new RegExp("\\.opalerb" + $scope.get('REGEXP_END'))), ""); return result = "Template.new('" + (path) + "') do |output_buffer|\noutput_buffer.append(\"" + (result) + "\")\noutput_buffer.join\nend\n"; }, nil) && 'wrap_compiled'; })(self, null); })(self) })(self); }; /* Generated by Opal 0.8.1 */ Opal.modules["encoding"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var $a, $b, TMP_4, $c, TMP_6, $d, TMP_8, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$[]', '$new', '$to_proc', '$each', '$const_set', '$sub', '$upcase', '$===', '$const_get', '$==', '$name', '$include?', '$names', '$constants', '$raise', '$attr_accessor', '$attr_reader', '$register', '$length', '$bytes', '$to_a', '$each_byte', '$bytesize', '$enum_for', '$find', '$getbyte']); self.$require("corelib/string"); (function($base, $super) { function $Encoding(){}; var self = $Encoding = $klass($base, $super, 'Encoding', $Encoding); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.ascii = def.dummy = def.name = nil; Opal.defs(self, '$register', TMP_1 = function(name, options) { var $a, $b, $c, TMP_2, self = this, $iter = TMP_1.$$p, block = $iter || nil, names = nil, encoding = nil; if (options == null) { options = $hash2([], {}) } TMP_1.$$p = null; names = $rb_plus([name], (((($a = options['$[]']("aliases")) !== false && $a !== nil) ? $a : []))); encoding = ($a = ($b = $scope.get('Class')).$new, $a.$$p = block.$to_proc(), $a).call($b, self).$new(name, names, ((($a = options['$[]']("ascii")) !== false && $a !== nil) ? $a : false), ((($a = options['$[]']("dummy")) !== false && $a !== nil) ? $a : false)); return ($a = ($c = names).$each, $a.$$p = (TMP_2 = function(name){var self = TMP_2.$$s || this; if (name == null) name = nil; return self.$const_set(name.$sub("-", "_"), encoding)}, TMP_2.$$s = self, TMP_2), $a).call($c); }); Opal.defs(self, '$find', function(name) {try { var $a, $b, TMP_3, self = this, upcase_name = nil; upcase_name = name.$upcase(); if ((($a = self['$==='](upcase_name)) !== nil && (!$a.$$is_boolean || $a == true))) { return upcase_name}; ($a = ($b = self.$constants()).$each, $a.$$p = (TMP_3 = function(const$){var self = TMP_3.$$s || this, $a, $b, encoding = nil; if (const$ == null) const$ = nil; encoding = self.$const_get(const$); if ((($a = ((($b = encoding.$name()['$=='](upcase_name)) !== false && $b !== nil) ? $b : encoding.$names()['$include?'](upcase_name))) !== nil && (!$a.$$is_boolean || $a == true))) { Opal.ret(encoding) } else { return nil };}, TMP_3.$$s = self, TMP_3), $a).call($b); return self.$raise($scope.get('ArgumentError'), "unknown encoding name - " + (name)); } catch ($returner) { if ($returner === Opal.returner) { return $returner.$v } throw $returner; } }); (function(self) { var $scope = self.$$scope, def = self.$$proto; return self.$attr_accessor("default_external") })(self.$singleton_class()); self.$attr_reader("name", "names"); def.$initialize = function(name, names, ascii, dummy) { var self = this; self.name = name; self.names = names; self.ascii = ascii; return self.dummy = dummy; }; def['$ascii_compatible?'] = function() { var self = this; return self.ascii; }; def['$dummy?'] = function() { var self = this; return self.dummy; }; def.$to_s = function() { var self = this; return self.name; }; def.$inspect = function() { var $a, self = this; return "#"; }; def.$each_byte = function() { var self = this; return self.$raise($scope.get('NotImplementedError')); }; def.$getbyte = function() { var self = this; return self.$raise($scope.get('NotImplementedError')); }; def.$bytesize = function() { var self = this; return self.$raise($scope.get('NotImplementedError')); }; (function($base, $super) { function $EncodingError(){}; var self = $EncodingError = $klass($base, $super, 'EncodingError', $EncodingError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('StandardError')); return (function($base, $super) { function $CompatibilityError(){}; var self = $CompatibilityError = $klass($base, $super, 'CompatibilityError', $CompatibilityError); var def = self.$$proto, $scope = self.$$scope; return nil; })(self, $scope.get('EncodingError')); })(self, null); ($a = ($b = $scope.get('Encoding')).$register, $a.$$p = (TMP_4 = function(){var self = TMP_4.$$s || this, TMP_5; Opal.defn(self, '$each_byte', TMP_5 = function(string) { var $a, self = this, $iter = TMP_5.$$p, block = $iter || nil; TMP_5.$$p = null; for (var i = 0, length = string.length; i < length; i++) { var code = string.charCodeAt(i); if (code <= 0x7f) { ((($a = Opal.yield1(block, code)) === $breaker) ? $breaker.$v : $a); } else { var encoded = encodeURIComponent(string.charAt(i)).substr(1).split('%'); for (var j = 0, encoded_length = encoded.length; j < encoded_length; j++) { ((($a = Opal.yield1(block, parseInt(encoded[j], 16))) === $breaker) ? $breaker.$v : $a); } } } }); return (Opal.defn(self, '$bytesize', function() { var self = this; return self.$bytes().$length(); }), nil) && 'bytesize';}, TMP_4.$$s = self, TMP_4), $a).call($b, "UTF-8", $hash2(["aliases", "ascii"], {"aliases": ["CP65001"], "ascii": true})); ($a = ($c = $scope.get('Encoding')).$register, $a.$$p = (TMP_6 = function(){var self = TMP_6.$$s || this, TMP_7; Opal.defn(self, '$each_byte', TMP_7 = function(string) { var $a, self = this, $iter = TMP_7.$$p, block = $iter || nil; TMP_7.$$p = null; for (var i = 0, length = string.length; i < length; i++) { var code = string.charCodeAt(i); ((($a = Opal.yield1(block, code & 0xff)) === $breaker) ? $breaker.$v : $a); ((($a = Opal.yield1(block, code >> 8)) === $breaker) ? $breaker.$v : $a); } }); return (Opal.defn(self, '$bytesize', function() { var self = this; return self.$bytes().$length(); }), nil) && 'bytesize';}, TMP_6.$$s = self, TMP_6), $a).call($c, "UTF-16LE"); ($a = ($d = $scope.get('Encoding')).$register, $a.$$p = (TMP_8 = function(){var self = TMP_8.$$s || this, TMP_9; Opal.defn(self, '$each_byte', TMP_9 = function(string) { var $a, self = this, $iter = TMP_9.$$p, block = $iter || nil; TMP_9.$$p = null; for (var i = 0, length = string.length; i < length; i++) { ((($a = Opal.yield1(block, string.charCodeAt(i) & 0xff)) === $breaker) ? $breaker.$v : $a); } }); return (Opal.defn(self, '$bytesize', function() { var self = this; return self.$bytes().$length(); }), nil) && 'bytesize';}, TMP_8.$$s = self, TMP_8), $a).call($d, "ASCII-8BIT", $hash2(["aliases", "ascii"], {"aliases": ["BINARY"], "ascii": true})); return (function($base, $super) { function $String(){}; var self = $String = $klass($base, $super, 'String', $String); var def = self.$$proto, $scope = self.$$scope, TMP_10; def.encoding = nil; def.encoding = (($scope.get('Encoding')).$$scope.get('UTF_16LE')); def.$bytes = function() { var self = this; return self.$each_byte().$to_a(); }; def.$bytesize = function() { var self = this; return self.encoding.$bytesize(self); }; def.$each_byte = TMP_10 = function() { var $a, $b, self = this, $iter = TMP_10.$$p, block = $iter || nil; TMP_10.$$p = null; if ((block !== nil)) { } else { return self.$enum_for("each_byte") }; ($a = ($b = self.encoding).$each_byte, $a.$$p = block.$to_proc(), $a).call($b, self); return self; }; def.$encoding = function() { var self = this; return self.encoding; }; def.$force_encoding = function(encoding) { var self = this; encoding = $scope.get('Encoding').$find(encoding); if (encoding['$=='](self.encoding)) { return self}; var result = new String(self); result.encoding = encoding; return result; }; return (def.$getbyte = function(idx) { var self = this; return self.encoding.$getbyte(self, idx); }, nil) && 'getbyte'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["opal-parser"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $module = Opal.module, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$compile', '$eval']); self.$require("opal/compiler"); self.$require("opal/erb"); self.$require("opal/version"); self.$require("encoding"); (function($base) { var self = $module($base, 'Kernel'); var def = self.$$proto, $scope = self.$$scope; Opal.defn(self, '$eval', function(str) { var self = this, code = nil; code = $scope.get('Opal').$compile(str, $hash2(["file"], {"file": "(eval)"})); return eval(code); }); Opal.defn(self, '$require_remote', function(url) { var self = this; var r = new XMLHttpRequest(); r.open("GET", url, false); r.send(''); return self.$eval(r.responseText); }); })(self); Opal.compile = function(str, options) { if (options) { options = Opal.hash(options); } return Opal.Opal.$compile(str, options); }; Opal.eval = function(str, options) { return eval(Opal.compile(str, options)); }; function run_ruby_scripts() { var tag, tags = document.getElementsByTagName('script'); for (var i = 0, len = tags.length; i < len; i++) { tag = tags[i]; if (tag.type === "text/ruby") { if (tag.src) Opal.Kernel.$require_remote(tag.src); if (tag.innerHTML) Opal.Kernel.$eval(tag.innerHTML); } } } if (typeof(document) !== 'undefined') { if (window.addEventListener) { window.addEventListener('DOMContentLoaded', run_ruby_scripts, false); } else { window.attachEvent('onload', run_ruby_scripts); } } }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/console_buttons"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$add_console_buttons', '$add_console_show_it', '$add_console_clear_top', '$add_console_clear_bottom', '$[]', '$call', '$nil_handler', '$add_button']); self.$require("core/util"); self.$require("widgets/button_bar"); return (function($base, $super) { function $ConsoleButtons(){}; var self = $ConsoleButtons = $klass($base, $super, 'ConsoleButtons', $ConsoleButtons); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.handlers = nil; self.$include($scope.get('Util')); def.$initialize = TMP_1 = function(handlers) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (handlers == null) { handlers = $hash2([], {}) } TMP_1.$$p = null; self.handlers = handlers; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); return self.$add_console_buttons(); }; def.$add_console_buttons = function() { var self = this; self.$add_console_show_it(); self.$add_console_clear_top(); return self.$add_console_clear_bottom(); }; def.$add_console_clear_bottom = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("clear_bottom")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("clear_bottom") } else { return self.$nil_handler().$call("Clear bottom") }; return nil; })(); return self.$add_button("Clear bottom", fn); }; def.$add_console_clear_top = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("clear_top")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("clear_top") } else { return self.$nil_handler().$call("Clear top") }; return nil; })(); return self.$add_button("Clear top", fn); }; return (def.$add_console_show_it = function() { var $a, self = this, fn = nil; fn = (function() {if ((($a = self.handlers['$[]']("show_it")) !== nil && (!$a.$$is_boolean || $a == true))) { return self.handlers['$[]']("show_it") } else { return self.$nil_handler().$call("Show it") }; return nil; })(); return self.$add_button("Show it", fn); }, nil) && 'add_console_show_it'; })(self, $scope.get('ButtonBar')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_text_area"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$set_value', '$getValue', '$widget', '$new_ui_form_text_area', '$setValue']); self.$require("qx/ui/component"); return (function($base, $super) { function $FormTextArea(){}; var self = $FormTextArea = $klass($base, $super, 'FormTextArea', $FormTextArea); var def = self.$$proto, $scope = self.$$scope; def.$clear = function() { var self = this; return self.$set_value(""); }; def.$get_value = function() { var self = this; return self.$widget().$getValue(); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_form_text_area(); }; return (def.$set_value = function(s) { var self = this; return self.$widget().$setValue(s); }, nil) && 'set_value'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/windows/console_window"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$new', '$add', '$split_pane', '$cin', '$cout', '$add_cout', '$add_cin', '$initial_handler_functions', '$lambda', '$clear', '$prn', '$eval', '$get_value', '$set_value']); self.$require("opal-parser"); self.$require("qx/ui/window"); self.$require("widgets/console_buttons"); self.$require("widgets/split_pane"); self.$require("widgets/form_text_area"); return (function($base, $super) { function $ConsoleWindow(){}; var self = $ConsoleWindow = $klass($base, $super, 'ConsoleWindow', $ConsoleWindow); var def = self.$$proto, $scope = self.$$scope; self.$attr_reader("cin"); self.$attr_reader("cout"); self.$attr_reader("split_pane"); def.$add_cin = function() { var self = this; self.cin = $scope.get('FormTextArea').$new(); return self.$split_pane().$add(self.$cin()); }; def.$add_cout = function() { var self = this; self.cout = $scope.get('FormTextArea').$new(); return self.$split_pane().$add(self.$cout()); }; def.$add_items = function() { var self = this; self.split_pane = $scope.get('SplitPane').$new("vertical"); self.$add(self.$split_pane(), $hash2(["flex"], {"flex": 1})); self.$add_cout(); return self.$add_cin(); }; def.$initial_button_bar = function() { var self = this; return $scope.get('ConsoleButtons').$new(self.$initial_handler_functions()); }; def.$initial_caption = function() { var self = this; return "Console Window"; }; def.$initial_handler_functions = function() { var $a, $b, TMP_1, $c, TMP_2, $d, TMP_3, self = this; return $hash2(["clear_bottom", "clear_top", "show_it"], {"clear_bottom": ($a = ($b = self).$lambda, $a.$$p = (TMP_1 = function(){var self = TMP_1.$$s || this; return self.$cin().$clear()}, TMP_1.$$s = self, TMP_1), $a).call($b), "clear_top": ($a = ($c = self).$lambda, $a.$$p = (TMP_2 = function(){var self = TMP_2.$$s || this; return self.$cout().$clear()}, TMP_2.$$s = self, TMP_2), $a).call($c), "show_it": ($a = ($d = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this; return self.$prn(self.$eval(self.$cin().$get_value()))}, TMP_3.$$s = self, TMP_3), $a).call($d)}); }; def['$is_centered?'] = function() { var self = this; return true; }; return (def.$prn = function(s) { var self = this, text = nil; text = self.$cout().$get_value(); text = $rb_plus(text, "" + (s) + "\n"); return self.$cout().$set_value(text); }, nil) && 'prn'; })(self, $scope.get('Window')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/windows/crud_window"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$nil?', '$capitalize', '$to_s', '$add_fill', '$new', '$model', '$caption']); self.$require("panels/crud_panel"); self.$require("qx/ui/window"); return (function($base, $super) { function $CrudWindow(){}; var self = $CrudWindow = $klass($base, $super, 'CrudWindow', $CrudWindow); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("caption"); self.$attr_reader("model"); def.$initialize = TMP_1 = function(model, caption) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (model == null) { model = "dummy" } if (caption == null) { caption = nil } TMP_1.$$p = null; self.model = model; self.caption = (function() {if ((($a = caption['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return "" + (model.$to_s().$capitalize()) + "s Window" } else { return caption }; return nil; })(); return Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); }; def.$add_items = function() { var self = this; return self.$add_fill($scope.get('CrudPanel').$new(self.$model())); }; def.$initial_caption = function() { var self = this; return self.$caption(); }; return (def['$is_centered?'] = function() { var self = this; return true; }, nil) && 'is_centered?'; })(self, $scope.get('Window')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/windows/message_window"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$add_fill', '$new', '$message', '$caption']); self.$require("qx/ui/window"); self.$require("widgets/html"); return (function($base, $super) { function $MessageWindow(){}; var self = $MessageWindow = $klass($base, $super, 'MessageWindow', $MessageWindow); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("caption"); self.$attr_reader("message"); def.$initialize = TMP_1 = function(aMessage, caption) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (caption == null) { caption = "Message" } TMP_1.$$p = null; self.message = aMessage; self.caption = caption; return Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); }; def.$add_items = function() { var self = this; return self.$add_fill($scope.get('Html').$new(self.$message())); }; def.$initial_caption = function() { var self = this; return self.$caption(); }; return (def['$is_centered?'] = function() { var self = this; return true; }, nil) && 'is_centered?'; })(self, $scope.get('Window')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/footer"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$new', '$set_color', '$resolve_color', '$set_width', '$add', '$set_background_color']); self.$require("core/dimensions"); self.$require("core/qx_wrap"); self.$require("managers/color_manager"); self.$require("qx/ui/container"); self.$require("qx/ui/h_layout"); self.$require("qx/ui/widget"); self.$require("widgets/html"); return (function($base, $super) { function $Footer(){}; var self = $Footer = $klass($base, $super, 'Footer', $Footer); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Dimensions')); def.$initialize = TMP_1 = function(text) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil, html_widget = nil; if (text == null) { text = "" } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); html_widget = $scope.get('Html').$new(text); html_widget.$set_color($scope.get('ColorManager').$resolve_color("footer_text")); html_widget.$set_width(200); self.$add($scope.get('Widget').$new(), $hash2(["flex"], {"flex": 1})); self.$add(html_widget); self.$add($scope.get('Widget').$new(), $hash2(["flex"], {"flex": 1})); return self.$set_background_color($scope.get('ColorManager').$resolve_color("footer_background")); }; def.$initial_classes = function() { var self = this; return ["footer"]; }; def.$initial_height = function() { var self = this; return $scope.get('FOOTER_HEIGHT'); }; def.$initial_layout = function() { var self = this; return $scope.get('HLayout').$new(); }; return (def.$initial_padding = function() { var self = this; return $scope.get('FOOTER_PADDING'); }, nil) && 'initial_padding'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/form_list"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$add_controller', '$setDecorator', '$widget', '$setPadding', '$setMargin', '$set_model', '$set_template', '$new_data_array', '$new_data_controller_list', '$items', '$setDelegate', '$controller', '$lambda', '$new_lib_data_list_model', '$push', '$new', '$model', '$render', '$template', '$add_item', '$new_ui_form_list', '$getSelection', '$Native', '$call', '$addListener', '$removeAll', '$removeAt', '$find_model', '$find_template']); self.$require("core/qx_wrap"); self.$require("managers/model_manager"); self.$require("managers/template_manager"); self.$require("qx/ui/component"); self.$require("widgets/html"); self.$require("native"); return (function($base, $super) { function $FormList(){}; var self = $FormList = $klass($base, $super, 'FormList', $FormList); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("controller"); self.$attr_reader("items"); self.$attr_reader("model"); self.$attr_reader("template"); def.$initialize = TMP_1 = function(model_name, template_name) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (model_name == null) { model_name = "dummy" } if (template_name == null) { template_name = "dummy" } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$add_controller(); self.$widget().$setDecorator(nil); self.$widget().$setPadding(0); self.$widget().$setMargin(0); self.$set_model(model_name); return self.$set_template(template_name); }; def.$add_controller = function() { var $a, $b, TMP_2, self = this; self.items = $scope.get('QxWrap').$new_data_array(); self.controller = $scope.get('QxWrap').$new_data_controller_list(self.$items(), self.$widget()); return self.$controller().$setDelegate($hash2(["configureItem"], {"configureItem": ($a = ($b = self).$lambda, $a.$$p = (TMP_2 = function(item){var self = TMP_2.$$s || this; if (item == null) item = nil; return item.setRich(true);}, TMP_2.$$s = self, TMP_2), $a).call($b)})); }; def.$add_item = function(html, data) { var self = this, item = nil; if (data == null) { data = nil } item = $scope.get('QxWrap').$new_lib_data_list_model(html, data); return self.$items().$push(item); }; def.$add_record = function(data) { var self = this, record = nil, html = nil; record = self.$model().$new(data); html = self.$template().$render(record); return self.$add_item(html, data); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_form_list(); }; def.$on_select = function(fn) { var $a, $b, TMP_3, self = this, handler = nil; handler = ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this, $a, selection = nil, selected_model = nil, html = nil, data = nil; selection = self.$widget().$getSelection(); selected_model = selection.length > 0 ? selection[0].getModel() : null; if ((($a = selected_model == null) !== nil && (!$a.$$is_boolean || $a == true))) { } else { html = selected_model.getHtml(); data = selected_model.getData(); selected_model = $hash2(["html", "data"], {"html": self.$Native(html), "data": data}); }; return fn.$call(selected_model);}, TMP_3.$$s = self, TMP_3), $a).call($b); return self.$controller().$addListener("changeSelection", handler); }; def.$remove_all = function() { var self = this; return self.$items().$removeAll(); }; def.$remove_at = function(n) { var self = this; return self.$items().$removeAt(n); }; def.$set_model = function(model_name) { var self = this; return self.model = $scope.get('ModelManager').$find_model(model_name); }; return (def.$set_template = function(template_name) { var self = this; return self.template = $scope.get('TemplateManager').$find_template(template_name); }, nil) && 'set_template'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/h_separator"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require']); self.$require("qx/ui/component"); return (function($base, $super) { function $HSeparator(){}; var self = $HSeparator = $klass($base, $super, 'HSeparator', $HSeparator); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_height = function() { var self = this; return 1; }, nil) && 'initial_height' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/h_spacer"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setHeight', '$widget', '$setWidth']); self.$require("qx/ui/component"); return (function($base, $super) { function $HSpacer(){}; var self = $HSpacer = $klass($base, $super, 'HSpacer', $HSpacer); var def = self.$$proto, $scope = self.$$scope, TMP_1; return (def.$initialize = TMP_1 = function(w) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setHeight(1); return self.$widget().$setWidth(w); }, nil) && 'initialize' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/image"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$new_ui_basic_image', '$source']); self.$require("qx/ui/component"); return (function($base, $super) { function $Image(){}; var self = $Image = $klass($base, $super, 'Image', $Image); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("source"); def.$initialize = TMP_1 = function(source) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; self.source = source; return Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_basic_image(self.$source()); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/label"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setRich', '$widget', '$setValue', '$new_ui_basic_label']); self.$require("qx/ui/component"); return (function($base, $super) { function $Label(){}; var self = $Label = $klass($base, $super, 'Label', $Label); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(html) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setRich(true); return self.$widget().$setValue(html); }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_basic_label(); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/menu_button"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setLabel', '$widget', '$nil?', '$on_click', '$new_ui_menu_button', '$add_listener']); self.$require("qx/ui/component"); return (function($base, $super) { function $MenuButton(){}; var self = $MenuButton = $klass($base, $super, 'MenuButton', $MenuButton); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function(label, fn) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (fn == null) { fn = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setLabel(label); if ((($a = fn['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$on_click(fn) }; }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_menu_button(); }; return (def.$on_click = function(fn) { var self = this; return self.$add_listener("execute", fn); }, nil) && 'on_click'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/menu_menu"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$respond_to?', '$widget', '$nil?', '$add', '$new_ui_menu_menu']); self.$require("qx/ui/component"); return (function($base, $super) { function $MenuMenu(){}; var self = $MenuMenu = $klass($base, $super, 'MenuMenu', $MenuMenu); var def = self.$$proto, $scope = self.$$scope; def.$add = function(aComponent, arg) { var $a, self = this, component = nil; if (arg == null) { arg = nil } component = (function() {if ((($a = (aComponent['$respond_to?']("widget"))) !== nil && (!$a.$$is_boolean || $a == true))) { return aComponent.$widget() } else { return aComponent }; return nil; })(); if ((($a = arg['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$widget().$add(component) } else { return self.$widget().$add(component, arg) }; }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_menu_menu(); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/menubar_button"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$%', '$new', '$setRich', '$widget', '$setLabel', '$nil?', '$on_click', '$respond_to?', '$setMenu', '$new_ui_menubar_button', '$add_listener']); self.$require("qx/ui/component"); return (function($base, $super) { function $MenubarButton(){}; var self = $MenubarButton = $klass($base, $super, 'MenubarButton', $MenubarButton); var def = self.$$proto, $scope = self.$$scope, TMP_1; Opal.defs(self, '$new_with_style', function(label, style, fn) { var self = this, html = nil, btn = nil; if (fn == null) { fn = nil } html = "%s"['$%']([style, label]); btn = self.$new(html, fn); btn.$widget().$setRich(true); return btn; }); def.$initialize = TMP_1 = function(label, fn) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (fn == null) { fn = nil } TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setLabel(label); if ((($a = fn['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$on_click(fn) }; }; def.$set_menu = function(aMenu) { var $a, self = this, menu = nil; menu = (function() {if ((($a = (aMenu['$respond_to?']("widget"))) !== nil && (!$a.$$is_boolean || $a == true))) { return aMenu.$widget() } else { return aMenu }; return nil; })(); return self.$widget().$setMenu(menu); }; def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_menubar_button(); }; return (def.$on_click = function(fn) { var self = this; return self.$add_listener("execute", fn); }, nil) && 'on_click'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/menubar_menubar"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$setDecorator', '$widget', '$respond_to?', '$nil?', '$add', '$addSeparator', '$addSpacer', '$new_ui_menubar_menubar']); self.$require("qx/ui/component"); return (function($base, $super) { function $MenubarBar(){}; var self = $MenubarBar = $klass($base, $super, 'MenubarBar', $MenubarBar); var def = self.$$proto, $scope = self.$$scope, TMP_1; def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.$widget().$setDecorator(nil); }; def.$add = function(aComponent, arg) { var $a, self = this, component = nil; if (arg == null) { arg = nil } component = (function() {if ((($a = (aComponent['$respond_to?']("widget"))) !== nil && (!$a.$$is_boolean || $a == true))) { return aComponent.$widget() } else { return aComponent }; return nil; })(); if ((($a = arg['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return self.$widget().$add(component) } else { return self.$widget().$add(component, arg) }; }; def.$add_separator = function() { var self = this; return self.$widget().$addSeparator(); }; def.$add_spacer = function() { var self = this; return self.$widget().$addSpacer(); }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_menubar_menubar(); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/nav_bar"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; function $rb_plus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs + rhs : lhs['$+'](rhs); } function $rb_minus(lhs, rhs) { return (typeof(lhs) === 'number' && typeof(rhs) === 'number') ? lhs - rhs : lhs['$-'](rhs); } var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$include', '$setPadding', '$widget', '$set_background_color', '$resolve_color', '$[]', '$config', '$each', '$new', '$lambda', '$nil?', '$controller', '$handle_action', '$add', '$menu_bar', '$create_label', '$create_menu_bar', '$to_s', '$set_color', '$set_width', '$add_buttons', '$add_spacer', '$add_separator', '$menu_bar_login_buttons', '$new_with_style', '$set_menu']); self.$require("core/dimensions"); self.$require("core/qx_wrap"); self.$require("managers/color_manager"); self.$require("qx/ui/container"); self.$require("qx/ui/h_layout"); self.$require("widgets/h_spacer"); self.$require("widgets/label"); self.$require("widgets/menu_button"); self.$require("widgets/menu_menu"); self.$require("widgets/menubar_button"); self.$require("widgets/menubar_menubar"); return (function($base, $super) { function $NavBar(){}; var self = $NavBar = $klass($base, $super, 'NavBar', $NavBar); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("controller"); self.$attr_reader("config"); self.$attr_reader("menu_bar"); self.$include($scope.get('Dimensions')); def.$initialize = TMP_1 = function(config, controller) { var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (controller == null) { controller = nil } TMP_1.$$p = null; self.config = config; self.controller = controller; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); self.$widget().$setPadding(5, 0, 5, 35); return self.$set_background_color($scope.get('ColorManager').$resolve_color("navbar_background")); }; def.$add_buttons = function() { var $a, $b, TMP_2, self = this, buttons = nil; buttons = self.$config()['$[]']("buttons"); return ($a = ($b = buttons).$each, $a.$$p = (TMP_2 = function(button){var self = TMP_2.$$s || this, $a, $b, TMP_3, text = nil, action = nil, mb_btn = nil; if (button == null) button = nil; text = button['$[]']("text"); action = button['$[]']("action"); mb_btn = $scope.get('MenubarButton').$new(text, ($a = ($b = self).$lambda, $a.$$p = (TMP_3 = function(){var self = TMP_3.$$s || this, $a; if ((($a = self.$controller()['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$controller().$handle_action(action) }}, TMP_3.$$s = self, TMP_3), $a).call($b)); return self.$menu_bar().$add(mb_btn);}, TMP_2.$$s = self, TMP_2), $a).call($b); }; def.$add_items = function() { var self = this; self.$add(self.$create_label()); return self.$add(self.$create_menu_bar(), $hash2(["flex"], {"flex": 1})); }; def.$create_label = function() { var self = this, text = nil, labelHtml = nil, label = nil; text = self.$config()['$[]']("label").$to_s(); labelHtml = ""; labelHtml = $rb_plus(labelHtml, text); labelHtml = $rb_plus(labelHtml, ""); label = $scope.get('Label').$new(labelHtml); label.$set_color($scope.get('ColorManager').$resolve_color("navbar_label")); label.$set_width($rb_minus($scope.get('NAV_PANEL_WIDTH'), 35)); return label; }; def.$create_menu_bar = function() { var self = this; self.menu_bar = $scope.get('MenubarBar').$new(); self.$add_buttons(); self.$menu_bar().$add_spacer(); self.$menu_bar().$add_separator(); self.$menu_bar().$add(self.$menu_bar_login_buttons()); self.$menu_bar().$add($scope.get('HSpacer').$new(5)); return self.$menu_bar(); }; def.$initial_classes = function() { var self = this; return ["navbar"]; }; def.$initial_layout = function() { var self = this; return $scope.get('HLayout').$new(); }; def.$initial_padding = function() { var self = this; return 0; }; return (def.$menu_bar_login_buttons = function() { var self = this, color = nil, mb_btn = nil, login_btn = nil, register_btn = nil, menu = nil; color = $scope.get('ColorManager').$resolve_color("navbar_label"); mb_btn = $scope.get('MenubarButton').$new_with_style("Login", "color:" + (color)); login_btn = $scope.get('MenuButton').$new("Login"); register_btn = $scope.get('MenuButton').$new("Register"); menu = $scope.get('MenuMenu').$new(); menu.$add(login_btn); menu.$add(register_btn); mb_btn.$set_menu(menu); return mb_btn; }, nil) && 'menu_bar_login_buttons'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tab_button"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_tabview_tab_button']); self.$require("qx/ui/component"); return (function($base, $super) { function $TabButton(){}; var self = $TabButton = $klass($base, $super, 'TabButton', $TabButton); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tabview_tab_button(); }, nil) && 'initial_widget' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tab_page"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$attr_reader', '$nil?', '$add_fill', '$new_ui_tabview_page', '$label']); self.$require("core/qx_wrap"); self.$require("qx/ui/container"); return (function($base, $super) { function $TabPage(){}; var self = $TabPage = $klass($base, $super, 'TabPage', $TabPage); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$attr_reader("label"); def.$initialize = TMP_1 = function(label, item) { var $a, self = this, $iter = TMP_1.$$p, $yield = $iter || nil; if (item == null) { item = nil } TMP_1.$$p = null; self.label = label; Opal.find_super_dispatcher(self, 'initialize', TMP_1, null).apply(self, []); if ((($a = item['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$add_fill(item) }; }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tabview_page(self.$label()); }, nil) && 'initial_widget'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tab_view"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$add', '$widget', '$as_qx', '$new_ui_tabview_tab_view']); self.$require("core/qx_wrap"); self.$require("core/util"); self.$require("qx/ui/component"); return (function($base, $super) { function $TabView(){}; var self = $TabView = $klass($base, $super, 'TabView', $TabView); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Util')); def.$add = function(page) { var self = this; return self.$widget().$add(self.$as_qx(page)); }; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tabview_tab_view(); }, nil) && 'initial_widget'; })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tree"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_tree_virtual_tree']); self.$require("qx/ui/component"); return (function($base, $super) { function $Tree(){}; var self = $Tree = $klass($base, $super, 'Tree', $Tree); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tree_virtual_tree(); }, nil) && 'initial_widget' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tree_file"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_tree_file']); self.$require("qx/ui/component"); return (function($base, $super) { function $TreeFile(){}; var self = $TreeFile = $klass($base, $super, 'TreeFile', $TreeFile); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tree_file(); }, nil) && 'initial_widget' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/tree_folder"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$new_ui_tree_folder']); self.$require("qx/ui/component"); return (function($base, $super) { function $TreeFolder(){}; var self = $TreeFolder = $klass($base, $super, 'TreeFolder', $TreeFolder); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_widget = function() { var self = this; return $scope.get('QxWrap').$new_ui_tree_folder(); }, nil) && 'initial_widget' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["widgets/v_separator"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require']); self.$require("qx/ui/component"); return (function($base, $super) { function $VSeparator(){}; var self = $VSeparator = $klass($base, $super, 'VSeparator', $VSeparator); var def = self.$$proto, $scope = self.$$scope; return (def.$initial_width = function() { var self = this; return 1; }, nil) && 'initial_width' })(self, $scope.get('Component')); }; /* Generated by Opal 0.8.1 */ Opal.modules["configs/colors_config"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; return (function($base, $super) { function $ColorsConfig(){}; var self = $ColorsConfig = $klass($base, $super, 'ColorsConfig', $ColorsConfig); var def = self.$$proto, $scope = self.$$scope; return (Opal.defs(self, '$value', function() { var self = this; return $hash2(["palette"], {"palette": "default"}); }), nil) && 'value' })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["models/message_model"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_accessor', '$take', '$data_config', '$default=', '$[]']); self.$require("data/model"); return (function($base, $super) { function $MessageModel(){}; var self = $MessageModel = $klass($base, $super, 'MessageModel', $MessageModel); var def = self.$$proto, $scope = self.$$scope; self.$attr_accessor("sender_email"); self.$attr_accessor("receiver_email"); self.$attr_accessor("subject"); self.$attr_accessor("text"); self.$attr_accessor("created_at"); self.$attr_accessor("updated_at"); Opal.defs(self, '$api_resource_name', function() { var self = this; return "messages"; }); Opal.defs(self, '$data_config', function() { var self = this; return [$hash2(["id", "width"], {"id": "id", "width": 50}), $hash2(["id"], {"id": "sender_email"}), $hash2(["id"], {"id": "receiver_email"}), $hash2(["id"], {"id": "subject"}), $hash2(["id"], {"id": "text"}), $hash2(["id"], {"id": "created_at"}), $hash2(["id"], {"id": "updated_at"})]; }); Opal.defs(self, '$grid_config', function() { var self = this; return self.$data_config().$take(4); }); return (def.$initialize = function(record) { var $a, $b, self = this; if (record == null) { record = $hash2([], {}) } (($a = [""]), $b = record, $b['$default='].apply($b, $a), $a[$a.length-1]); self.sender_email = record['$[]']("sender_email"); self.receiver_email = record['$[]']("receiver_email"); self.subject = record['$[]']("subject"); self.text = record['$[]']("text"); self.created_at = record['$[]']("created_at"); return self.updated_at = record['$[]']("updated_at"); }, nil) && 'initialize'; })(self, $scope.get('Model')); }; /* Generated by Opal 0.8.1 */ Opal.modules["models/user_model"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_accessor', '$take', '$data_config', '$default=', '$[]']); self.$require("data/model"); return (function($base, $super) { function $UserModel(){}; var self = $UserModel = $klass($base, $super, 'UserModel', $UserModel); var def = self.$$proto, $scope = self.$$scope; self.$attr_accessor("email"); self.$attr_accessor("first_name"); self.$attr_accessor("last_name"); self.$attr_accessor("created_at"); self.$attr_accessor("updated_at"); Opal.defs(self, '$api_resource_name', function() { var self = this; return "users"; }); Opal.defs(self, '$data_config', function() { var self = this; return [$hash2(["id", "width"], {"id": "id", "width": 50}), $hash2(["id"], {"id": "email"}), $hash2(["id"], {"id": "last_name"}), $hash2(["id"], {"id": "first_name"}), $hash2(["id"], {"id": "created_at"}), $hash2(["id"], {"id": "updated_at"})]; }); Opal.defs(self, '$grid_config', function() { var self = this; return self.$data_config().$take(4); }); return (def.$initialize = function(record) { var $a, $b, self = this; if (record == null) { record = $hash2([], {}) } (($a = [""]), $b = record, $b['$default='].apply($b, $a), $a[$a.length-1]); self.email = record['$[]']("email"); self.first_name = record['$[]']("first_name"); self.last_name = record['$[]']("last_name"); self.created_at = record['$[]']("created_at"); return self.updated_at = record['$[]']("updated_at"); }, nil) && 'initialize'; })(self, $scope.get('Model')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/panel_html"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$render', '$new', '$find_template']); return (function($base, $super) { function $PanelHtml(){}; var self = $PanelHtml = $klass($base, $super, 'PanelHtml', $PanelHtml); var def = self.$$proto, $scope = self.$$scope; return (Opal.defs(self, '$title_template', function(title, template_name) { var self = this, body = nil, model = nil, template = nil, text = nil; body = $scope.get('TemplateManager').$render(template_name); model = $scope.get('PanelModel').$new($hash2(["title", "body"], {"title": title, "body": body})); template = $scope.get('TemplateManager').$find_template("bp_panel"); text = template.$render(model); return $scope.get('Html').$new(text); }), nil) && 'title_template' })(self, null) }; /* Generated by Opal 0.8.1 */ Opal.modules["views/viewport"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$desktop', '$instance', '$footer', '$nav_bar', '$add_nav_bar', '$add_desktop', '$add_footer', '$add', '$new', '$footer_html', '$nav_bar_config', '$nav_bar_controller']); self.$require("singleton"); self.$require("qx/ui/container"); return (function($base, $super) { function $Viewport(){}; var self = $Viewport = $klass($base, $super, 'Viewport', $Viewport); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_reader("desktop"); self.$attr_reader("footer"); self.$attr_reader("nav_bar"); Opal.defs(self, '$desktop', function() { var self = this; return self.$instance().$desktop(); }); Opal.defs(self, '$footer', function() { var self = this; return self.$instance().$footer(); }); Opal.defs(self, '$nav_bar', function() { var self = this; return self.$instance().$nav_bar(); }); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); self.$add_nav_bar(); self.$add_desktop(); return self.$add_footer(); }; def.$add_desktop = function() { var self = this; self.desktop = $scope.get('Workspace').$instance(); return self.$add(self.$desktop(), $hash2(["flex"], {"flex": 1})); }; def.$add_footer = function() { var self = this; self.footer = $scope.get('Footer').$new(self.$footer_html()); return self.$add(self.$footer()); }; def.$add_nav_bar = function() { var self = this; self.nav_bar = $scope.get('NavBar').$new(self.$nav_bar_config(), self.$nav_bar_controller()); return self.$add(self.$nav_bar()); }; def.$footer_html = function() { var self = this; return "Copyright © 2016 Peter Fisk"; }; def.$nav_bar_config = function() { var self = this; return $hash2(["buttons", "label"], {"buttons": [$hash2(["text", "action"], {"text": "Users", "action": "open_users_window"}), $hash2(["text", "action"], {"text": "Console", "action": "open_console_window"})], "label": "RailsQx"}); }; return (def.$nav_bar_controller = function() { var self = this; return $scope.get('NavBarController').$instance(); }, nil) && 'nav_bar_controller'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/workspace"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$attr_reader', '$content_panel', '$instance', '$nav_panel', '$new', '$nav_panel_config', '$nav_panel_controller', '$add', '$add_pages', '$add_item', '$desktop=']); self.$require("singleton"); return (function($base, $super) { function $Workspace(){}; var self = $Workspace = $klass($base, $super, 'Workspace', $Workspace); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); self.$attr_reader("content_panel"); self.$attr_reader("nav_panel"); Opal.defs(self, '$content_panel', function() { var self = this; return self.$instance().$content_panel(); }); Opal.defs(self, '$nav_panel', function() { var self = this; return self.$instance().$nav_panel(); }); def.$add_items = function() { var self = this; self.content_panel = $scope.get('StackContainer').$new(); self.nav_panel = $scope.get('NavPanel').$new(self.$nav_panel_config(), self.$nav_panel_controller()); self.$add(self.$nav_panel()); self.$add(self.$content_panel(), $hash2(["flex"], {"flex": 1})); return self.$add_pages(); }; def.$add_pages = function() { var self = this; self.$content_panel().$add_item("welcome", $scope.get('WelcomePage').$new()); self.$content_panel().$add_item("demos", $scope.get('DemosPage').$new()); self.$content_panel().$add_item("guides", $scope.get('GuidesPage').$new()); return self.$content_panel().$add_item("license", $scope.get('LicensePage').$new()); }; def.$initial_background_color = function() { var self = this; return $scope.get('CHARCOAL'); }; def.$initial_layout = function() { var self = this; return $scope.get('HLayout').$new(); }; def.$nav_panel_config = function() { var self = this; return $hash2(["buttons"], {"buttons": [$hash2(["text", "action", "arg"], {"text": "Welcome", "action": "select_page", "arg": "welcome"}), $hash2(["text", "action", "arg"], {"text": "Demos", "action": "select_page", "arg": "demos"}), $hash2(["text", "action", "arg"], {"text": "Guides", "action": "select_page", "arg": "guides"}), $hash2(["text", "action", "arg"], {"text": "License", "action": "select_page", "arg": "license"})]}); }; return (def.$nav_panel_controller = function() { var $a, $b, self = this, controller = nil; controller = $scope.get('NavPanelController').$instance(); (($a = [self]), $b = controller, $b['$desktop='].apply($b, $a), $a[$a.length-1]); return controller; }, nil) && 'nav_panel_controller'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["app/application"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$include', '$start', '$instance', '$require_tree', '$set_color_palette', '$[]', '$color_config', '$set_model_configs', '$model_configs', '$set_panel_configs', '$panel_configs', '$set_root', '$set_template_configs', '$template_configs', '$set_viewport_class', '$build', '$value']); self.$require("singleton"); self.$require("configs/colors_config"); self.$require("models/message_model"); self.$require("models/user_model"); self.$require("views/panel_html"); self.$require("views/viewport"); self.$require("views/workspace"); return (function($base, $super) { function $Application(){}; var self = $Application = $klass($base, $super, 'Application', $Application); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); Opal.defs(self, '$start', function(root) { var self = this; return self.$instance().$start(root); }); def.$start = function(root) { var self = this; self.$require_tree("."); $scope.get('DesktopLoader').$set_color_palette(self.$color_config()['$[]']("palette")); $scope.get('DesktopLoader').$set_model_configs(self.$model_configs()); $scope.get('DesktopLoader').$set_panel_configs(self.$panel_configs()); $scope.get('DesktopLoader').$set_root(root); $scope.get('DesktopLoader').$set_template_configs(self.$template_configs()); $scope.get('DesktopLoader').$set_viewport_class($scope.get('Viewport')); return $scope.get('DesktopLoader').$build(); }; def.$color_config = function() { var self = this; return $scope.get('ColorsConfig').$value(); }; def.$model_configs = function() { var self = this; return [$hash2(["name", "model_class"], {"name": "message", "model_class": $scope.get('MessageModel')}), $hash2(["name", "model_class"], {"name": "user", "model_class": $scope.get('UserModel')})]; }; def.$panel_configs = function() { var self = this; return [$hash2(["name", "template"], {"name": "license", "template": "license"}), $hash2(["name", "template", "model", "init_data"], {"name": "user", "template": "user", "model": "user", "init_data": $hash2(["email", "first_name", "last_name"], {"email": "dude@test.com", "first_name": "Dude", "last_name": "Test"})}), $hash2(["name", "template"], {"name": "welcome", "template": "welcome"})]; }; return (def.$template_configs = function() { var self = this; return [$hash2(["name"], {"name": "bp_panel"}), $hash2(["name"], {"name": "guides"}), $hash2(["name"], {"name": "license"}), $hash2(["name", "model_name"], {"name": "user", "model_name": "user"}), $hash2(["name"], {"name": "welcome_bl"}), $hash2(["name"], {"name": "welcome_br"}), $hash2(["name"], {"name": "welcome_tp"})]; }, nil) && 'template_configs'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["application"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require']); return self.$require("app/application") }; /* Generated by Opal 0.8.1 */ Opal.modules["controllers/desktop_controller"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$===', '$open_console_window', '$open_messages_window', '$open_prompt_window', '$open_users_window', '$puts', '$%', '$new']); self.$require("native"); self.$require("singleton"); self.$require("views/windows/console_window"); self.$require("views/windows/crud_window"); self.$require("views/windows/message_window"); return (function($base, $super) { function $DesktopController(){}; var self = $DesktopController = $klass($base, $super, 'DesktopController', $DesktopController); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); def.$handle_action = function(action) { var self = this, $case = nil; return (function() {$case = action;if ("open_console_window"['$===']($case)) {return self.$open_console_window()}else if ("open_messages_window"['$===']($case)) {return self.$open_messages_window()}else if ("open_prompt_window"['$===']($case)) {return self.$open_prompt_window()}else if ("open_users_window"['$===']($case)) {return self.$open_users_window()}else {return self.$puts("DesktopController action %s not found"['$%'](action))}})(); }; def.$open_console_window = function() { var self = this; return $scope.get('ConsoleWindow').$new(); }; def.$open_messages_window = function() { var self = this; return $scope.get('CrudWindow').$new("message"); }; def.$open_prompt_window = function() { var self = this; return $scope.get('MessageWindow').$new("This is a prompt window", "Prompt"); }; return (def.$open_users_window = function() { var self = this; return $scope.get('CrudWindow').$new("user"); }, nil) && 'open_users_window'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["controllers/nav_bar_controller"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$===', '$open_console_window', '$open_users_window', '$puts', '$%', '$new']); self.$require("native"); self.$require("singleton"); self.$require("views/windows/console_window"); self.$require("views/windows/crud_window"); return (function($base, $super) { function $NavBarController(){}; var self = $NavBarController = $klass($base, $super, 'NavBarController', $NavBarController); var def = self.$$proto, $scope = self.$$scope; self.$include($scope.get('Singleton')); def.$handle_action = function(action) { var self = this, $case = nil; return (function() {$case = action;if ("open_console_window"['$===']($case)) {return self.$open_console_window()}else if ("open_users_window"['$===']($case)) {return self.$open_users_window()}else {return self.$puts("NavBarController action %s not found"['$%'](action))}})(); }; def.$open_console_window = function() { var self = this; return $scope.get('ConsoleWindow').$new(); }; return (def.$open_users_window = function() { var self = this; return $scope.get('CrudWindow').$new("user"); }, nil) && 'open_users_window'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["controllers/nav_panel_controller"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass; Opal.add_stubs(['$require', '$include', '$attr_accessor', '$===', '$select_page', '$puts', '$%', '$set_selection', '$content_panel', '$desktop']); self.$require("native"); self.$require("singleton"); return (function($base, $super) { function $NavPanelController(){}; var self = $NavPanelController = $klass($base, $super, 'NavPanelController', $NavPanelController); var def = self.$$proto, $scope = self.$$scope, TMP_1; self.$include($scope.get('Singleton')); self.$attr_accessor("desktop"); def.$initialize = TMP_1 = function() {var $zuper = $slice.call(arguments, 0); var self = this, $iter = TMP_1.$$p, $yield = $iter || nil; TMP_1.$$p = null; Opal.find_super_dispatcher(self, 'initialize', TMP_1, $iter).apply(self, $zuper); return self.desktop = nil; }; def.$handle_action = function(action, arg) { var self = this, $case = nil; if (arg == null) { arg = nil } return (function() {$case = action;if ("select_page"['$===']($case)) {return self.$select_page(arg)}else {return self.$puts("NavPanelController action %s not found"['$%'](action))}})(); }; return (def.$select_page = function(page_tag) { var self = this; return self.$desktop().$content_panel().$set_selection(page_tag); }, nil) && 'select_page'; })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["models/panel_model"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_accessor', '$first', '$data_config', '$default=', '$[]']); self.$require("data/model"); return (function($base, $super) { function $PanelModel(){}; var self = $PanelModel = $klass($base, $super, 'PanelModel', $PanelModel); var def = self.$$proto, $scope = self.$$scope; self.$attr_accessor("title"); self.$attr_accessor("body"); Opal.defs(self, '$api_resource_name', function() { var self = this; return nil; }); Opal.defs(self, '$data_config', function() { var self = this; return [$hash2(["id"], {"id": "title"}), $hash2(["id"], {"id": "body"})]; }); Opal.defs(self, '$grid_config', function() { var self = this; return self.$data_config().$first(); }); return (def.$initialize = function(record) { var $a, $b, self = this; if (record == null) { record = $hash2([], {}) } (($a = [""]), $b = record, $b['$default='].apply($b, $a), $a[$a.length-1]); self.title = record['$[]']("title"); return self.body = record['$[]']("body"); }, nil) && 'initialize'; })(self, $scope.get('Model')); }; /* Generated by Opal 0.8.1 */ Opal.modules["erb"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $module = Opal.module; Opal.add_stubs(['$require', '$module_function']); self.$require("template"); return (function($base, $super) { function $ERB(){}; var self = $ERB = $klass($base, $super, 'ERB', $ERB); var def = self.$$proto, $scope = self.$$scope; return (function($base) { var self = $module($base, 'Util'); var def = self.$$proto, $scope = self.$$scope; var escapes = { '&': '&', '<': '<', '>': '>', '"': '"', "'": '''}; var escape_regexp = /[&<>"']/g; Opal.defn(self, '$html_escape', function(str) { var self = this; return ("" + str).replace(escape_regexp, function (m) { return escapes[m] }); }); Opal.defn(self, '$h', def.$html_escape); self.$module_function("h"); self.$module_function("html_escape"); })(self) })(self, null); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/bp_panel"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$append=', '$title', '$body', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this, $a, $b; if (output_buffer == null) output_buffer = nil; output_buffer.$append("
\n
\n

"); (($a = [(self.$title())]), $b = output_buffer, $b['$append='].apply($b, $a), $a[$a.length-1]); output_buffer.$append("

\n
\n
\n "); (($a = [(self.$body())]), $b = output_buffer, $b['$append='].apply($b, $a), $a[$a.length-1]); output_buffer.$append("\n
\n
\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "bp_panel"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/guides"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this; if (output_buffer == null) output_buffer = nil; output_buffer.$append("

Guide information to be written.

\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "guides"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/license"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this; if (output_buffer == null) output_buffer = nil; output_buffer.$append("The MIT License (MIT)\n\n

Copyright (c) 2016 Peter Fisk

\n\n

Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:

\n\n

The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.

\n\n

THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n THE SOFTWARE.

\n\n\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "license"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/user"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$append=', '$email', '$first_name', '$last_name', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this, $a, $b; if (output_buffer == null) output_buffer = nil; output_buffer.$append("
\n
\n

User Profile

\n
\n
\n Email "); (($a = [(self.$email())]), $b = output_buffer, $b['$append='].apply($b, $a), $a[$a.length-1]); output_buffer.$append("
\n First name "); (($a = [(self.$first_name())]), $b = output_buffer, $b['$append='].apply($b, $a), $a[$a.length-1]); output_buffer.$append("
\n Last name "); (($a = [(self.$last_name())]), $b = output_buffer, $b['$append='].apply($b, $a), $a[$a.length-1]); output_buffer.$append("
\n
\n
\n\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "user"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/welcome_bl"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this; if (output_buffer == null) output_buffer = nil; output_buffer.$append("\n
\n \n \n \n \n \n
 1\n 2\n 3\n 4\n 5\n 6\n 7\n 8\n 9\n10\n11\n12\n13\n14\n15\n16\n17\n18\n19\n20\n21\n22\n23\n24\n25\n26\n27\n28\n29\n30\n31\n32\n33\n34\n35\n36\n37\n38\n39\n40\n41\n42\n43\n44\n45\n46\n47\n48\n49\n50\n51\n52\n53\n54\n55\n56\n57\n58\n59\n60\n61\n62\n63\n64\n65\n66\n67\n68\n69\n70\n71\n72\n73\n74\n75\n76\n77\n78\n79\n80\n81\n82\n83\n84\n85\n86\n87
\n
class DemosPage < Container\n\tattr_reader :tabpage_crud_panels\n\tattr_reader :tabpage_crud_panels_messages\n\tattr_reader :tabpage_crud_panels_tabview\n\tattr_reader :tabpage_crud_panels_users\n\tattr_reader :tabpage_desktop\n\tattr_reader :tabpage_formatted_lists\n\tattr_reader :tabpage_html_templates\n\tattr_reader :tabview\n\n\tdef add_items\n\t\tadd_tabview\n\tend\n\n\tdef add_tab_pages\n\t\tadd_tab_page_desktop\n\t\tadd_tab_page_html_templates\n\t\tadd_tab_page_formatted_lists\n\t\tadd_tab_page_crud_panels\n\tend\n\n\tdef add_tab_page_crud_panels\n\t\t@tabpage_crud_panels_tabview = TabView.new\n\t\t@tabpage_crud_panels = TabPage.new 'Crud Panels', tabpage_crud_panels_tabview\n\t\ttabview.add tabpage_crud_panels\n\t\tadd_tab_page_crud_panels_tab_page_messages\n\t\tadd_tab_page_crud_panels_tab_page_users\n\tend\n\n\tdef add_tab_page_crud_panels_tab_page_messages\n\t\tmessages_panel = CrudPanel.new :message\n\t\t@tabpage_crud_panels_messages = TabPage.new 'Messages', messages_panel\n\t\ttabpage_crud_panels_tabview.add tabpage_crud_panels_messages\n\tend\n\n\tdef add_tab_page_crud_panels_tab_page_users\n\t\tusers_panel = CrudPanel.new :user\n\t\t@tabpage_crud_panels_users = TabPage.new 'Users', users_panel\n\t\ttabpage_crud_panels_tabview.add @tabpage_crud_panels_users\n\tend\n\n\tdef add_tab_page_desktop\n\t\ticons = [\n\t\t\t\t{label: 'Console', action: :open_console_window},\n\t\t\t\t{label: 'Messages', action: :open_messages_window},\n\t\t\t\t{label: 'Prompt', action: :open_prompt_window},\n\t\t\t\t{label: 'Users', action: :open_users_window}\n\t\t]\n\t\tpanel = DesktopPanel.new DesktopController, icons\n\t\t@tabpage_desktop = TabPage.new 'Desktop', panel\n\t\ttabview.add tabpage_desktop\n\tend\n\n\tdef add_tab_page_formatted_lists\n\t\tformatted_list = FormList.new :user, :user\n\t\tformatted_list.add_record({\n\t\t\t\t                          email: 'dude@test.com',\n\t\t\t\t                          first_name: 'Dude',\n\t\t\t\t                          last_name: 'Test'\n\t\t                          })\n\t\tformatted_list.add_record({\n\t\t\t\t                          email: 'dudette@test.com',\n\t\t\t\t                          first_name: 'Dudette',\n\t\t\t\t                          last_name: 'Testette'\n\t\t                          })\n\t\tformatted_list.on_select lambda { |x| puts x[:data] unless x.nil? }\n\t\t@tabpage_formatted_lists = TabPage.new 'Formatted Lists', formatted_list\n\t\ttabview.add tabpage_formatted_lists\n\tend\n\n\tdef add_tab_page_html_templates\n\t\thtml = HtmlManager.get_panel :user\n\t\t@tabpage_html_templates = TabPage.new 'Html Templates', html\n\t\ttabview.add tabpage_html_templates\n\tend\n\n\tdef add_tabview\n\t\t@tabview = TabView.new\n\t\tadd tabview, {flex: 1}\n\t\tadd_tab_pages\n\tend\n\n\tdef initial_background_color\n\t\tWHITE\n\tend\n\nend\n
\n
\n
\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "welcome_bl"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/welcome_br"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this; if (output_buffer == null) output_buffer = nil; output_buffer.$append("

An introduction to RailsQx classes will go here.

\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "welcome_br"); }; /* Generated by Opal 0.8.1 */ Opal.modules["templates/welcome_tp"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var $a, $b, TMP_1, self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice; Opal.add_stubs(['$require', '$new', '$append', '$join']); self.$require("erb"); return ($a = ($b = $scope.get('Template')).$new, $a.$$p = (TMP_1 = function(output_buffer){var self = TMP_1.$$s || this; if (output_buffer == null) output_buffer = nil; output_buffer.$append("
\n RailsQx is a framework for developing Rich Internet Applications\n using Ruby-on-Rails on the server-side and the Qooxdoo JavaScript libraries\n for client-side layout, and widgets.\n\n Styling is done using Twitter Bootstrap and client-side application logic is written in\n Ruby (with EBR templating).\n\n Client-side Ruby code is automatically converted to JavaScript by RoR Sprockets during deployment.\n
\n"); return output_buffer.$join();}, TMP_1.$$s = self, TMP_1), $a).call($b, "welcome_tp"); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/pages/demos_page"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$add_tabview', '$add_tab_page_desktop', '$add_tab_page_html_templates', '$add_tab_page_formatted_lists', '$add_tab_page_crud_panels', '$new', '$tabpage_crud_panels_tabview', '$add', '$tabview', '$tabpage_crud_panels', '$add_tab_page_crud_panels_tab_page_messages', '$add_tab_page_crud_panels_tab_page_users', '$tabpage_crud_panels_messages', '$tabpage_desktop', '$add_record', '$on_select', '$lambda', '$nil?', '$puts', '$[]', '$tabpage_formatted_lists', '$get_panel', '$tabpage_html_templates', '$add_tab_pages']); self.$require("controllers/desktop_controller"); self.$require("managers/html_manager"); self.$require("panels/crud_panel"); self.$require("widgets/form_list"); self.$require("widgets/tab_page"); self.$require("widgets/tab_view"); return (function($base, $super) { function $DemosPage(){}; var self = $DemosPage = $klass($base, $super, 'DemosPage', $DemosPage); var def = self.$$proto, $scope = self.$$scope; def.tabpage_crud_panels_users = nil; self.$attr_reader("tabpage_crud_panels"); self.$attr_reader("tabpage_crud_panels_messages"); self.$attr_reader("tabpage_crud_panels_tabview"); self.$attr_reader("tabpage_crud_panels_users"); self.$attr_reader("tabpage_desktop"); self.$attr_reader("tabpage_formatted_lists"); self.$attr_reader("tabpage_html_templates"); self.$attr_reader("tabview"); def.$add_items = function() { var self = this; return self.$add_tabview(); }; def.$add_tab_pages = function() { var self = this; self.$add_tab_page_desktop(); self.$add_tab_page_html_templates(); self.$add_tab_page_formatted_lists(); return self.$add_tab_page_crud_panels(); }; def.$add_tab_page_crud_panels = function() { var self = this; self.tabpage_crud_panels_tabview = $scope.get('TabView').$new(); self.tabpage_crud_panels = $scope.get('TabPage').$new("Crud Panels", self.$tabpage_crud_panels_tabview()); self.$tabview().$add(self.$tabpage_crud_panels()); self.$add_tab_page_crud_panels_tab_page_messages(); return self.$add_tab_page_crud_panels_tab_page_users(); }; def.$add_tab_page_crud_panels_tab_page_messages = function() { var self = this, messages_panel = nil; messages_panel = $scope.get('CrudPanel').$new("message"); self.tabpage_crud_panels_messages = $scope.get('TabPage').$new("Messages", messages_panel); return self.$tabpage_crud_panels_tabview().$add(self.$tabpage_crud_panels_messages()); }; def.$add_tab_page_crud_panels_tab_page_users = function() { var self = this, users_panel = nil; users_panel = $scope.get('CrudPanel').$new("user"); self.tabpage_crud_panels_users = $scope.get('TabPage').$new("Users", users_panel); return self.$tabpage_crud_panels_tabview().$add(self.tabpage_crud_panels_users); }; def.$add_tab_page_desktop = function() { var self = this, icons = nil, panel = nil; icons = [$hash2(["label", "action"], {"label": "Console", "action": "open_console_window"}), $hash2(["label", "action"], {"label": "Messages", "action": "open_messages_window"}), $hash2(["label", "action"], {"label": "Prompt", "action": "open_prompt_window"}), $hash2(["label", "action"], {"label": "Users", "action": "open_users_window"})]; panel = $scope.get('DesktopPanel').$new($scope.get('DesktopController'), icons); self.tabpage_desktop = $scope.get('TabPage').$new("Desktop", panel); return self.$tabview().$add(self.$tabpage_desktop()); }; def.$add_tab_page_formatted_lists = function() { var $a, $b, TMP_1, self = this, formatted_list = nil; formatted_list = $scope.get('FormList').$new("user", "user"); formatted_list.$add_record($hash2(["email", "first_name", "last_name"], {"email": "dude@test.com", "first_name": "Dude", "last_name": "Test"})); formatted_list.$add_record($hash2(["email", "first_name", "last_name"], {"email": "dudette@test.com", "first_name": "Dudette", "last_name": "Testette"})); formatted_list.$on_select(($a = ($b = self).$lambda, $a.$$p = (TMP_1 = function(x){var self = TMP_1.$$s || this, $a; if (x == null) x = nil; if ((($a = x['$nil?']()) !== nil && (!$a.$$is_boolean || $a == true))) { return nil } else { return self.$puts(x['$[]']("data")) }}, TMP_1.$$s = self, TMP_1), $a).call($b)); self.tabpage_formatted_lists = $scope.get('TabPage').$new("Formatted Lists", formatted_list); return self.$tabview().$add(self.$tabpage_formatted_lists()); }; def.$add_tab_page_html_templates = function() { var self = this, html = nil; html = $scope.get('HtmlManager').$get_panel("user"); self.tabpage_html_templates = $scope.get('TabPage').$new("Html Templates", html); return self.$tabview().$add(self.$tabpage_html_templates()); }; return (def.$add_tabview = function() { var self = this; self.tabview = $scope.get('TabView').$new(); self.$add(self.$tabview(), $hash2(["flex"], {"flex": 1})); return self.$add_tab_pages(); }, nil) && 'add_tabview'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/pages/guides_page"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$add_guides', '$title_template', '$add']); return (function($base, $super) { function $GuidesPage(){}; var self = $GuidesPage = $klass($base, $super, 'GuidesPage', $GuidesPage); var def = self.$$proto, $scope = self.$$scope; def.$add_items = function() { var self = this; return self.$add_guides(); }; def.$add_guides = function() { var self = this, title = nil, html = nil; title = "Development Guides"; html = $scope.get('PanelHtml').$title_template(title, "guides"); return self.$add(html, $hash2(["flex"], {"flex": 1})); }; def.$initial_background_color = function() { var self = this; return $scope.get('WHITE'); }; return (def.$initial_padding = function() { var self = this; return 25; }, nil) && 'initial_padding'; })(self, $scope.get('Container')) }; /* Generated by Opal 0.8.1 */ Opal.modules["views/pages/license_page"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$add_license', '$title_template', '$add']); self.$require("views/panel_html"); return (function($base, $super) { function $LicensePage(){}; var self = $LicensePage = $klass($base, $super, 'LicensePage', $LicensePage); var def = self.$$proto, $scope = self.$$scope; def.$add_items = function() { var self = this; return self.$add_license(); }; def.$add_license = function() { var self = this, title = nil, html = nil; title = "MIT License"; html = $scope.get('PanelHtml').$title_template(title, "license"); return self.$add(html, $hash2(["flex"], {"flex": 1})); }; def.$initial_background_color = function() { var self = this; return $scope.get('WHITE'); }; return (def.$initial_padding = function() { var self = this; return 25; }, nil) && 'initial_padding'; })(self, $scope.get('Container')); }; /* Generated by Opal 0.8.1 */ Opal.modules["views/pages/welcome_page"] = function(Opal) { Opal.dynamic_require_severity = "ignore"; var self = Opal.top, $scope = Opal, nil = Opal.nil, $breaker = Opal.breaker, $slice = Opal.slice, $klass = Opal.klass, $hash2 = Opal.hash2; Opal.add_stubs(['$require', '$attr_reader', '$add_top_panel', '$add_bottom_panel', '$new', '$set_layout', '$bottom_panel', '$add', '$title_template', '$setOverflowX', '$widget', '$setOverflowY', '$top_panel']); self.$require("views/panel_html"); return (function($base, $super) { function $WelcomePage(){}; var self = $WelcomePage = $klass($base, $super, 'WelcomePage', $WelcomePage); var def = self.$$proto, $scope = self.$$scope; self.$attr_reader("bottom_panel"); self.$attr_reader("top_panel"); def.$add_items = function() { var self = this; self.$add_top_panel(); return self.$add_bottom_panel(); }; def.$add_bottom_panel = function() { var self = this, title = nil, html = nil; self.bottom_panel = $scope.get('Container').$new(); self.$bottom_panel().$set_layout($scope.get('HLayout').$new()); self.$add(self.$bottom_panel(), $hash2(["flex"], {"flex": 2})); title = "Client-side Ruby Code Sample (automatically converted to JavaScript)"; html = $scope.get('PanelHtml').$title_template(title, "welcome_bl"); html.$widget().$setOverflowX("auto"); html.$widget().$setOverflowY("auto"); return self.$bottom_panel().$add(html, $hash2(["flex"], {"flex": 1})); }; def.$add_top_panel = function() { var self = this, title = nil, html = nil; self.top_panel = $scope.get('Container').$new(); self.$add(self.$top_panel(), $hash2(["height"], {"height": 17})); title = "RailsQx Introduction"; html = $scope.get('PanelHtml').$title_template(title, "welcome_tp"); return self.$top_panel().$add(html, $hash2(["flex"], {"flex": 1})); }; return (def.$initial_background_color = function() { var self = this; return $scope.get('WHITE'); }, nil) && 'initial_background_color'; })(self, $scope.get('Container')); };