var check_lib = true;
var Errors = {getHTTPObject:function() {
  var http = null;
  if (typeof ActiveXObject != "undefined") {
    try {
      http = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        http = false;
      }
    }
  } else {
    if (window.XMLHttpRequest) {
      try {
        http = new XMLHttpRequest;
      } catch (e) {
        http = null;
      }
    }
  }
  return http;
}, load:function(srcUrl, callback, method) {
  var http = this.getHTTPObject();
  if (!http || !srcUrl) {
    return;
  }
  var url = srcUrl;
  url += url.indexOf("?") + 1 ? "&" : "?";
  url += "uid=" + (new Date).getTime();
  var parameters = null;
  if (method == "POST") {
    var parts = url.split("?");
    url = parts[0];
    parameters = parts[1];
  }
  http.open(method, url, true);
  if (method == "POST") {
    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    http.setRequestHeader("Content-length", parameters.length);
    http.setRequestHeader("Connection", "close");
  }
  http.onreadystatechange = function() {
    if (http.readyState == 4) {
      if (http.status == 200) {
        var result = "";
        if (http.responseText) {
          result = http.responseText;
        }
        if (callback) {
          callback(result);
        }
      }
    }
  };
  http.send(parameters);
}, handler:function(msg, url, line) {
  var error = '<b style="color:#ff0066">JavaScript Error</b>\n<br/>\n' + "Message: " + msg + "\n<br>\n" + "Url: " + url + "\n<br>\n" + "Line: " + line + "\n<br>\n";
  var error_alert = "JavaScript Error\n" + "Message: " + msg + "\n\n" + "Url: " + url + "\n\n" + "Line: " + line + "\n\n";
  if (navigator && navigator.userAgent) {
    error = error + "userAgent: " + navigator.userAgent;
  }
  var dialog = document.createElement("div");
  dialog.className = "errordialog";
  dialog.innerHTML = error;
  if (document && (document.body && document.body.appendChild)) {
    document.body.appendChild(dialog);
  } else {
    alert(error_alert);
  }
  Errors.post_error({msg:msg, url:url, line:line, userAgent:navigator.userAgent});
  return true;
}, post_error:function(params) {
  var url = "handlers/clientError.axd?";
  for (var i in params) {
    if (params.hasOwnProperty(i)) {
      url += i + "=" + encodeURI(params[i]) + "&";
    }
  }
  this.load(url, null, "POST");
}};
(function() {
  this.MooTools = {version:"1.4.5", build:"ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0"};
  var typeOf = this.typeOf = function(item) {
    if (item == null) {
      return "null";
    }
    if (item.$family != null) {
      return item.$family();
    }
    if (item.nodeName) {
      if (item.nodeType == 1) {
        return "element";
      }
      if (item.nodeType == 3) {
        return/\S/.test(item.nodeValue) ? "textnode" : "whitespace";
      }
    } else {
      if (typeof item.length == "number") {
        if (item.callee) {
          return "arguments";
        }
        if ("item" in item) {
          return "collection";
        }
      }
    }
    return typeof item;
  };
  var instanceOf = this.instanceOf = function(item, object) {
    if (item == null) {
      return false;
    }
    var constructor = item.$constructor || item.constructor;
    while (constructor) {
      if (constructor === object) {
        return true;
      }
      constructor = constructor.parent;
    }
    if (!item.hasOwnProperty) {
      return false;
    }
    return item instanceof object;
  };
  var Function = this.Function;
  var enumerables = true;
  for (var i in{toString:1}) {
    enumerables = null;
  }
  if (enumerables) {
    enumerables = ["hasOwnProperty", "valueOf", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "constructor"];
  }
  Function.prototype.overloadSetter = function(usePlural) {
    var self = this;
    return function(a, b) {
      if (a == null) {
        return this;
      }
      if (usePlural || typeof a != "string") {
        for (var k in a) {
          self.call(this, k, a[k]);
        }
        if (enumerables) {
          for (var i = enumerables.length;i--;) {
            k = enumerables[i];
            if (a.hasOwnProperty(k)) {
              self.call(this, k, a[k]);
            }
          }
        }
      } else {
        self.call(this, a, b);
      }
      return this;
    };
  };
  Function.prototype.overloadGetter = function(usePlural) {
    var self = this;
    return function(a) {
      var args, result;
      if (typeof a != "string") {
        args = a;
      } else {
        if (arguments.length > 1) {
          args = arguments;
        } else {
          if (usePlural) {
            args = [a];
          }
        }
      }
      if (args) {
        result = {};
        for (var i = 0;i < args.length;i++) {
          result[args[i]] = self.call(this, args[i]);
        }
      } else {
        result = self.call(this, a);
      }
      return result;
    };
  };
  Function.prototype.extend = function(key, value) {
    this[key] = value;
  }.overloadSetter();
  Function.prototype.implement = function(key, value) {
    this.prototype[key] = value;
  }.overloadSetter();
  var slice = Array.prototype.slice;
  Function.from = function(item) {
    return typeOf(item) == "function" ? item : function() {
      return item;
    };
  };
  Array.from = function(item) {
    if (item == null) {
      return[];
    }
    return mooType.isEnumerable(item) && typeof item != "string" ? typeOf(item) == "array" ? item : slice.call(item) : [item];
  };
  Number.from = function(item) {
    var number = parseFloat(item);
    return isFinite(number) ? number : null;
  };
  String.from = function(item) {
    return item + "";
  };
  Function.implement({mHide:function() {
    this.$hidden = true;
    return this;
  }, protect:function() {
    this.$protected = true;
    return this;
  }});
  var mooType = this.mooType = this.mooType = function(name, object) {
    if (name) {
      var lower = name.toLowerCase();
      var typeCheck = function(item) {
        return typeOf(item) == lower;
      };
      mooType["is" + name] = typeCheck;
      if (object != null) {
        object.prototype.$family = function() {
          return lower;
        }.mHide();
      }
    }
    if (object == null) {
      return null;
    }
    object.extend(this);
    object.$constructor = mooType;
    object.prototype.$constructor = object;
    return object;
  };
  var toString = Object.prototype.toString;
  mooType.isEnumerable = function(item) {
    return item != null && (typeof item.length == "number" && toString.call(item) != "[object Function]");
  };
  var hooks = {};
  var hooksOf = function(object) {
    var type = typeOf(object.prototype);
    return hooks[type] || (hooks[type] = []);
  };
  var implement = function(name, method) {
    if (method && method.$hidden) {
      return;
    }
    var hooks = hooksOf(this);
    for (var i = 0;i < hooks.length;i++) {
      var hook = hooks[i];
      if (typeOf(hook) == "type") {
        implement.call(hook, name, method);
      } else {
        hook.call(this, name, method);
      }
    }
    var previous = this.prototype[name];
    if (previous == null || !previous.$protected) {
      this.prototype[name] = method;
    }
    if (this[name] == null && typeOf(method) == "function") {
      extend.call(this, name, function(item) {
        return method.apply(item, slice.call(arguments, 1));
      });
    }
  };
  var extend = function(name, method) {
    if (method && method.$hidden) {
      return;
    }
    var previous = this[name];
    if (previous == null || !previous.$protected) {
      this[name] = method;
    }
  };
  mooType.implement({implement:implement.overloadSetter(), extend:extend.overloadSetter(), alias:function(name, existing) {
    implement.call(this, name, this.prototype[existing]);
  }.overloadSetter(), mirror:function(hook) {
    hooksOf(this).push(hook);
    return this;
  }});
  new mooType("mooType", mooType);
  var force = function(name, object, methods) {
    var isType = object != Object, prototype = object.prototype;
    if (isType) {
      object = new mooType(name, object);
    }
    for (var i = 0, l = methods.length;i < l;i++) {
      var key = methods[i], generic = object[key], proto = prototype[key];
      if (generic) {
        generic.protect();
      }
      if (isType && proto) {
        object.implement(key, proto.protect());
      }
    }
    if (isType) {
      var methodsEnumerable = prototype.propertyIsEnumerable(methods[0]);
      object.forEachMethod = function(fn) {
        if (!methodsEnumerable) {
          for (var i = 0, l = methods.length;i < l;i++) {
            fn.call(prototype, prototype[methods[i]], methods[i]);
          }
        }
        for (var key in prototype) {
          fn.call(prototype, prototype[key], key);
        }
      };
    }
    return force;
  };
  force("String", String, ["charAt", "charCodeAt", "concat", "indexOf", "lastIndexOf", "match", "quote", "replace", "search", "slice", "split", "substr", "substring", "trim", "toLowerCase", "toUpperCase"])("Array", Array, ["pop", "push", "reverse", "shift", "sort", "splice", "unshift", "concat", "join", "slice", "indexOf", "lastIndexOf", "filter", "forEach", "every", "map", "some", "reduce", "reduceRight"])("Number", Number, ["toExponential", "toFixed", "toLocaleString", "toPrecision"])("Function", 
  Function, ["apply", "call", "bind"])("RegExp", RegExp, ["exec", "test"])("Object", Object, ["create", "defineProperty", "defineProperties", "keys", "getPrototypeOf", "getOwnPropertyDescriptor", "getOwnPropertyNames", "preventExtensions", "isExtensible", "seal", "isSealed", "freeze", "isFrozen"])("Date", Date, ["now"]);
  Object.extend = extend.overloadSetter();
  Date.extend("now", function() {
    return+new Date;
  });
  new mooType("Boolean", Boolean);
  Number.prototype.$family = function() {
    return isFinite(this) ? "number" : "null";
  }.mHide();
  Number.extend("random", function(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  });
  var hasOwnProperty = Object.prototype.hasOwnProperty;
  Object.extend("forEach", function(object, fn, bind) {
    for (var key in object) {
      if (hasOwnProperty.call(object, key)) {
        fn.call(bind, object[key], key, object);
      }
    }
  });
  Object.each = Object.forEach;
  Array.implement({forEach:function(fn, bind) {
    for (var i = 0, l = this.length;i < l;i++) {
      if (i in this) {
        fn.call(bind, this[i], i, this);
      }
    }
  }, each:function(fn, bind) {
    Array.forEach(this, fn, bind);
    return this;
  }});
  var cloneOf = function(item) {
    switch(typeOf(item)) {
      case "array":
        return item.clone();
      case "object":
        return Object.clone(item);
      default:
        return item;
    }
  };
  Array.implement("clone", function() {
    var i = this.length, clone = new Array(i);
    while (i--) {
      clone[i] = cloneOf(this[i]);
    }
    return clone;
  });
  var mergeOne = function(source, key, current) {
    switch(typeOf(current)) {
      case "object":
        if (typeOf(source[key]) == "object") {
          Object.merge(source[key], current);
        } else {
          source[key] = Object.clone(current);
        }
        break;
      case "array":
        source[key] = current.clone();
        break;
      default:
        source[key] = current;
    }
    return source;
  };
  Object.extend({merge:function(source, k, v) {
    if (typeOf(k) == "string") {
      return mergeOne(source, k, v);
    }
    for (var i = 1, l = arguments.length;i < l;i++) {
      var object = arguments[i];
      for (var key in object) {
        mergeOne(source, key, object[key]);
      }
    }
    return source;
  }, clone:function(object) {
    var clone = {};
    for (var key in object) {
      clone[key] = cloneOf(object[key]);
    }
    return clone;
  }, append:function(original) {
    for (var i = 1, l = arguments.length;i < l;i++) {
      var extended = arguments[i] || {};
      for (var key in extended) {
        original[key] = extended[key];
      }
    }
    return original;
  }});
  ["Object", "WhiteSpace", "TextNode", "Collection", "Arguments"].each(function(name) {
    new mooType(name);
  });
  var UID = Date.now();
  String.extend("uniqueID", function() {
    return(UID++).toString(36);
  });
})();
Array.implement({every:function(fn, bind) {
  for (var i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this && !fn.call(bind, this[i], i, this)) {
      return false;
    }
  }
  return true;
}, filter:function(fn, bind) {
  var results = [];
  for (var value, i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this) {
      value = this[i];
      if (fn.call(bind, value, i, this)) {
        results.push(value);
      }
    }
  }
  return results;
}, indexOf:function(item, from) {
  var length = this.length >>> 0;
  for (var i = from < 0 ? Math.max(0, length + from) : from || 0;i < length;i++) {
    if (this[i] === item) {
      return i;
    }
  }
  return-1;
}, map:function(fn, bind) {
  var length = this.length >>> 0, results = Array(length);
  for (var i = 0;i < length;i++) {
    if (i in this) {
      results[i] = fn.call(bind, this[i], i, this);
    }
  }
  return results;
}, some:function(fn, bind) {
  for (var i = 0, l = this.length >>> 0;i < l;i++) {
    if (i in this && fn.call(bind, this[i], i, this)) {
      return true;
    }
  }
  return false;
}, clean:function() {
  return this.filter(function(item) {
    return item != null;
  });
}, invoke:function(methodName) {
  var args = Array.slice(arguments, 1);
  return this.map(function(item) {
    return item[methodName].apply(item, args);
  });
}, associate:function(keys) {
  var obj = {}, length = Math.min(this.length, keys.length);
  for (var i = 0;i < length;i++) {
    obj[keys[i]] = this[i];
  }
  return obj;
}, link:function(object) {
  var result = {};
  for (var i = 0, l = this.length;i < l;i++) {
    for (var key in object) {
      if (object[key](this[i])) {
        result[key] = this[i];
        delete object[key];
        break;
      }
    }
  }
  return result;
}, contains:function(item, from) {
  return this.indexOf(item, from) != -1;
}, append:function(array) {
  this.push.apply(this, array);
  return this;
}, getLast:function() {
  return this.length ? this[this.length - 1] : null;
}, getRandom:function() {
  return this.length ? this[Number.random(0, this.length - 1)] : null;
}, include:function(item) {
  if (!this.contains(item)) {
    this.push(item);
  }
  return this;
}, combine:function(array) {
  for (var i = 0, l = array.length;i < l;i++) {
    this.include(array[i]);
  }
  return this;
}, erase:function(item) {
  for (var i = this.length;i--;) {
    if (this[i] === item) {
      this.splice(i, 1);
    }
  }
  return this;
}, empty:function() {
  this.length = 0;
  return this;
}, flatten:function() {
  var array = [];
  for (var i = 0, l = this.length;i < l;i++) {
    var type = typeOf(this[i]);
    if (type == "null") {
      continue;
    }
    array = array.concat(type == "array" || (type == "collection" || (type == "arguments" || instanceOf(this[i], Array))) ? Array.flatten(this[i]) : this[i]);
  }
  return array;
}, pick:function() {
  for (var i = 0, l = this.length;i < l;i++) {
    if (this[i] != null) {
      return this[i];
    }
  }
  return null;
}, hexToRgb:function(array) {
  if (this.length != 3) {
    return null;
  }
  var rgb = this.map(function(value) {
    if (value.length == 1) {
      value += value;
    }
    return value.toInt(16);
  });
  return array ? rgb : "rgb(" + rgb + ")";
}, rgbToHex:function(array) {
  if (this.length < 3) {
    return null;
  }
  if (this.length == 4 && (this[3] == 0 && !array)) {
    return "transparent";
  }
  var hex = [];
  for (var i = 0;i < 3;i++) {
    var bit = (this[i] - 0).toString(16);
    hex.push(bit.length == 1 ? "0" + bit : bit);
  }
  return array ? hex : "#" + hex.join("");
}});
String.implement({test:function(regex, params) {
  return(typeOf(regex) == "regexp" ? regex : new RegExp("" + regex, params)).test(this);
}, contains:function(string, separator) {
  return separator ? (separator + this + separator).indexOf(separator + string + separator) > -1 : String(this).indexOf(string) > -1;
}, trim:function() {
  return String(this).replace(/^\s+|\s+$/g, "");
}, clean:function() {
  return String(this).replace(/\s+/g, " ").trim();
}, camelCase:function() {
  return String(this).replace(/-\D/g, function(match) {
    return match.charAt(1).toUpperCase();
  });
}, hyphenate:function() {
  return String(this).replace(/[A-Z]/g, function(match) {
    return "-" + match.charAt(0).toLowerCase();
  });
}, capitalize:function() {
  return String(this).replace(/\b[a-z]/g, function(match) {
    return match.toUpperCase();
  });
}, escapeRegExp:function() {
  return String(this).replace(/([-.*+?^${}()|[\]\/\\])/g, "\\$1");
}, toInt:function(base) {
  return parseInt(this, base || 10);
}, toFloat:function() {
  return parseFloat(this);
}, hexToRgb:function(array) {
  var hex = String(this).match(/^#?(\w{1,2})(\w{1,2})(\w{1,2})$/);
  return hex ? hex.slice(1).hexToRgb(array) : null;
}, rgbToHex:function(array) {
  var rgb = String(this).match(/\d{1,3}/g);
  return rgb ? rgb.rgbToHex(array) : null;
}, substitute:function(object, regexp) {
  return String(this).replace(regexp || /\\?\{([^{}]+)\}/g, function(match, name) {
    if (match.charAt(0) == "\\") {
      return match.slice(1);
    }
    return object[name] != null ? object[name] : "";
  });
}});
Function.extend({attempt:function() {
  for (var i = 0, l = arguments.length;i < l;i++) {
    try {
      return arguments[i]();
    } catch (e) {
    }
  }
  return null;
}});
Function.implement({attempt:function(args, bind) {
  try {
    return this.apply(bind, Array.from(args));
  } catch (e) {
  }
  return null;
}, bind:function(that) {
  var self = this, args = arguments.length > 1 ? Array.slice(arguments, 1) : null, F = function() {
  };
  var bound = function() {
    var context = that, length = arguments.length;
    if (this instanceof bound) {
      F.prototype = self.prototype;
      context = new F;
    }
    var result = !args && !length ? self.call(context) : self.apply(context, args && length ? args.concat(Array.slice(arguments)) : args || arguments);
    return context == that ? result : context;
  };
  return bound;
}, pass:function(args, bind) {
  var self = this;
  if (args != null) {
    args = Array.from(args);
  }
  return function() {
    return self.apply(bind, args || arguments);
  };
}, delay:function(delay, bind, args) {
  return setTimeout(this.pass(args == null ? [] : args, bind), delay);
}, periodical:function(periodical, bind, args) {
  return setInterval(this.pass(args == null ? [] : args, bind), periodical);
}});
Number.implement({limit:function(min, max) {
  return Math.min(max, Math.max(min, this));
}, round:function(precision) {
  precision = Math.pow(10, precision || 0).toFixed(precision < 0 ? -precision : 0);
  return Math.round(this * precision) / precision;
}, times:function(fn, bind) {
  for (var i = 0;i < this;i++) {
    fn.call(bind, i, this);
  }
}, toFloat:function() {
  return parseFloat(this);
}, toInt:function(base) {
  return parseInt(this, base || 10);
}});
Number.alias("each", "times");
(function(math) {
  var methods = {};
  math.each(function(name) {
    if (!Number[name]) {
      methods[name] = function() {
        return Math[name].apply(null, [this].concat(Array.from(arguments)));
      };
    }
  });
  Number.implement(methods);
})(["abs", "acos", "asin", "atan", "atan2", "ceil", "cos", "exp", "floor", "log", "max", "min", "pow", "sin", "sqrt", "tan"]);
(function() {
  var Class = this.Class = new mooType("Class", function(params) {
    if (instanceOf(params, Function)) {
      params = {initialize:params};
    }
    var newClass = function() {
      reset(this);
      if (newClass.$prototyping) {
        return this;
      }
      this.$caller = null;
      var value = this.initialize ? this.initialize.apply(this, arguments) : this;
      this.$caller = this.caller = null;
      return value;
    }.extend(this).implement(params);
    newClass.$constructor = Class;
    newClass.prototype.$constructor = newClass;
    newClass.prototype.parent = parent;
    return newClass;
  });
  var parent = function() {
    if (!this.$caller) {
      throw new Error('The method "parent" cannot be called.');
    }
    var name = this.$caller.$name, parent = this.$caller.$owner.parent, previous = parent ? parent.prototype[name] : null;
    if (!previous) {
      throw new Error('The method "' + name + '" has no parent.');
    }
    return previous.apply(this, arguments);
  };
  var reset = function(object) {
    for (var key in object) {
      var value = object[key];
      switch(typeOf(value)) {
        case "object":
          var F = function() {
          };
          F.prototype = value;
          object[key] = reset(new F);
          break;
        case "array":
          object[key] = value.clone();
          break;
      }
    }
    return object;
  };
  var wrap = function(self, key, method) {
    if (method.$origin) {
      method = method.$origin;
    }
    var wrapper = function() {
      if (method.$protected && this.$caller == null) {
        throw new Error('The method "' + key + '" cannot be called.');
      }
      var caller = this.caller, current = this.$caller;
      this.caller = current;
      this.$caller = wrapper;
      var result = method.apply(this, arguments);
      this.$caller = current;
      this.caller = caller;
      return result;
    }.extend({$owner:self, $origin:method, $name:key});
    return wrapper;
  };
  var implement = function(key, value, retain) {
    if (Class.Mutators.hasOwnProperty(key)) {
      value = Class.Mutators[key].call(this, value);
      if (value == null) {
        return this;
      }
    }
    if (typeOf(value) == "function") {
      if (value.$hidden) {
        return this;
      }
      this.prototype[key] = retain ? value : wrap(this, key, value);
    } else {
      Object.merge(this.prototype, key, value);
    }
    return this;
  };
  var getInstance = function(klass) {
    klass.$prototyping = true;
    var proto = new klass;
    delete klass.$prototyping;
    return proto;
  };
  Class.implement("implement", implement.overloadSetter());
  Class.Mutators = {Extends:function(parent) {
    this.parent = parent;
    this.prototype = getInstance(parent);
  }, Implements:function(items) {
    Array.from(items).each(function(item) {
      var instance = new item;
      for (var key in instance) {
        implement.call(this, key, instance[key], true);
      }
    }, this);
  }};
})();
(function($) {
  $.support.touch = "ontouchend" in document;
  if (!$.support.touch) {
    return;
  }
  var mouseProto = $.ui.mouse.prototype;
  var _mouseInit = mouseProto._mouseInit;
  var touchHandled;
  function simulateMouseEvent(event, simulatedType) {
    if (event.originalEvent.touches.length > 1) {
      return;
    }
    event.preventDefault();
    var t = event.originalEvent.changedTouches[0];
    var simulatedEvent = document.createEvent("MouseEvents");
    simulatedEvent.initMouseEvent(simulatedType, true, true, window, 1, t.screenX, t.screenY, t.clientX, t.clientY, false, false, false, false, 0, null);
    event.target.dispatchEvent(simulatedEvent);
  }
  mouseProto._touchStart = function(event) {
    var me = this;
    if (touchHandled || !me._mouseCapture(event.originalEvent.changedTouches[0])) {
      return;
    }
    touchHandled = true;
    me._touchMoved = false;
    simulateMouseEvent(event, "mouseover");
    simulateMouseEvent(event, "mousemove");
    simulateMouseEvent(event, "mousedown");
  };
  mouseProto._touchMove = function(event) {
    if (!touchHandled) {
      return;
    }
    this._touchMoved = true;
    simulateMouseEvent(event, "mousemove");
  };
  mouseProto._touchEnd = function(event) {
    if (!touchHandled) {
      return;
    }
    simulateMouseEvent(event, "mouseup");
    simulateMouseEvent(event, "mouseout");
    if (!this._touchMoved) {
      simulateMouseEvent(event, "click");
    }
    touchHandled = false;
  };
  mouseProto._mouseInit = function() {
    var me = this;
    me.element.bind("touchstart", $.proxy(me, "_touchStart")).bind("touchmove", $.proxy(me, "_touchMove")).bind("touchend", $.proxy(me, "_touchEnd"));
    _mouseInit.call(me);
  };
})(jQuery);
var _global_timer_ = null;
(function($) {
  $.fn.longClickContextMenu = function() {
    $(this).longclick(function(e) {
      var t = e.currentTarget;
      var o = $(e.currentTarget).offset();
      if (e.pageX - o.left > t.clientWidth) {
        return;
      }
      var element = $(e.target);
      element.contextMenu({x:e.clientX, y:e.clientY});
    });
  };
  var $_fn_click = $.fn.click;
  $.fn.click = function click(duration, handler) {
    if (!handler) {
      return $_fn_click.apply(this, arguments);
    }
    return $(this).bind(type, handler);
  };
  $.fn.longclick = function longclick() {
    var args = [].splice.call(arguments, 0), handler = args.pop(), duration = args.pop(), $this = $(this);
    return handler ? $this.click(duration, handler) : $this.trigger(type);
  };
  $.longclick = {duration:1E3};
  $.event.special.longclick = {setup:function(data, namespaces) {
    if (!/iphone|ipad|ipod/i.test(navigator.userAgent)) {
      $(this).bind(_mousedown_, schedule).bind([_mousemove_, _mouseup_, _mouseout_, _contextmenu_].join(" "), annul).bind(_click_, click);
    } else {
      touch_enabled(this).bind(_touchstart_, schedule).bind([_touchend_, _touchmove_, _touchcancel_].join(" "), annul).bind(_click_, click).css({WebkitUserSelect:"none"});
    }
  }, teardown:function(namespaces) {
    $(this).unbind(namespace);
  }};
  function touch_enabled(element) {
    $.each("touchstart touchmove touchend touchcancel".split(/ /), function bind(ix, it) {
      element.addEventListener(it, function trigger_jquery_event(event) {
        $(element).trigger(it);
      }, false);
    });
    return $(element);
  }
  function schedule(event) {
    if (_global_timer_) {
      return;
    }
    var element = this;
    var args = arguments;
    $(this).data(_fired_, false);
    _global_timer_ = setTimeout(scheduled, $.longclick.duration);
    function scheduled() {
      $(element).data(_fired_, true);
      event.type = type;
      jQuery.event.dispatch.apply(element, args);
    }
  }
  function annul(event) {
    if (_global_timer_) {
      clearTimeout(_global_timer_);
      _global_timer_ = null;
    }
  }
  function click(event) {
    if ($(this).data(_fired_)) {
      return event.stopImmediatePropagation() || false;
    }
  }
  var type = "longclick";
  var namespace = "." + type;
  var _mousedown_ = "mousedown" + namespace;
  var _click_ = "click" + namespace;
  var _mousemove_ = "mousemove" + namespace;
  var _mouseup_ = "mouseup" + namespace;
  var _mouseout_ = "mouseout" + namespace;
  var _contextmenu_ = "contextmenu" + namespace;
  var _touchstart_ = "touchstart" + namespace;
  var _touchend_ = "touchend" + namespace;
  var _touchmove_ = "touchmove" + namespace;
  var _touchcancel_ = "touchcancel" + namespace;
  var _duration_ = "duration" + namespace;
  var _timer_ = "timer" + namespace;
  var _fired_ = "fired" + namespace;
})(jQuery);
(function($) {
  $.fn.paginate = function(options) {
    var opts = $.extend({}, $.fn.paginate.defaults, options);
    return this.each(function() {
      $this = $(this);
      var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
      var selectedpage = o.start;
      $.fn.draw(o, $this, selectedpage);
    });
  };
  var outsidewidth_tmp = 0;
  var insidewidth = 0;
  var bName = navigator.appName;
  var bVer = navigator.appVersion;
  if (bVer.indexOf("MSIE 7.0") > 0) {
    var ver = "ie7"
  }
  $.fn.paginate.defaults = {count:5, start:12, display:5, border:true, border_color:"#fff", text_color:"#8cc59d", background_color:"black", border_hover_color:"#fff", text_hover_color:"#fff", background_hover_color:"#fff", rotate:true, images:true, mouse:"slide", onChange:function() {
    return false;
  }};
  $.fn.draw = function(o, obj, selectedpage) {
    if (o.display > o.count) {
      o.display = o.count;
    }
    $this.empty();
    if (o.images) {
      var spreviousclass = "jPag-sprevious-img";
      var previousclass = "jPag-previous-img";
      var snextclass = "jPag-snext-img";
      var nextclass = "jPag-next-img";
    } else {
      var spreviousclass = "jPag-sprevious";
      var previousclass = "jPag-previous";
      var snextclass = "jPag-snext";
      var nextclass = "jPag-next";
    }
    if (o.rotate) {
      var _rotleft = $("<div>&lt;</div>").button({icons:{primary:"ui-icon-carat-1-w"}, text:false})
    }
    $this.html('<div id="wrapper1">' + '<div id="wrapper2">' + '<div id="maincol">' + '<div id="leftcol"></div>' + '<div id="rightcol"></div>' + '<div id="centercol"></div>' + "</div>" + "</div>" + "</div>");
    var _divwrapleft = $("#leftcol").addClass("jPag-control-back");
    _divwrapleft.append(_rotleft);
    var _ulwrapdiv = $('<table cellpadding="0" cellspacing="0">').css("overflow", "hidden");
    var _ul = $("<tr>").addClass("jPag-pages");
    var c = (o.display - 1) / 2;
    var first = selectedpage - c;
    var selobj;
    for (var i = 0;i < o.count;i++) {
      var val = i + 1;
      if (val == selectedpage) {
        var _obj = $('<td class="li">').html('<span class="jPag-current">' + val + "</span>");
        selobj = _obj;
        _ul.append(_obj);
      } else {
        var _obj = $('<td class="li">').html("<a>" + val + "</a>");
        _ul.append(_obj);
      }
    }
    _ulwrapdiv.append(_ul);
    if (o.rotate) {
      var _rotright = $("<div>&gt;</div>").button({icons:{primary:"ui-icon-carat-1-e"}, text:false})
    }
    var _divwrapright = $("#rightcol").addClass("jPag-control-front");
    _divwrapright.append(_rotright);
    $("#centercol").append(_ulwrapdiv);
    var _outer = $("#centercol");
    var test_interval = null;
    function hideArrow() {
      $("#leftcol").hide();
      $("#rightcol").hide();
    }
    function showArrow() {
      $("#leftcol").show();
      $("#rightcol").show();
    }
    function testWidth() {
      if (_outer.width() == 0) {
        return;
      }
      clearInterval(test_interval);
      if (_ulwrapdiv.width() <= _outer.width()) {
        hideArrow();
      } else {
        showArrow();
      }
    }
    if (_outer.width() == 0) {
      test_interval = setInterval(testWidth, 500);
    } else {
      testWidth();
    }
    $this.addClass("jPaginate");
    if (!o.border) {
      if (o.background_color == "none") {
        var a_css = {"color":o.text_color}
      } else {
        var a_css = {"color":o.text_color, "background-color":o.background_color}
      }
      if (o.background_hover_color == "none") {
        var hover_css = {"color":o.text_hover_color}
      } else {
        var hover_css = {"color":o.text_hover_color, "background-color":o.background_hover_color}
      }
    } else {
      if (o.background_color == "none") {
        var a_css = {"color":o.text_color, "border":"1px solid " + o.border_color}
      } else {
        var a_css = {"color":o.text_color, "background-color":o.background_color, "border":"1px solid " + o.border_color}
      }
      if (o.background_hover_color == "none") {
        var hover_css = {"color":o.text_hover_color, "border":"1px solid " + o.border_hover_color}
      } else {
        var hover_css = {"color":o.text_hover_color, "background-color":o.background_hover_color, "border":"1px solid " + o.border_hover_color}
      }
    }
    $.fn.applystyle(o, $this, a_css, hover_css, _ul, _ulwrapdiv, _divwrapright);
    var outsidewidth = outsidewidth_tmp - 1;
    if (ver == "ie7") {
    } else {
    }
    if (o.mouse == "press") {
      _rotright.mousedown(function() {
        thumbs_mouse_interval = setInterval(function() {
          var left = _ulwrapdiv.parent().scrollLeft() + 5;
          _ulwrapdiv.parent().scrollLeft(left);
        }, 20);
      }).mouseup(function() {
        clearInterval(thumbs_mouse_interval);
      });
      _rotleft.mousedown(function() {
        thumbs_mouse_interval = setInterval(function() {
          var left = _ulwrapdiv.parent().scrollLeft() - 5;
          _ulwrapdiv.parent().scrollLeft(left);
        }, 20);
      }).mouseup(function() {
        clearInterval(thumbs_mouse_interval);
      });
    }
    _ulwrapdiv.find(".li").click(function(e) {
      selobj.html("<a>" + selobj.find(".jPag-current").html() + "</a>");
      var currval = $(this).find("a").html();
      $(this).html('<span class="jPag-current">' + currval + "</span>");
      selobj = $(this);
      $.fn.applystyle(o, $(this).parent().parent().parent(), a_css, hover_css, _ul, _ulwrapdiv, _divwrapright);
      var left = this.offsetLeft / 2;
      var left2 = _ulwrapdiv.scrollLeft() + left;
      var tmp = left - outsidewidth / 2;
      if (ver == "ie7") {
        _ulwrapdiv.animate({scrollLeft:left + tmp + 52 + "px"});
      } else {
        _ulwrapdiv.animate({scrollLeft:left + tmp + "px"});
      }
      o.onChange(currval);
    });
    var last = _ulwrapdiv.find(".li").eq(o.start - 1);
    last.attr("id", "tmp");
    var left = document.getElementById("tmp").offsetLeft / 2;
    last.removeAttr("id");
    var tmp = left - outsidewidth / 2;
    if (ver == "ie7") {
      _ulwrapdiv.animate({scrollLeft:left + tmp + 52 + "px"});
    } else {
      _ulwrapdiv.animate({scrollLeft:left + tmp + "px"});
    }
  };
  $.fn.applystyle = function(o, obj, a_css, hover_css, _ul, _ulwrapdiv, _divwrapright) {
    obj.find("a").css(a_css);
    obj.find("span.jPag-current").css(hover_css);
    obj.find("a").hover(function() {
      $(this).css(hover_css);
    }, function() {
      $(this).css(a_css);
    });
    insidewidth = 0;
    obj.find(".li").each(function(i, n) {
      if (i == o.display - 1) {
        outsidewidth_tmp = this.offsetLeft + this.offsetWidth;
      }
      insidewidth += this.offsetWidth;
    });
    insidewidth += 3;
  };
})(jQuery);
(function($) {
  $.extend({debounce:function(fn, timeout, ctx, invokeAsap) {
    var timer;
    return function() {
      var args = arguments;
      ctx = ctx || this;
      invokeAsap && (!timer && fn.apply(ctx, args));
      clearTimeout(timer);
      timer = setTimeout(function() {
        !invokeAsap && fn.apply(ctx, args);
        timer = null;
      }, timeout);
    };
  }, throttle:function(fn, timeout, ctx) {
    var timer, args, needInvoke;
    return function() {
      args = arguments;
      needInvoke = true;
      ctx = ctx || this;
      if (!timer) {
        (function() {
          if (needInvoke) {
            fn.apply(ctx, args);
            needInvoke = false;
            timer = setTimeout(arguments.callee, timeout);
          } else {
            timer = null;
          }
        })();
      }
    };
  }});
})(jQuery);
(function($) {
  var strings = {strConversion:{__repr:function(i) {
    switch(this.__getType(i)) {
      case "array":
      ;
      case "date":
      ;
      case "number":
        return i.toString();
      case "object":
        var o = [];
        for (x = 0;x < i.length;i++) {
          o.push(i + ": " + this.__repr(i[x]));
        }
        return o.join(", ");
      case "string":
        return i;
      default:
        return i;
    }
  }, __getType:function(i) {
    if (!i || !i.constructor) {
      return typeof i;
    }
    var match = i.constructor.toString().match(/Array|Number|String|Object|Date/);
    return match && match[0].toLowerCase() || typeof i;
  }, __pad:function(str, l, s, t) {
    var p = s || " ";
    var o = str;
    if (l - str.length > 0) {
      o = (new Array(Math.ceil(l / p.length))).join(p).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2)) + str + p.substr(0, l - t);
    }
    return o;
  }, __getInput:function(arg, args) {
    var key = arg.getKey();
    switch(this.__getType(args)) {
      case "object":
        var keys = key.split(".");
        var obj = args;
        for (var subkey = 0;subkey < keys.length;subkey++) {
          obj = obj[keys[subkey]];
        }
        if (typeof obj != "undefined") {
          if (strings.strConversion.__getType(obj) == "array") {
            return arg.getFormat().match(/\.\*/) && obj[1] || obj;
          }
          return obj;
        } else {
        }
        break;
      case "array":
        key = parseInt(key, 10);
        if (arg.getFormat().match(/\.\*/) && typeof args[key + 1] != "undefined") {
          return args[key + 1];
        } else {
          if (typeof args[key] != "undefined") {
            return args[key];
          } else {
            return key;
          }
        }
        break;
    }
    return "{" + key + "}";
  }, __formatToken:function(token, args) {
    var arg = new Argument(token, args);
    return strings.strConversion[arg.getFormat().slice(-1)](this.__getInput(arg, args), arg);
  }, d:function(input, arg) {
    var o = parseInt(input, 10);
    var p = arg.getPaddingLength();
    if (p) {
      return this.__pad(o.toString(), p, arg.getPaddingString(), 0);
    } else {
      return o;
    }
  }, i:function(input, args) {
    return this.d(input, args);
  }, o:function(input, arg) {
    var o = input.toString(8);
    if (arg.isAlternate()) {
      o = this.__pad(o, o.length + 1, "0", 0);
    }
    return this.__pad(o, arg.getPaddingLength(), arg.getPaddingString(), 0);
  }, u:function(input, args) {
    return Math.abs(this.d(input, args));
  }, x:function(input, arg) {
    var o = parseInt(input, 10).toString(16);
    o = this.__pad(o, arg.getPaddingLength(), arg.getPaddingString(), 0);
    return arg.isAlternate() ? "0x" + o : o;
  }, X:function(input, arg) {
    return this.x(input, arg).toUpperCase();
  }, e:function(input, arg) {
    return parseFloat(input, 10).toExponential(arg.getPrecision());
  }, E:function(input, arg) {
    return this.e(input, arg).toUpperCase();
  }, f:function(input, arg) {
    return this.__pad(parseFloat(input, 10).toFixed(arg.getPrecision()), arg.getPaddingLength(), arg.getPaddingString(), 0);
  }, F:function(input, args) {
    return this.f(input, args);
  }, g:function(input, arg) {
    var o = parseFloat(input, 10);
    return o.toString().length > 6 ? Math.round(o.toExponential(arg.getPrecision())) : o;
  }, G:function(input, args) {
    return this.g(input, args);
  }, c:function(input, args) {
    var match = input.match(/\w|\d/);
    return match && match[0] || "";
  }, r:function(input, args) {
    return this.__repr(input);
  }, s:function(input, args) {
    return input.toString && input.toString() || "" + input;
  }}, format:function(str, args) {
    var end = 0;
    var start = 0;
    var match = false;
    var buffer = [];
    var token = "";
    var tmp = (str || "").split("");
    for (start = 0;start < tmp.length;start++) {
      if (tmp[start] == "{" && tmp[start + 1] != "{") {
        end = str.indexOf("}", start);
        token = tmp.slice(start + 1, end).join("");
        buffer.push(strings.strConversion.__formatToken(token, typeof arguments[1] != "object" ? arguments2Array(arguments, 2) : args || []));
      } else {
        if (start > end || buffer.length < 1) {
          buffer.push(tmp[start]);
        }
      }
    }
    return buffer.length > 1 ? buffer.join("") : buffer[0];
  }, calc:function(str, args) {
    return eval(format(str, args));
  }, repeat:function(s, n) {
    return(new Array(n + 1)).join(s);
  }, UTF8encode:function(s) {
    return unescape(encodeURIComponent(s));
  }, UTF8decode:function(s) {
    return decodeURIComponent(escape(s));
  }, tpl:function() {
    var out = "", render = true;
    if (arguments.length == 2 && $.isArray(arguments[1])) {
      this[arguments[0]] = arguments[1].join("");
      return jQuery;
    }
    if (arguments.length == 2 && $.isString(arguments[1])) {
      this[arguments[0]] = arguments[1];
      return jQuery;
    }
    if (arguments.length == 1) {
      return $(this[arguments[0]]);
    }
    if (arguments.length == 2 && arguments[1] == false) {
      return this[arguments[0]];
    }
    if (arguments.length == 2 && $.isObject(arguments[1])) {
      return $($.format(this[arguments[0]], arguments[1]));
    }
    if (arguments.length == 3 && $.isObject(arguments[1])) {
      return arguments[2] == true ? $.format(this[arguments[0]], arguments[1]) : $($.format(this[arguments[0]], arguments[1]));
    }
  }};
  var Argument = function(arg, args) {
    this.__arg = arg;
    this.__args = args;
    this.__max_precision = parseFloat("1." + (new Array(32)).join("1"), 10).toString().length - 3;
    this.__def_precision = 6;
    this.getString = function() {
      return this.__arg;
    };
    this.getKey = function() {
      return this.__arg.split(":")[0];
    };
    this.getFormat = function() {
      var match = this.getString().split(":");
      return match && match[1] ? match[1] : "s";
    };
    this.getPrecision = function() {
      var match = this.getFormat().match(/\.(\d+|\*)/g);
      if (!match) {
        return this.__def_precision;
      } else {
        match = match[0].slice(1);
        if (match != "*") {
          return parseInt(match, 10);
        } else {
          if (strings.strConversion.__getType(this.__args) == "array") {
            return this.__args[1] && this.__args[0] || this.__def_precision;
          } else {
            if (strings.strConversion.__getType(this.__args) == "object") {
              return this.__args[this.getKey()] && this.__args[this.getKey()][0] || this.__def_precision;
            } else {
              return this.__def_precision;
            }
          }
        }
      }
    };
    this.getPaddingLength = function() {
      var match = false;
      if (this.isAlternate()) {
        match = this.getString().match(/0?#0?(\d+)/);
        if (match && match[1]) {
          return parseInt(match[1], 10);
        }
      }
      match = this.getString().match(/(0|\.)(\d+|\*)/g);
      return match && parseInt(match[0].slice(1), 10) || 0;
    };
    this.getPaddingString = function() {
      var o = "";
      if (this.isAlternate()) {
        o = " ";
      }
      if (this.getFormat().match(/#0|0#|^0|\.\d+/)) {
        o = "0";
      }
      return o;
    };
    this.getFlags = function() {
      var match = this.getString().matc(/^(0|\#|\-|\+|\s)+/);
      return match && match[0].split("") || [];
    };
    this.isAlternate = function() {
      return!!this.getFormat().match(/^0?#/);
    };
  };
  var arguments2Array = function(args, shift) {
    var o = [];
    for (l = args.length, x = (shift || 0) - 1;x < l;x++) {
      o.push(args[x]);
    }
    return o;
  };
  $.extend(strings);
})(jQuery);
(function($) {
  $.toJSON = function(o) {
    if (typeof JSON == "object" && JSON.stringify) {
      return JSON.stringify(o);
    }
    var type = typeof o;
    if (o === null) {
      return "null";
    }
    if (type == "undefined") {
      return undefined;
    }
    if (type == "number" || type == "boolean") {
      return o + "";
    }
    if (type == "string") {
      return $.quoteString(o);
    }
    if (type == "object") {
      if (typeof o.toJSON == "function") {
        return $.toJSON(o.toJSON());
      }
      if (o.constructor === Date) {
        var month = o.getUTCMonth() + 1;
        if (month < 10) {
          month = "0" + month;
        }
        var day = o.getUTCDate();
        if (day < 10) {
          day = "0" + day;
        }
        var year = o.getUTCFullYear();
        var hours = o.getUTCHours();
        if (hours < 10) {
          hours = "0" + hours;
        }
        var minutes = o.getUTCMinutes();
        if (minutes < 10) {
          minutes = "0" + minutes;
        }
        var seconds = o.getUTCSeconds();
        if (seconds < 10) {
          seconds = "0" + seconds;
        }
        var milli = o.getUTCMilliseconds();
        if (milli < 100) {
          milli = "0" + milli;
        }
        if (milli < 10) {
          milli = "0" + milli;
        }
        return'"' + year + "-" + month + "-" + day + "T" + hours + ":" + minutes + ":" + seconds + "." + milli + 'Z"';
      }
      if (o.constructor === Array) {
        var ret = [];
        for (var i = 0;i < o.length;i++) {
          ret.push($.toJSON(o[i]) || "null");
        }
        return "[" + ret.join(",") + "]";
      }
      var pairs = [];
      for (var k in o) {
        var name;
        var type = typeof k;
        if (type == "number") {
          name = '"' + k + '"';
        } else {
          if (type == "string") {
            name = $.quoteString(k);
          } else {
            continue;
          }
        }
        if (typeof o[k] == "function") {
          continue;
        }
        var val = $.toJSON(o[k]);
        pairs.push(name + ":" + val);
      }
      return "{" + pairs.join(", ") + "}";
    }
  };
  $.evalJSON = function(src) {
    if (typeof JSON == "object" && JSON.parse) {
      return JSON.parse(src);
    }
    return eval("(" + src + ")");
  };
  $.secureEvalJSON = function(src) {
    if (typeof JSON == "object" && JSON.parse) {
      return JSON.parse(src);
    }
    var filtered = src;
    filtered = filtered.replace(/\\["\\\/bfnrtu]/g, "@");
    filtered = filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]");
    filtered = filtered.replace(/(?:^|:|,)(?:\s*\[)+/g, "");
    if (/^[\],:{}\s]*$/.test(filtered)) {
      return eval("(" + src + ")");
    } else {
      throw new SyntaxError("Error parsing JSON, source is not valid.");
    }
  };
  $.quoteString = function(string) {
    if (string.match(_escapeable)) {
      return'"' + string.replace(_escapeable, function(a) {
        var c = _meta[a];
        if (typeof c === "string") {
          return c;
        }
        c = a.charCodeAt();
        return "\\u00" + Math.floor(c / 16).toString(16) + (c % 16).toString(16);
      }) + '"';
    }
    return'"' + string + '"';
  };
  var _escapeable = /["\\\x00-\x1f\x7f-\x9f]/g;
  var _meta = {"\b":"\\b", "\t":"\\t", "\n":"\\n", "\f":"\\f", "\r":"\\r", '"':'\\"', "\\":"\\\\"};
})(jQuery);
(function($) {
  $.fn.addOption = function() {
    var add = function(el, v, t, sO) {
      var option = document.createElement("option");
      option.value = v, option.text = t;
      var o = el.options;
      var oL = o.length;
      if (!el.cache) {
        el.cache = {};
        for (var i = 0;i < oL;i++) {
          el.cache[o[i].value] = i;
        }
      }
      if (typeof el.cache[v] == "undefined") {
        el.cache[v] = oL;
      }
      el.options[el.cache[v]] = option;
      if (sO) {
        option.selected = true;
      }
    };
    var a = arguments;
    if (a.length == 0) {
      return this;
    }
    var sO = true;
    var m = false;
    var items, v, t;
    if (typeof a[0] == "object") {
      m = true;
      items = a[0];
    }
    if (a.length >= 2) {
      if (typeof a[1] == "boolean") {
        sO = a[1];
      } else {
        if (typeof a[2] == "boolean") {
          sO = a[2];
        }
      }
      if (!m) {
        v = a[0];
        t = a[1];
      }
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      if (m) {
        for (var item in items) {
          add(this, item, items[item], sO);
        }
      } else {
        add(this, v, t, sO);
      }
    });
    return this;
  };
  $.fn.ajaxAddOption = function(url, params, select, fn, args) {
    if (typeof url != "string") {
      return this;
    }
    if (typeof params != "object") {
      params = {};
    }
    if (typeof select != "boolean") {
      select = true;
    }
    this.each(function() {
      var el = this;
      $.getJSON(url, params, function(r) {
        $(el).addOption(r, select);
        if (typeof fn == "function") {
          if (typeof args == "object") {
            fn.apply(el, args);
          } else {
            fn.call(el);
          }
        }
      });
    });
    return this;
  };
  $.fn.removeOption = function() {
    var a = arguments;
    if (a.length == 0) {
      return this;
    }
    var ta = typeof a[0];
    var v, index;
    if (ta == "string" || (ta == "object" || ta == "function")) {
      v = a[0];
      if (v.constructor == Array) {
        var l = v.length;
        for (var i = 0;i < l;i++) {
          this.removeOption(v[i], a[1]);
        }
        return this;
      }
    } else {
      if (ta == "number") {
        index = a[0];
      } else {
        return this;
      }
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      if (this.cache) {
        this.cache = null;
      }
      var remove = false;
      var o = this.options;
      if (!!v) {
        var oL = o.length;
        for (var i = oL - 1;i >= 0;i--) {
          if (v.constructor == RegExp) {
            if (o[i].value.match(v)) {
              remove = true;
            }
          } else {
            if (o[i].value == v) {
              remove = true;
            }
          }
          if (remove && a[1] === true) {
            remove = o[i].selected;
          }
          if (remove) {
            o[i] = null;
          }
          remove = false;
        }
      } else {
        if (a[1] === true) {
          remove = o[index].selected;
        } else {
          remove = true;
        }
        if (remove) {
          this.remove(index);
        }
      }
    });
    return this;
  };
  $.fn.sortOptions = function(ascending) {
    var sel = $(this).selectedValues();
    var a = typeof ascending == "undefined" ? true : !!ascending;
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return;
      }
      var o = this.options;
      var oL = o.length;
      var sA = [];
      for (var i = 0;i < oL;i++) {
        sA[i] = {v:o[i].value, t:o[i].text};
      }
      sA.sort(function(o1, o2) {
        o1t = o1.t.toLowerCase(), o2t = o2.t.toLowerCase();
        if (o1t == o2t) {
          return 0;
        }
        if (a) {
          return o1t < o2t ? -1 : 1;
        } else {
          return o1t > o2t ? -1 : 1;
        }
      });
      for (var i = 0;i < oL;i++) {
        o[i].text = sA[i].t;
        o[i].value = sA[i].v;
      }
    }).selectOptions(sel, true);
    return this;
  };
  $.fn.selectOptions = function(value, clear) {
    var v = value;
    var vT = typeof value;
    if (vT == "object" && v.constructor == Array) {
      var $this = this;
      $.each(v, function() {
        $this.selectOptions(this, clear);
      });
    }
    var c = clear || false;
    if (vT != "string" && (vT != "function" && vT != "object")) {
      return this;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (v.constructor == RegExp) {
          if (o[i].value.match(v)) {
            o[i].selected = true;
          } else {
            if (c) {
              o[i].selected = false;
            }
          }
        } else {
          if (o[i].value == v) {
            o[i].selected = true;
          } else {
            if (c) {
              o[i].selected = false;
            }
          }
        }
      }
    });
    return this;
  };
  $.fn.copyOptions = function(to, which) {
    var w = which || "selected";
    if ($(to).size() == 0) {
      return this;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (w == "all" || w == "selected" && o[i].selected) {
          $(to).addOption(o[i].value, o[i].text);
        }
      }
    });
    return this;
  };
  $.fn.containsOption = function(value, fn) {
    var found = false;
    var v = value;
    var vT = typeof v;
    var fT = typeof fn;
    if (vT != "string" && (vT != "function" && vT != "object")) {
      return fT == "function" ? this : found;
    }
    this.each(function() {
      if (this.nodeName.toLowerCase() != "select") {
        return this;
      }
      if (found && fT != "function") {
        return false;
      }
      var o = this.options;
      var oL = o.length;
      for (var i = 0;i < oL;i++) {
        if (v.constructor == RegExp) {
          if (o[i].value.match(v)) {
            found = true;
            if (fT == "function") {
              fn.call(o[i], i);
            }
          }
        } else {
          if (o[i].value == v) {
            found = true;
            if (fT == "function") {
              fn.call(o[i], i);
            }
          }
        }
      }
    });
    return fT == "function" ? this : found;
  };
  $.fn.selectedValues = function() {
    var v = [];
    this.selectedOptions().each(function() {
      v[v.length] = this.value;
    });
    return v;
  };
  $.fn.selectedTexts = function() {
    var t = [];
    this.selectedOptions().each(function() {
      t[t.length] = this.text;
    });
    return t;
  };
  $.fn.selectedOptions = function() {
    return this.find("option:selected");
  };
})(jQuery);
(function($) {
  $.extend($.fn, {swapClass:function(c1, c2) {
    var c1Elements = this.filter("." + c1);
    this.filter("." + c2).removeClass(c2).addClass(c1);
    c1Elements.removeClass(c1).addClass(c2);
    return this;
  }, replaceClass:function(c1, c2) {
    return this.filter("." + c1).removeClass(c1).addClass(c2).end();
  }, hoverClass:function(className) {
    className = className || "hover";
    return this.hover(function() {
      $(this).addClass(className);
    }, function() {
      $(this).removeClass(className);
    });
  }, heightToggle:function(animated, callback) {
    animated ? this.animate({height:"toggle"}, animated, callback) : this.each(function() {
      jQuery(this)[jQuery(this).is(":hidden") ? "show" : "hide"]();
      if (callback) {
        callback.apply(this, arguments);
      }
    });
  }, heightHide:function(animated, callback) {
    if (animated) {
      this.animate({height:"hide"}, animated, callback);
    } else {
      this.hide();
      if (callback) {
        this.each(callback);
      }
    }
  }, prepareBranches:function(settings) {
    if (!settings.prerendered) {
      this.filter(":last-child:not(ul)").addClass(CLASSES.last);
      this.filter((settings.collapsed ? "" : "." + CLASSES.closed) + ":not(." + CLASSES.open + ")").find(">ul").hide();
    }
    return this.filter(":has(>ul)");
  }, applyClasses:function(settings, toggler) {
    if (!settings.prerendered) {
      this.filter(":has(>ul:hidden)").addClass(CLASSES.expandable).replaceClass(CLASSES.last, CLASSES.lastExpandable);
      this.not(":has(>ul:hidden)").addClass(CLASSES.collapsable).replaceClass(CLASSES.last, CLASSES.lastCollapsable);
      this.prepend('<div class="' + CLASSES.hitarea + '"/>').find("div." + CLASSES.hitarea).each(function() {
        var classes = "";
        $.each($(this).parent().attr("class").split(" "), function() {
          classes += this + "-hitarea ";
        });
        $(this).addClass(classes);
      });
    }
    this.find("div." + CLASSES.hitarea).click(toggler);
  }, treeview:function(settings) {
    settings = $.extend({cookieId:"treeview"}, settings);
    if (settings.add) {
      return this.trigger("add", [settings.add]);
    }
    if (settings.toggle) {
      var callback = settings.toggle;
      settings.toggle = function() {
        return callback.apply($(this).parent()[0], arguments);
      };
    }
    function treeController(tree, control) {
      function handler(filter) {
        return function() {
          toggler.apply($("div." + CLASSES.hitarea, tree).filter(function() {
            return filter ? $(this).parent("." + filter).length : true;
          }));
          return false;
        };
      }
      $("a:eq(0)", control).click(handler(CLASSES.collapsable));
      $("a:eq(1)", control).click(handler(CLASSES.expandable));
      $("a:eq(2)", control).click(handler());
    }
    function toggler() {
      $(this).parent().find(">.hitarea").swapClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).swapClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().swapClass(CLASSES.collapsable, CLASSES.expandable).swapClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightToggle(settings.animated, settings.toggle);
      if (settings.unique) {
        $(this).parent().siblings().find(">.hitarea").replaceClass(CLASSES.collapsableHitarea, CLASSES.expandableHitarea).replaceClass(CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea).end().replaceClass(CLASSES.collapsable, CLASSES.expandable).replaceClass(CLASSES.lastCollapsable, CLASSES.lastExpandable).find(">ul").heightHide(settings.animated, settings.toggle);
      }
    }
    function serialize() {
      function binary(arg) {
        return arg ? 1 : 0;
      }
      var data = [];
      branches.each(function(i, e) {
        data[i] = $(e).is(":has(>ul:visible)") ? 1 : 0;
      });
      $.cookie(settings.cookieId, data.join(""));
    }
    function deserialize() {
      var stored = $.cookie(settings.cookieId);
      if (stored) {
        var data = stored.split("");
        branches.each(function(i, e) {
          $(e).find(">ul")[parseInt(data[i]) ? "show" : "hide"]();
        });
      }
    }
    this.addClass("treeview");
    var branches = this.find("li").prepareBranches(settings);
    switch(settings.persist) {
      case "cookie":
        var toggleCallback = settings.toggle;
        settings.toggle = function() {
          serialize();
          if (toggleCallback) {
            toggleCallback.apply(this, arguments);
          }
        };
        deserialize();
        break;
      case "location":
        var current = this.find("a").filter(function() {
          return this.href.toLowerCase() == location.href.toLowerCase();
        });
        if (current.length) {
          current.addClass("selected").parents("ul, li").add(current.next()).show();
        }
        break;
    }
    branches.applyClasses(settings, toggler);
    if (settings.control) {
      treeController(this, settings.control);
      $(settings.control).show();
    }
    return this.bind("add", function(event, branches) {
      $(branches).prev().removeClass(CLASSES.last).removeClass(CLASSES.lastCollapsable).removeClass(CLASSES.lastExpandable).find(">.hitarea").removeClass(CLASSES.lastCollapsableHitarea).removeClass(CLASSES.lastExpandableHitarea);
      $(branches).find("li").andSelf().prepareBranches(settings).applyClasses(settings, toggler);
    });
  }});
  var CLASSES = $.fn.treeview.classes = {open:"open", closed:"closed", expandable:"expandable", expandableHitarea:"expandable-hitarea", lastExpandableHitarea:"lastExpandable-hitarea", collapsable:"collapsable", collapsableHitarea:"collapsable-hitarea", lastCollapsableHitarea:"lastCollapsable-hitarea", lastCollapsable:"lastCollapsable", lastExpandable:"lastExpandable", last:"last", hitarea:"hitarea"};
  $.fn.Treeview = $.fn.treeview;
})(jQuery);
(function($, undefined) {
  $.support.htmlMenuitem = "HTMLMenuItemElement" in window;
  $.support.htmlCommand = "HTMLCommandElement" in window;
  $.support.eventSelectstart = "onselectstart" in document.documentElement;
  var $currentTrigger = null, initialized = false, $win = $(window), counter = 0, namespaces = {}, menus = {}, types = {}, defaults = {selector:null, appendTo:null, trigger:"right", autoHide:false, delay:200, determinePosition:function($menu) {
    if ($.ui && $.ui.position) {
      $menu.css("display", "block").position({my:"center top", at:"center bottom", of:this, offset:"0 5", collision:"fit"}).css("display", "none");
    } else {
      var offset = this.offset();
      offset.top += this.outerHeight();
      offset.left += this.outerWidth() / 2 - $menu.outerWidth() / 2;
      $menu.css(offset);
    }
  }, position:function(opt, x, y) {
    var $this = this, offset;
    if (!x && !y) {
      opt.determinePosition.call(this, opt.$menu);
      return;
    } else {
      if (x === "maintain" && y === "maintain") {
        offset = opt.$menu.position();
      } else {
        var triggerIsFixed = opt.$trigger.parents().andSelf().filter(function() {
          return $(this).css("position") == "fixed";
        }).length;
        if (triggerIsFixed) {
          y -= $win.scrollTop();
          x -= $win.scrollLeft();
        }
        offset = {top:y, left:x};
      }
    }
    var bottom = $win.scrollTop() + $win.height(), right = $win.scrollLeft() + $win.width(), height = opt.$menu.height(), width = opt.$menu.width();
    if (offset.top + height > bottom) {
      offset.top -= height;
    }
    if (offset.left + width > right) {
      offset.left -= width;
    }
    opt.$menu.css(offset);
  }, positionSubmenu:function($menu) {
    if ($.ui && $.ui.position) {
      $menu.css("display", "block").position({my:"left top", at:"right top", of:this, collision:"fit"}).css("display", "");
    } else {
      var offset = {top:0, left:this.outerWidth()};
      $menu.css(offset);
    }
  }, zIndex:6001, animation:{duration:0, show:"slideDown", hide:"slideUp"}, events:{show:$.noop, hide:$.noop}, callback:null, items:{}}, hoveract = {timer:null, pageX:null, pageY:null}, zindex = function($t) {
    var zin = 0, $tt = $t, z = 0;
    for (var i = 0;i < 999;i++) {
      z = parseInt($tt.css("z-index"), 10);
      if (isNaN(z)) {
        z = 0;
      }
      zin = Math.max(zin, z);
      $tt = $tt.parent();
      if (!$tt || (!$tt.length || "html body".indexOf($tt.prop("nodeName").toLowerCase()) > -1)) {
        break;
      }
    }
    return zin;
  }, handle = {abortevent:function(e) {
    e.preventDefault();
    e.stopImmediatePropagation();
  }, contextmenu:function(e) {
    var $this = $(this);
    e.preventDefault();
    e.stopImmediatePropagation();
    if (e.data.trigger != "right" && e.originalEvent) {
      return;
    }
    if (!$this.hasClass("context-menu-disabled")) {
      $currentTrigger = $this;
      if (e.data.build) {
        var built = e.data.build($currentTrigger, e);
        if (built === false) {
          return;
        }
        e.data = $.extend(true, {}, defaults, e.data, built || {});
        if (!e.data.items || $.isEmptyObject(e.data.items)) {
          if (window.console) {
            (console.error || console.log)("No items specified to show in contextMenu");
          }
          throw new Error("No Items sepcified");
        }
        e.data.$trigger = $currentTrigger;
        op.create(e.data);
      }
      op.show.call($this, e.data, e.pageX, e.pageY);
    }
  }, click:function(e) {
    e.preventDefault();
    e.stopImmediatePropagation();
    $(this).trigger($.Event("contextmenu", {data:e.data, pageX:e.pageX, pageY:e.pageY}));
  }, mousedown:function(e) {
    var $this = $(this);
    if ($currentTrigger && ($currentTrigger.length && !$currentTrigger.is($this))) {
      $currentTrigger.data("contextMenu").$menu.trigger("contextmenu:hide");
    }
    if (e.button == 2) {
      $currentTrigger = $this.data("contextMenuActive", true);
    }
  }, mouseup:function(e) {
    var $this = $(this);
    if ($this.data("contextMenuActive") && ($currentTrigger && ($currentTrigger.length && ($currentTrigger.is($this) && !$this.hasClass("context-menu-disabled"))))) {
      e.preventDefault();
      e.stopImmediatePropagation();
      $currentTrigger = $this;
      $this.trigger($.Event("contextmenu", {data:e.data, pageX:e.pageX, pageY:e.pageY}));
    }
    $this.removeData("contextMenuActive");
  }, mouseenter:function(e) {
    var $this = $(this), $related = $(e.relatedTarget), $document = $(document);
    if ($related.is(".context-menu-list") || $related.closest(".context-menu-list").length) {
      return;
    }
    if ($currentTrigger && $currentTrigger.length) {
      return;
    }
    hoveract.pageX = e.pageX;
    hoveract.pageY = e.pageY;
    hoveract.data = e.data;
    $document.on("mousemove.contextMenuShow", handle.mousemove);
    hoveract.timer = setTimeout(function() {
      hoveract.timer = null;
      $document.off("mousemove.contextMenuShow");
      $currentTrigger = $this;
      $this.trigger($.Event("contextmenu", {data:hoveract.data, pageX:hoveract.pageX, pageY:hoveract.pageY}));
    }, e.data.delay);
  }, mousemove:function(e) {
    hoveract.pageX = e.pageX;
    hoveract.pageY = e.pageY;
  }, mouseleave:function(e) {
    var $related = $(e.relatedTarget);
    if ($related.is(".context-menu-list") || $related.closest(".context-menu-list").length) {
      return;
    }
    try {
      clearTimeout(hoveract.timer);
    } catch (e) {
    }
    hoveract.timer = null;
  }, layerClick:function(e) {
    var $this = $(this), root = $this.data("contextMenuRoot"), mouseup = false, button = e.button, x = e.pageX, y = e.pageY, target, offset, selectors;
    e.preventDefault();
    e.stopImmediatePropagation();
    $this.on("mouseup", function() {
      mouseup = true;
    });
    setTimeout(function() {
      var $window, hideshow;
      if (root.trigger == "left" && button == 0 || root.trigger == "right" && button == 2) {
        if (document.elementFromPoint) {
          root.$layer.hide();
          target = document.elementFromPoint(x - $win.scrollLeft(), y - $win.scrollTop());
          root.$layer.show();
          selectors = [];
          for (var s in namespaces) {
            selectors.push(s);
          }
          target = $(target).closest(selectors.join(", "));
          if (target.length) {
            if (target.is(root.$trigger[0])) {
              root.position.call(root.$trigger, root, x, y);
              return;
            }
          }
        } else {
          offset = root.$trigger.offset();
          $window = $(window);
          offset.top += $window.scrollTop();
          if (offset.top <= e.pageY) {
            offset.left += $window.scrollLeft();
            if (offset.left <= e.pageX) {
              offset.bottom = offset.top + root.$trigger.outerHeight();
              if (offset.bottom >= e.pageY) {
                offset.right = offset.left + root.$trigger.outerWidth();
                if (offset.right >= e.pageX) {
                  root.position.call(root.$trigger, root, x, y);
                  return;
                }
              }
            }
          }
        }
      }
      hideshow = function(e) {
        if (e) {
          e.preventDefault();
          e.stopImmediatePropagation();
        }
        root.$menu.trigger("contextmenu:hide");
        if (target && target.length) {
          setTimeout(function() {
            target.contextMenu({x:x, y:y});
          }, 50);
        }
      };
      if (mouseup) {
        hideshow();
      } else {
        $this.on("mouseup", hideshow);
      }
    }, 50);
  }, keyStop:function(e, opt) {
    if (!opt.isInput) {
      e.preventDefault();
    }
    e.stopPropagation();
  }, key:function(e) {
    var opt = $currentTrigger.data("contextMenu") || {}, $children = opt.$menu.children(), $round;
    switch(e.keyCode) {
      case 9:
      ;
      case 38:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (e.keyCode == 9 && e.shiftKey) {
            e.preventDefault();
            opt.$selected && opt.$selected.find("input, textarea, select").blur();
            opt.$menu.trigger("prevcommand");
            return;
          } else {
            if (e.keyCode == 38 && opt.$selected.find("input, textarea, select").prop("type") == "checkbox") {
              e.preventDefault();
              return;
            }
          }
        } else {
          if (e.keyCode != 9 || e.shiftKey) {
            opt.$menu.trigger("prevcommand");
            return;
          }
        }
      ;
      case 40:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (e.keyCode == 9) {
            e.preventDefault();
            opt.$selected && opt.$selected.find("input, textarea, select").blur();
            opt.$menu.trigger("nextcommand");
            return;
          } else {
            if (e.keyCode == 40 && opt.$selected.find("input, textarea, select").prop("type") == "checkbox") {
              e.preventDefault();
              return;
            }
          }
        } else {
          opt.$menu.trigger("nextcommand");
          return;
        }
        break;
      case 37:
        handle.keyStop(e, opt);
        if (opt.isInput || (!opt.$selected || !opt.$selected.length)) {
          break;
        }
        if (!opt.$selected.parent().hasClass("context-menu-root")) {
          var $parent = opt.$selected.parent().parent();
          opt.$selected.trigger("contextmenu:blur");
          opt.$selected = $parent;
          return;
        }
        break;
      case 39:
        handle.keyStop(e, opt);
        if (opt.isInput || (!opt.$selected || !opt.$selected.length)) {
          break;
        }
        var itemdata = opt.$selected.data("contextMenu") || {};
        if (itemdata.$menu && opt.$selected.hasClass("context-menu-submenu")) {
          opt.$selected = null;
          itemdata.$selected = null;
          itemdata.$menu.trigger("nextcommand");
          return;
        }
        break;
      case 35:
      ;
      case 36:
        if (opt.$selected && opt.$selected.find("input, textarea, select").length) {
          return;
        } else {
          (opt.$selected && opt.$selected.parent() || opt.$menu).children(":not(.disabled, .not-selectable)")[e.keyCode == 36 ? "first" : "last"]().trigger("contextmenu:focus");
          e.preventDefault();
          return;
        }
        break;
      case 13:
        handle.keyStop(e, opt);
        if (opt.isInput) {
          if (opt.$selected && !opt.$selected.is("textarea, select")) {
            e.preventDefault();
            return;
          }
          break;
        }
        opt.$selected && opt.$selected.trigger("mouseup");
        return;
      case 32:
      ;
      case 33:
      ;
      case 34:
        handle.keyStop(e, opt);
        return;
      case 27:
        handle.keyStop(e, opt);
        opt.$menu.trigger("contextmenu:hide");
        return;
      default:
        var k = String.fromCharCode(e.keyCode).toUpperCase();
        if (opt.accesskeys[k]) {
          opt.accesskeys[k].$node.trigger(opt.accesskeys[k].$menu ? "contextmenu:focus" : "mouseup");
          return;
        }
        break;
    }
    e.stopPropagation();
    opt.$selected && opt.$selected.trigger(e);
  }, prevItem:function(e) {
    e.stopPropagation();
    var opt = $(this).data("contextMenu") || {};
    if (opt.$selected) {
      var $s = opt.$selected;
      opt = opt.$selected.parent().data("contextMenu") || {};
      opt.$selected = $s;
    }
    var $children = opt.$menu.children(), $prev = !opt.$selected || !opt.$selected.prev().length ? $children.last() : opt.$selected.prev(), $round = $prev;
    while ($prev.hasClass("disabled") || $prev.hasClass("not-selectable")) {
      if ($prev.prev().length) {
        $prev = $prev.prev();
      } else {
        $prev = $children.last();
      }
      if ($prev.is($round)) {
        return;
      }
    }
    if (opt.$selected) {
      handle.itemMouseleave.call(opt.$selected.get(0), e);
    }
    handle.itemMouseenter.call($prev.get(0), e);
    var $input = $prev.find("input, textarea, select");
    if ($input.length) {
      $input.focus();
    }
  }, nextItem:function(e) {
    e.stopPropagation();
    var opt = $(this).data("contextMenu") || {};
    if (opt.$selected) {
      var $s = opt.$selected;
      opt = opt.$selected.parent().data("contextMenu") || {};
      opt.$selected = $s;
    }
    var $children = opt.$menu.children(), $next = !opt.$selected || !opt.$selected.next().length ? $children.first() : opt.$selected.next(), $round = $next;
    while ($next.hasClass("disabled") || $next.hasClass("not-selectable")) {
      if ($next.next().length) {
        $next = $next.next();
      } else {
        $next = $children.first();
      }
      if ($next.is($round)) {
        return;
      }
    }
    if (opt.$selected) {
      handle.itemMouseleave.call(opt.$selected.get(0), e);
    }
    handle.itemMouseenter.call($next.get(0), e);
    var $input = $next.find("input, textarea, select");
    if ($input.length) {
      $input.focus();
    }
  }, focusInput:function(e) {
    var $this = $(this).closest(".context-menu-item"), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.$selected = opt.$selected = $this;
    root.isInput = opt.isInput = true;
  }, blurInput:function(e) {
    var $this = $(this).closest(".context-menu-item"), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.isInput = opt.isInput = false;
  }, menuMouseenter:function(e) {
    var root = $(this).data().contextMenuRoot;
    root.hovering = true;
  }, menuMouseleave:function(e) {
    var root = $(this).data().contextMenuRoot;
    if (root.$layer && root.$layer.is(e.relatedTarget)) {
      root.hovering = false;
    }
  }, itemMouseenter:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    root.hovering = true;
    if (e && (root.$layer && root.$layer.is(e.relatedTarget))) {
      e.preventDefault();
      e.stopImmediatePropagation();
    }
    (opt.$menu ? opt : root).$menu.children(".hover").trigger("contextmenu:blur");
    if ($this.hasClass("disabled") || $this.hasClass("not-selectable")) {
      opt.$selected = null;
      return;
    }
    $this.trigger("contextmenu:focus");
  }, itemMouseleave:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    if (root !== opt && (root.$layer && root.$layer.is(e.relatedTarget))) {
      root.$selected && root.$selected.trigger("contextmenu:blur");
      e.preventDefault();
      e.stopImmediatePropagation();
      root.$selected = opt.$selected = opt.$node;
      return;
    }
    $this.trigger("contextmenu:blur");
  }, itemClick:function(e) {
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot, key = data.contextMenuKey, callback;
    if (!opt.items[key] || ($this.hasClass("disabled") || $this.hasClass("context-menu-submenu"))) {
      return;
    }
    e.preventDefault();
    e.stopImmediatePropagation();
    if ($.isFunction(root.callbacks[key])) {
      callback = root.callbacks[key];
    } else {
      if ($.isFunction(root.callback)) {
        callback = root.callback;
      } else {
        return;
      }
    }
    if (callback.call(root.$trigger, key, root) !== false) {
      root.$menu.trigger("contextmenu:hide");
    } else {
      if (root.$menu.parent().length) {
        op.update.call(root.$trigger, root);
      }
    }
  }, inputClick:function(e) {
    e.stopImmediatePropagation();
  }, hideMenu:function(e, data) {
    var root = $(this).data("contextMenuRoot");
    op.hide.call(root.$trigger, root, data && data.force);
  }, focusItem:function(e) {
    e.stopPropagation();
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    $this.addClass("hover").siblings(".hover").trigger("contextmenu:blur");
    opt.$selected = root.$selected = $this;
    if (opt.$node) {
      root.positionSubmenu.call(opt.$node, opt.$menu);
    }
  }, blurItem:function(e) {
    e.stopPropagation();
    var $this = $(this), data = $this.data(), opt = data.contextMenu, root = data.contextMenuRoot;
    $this.removeClass("hover");
    opt.$selected = null;
  }}, op = {show:function(opt, x, y) {
    if (typeof globalMenu != "undefined" && globalMenu) {
      return;
    }
    globalMenu = true;
    var $this = $(this), offset, css = {};
    $("#context-menu-layer").trigger("mousedown");
    opt.$trigger = $this;
    if (opt.events.show.call($this, opt) === false) {
      $currentTrigger = null;
      return;
    }
    op.update.call($this, opt);
    opt.position.call($this, opt, x, y);
    if (opt.zIndex) {
      css.zIndex = zindex($this) + opt.zIndex;
    }
    op.layer.call(opt.$menu, opt, css.zIndex);
    opt.$menu.find("ul").css("zIndex", css.zIndex + 1);
    opt.$menu.css(css)[opt.animation.show](opt.animation.duration);
    $this.data("contextMenu", opt);
    $(document).off("keydown.contextMenu").on("keydown.contextMenu", handle.key);
    if (opt.autoHide) {
      var pos = $this.position();
      pos.right = pos.left + $this.outerWidth();
      pos.bottom = pos.top + this.outerHeight();
      $(document).on("mousemove.contextMenuAutoHide", function(e) {
        if (opt.$layer && (!opt.hovering && (!(e.pageX >= pos.left && e.pageX <= pos.right) || !(e.pageY >= pos.top && e.pageY <= pos.bottom)))) {
          opt.$menu.trigger("contextmenu:hide");
        }
      });
    }
  }, hide:function(opt, force) {
    var $this = $(this);
    if (!opt) {
      opt = $this.data("contextMenu") || {};
    }
    if (!force && (opt.events && opt.events.hide.call($this, opt) === false)) {
      return;
    }
    if (opt.$layer) {
      setTimeout(function($layer) {
        return function() {
          $layer.remove();
        };
      }(opt.$layer), 10);
      try {
        delete opt.$layer;
      } catch (e) {
        opt.$layer = null;
      }
    }
    $currentTrigger = null;
    opt.$menu.find(".hover").trigger("contextmenu:blur");
    opt.$selected = null;
    $(document).off(".contextMenuAutoHide").off("keydown.contextMenu");
    opt.$menu && opt.$menu[opt.animation.hide](opt.animation.duration, function() {
      if (opt.build) {
        opt.$menu.remove();
        $.each(opt, function(key, value) {
          switch(key) {
            case "ns":
            ;
            case "selector":
            ;
            case "build":
            ;
            case "trigger":
              return true;
            default:
              opt[key] = undefined;
              try {
                delete opt[key];
              } catch (e) {
              }
              return true;
          }
        });
      }
    });
    globalMenu = false;
  }, create:function(opt, root) {
    if (root === undefined) {
      root = opt;
    }
    opt.$menu = $('<ul class="context-menu-list ' + (opt.className || "") + '"></ul>').data({"contextMenu":opt, "contextMenuRoot":root});
    $.each(["callbacks", "commands", "inputs"], function(i, k) {
      opt[k] = {};
      if (!root[k]) {
        root[k] = {};
      }
    });
    root.accesskeys || (root.accesskeys = {});
    $.each(opt.items, function(key, item) {
      var $t = $('<li class="context-menu-item ' + (item.className || "") + '"></li>'), $label = null, $input = null;
      item.$node = $t.data({"contextMenu":opt, "contextMenuRoot":root, "contextMenuKey":key});
      if (item.accesskey) {
        var aks = splitAccesskey(item.accesskey);
        for (var i = 0, ak;ak = aks[i];i++) {
          if (!root.accesskeys[ak]) {
            root.accesskeys[ak] = item;
            item._name = item.name.replace(new RegExp("(" + ak + ")", "i"), '<span class="context-menu-accesskey">$1</span>');
            break;
          }
        }
      }
      if (typeof item == "string") {
        $t.addClass("context-menu-separator not-selectable");
      } else {
        if (item.type && types[item.type]) {
          types[item.type].call($t, item, opt, root);
          $.each([opt, root], function(i, k) {
            k.commands[key] = item;
            if ($.isFunction(item.callback)) {
              k.callbacks[key] = item.callback;
            }
          });
        } else {
          if (item.type == "html") {
            $t.addClass("context-menu-html not-selectable");
          } else {
            if (item.type) {
              $label = $("<label></label>").appendTo($t);
              $("<span></span>").html(item._name || item.name).appendTo($label);
              $t.addClass("context-menu-input");
              opt.hasTypes = true;
              $.each([opt, root], function(i, k) {
                k.commands[key] = item;
                k.inputs[key] = item;
              });
            } else {
              if (item.items) {
                item.type = "sub";
              }
            }
          }
          switch(item.type) {
            case "text":
              $input = $('<input type="text" value="1" name="context-menu-input-' + key + '" value="">').val(item.value || "").appendTo($label);
              break;
            case "textarea":
              $input = $('<textarea name="context-menu-input-' + key + '"></textarea>').val(item.value || "").appendTo($label);
              if (item.height) {
                $input.height(item.height);
              }
              break;
            case "checkbox":
              $input = $('<input type="checkbox" value="1" name="context-menu-input-' + key + '" value="">').val(item.value || "").prop("checked", !!item.selected).prependTo($label);
              break;
            case "radio":
              $input = $('<input type="radio" value="1" name="context-menu-input-' + item.radio + '" value="">').val(item.value || "").prop("checked", !!item.selected).prependTo($label);
              break;
            case "select":
              $input = $('<select name="context-menu-input-' + key + '">').appendTo($label);
              if (item.options) {
                $.each(item.options, function(value, text) {
                  $("<option></option>").val(value).text(text).appendTo($input);
                });
                $input.val(item.selected);
              }
              break;
            case "sub":
              $("<span></span>").html(item._name || item.name).appendTo($t);
              item.appendTo = item.$node;
              op.create(item, root);
              $t.data("contextMenu", item).addClass("context-menu-submenu");
              item.callback = null;
              break;
            case "html":
              $(item.html).appendTo($t);
              break;
            default:
              $.each([opt, root], function(i, k) {
                k.commands[key] = item;
                if ($.isFunction(item.callback)) {
                  k.callbacks[key] = item.callback;
                }
              });
              $("<span></span>").html(item._name || (item.name || "")).appendTo($t);
              break;
          }
          if (item.type && (item.type != "sub" && item.type != "html")) {
            $input.on("focus", handle.focusInput).on("blur", handle.blurInput);
            if (item.events) {
              $input.on(item.events, opt);
            }
          }
          if (item.icon) {
            $t.addClass("icon icon-" + item.icon);
          }
        }
      }
      item.$input = $input;
      item.$label = $label;
      $t.appendTo(opt.$menu);
      if (!opt.hasTypes && $.support.eventSelectstart) {
        $t.on("selectstart.disableTextSelect", handle.abortevent);
      }
    });
    if (!opt.$node) {
      opt.$menu.css("display", "none").addClass("context-menu-root");
    }
    opt.$menu.appendTo(opt.appendTo || document.body);
  }, update:function(opt, root) {
    var $this = this;
    if (root === undefined) {
      root = opt;
      opt.$menu.find("ul").andSelf().css({position:"static", display:"block"}).each(function() {
        var $this = $(this);
        $this.width($this.css("position", "absolute").width()).css("position", "static");
      }).css({position:"", display:""});
    }
    opt.$menu.children().each(function() {
      var $item = $(this), key = $item.data("contextMenuKey"), item = opt.items[key], disabled = $.isFunction(item.disabled) && item.disabled.call($this, key, root) || item.disabled === true;
      $item[disabled ? "addClass" : "removeClass"]("disabled");
      if (item.type) {
        $item.find("input, select, textarea").prop("disabled", disabled);
        switch(item.type) {
          case "text":
          ;
          case "textarea":
            item.$input.val(item.value || "");
            break;
          case "checkbox":
          ;
          case "radio":
            item.$input.val(item.value || "").prop("checked", !!item.selected);
            break;
          case "select":
            item.$input.val(item.selected || "");
            break;
        }
      }
      if (item.$menu) {
        op.update.call($this, item, root);
      }
    });
  }, layer:function(opt, zIndex) {
    $l = $("#context-menu-layer");
    if ($l) {
      $l.remove();
    }
    var $layer = opt.$layer = $('<div id="context-menu-layer" style="position:fixed; z-index:' + zIndex + '; top:0; left:0; opacity: 0; filter: alpha(opacity=0); background-color: #000;"></div>').css({height:$win.height(), width:$win.width(), display:"block"}).data("contextMenuRoot", opt).insertBefore(this).on("contextmenu", handle.abortevent).on("mousedown", handle.layerClick);
    if (!$.support.fixedPosition) {
      $layer.css({"position":"absolute", "height":$(document).height()});
    }
    return $layer;
  }};
  function splitAccesskey(val) {
    var t = val.split(/\s+/), keys = [];
    for (var i = 0, k;k = t[i];i++) {
      k = k[0].toUpperCase();
      keys.push(k);
    }
    return keys;
  }
  $.fn.contextMenu = function(operation) {
    if (operation === undefined) {
      this.first().trigger("contextmenu");
    } else {
      if (operation.x && operation.y) {
        this.first().trigger($.Event("contextmenu", {pageX:operation.x, pageY:operation.y}));
      } else {
        if (operation === "hide") {
          var $menu = this.data("contextMenu").$menu;
          $menu && $menu.trigger("contextmenu:hide");
        } else {
          if (operation === "element") {
            if (this.data("contextMenu") != null) {
              return this.data("contextMenu").$menu;
            }
            return[];
          } else {
            if (operation) {
              this.removeClass("context-menu-disabled");
            } else {
              if (!operation) {
                this.addClass("context-menu-disabled");
              }
            }
          }
        }
      }
    }
    return this;
  };
  $.contextMenu = function(operation, options) {
    if (typeof operation != "string") {
      options = operation;
      operation = "create";
    }
    if (typeof options == "string") {
      options = {selector:options};
    } else {
      if (options === undefined) {
        options = {};
      }
    }
    var o = $.extend(true, {}, defaults, options || {}), $document = $(document);
    switch(operation) {
      case "create":
        if (!o.selector) {
          throw new Error("No selector specified");
        }
        if (o.selector.match(/.context-menu-(list|item|input)($|\s)/)) {
          throw new Error('Cannot bind to selector "' + o.selector + '" as it contains a reserved className');
        }
        if (!o.build && (!o.items || $.isEmptyObject(o.items))) {
          throw new Error("No Items sepcified");
        }
        counter++;
        o.ns = ".contextMenu" + counter;
        namespaces[o.selector] = o.ns;
        menus[o.ns] = o;
        if (!o.trigger) {
          o.trigger = "right";
        }
        if (!initialized) {
          $document.on({"contextmenu:hide.contextMenu":handle.hideMenu, "prevcommand.contextMenu":handle.prevItem, "nextcommand.contextMenu":handle.nextItem, "contextmenu.contextMenu":handle.abortevent, "mouseenter.contextMenu":handle.menuMouseenter, "mouseleave.contextMenu":handle.menuMouseleave}, ".context-menu-list").on("mouseup.contextMenu", ".context-menu-input", handle.inputClick).on({"mouseup.contextMenu":handle.itemClick, "contextmenu:focus.contextMenu":handle.focusItem, "contextmenu:blur.contextMenu":handle.blurItem, 
          "contextmenu.contextMenu":handle.abortevent, "mouseenter.contextMenu":handle.itemMouseenter, "mouseleave.contextMenu":handle.itemMouseleave}, ".context-menu-item");
          initialized = true;
        }
        $document.on("contextmenu" + o.ns, o.selector, o, handle.contextmenu);
        switch(o.trigger) {
          case "hover":
            $document.on("mouseenter" + o.ns, o.selector, o, handle.mouseenter).on("mouseleave" + o.ns, o.selector, o, handle.mouseleave);
            break;
          case "left":
            $document.on("click" + o.ns, o.selector, o, handle.click);
            break;
        }
        if (!o.build) {
          op.create(o);
        }
        break;
      case "destroy":
        if (!o.selector) {
          $document.off(".contextMenu .contextMenuAutoHide");
          $.each(namespaces, function(key, value) {
            $document.off(value);
          });
          namespaces = {};
          menus = {};
          counter = 0;
          initialized = false;
          $("#context-menu-layer, .context-menu-list").remove();
        } else {
          if (namespaces[o.selector]) {
            var $visibleMenu = $(".context-menu-list").filter(":visible");
            if ($visibleMenu.length && $visibleMenu.data().contextMenuRoot.$trigger.is(o.selector)) {
              $visibleMenu.trigger("contextmenu:hide", {force:true});
            }
            try {
              if (menus[namespaces[o.selector]].$menu) {
                menus[namespaces[o.selector]].$menu.remove();
              }
              delete menus[namespaces[o.selector]];
            } catch (e) {
              menus[namespaces[o.selector]] = null;
            }
            $document.off(namespaces[o.selector]);
          }
        }
        break;
      case "html5":
        if (!$.support.htmlCommand && !$.support.htmlMenuitem || typeof options == "boolean" && options) {
          $('menu[type="context"]').each(function() {
            if (this.id) {
              $.contextMenu({selector:"[contextmenu=" + this.id + "]", items:$.contextMenu.fromMenu(this)});
            }
          }).css("display", "none");
        }
        break;
      default:
        throw new Error('Unknown operation "' + operation + '"');;
    }
    return this;
  };
  $.contextMenu.setInputValues = function(opt, data) {
    if (data === undefined) {
      data = {};
    }
    $.each(opt.inputs, function(key, item) {
      switch(item.type) {
        case "text":
        ;
        case "textarea":
          item.value = data[key] || "";
          break;
        case "checkbox":
          item.selected = data[key] ? true : false;
          break;
        case "radio":
          item.selected = (data[item.radio] || "") == item.value ? true : false;
          break;
        case "select":
          item.selected = data[key] || "";
          break;
      }
    });
  };
  $.contextMenu.getInputValues = function(opt, data) {
    if (data === undefined) {
      data = {};
    }
    $.each(opt.inputs, function(key, item) {
      switch(item.type) {
        case "text":
        ;
        case "textarea":
        ;
        case "select":
          data[key] = item.$input.val();
          break;
        case "checkbox":
          data[key] = item.$input.prop("checked");
          break;
        case "radio":
          if (item.$input.prop("checked")) {
            data[item.radio] = item.value;
          }
          break;
      }
    });
    return data;
  };
  function inputLabel(node) {
    return node.id && $('label[for="' + node.id + '"]').val() || node.name;
  }
  function menuChildren(items, $children, counter) {
    if (!counter) {
      counter = 0;
    }
    $children.each(function() {
      var $node = $(this), node = this, nodeName = this.nodeName.toLowerCase(), label, item;
      if (nodeName == "label" && $node.find("input, textarea, select").length) {
        label = $node.text();
        $node = $node.children().first();
        node = $node.get(0);
        nodeName = node.nodeName.toLowerCase();
      }
      switch(nodeName) {
        case "menu":
          item = {name:$node.attr("label"), items:{}};
          counter = menuChildren(item.items, $node.children(), counter);
          break;
        case "a":
        ;
        case "button":
          item = {name:$node.text(), disabled:!!$node.attr("disabled"), callback:function() {
            return function() {
              $node.click();
            };
          }()};
          break;
        case "menuitem":
        ;
        case "command":
          switch($node.attr("type")) {
            case undefined:
            ;
            case "command":
            ;
            case "menuitem":
              item = {name:$node.attr("label"), disabled:!!$node.attr("disabled"), callback:function() {
                return function() {
                  $node.click();
                };
              }()};
              break;
            case "checkbox":
              item = {type:"checkbox", disabled:!!$node.attr("disabled"), name:$node.attr("label"), selected:!!$node.attr("checked")};
              break;
            case "radio":
              item = {type:"radio", disabled:!!$node.attr("disabled"), name:$node.attr("label"), radio:$node.attr("radiogroup"), value:$node.attr("id"), selected:!!$node.attr("checked")};
              break;
            default:
              item = undefined;
          }
          break;
        case "hr":
          item = "-------";
          break;
        case "input":
          switch($node.attr("type")) {
            case "text":
              item = {type:"text", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), value:$node.val()};
              break;
            case "checkbox":
              item = {type:"checkbox", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), selected:!!$node.attr("checked")};
              break;
            case "radio":
              item = {type:"radio", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), radio:!!$node.attr("name"), value:$node.val(), selected:!!$node.attr("checked")};
              break;
            default:
              item = undefined;
              break;
          }
          break;
        case "select":
          item = {type:"select", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), selected:$node.val(), options:{}};
          $node.children().each(function() {
            item.options[this.value] = $(this).text();
          });
          break;
        case "textarea":
          item = {type:"textarea", name:label || inputLabel(node), disabled:!!$node.attr("disabled"), value:$node.val()};
          break;
        case "label":
          break;
        default:
          item = {type:"html", html:$node.clone(true)};
          break;
      }
      if (item) {
        counter++;
        items["key" + counter] = item;
      }
    });
    return counter;
  }
  $.contextMenu.fromMenu = function(element) {
    var $this = $(element), items = {};
    menuChildren(items, $this.children());
    return items;
  };
  $.contextMenu.defaults = defaults;
  $.contextMenu.types = types;
})(jQuery);
var EditableSelectWrapper = function(id) {
  this.id = id;
  this.element = null;
  this.values = new Array;
  this.list_height = 0;
  this.list_item_height = 20;
  this.UpdateValues = function(values) {
    delete this.values;
    this.values = new Array;
    var li = new Array;
    for (var i = 0;i < values.length;i++) {
      var value = values[i];
      li.push('<li value="' + i + '" class="' + value.cssClass + '">' + value.text + "</li>");
      this.values.push(value.value);
    }
    this.element.html("<ul>" + li.join("\n") + "</ul>");
    var me = this;
    this.element.bindEx("mouseup", function(e) {
      var li = e.target;
      if (li.tagName.toUpperCase() != "LI") {
        return;
      }
      var $li = $(e.target);
      e.stopPropagation();
      this.currentContext.pickListItem($li.text(), me.currentContext.getListValue(li.value));
    }, this).bindEx("mousedown", function(e) {
      e.stopPropagation();
    }, this);
    this.adjustHeight();
    this.checkScroll(10);
  };
  this.adjustHeight = function() {
    this.element.css("visibility", "hidden");
    this.element.show();
    var elements = this.element.find("li");
    if (elements.length > 0) {
      this.list_item_height = elements[0].offsetHeight;
    }
    this.element.css("visibility", "visible");
    this.element.hide();
  };
  this.checkScroll = function(items_then_scroll) {
    if (this.element.find("li").length > items_then_scroll) {
      this.list_height = this.list_item_height * items_then_scroll;
      this.element.css("height", this.list_height + "px");
      this.element.css("overflow", "auto");
    } else {
      this.element.css("height", "auto");
      this.element.css("overflow", "visible");
    }
  };
  this.getListValue = function(index) {
    return this.values[index];
  };
  this.clearHighlightMatches = function() {
    this.element.find("li").removeClass("match");
  };
  this.highlightSelected = function(text) {
    var current_value = toLower(text);
    this.clearHighlightMatches();
    var matches = this.getMatchItems(current_value);
    $(matches).addClass("match");
    if (matches.length > 0) {
      this.selectListItem($(matches[0]));
    } else {
      this.selectFirstListItem();
    }
  };
  this.getMatchItemNext = function(text) {
    var current_value = toLower(text);
    var matches = this.getMatchItems(current_value);
    var current = this.getSelectedListItem();
    if (current.length > 0 && matches.length > 1) {
      var index = matches.indexOf(current[0]);
      if (index < matches.length - 1) {
        return $(matches[index + 1]);
      } else {
        return $(matches[0]);
      }
    }
    return null;
  };
  this.getMatchItemPrev = function(text) {
    var current_value = toLower(text);
    var matches = this.getMatchItems(current_value);
    var current = this.getSelectedListItem();
    if (current.length > 0 && matches.length > 1) {
      var index = matches.indexOf(current[0]);
      if (index > 0) {
        return $(matches[index - 1]);
      } else {
        return $(matches[matches.length - 1]);
      }
    }
    return null;
  };
  this.getMatchItems = function(text) {
    var result = [];
    if (isEmpty(text)) {
      return result;
    }
    var pattern = text.replace(/([$-/:-?{-~!"^_`\[\]\\])/g, "\\$1");
    var elements = this.element.find("li");
    for (var i = 0;i < elements.length;i++) {
      var li = elements[i];
      var li_text = toLower(!isEmpty(li.textContent) ? li.textContent : li.innerText);
      var li_value = toLower(this.getListValue(li.value));
      if (QB.Web.Grid.QuickFilterInExpressionMatchFromBeginning) {
        pattern = "(^" + text + ")|([.]" + text + ")";
      }
      if (text == li_text || text == li_value) {
        result.push(li);
      } else {
        if (li_text.test(pattern) || li_value.test(pattern)) {
          result.push(li);
        }
      }
    }
    return result;
  };
  this.clearSelectedListItem = function() {
    this.element.find("li.selected").removeClass("selected");
  };
  this.selectNewListItem = function(text, direction, userEdit) {
    var li = this.getSelectedListItem();
    if (!li.length) {
      li = this.selectFirstListItem();
    }
    var sib = null;
    if (direction == "down") {
      if (userEdit) {
        sib = this.getMatchItemNext(text);
      }
      if (sib == null) {
        sib = li.next();
      }
    } else {
      if (direction == "up") {
        if (userEdit) {
          sib = this.getMatchItemPrev(text);
        }
        if (sib == null) {
          sib = li.prev();
        }
      }
    }
    if (sib != null) {
      this.selectListItem(sib);
      this.unselectListItem(li);
    }
  };
  this.selectListItem = function(li) {
    this.clearSelectedListItem();
    li.addClass("selected");
    this.scrollToListItem(li);
  };
  this.selectFirstListItem = function() {
    var first = this.element.find("li:first");
    this.selectListItem(first);
    return first;
  };
  this.unselectListItem = function(list_item) {
    list_item.removeClass("selected");
  };
  this.getSelectedListItem = function() {
    return this.element.find("li.selected");
  };
  this.scrollToListItem = function(list_item) {
    if (this.list_height && (list_item != null && list_item.length > 0)) {
      this.element.scrollTop(list_item[0].offsetTop - this.list_height / 2);
    }
  };
  this.init = function() {
    this.element = $('<div class="editable-select-options"></div>').appendTo($(document.body));
  };
  this.init();
};
var EditableSelectStatic = {wrappers:{}, instances:[], handlers:{}, inited:false, context:null, init:function() {
  this.initEvents();
  this.inited = true;
}, initEvents:function() {
}, GetWrapper:function(wrapperId) {
  if (isEmpty(wrapperId) || isEmpty(this.wrappers[wrapperId])) {
    this.wrappers[wrapperId] = new EditableSelectWrapper(wrapperId);
  }
  return this.wrappers[wrapperId];
}, UpdateWrapper:function(id, values) {
  this.GetWrapper(id).UpdateValues(values);
}};
(function($) {
  $.fn.editableSelect = function(options) {
    if (!EditableSelectStatic.inited) {
      EditableSelectStatic.init();
    }
    var me = this;
    var defaults = {bg_iframe:false, onSelect:true, items_then_scroll:10, case_sensitive:false};
    var settings = $.extend(defaults, options);
    var instance = false;
    $(this).each(function(i, domElement) {
      var element = $(domElement);
      if (element.data("editable-selecter") == undefined) {
        EditableSelectStatic.instances.push(new EditableSelect(domElement, settings));
        element.data("editable-selecter", EditableSelectStatic.instances.length - 1);
      }
    });
    return $(this);
  };
  $.fn.editableSelectInstances = function() {
    var ret = [];
    $(this).each(function() {
      if ($(this).data("editable-selecter") !== undefined) {
        ret[ret.length] = EditableSelectStatic.instances[$(this).data("editable-selecter")];
      }
    });
    return ret;
  };
  var EditableSelect = function(select, settings) {
    this.init(select, settings);
  };
  EditableSelect.prototype = {isActive:false, settings:false, textControl:false, select:false, wrapper:false, wrapperId:null, list_is_visible:false, hide_on_blur_timeout:false, bg_iframe:false, padding_right:13, current_value:"", options_value:[], userEdit:false, autoShow:false, init:function(select, settings) {
    this.settings = settings;
    this.wrapperId = this.settings.wrapperId;
    this.wrapper = EditableSelectStatic.GetWrapper(this.wrapperId);
    this.handler = this.settings.onSelect;
    if (!isEmpty(this.wrapperId)) {
      EditableSelectStatic.handlers[this.wrapperId] = this.settings.onSelect;
    }
    this.options = [];
    if (!isEmpty(this.settings.options)) {
      this.options = this.settings.options;
    }
    this.select = $(select);
    this.textControl = $('<input type="text">');
    this.textControl.attr("aria-label", this.select.attr("aria-label"));
    this.textControl.val(this.settings.value);
    this.textControl.attr("name", this.select.attr("name"));
    this.textControl.data("editable-selecter", this.select.data("editable-selecter"));
    this.select.attr("disabled", "disabled");
    var id = this.select.attr("id");
    if (!id) {
      id = "editable-select" + EditableSelectStatic.instances.length;
    }
    this.id = id;
    this.textControl.attr("id", id);
    this.textControl.attr("autocomplete", "off");
    this.textControl.addClass("editable-select");
    this.select.attr("id", id + "_hidden_select");
    this.initInputEvents(this.textControl, this);
    this.duplicateOptions();
    this.positionElements();
    this.setWidths();
    if (this.settings.bg_iframe) {
      var bg_iframe = $('<iframe frameborder="0" class="editable-select-iframe" src="about:blank;"></iframe>');
      $(document.body).append(bg_iframe);
      bg_iframe.width(this.select.width() + 2);
      bg_iframe.height(this.wrapper.element.height());
      bg_iframe.css({top:this.wrapper.element.css("top"), left:this.wrapper.element.css("left")});
      this.bg_iframe = bg_iframe;
    }
  }, duplicateOptions:function() {
    var me = this;
    var wrapperCleared = false;
    var values = new Array;
    this.select.find("option").each(function(index, option) {
      var $option = $(option);
      var text = $option.text();
      var val = $option.attr("value");
      var selected = false;
      if ($option.attr("selected") || option.selected) {
        me.textControl.val(text);
        me.current_value = text;
        me.current_options_value = val;
        selected = true;
      }
      var cssClass = $option.attr("class");
      values.push({selected:selected, text:text, value:val, cssClass:cssClass});
    });
    if (values.length > 0) {
      this.wrapper.UpdateValues(values);
      this.wrapper.element.addClass("disable-selection");
      this.wrapper.checkScroll(this.settings.items_then_scroll);
    }
  }, getControl:function() {
    return this.textControl;
  }, onSelect:function() {
    var context = this.wrapper.currentContext;
    if (typeof context.handler == "function") {
      context.handler.call(context, context.textControl);
    }
  }, editStart:function() {
    if (this.isActive) {
      return;
    }
    this.isActive = true;
    this.current_value = this.textControl.val();
    this.userEdit = false;
    this.adjustWrapper(this);
    if (this.autoShow) {
      this.showList();
    }
  }, editEnd:function() {
    if (!this.isActive) {
      return;
    }
    this.wrapper.clearSelectedListItem();
    this.hideList();
    this.onSelect();
    this.isActive = false;
  }, onTextboxChanged:function(reset_options_value) {
    if (this.textControl.val() != this.current_value) {
      this.userEdit = true;
      this.current_value = this.textControl.val();
      this.wrapper.highlightSelected(this.textControl.val());
    }
  }, initInputEvents:function(textControl, me2) {
    var me = this;
    var timer = false;
    textControl.focus(function(e) {
      me.editStart();
    }).blur(function(e) {
      if (!me.list_is_visible) {
        me.editEnd();
      }
    }).click(function(e) {
      e.stopPropagation();
      me.editStart();
      if (e.pageX - $(this).offset().left > $(this).width() - 16) {
        if (me.list_is_visible) {
          me.hideList();
        } else {
          me.showList();
        }
      }
    }).keydown(function(e) {
      me.isActive = true;
      switch(e.keyCode) {
        case 40:
          if (!me.listIsVisible()) {
            me.showList();
          } else {
            e.preventDefault();
            me.wrapper.selectNewListItem(me.textControl.val(), "down", me.userEdit);
          }
          break;
        case 38:
          if (!me.listIsVisible()) {
            me.showList();
          } else {
            e.preventDefault();
            me.wrapper.selectNewListItem(me.textControl.val(), "up", me.userEdit);
          }
          break;
        case 9:
          var $li = me.wrapper.getSelectedListItem();
          if ($li.length) {
            me.pickListItem($li.text(), me.getListValue($li[0].value));
          }
          break;
        case 27:
          e.preventDefault();
          me.editEnd();
          return false;
          break;
        case 13:
          e.preventDefault();
          if (!me.list_is_visible) {
            me.editEnd();
          } else {
            var $li = me.wrapper.getSelectedListItem();
            if ($li.length) {
              me.pickListItem($li.text(), me.getListValue($li[0].value));
            }
          }
          return false;
          break;
      }
    }).keyup($.debounce(me.onTextboxChanged, 100, me)).keypress(function(e) {
      if (e.keyCode == 13) {
        e.preventDefault();
        return false;
      }
    });
  }, pickListItem:function(text, val) {
    this.current_value = text;
    this.current_options_value = val;
    this.textControl.val(val);
    this.editEnd();
  }, listIsVisible:function() {
    return this.list_is_visible;
  }, adjustWrapper:function(context) {
    this.adjustWrapperPosition();
    this.adjustWrapperSize();
    EditableSelectStatic.context = context;
    this.wrapper.currentContext = context;
  }, adjustWrapperPosition:function() {
    var offset = this.textControl.offset();
    offset.top += this.textControl[0].offsetHeight;
    this.wrapper.element.css({top:offset.top + "px", left:offset.left + "px"});
  }, adjustWrapperSize:function() {
    var width = this.textControl[0].clientWidth;
    this.wrapper.element.width(width);
    this.textControl.width(width);
  }, showList:function() {
    this.hideOtherLists();
    this.overlay = new $.ui.editableSelectOverlay.overlay(this);
    this.wrapper.element.show();
    this.adjustWrapper(this);
    this.list_is_visible = true;
    if (this.settings.bg_iframe) {
      this.bg_iframe.show();
    }
    this.wrapper.checkScroll(10);
    this.wrapper.highlightSelected(this.textControl.val());
  }, getListValue:function(index) {
    return this.wrapper.values[index];
  }, hideList:function() {
    if (this.overlay != null) {
      this.overlay.destroy();
    }
    this.wrapper.element.hide();
    this.list_is_visible = false;
    if (this.settings.bg_iframe) {
      this.bg_iframe.hide();
    }
  }, hideOtherLists:function() {
    for (var i = 0;i < EditableSelectStatic.instances.length;i++) {
      if (i != this.select.data("editable-selecter")) {
        EditableSelectStatic.instances[i].hideList();
      }
    }
  }, positionElements:function() {
    this.select.after(this.textControl);
    this.select.hide();
    $(document.body).append(this.wrapper.element);
  }, setWidths:function() {
    var width = this.select.width() + 2 * 0;
    if (this.bg_iframe) {
      this.bg_iframe.width(width + 4);
    }
  }};
  $.ui.editableSelectOverlay = {overlay:function(dialog) {
    this.$el = $.ui.editableSelectOverlay.overlay.create(dialog);
  }};
  $.extend($.ui.editableSelectOverlay.overlay, {self:this, instances:[], oldInstances:[], maxZ:4E3, events:$.map("focus,mousedown,keydown,keypress".split(","), function(event) {
    return event + ".dialog-overlay";
  }).join(" "), create:function(dialog) {
    if (this.instances.length === 0) {
      $(window).bind("resize.dialog-overlay", $.ui.editableSelectOverlay.overlay.resize);
    }
    var $el = $('<div class="editable-select-options-overlay"></div>').appendTo(dialog.textControl.parent()).css({width:this.width(), height:this.height()});
    $el.bind("mousedown.dialog-overlay", function(event) {
      dialog.editEnd();
      var element = document.elementFromPoint(event.clientX, event.clientY);
      if (element != null) {
        try {
          var eventName = "click";
          if (element.dispatchEvent) {
            var e = document.createEvent("MouseEvent");
            e.initMouseEvent(eventName, true, true, window, 0, event.screenX, event.screenY, event.clientX, event.clientY, false, false, false, false, 0, null);
            element.dispatchEvent(e);
          } else {
            if (element.fireEvent) {
              element.fireEvent("on" + eventName);
            }
          }
        } catch (err) {
        }
      }
    });
    if ($.fn.bgiframe) {
      $el.bgiframe();
    }
    this.instances.push($el);
    return $el;
  }, destroy:function($el) {
    if ($el != null) {
      $el.remove();
    }
    if (this.instances.length === 0) {
      $([document, window]).unbind(".dialog-overlay");
    }
  }, height:function() {
    var scrollHeight, offsetHeight;
    return $(document).height() + "px";
  }, width:function() {
    var scrollWidth, offsetWidth;
    return $(document).width() + "px";
  }, resize:function() {
    var $overlays = $([]);
    $.each($.ui.editableSelectOverlay.overlay.instances, function() {
      $overlays = $overlays.add(this);
    });
    $overlays.css({width:0, height:0}).css({width:$.ui.editableSelectOverlay.overlay.width(), height:$.ui.editableSelectOverlay.overlay.height()});
  }});
  $.extend($.ui.editableSelectOverlay.overlay.prototype, {destroy:function() {
    $.ui.editableSelectOverlay.overlay.destroy(this.$el);
  }});
})(jQuery);
(function($) {
  var R = $.refresh = $.fn.refresh = function(a, b, c) {
    return R.setup(opts.apply(this, arguments));
  };
  function opts(a, b, c) {
    var r = $.extend({}, R);
    if (typeof a == "string") {
      r.url = a;
      if (b && !$.isFunction(b)) {
        r.time = b;
      } else {
        c = b;
      }
      if (c) {
        r.success = c;
      }
    } else {
      $.extend(r, a);
    }
    if (!r.method) {
      r.method = $.rest ? "Read" : "ajax";
    }
    if (!r.target) {
      r.target = this ? this : $;
    }
    if (!r.type && !$.rest) {
      r.type = "GET";
    }
    return r;
  }
  $.extend(R, {version:"0.5", url:null, time:178, success:null, method:null, setup:function(r) {
    if (r.cancel) {
      r.cancel();
    }
    r.id = setInterval(function() {
      r.refresh(r);
    }, r.time * 1E3);
    r.cancel = function() {
      clearInterval(r.id);
      return r;
    };
    return r;
  }, refresh:function(r) {
    if (r.lastReturn) {
      delete r.lastReturn;
    }
    r.lastReturn = r.target[r.method](r);
  }});
})(jQuery);
jQuery.tableDnD = {currentTable:null, dragObject:null, mouseOffset:null, oldY:0, build:function(options) {
  this.each(function() {
    this.tableDnDConfig = jQuery.extend({onDragStyle:null, onDropStyle:null, onDragClass:"tDnD_whileDrag", onDrop:null, onDragStart:null, scrollAmount:5, serializeRegexp:/[^\-]*$/, serializeParamName:null, dragHandle:null}, options || {});
    jQuery.tableDnD.makeDraggable(this);
  });
  jQuery(document).bind("mousemove", jQuery.tableDnD.mousemove).bind("mouseup", jQuery.tableDnD.mouseup);
  return this;
}, makeDraggable:function(table) {
  var config = table.tableDnDConfig;
  if (table.tableDnDConfig.dragHandle) {
    $(document).on("mousedown", "#qb-ui-grid td." + table.tableDnDConfig.dragHandle, function(ev) {
      jQuery.tableDnD.dragObject = this.parentNode;
      jQuery.tableDnD.currentTable = table;
      jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
      if (config.onDragStart) {
        config.onDragStart(table, this);
      }
      return false;
    });
  } else {
    var rows = jQuery("tr", table);
    $(document).on("mousedown", "#qb-ui-grid table td." + table.tableDnDConfig.dragHandle, function(ev) {
      if (ev.target.tagName == "TD") {
        jQuery.tableDnD.dragObject = this;
        jQuery.tableDnD.currentTable = table;
        jQuery.tableDnD.mouseOffset = jQuery.tableDnD.getMouseOffset(this, ev);
        if (config.onDragStart) {
          config.onDragStart(table, this);
        }
        return false;
      }
    });
  }
}, updateTables:function() {
  this.each(function() {
    if (this.tableDnDConfig) {
      jQuery.tableDnD.makeDraggable(this);
    }
  });
}, mouseCoords:function(ev) {
  if (ev.pageX || ev.pageY) {
    return{x:ev.pageX, y:ev.pageY};
  }
  return{x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop};
}, getMouseOffset:function(target, ev) {
  ev = ev || window.event;
  var docPos = this.getPosition(target);
  var mousePos = this.mouseCoords(ev);
  return{x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}, getPosition:function(e) {
  var left = 0;
  var top = 0;
  if (e.offsetHeight == 0) {
    e = e.firstChild;
  }
  while (e.offsetParent) {
    left += e.offsetLeft;
    top += e.offsetTop;
    e = e.offsetParent;
  }
  left += e.offsetLeft;
  top += e.offsetTop;
  return{x:left, y:top};
}, mousemove:function(ev) {
  if (jQuery.tableDnD.dragObject == null) {
    return;
  }
  var dragObj = jQuery(jQuery.tableDnD.dragObject);
  var config = jQuery.tableDnD.currentTable.tableDnDConfig;
  var mousePos = jQuery.tableDnD.mouseCoords(ev);
  var y = mousePos.y - jQuery.tableDnD.mouseOffset.y;
  var yOffset = window.pageYOffset;
  if (document.all) {
    if (typeof document.compatMode != "undefined" && document.compatMode != "BackCompat") {
      yOffset = document.documentElement.scrollTop;
    } else {
      if (typeof document.body != "undefined") {
        yOffset = document.body.scrollTop;
      }
    }
  }
  if (mousePos.y - yOffset < config.scrollAmount) {
    window.scrollBy(0, -config.scrollAmount);
  } else {
    var windowHeight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
    if (windowHeight - (mousePos.y - yOffset) < config.scrollAmount) {
      window.scrollBy(0, config.scrollAmount);
    }
  }
  if (y != jQuery.tableDnD.oldY) {
    var movingDown = y > jQuery.tableDnD.oldY;
    jQuery.tableDnD.oldY = y;
    if (config.onDragClass) {
      dragObj.addClass(config.onDragClass);
    } else {
      dragObj.css(config.onDragStyle);
    }
    var currentRow = jQuery.tableDnD.findDropTargetRow(dragObj, y);
    if (currentRow && currentRow.className != "ui-qb-grid-row-header") {
      if (movingDown && jQuery.tableDnD.dragObject != currentRow) {
        jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow.nextSibling);
      } else {
        if (!movingDown && jQuery.tableDnD.dragObject != currentRow) {
          jQuery.tableDnD.dragObject.parentNode.insertBefore(jQuery.tableDnD.dragObject, currentRow);
        }
      }
    }
  }
  return false;
}, findDropTargetRow:function(draggedRow, y) {
  var rows = jQuery.tableDnD.currentTable.rows;
  for (var i = 0;i < rows.length;i++) {
    var row = rows[i];
    var rowY = this.getPosition(row).y;
    var rowHeight = parseInt(row.offsetHeight) / 2;
    if (row.offsetHeight == 0) {
      rowY = this.getPosition(row.firstChild).y;
      rowHeight = parseInt(row.firstChild.offsetHeight) / 2;
    }
    if (y > rowY - rowHeight && y < rowY + rowHeight) {
      if (row == draggedRow) {
        return null;
      }
      var config = jQuery.tableDnD.currentTable.tableDnDConfig;
      if (config.onAllowDrop) {
        if (config.onAllowDrop(draggedRow, row)) {
          return row;
        } else {
          return null;
        }
      } else {
        var nodrop = jQuery(row).hasClass("nodrop");
        if (!nodrop) {
          return row;
        } else {
          return null;
        }
      }
      return row;
    }
  }
  return null;
}, mouseup:function(e) {
  if (jQuery.tableDnD.currentTable && jQuery.tableDnD.dragObject) {
    var droppedRow = jQuery.tableDnD.dragObject;
    var config = jQuery.tableDnD.currentTable.tableDnDConfig;
    if (config.onDragClass) {
      jQuery(droppedRow).removeClass(config.onDragClass);
    } else {
      jQuery(droppedRow).css(config.onDropStyle);
    }
    jQuery.tableDnD.dragObject = null;
    if (config.onDrop) {
      config.onDrop(jQuery.tableDnD.currentTable, droppedRow);
    }
    jQuery.tableDnD.currentTable = null;
  }
}, serialize:function() {
  if (jQuery.tableDnD.currentTable) {
    return jQuery.tableDnD.serializeTable(jQuery.tableDnD.currentTable);
  } else {
    return "Error: No Table id set, you need to set an id on your table and every row";
  }
}, serializeTable:function(table) {
  var result = "";
  var tableId = table.id;
  var rows = table.rows;
  for (var i = 0;i < rows.length;i++) {
    if (result.length > 0) {
      result += "&";
    }
    var rowId = rows[i].id;
    if (rowId && (rowId && (table.tableDnDConfig && table.tableDnDConfig.serializeRegexp))) {
      rowId = rowId.match(table.tableDnDConfig.serializeRegexp)[0];
    }
    result += tableId + "[]=" + rowId;
  }
  return result;
}, serializeTables:function() {
  var result = "";
  this.each(function() {
    result += jQuery.tableDnD.serializeTable(this);
  });
  return result;
}};
jQuery.fn.extend({tableDnD:jQuery.tableDnD.build, tableDnDUpdate:jQuery.tableDnD.updateTables, tableDnDSerialize:jQuery.tableDnD.serializeTables});
(function($) {
  $.widget("ui.selectmenu", {options:{appendTo:"body", typeAhead:1E3, style:"dropdown", positionOptions:null, width:null, menuWidth:null, handleWidth:26, maxHeight:null, icons:null, format:null, escapeHtml:false, bgImage:function() {
  }}, _create:function() {
    var self = this, o = this.options;
    var selectmenuId = this.element.uniqueId().attr("id");
    this.ids = [selectmenuId, selectmenuId + "-button", selectmenuId + "-menu"];
    this._safemouseup = true;
    this.isOpen = false;
    this.newelement = $("<a />", {"class":"ui-selectmenu ui-widget ui-state-default ui-corner-all", "id":this.ids[1], "role":"button", "href":"#nogo", "tabindex":this.element.attr("disabled") ? 1 : 0, "aria-haspopup":true, "aria-owns":this.ids[2]});
    this.newelementWrap = $("<span />").append(this.newelement).insertAfter(this.element);
    var tabindex = this.element.attr("tabindex");
    if (tabindex) {
      this.newelement.attr("tabindex", tabindex);
    }
    this.newelement.data("selectelement", this.element);
    this.selectmenuIcon = $('<span class="ui-selectmenu-icon ui-icon"></span>').prependTo(this.newelement);
    this.newelement.prepend('<span class="ui-selectmenu-status" />');
    this.element.bind({"click.selectmenu":function(event) {
      self.newelement.focus();
      event.preventDefault();
    }});
    this.newelement.bind("mousedown.selectmenu", function(event) {
      self._toggle(event, true);
      if (o.style == "popup") {
        self._safemouseup = false;
        setTimeout(function() {
          self._safemouseup = true;
        }, 300);
      }
      event.preventDefault();
    }).bind("click.selectmenu", function(event) {
      event.preventDefault();
    }).bind("keydown.selectmenu", function(event) {
      var ret = false;
      switch(event.keyCode) {
        case $.ui.keyCode.ENTER:
          ret = true;
          break;
        case $.ui.keyCode.SPACE:
          self._toggle(event);
          break;
        case $.ui.keyCode.UP:
          if (event.altKey) {
            self.open(event);
          } else {
            self._moveSelection(-1);
          }
          break;
        case $.ui.keyCode.DOWN:
          if (event.altKey) {
            self.open(event);
          } else {
            self._moveSelection(1);
          }
          break;
        case $.ui.keyCode.LEFT:
          self._moveSelection(-1);
          break;
        case $.ui.keyCode.RIGHT:
          self._moveSelection(1);
          break;
        case $.ui.keyCode.TAB:
          ret = true;
          break;
        case $.ui.keyCode.PAGE_UP:
        ;
        case $.ui.keyCode.HOME:
          self.index(0);
          break;
        case $.ui.keyCode.PAGE_DOWN:
        ;
        case $.ui.keyCode.END:
          self.index(self._optionLis.length);
          break;
        default:
          ret = true;
      }
      return ret;
    }).bind("keypress.selectmenu", function(event) {
      if (event.which > 0) {
        self._typeAhead(event.which, "mouseup");
      }
      return true;
    }).bind("mouseover.selectmenu", function() {
      if (!o.disabled) {
        $(this).addClass("ui-state-hover");
      }
    }).bind("mouseout.selectmenu", function() {
      if (!o.disabled) {
        $(this).removeClass("ui-state-hover");
      }
    }).bind("focus.selectmenu", function() {
      if (!o.disabled) {
        $(this).addClass("ui-state-focus");
      }
    }).bind("blur.selectmenu", function() {
      if (!o.disabled) {
        $(this).removeClass("ui-state-focus");
      }
    });
    $(document).bind("mousedown.selectmenu-" + this.ids[0], function(event) {
      if (self.isOpen && !$(event.target).closest("#" + self.ids[1]).length) {
        self.close(event);
      }
    });
    this.element.bind("click.selectmenu", function() {
      self._refreshValue();
    }).bind("focus.selectmenu", function() {
      if (self.newelement) {
        self.newelement[0].focus();
      }
    });
    if (!o.width) {
      o.width = this.element.outerWidth();
    }
    this.newelement.width(o.width);
    this.element.hide();
    this.list = $("<ul />", {"class":"ui-widget ui-widget-content", "aria-hidden":true, "role":"listbox", "aria-labelledby":this.ids[1], "id":this.ids[2]});
    this.listWrap = $("<div />", {"class":"ui-selectmenu-menu"}).append(this.list).appendTo(o.appendTo);
    this.list.bind("keydown.selectmenu", function(event) {
      var ret = false;
      switch(event.keyCode) {
        case $.ui.keyCode.UP:
          if (event.altKey) {
            self.close(event, true);
          } else {
            self._moveFocus(-1);
          }
          break;
        case $.ui.keyCode.DOWN:
          if (event.altKey) {
            self.close(event, true);
          } else {
            self._moveFocus(1);
          }
          break;
        case $.ui.keyCode.LEFT:
          self._moveFocus(-1);
          break;
        case $.ui.keyCode.RIGHT:
          self._moveFocus(1);
          break;
        case $.ui.keyCode.HOME:
          self._moveFocus(":first");
          break;
        case $.ui.keyCode.PAGE_UP:
          self._scrollPage("up");
          break;
        case $.ui.keyCode.PAGE_DOWN:
          self._scrollPage("down");
          break;
        case $.ui.keyCode.END:
          self._moveFocus(":last");
          break;
        case $.ui.keyCode.ENTER:
        ;
        case $.ui.keyCode.SPACE:
          self.close(event, true);
          $(event.target).parents("li:eq(0)").trigger("mouseup");
          break;
        case $.ui.keyCode.TAB:
          ret = true;
          self.close(event, true);
          $(event.target).parents("li:eq(0)").trigger("mouseup");
          break;
        case $.ui.keyCode.ESCAPE:
          self.close(event, true);
          break;
        default:
          ret = true;
      }
      return ret;
    }).bind("keypress.selectmenu", function(event) {
      if (event.which > 0) {
        self._typeAhead(event.which, "focus");
      }
      return true;
    }).bind("mousedown.selectmenu mouseup.selectmenu", function() {
      return false;
    });
    $(window).bind("resize.selectmenu-" + this.ids[0], $.proxy(self.close, this));
  }, _init:function() {
    var self = this, o = this.options;
    var selectOptionData = [];
    this.element.find("option").each(function() {
      var opt = $(this);
      selectOptionData.push({value:opt.attr("value"), text:self._formatText(opt.text(), opt), selected:opt.attr("selected"), disabled:opt.attr("disabled"), classes:opt.attr("class"), typeahead:opt.attr("typeahead"), parentOptGroup:opt.parent("optgroup"), bgImage:o.bgImage.call(opt)});
    });
    var activeClass = self.options.style == "popup" ? " ui-state-active" : "";
    this.list.html("");
    if (selectOptionData.length) {
      for (var i = 0;i < selectOptionData.length;i++) {
        var thisLiAttr = {role:"presentation"};
        if (selectOptionData[i].disabled) {
          thisLiAttr["class"] = "ui-state-disabled";
        }
        var thisAAttr = {html:selectOptionData[i].text || "&nbsp;", href:"#nogo", tabindex:-1, role:"option", "aria-selected":false};
        if (selectOptionData[i].disabled) {
          thisAAttr["aria-disabled"] = true;
        }
        if (selectOptionData[i].typeahead) {
          thisAAttr["typeahead"] = selectOptionData[i].typeahead;
        }
        var thisA = $("<a/>", thisAAttr).bind("focus.selectmenu", function() {
          $(this).parent().mouseover();
        }).bind("blur.selectmenu", function() {
          $(this).parent().mouseout();
        });
        var thisLi = $("<li/>", thisLiAttr).append(thisA).data("index", i).addClass(selectOptionData[i].classes).data("optionClasses", selectOptionData[i].classes || "").bind("mouseup.selectmenu", function(event) {
          if (self._safemouseup && (!self._disabled(event.currentTarget) && !self._disabled($(event.currentTarget).parents("ul > li.ui-selectmenu-group ")))) {
            self.index($(this).data("index"));
            self.select(event);
            self.close(event, true);
          }
          return false;
        }).bind("click.selectmenu", function() {
          return false;
        }).bind("mouseover.selectmenu", function(e) {
          if (!$(this).hasClass("ui-state-disabled") && !$(this).parent("ul").parent("li").hasClass("ui-state-disabled")) {
            e.optionValue = self.element[0].options[$(this).data("index")].value;
            self._trigger("hover", e, self._uiHash());
            self._selectedOptionLi().addClass(activeClass);
            self._focusedOptionLi().removeClass("ui-selectmenu-item-focus ui-state-hover");
            $(this).removeClass("ui-state-active").addClass("ui-selectmenu-item-focus ui-state-hover");
          }
        }).bind("mouseout.selectmenu", function(e) {
          if ($(this).is(self._selectedOptionLi())) {
            $(this).addClass(activeClass);
          }
          e.optionValue = self.element[0].options[$(this).data("index")].value;
          self._trigger("blur", e, self._uiHash());
          $(this).removeClass("ui-selectmenu-item-focus ui-state-hover");
        });
        if (selectOptionData[i].parentOptGroup.length) {
          var optGroupName = "ui-selectmenu-group-" + this.element.find("optgroup").index(selectOptionData[i].parentOptGroup);
          if (this.list.find("li." + optGroupName).length) {
            this.list.find("li." + optGroupName + ":last ul").append(thisLi);
          } else {
            $('<li role="presentation" class="ui-selectmenu-group ' + optGroupName + (selectOptionData[i].parentOptGroup.attr("disabled") ? " " + 'ui-state-disabled" aria-disabled="true"' : '"') + '><span class="ui-selectmenu-group-label">' + selectOptionData[i].parentOptGroup.attr("label") + "</span><ul></ul></li>").appendTo(this.list).find("ul").append(thisLi);
          }
        } else {
          thisLi.appendTo(this.list);
        }
        if (o.icons) {
          for (var j in o.icons) {
            if (thisLi.is(o.icons[j].find)) {
              thisLi.data("optionClasses", selectOptionData[i].classes + " ui-selectmenu-hasIcon").addClass("ui-selectmenu-hasIcon");
              var iconClass = o.icons[j].icon || "";
              thisLi.find("a:eq(0)").prepend('<span class="ui-selectmenu-item-icon ui-icon ' + iconClass + '"></span>');
              if (selectOptionData[i].bgImage) {
                thisLi.find("span").css("background-image", selectOptionData[i].bgImage);
              }
            }
          }
        }
      }
    } else {
      $('<li role="presentation"><a href="#nogo" tabindex="-1" role="option"></a></li>').appendTo(this.list);
    }
    var isDropDown = o.style == "dropdown";
    this.newelement.toggleClass("ui-selectmenu-dropdown", isDropDown).toggleClass("ui-selectmenu-popup", !isDropDown);
    this.list.toggleClass("ui-selectmenu-menu-dropdown ui-corner-bottom", isDropDown).toggleClass("ui-selectmenu-menu-popup ui-corner-all", !isDropDown).find("li:first").toggleClass("ui-corner-top", !isDropDown).end().find("li:last").addClass("ui-corner-bottom");
    this.selectmenuIcon.toggleClass("ui-icon-triangle-1-s", isDropDown).toggleClass("ui-icon-triangle-2-n-s", !isDropDown);
    if (o.style == "dropdown") {
      this.list.width(o.menuWidth ? o.menuWidth : o.width);
    } else {
      this.list.width(o.menuWidth ? o.menuWidth : o.width - o.handleWidth);
    }
    if (!navigator.userAgent.match(/Android 2/)) {
      var listH = this.listWrap.height();
      var winH = $(window).height();
      var maxH = o.maxHeight ? Math.min(o.maxHeight, winH) : winH / 3;
      if (listH > maxH) {
        this.list.height(maxH);
      }
    }
    this._optionLis = this.list.find("li:not(.ui-selectmenu-group)");
    if (this.element.attr("disabled")) {
      this.disable();
    } else {
      this.enable();
    }
    this._refreshValue();
    this._selectedOptionLi().addClass("ui-selectmenu-item-focus");
    clearTimeout(this.refreshTimeout);
    this.refreshTimeout = window.setTimeout(function() {
      self._refreshPosition();
    }, 200);
  }, destroy:function() {
    this.element.removeData(this.widgetName).removeClass("ui-selectmenu-disabled" + " " + "ui-state-disabled").removeAttr("aria-disabled").unbind(".selectmenu");
    $(window).unbind(".selectmenu-" + this.ids[0]);
    $(document).unbind(".selectmenu-" + this.ids[0]);
    this.newelementWrap.remove();
    this.listWrap.remove();
    this.element.unbind(".selectmenu").show();
    $.Widget.prototype.destroy.apply(this, arguments);
  }, _typeAhead:function(code, eventType) {
    var self = this, c = String.fromCharCode(code).toLowerCase(), matchee = null, nextIndex = null;
    if (self._typeAhead_timer) {
      window.clearTimeout(self._typeAhead_timer);
      self._typeAhead_timer = undefined;
    }
    self._typeAhead_chars = (self._typeAhead_chars === undefined ? "" : self._typeAhead_chars).concat(c);
    if (self._typeAhead_chars.length < 2 || self._typeAhead_chars.substr(-2, 1) === c && self._typeAhead_cycling) {
      self._typeAhead_cycling = true;
      matchee = c;
    } else {
      self._typeAhead_cycling = false;
      matchee = self._typeAhead_chars;
    }
    var selectedIndex = (eventType !== "focus" ? this._selectedOptionLi().data("index") : this._focusedOptionLi().data("index")) || 0;
    for (var i = 0;i < this._optionLis.length;i++) {
      var thisText = this._optionLis.eq(i).text().substr(0, matchee.length).toLowerCase();
      if (thisText === matchee) {
        if (self._typeAhead_cycling) {
          if (nextIndex === null) {
            nextIndex = i;
          }
          if (i > selectedIndex) {
            nextIndex = i;
            break;
          }
        } else {
          nextIndex = i;
        }
      }
    }
    if (nextIndex !== null) {
      this._optionLis.eq(nextIndex).find("a").trigger(eventType);
    }
    self._typeAhead_timer = window.setTimeout(function() {
      self._typeAhead_timer = undefined;
      self._typeAhead_chars = undefined;
      self._typeAhead_cycling = undefined;
    }, self.options.typeAhead);
  }, _uiHash:function() {
    var index = this.index();
    return{index:index, option:$("option", this.element).get(index), value:this.element[0].value};
  }, open:function(event) {
    if (this.newelement.attr("aria-disabled") != "true") {
      var self = this, o = this.options, selected = this._selectedOptionLi(), link = selected.find("a");
      self._closeOthers(event);
      self.newelement.addClass("ui-state-active");
      self.list.attr("aria-hidden", false);
      self.listWrap.addClass("ui-selectmenu-open");
      if (o.style == "dropdown") {
        self.newelement.removeClass("ui-corner-all").addClass("ui-corner-top");
      } else {
        this.list.css("left", -5E3).scrollTop(this.list.scrollTop() + selected.position().top - this.list.outerHeight() / 2 + selected.outerHeight() / 2).css("left", "auto");
      }
      self._refreshPosition();
      if (link.length) {
        link[0].focus();
      }
      self.isOpen = true;
      self._trigger("open", event, self._uiHash());
    }
  }, close:function(event, retainFocus) {
    if (this.newelement.is(".ui-state-active")) {
      this.newelement.removeClass("ui-state-active");
      this.listWrap.removeClass("ui-selectmenu-open");
      this.list.attr("aria-hidden", true);
      if (this.options.style == "dropdown") {
        this.newelement.removeClass("ui-corner-top").addClass("ui-corner-all");
      }
      if (retainFocus) {
        this.newelement.focus();
      }
      this.isOpen = false;
      this._trigger("close", event, this._uiHash());
    }
  }, change:function(event) {
    this.element.trigger("change");
    this._trigger("change", event, this._uiHash());
  }, select:function(event) {
    if (this._disabled(event.currentTarget)) {
      return false;
    }
    this._trigger("select", event, this._uiHash());
  }, widget:function() {
    return this.listWrap.add(this.newelementWrap);
  }, _closeOthers:function(event) {
    $(".ui-selectmenu.ui-state-active").not(this.newelement).each(function() {
      $(this).data("selectelement").selectmenu("close", event);
    });
    $(".ui-selectmenu.ui-state-hover").trigger("mouseout");
  }, _toggle:function(event, retainFocus) {
    if (this.isOpen) {
      this.close(event, retainFocus);
    } else {
      this.open(event);
    }
  }, _formatText:function(text, opt) {
    if (this.options.format) {
      text = this.options.format(text, opt);
    } else {
      if (this.options.escapeHtml) {
        text = $("<div />").text(text).html();
      }
    }
    return text;
  }, _selectedIndex:function() {
    return this.element[0].selectedIndex;
  }, _selectedOptionLi:function() {
    return this._optionLis.eq(this._selectedIndex());
  }, _focusedOptionLi:function() {
    return this.list.find(".ui-selectmenu-item-focus");
  }, _moveSelection:function(amt, recIndex) {
    if (!this.options.disabled) {
      var currIndex = parseInt(this._selectedOptionLi().data("index") || 0, 10);
      var newIndex = currIndex + amt;
      if (newIndex < 0) {
        newIndex = 0;
      }
      if (newIndex > this._optionLis.size() - 1) {
        newIndex = this._optionLis.size() - 1;
      }
      if (newIndex === recIndex) {
        return false;
      }
      if (this._optionLis.eq(newIndex).hasClass("ui-state-disabled")) {
        amt > 0 ? ++amt : --amt;
        this._moveSelection(amt, newIndex);
      } else {
        this._optionLis.eq(newIndex).trigger("mouseover").trigger("mouseup");
      }
    }
  }, _moveFocus:function(amt, recIndex) {
    if (!isNaN(amt)) {
      var currIndex = parseInt(this._focusedOptionLi().data("index") || 0, 10);
      var newIndex = currIndex + amt;
    } else {
      var newIndex = parseInt(this._optionLis.filter(amt).data("index"), 10)
    }
    if (newIndex < 0) {
      newIndex = 0;
    }
    if (newIndex > this._optionLis.size() - 1) {
      newIndex = this._optionLis.size() - 1;
    }
    if (newIndex === recIndex) {
      return false;
    }
    var activeID = "ui-selectmenu-item-" + Math.round(Math.random() * 1E3);
    this._focusedOptionLi().find("a:eq(0)").attr("id", "");
    if (this._optionLis.eq(newIndex).hasClass("ui-state-disabled")) {
      amt > 0 ? ++amt : --amt;
      this._moveFocus(amt, newIndex);
    } else {
      this._optionLis.eq(newIndex).find("a:eq(0)").attr("id", activeID).focus();
    }
    this.list.attr("aria-activedescendant", activeID);
  }, _scrollPage:function(direction) {
    var numPerPage = Math.floor(this.list.outerHeight() / this._optionLis.first().outerHeight());
    numPerPage = direction == "up" ? -numPerPage : numPerPage;
    this._moveFocus(numPerPage);
  }, _setOption:function(key, value) {
    this.options[key] = value;
    if (key == "disabled") {
      if (value) {
        this.close();
      }
      this.element.add(this.newelement).add(this.list)[value ? "addClass" : "removeClass"]("ui-selectmenu-disabled " + "ui-state-disabled").attr("aria-disabled", value).attr("tabindex", value ? 1 : 0);
    }
  }, disable:function(index, type) {
    if (typeof index == "undefined") {
      this._setOption("disabled", true);
    } else {
      this._toggleEnabled(type || "option", index, false);
    }
  }, enable:function(index, type) {
    if (typeof index == "undefined") {
      this._setOption("disabled", false);
    } else {
      this._toggleEnabled(type || "option", index, true);
    }
  }, _disabled:function(elem) {
    return $(elem).hasClass("ui-state-disabled");
  }, _toggleEnabled:function(type, index, flag) {
    var element = this.element.find(type).eq(index), elements = type === "optgroup" ? this.list.find("li.ui-selectmenu-group-" + index) : this._optionLis.eq(index);
    if (elements) {
      elements.toggleClass("ui-state-disabled", !flag).attr("aria-disabled", !flag);
      if (flag) {
        element.removeAttr("disabled");
      } else {
        element.attr("disabled", "disabled");
      }
    }
  }, index:function(newIndex) {
    if (arguments.length) {
      if (!this._disabled($(this._optionLis[newIndex])) && newIndex != this._selectedIndex()) {
        this.element[0].selectedIndex = newIndex;
        this._refreshValue();
        this.change();
      } else {
        return false;
      }
    } else {
      return this._selectedIndex();
    }
  }, value:function(newValue) {
    if (arguments.length && newValue != this.element[0].value) {
      this.element[0].value = newValue;
      this._refreshValue();
      this.change();
    } else {
      return this.element[0].value;
    }
  }, _refreshValue:function() {
    var activeClass = this.options.style == "popup" ? " ui-state-active" : "";
    var activeID = "ui-selectmenu-item-" + Math.round(Math.random() * 1E3);
    this.list.find(".ui-selectmenu-item-selected").removeClass("ui-selectmenu-item-selected" + activeClass).find("a").attr("aria-selected", "false").attr("id", "");
    this._selectedOptionLi().addClass("ui-selectmenu-item-selected" + activeClass).find("a").attr("aria-selected", "true").attr("id", activeID);
    var currentOptionClasses = this.newelement.data("optionClasses") ? this.newelement.data("optionClasses") : "";
    var newOptionClasses = this._selectedOptionLi().data("optionClasses") ? this._selectedOptionLi().data("optionClasses") : "";
    this.newelement.removeClass(currentOptionClasses).data("optionClasses", newOptionClasses).addClass(newOptionClasses).find(".ui-selectmenu-status").html(this._selectedOptionLi().find("a:eq(0)").html());
    this.list.attr("aria-activedescendant", activeID);
  }, _refreshPosition:function() {
    var o = this.options, positionDefault = {of:this.newelement, my:"left top", at:"left bottom", collision:"flip"};
    if (o.style == "popup") {
      var selected = this._selectedOptionLi();
      positionDefault.my = "left top" + (this.list.offset().top - selected.offset().top - (this.newelement.outerHeight() + selected.outerHeight()) / 2);
      positionDefault.collision = "fit";
    }
    this.listWrap.removeAttr("style").zIndex(this.element.zIndex() + 2).position($.extend(positionDefault, o.positionOptions));
  }});
})(jQuery);
(function(glob) {
  var version = "0.4.2", has = "hasOwnProperty", separator = /[\.\/]/, wildcard = "*", fun = function() {
  }, numsort = function(a, b) {
    return a - b;
  }, current_event, stop, events = {n:{}}, eve = function(name, scope) {
    name = String(name);
    var e = events, oldstop = stop, args = Array.prototype.slice.call(arguments, 2), listeners = eve.listeners(name), z = 0, f = false, l, indexed = [], queue = {}, out = [], ce = current_event, errors = [];
    current_event = name;
    stop = 0;
    for (var i = 0, ii = listeners.length;i < ii;i++) {
      if ("zIndex" in listeners[i]) {
        indexed.push(listeners[i].zIndex);
        if (listeners[i].zIndex < 0) {
          queue[listeners[i].zIndex] = listeners[i];
        }
      }
    }
    indexed.sort(numsort);
    while (indexed[z] < 0) {
      l = queue[indexed[z++]];
      out.push(l.apply(scope, args));
      if (stop) {
        stop = oldstop;
        return out;
      }
    }
    for (i = 0;i < ii;i++) {
      l = listeners[i];
      if ("zIndex" in l) {
        if (l.zIndex == indexed[z]) {
          out.push(l.apply(scope, args));
          if (stop) {
            break;
          }
          do {
            z++;
            l = queue[indexed[z]];
            l && out.push(l.apply(scope, args));
            if (stop) {
              break;
            }
          } while (l);
        } else {
          queue[l.zIndex] = l;
        }
      } else {
        out.push(l.apply(scope, args));
        if (stop) {
          break;
        }
      }
    }
    stop = oldstop;
    current_event = ce;
    return out.length ? out : null;
  };
  eve._events = events;
  eve.listeners = function(name) {
    var names = name.split(separator), e = events, item, items, k, i, ii, j, jj, nes, es = [e], out = [];
    for (i = 0, ii = names.length;i < ii;i++) {
      nes = [];
      for (j = 0, jj = es.length;j < jj;j++) {
        e = es[j].n;
        items = [e[names[i]], e[wildcard]];
        k = 2;
        while (k--) {
          item = items[k];
          if (item) {
            nes.push(item);
            out = out.concat(item.f || []);
          }
        }
      }
      es = nes;
    }
    return out;
  };
  eve.on = function(name, f) {
    name = String(name);
    if (typeof f != "function") {
      return function() {
      };
    }
    var names = name.split(separator), e = events;
    for (var i = 0, ii = names.length;i < ii;i++) {
      e = e.n;
      e = e.hasOwnProperty(names[i]) && e[names[i]] || (e[names[i]] = {n:{}});
    }
    e.f = e.f || [];
    for (i = 0, ii = e.f.length;i < ii;i++) {
      if (e.f[i] == f) {
        return fun;
      }
    }
    e.f.push(f);
    return function(zIndex) {
      if (+zIndex == +zIndex) {
        f.zIndex = +zIndex;
      }
    };
  };
  eve.f = function(event) {
    var attrs = [].slice.call(arguments, 1);
    return function() {
      eve.apply(null, [event, null].concat(attrs).concat([].slice.call(arguments, 0)));
    };
  };
  eve.stop = function() {
    stop = 1;
  };
  eve.nt = function(subname) {
    if (subname) {
      return(new RegExp("(?:\\.|\\/|^)" + subname + "(?:\\.|\\/|$)")).test(current_event);
    }
    return current_event;
  };
  eve.nts = function() {
    return current_event.split(separator);
  };
  eve.off = eve.unbind = function(name, f) {
    if (!name) {
      eve._events = events = {n:{}};
      return;
    }
    var names = name.split(separator), e, key, splice, i, ii, j, jj, cur = [events];
    for (i = 0, ii = names.length;i < ii;i++) {
      for (j = 0;j < cur.length;j += splice.length - 2) {
        splice = [j, 1];
        e = cur[j].n;
        if (names[i] != wildcard) {
          if (e[names[i]]) {
            splice.push(e[names[i]]);
          }
        } else {
          for (key in e) {
            if (e[has](key)) {
              splice.push(e[key]);
            }
          }
        }
        cur.splice.apply(cur, splice);
      }
    }
    for (i = 0, ii = cur.length;i < ii;i++) {
      e = cur[i];
      while (e.n) {
        if (f) {
          if (e.f) {
            for (j = 0, jj = e.f.length;j < jj;j++) {
              if (e.f[j] == f) {
                e.f.splice(j, 1);
                break;
              }
            }
            !e.f.length && delete e.f;
          }
          for (key in e.n) {
            if (e.n[has](key) && e.n[key].f) {
              var funcs = e.n[key].f;
              for (j = 0, jj = funcs.length;j < jj;j++) {
                if (funcs[j] == f) {
                  funcs.splice(j, 1);
                  break;
                }
              }
              !funcs.length && delete e.n[key].f;
            }
          }
        } else {
          delete e.f;
          for (key in e.n) {
            if (e.n[has](key) && e.n[key].f) {
              delete e.n[key].f;
            }
          }
        }
        e = e.n;
      }
    }
  };
  eve.once = function(name, f) {
    var f2 = function() {
      eve.unbind(name, f2);
      return f.apply(this, arguments);
    };
    return eve.on(name, f2);
  };
  eve.version = version;
  eve.toString = function() {
    return "You are running Eve " + version;
  };
  typeof module != "undefined" && module.exports ? module.exports = eve : typeof define != "undefined" ? define("eve", [], function() {
    return eve;
  }) : glob.eve = eve;
})(window || this);
(function(glob, factory) {
  if (typeof define === "function" && define.amd) {
    define(["eve"], function(eve) {
      return factory(glob, eve);
    });
  } else {
    factory(glob, glob.eve);
  }
})(this, function(window, eve) {
  function R(first) {
    if (R.is(first, "function")) {
      return loaded ? first() : eve.on("raphael.DOMload", first);
    } else {
      if (R.is(first, array)) {
        return R._engine.create[apply](R, first.splice(0, 3 + R.is(first[0], nu))).add(first);
      } else {
        var args = Array.prototype.slice.call(arguments, 0);
        if (R.is(args[args.length - 1], "function")) {
          var f = args.pop();
          return loaded ? f.call(R._engine.create[apply](R, args)) : eve.on("raphael.DOMload", function() {
            f.call(R._engine.create[apply](R, args));
          });
        } else {
          return R._engine.create[apply](R, arguments);
        }
      }
    }
  }
  R.version = "2.1.2";
  R.eve = eve;
  var loaded, separator = /[, ]+/, elements = {circle:1, rect:1, path:1, ellipse:1, text:1, image:1}, formatrg = /\{(\d+)\}/g, proto = "prototype", has = "hasOwnProperty", g = {doc:document, win:window}, oldRaphael = {was:Object.prototype[has].call(g.win, "Raphael"), is:g.win.Raphael}, Paper = function() {
    this.ca = this.customAttributes = {};
  }, paperproto, appendChild = "appendChild", apply = "apply", concat = "concat", supportsTouch = "ontouchstart" in g.win || g.win.DocumentTouch && g.doc instanceof DocumentTouch, E = "", S = " ", Str = String, split = "split", events = "click dblclick mousedown mousemove mouseout mouseover mouseup touchstart touchmove touchend touchcancel"[split](S), touchMap = {mousedown:"touchstart", mousemove:"touchmove", mouseup:"touchend"}, lowerCase = Str.prototype.toLowerCase, math = Math, mmax = math.max, 
  mmin = math.min, abs = math.abs, pow = math.pow, PI = math.PI, nu = "number", string = "string", array = "array", toString = "toString", fillString = "fill", objectToString = Object.prototype.toString, paper = {}, push = "push", ISURL = R._ISURL = /^url\(['"]?([^\)]+?)['"]?\)$/i, colourRegExp = /^\s*((#[a-f\d]{6})|(#[a-f\d]{3})|rgba?\(\s*([\d\.]+%?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+%?(?:\s*,\s*[\d\.]+%?)?)\s*\)|hsba?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\)|hsla?\(\s*([\d\.]+(?:deg|\xb0|%)?\s*,\s*[\d\.]+%?\s*,\s*[\d\.]+(?:%?\s*,\s*[\d\.]+)?)%?\s*\))\s*$/i, 
  isnan = {"NaN":1, "Infinity":1, "-Infinity":1}, bezierrg = /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, round = math.round, setAttribute = "setAttribute", toFloat = parseFloat, toInt = parseInt, upperCase = Str.prototype.toUpperCase, availableAttrs = R._availableAttrs = {"arrow-end":"none", "arrow-start":"none", blur:0, "clip-rect":"0 0 1e9 1e9", cursor:"default", cx:0, cy:0, fill:"#fff", "fill-opacity":1, font:'10px "Arial"', "font-family":'"Arial"', "font-size":"10", "font-style":"normal", 
  "font-weight":400, gradient:0, height:0, href:"http://raphaeljs.com/", "letter-spacing":0, opacity:1, path:"M0,0", r:0, rx:0, ry:0, src:"", stroke:"#000", "stroke-dasharray":"", "stroke-linecap":"butt", "stroke-linejoin":"butt", "stroke-miterlimit":0, "stroke-opacity":1, "stroke-width":1, target:"_blank", "text-anchor":"middle", title:"Raphael", transform:"", width:0, x:0, y:0}, availableAnimAttrs = R._availableAnimAttrs = {blur:nu, "clip-rect":"csv", cx:nu, cy:nu, fill:"colour", "fill-opacity":nu, 
  "font-size":nu, height:nu, opacity:nu, path:"path", r:nu, rx:nu, ry:nu, stroke:"colour", "stroke-opacity":nu, "stroke-width":nu, transform:"transform", width:nu, x:nu, y:nu}, whitespace = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]/g, commaSpaces = /[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/, 
  hsrg = {hs:1, rg:1}, p2s = /,?([achlmqrstvxz]),?/gi, pathCommand = /([achlmrqstvz])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, 
  tCommand = /([rstm])[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029,]*((-?\d*\.?\d*(?:e[\-+]?\d+)?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*)+)/ig, pathValues = /(-?\d*\.?\d*(?:e[\-+]?\d+)?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,?[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*/ig, 
  radial_gradient = R._radial_gradient = /^r(?:\(([^,]+?)[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*,[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029]*([^\)]+?)\))?/, eldata = {}, sortByKey = function(a, b) {
    return a.key - b.key;
  }, sortByNumber = function(a, b) {
    return toFloat(a) - toFloat(b);
  }, fun = function() {
  }, pipe = function(x) {
    return x;
  }, rectPath = R._rectPath = function(x, y, w, h, r) {
    if (r) {
      return[["M", x + r, y], ["l", w - r * 2, 0], ["a", r, r, 0, 0, 1, r, r], ["l", 0, h - r * 2], ["a", r, r, 0, 0, 1, -r, r], ["l", r * 2 - w, 0], ["a", r, r, 0, 0, 1, -r, -r], ["l", 0, r * 2 - h], ["a", r, r, 0, 0, 1, r, -r], ["z"]];
    }
    return[["M", x, y], ["l", w, 0], ["l", 0, h], ["l", -w, 0], ["z"]];
  }, ellipsePath = function(x, y, rx, ry) {
    if (ry == null) {
      ry = rx;
    }
    return[["M", x, y], ["m", 0, -ry], ["a", rx, ry, 0, 1, 1, 0, 2 * ry], ["a", rx, ry, 0, 1, 1, 0, -2 * ry], ["z"]];
  }, getPath = R._getPath = {path:function(el) {
    return el.attr("path");
  }, circle:function(el) {
    var a = el.attrs;
    return ellipsePath(a.cx, a.cy, a.r);
  }, ellipse:function(el) {
    var a = el.attrs;
    return ellipsePath(a.cx, a.cy, a.rx, a.ry);
  }, rect:function(el) {
    var a = el.attrs;
    return rectPath(a.x, a.y, a.width, a.height, a.r);
  }, image:function(el) {
    var a = el.attrs;
    return rectPath(a.x, a.y, a.width, a.height);
  }, text:function(el) {
    var bbox = el._getBBox();
    return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
  }, set:function(el) {
    var bbox = el._getBBox();
    return rectPath(bbox.x, bbox.y, bbox.width, bbox.height);
  }}, mapPath = R.mapPath = function(path, matrix) {
    if (!matrix) {
      return path;
    }
    var x, y, i, j, ii, jj, pathi;
    path = path2curve(path);
    for (i = 0, ii = path.length;i < ii;i++) {
      pathi = path[i];
      for (j = 1, jj = pathi.length;j < jj;j += 2) {
        x = matrix.x(pathi[j], pathi[j + 1]);
        y = matrix.y(pathi[j], pathi[j + 1]);
        pathi[j] = x;
        pathi[j + 1] = y;
      }
    }
    return path;
  };
  R._g = g;
  R.type = g.win.SVGAngle || g.doc.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#BasicStructure", "1.1") ? "SVG" : "VML";
  if (R.type == "VML") {
    var d = g.doc.createElement("div"), b;
    d.innerHTML = '<v:shape adj="1"/>';
    b = d.firstChild;
    b.style.behavior = "url(#default#VML)";
    if (!(b && typeof b.adj == "object")) {
      return R.type = E;
    }
    d = null;
  }
  R.svg = !(R.vml = R.type == "VML");
  R._Paper = Paper;
  R.fn = paperproto = Paper.prototype = R.prototype;
  R._id = 0;
  R._oid = 0;
  R.is = function(o, type) {
    type = lowerCase.call(type);
    if (type == "finite") {
      return!isnan[has](+o);
    }
    if (type == "array") {
      return o instanceof Array;
    }
    return type == "null" && o === null || (type == typeof o && o !== null || (type == "object" && o === Object(o) || (type == "array" && (Array.isArray && Array.isArray(o)) || objectToString.call(o).slice(8, -1).toLowerCase() == type)));
  };
  function clone(obj) {
    if (typeof obj == "function" || Object(obj) !== obj) {
      return obj;
    }
    var res = new obj.constructor;
    for (var key in obj) {
      if (obj[has](key)) {
        res[key] = clone(obj[key]);
      }
    }
    return res;
  }
  R.angle = function(x1, y1, x2, y2, x3, y3) {
    if (x3 == null) {
      var x = x1 - x2, y = y1 - y2;
      if (!x && !y) {
        return 0;
      }
      return(180 + math.atan2(-y, -x) * 180 / PI + 360) % 360;
    } else {
      return R.angle(x1, y1, x3, y3) - R.angle(x2, y2, x3, y3);
    }
  };
  R.rad = function(deg) {
    return deg % 360 * PI / 180;
  };
  R.deg = function(rad) {
    return rad * 180 / PI % 360;
  };
  R.snapTo = function(values, value, tolerance) {
    tolerance = R.is(tolerance, "finite") ? tolerance : 10;
    if (R.is(values, array)) {
      var i = values.length;
      while (i--) {
        if (abs(values[i] - value) <= tolerance) {
          return values[i];
        }
      }
    } else {
      values = +values;
      var rem = value % values;
      if (rem < tolerance) {
        return value - rem;
      }
      if (rem > values - tolerance) {
        return value - rem + values;
      }
    }
    return value;
  };
  var createUUID = R.createUUID = function(uuidRegEx, uuidReplacer) {
    return function() {
      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(uuidRegEx, uuidReplacer).toUpperCase();
    };
  }(/[xy]/g, function(c) {
    var r = math.random() * 16 | 0, v = c == "x" ? r : r & 3 | 8;
    return v.toString(16);
  });
  R.setWindow = function(newwin) {
    eve("raphael.setWindow", R, g.win, newwin);
    g.win = newwin;
    g.doc = g.win.document;
    if (R._engine.initWin) {
      R._engine.initWin(g.win);
    }
  };
  var toHex = function(color) {
    if (R.vml) {
      var trim = /^\s+|\s+$/g;
      var bod;
      try {
        var docum = new ActiveXObject("htmlfile");
        docum.write("<body>");
        docum.close();
        bod = docum.body;
      } catch (e) {
        bod = createPopup().document.body;
      }
      var range = bod.createTextRange();
      toHex = cacher(function(color) {
        try {
          bod.style.color = Str(color).replace(trim, E);
          var value = range.queryCommandValue("ForeColor");
          value = (value & 255) << 16 | value & 65280 | (value & 16711680) >>> 16;
          return "#" + ("000000" + value.toString(16)).slice(-6);
        } catch (e) {
          return "none";
        }
      });
    } else {
      var i = g.doc.createElement("i");
      i.title = "Rapha\u00ebl Colour Picker";
      i.style.display = "none";
      g.doc.body.appendChild(i);
      toHex = cacher(function(color) {
        i.style.color = color;
        return g.doc.defaultView.getComputedStyle(i, E).getPropertyValue("color");
      });
    }
    return toHex(color);
  }, hsbtoString = function() {
    return "hsb(" + [this.h, this.s, this.b] + ")";
  }, hsltoString = function() {
    return "hsl(" + [this.h, this.s, this.l] + ")";
  }, rgbtoString = function() {
    return this.hex;
  }, prepareRGB = function(r, g, b) {
    if (g == null && (R.is(r, "object") && ("r" in r && ("g" in r && "b" in r)))) {
      b = r.b;
      g = r.g;
      r = r.r;
    }
    if (g == null && R.is(r, string)) {
      var clr = R.getRGB(r);
      r = clr.r;
      g = clr.g;
      b = clr.b;
    }
    if (r > 1 || (g > 1 || b > 1)) {
      r /= 255;
      g /= 255;
      b /= 255;
    }
    return[r, g, b];
  }, packageRGB = function(r, g, b, o) {
    r *= 255;
    g *= 255;
    b *= 255;
    var rgb = {r:r, g:g, b:b, hex:R.rgb(r, g, b), toString:rgbtoString};
    R.is(o, "finite") && (rgb.opacity = o);
    return rgb;
  };
  R.color = function(clr) {
    var rgb;
    if (R.is(clr, "object") && ("h" in clr && ("s" in clr && "b" in clr))) {
      rgb = R.hsb2rgb(clr);
      clr.r = rgb.r;
      clr.g = rgb.g;
      clr.b = rgb.b;
      clr.hex = rgb.hex;
    } else {
      if (R.is(clr, "object") && ("h" in clr && ("s" in clr && "l" in clr))) {
        rgb = R.hsl2rgb(clr);
        clr.r = rgb.r;
        clr.g = rgb.g;
        clr.b = rgb.b;
        clr.hex = rgb.hex;
      } else {
        if (R.is(clr, "string")) {
          clr = R.getRGB(clr);
        }
        if (R.is(clr, "object") && ("r" in clr && ("g" in clr && "b" in clr))) {
          rgb = R.rgb2hsl(clr);
          clr.h = rgb.h;
          clr.s = rgb.s;
          clr.l = rgb.l;
          rgb = R.rgb2hsb(clr);
          clr.v = rgb.b;
        } else {
          clr = {hex:"none"};
          clr.r = clr.g = clr.b = clr.h = clr.s = clr.v = clr.l = -1;
        }
      }
    }
    clr.toString = rgbtoString;
    return clr;
  };
  R.hsb2rgb = function(h, s, v, o) {
    if (this.is(h, "object") && ("h" in h && ("s" in h && "b" in h))) {
      v = h.b;
      s = h.s;
      h = h.h;
      o = h.o;
    }
    h *= 360;
    var R, G, B, X, C;
    h = h % 360 / 60;
    C = v * s;
    X = C * (1 - abs(h % 2 - 1));
    R = G = B = v - C;
    h = ~~h;
    R += [C, X, 0, 0, X, C][h];
    G += [X, C, C, X, 0, 0][h];
    B += [0, 0, X, C, C, X][h];
    return packageRGB(R, G, B, o);
  };
  R.hsl2rgb = function(h, s, l, o) {
    if (this.is(h, "object") && ("h" in h && ("s" in h && "l" in h))) {
      l = h.l;
      s = h.s;
      h = h.h;
    }
    if (h > 1 || (s > 1 || l > 1)) {
      h /= 360;
      s /= 100;
      l /= 100;
    }
    h *= 360;
    var R, G, B, X, C;
    h = h % 360 / 60;
    C = 2 * s * (l < 0.5 ? l : 1 - l);
    X = C * (1 - abs(h % 2 - 1));
    R = G = B = l - C / 2;
    h = ~~h;
    R += [C, X, 0, 0, X, C][h];
    G += [X, C, C, X, 0, 0][h];
    B += [0, 0, X, C, C, X][h];
    return packageRGB(R, G, B, o);
  };
  R.rgb2hsb = function(r, g, b) {
    b = prepareRGB(r, g, b);
    r = b[0];
    g = b[1];
    b = b[2];
    var H, S, V, C;
    V = mmax(r, g, b);
    C = V - mmin(r, g, b);
    H = C == 0 ? null : V == r ? (g - b) / C : V == g ? (b - r) / C + 2 : (r - g) / C + 4;
    H = (H + 360) % 6 * 60 / 360;
    S = C == 0 ? 0 : C / V;
    return{h:H, s:S, b:V, toString:hsbtoString};
  };
  R.rgb2hsl = function(r, g, b) {
    b = prepareRGB(r, g, b);
    r = b[0];
    g = b[1];
    b = b[2];
    var H, S, L, M, m, C;
    M = mmax(r, g, b);
    m = mmin(r, g, b);
    C = M - m;
    H = C == 0 ? null : M == r ? (g - b) / C : M == g ? (b - r) / C + 2 : (r - g) / C + 4;
    H = (H + 360) % 6 * 60 / 360;
    L = (M + m) / 2;
    S = C == 0 ? 0 : L < 0.5 ? C / (2 * L) : C / (2 - 2 * L);
    return{h:H, s:S, l:L, toString:hsltoString};
  };
  R._path2string = function() {
    return this.join(",").replace(p2s, "$1");
  };
  function repush(array, item) {
    for (var i = 0, ii = array.length;i < ii;i++) {
      if (array[i] === item) {
        return array.push(array.splice(i, 1)[0]);
      }
    }
  }
  function cacher(f, scope, postprocessor) {
    function newf() {
      var arg = Array.prototype.slice.call(arguments, 0), args = arg.join("\u2400"), cache = newf.cache = newf.cache || {}, count = newf.count = newf.count || [];
      if (cache[has](args)) {
        repush(count, args);
        return postprocessor ? postprocessor(cache[args]) : cache[args];
      }
      count.length >= 1E3 && delete cache[count.shift()];
      count.push(args);
      cache[args] = f[apply](scope, arg);
      return postprocessor ? postprocessor(cache[args]) : cache[args];
    }
    return newf;
  }
  var preload = R._preload = function(src, f) {
    var img = g.doc.createElement("img");
    img.style.cssText = "position:absolute;left:-9999em;top:-9999em";
    img.onload = function() {
      f.call(this);
      this.onload = null;
      g.doc.body.removeChild(this);
    };
    img.onerror = function() {
      g.doc.body.removeChild(this);
    };
    g.doc.body.appendChild(img);
    img.src = src;
  };
  function clrToString() {
    return this.hex;
  }
  R.getRGB = cacher(function(colour) {
    if (!colour || !!((colour = Str(colour)).indexOf("-") + 1)) {
      return{r:-1, g:-1, b:-1, hex:"none", error:1, toString:clrToString};
    }
    if (colour == "none") {
      return{r:-1, g:-1, b:-1, hex:"none", toString:clrToString};
    }
    !(hsrg[has](colour.toLowerCase().substring(0, 2)) || colour.charAt() == "#") && (colour = toHex(colour));
    var res, red, green, blue, opacity, t, values, rgb = colour.match(colourRegExp);
    if (rgb) {
      if (rgb[2]) {
        blue = toInt(rgb[2].substring(5), 16);
        green = toInt(rgb[2].substring(3, 5), 16);
        red = toInt(rgb[2].substring(1, 3), 16);
      }
      if (rgb[3]) {
        blue = toInt((t = rgb[3].charAt(3)) + t, 16);
        green = toInt((t = rgb[3].charAt(2)) + t, 16);
        red = toInt((t = rgb[3].charAt(1)) + t, 16);
      }
      if (rgb[4]) {
        values = rgb[4][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        rgb[1].toLowerCase().slice(0, 4) == "rgba" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
      }
      if (rgb[5]) {
        values = rgb[5][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\u00b0") && (red /= 360);
        rgb[1].toLowerCase().slice(0, 4) == "hsba" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
        return R.hsb2rgb(red, green, blue, opacity);
      }
      if (rgb[6]) {
        values = rgb[6][split](commaSpaces);
        red = toFloat(values[0]);
        values[0].slice(-1) == "%" && (red *= 2.55);
        green = toFloat(values[1]);
        values[1].slice(-1) == "%" && (green *= 2.55);
        blue = toFloat(values[2]);
        values[2].slice(-1) == "%" && (blue *= 2.55);
        (values[0].slice(-3) == "deg" || values[0].slice(-1) == "\u00b0") && (red /= 360);
        rgb[1].toLowerCase().slice(0, 4) == "hsla" && (opacity = toFloat(values[3]));
        values[3] && (values[3].slice(-1) == "%" && (opacity /= 100));
        return R.hsl2rgb(red, green, blue, opacity);
      }
      rgb = {r:red, g:green, b:blue, toString:clrToString};
      rgb.hex = "#" + (16777216 | blue | green << 8 | red << 16).toString(16).slice(1);
      R.is(opacity, "finite") && (rgb.opacity = opacity);
      return rgb;
    }
    return{r:-1, g:-1, b:-1, hex:"none", error:1, toString:clrToString};
  }, R);
  R.hsb = cacher(function(h, s, b) {
    return R.hsb2rgb(h, s, b).hex;
  });
  R.hsl = cacher(function(h, s, l) {
    return R.hsl2rgb(h, s, l).hex;
  });
  R.rgb = cacher(function(r, g, b) {
    return "#" + (16777216 | b | g << 8 | r << 16).toString(16).slice(1);
  });
  R.getColor = function(value) {
    var start = this.getColor.start = this.getColor.start || {h:0, s:1, b:value || 0.75}, rgb = this.hsb2rgb(start.h, start.s, start.b);
    start.h += 0.075;
    if (start.h > 1) {
      start.h = 0;
      start.s -= 0.2;
      start.s <= 0 && (this.getColor.start = {h:0, s:1, b:start.b});
    }
    return rgb.hex;
  };
  R.getColor.reset = function() {
    delete this.start;
  };
  function catmullRom2bezier(crp, z) {
    var d = [];
    for (var i = 0, iLen = crp.length;iLen - 2 * !z > i;i += 2) {
      var p = [{x:+crp[i - 2], y:+crp[i - 1]}, {x:+crp[i], y:+crp[i + 1]}, {x:+crp[i + 2], y:+crp[i + 3]}, {x:+crp[i + 4], y:+crp[i + 5]}];
      if (z) {
        if (!i) {
          p[0] = {x:+crp[iLen - 2], y:+crp[iLen - 1]};
        } else {
          if (iLen - 4 == i) {
            p[3] = {x:+crp[0], y:+crp[1]};
          } else {
            if (iLen - 2 == i) {
              p[2] = {x:+crp[0], y:+crp[1]};
              p[3] = {x:+crp[2], y:+crp[3]};
            }
          }
        }
      } else {
        if (iLen - 4 == i) {
          p[3] = p[2];
        } else {
          if (!i) {
            p[0] = {x:+crp[i], y:+crp[i + 1]};
          }
        }
      }
      d.push(["C", (-p[0].x + 6 * p[1].x + p[2].x) / 6, (-p[0].y + 6 * p[1].y + p[2].y) / 6, (p[1].x + 6 * p[2].x - p[3].x) / 6, (p[1].y + 6 * p[2].y - p[3].y) / 6, p[2].x, p[2].y]);
    }
    return d;
  }
  R.parsePathString = function(pathString) {
    if (!pathString) {
      return null;
    }
    var pth = paths(pathString);
    if (pth.arr) {
      return pathClone(pth.arr);
    }
    var paramCounts = {a:7, c:6, h:1, l:2, m:2, r:4, q:4, s:4, t:2, v:1, z:0}, data = [];
    if (R.is(pathString, array) && R.is(pathString[0], array)) {
      data = pathClone(pathString);
    }
    if (!data.length) {
      Str(pathString).replace(pathCommand, function(a, b, c) {
        var params = [], name = b.toLowerCase();
        c.replace(pathValues, function(a, b) {
          b && params.push(+b);
        });
        if (name == "m" && params.length > 2) {
          data.push([b][concat](params.splice(0, 2)));
          name = "l";
          b = b == "m" ? "l" : "L";
        }
        if (name == "r") {
          data.push([b][concat](params));
        } else {
          while (params.length >= paramCounts[name]) {
            data.push([b][concat](params.splice(0, paramCounts[name])));
            if (!paramCounts[name]) {
              break;
            }
          }
        }
      });
    }
    data.toString = R._path2string;
    pth.arr = pathClone(data);
    return data;
  };
  R.parseTransformString = cacher(function(TString) {
    if (!TString) {
      return null;
    }
    var paramCounts = {r:3, s:4, t:2, m:6}, data = [];
    if (R.is(TString, array) && R.is(TString[0], array)) {
      data = pathClone(TString);
    }
    if (!data.length) {
      Str(TString).replace(tCommand, function(a, b, c) {
        var params = [], name = lowerCase.call(b);
        c.replace(pathValues, function(a, b) {
          b && params.push(+b);
        });
        data.push([b][concat](params));
      });
    }
    data.toString = R._path2string;
    return data;
  });
  var paths = function(ps) {
    var p = paths.ps = paths.ps || {};
    if (p[ps]) {
      p[ps].sleep = 100;
    } else {
      p[ps] = {sleep:100};
    }
    setTimeout(function() {
      for (var key in p) {
        if (p[has](key) && key != ps) {
          p[key].sleep--;
          !p[key].sleep && delete p[key];
        }
      }
    });
    return p[ps];
  };
  R.findDotsAtSegment = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
    var t1 = 1 - t, t13 = pow(t1, 3), t12 = pow(t1, 2), t2 = t * t, t3 = t2 * t, x = t13 * p1x + t12 * 3 * t * c1x + t1 * 3 * t * t * c2x + t3 * p2x, y = t13 * p1y + t12 * 3 * t * c1y + t1 * 3 * t * t * c2y + t3 * p2y, mx = p1x + 2 * t * (c1x - p1x) + t2 * (c2x - 2 * c1x + p1x), my = p1y + 2 * t * (c1y - p1y) + t2 * (c2y - 2 * c1y + p1y), nx = c1x + 2 * t * (c2x - c1x) + t2 * (p2x - 2 * c2x + c1x), ny = c1y + 2 * t * (c2y - c1y) + t2 * (p2y - 2 * c2y + c1y), ax = t1 * p1x + t * c1x, ay = t1 * p1y + 
    t * c1y, cx = t1 * c2x + t * p2x, cy = t1 * c2y + t * p2y, alpha = 90 - math.atan2(mx - nx, my - ny) * 180 / PI;
    (mx > nx || my < ny) && (alpha += 180);
    return{x:x, y:y, m:{x:mx, y:my}, n:{x:nx, y:ny}, start:{x:ax, y:ay}, end:{x:cx, y:cy}, alpha:alpha};
  };
  R.bezierBBox = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
    if (!R.is(p1x, "array")) {
      p1x = [p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y];
    }
    var bbox = curveDim.apply(null, p1x);
    return{x:bbox.min.x, y:bbox.min.y, x2:bbox.max.x, y2:bbox.max.y, width:bbox.max.x - bbox.min.x, height:bbox.max.y - bbox.min.y};
  };
  R.isPointInsideBBox = function(bbox, x, y) {
    return x >= bbox.x && (x <= bbox.x2 && (y >= bbox.y && y <= bbox.y2));
  };
  R.isBBoxIntersect = function(bbox1, bbox2) {
    var i = R.isPointInsideBBox;
    return i(bbox2, bbox1.x, bbox1.y) || (i(bbox2, bbox1.x2, bbox1.y) || (i(bbox2, bbox1.x, bbox1.y2) || (i(bbox2, bbox1.x2, bbox1.y2) || (i(bbox1, bbox2.x, bbox2.y) || (i(bbox1, bbox2.x2, bbox2.y) || (i(bbox1, bbox2.x, bbox2.y2) || (i(bbox1, bbox2.x2, bbox2.y2) || (bbox1.x < bbox2.x2 && bbox1.x > bbox2.x || bbox2.x < bbox1.x2 && bbox2.x > bbox1.x) && (bbox1.y < bbox2.y2 && bbox1.y > bbox2.y || bbox2.y < bbox1.y2 && bbox2.y > bbox1.y))))))));
  };
  function base3(t, p1, p2, p3, p4) {
    var t1 = -3 * p1 + 9 * p2 - 9 * p3 + 3 * p4, t2 = t * t1 + 6 * p1 - 12 * p2 + 6 * p3;
    return t * t2 - 3 * p1 + 3 * p2;
  }
  function bezlen(x1, y1, x2, y2, x3, y3, x4, y4, z) {
    if (z == null) {
      z = 1;
    }
    z = z > 1 ? 1 : z < 0 ? 0 : z;
    var z2 = z / 2, n = 12, Tvalues = [-0.1252, 0.1252, -0.3678, 0.3678, -0.5873, 0.5873, -0.7699, 0.7699, -0.9041, 0.9041, -0.9816, 0.9816], Cvalues = [0.2491, 0.2491, 0.2335, 0.2335, 0.2032, 0.2032, 0.1601, 0.1601, 0.1069, 0.1069, 0.0472, 0.0472], sum = 0;
    for (var i = 0;i < n;i++) {
      var ct = z2 * Tvalues[i] + z2, xbase = base3(ct, x1, x2, x3, x4), ybase = base3(ct, y1, y2, y3, y4), comb = xbase * xbase + ybase * ybase;
      sum += Cvalues[i] * math.sqrt(comb);
    }
    return z2 * sum;
  }
  function getTatLen(x1, y1, x2, y2, x3, y3, x4, y4, ll) {
    if (ll < 0 || bezlen(x1, y1, x2, y2, x3, y3, x4, y4) < ll) {
      return;
    }
    var t = 1, step = t / 2, t2 = t - step, l, e = 0.01;
    l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);
    while (abs(l - ll) > e) {
      step /= 2;
      t2 += (l < ll ? 1 : -1) * step;
      l = bezlen(x1, y1, x2, y2, x3, y3, x4, y4, t2);
    }
    return t2;
  }
  function intersect(x1, y1, x2, y2, x3, y3, x4, y4) {
    if (mmax(x1, x2) < mmin(x3, x4) || (mmin(x1, x2) > mmax(x3, x4) || (mmax(y1, y2) < mmin(y3, y4) || mmin(y1, y2) > mmax(y3, y4)))) {
      return;
    }
    var nx = (x1 * y2 - y1 * x2) * (x3 - x4) - (x1 - x2) * (x3 * y4 - y3 * x4), ny = (x1 * y2 - y1 * x2) * (y3 - y4) - (y1 - y2) * (x3 * y4 - y3 * x4), denominator = (x1 - x2) * (y3 - y4) - (y1 - y2) * (x3 - x4);
    if (!denominator) {
      return;
    }
    var px = nx / denominator, py = ny / denominator, px2 = +px.toFixed(2), py2 = +py.toFixed(2);
    if (px2 < +mmin(x1, x2).toFixed(2) || (px2 > +mmax(x1, x2).toFixed(2) || (px2 < +mmin(x3, x4).toFixed(2) || (px2 > +mmax(x3, x4).toFixed(2) || (py2 < +mmin(y1, y2).toFixed(2) || (py2 > +mmax(y1, y2).toFixed(2) || (py2 < +mmin(y3, y4).toFixed(2) || py2 > +mmax(y3, y4).toFixed(2)))))))) {
      return;
    }
    return{x:px, y:py};
  }
  function inter(bez1, bez2) {
    return interHelper(bez1, bez2);
  }
  function interCount(bez1, bez2) {
    return interHelper(bez1, bez2, 1);
  }
  function interHelper(bez1, bez2, justCount) {
    var bbox1 = R.bezierBBox(bez1), bbox2 = R.bezierBBox(bez2);
    if (!R.isBBoxIntersect(bbox1, bbox2)) {
      return justCount ? 0 : [];
    }
    var l1 = bezlen.apply(0, bez1), l2 = bezlen.apply(0, bez2), n1 = mmax(~~(l1 / 5), 1), n2 = mmax(~~(l2 / 5), 1), dots1 = [], dots2 = [], xy = {}, res = justCount ? 0 : [];
    for (var i = 0;i < n1 + 1;i++) {
      var p = R.findDotsAtSegment.apply(R, bez1.concat(i / n1));
      dots1.push({x:p.x, y:p.y, t:i / n1});
    }
    for (i = 0;i < n2 + 1;i++) {
      p = R.findDotsAtSegment.apply(R, bez2.concat(i / n2));
      dots2.push({x:p.x, y:p.y, t:i / n2});
    }
    for (i = 0;i < n1;i++) {
      for (var j = 0;j < n2;j++) {
        var di = dots1[i], di1 = dots1[i + 1], dj = dots2[j], dj1 = dots2[j + 1], ci = abs(di1.x - di.x) < 0.001 ? "y" : "x", cj = abs(dj1.x - dj.x) < 0.001 ? "y" : "x", is = intersect(di.x, di.y, di1.x, di1.y, dj.x, dj.y, dj1.x, dj1.y);
        if (is) {
          if (xy[is.x.toFixed(4)] == is.y.toFixed(4)) {
            continue;
          }
          xy[is.x.toFixed(4)] = is.y.toFixed(4);
          var t1 = di.t + abs((is[ci] - di[ci]) / (di1[ci] - di[ci])) * (di1.t - di.t), t2 = dj.t + abs((is[cj] - dj[cj]) / (dj1[cj] - dj[cj])) * (dj1.t - dj.t);
          if (t1 >= 0 && (t1 <= 1.001 && (t2 >= 0 && t2 <= 1.001))) {
            if (justCount) {
              res++;
            } else {
              res.push({x:is.x, y:is.y, t1:mmin(t1, 1), t2:mmin(t2, 1)});
            }
          }
        }
      }
    }
    return res;
  }
  R.pathIntersection = function(path1, path2) {
    return interPathHelper(path1, path2);
  };
  R.pathIntersectionNumber = function(path1, path2) {
    return interPathHelper(path1, path2, 1);
  };
  function interPathHelper(path1, path2, justCount) {
    path1 = R._path2curve(path1);
    path2 = R._path2curve(path2);
    var x1, y1, x2, y2, x1m, y1m, x2m, y2m, bez1, bez2, res = justCount ? 0 : [];
    for (var i = 0, ii = path1.length;i < ii;i++) {
      var pi = path1[i];
      if (pi[0] == "M") {
        x1 = x1m = pi[1];
        y1 = y1m = pi[2];
      } else {
        if (pi[0] == "C") {
          bez1 = [x1, y1].concat(pi.slice(1));
          x1 = bez1[6];
          y1 = bez1[7];
        } else {
          bez1 = [x1, y1, x1, y1, x1m, y1m, x1m, y1m];
          x1 = x1m;
          y1 = y1m;
        }
        for (var j = 0, jj = path2.length;j < jj;j++) {
          var pj = path2[j];
          if (pj[0] == "M") {
            x2 = x2m = pj[1];
            y2 = y2m = pj[2];
          } else {
            if (pj[0] == "C") {
              bez2 = [x2, y2].concat(pj.slice(1));
              x2 = bez2[6];
              y2 = bez2[7];
            } else {
              bez2 = [x2, y2, x2, y2, x2m, y2m, x2m, y2m];
              x2 = x2m;
              y2 = y2m;
            }
            var intr = interHelper(bez1, bez2, justCount);
            if (justCount) {
              res += intr;
            } else {
              for (var k = 0, kk = intr.length;k < kk;k++) {
                intr[k].segment1 = i;
                intr[k].segment2 = j;
                intr[k].bez1 = bez1;
                intr[k].bez2 = bez2;
              }
              res = res.concat(intr);
            }
          }
        }
      }
    }
    return res;
  }
  R.isPointInsidePath = function(path, x, y) {
    var bbox = R.pathBBox(path);
    return R.isPointInsideBBox(bbox, x, y) && interPathHelper(path, [["M", x, y], ["H", bbox.x2 + 10]], 1) % 2 == 1;
  };
  R._removedFactory = function(methodname) {
    return function() {
      eve("raphael.log", null, "Rapha\u00ebl: you are calling to method \u201c" + methodname + "\u201d of removed object", methodname);
    };
  };
  var pathDimensions = R.pathBBox = function(path) {
    var pth = paths(path);
    if (pth.bbox) {
      return clone(pth.bbox);
    }
    if (!path) {
      return{x:0, y:0, width:0, height:0, x2:0, y2:0};
    }
    path = path2curve(path);
    var x = 0, y = 0, X = [], Y = [], p;
    for (var i = 0, ii = path.length;i < ii;i++) {
      p = path[i];
      if (p[0] == "M") {
        x = p[1];
        y = p[2];
        X.push(x);
        Y.push(y);
      } else {
        var dim = curveDim(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
        X = X[concat](dim.min.x, dim.max.x);
        Y = Y[concat](dim.min.y, dim.max.y);
        x = p[5];
        y = p[6];
      }
    }
    var xmin = mmin[apply](0, X), ymin = mmin[apply](0, Y), xmax = mmax[apply](0, X), ymax = mmax[apply](0, Y), width = xmax - xmin, height = ymax - ymin, bb = {x:xmin, y:ymin, x2:xmax, y2:ymax, width:width, height:height, cx:xmin + width / 2, cy:ymin + height / 2};
    pth.bbox = clone(bb);
    return bb;
  }, pathClone = function(pathArray) {
    var res = clone(pathArray);
    res.toString = R._path2string;
    return res;
  }, pathToRelative = R._pathToRelative = function(pathArray) {
    var pth = paths(pathArray);
    if (pth.rel) {
      return pathClone(pth.rel);
    }
    if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) {
      pathArray = R.parsePathString(pathArray);
    }
    var res = [], x = 0, y = 0, mx = 0, my = 0, start = 0;
    if (pathArray[0][0] == "M") {
      x = pathArray[0][1];
      y = pathArray[0][2];
      mx = x;
      my = y;
      start++;
      res.push(["M", x, y]);
    }
    for (var i = start, ii = pathArray.length;i < ii;i++) {
      var r = res[i] = [], pa = pathArray[i];
      if (pa[0] != lowerCase.call(pa[0])) {
        r[0] = lowerCase.call(pa[0]);
        switch(r[0]) {
          case "a":
            r[1] = pa[1];
            r[2] = pa[2];
            r[3] = pa[3];
            r[4] = pa[4];
            r[5] = pa[5];
            r[6] = +(pa[6] - x).toFixed(3);
            r[7] = +(pa[7] - y).toFixed(3);
            break;
          case "v":
            r[1] = +(pa[1] - y).toFixed(3);
            break;
          case "m":
            mx = pa[1];
            my = pa[2];
          default:
            for (var j = 1, jj = pa.length;j < jj;j++) {
              r[j] = +(pa[j] - (j % 2 ? x : y)).toFixed(3);
            }
          ;
        }
      } else {
        r = res[i] = [];
        if (pa[0] == "m") {
          mx = pa[1] + x;
          my = pa[2] + y;
        }
        for (var k = 0, kk = pa.length;k < kk;k++) {
          res[i][k] = pa[k];
        }
      }
      var len = res[i].length;
      switch(res[i][0]) {
        case "z":
          x = mx;
          y = my;
          break;
        case "h":
          x += +res[i][len - 1];
          break;
        case "v":
          y += +res[i][len - 1];
          break;
        default:
          x += +res[i][len - 2];
          y += +res[i][len - 1];
      }
    }
    res.toString = R._path2string;
    pth.rel = pathClone(res);
    return res;
  }, pathToAbsolute = R._pathToAbsolute = function(pathArray) {
    var pth = paths(pathArray);
    if (pth.abs) {
      return pathClone(pth.abs);
    }
    if (!R.is(pathArray, array) || !R.is(pathArray && pathArray[0], array)) {
      pathArray = R.parsePathString(pathArray);
    }
    if (!pathArray || !pathArray.length) {
      return[["M", 0, 0]];
    }
    var res = [], x = 0, y = 0, mx = 0, my = 0, start = 0;
    if (pathArray[0][0] == "M") {
      x = +pathArray[0][1];
      y = +pathArray[0][2];
      mx = x;
      my = y;
      start++;
      res[0] = ["M", x, y];
    }
    var crz = pathArray.length == 3 && (pathArray[0][0] == "M" && (pathArray[1][0].toUpperCase() == "R" && pathArray[2][0].toUpperCase() == "Z"));
    for (var r, pa, i = start, ii = pathArray.length;i < ii;i++) {
      res.push(r = []);
      pa = pathArray[i];
      if (pa[0] != upperCase.call(pa[0])) {
        r[0] = upperCase.call(pa[0]);
        switch(r[0]) {
          case "A":
            r[1] = pa[1];
            r[2] = pa[2];
            r[3] = pa[3];
            r[4] = pa[4];
            r[5] = pa[5];
            r[6] = +(pa[6] + x);
            r[7] = +(pa[7] + y);
            break;
          case "V":
            r[1] = +pa[1] + y;
            break;
          case "H":
            r[1] = +pa[1] + x;
            break;
          case "R":
            var dots = [x, y][concat](pa.slice(1));
            for (var j = 2, jj = dots.length;j < jj;j++) {
              dots[j] = +dots[j] + x;
              dots[++j] = +dots[j] + y;
            }
            res.pop();
            res = res[concat](catmullRom2bezier(dots, crz));
            break;
          case "M":
            mx = +pa[1] + x;
            my = +pa[2] + y;
          default:
            for (j = 1, jj = pa.length;j < jj;j++) {
              r[j] = +pa[j] + (j % 2 ? x : y);
            }
          ;
        }
      } else {
        if (pa[0] == "R") {
          dots = [x, y][concat](pa.slice(1));
          res.pop();
          res = res[concat](catmullRom2bezier(dots, crz));
          r = ["R"][concat](pa.slice(-2));
        } else {
          for (var k = 0, kk = pa.length;k < kk;k++) {
            r[k] = pa[k];
          }
        }
      }
      switch(r[0]) {
        case "Z":
          x = mx;
          y = my;
          break;
        case "H":
          x = r[1];
          break;
        case "V":
          y = r[1];
          break;
        case "M":
          mx = r[r.length - 2];
          my = r[r.length - 1];
        default:
          x = r[r.length - 2];
          y = r[r.length - 1];
      }
    }
    res.toString = R._path2string;
    pth.abs = pathClone(res);
    return res;
  }, l2c = function(x1, y1, x2, y2) {
    return[x1, y1, x2, y2, x2, y2];
  }, q2c = function(x1, y1, ax, ay, x2, y2) {
    var _13 = 1 / 3, _23 = 2 / 3;
    return[_13 * x1 + _23 * ax, _13 * y1 + _23 * ay, _13 * x2 + _23 * ax, _13 * y2 + _23 * ay, x2, y2];
  }, a2c = function(x1, y1, rx, ry, angle, large_arc_flag, sweep_flag, x2, y2, recursive) {
    var _120 = PI * 120 / 180, rad = PI / 180 * (+angle || 0), res = [], xy, rotate = cacher(function(x, y, rad) {
      var X = x * math.cos(rad) - y * math.sin(rad), Y = x * math.sin(rad) + y * math.cos(rad);
      return{x:X, y:Y};
    });
    if (!recursive) {
      xy = rotate(x1, y1, -rad);
      x1 = xy.x;
      y1 = xy.y;
      xy = rotate(x2, y2, -rad);
      x2 = xy.x;
      y2 = xy.y;
      var cos = math.cos(PI / 180 * angle), sin = math.sin(PI / 180 * angle), x = (x1 - x2) / 2, y = (y1 - y2) / 2;
      var h = x * x / (rx * rx) + y * y / (ry * ry);
      if (h > 1) {
        h = math.sqrt(h);
        rx = h * rx;
        ry = h * ry;
      }
      var rx2 = rx * rx, ry2 = ry * ry, k = (large_arc_flag == sweep_flag ? -1 : 1) * math.sqrt(abs((rx2 * ry2 - rx2 * y * y - ry2 * x * x) / (rx2 * y * y + ry2 * x * x))), cx = k * rx * y / ry + (x1 + x2) / 2, cy = k * -ry * x / rx + (y1 + y2) / 2, f1 = math.asin(((y1 - cy) / ry).toFixed(9)), f2 = math.asin(((y2 - cy) / ry).toFixed(9));
      f1 = x1 < cx ? PI - f1 : f1;
      f2 = x2 < cx ? PI - f2 : f2;
      f1 < 0 && (f1 = PI * 2 + f1);
      f2 < 0 && (f2 = PI * 2 + f2);
      if (sweep_flag && f1 > f2) {
        f1 = f1 - PI * 2;
      }
      if (!sweep_flag && f2 > f1) {
        f2 = f2 - PI * 2;
      }
    } else {
      f1 = recursive[0];
      f2 = recursive[1];
      cx = recursive[2];
      cy = recursive[3];
    }
    var df = f2 - f1;
    if (abs(df) > _120) {
      var f2old = f2, x2old = x2, y2old = y2;
      f2 = f1 + _120 * (sweep_flag && f2 > f1 ? 1 : -1);
      x2 = cx + rx * math.cos(f2);
      y2 = cy + ry * math.sin(f2);
      res = a2c(x2, y2, rx, ry, angle, 0, sweep_flag, x2old, y2old, [f2, f2old, cx, cy]);
    }
    df = f2 - f1;
    var c1 = math.cos(f1), s1 = math.sin(f1), c2 = math.cos(f2), s2 = math.sin(f2), t = math.tan(df / 4), hx = 4 / 3 * rx * t, hy = 4 / 3 * ry * t, m1 = [x1, y1], m2 = [x1 + hx * s1, y1 - hy * c1], m3 = [x2 + hx * s2, y2 - hy * c2], m4 = [x2, y2];
    m2[0] = 2 * m1[0] - m2[0];
    m2[1] = 2 * m1[1] - m2[1];
    if (recursive) {
      return[m2, m3, m4][concat](res);
    } else {
      res = [m2, m3, m4][concat](res).join()[split](",");
      var newres = [];
      for (var i = 0, ii = res.length;i < ii;i++) {
        newres[i] = i % 2 ? rotate(res[i - 1], res[i], rad).y : rotate(res[i], res[i + 1], rad).x;
      }
      return newres;
    }
  }, findDotAtSegment = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t) {
    var t1 = 1 - t;
    return{x:pow(t1, 3) * p1x + pow(t1, 2) * 3 * t * c1x + t1 * 3 * t * t * c2x + pow(t, 3) * p2x, y:pow(t1, 3) * p1y + pow(t1, 2) * 3 * t * c1y + t1 * 3 * t * t * c2y + pow(t, 3) * p2y};
  }, curveDim = cacher(function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y) {
    var a = c2x - 2 * c1x + p1x - (p2x - 2 * c2x + c1x), b = 2 * (c1x - p1x) - 2 * (c2x - c1x), c = p1x - c1x, t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a, t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a, y = [p1y, p2y], x = [p1x, p2x], dot;
    abs(t1) > "1e12" && (t1 = 0.5);
    abs(t2) > "1e12" && (t2 = 0.5);
    if (t1 > 0 && t1 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
      x.push(dot.x);
      y.push(dot.y);
    }
    if (t2 > 0 && t2 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
      x.push(dot.x);
      y.push(dot.y);
    }
    a = c2y - 2 * c1y + p1y - (p2y - 2 * c2y + c1y);
    b = 2 * (c1y - p1y) - 2 * (c2y - c1y);
    c = p1y - c1y;
    t1 = (-b + math.sqrt(b * b - 4 * a * c)) / 2 / a;
    t2 = (-b - math.sqrt(b * b - 4 * a * c)) / 2 / a;
    abs(t1) > "1e12" && (t1 = 0.5);
    abs(t2) > "1e12" && (t2 = 0.5);
    if (t1 > 0 && t1 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t1);
      x.push(dot.x);
      y.push(dot.y);
    }
    if (t2 > 0 && t2 < 1) {
      dot = findDotAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, t2);
      x.push(dot.x);
      y.push(dot.y);
    }
    return{min:{x:mmin[apply](0, x), y:mmin[apply](0, y)}, max:{x:mmax[apply](0, x), y:mmax[apply](0, y)}};
  }), path2curve = R._path2curve = cacher(function(path, path2) {
    var pth = !path2 && paths(path);
    if (!path2 && pth.curve) {
      return pathClone(pth.curve);
    }
    var p = pathToAbsolute(path), p2 = path2 && pathToAbsolute(path2), attrs = {x:0, y:0, bx:0, by:0, X:0, Y:0, qx:null, qy:null}, attrs2 = {x:0, y:0, bx:0, by:0, X:0, Y:0, qx:null, qy:null}, processPath = function(path, d, pcom) {
      var nx, ny, tq = {T:1, Q:1};
      if (!path) {
        return["C", d.x, d.y, d.x, d.y, d.x, d.y];
      }
      !(path[0] in tq) && (d.qx = d.qy = null);
      switch(path[0]) {
        case "M":
          d.X = path[1];
          d.Y = path[2];
          break;
        case "A":
          path = ["C"][concat](a2c[apply](0, [d.x, d.y][concat](path.slice(1))));
          break;
        case "S":
          if (pcom == "C" || pcom == "S") {
            nx = d.x * 2 - d.bx;
            ny = d.y * 2 - d.by;
          } else {
            nx = d.x;
            ny = d.y;
          }
          path = ["C", nx, ny][concat](path.slice(1));
          break;
        case "T":
          if (pcom == "Q" || pcom == "T") {
            d.qx = d.x * 2 - d.qx;
            d.qy = d.y * 2 - d.qy;
          } else {
            d.qx = d.x;
            d.qy = d.y;
          }
          path = ["C"][concat](q2c(d.x, d.y, d.qx, d.qy, path[1], path[2]));
          break;
        case "Q":
          d.qx = path[1];
          d.qy = path[2];
          path = ["C"][concat](q2c(d.x, d.y, path[1], path[2], path[3], path[4]));
          break;
        case "L":
          path = ["C"][concat](l2c(d.x, d.y, path[1], path[2]));
          break;
        case "H":
          path = ["C"][concat](l2c(d.x, d.y, path[1], d.y));
          break;
        case "V":
          path = ["C"][concat](l2c(d.x, d.y, d.x, path[1]));
          break;
        case "Z":
          path = ["C"][concat](l2c(d.x, d.y, d.X, d.Y));
          break;
      }
      return path;
    }, fixArc = function(pp, i) {
      if (pp[i].length > 7) {
        pp[i].shift();
        var pi = pp[i];
        while (pi.length) {
          pp.splice(i++, 0, ["C"][concat](pi.splice(0, 6)));
        }
        pp.splice(i, 1);
        ii = mmax(p.length, p2 && p2.length || 0);
      }
    }, fixM = function(path1, path2, a1, a2, i) {
      if (path1 && (path2 && (path1[i][0] == "M" && path2[i][0] != "M"))) {
        path2.splice(i, 0, ["M", a2.x, a2.y]);
        a1.bx = 0;
        a1.by = 0;
        a1.x = path1[i][1];
        a1.y = path1[i][2];
        ii = mmax(p.length, p2 && p2.length || 0);
      }
    };
    for (var i = 0, ii = mmax(p.length, p2 && p2.length || 0);i < ii;i++) {
      p[i] = processPath(p[i], attrs);
      fixArc(p, i);
      p2 && (p2[i] = processPath(p2[i], attrs2));
      p2 && fixArc(p2, i);
      fixM(p, p2, attrs, attrs2, i);
      fixM(p2, p, attrs2, attrs, i);
      var seg = p[i], seg2 = p2 && p2[i], seglen = seg.length, seg2len = p2 && seg2.length;
      attrs.x = seg[seglen - 2];
      attrs.y = seg[seglen - 1];
      attrs.bx = toFloat(seg[seglen - 4]) || attrs.x;
      attrs.by = toFloat(seg[seglen - 3]) || attrs.y;
      attrs2.bx = p2 && (toFloat(seg2[seg2len - 4]) || attrs2.x);
      attrs2.by = p2 && (toFloat(seg2[seg2len - 3]) || attrs2.y);
      attrs2.x = p2 && seg2[seg2len - 2];
      attrs2.y = p2 && seg2[seg2len - 1];
    }
    if (!p2) {
      pth.curve = pathClone(p);
    }
    return p2 ? [p, p2] : p;
  }, null, pathClone), parseDots = R._parseDots = cacher(function(gradient) {
    var dots = [];
    for (var i = 0, ii = gradient.length;i < ii;i++) {
      var dot = {}, par = gradient[i].match(/^([^:]*):?([\d\.]*)/);
      dot.color = R.getRGB(par[1]);
      if (dot.color.error) {
        return null;
      }
      dot.color = dot.color.hex;
      par[2] && (dot.offset = par[2] + "%");
      dots.push(dot);
    }
    for (i = 1, ii = dots.length - 1;i < ii;i++) {
      if (!dots[i].offset) {
        var start = toFloat(dots[i - 1].offset || 0), end = 0;
        for (var j = i + 1;j < ii;j++) {
          if (dots[j].offset) {
            end = dots[j].offset;
            break;
          }
        }
        if (!end) {
          end = 100;
          j = ii;
        }
        end = toFloat(end);
        var d = (end - start) / (j - i + 1);
        for (;i < j;i++) {
          start += d;
          dots[i].offset = start + "%";
        }
      }
    }
    return dots;
  }), tear = R._tear = function(el, paper) {
    el == paper.top && (paper.top = el.prev);
    el == paper.bottom && (paper.bottom = el.next);
    el.next && (el.next.prev = el.prev);
    el.prev && (el.prev.next = el.next);
  }, tofront = R._tofront = function(el, paper) {
    if (paper.top === el) {
      return;
    }
    tear(el, paper);
    el.next = null;
    el.prev = paper.top;
    paper.top.next = el;
    paper.top = el;
  }, toback = R._toback = function(el, paper) {
    if (paper.bottom === el) {
      return;
    }
    tear(el, paper);
    el.next = paper.bottom;
    el.prev = null;
    paper.bottom.prev = el;
    paper.bottom = el;
  }, insertafter = R._insertafter = function(el, el2, paper) {
    tear(el, paper);
    el2 == paper.top && (paper.top = el);
    el2.next && (el2.next.prev = el);
    el.next = el2.next;
    el.prev = el2;
    el2.next = el;
  }, insertbefore = R._insertbefore = function(el, el2, paper) {
    tear(el, paper);
    el2 == paper.bottom && (paper.bottom = el);
    el2.prev && (el2.prev.next = el);
    el.prev = el2.prev;
    el2.prev = el;
    el.next = el2;
  }, toMatrix = R.toMatrix = function(path, transform) {
    var bb = pathDimensions(path), el = {_:{transform:E}, getBBox:function() {
      return bb;
    }};
    extractTransform(el, transform);
    return el.matrix;
  }, transformPath = R.transformPath = function(path, transform) {
    return mapPath(path, toMatrix(path, transform));
  }, extractTransform = R._extractTransform = function(el, tstr) {
    if (tstr == null) {
      return el._.transform;
    }
    tstr = Str(tstr).replace(/\.{3}|\u2026/g, el._.transform || E);
    var tdata = R.parseTransformString(tstr), deg = 0, dx = 0, dy = 0, sx = 1, sy = 1, _ = el._, m = new Matrix;
    _.transform = tdata || [];
    if (tdata) {
      for (var i = 0, ii = tdata.length;i < ii;i++) {
        var t = tdata[i], tlen = t.length, command = Str(t[0]).toLowerCase(), absolute = t[0] != command, inver = absolute ? m.invert() : 0, x1, y1, x2, y2, bb;
        if (command == "t" && tlen == 3) {
          if (absolute) {
            x1 = inver.x(0, 0);
            y1 = inver.y(0, 0);
            x2 = inver.x(t[1], t[2]);
            y2 = inver.y(t[1], t[2]);
            m.translate(x2 - x1, y2 - y1);
          } else {
            m.translate(t[1], t[2]);
          }
        } else {
          if (command == "r") {
            if (tlen == 2) {
              bb = bb || el.getBBox(1);
              m.rotate(t[1], bb.x + bb.width / 2, bb.y + bb.height / 2);
              deg += t[1];
            } else {
              if (tlen == 4) {
                if (absolute) {
                  x2 = inver.x(t[2], t[3]);
                  y2 = inver.y(t[2], t[3]);
                  m.rotate(t[1], x2, y2);
                } else {
                  m.rotate(t[1], t[2], t[3]);
                }
                deg += t[1];
              }
            }
          } else {
            if (command == "s") {
              if (tlen == 2 || tlen == 3) {
                bb = bb || el.getBBox(1);
                m.scale(t[1], t[tlen - 1], bb.x + bb.width / 2, bb.y + bb.height / 2);
                sx *= t[1];
                sy *= t[tlen - 1];
              } else {
                if (tlen == 5) {
                  if (absolute) {
                    x2 = inver.x(t[3], t[4]);
                    y2 = inver.y(t[3], t[4]);
                    m.scale(t[1], t[2], x2, y2);
                  } else {
                    m.scale(t[1], t[2], t[3], t[4]);
                  }
                  sx *= t[1];
                  sy *= t[2];
                }
              }
            } else {
              if (command == "m" && tlen == 7) {
                m.add(t[1], t[2], t[3], t[4], t[5], t[6]);
              }
            }
          }
        }
        _.dirtyT = 1;
        el.matrix = m;
      }
    }
    el.matrix = m;
    _.sx = sx;
    _.sy = sy;
    _.deg = deg;
    _.dx = dx = m.e;
    _.dy = dy = m.f;
    if (sx == 1 && (sy == 1 && (!deg && _.bbox))) {
      _.bbox.x += +dx;
      _.bbox.y += +dy;
    } else {
      _.dirtyT = 1;
    }
  }, getEmpty = function(item) {
    var l = item[0];
    switch(l.toLowerCase()) {
      case "t":
        return[l, 0, 0];
      case "m":
        return[l, 1, 0, 0, 1, 0, 0];
      case "r":
        if (item.length == 4) {
          return[l, 0, item[2], item[3]];
        } else {
          return[l, 0];
        }
      ;
      case "s":
        if (item.length == 5) {
          return[l, 1, 1, item[3], item[4]];
        } else {
          if (item.length == 3) {
            return[l, 1, 1];
          } else {
            return[l, 1];
          }
        }
      ;
    }
  }, equaliseTransform = R._equaliseTransform = function(t1, t2) {
    t2 = Str(t2).replace(/\.{3}|\u2026/g, t1);
    t1 = R.parseTransformString(t1) || [];
    t2 = R.parseTransformString(t2) || [];
    var maxlength = mmax(t1.length, t2.length), from = [], to = [], i = 0, j, jj, tt1, tt2;
    for (;i < maxlength;i++) {
      tt1 = t1[i] || getEmpty(t2[i]);
      tt2 = t2[i] || getEmpty(tt1);
      if (tt1[0] != tt2[0] || (tt1[0].toLowerCase() == "r" && (tt1[2] != tt2[2] || tt1[3] != tt2[3]) || tt1[0].toLowerCase() == "s" && (tt1[3] != tt2[3] || tt1[4] != tt2[4]))) {
        return;
      }
      from[i] = [];
      to[i] = [];
      for (j = 0, jj = mmax(tt1.length, tt2.length);j < jj;j++) {
        j in tt1 && (from[i][j] = tt1[j]);
        j in tt2 && (to[i][j] = tt2[j]);
      }
    }
    return{from:from, to:to};
  };
  R._getContainer = function(x, y, w, h) {
    var container;
    container = h == null && !R.is(x, "object") ? g.doc.getElementById(x) : x;
    if (container == null) {
      return;
    }
    if (container.tagName) {
      if (y == null) {
        return{container:container, width:container.style.pixelWidth || container.offsetWidth, height:container.style.pixelHeight || container.offsetHeight};
      } else {
        return{container:container, width:y, height:w};
      }
    }
    return{container:1, x:x, y:y, width:w, height:h};
  };
  R.pathToRelative = pathToRelative;
  R._engine = {};
  R.path2curve = path2curve;
  R.matrix = function(a, b, c, d, e, f) {
    return new Matrix(a, b, c, d, e, f);
  };
  function Matrix(a, b, c, d, e, f) {
    if (a != null) {
      this.a = +a;
      this.b = +b;
      this.c = +c;
      this.d = +d;
      this.e = +e;
      this.f = +f;
    } else {
      this.a = 1;
      this.b = 0;
      this.c = 0;
      this.d = 1;
      this.e = 0;
      this.f = 0;
    }
  }
  (function(matrixproto) {
    matrixproto.add = function(a, b, c, d, e, f) {
      var out = [[], [], []], m = [[this.a, this.c, this.e], [this.b, this.d, this.f], [0, 0, 1]], matrix = [[a, c, e], [b, d, f], [0, 0, 1]], x, y, z, res;
      if (a && a instanceof Matrix) {
        matrix = [[a.a, a.c, a.e], [a.b, a.d, a.f], [0, 0, 1]];
      }
      for (x = 0;x < 3;x++) {
        for (y = 0;y < 3;y++) {
          res = 0;
          for (z = 0;z < 3;z++) {
            res += m[x][z] * matrix[z][y];
          }
          out[x][y] = res;
        }
      }
      this.a = out[0][0];
      this.b = out[1][0];
      this.c = out[0][1];
      this.d = out[1][1];
      this.e = out[0][2];
      this.f = out[1][2];
    };
    matrixproto.invert = function() {
      var me = this, x = me.a * me.d - me.b * me.c;
      return new Matrix(me.d / x, -me.b / x, -me.c / x, me.a / x, (me.c * me.f - me.d * me.e) / x, (me.b * me.e - me.a * me.f) / x);
    };
    matrixproto.clone = function() {
      return new Matrix(this.a, this.b, this.c, this.d, this.e, this.f);
    };
    matrixproto.translate = function(x, y) {
      this.add(1, 0, 0, 1, x, y);
    };
    matrixproto.scale = function(x, y, cx, cy) {
      y == null && (y = x);
      (cx || cy) && this.add(1, 0, 0, 1, cx, cy);
      this.add(x, 0, 0, y, 0, 0);
      (cx || cy) && this.add(1, 0, 0, 1, -cx, -cy);
    };
    matrixproto.rotate = function(a, x, y) {
      a = R.rad(a);
      x = x || 0;
      y = y || 0;
      var cos = +math.cos(a).toFixed(9), sin = +math.sin(a).toFixed(9);
      this.add(cos, sin, -sin, cos, x, y);
      this.add(1, 0, 0, 1, -x, -y);
    };
    matrixproto.x = function(x, y) {
      return x * this.a + y * this.c + this.e;
    };
    matrixproto.y = function(x, y) {
      return x * this.b + y * this.d + this.f;
    };
    matrixproto.get = function(i) {
      return+this[Str.fromCharCode(97 + i)].toFixed(4);
    };
    matrixproto.toString = function() {
      return R.svg ? "matrix(" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)].join() + ")" : [this.get(0), this.get(2), this.get(1), this.get(3), 0, 0].join();
    };
    matrixproto.toFilter = function() {
      return "progid:DXImageTransform.Microsoft.Matrix(M11=" + this.get(0) + ", M12=" + this.get(2) + ", M21=" + this.get(1) + ", M22=" + this.get(3) + ", Dx=" + this.get(4) + ", Dy=" + this.get(5) + ", sizingmethod='auto expand')";
    };
    matrixproto.offset = function() {
      return[this.e.toFixed(4), this.f.toFixed(4)];
    };
    function norm(a) {
      return a[0] * a[0] + a[1] * a[1];
    }
    function normalize(a) {
      var mag = math.sqrt(norm(a));
      a[0] && (a[0] /= mag);
      a[1] && (a[1] /= mag);
    }
    matrixproto.split = function() {
      var out = {};
      out.dx = this.e;
      out.dy = this.f;
      var row = [[this.a, this.c], [this.b, this.d]];
      out.scalex = math.sqrt(norm(row[0]));
      normalize(row[0]);
      out.shear = row[0][0] * row[1][0] + row[0][1] * row[1][1];
      row[1] = [row[1][0] - row[0][0] * out.shear, row[1][1] - row[0][1] * out.shear];
      out.scaley = math.sqrt(norm(row[1]));
      normalize(row[1]);
      out.shear /= out.scaley;
      var sin = -row[0][1], cos = row[1][1];
      if (cos < 0) {
        out.rotate = R.deg(math.acos(cos));
        if (sin < 0) {
          out.rotate = 360 - out.rotate;
        }
      } else {
        out.rotate = R.deg(math.asin(sin));
      }
      out.isSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) || !out.rotate);
      out.isSuperSimple = !+out.shear.toFixed(9) && (out.scalex.toFixed(9) == out.scaley.toFixed(9) && !out.rotate);
      out.noRotation = !+out.shear.toFixed(9) && !out.rotate;
      return out;
    };
    matrixproto.toTransformString = function(shorter) {
      var s = shorter || this[split]();
      if (s.isSimple) {
        s.scalex = +s.scalex.toFixed(4);
        s.scaley = +s.scaley.toFixed(4);
        s.rotate = +s.rotate.toFixed(4);
        return(s.dx || s.dy ? "t" + [s.dx, s.dy] : E) + (s.scalex != 1 || s.scaley != 1 ? "s" + [s.scalex, s.scaley, 0, 0] : E) + (s.rotate ? "r" + [s.rotate, 0, 0] : E);
      } else {
        return "m" + [this.get(0), this.get(1), this.get(2), this.get(3), this.get(4), this.get(5)];
      }
    };
  })(Matrix.prototype);
  var version = navigator.userAgent.match(/Version\/(.*?)\s/) || navigator.userAgent.match(/Chrome\/(\d+)/);
  if (navigator.vendor == "Apple Computer, Inc." && (version && version[1] < 4 || navigator.platform.slice(0, 2) == "iP") || navigator.vendor == "Google Inc." && (version && version[1] < 8)) {
    paperproto.safari = function() {
      var rect = this.rect(-99, -99, this.width + 99, this.height + 99).attr({stroke:"none"});
      setTimeout(function() {
        rect.remove();
      });
    };
  } else {
    paperproto.safari = fun;
  }
  var preventDefault = function() {
    this.returnValue = false;
  }, preventTouch = function() {
    return this.originalEvent.preventDefault();
  }, stopPropagation = function() {
    this.cancelBubble = true;
  }, stopTouch = function() {
    return this.originalEvent.stopPropagation();
  }, getEventPosition = function(e) {
    var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
    return{x:e.clientX + scrollX, y:e.clientY + scrollY};
  }, addEvent = function() {
    if (g.doc.addEventListener) {
      return function(obj, type, fn, element) {
        var f = function(e) {
          var pos = getEventPosition(e);
          return fn.call(element, e, pos.x, pos.y);
        };
        obj.addEventListener(type, f, false);
        if (supportsTouch && touchMap[type]) {
          var _f = function(e) {
            var pos = getEventPosition(e), olde = e;
            for (var i = 0, ii = e.targetTouches && e.targetTouches.length;i < ii;i++) {
              if (e.targetTouches[i].target == obj) {
                e = e.targetTouches[i];
                e.originalEvent = olde;
                e.preventDefault = preventTouch;
                e.stopPropagation = stopTouch;
                break;
              }
            }
            return fn.call(element, e, pos.x, pos.y);
          };
          obj.addEventListener(touchMap[type], _f, false);
        }
        return function() {
          obj.removeEventListener(type, f, false);
          if (supportsTouch && touchMap[type]) {
            obj.removeEventListener(touchMap[type], f, false);
          }
          return true;
        };
      };
    } else {
      if (g.doc.attachEvent) {
        return function(obj, type, fn, element) {
          var f = function(e) {
            e = e || g.win.event;
            var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, x = e.clientX + scrollX, y = e.clientY + scrollY;
            e.preventDefault = e.preventDefault || preventDefault;
            e.stopPropagation = e.stopPropagation || stopPropagation;
            return fn.call(element, e, x, y);
          };
          obj.attachEvent("on" + type, f);
          var detacher = function() {
            obj.detachEvent("on" + type, f);
            return true;
          };
          return detacher;
        };
      }
    }
  }(), drag = [], dragMove = function(e) {
    var x = e.clientX, y = e.clientY, scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft, dragi, j = drag.length;
    while (j--) {
      dragi = drag[j];
      if (supportsTouch && e.touches) {
        var i = e.touches.length, touch;
        while (i--) {
          touch = e.touches[i];
          if (touch.identifier == dragi.el._drag.id) {
            x = touch.clientX;
            y = touch.clientY;
            (e.originalEvent ? e.originalEvent : e).preventDefault();
            break;
          }
        }
      } else {
        e.preventDefault();
      }
      var node = dragi.el.node, o, next = node.nextSibling, parent = node.parentNode, display = node.style.display;
      g.win.opera && parent.removeChild(node);
      node.style.display = "none";
      o = dragi.el.paper.getElementByPoint(x, y);
      node.style.display = display;
      g.win.opera && (next ? parent.insertBefore(node, next) : parent.appendChild(node));
      o && eve("raphael.drag.over." + dragi.el.id, dragi.el, o);
      x += scrollX;
      y += scrollY;
      eve("raphael.drag.move." + dragi.el.id, dragi.move_scope || dragi.el, x - dragi.el._drag.x, y - dragi.el._drag.y, x, y, e);
    }
  }, dragUp = function(e) {
    R.unmousemove(dragMove).unmouseup(dragUp);
    var i = drag.length, dragi;
    while (i--) {
      dragi = drag[i];
      dragi.el._drag = {};
      eve("raphael.drag.end." + dragi.el.id, dragi.end_scope || (dragi.start_scope || (dragi.move_scope || dragi.el)), e);
    }
    drag = [];
  }, elproto = R.el = {};
  for (var i = events.length;i--;) {
    (function(eventName) {
      R[eventName] = elproto[eventName] = function(fn, scope) {
        if (R.is(fn, "function")) {
          this.events = this.events || [];
          this.events.push({name:eventName, f:fn, unbind:addEvent(this.shape || (this.node || g.doc), eventName, fn, scope || this)});
        }
        return this;
      };
      R["un" + eventName] = elproto["un" + eventName] = function(fn) {
        var events = this.events || [], l = events.length;
        while (l--) {
          if (events[l].name == eventName && (R.is(fn, "undefined") || events[l].f == fn)) {
            events[l].unbind();
            events.splice(l, 1);
            !events.length && delete this.events;
          }
        }
        return this;
      };
    })(events[i]);
  }
  elproto.data = function(key, value) {
    var data = eldata[this.id] = eldata[this.id] || {};
    if (arguments.length == 0) {
      return data;
    }
    if (arguments.length == 1) {
      if (R.is(key, "object")) {
        for (var i in key) {
          if (key[has](i)) {
            this.data(i, key[i]);
          }
        }
        return this;
      }
      eve("raphael.data.get." + this.id, this, data[key], key);
      return data[key];
    }
    data[key] = value;
    eve("raphael.data.set." + this.id, this, value, key);
    return this;
  };
  elproto.removeData = function(key) {
    if (key == null) {
      eldata[this.id] = {};
    } else {
      eldata[this.id] && delete eldata[this.id][key];
    }
    return this;
  };
  elproto.getData = function() {
    return clone(eldata[this.id] || {});
  };
  elproto.hover = function(f_in, f_out, scope_in, scope_out) {
    return this.mouseover(f_in, scope_in).mouseout(f_out, scope_out || scope_in);
  };
  elproto.unhover = function(f_in, f_out) {
    return this.unmouseover(f_in).unmouseout(f_out);
  };
  var draggable = [];
  elproto.drag = function(onmove, onstart, onend, move_scope, start_scope, end_scope) {
    function start(e) {
      (e.originalEvent || e).preventDefault();
      var x = e.clientX, y = e.clientY, scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop, scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
      this._drag.id = e.identifier;
      if (supportsTouch && e.touches) {
        var i = e.touches.length, touch;
        while (i--) {
          touch = e.touches[i];
          this._drag.id = touch.identifier;
          if (touch.identifier == this._drag.id) {
            x = touch.clientX;
            y = touch.clientY;
            break;
          }
        }
      }
      this._drag.x = x + scrollX;
      this._drag.y = y + scrollY;
      !drag.length && R.mousemove(dragMove).mouseup(dragUp);
      drag.push({el:this, move_scope:move_scope, start_scope:start_scope, end_scope:end_scope});
      onstart && eve.on("raphael.drag.start." + this.id, onstart);
      onmove && eve.on("raphael.drag.move." + this.id, onmove);
      onend && eve.on("raphael.drag.end." + this.id, onend);
      eve("raphael.drag.start." + this.id, start_scope || (move_scope || this), e.clientX + scrollX, e.clientY + scrollY, e);
    }
    this._drag = {};
    draggable.push({el:this, start:start});
    this.mousedown(start);
    return this;
  };
  elproto.onDragOver = function(f) {
    f ? eve.on("raphael.drag.over." + this.id, f) : eve.unbind("raphael.drag.over." + this.id);
  };
  elproto.undrag = function() {
    var i = draggable.length;
    while (i--) {
      if (draggable[i].el == this) {
        this.unmousedown(draggable[i].start);
        draggable.splice(i, 1);
        eve.unbind("raphael.drag.*." + this.id);
      }
    }
    !draggable.length && R.unmousemove(dragMove).unmouseup(dragUp);
    drag = [];
  };
  paperproto.circle = function(x, y, r) {
    var out = R._engine.circle(this, x || 0, y || 0, r || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.rect = function(x, y, w, h, r) {
    var out = R._engine.rect(this, x || 0, y || 0, w || 0, h || 0, r || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.ellipse = function(x, y, rx, ry) {
    var out = R._engine.ellipse(this, x || 0, y || 0, rx || 0, ry || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.path = function(pathString) {
    pathString && (!R.is(pathString, string) && (!R.is(pathString[0], array) && (pathString += E)));
    var out = R._engine.path(R.format[apply](R, arguments), this);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.image = function(src, x, y, w, h) {
    var out = R._engine.image(this, src || "about:blank", x || 0, y || 0, w || 0, h || 0);
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.text = function(x, y, text) {
    var out = R._engine.text(this, x || 0, y || 0, Str(text));
    this.__set__ && this.__set__.push(out);
    return out;
  };
  paperproto.set = function(itemsArray) {
    !R.is(itemsArray, "array") && (itemsArray = Array.prototype.splice.call(arguments, 0, arguments.length));
    var out = new Set(itemsArray);
    this.__set__ && this.__set__.push(out);
    out["paper"] = this;
    out["type"] = "set";
    return out;
  };
  paperproto.setStart = function(set) {
    this.__set__ = set || this.set();
  };
  paperproto.setFinish = function(set) {
    var out = this.__set__;
    delete this.__set__;
    return out;
  };
  paperproto.setSize = function(width, height) {
    return R._engine.setSize.call(this, width, height);
  };
  paperproto.setViewBox = function(x, y, w, h, fit) {
    return R._engine.setViewBox.call(this, x, y, w, h, fit);
  };
  paperproto.top = paperproto.bottom = null;
  paperproto.raphael = R;
  var getOffset = function(elem) {
    var box = elem.getBoundingClientRect(), doc = elem.ownerDocument, body = doc.body, docElem = doc.documentElement, clientTop = docElem.clientTop || (body.clientTop || 0), clientLeft = docElem.clientLeft || (body.clientLeft || 0), top = box.top + (g.win.pageYOffset || (docElem.scrollTop || body.scrollTop)) - clientTop, left = box.left + (g.win.pageXOffset || (docElem.scrollLeft || body.scrollLeft)) - clientLeft;
    return{y:top, x:left};
  };
  paperproto.getElementByPoint = function(x, y) {
    var paper = this, svg = paper.canvas, target = g.doc.elementFromPoint(x, y);
    if (g.win.opera && target.tagName == "svg") {
      var so = getOffset(svg), sr = svg.createSVGRect();
      sr.x = x - so.x;
      sr.y = y - so.y;
      sr.width = sr.height = 1;
      var hits = svg.getIntersectionList(sr, null);
      if (hits.length) {
        target = hits[hits.length - 1];
      }
    }
    if (!target) {
      return null;
    }
    while (target.parentNode && (target != svg.parentNode && !target.raphael)) {
      target = target.parentNode;
    }
    target == paper.canvas.parentNode && (target = svg);
    target = target && target.raphael ? paper.getById(target.raphaelid) : null;
    return target;
  };
  paperproto.getElementsByBBox = function(bbox) {
    var set = this.set();
    this.forEach(function(el) {
      if (R.isBBoxIntersect(el.getBBox(), bbox)) {
        set.push(el);
      }
    });
    return set;
  };
  paperproto.getById = function(id) {
    var bot = this.bottom;
    while (bot) {
      if (bot.id == id) {
        return bot;
      }
      bot = bot.next;
    }
    return null;
  };
  paperproto.forEach = function(callback, thisArg) {
    var bot = this.bottom;
    while (bot) {
      if (callback.call(thisArg, bot) === false) {
        return this;
      }
      bot = bot.next;
    }
    return this;
  };
  paperproto.getElementsByPoint = function(x, y) {
    var set = this.set();
    this.forEach(function(el) {
      if (el.isPointInside(x, y)) {
        set.push(el);
      }
    });
    return set;
  };
  function x_y() {
    return this.x + S + this.y;
  }
  function x_y_w_h() {
    return this.x + S + this.y + S + this.width + " \u00d7 " + this.height;
  }
  elproto.isPointInside = function(x, y) {
    var rp = this.realPath = getPath[this.type](this);
    if (this.attr("transform") && this.attr("transform").length) {
      rp = R.transformPath(rp, this.attr("transform"));
    }
    return R.isPointInsidePath(rp, x, y);
  };
  elproto.getBBox = function(isWithoutTransform) {
    if (this.removed) {
      return{};
    }
    var _ = this._;
    if (isWithoutTransform) {
      if (_.dirty || !_.bboxwt) {
        this.realPath = getPath[this.type](this);
        _.bboxwt = pathDimensions(this.realPath);
        _.bboxwt.toString = x_y_w_h;
        _.dirty = 0;
      }
      return _.bboxwt;
    }
    if (_.dirty || (_.dirtyT || !_.bbox)) {
      if (_.dirty || !this.realPath) {
        _.bboxwt = 0;
        this.realPath = getPath[this.type](this);
      }
      _.bbox = pathDimensions(mapPath(this.realPath, this.matrix));
      _.bbox.toString = x_y_w_h;
      _.dirty = _.dirtyT = 0;
    }
    return _.bbox;
  };
  elproto.clone = function() {
    if (this.removed) {
      return null;
    }
    var out = this.paper[this.type]().attr(this.attr());
    this.__set__ && this.__set__.push(out);
    return out;
  };
  elproto.glow = function(glow) {
    if (this.type == "text") {
      return null;
    }
    glow = glow || {};
    var s = {width:(glow.width || 10) + (+this.attr("stroke-width") || 1), fill:glow.fill || false, opacity:glow.opacity || 0.5, offsetx:glow.offsetx || 0, offsety:glow.offsety || 0, color:glow.color || "#000"}, c = s.width / 2, r = this.paper, out = r.set(), path = this.realPath || getPath[this.type](this);
    path = this.matrix ? mapPath(path, this.matrix) : path;
    for (var i = 1;i < c + 1;i++) {
      out.push(r.path(path).attr({stroke:s.color, fill:s.fill ? s.color : "none", "stroke-linejoin":"round", "stroke-linecap":"round", "stroke-width":+(s.width / c * i).toFixed(3), opacity:+(s.opacity / c).toFixed(3)}));
    }
    return out.insertBefore(this).translate(s.offsetx, s.offsety);
  };
  var curveslengths = {}, getPointAtSegmentLength = function(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length) {
    if (length == null) {
      return bezlen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y);
    } else {
      return R.findDotsAtSegment(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, getTatLen(p1x, p1y, c1x, c1y, c2x, c2y, p2x, p2y, length));
    }
  }, getLengthFactory = function(istotal, subpath) {
    return function(path, length, onlystart) {
      path = path2curve(path);
      var x, y, p, l, sp = "", subpaths = {}, point, len = 0;
      for (var i = 0, ii = path.length;i < ii;i++) {
        p = path[i];
        if (p[0] == "M") {
          x = +p[1];
          y = +p[2];
        } else {
          l = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6]);
          if (len + l > length) {
            if (subpath && !subpaths.start) {
              point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);
              sp += ["C" + point.start.x, point.start.y, point.m.x, point.m.y, point.x, point.y];
              if (onlystart) {
                return sp;
              }
              subpaths.start = sp;
              sp = ["M" + point.x, point.y + "C" + point.n.x, point.n.y, point.end.x, point.end.y, p[5], p[6]].join();
              len += l;
              x = +p[5];
              y = +p[6];
              continue;
            }
            if (!istotal && !subpath) {
              point = getPointAtSegmentLength(x, y, p[1], p[2], p[3], p[4], p[5], p[6], length - len);
              return{x:point.x, y:point.y, alpha:point.alpha};
            }
          }
          len += l;
          x = +p[5];
          y = +p[6];
        }
        sp += p.shift() + p;
      }
      subpaths.end = sp;
      point = istotal ? len : subpath ? subpaths : R.findDotsAtSegment(x, y, p[0], p[1], p[2], p[3], p[4], p[5], 1);
      point.alpha && (point = {x:point.x, y:point.y, alpha:point.alpha});
      return point;
    };
  };
  var getTotalLength = getLengthFactory(1), getPointAtLength = getLengthFactory(), getSubpathsAtLength = getLengthFactory(0, 1);
  R.getTotalLength = getTotalLength;
  R.getPointAtLength = getPointAtLength;
  R.getSubpath = function(path, from, to) {
    if (this.getTotalLength(path) - to < 1E-6) {
      return getSubpathsAtLength(path, from).end;
    }
    var a = getSubpathsAtLength(path, to, 1);
    return from ? getSubpathsAtLength(a, from).end : a;
  };
  elproto.getTotalLength = function() {
    var path = this.getPath();
    if (!path) {
      return;
    }
    if (this.node.getTotalLength) {
      return this.node.getTotalLength();
    }
    return getTotalLength(path);
  };
  elproto.getPointAtLength = function(length) {
    var path = this.getPath();
    if (!path) {
      return;
    }
    return getPointAtLength(path, length);
  };
  elproto.getPath = function() {
    var path, getPath = R._getPath[this.type];
    if (this.type == "text" || this.type == "set") {
      return;
    }
    if (getPath) {
      path = getPath(this);
    }
    return path;
  };
  elproto.getSubpath = function(from, to) {
    var path = this.getPath();
    if (!path) {
      return;
    }
    return R.getSubpath(path, from, to);
  };
  var ef = R.easing_formulas = {linear:function(n) {
    return n;
  }, "<":function(n) {
    return pow(n, 1.7);
  }, ">":function(n) {
    return pow(n, 0.48);
  }, "<>":function(n) {
    var q = 0.48 - n / 1.04, Q = math.sqrt(0.1734 + q * q), x = Q - q, X = pow(abs(x), 1 / 3) * (x < 0 ? -1 : 1), y = -Q - q, Y = pow(abs(y), 1 / 3) * (y < 0 ? -1 : 1), t = X + Y + 0.5;
    return(1 - t) * 3 * t * t + t * t * t;
  }, backIn:function(n) {
    var s = 1.70158;
    return n * n * ((s + 1) * n - s);
  }, backOut:function(n) {
    n = n - 1;
    var s = 1.70158;
    return n * n * ((s + 1) * n + s) + 1;
  }, elastic:function(n) {
    if (n == !!n) {
      return n;
    }
    return pow(2, -10 * n) * math.sin((n - 0.075) * (2 * PI) / 0.3) + 1;
  }, bounce:function(n) {
    var s = 7.5625, p = 2.75, l;
    if (n < 1 / p) {
      l = s * n * n;
    } else {
      if (n < 2 / p) {
        n -= 1.5 / p;
        l = s * n * n + 0.75;
      } else {
        if (n < 2.5 / p) {
          n -= 2.25 / p;
          l = s * n * n + 0.9375;
        } else {
          n -= 2.625 / p;
          l = s * n * n + 0.984375;
        }
      }
    }
    return l;
  }};
  ef.easeIn = ef["ease-in"] = ef["<"];
  ef.easeOut = ef["ease-out"] = ef[">"];
  ef.easeInOut = ef["ease-in-out"] = ef["<>"];
  ef["back-in"] = ef.backIn;
  ef["back-out"] = ef.backOut;
  var animationElements = [], requestAnimFrame = window.requestAnimationFrame || (window.webkitRequestAnimationFrame || (window.mozRequestAnimationFrame || (window.oRequestAnimationFrame || (window.msRequestAnimationFrame || function(callback) {
    setTimeout(callback, 16);
  })))), animation = function() {
    var Now = +new Date, l = 0;
    for (;l < animationElements.length;l++) {
      var e = animationElements[l];
      if (e.el.removed || e.paused) {
        continue;
      }
      var time = Now - e.start, ms = e.ms, easing = e.easing, from = e.from, diff = e.diff, to = e.to, t = e.t, that = e.el, set = {}, now, init = {}, key;
      if (e.initstatus) {
        time = (e.initstatus * e.anim.top - e.prev) / (e.percent - e.prev) * ms;
        e.status = e.initstatus;
        delete e.initstatus;
        e.stop && animationElements.splice(l--, 1);
      } else {
        e.status = (e.prev + (e.percent - e.prev) * (time / ms)) / e.anim.top;
      }
      if (time < 0) {
        continue;
      }
      if (time < ms) {
        var pos = easing(time / ms);
        for (var attr in from) {
          if (from[has](attr)) {
            switch(availableAnimAttrs[attr]) {
              case nu:
                now = +from[attr] + pos * ms * diff[attr];
                break;
              case "colour":
                now = "rgb(" + [upto255(round(from[attr].r + pos * ms * diff[attr].r)), upto255(round(from[attr].g + pos * ms * diff[attr].g)), upto255(round(from[attr].b + pos * ms * diff[attr].b))].join(",") + ")";
                break;
              case "path":
                now = [];
                for (var i = 0, ii = from[attr].length;i < ii;i++) {
                  now[i] = [from[attr][i][0]];
                  for (var j = 1, jj = from[attr][i].length;j < jj;j++) {
                    now[i][j] = +from[attr][i][j] + pos * ms * diff[attr][i][j];
                  }
                  now[i] = now[i].join(S);
                }
                now = now.join(S);
                break;
              case "transform":
                if (diff[attr].real) {
                  now = [];
                  for (i = 0, ii = from[attr].length;i < ii;i++) {
                    now[i] = [from[attr][i][0]];
                    for (j = 1, jj = from[attr][i].length;j < jj;j++) {
                      now[i][j] = from[attr][i][j] + pos * ms * diff[attr][i][j];
                    }
                  }
                } else {
                  var get = function(i) {
                    return+from[attr][i] + pos * ms * diff[attr][i];
                  };
                  now = [["m", get(0), get(1), get(2), get(3), get(4), get(5)]];
                }
                break;
              case "csv":
                if (attr == "clip-rect") {
                  now = [];
                  i = 4;
                  while (i--) {
                    now[i] = +from[attr][i] + pos * ms * diff[attr][i];
                  }
                }
                break;
              default:
                var from2 = [][concat](from[attr]);
                now = [];
                i = that.paper.customAttributes[attr].length;
                while (i--) {
                  now[i] = +from2[i] + pos * ms * diff[attr][i];
                }
                break;
            }
            set[attr] = now;
          }
        }
        that.attr(set);
        (function(id, that, anim) {
          setTimeout(function() {
            eve("raphael.anim.frame." + id, that, anim);
          });
        })(that.id, that, e.anim);
      } else {
        (function(f, el, a) {
          setTimeout(function() {
            eve("raphael.anim.frame." + el.id, el, a);
            eve("raphael.anim.finish." + el.id, el, a);
            R.is(f, "function") && f.call(el);
          });
        })(e.callback, that, e.anim);
        that.attr(to);
        animationElements.splice(l--, 1);
        if (e.repeat > 1 && !e.next) {
          for (key in to) {
            if (to[has](key)) {
              init[key] = e.totalOrigin[key];
            }
          }
          e.el.attr(init);
          runAnimation(e.anim, e.el, e.anim.percents[0], null, e.totalOrigin, e.repeat - 1);
        }
        if (e.next && !e.stop) {
          runAnimation(e.anim, e.el, e.next, null, e.totalOrigin, e.repeat);
        }
      }
    }
    R.svg && (that && (that.paper && that.paper.safari()));
    animationElements.length && requestAnimFrame(animation);
  }, upto255 = function(color) {
    return color > 255 ? 255 : color < 0 ? 0 : color;
  };
  elproto.animateWith = function(el, anim, params, ms, easing, callback) {
    var element = this;
    if (element.removed) {
      callback && callback.call(element);
      return element;
    }
    var a = params instanceof Animation ? params : R.animation(params, ms, easing, callback), x, y;
    runAnimation(a, element, a.percents[0], null, element.attr());
    for (var i = 0, ii = animationElements.length;i < ii;i++) {
      if (animationElements[i].anim == anim && animationElements[i].el == el) {
        animationElements[ii - 1].start = animationElements[i].start;
        break;
      }
    }
    return element;
  };
  function CubicBezierAtTime(t, p1x, p1y, p2x, p2y, duration) {
    var cx = 3 * p1x, bx = 3 * (p2x - p1x) - cx, ax = 1 - cx - bx, cy = 3 * p1y, by = 3 * (p2y - p1y) - cy, ay = 1 - cy - by;
    function sampleCurveX(t) {
      return((ax * t + bx) * t + cx) * t;
    }
    function solve(x, epsilon) {
      var t = solveCurveX(x, epsilon);
      return((ay * t + by) * t + cy) * t;
    }
    function solveCurveX(x, epsilon) {
      var t0, t1, t2, x2, d2, i;
      for (t2 = x, i = 0;i < 8;i++) {
        x2 = sampleCurveX(t2) - x;
        if (abs(x2) < epsilon) {
          return t2;
        }
        d2 = (3 * ax * t2 + 2 * bx) * t2 + cx;
        if (abs(d2) < 1E-6) {
          break;
        }
        t2 = t2 - x2 / d2;
      }
      t0 = 0;
      t1 = 1;
      t2 = x;
      if (t2 < t0) {
        return t0;
      }
      if (t2 > t1) {
        return t1;
      }
      while (t0 < t1) {
        x2 = sampleCurveX(t2);
        if (abs(x2 - x) < epsilon) {
          return t2;
        }
        if (x > x2) {
          t0 = t2;
        } else {
          t1 = t2;
        }
        t2 = (t1 - t0) / 2 + t0;
      }
      return t2;
    }
    return solve(t, 1 / (200 * duration));
  }
  elproto.onAnimation = function(f) {
    f ? eve.on("raphael.anim.frame." + this.id, f) : eve.unbind("raphael.anim.frame." + this.id);
    return this;
  };
  function Animation(anim, ms) {
    var percents = [], newAnim = {};
    this.ms = ms;
    this.times = 1;
    if (anim) {
      for (var attr in anim) {
        if (anim[has](attr)) {
          newAnim[toFloat(attr)] = anim[attr];
          percents.push(toFloat(attr));
        }
      }
      percents.sort(sortByNumber);
    }
    this.anim = newAnim;
    this.top = percents[percents.length - 1];
    this.percents = percents;
  }
  Animation.prototype.delay = function(delay) {
    var a = new Animation(this.anim, this.ms);
    a.times = this.times;
    a.del = +delay || 0;
    return a;
  };
  Animation.prototype.repeat = function(times) {
    var a = new Animation(this.anim, this.ms);
    a.del = this.del;
    a.times = math.floor(mmax(times, 0)) || 1;
    return a;
  };
  function runAnimation(anim, element, percent, status, totalOrigin, times) {
    percent = toFloat(percent);
    var params, isInAnim, isInAnimSet, percents = [], next, prev, timestamp, ms = anim.ms, from = {}, to = {}, diff = {};
    if (status) {
      for (i = 0, ii = animationElements.length;i < ii;i++) {
        var e = animationElements[i];
        if (e.el.id == element.id && e.anim == anim) {
          if (e.percent != percent) {
            animationElements.splice(i, 1);
            isInAnimSet = 1;
          } else {
            isInAnim = e;
          }
          element.attr(e.totalOrigin);
          break;
        }
      }
    } else {
      status = +to;
    }
    for (var i = 0, ii = anim.percents.length;i < ii;i++) {
      if (anim.percents[i] == percent || anim.percents[i] > status * anim.top) {
        percent = anim.percents[i];
        prev = anim.percents[i - 1] || 0;
        ms = ms / anim.top * (percent - prev);
        next = anim.percents[i + 1];
        params = anim.anim[percent];
        break;
      } else {
        if (status) {
          element.attr(anim.anim[anim.percents[i]]);
        }
      }
    }
    if (!params) {
      return;
    }
    if (!isInAnim) {
      for (var attr in params) {
        if (params[has](attr)) {
          if (availableAnimAttrs[has](attr) || element.paper.customAttributes[has](attr)) {
            from[attr] = element.attr(attr);
            from[attr] == null && (from[attr] = availableAttrs[attr]);
            to[attr] = params[attr];
            switch(availableAnimAttrs[attr]) {
              case nu:
                diff[attr] = (to[attr] - from[attr]) / ms;
                break;
              case "colour":
                from[attr] = R.getRGB(from[attr]);
                var toColour = R.getRGB(to[attr]);
                diff[attr] = {r:(toColour.r - from[attr].r) / ms, g:(toColour.g - from[attr].g) / ms, b:(toColour.b - from[attr].b) / ms};
                break;
              case "path":
                var pathes = path2curve(from[attr], to[attr]), toPath = pathes[1];
                from[attr] = pathes[0];
                diff[attr] = [];
                for (i = 0, ii = from[attr].length;i < ii;i++) {
                  diff[attr][i] = [0];
                  for (var j = 1, jj = from[attr][i].length;j < jj;j++) {
                    diff[attr][i][j] = (toPath[i][j] - from[attr][i][j]) / ms;
                  }
                }
                break;
              case "transform":
                var _ = element._, eq = equaliseTransform(_[attr], to[attr]);
                if (eq) {
                  from[attr] = eq.from;
                  to[attr] = eq.to;
                  diff[attr] = [];
                  diff[attr].real = true;
                  for (i = 0, ii = from[attr].length;i < ii;i++) {
                    diff[attr][i] = [from[attr][i][0]];
                    for (j = 1, jj = from[attr][i].length;j < jj;j++) {
                      diff[attr][i][j] = (to[attr][i][j] - from[attr][i][j]) / ms;
                    }
                  }
                } else {
                  var m = element.matrix || new Matrix, to2 = {_:{transform:_.transform}, getBBox:function() {
                    return element.getBBox(1);
                  }};
                  from[attr] = [m.a, m.b, m.c, m.d, m.e, m.f];
                  extractTransform(to2, to[attr]);
                  to[attr] = to2._.transform;
                  diff[attr] = [(to2.matrix.a - m.a) / ms, (to2.matrix.b - m.b) / ms, (to2.matrix.c - m.c) / ms, (to2.matrix.d - m.d) / ms, (to2.matrix.e - m.e) / ms, (to2.matrix.f - m.f) / ms];
                }
                break;
              case "csv":
                var values = Str(params[attr])[split](separator), from2 = Str(from[attr])[split](separator);
                if (attr == "clip-rect") {
                  from[attr] = from2;
                  diff[attr] = [];
                  i = from2.length;
                  while (i--) {
                    diff[attr][i] = (values[i] - from[attr][i]) / ms;
                  }
                }
                to[attr] = values;
                break;
              default:
                values = [][concat](params[attr]);
                from2 = [][concat](from[attr]);
                diff[attr] = [];
                i = element.paper.customAttributes[attr].length;
                while (i--) {
                  diff[attr][i] = ((values[i] || 0) - (from2[i] || 0)) / ms;
                }
                break;
            }
          }
        }
      }
      var easing = params.easing, easyeasy = R.easing_formulas[easing];
      if (!easyeasy) {
        easyeasy = Str(easing).match(bezierrg);
        if (easyeasy && easyeasy.length == 5) {
          var curve = easyeasy;
          easyeasy = function(t) {
            return CubicBezierAtTime(t, +curve[1], +curve[2], +curve[3], +curve[4], ms);
          };
        } else {
          easyeasy = pipe;
        }
      }
      timestamp = params.start || (anim.start || +new Date);
      e = {anim:anim, percent:percent, timestamp:timestamp, start:timestamp + (anim.del || 0), status:0, initstatus:status || 0, stop:false, ms:ms, easing:easyeasy, from:from, diff:diff, to:to, el:element, callback:params.callback, prev:prev, next:next, repeat:times || anim.times, origin:element.attr(), totalOrigin:totalOrigin};
      animationElements.push(e);
      if (status && (!isInAnim && !isInAnimSet)) {
        e.stop = true;
        e.start = new Date - ms * status;
        if (animationElements.length == 1) {
          return animation();
        }
      }
      if (isInAnimSet) {
        e.start = new Date - e.ms * status;
      }
      animationElements.length == 1 && requestAnimFrame(animation);
    } else {
      isInAnim.initstatus = status;
      isInAnim.start = new Date - isInAnim.ms * status;
    }
    eve("raphael.anim.start." + element.id, element, anim);
  }
  R.animation = function(params, ms, easing, callback) {
    if (params instanceof Animation) {
      return params;
    }
    if (R.is(easing, "function") || !easing) {
      callback = callback || (easing || null);
      easing = null;
    }
    params = Object(params);
    ms = +ms || 0;
    var p = {}, json, attr;
    for (attr in params) {
      if (params[has](attr) && (toFloat(attr) != attr && toFloat(attr) + "%" != attr)) {
        json = true;
        p[attr] = params[attr];
      }
    }
    if (!json) {
      return new Animation(params, ms);
    } else {
      easing && (p.easing = easing);
      callback && (p.callback = callback);
      return new Animation({100:p}, ms);
    }
  };
  elproto.animate = function(params, ms, easing, callback) {
    var element = this;
    if (element.removed) {
      callback && callback.call(element);
      return element;
    }
    var anim = params instanceof Animation ? params : R.animation(params, ms, easing, callback);
    runAnimation(anim, element, anim.percents[0], null, element.attr());
    return element;
  };
  elproto.setTime = function(anim, value) {
    if (anim && value != null) {
      this.status(anim, mmin(value, anim.ms) / anim.ms);
    }
    return this;
  };
  elproto.status = function(anim, value) {
    var out = [], i = 0, len, e;
    if (value != null) {
      runAnimation(anim, this, -1, mmin(value, 1));
      return this;
    } else {
      len = animationElements.length;
      for (;i < len;i++) {
        e = animationElements[i];
        if (e.el.id == this.id && (!anim || e.anim == anim)) {
          if (anim) {
            return e.status;
          }
          out.push({anim:e.anim, status:e.status});
        }
      }
      if (anim) {
        return 0;
      }
      return out;
    }
  };
  elproto.pause = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        if (eve("raphael.anim.pause." + this.id, this, animationElements[i].anim) !== false) {
          animationElements[i].paused = true;
        }
      }
    }
    return this;
  };
  elproto.resume = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        var e = animationElements[i];
        if (eve("raphael.anim.resume." + this.id, this, e.anim) !== false) {
          delete e.paused;
          this.status(e.anim, e.status);
        }
      }
    }
    return this;
  };
  elproto.stop = function(anim) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.id == this.id && (!anim || animationElements[i].anim == anim)) {
        if (eve("raphael.anim.stop." + this.id, this, animationElements[i].anim) !== false) {
          animationElements.splice(i--, 1);
        }
      }
    }
    return this;
  };
  function stopAnimation(paper) {
    for (var i = 0;i < animationElements.length;i++) {
      if (animationElements[i].el.paper == paper) {
        animationElements.splice(i--, 1);
      }
    }
  }
  eve.on("raphael.remove", stopAnimation);
  eve.on("raphael.clear", stopAnimation);
  elproto.toString = function() {
    return "Rapha\u00ebl\u2019s object";
  };
  var Set = function(items) {
    this.items = [];
    this.length = 0;
    this.type = "set";
    if (items) {
      for (var i = 0, ii = items.length;i < ii;i++) {
        if (items[i] && (items[i].constructor == elproto.constructor || items[i].constructor == Set)) {
          this[this.items.length] = this.items[this.items.length] = items[i];
          this.length++;
        }
      }
    }
  }, setproto = Set.prototype;
  setproto.push = function() {
    var item, len;
    for (var i = 0, ii = arguments.length;i < ii;i++) {
      item = arguments[i];
      if (item && (item.constructor == elproto.constructor || item.constructor == Set)) {
        len = this.items.length;
        this[len] = this.items[len] = item;
        this.length++;
      }
    }
    return this;
  };
  setproto.pop = function() {
    this.length && delete this[this.length--];
    return this.items.pop();
  };
  setproto.forEach = function(callback, thisArg) {
    for (var i = 0, ii = this.items.length;i < ii;i++) {
      if (callback.call(thisArg, this.items[i], i) === false) {
        return this;
      }
    }
    return this;
  };
  for (var method in elproto) {
    if (elproto[has](method)) {
      setproto[method] = function(methodname) {
        return function() {
          var arg = arguments;
          return this.forEach(function(el) {
            el[methodname][apply](el, arg);
          });
        };
      }(method);
    }
  }
  setproto.attr = function(name, value) {
    if (name && (R.is(name, array) && R.is(name[0], "object"))) {
      for (var j = 0, jj = name.length;j < jj;j++) {
        this.items[j].attr(name[j]);
      }
    } else {
      for (var i = 0, ii = this.items.length;i < ii;i++) {
        this.items[i].attr(name, value);
      }
    }
    return this;
  };
  setproto.clear = function() {
    while (this.length) {
      this.pop();
    }
  };
  setproto.splice = function(index, count, insertion) {
    index = index < 0 ? mmax(this.length + index, 0) : index;
    count = mmax(0, mmin(this.length - index, count));
    var tail = [], todel = [], args = [], i;
    for (i = 2;i < arguments.length;i++) {
      args.push(arguments[i]);
    }
    for (i = 0;i < count;i++) {
      todel.push(this[index + i]);
    }
    for (;i < this.length - index;i++) {
      tail.push(this[index + i]);
    }
    var arglen = args.length;
    for (i = 0;i < arglen + tail.length;i++) {
      this.items[index + i] = this[index + i] = i < arglen ? args[i] : tail[i - arglen];
    }
    i = this.items.length = this.length -= count - arglen;
    while (this[i]) {
      delete this[i++];
    }
    return new Set(todel);
  };
  setproto.exclude = function(el) {
    for (var i = 0, ii = this.length;i < ii;i++) {
      if (this[i] == el) {
        this.splice(i, 1);
        return true;
      }
    }
  };
  setproto.animate = function(params, ms, easing, callback) {
    (R.is(easing, "function") || !easing) && (callback = easing || null);
    var len = this.items.length, i = len, item, set = this, collector;
    if (!len) {
      return this;
    }
    callback && (collector = function() {
      !--len && callback.call(set);
    });
    easing = R.is(easing, string) ? easing : collector;
    var anim = R.animation(params, ms, easing, collector);
    item = this.items[--i].animate(anim);
    while (i--) {
      this.items[i] && (!this.items[i].removed && this.items[i].animateWith(item, anim, anim));
      this.items[i] && !this.items[i].removed || len--;
    }
    return this;
  };
  setproto.insertAfter = function(el) {
    var i = this.items.length;
    while (i--) {
      this.items[i].insertAfter(el);
    }
    return this;
  };
  setproto.getBBox = function() {
    var x = [], y = [], x2 = [], y2 = [];
    for (var i = this.items.length;i--;) {
      if (!this.items[i].removed) {
        var box = this.items[i].getBBox();
        x.push(box.x);
        y.push(box.y);
        x2.push(box.x + box.width);
        y2.push(box.y + box.height);
      }
    }
    x = mmin[apply](0, x);
    y = mmin[apply](0, y);
    x2 = mmax[apply](0, x2);
    y2 = mmax[apply](0, y2);
    return{x:x, y:y, x2:x2, y2:y2, width:x2 - x, height:y2 - y};
  };
  setproto.clone = function(s) {
    s = this.paper.set();
    for (var i = 0, ii = this.items.length;i < ii;i++) {
      s.push(this.items[i].clone());
    }
    return s;
  };
  setproto.toString = function() {
    return "Rapha\u00ebl\u2018s set";
  };
  setproto.glow = function(glowConfig) {
    var ret = this.paper.set();
    this.forEach(function(shape, index) {
      var g = shape.glow(glowConfig);
      if (g != null) {
        g.forEach(function(shape2, index2) {
          ret.push(shape2);
        });
      }
    });
    return ret;
  };
  setproto.isPointInside = function(x, y) {
    var isPointInside = false;
    this.forEach(function(el) {
      if (el.isPointInside(x, y)) {
        isPointInside = true;
        return false;
      }
    });
    return isPointInside;
  };
  R.registerFont = function(font) {
    if (!font.face) {
      return font;
    }
    this.fonts = this.fonts || {};
    var fontcopy = {w:font.w, face:{}, glyphs:{}}, family = font.face["font-family"];
    for (var prop in font.face) {
      if (font.face[has](prop)) {
        fontcopy.face[prop] = font.face[prop];
      }
    }
    if (this.fonts[family]) {
      this.fonts[family].push(fontcopy);
    } else {
      this.fonts[family] = [fontcopy];
    }
    if (!font.svg) {
      fontcopy.face["units-per-em"] = toInt(font.face["units-per-em"], 10);
      for (var glyph in font.glyphs) {
        if (font.glyphs[has](glyph)) {
          var path = font.glyphs[glyph];
          fontcopy.glyphs[glyph] = {w:path.w, k:{}, d:path.d && "M" + path.d.replace(/[mlcxtrv]/g, function(command) {
            return{l:"L", c:"C", x:"z", t:"m", r:"l", v:"c"}[command] || "M";
          }) + "z"};
          if (path.k) {
            for (var k in path.k) {
              if (path[has](k)) {
                fontcopy.glyphs[glyph].k[k] = path.k[k];
              }
            }
          }
        }
      }
    }
    return font;
  };
  paperproto.getFont = function(family, weight, style, stretch) {
    stretch = stretch || "normal";
    style = style || "normal";
    weight = +weight || ({normal:400, bold:700, lighter:300, bolder:800}[weight] || 400);
    if (!R.fonts) {
      return;
    }
    var font = R.fonts[family];
    if (!font) {
      var name = new RegExp("(^|\\s)" + family.replace(/[^\w\d\s+!~.:_-]/g, E) + "(\\s|$)", "i");
      for (var fontName in R.fonts) {
        if (R.fonts[has](fontName)) {
          if (name.test(fontName)) {
            font = R.fonts[fontName];
            break;
          }
        }
      }
    }
    var thefont;
    if (font) {
      for (var i = 0, ii = font.length;i < ii;i++) {
        thefont = font[i];
        if (thefont.face["font-weight"] == weight && ((thefont.face["font-style"] == style || !thefont.face["font-style"]) && thefont.face["font-stretch"] == stretch)) {
          break;
        }
      }
    }
    return thefont;
  };
  paperproto.print = function(x, y, string, font, size, origin, letter_spacing, line_spacing) {
    origin = origin || "middle";
    letter_spacing = mmax(mmin(letter_spacing || 0, 1), -1);
    line_spacing = mmax(mmin(line_spacing || 1, 3), 1);
    var letters = Str(string)[split](E), shift = 0, notfirst = 0, path = E, scale;
    R.is(font, "string") && (font = this.getFont(font));
    if (font) {
      scale = (size || 16) / font.face["units-per-em"];
      var bb = font.face.bbox[split](separator), top = +bb[0], lineHeight = bb[3] - bb[1], shifty = 0, height = +bb[1] + (origin == "baseline" ? lineHeight + +font.face.descent : lineHeight / 2);
      for (var i = 0, ii = letters.length;i < ii;i++) {
        if (letters[i] == "\n") {
          shift = 0;
          curr = 0;
          notfirst = 0;
          shifty += lineHeight * line_spacing;
        } else {
          var prev = notfirst && font.glyphs[letters[i - 1]] || {}, curr = font.glyphs[letters[i]];
          shift += notfirst ? (prev.w || font.w) + (prev.k && prev.k[letters[i]] || 0) + font.w * letter_spacing : 0;
          notfirst = 1;
        }
        if (curr && curr.d) {
          path += R.transformPath(curr.d, ["t", shift * scale, shifty * scale, "s", scale, scale, top, height, "t", (x - top) / scale, (y - height) / scale]);
        }
      }
    }
    return this.path(path).attr({fill:"#000", stroke:"none"});
  };
  paperproto.add = function(json) {
    if (R.is(json, "array")) {
      var res = this.set(), i = 0, ii = json.length, j;
      for (;i < ii;i++) {
        j = json[i] || {};
        elements[has](j.type) && res.push(this[j.type]().attr(j));
      }
    }
    return res;
  };
  R.format = function(token, params) {
    var args = R.is(params, array) ? [0][concat](params) : arguments;
    token && (R.is(token, string) && (args.length - 1 && (token = token.replace(formatrg, function(str, i) {
      return args[++i] == null ? E : args[i];
    }))));
    return token || E;
  };
  R.fullfill = function() {
    var tokenRegex = /\{([^\}]+)\}/g, objNotationRegex = /(?:(?:^|\.)(.+?)(?=\[|\.|$|\()|\[('|")(.+?)\2\])(\(\))?/g, replacer = function(all, key, obj) {
      var res = obj;
      key.replace(objNotationRegex, function(all, name, quote, quotedName, isFunc) {
        name = name || quotedName;
        if (res) {
          if (name in res) {
            res = res[name];
          }
          typeof res == "function" && (isFunc && (res = res()));
        }
      });
      res = (res == null || res == obj ? all : res) + "";
      return res;
    };
    return function(str, obj) {
      return String(str).replace(tokenRegex, function(all, key) {
        return replacer(all, key, obj);
      });
    };
  }();
  R.ninja = function() {
    oldRaphael.was ? g.win.Raphael = oldRaphael.is : delete Raphael;
    return R;
  };
  R.st = setproto;
  (function(doc, loaded, f) {
    if (doc.readyState == null && doc.addEventListener) {
      doc.addEventListener(loaded, f = function() {
        doc.removeEventListener(loaded, f, false);
        doc.readyState = "complete";
      }, false);
      doc.readyState = "loading";
    }
    function isLoaded() {
      /in/.test(doc.readyState) ? setTimeout(isLoaded, 9) : R.eve("raphael.DOMload");
    }
    isLoaded();
  })(document, "DOMContentLoaded");
  eve.on("raphael.DOMload", function() {
    loaded = true;
  });
  (function() {
    if (!R.svg) {
      return;
    }
    var has = "hasOwnProperty", Str = String, toFloat = parseFloat, toInt = parseInt, math = Math, mmax = math.max, abs = math.abs, pow = math.pow, separator = /[, ]+/, eve = R.eve, E = "", S = " ";
    var xlink = "http://www.w3.org/1999/xlink", markers = {block:"M5,0 0,2.5 5,5z", classic:"M5,0 0,2.5 5,5 3.5,3 3.5,2z", diamond:"M2.5,0 5,2.5 2.5,5 0,2.5z", open:"M6,1 1,3.5 6,6", oval:"M2.5,0A2.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,0z"}, markerCounter = {};
    R.toString = function() {
      return "Your browser supports SVG.\nYou are running Rapha\u00ebl " + this.version;
    };
    var $ = function(el, attr) {
      if (attr) {
        if (typeof el == "string") {
          el = $(el);
        }
        for (var key in attr) {
          if (attr[has](key)) {
            if (key.substring(0, 6) == "xlink:") {
              el.setAttributeNS(xlink, key.substring(6), Str(attr[key]));
            } else {
              el.setAttribute(key, Str(attr[key]));
            }
          }
        }
      } else {
        el = R._g.doc.createElementNS("http://www.w3.org/2000/svg", el);
        el.style && (el.style.webkitTapHighlightColor = "rgba(0,0,0,0)");
      }
      return el;
    }, addGradientFill = function(element, gradient) {
      var type = "linear", id = element.id + gradient, fx = 0.5, fy = 0.5, o = element.node, SVG = element.paper, s = o.style, el = R._g.doc.getElementById(id);
      if (!el) {
        gradient = Str(gradient).replace(R._radial_gradient, function(all, _fx, _fy) {
          type = "radial";
          if (_fx && _fy) {
            fx = toFloat(_fx);
            fy = toFloat(_fy);
            var dir = (fy > 0.5) * 2 - 1;
            pow(fx - 0.5, 2) + pow(fy - 0.5, 2) > 0.25 && ((fy = math.sqrt(0.25 - pow(fx - 0.5, 2)) * dir + 0.5) && (fy != 0.5 && (fy = fy.toFixed(5) - 1E-5 * dir)));
          }
          return E;
        });
        gradient = gradient.split(/\s*\-\s*/);
        if (type == "linear") {
          var angle = gradient.shift();
          angle = -toFloat(angle);
          if (isNaN(angle)) {
            return null;
          }
          var vector = [0, 0, math.cos(R.rad(angle)), math.sin(R.rad(angle))], max = 1 / (mmax(abs(vector[2]), abs(vector[3])) || 1);
          vector[2] *= max;
          vector[3] *= max;
          if (vector[2] < 0) {
            vector[0] = -vector[2];
            vector[2] = 0;
          }
          if (vector[3] < 0) {
            vector[1] = -vector[3];
            vector[3] = 0;
          }
        }
        var dots = R._parseDots(gradient);
        if (!dots) {
          return null;
        }
        id = id.replace(/[\(\)\s,\xb0#]/g, "_");
        if (element.gradient && id != element.gradient.id) {
          SVG.defs.removeChild(element.gradient);
          delete element.gradient;
        }
        if (!element.gradient) {
          el = $(type + "Gradient", {id:id});
          element.gradient = el;
          $(el, type == "radial" ? {fx:fx, fy:fy} : {x1:vector[0], y1:vector[1], x2:vector[2], y2:vector[3], gradientTransform:element.matrix.invert()});
          SVG.defs.appendChild(el);
          for (var i = 0, ii = dots.length;i < ii;i++) {
            el.appendChild($("stop", {offset:dots[i].offset ? dots[i].offset : i ? "100%" : "0%", "stop-color":dots[i].color || "#fff"}));
          }
        }
      }
      $(o, {fill:"url(#" + id + ")", opacity:1, "fill-opacity":1});
      s.fill = E;
      s.opacity = 1;
      s.fillOpacity = 1;
      return 1;
    }, updatePosition = function(o) {
      var bbox = o.getBBox(1);
      $(o.pattern, {patternTransform:o.matrix.invert() + " translate(" + bbox.x + "," + bbox.y + ")"});
    }, addArrow = function(o, value, isEnd) {
      if (o.type == "path") {
        var values = Str(value).toLowerCase().split("-"), p = o.paper, se = isEnd ? "end" : "start", node = o.node, attrs = o.attrs, stroke = attrs["stroke-width"], i = values.length, type = "classic", from, to, dx, refX, attr, w = 3, h = 3, t = 5;
        while (i--) {
          switch(values[i]) {
            case "block":
            ;
            case "classic":
            ;
            case "oval":
            ;
            case "diamond":
            ;
            case "open":
            ;
            case "none":
              type = values[i];
              break;
            case "wide":
              h = 5;
              break;
            case "narrow":
              h = 2;
              break;
            case "long":
              w = 5;
              break;
            case "short":
              w = 2;
              break;
          }
        }
        if (type == "open") {
          w += 2;
          h += 2;
          t += 2;
          dx = 1;
          refX = isEnd ? 4 : 1;
          attr = {fill:"none", stroke:attrs.stroke};
        } else {
          refX = dx = w / 2;
          attr = {fill:attrs.stroke, stroke:"none"};
        }
        if (o._.arrows) {
          if (isEnd) {
            o._.arrows.endPath && markerCounter[o._.arrows.endPath]--;
            o._.arrows.endMarker && markerCounter[o._.arrows.endMarker]--;
          } else {
            o._.arrows.startPath && markerCounter[o._.arrows.startPath]--;
            o._.arrows.startMarker && markerCounter[o._.arrows.startMarker]--;
          }
        } else {
          o._.arrows = {};
        }
        if (type != "none") {
          var pathId = "raphael-marker-" + type, markerId = "raphael-marker-" + se + type + w + h;
          if (!R._g.doc.getElementById(pathId)) {
            p.defs.appendChild($($("path"), {"stroke-linecap":"round", d:markers[type], id:pathId}));
            markerCounter[pathId] = 1;
          } else {
            markerCounter[pathId]++;
          }
          var marker = R._g.doc.getElementById(markerId), use;
          if (!marker) {
            marker = $($("marker"), {id:markerId, markerHeight:h, markerWidth:w, orient:"auto", refX:refX, refY:h / 2});
            use = $($("use"), {"xlink:href":"#" + pathId, transform:(isEnd ? "rotate(180 " + w / 2 + " " + h / 2 + ") " : E) + "scale(" + w / t + "," + h / t + ")", "stroke-width":(1 / ((w / t + h / t) / 2)).toFixed(4)});
            marker.appendChild(use);
            p.defs.appendChild(marker);
            markerCounter[markerId] = 1;
          } else {
            markerCounter[markerId]++;
            use = marker.getElementsByTagName("use")[0];
          }
          $(use, attr);
          var delta = dx * (type != "diamond" && type != "oval");
          if (isEnd) {
            from = o._.arrows.startdx * stroke || 0;
            to = R.getTotalLength(attrs.path) - delta * stroke;
          } else {
            from = delta * stroke;
            to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);
          }
          attr = {};
          attr["marker-" + se] = "url(#" + markerId + ")";
          if (to || from) {
            attr.d = R.getSubpath(attrs.path, from, to);
          }
          $(node, attr);
          o._.arrows[se + "Path"] = pathId;
          o._.arrows[se + "Marker"] = markerId;
          o._.arrows[se + "dx"] = delta;
          o._.arrows[se + "Type"] = type;
          o._.arrows[se + "String"] = value;
        } else {
          if (isEnd) {
            from = o._.arrows.startdx * stroke || 0;
            to = R.getTotalLength(attrs.path) - from;
          } else {
            from = 0;
            to = R.getTotalLength(attrs.path) - (o._.arrows.enddx * stroke || 0);
          }
          o._.arrows[se + "Path"] && $(node, {d:R.getSubpath(attrs.path, from, to)});
          delete o._.arrows[se + "Path"];
          delete o._.arrows[se + "Marker"];
          delete o._.arrows[se + "dx"];
          delete o._.arrows[se + "Type"];
          delete o._.arrows[se + "String"];
        }
        for (attr in markerCounter) {
          if (markerCounter[has](attr) && !markerCounter[attr]) {
            var item = R._g.doc.getElementById(attr);
            item && item.parentNode.removeChild(item);
          }
        }
      }
    }, dasharray = {"":[0], "none":[0], "-":[3, 1], ".":[1, 1], "-.":[3, 1, 1, 1], "-..":[3, 1, 1, 1, 1, 1], ". ":[1, 3], "- ":[4, 3], "--":[8, 3], "- .":[4, 3, 1, 3], "--.":[8, 3, 1, 3], "--..":[8, 3, 1, 3, 1, 3]}, addDashes = function(o, value, params) {
      value = dasharray[Str(value).toLowerCase()];
      if (value) {
        var width = o.attrs["stroke-width"] || "1", butt = {round:width, square:width, butt:0}[o.attrs["stroke-linecap"] || params["stroke-linecap"]] || 0, dashes = [], i = value.length;
        while (i--) {
          dashes[i] = value[i] * width + (i % 2 ? 1 : -1) * butt;
        }
        $(o.node, {"stroke-dasharray":dashes.join(",")});
      }
    }, setFillAndStroke = function(o, params) {
      var node = o.node, attrs = o.attrs, vis = node.style.visibility;
      node.style.visibility = "hidden";
      for (var att in params) {
        if (params[has](att)) {
          if (!R._availableAttrs[has](att)) {
            continue;
          }
          var value = params[att];
          attrs[att] = value;
          switch(att) {
            case "blur":
              o.blur(value);
              break;
            case "title":
              var title = node.getElementsByTagName("title");
              if (title.length && (title = title[0])) {
                title.firstChild.nodeValue = value;
              } else {
                title = $("title");
                var val = R._g.doc.createTextNode(value);
                title.appendChild(val);
                node.appendChild(title);
              }
              break;
            case "href":
            ;
            case "target":
              var pn = node.parentNode;
              if (pn.tagName.toLowerCase() != "a") {
                var hl = $("a");
                pn.insertBefore(hl, node);
                hl.appendChild(node);
                pn = hl;
              }
              if (att == "target") {
                pn.setAttributeNS(xlink, "show", value == "blank" ? "new" : value);
              } else {
                pn.setAttributeNS(xlink, att, value);
              }
              break;
            case "cursor":
              node.style.cursor = value;
              break;
            case "transform":
              o.transform(value);
              break;
            case "arrow-start":
              addArrow(o, value);
              break;
            case "arrow-end":
              addArrow(o, value, 1);
              break;
            case "clip-rect":
              var rect = Str(value).split(separator);
              if (rect.length == 4) {
                o.clip && o.clip.parentNode.parentNode.removeChild(o.clip.parentNode);
                var el = $("clipPath"), rc = $("rect");
                el.id = R.createUUID();
                $(rc, {x:rect[0], y:rect[1], width:rect[2], height:rect[3]});
                el.appendChild(rc);
                o.paper.defs.appendChild(el);
                $(node, {"clip-path":"url(#" + el.id + ")"});
                o.clip = rc;
              }
              if (!value) {
                var path = node.getAttribute("clip-path");
                if (path) {
                  var clip = R._g.doc.getElementById(path.replace(/(^url\(#|\)$)/g, E));
                  clip && clip.parentNode.removeChild(clip);
                  $(node, {"clip-path":E});
                  delete o.clip;
                }
              }
              break;
            case "path":
              if (o.type == "path") {
                $(node, {d:value ? attrs.path = R._pathToAbsolute(value) : "M0,0"});
                o._.dirty = 1;
                if (o._.arrows) {
                  "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                  "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
                }
              }
              break;
            case "width":
              node.setAttribute(att, value);
              o._.dirty = 1;
              if (attrs.fx) {
                att = "x";
                value = attrs.x;
              } else {
                break;
              }
            ;
            case "x":
              if (attrs.fx) {
                value = -attrs.x - (attrs.width || 0);
              }
            ;
            case "rx":
              if (att == "rx" && o.type == "rect") {
                break;
              }
            ;
            case "cx":
              node.setAttribute(att, value);
              o.pattern && updatePosition(o);
              o._.dirty = 1;
              break;
            case "height":
              node.setAttribute(att, value);
              o._.dirty = 1;
              if (attrs.fy) {
                att = "y";
                value = attrs.y;
              } else {
                break;
              }
            ;
            case "y":
              if (attrs.fy) {
                value = -attrs.y - (attrs.height || 0);
              }
            ;
            case "ry":
              if (att == "ry" && o.type == "rect") {
                break;
              }
            ;
            case "cy":
              node.setAttribute(att, value);
              o.pattern && updatePosition(o);
              o._.dirty = 1;
              break;
            case "r":
              if (o.type == "rect") {
                $(node, {rx:value, ry:value});
              } else {
                node.setAttribute(att, value);
              }
              o._.dirty = 1;
              break;
            case "src":
              if (o.type == "image") {
                node.setAttributeNS(xlink, "href", value);
              }
              break;
            case "stroke-width":
              if (o._.sx != 1 || o._.sy != 1) {
                value /= mmax(abs(o._.sx), abs(o._.sy)) || 1;
              }
              if (o.paper._vbSize) {
                value *= o.paper._vbSize;
              }
              node.setAttribute(att, value);
              if (attrs["stroke-dasharray"]) {
                addDashes(o, attrs["stroke-dasharray"], params);
              }
              if (o._.arrows) {
                "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
              }
              break;
            case "stroke-dasharray":
              addDashes(o, value, params);
              break;
            case "fill":
              var isURL = Str(value).match(R._ISURL);
              if (isURL) {
                el = $("pattern");
                var ig = $("image");
                el.id = R.createUUID();
                $(el, {x:0, y:0, patternUnits:"userSpaceOnUse", height:1, width:1});
                $(ig, {x:0, y:0, "xlink:href":isURL[1]});
                el.appendChild(ig);
                (function(el) {
                  R._preload(isURL[1], function() {
                    var w = this.offsetWidth, h = this.offsetHeight;
                    $(el, {width:w, height:h});
                    $(ig, {width:w, height:h});
                    o.paper.safari();
                  });
                })(el);
                o.paper.defs.appendChild(el);
                $(node, {fill:"url(#" + el.id + ")"});
                o.pattern = el;
                o.pattern && updatePosition(o);
                break;
              }
              var clr = R.getRGB(value);
              if (!clr.error) {
                delete params.gradient;
                delete attrs.gradient;
                !R.is(attrs.opacity, "undefined") && (R.is(params.opacity, "undefined") && $(node, {opacity:attrs.opacity}));
                !R.is(attrs["fill-opacity"], "undefined") && (R.is(params["fill-opacity"], "undefined") && $(node, {"fill-opacity":attrs["fill-opacity"]}));
              } else {
                if ((o.type == "circle" || (o.type == "ellipse" || Str(value).charAt() != "r")) && addGradientFill(o, value)) {
                  if ("opacity" in attrs || "fill-opacity" in attrs) {
                    var gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
                    if (gradient) {
                      var stops = gradient.getElementsByTagName("stop");
                      $(stops[stops.length - 1], {"stop-opacity":("opacity" in attrs ? attrs.opacity : 1) * ("fill-opacity" in attrs ? attrs["fill-opacity"] : 1)});
                    }
                  }
                  attrs.gradient = value;
                  attrs.fill = "none";
                  break;
                }
              }
              clr[has]("opacity") && $(node, {"fill-opacity":clr.opacity > 1 ? clr.opacity / 100 : clr.opacity});
            case "stroke":
              clr = R.getRGB(value);
              node.setAttribute(att, clr.hex);
              att == "stroke" && (clr[has]("opacity") && $(node, {"stroke-opacity":clr.opacity > 1 ? clr.opacity / 100 : clr.opacity}));
              if (att == "stroke" && o._.arrows) {
                "startString" in o._.arrows && addArrow(o, o._.arrows.startString);
                "endString" in o._.arrows && addArrow(o, o._.arrows.endString, 1);
              }
              break;
            case "gradient":
              (o.type == "circle" || (o.type == "ellipse" || Str(value).charAt() != "r")) && addGradientFill(o, value);
              break;
            case "opacity":
              if (attrs.gradient && !attrs[has]("stroke-opacity")) {
                $(node, {"stroke-opacity":value > 1 ? value / 100 : value});
              }
            ;
            case "fill-opacity":
              if (attrs.gradient) {
                gradient = R._g.doc.getElementById(node.getAttribute("fill").replace(/^url\(#|\)$/g, E));
                if (gradient) {
                  stops = gradient.getElementsByTagName("stop");
                  $(stops[stops.length - 1], {"stop-opacity":value});
                }
                break;
              }
            ;
            default:
              att == "font-size" && (value = toInt(value, 10) + "px");
              var cssrule = att.replace(/(\-.)/g, function(w) {
                return w.substring(1).toUpperCase();
              });
              node.style[cssrule] = value;
              o._.dirty = 1;
              node.setAttribute(att, value);
              break;
          }
        }
      }
      tuneText(o, params);
      node.style.visibility = vis;
    }, leading = 1.2, tuneText = function(el, params) {
      if (el.type != "text" || !(params[has]("text") || (params[has]("font") || (params[has]("font-size") || (params[has]("x") || params[has]("y")))))) {
        return;
      }
      var a = el.attrs, node = el.node, fontSize = node.firstChild ? toInt(R._g.doc.defaultView.getComputedStyle(node.firstChild, E).getPropertyValue("font-size"), 10) : 10;
      if (params[has]("text")) {
        a.text = params.text;
        while (node.firstChild) {
          node.removeChild(node.firstChild);
        }
        var texts = Str(params.text).split("\n"), tspans = [], tspan;
        for (var i = 0, ii = texts.length;i < ii;i++) {
          tspan = $("tspan");
          i && $(tspan, {dy:fontSize * leading, x:a.x});
          tspan.appendChild(R._g.doc.createTextNode(texts[i]));
          node.appendChild(tspan);
          tspans[i] = tspan;
        }
      } else {
        tspans = node.getElementsByTagName("tspan");
        for (i = 0, ii = tspans.length;i < ii;i++) {
          if (i) {
            $(tspans[i], {dy:fontSize * leading, x:a.x});
          } else {
            $(tspans[0], {dy:0});
          }
        }
      }
      $(node, {x:a.x, y:a.y});
      el._.dirty = 1;
      var bb = el._getBBox(), dif = a.y - (bb.y + bb.height / 2);
      dif && (R.is(dif, "finite") && $(tspans[0], {dy:dif}));
    }, Element = function(node, svg) {
      var X = 0, Y = 0;
      this[0] = this.node = node;
      node.raphael = true;
      this.id = R._oid++;
      node.raphaelid = this.id;
      this.matrix = R.matrix();
      this.realPath = null;
      this.paper = svg;
      this.attrs = this.attrs || {};
      this._ = {transform:[], sx:1, sy:1, deg:0, dx:0, dy:0, dirty:1};
      !svg.bottom && (svg.bottom = this);
      this.prev = svg.top;
      svg.top && (svg.top.next = this);
      svg.top = this;
      this.next = null;
    }, elproto = R.el;
    Element.prototype = elproto;
    elproto.constructor = Element;
    R._engine.path = function(pathString, SVG) {
      var el = $("path");
      SVG.canvas && SVG.canvas.appendChild(el);
      var p = new Element(el, SVG);
      p.type = "path";
      setFillAndStroke(p, {fill:"none", stroke:"#000", path:pathString});
      return p;
    };
    elproto.rotate = function(deg, cx, cy) {
      if (this.removed) {
        return this;
      }
      deg = Str(deg).split(separator);
      if (deg.length - 1) {
        cx = toFloat(deg[1]);
        cy = toFloat(deg[2]);
      }
      deg = toFloat(deg[0]);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1);
        cx = bbox.x + bbox.width / 2;
        cy = bbox.y + bbox.height / 2;
      }
      this.transform(this._.transform.concat([["r", deg, cx, cy]]));
      return this;
    };
    elproto.scale = function(sx, sy, cx, cy) {
      if (this.removed) {
        return this;
      }
      sx = Str(sx).split(separator);
      if (sx.length - 1) {
        sy = toFloat(sx[1]);
        cx = toFloat(sx[2]);
        cy = toFloat(sx[3]);
      }
      sx = toFloat(sx[0]);
      sy == null && (sy = sx);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1)
      }
      cx = cx == null ? bbox.x + bbox.width / 2 : cx;
      cy = cy == null ? bbox.y + bbox.height / 2 : cy;
      this.transform(this._.transform.concat([["s", sx, sy, cx, cy]]));
      return this;
    };
    elproto.translate = function(dx, dy) {
      if (this.removed) {
        return this;
      }
      dx = Str(dx).split(separator);
      if (dx.length - 1) {
        dy = toFloat(dx[1]);
      }
      dx = toFloat(dx[0]) || 0;
      dy = +dy || 0;
      this.transform(this._.transform.concat([["t", dx, dy]]));
      return this;
    };
    elproto.transform = function(tstr) {
      var _ = this._;
      if (tstr == null) {
        return _.transform;
      }
      R._extractTransform(this, tstr);
      this.clip && $(this.clip, {transform:this.matrix.invert()});
      this.pattern && updatePosition(this);
      this.node && $(this.node, {transform:this.matrix});
      if (_.sx != 1 || _.sy != 1) {
        var sw = this.attrs[has]("stroke-width") ? this.attrs["stroke-width"] : 1;
        this.attr({"stroke-width":sw});
      }
      return this;
    };
    elproto.hide = function() {
      !this.removed && this.paper.safari(this.node.style.display = "none");
      return this;
    };
    elproto.show = function() {
      !this.removed && this.paper.safari(this.node.style.display = "");
      return this;
    };
    elproto.remove = function() {
      if (this.removed || !this.node.parentNode) {
        return;
      }
      var paper = this.paper;
      paper.__set__ && paper.__set__.exclude(this);
      eve.unbind("raphael.*.*." + this.id);
      if (this.gradient) {
        paper.defs.removeChild(this.gradient);
      }
      R._tear(this, paper);
      if (this.node.parentNode.tagName.toLowerCase() == "a") {
        this.node.parentNode.parentNode.removeChild(this.node.parentNode);
      } else {
        this.node.parentNode.removeChild(this.node);
      }
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      this.removed = true;
    };
    elproto._getBBox = function() {
      if (this.node.style.display == "none") {
        this.show();
        var hide = true;
      }
      var bbox = {};
      try {
        bbox = this.node.getBBox();
      } catch (e) {
      } finally {
        bbox = bbox || {};
      }
      hide && this.hide();
      return bbox;
    };
    elproto.attr = function(name, value) {
      if (this.removed) {
        return this;
      }
      if (name == null) {
        var res = {};
        for (var a in this.attrs) {
          if (this.attrs[has](a)) {
            res[a] = this.attrs[a];
          }
        }
        res.gradient && (res.fill == "none" && ((res.fill = res.gradient) && delete res.gradient));
        res.transform = this._.transform;
        return res;
      }
      if (value == null && R.is(name, "string")) {
        if (name == "fill" && (this.attrs.fill == "none" && this.attrs.gradient)) {
          return this.attrs.gradient;
        }
        if (name == "transform") {
          return this._.transform;
        }
        var names = name.split(separator), out = {};
        for (var i = 0, ii = names.length;i < ii;i++) {
          name = names[i];
          if (name in this.attrs) {
            out[name] = this.attrs[name];
          } else {
            if (R.is(this.paper.customAttributes[name], "function")) {
              out[name] = this.paper.customAttributes[name].def;
            } else {
              out[name] = R._availableAttrs[name];
            }
          }
        }
        return ii - 1 ? out : out[names[0]];
      }
      if (value == null && R.is(name, "array")) {
        out = {};
        for (i = 0, ii = name.length;i < ii;i++) {
          out[name[i]] = this.attr(name[i]);
        }
        return out;
      }
      if (value != null) {
        var params = {};
        params[name] = value;
      } else {
        if (name != null && R.is(name, "object")) {
          params = name;
        }
      }
      for (var key in params) {
        eve("raphael.attr." + key + "." + this.id, this, params[key]);
      }
      for (key in this.paper.customAttributes) {
        if (this.paper.customAttributes[has](key) && (params[has](key) && R.is(this.paper.customAttributes[key], "function"))) {
          var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));
          this.attrs[key] = params[key];
          for (var subkey in par) {
            if (par[has](subkey)) {
              params[subkey] = par[subkey];
            }
          }
        }
      }
      setFillAndStroke(this, params);
      return this;
    };
    elproto.toFront = function() {
      if (this.removed) {
        return this;
      }
      if (this.node.parentNode.tagName.toLowerCase() == "a") {
        this.node.parentNode.parentNode.appendChild(this.node.parentNode);
      } else {
        this.node.parentNode.appendChild(this.node);
      }
      var svg = this.paper;
      svg.top != this && R._tofront(this, svg);
      return this;
    };
    elproto.toBack = function() {
      if (this.removed) {
        return this;
      }
      var parent = this.node.parentNode;
      if (parent.tagName.toLowerCase() == "a") {
        parent.parentNode.insertBefore(this.node.parentNode, this.node.parentNode.parentNode.firstChild);
      } else {
        if (parent.firstChild != this.node) {
          parent.insertBefore(this.node, this.node.parentNode.firstChild);
        }
      }
      R._toback(this, this.paper);
      var svg = this.paper;
      return this;
    };
    elproto.insertAfter = function(element) {
      if (this.removed) {
        return this;
      }
      var node = element.node || element[element.length - 1].node;
      if (node.nextSibling) {
        node.parentNode.insertBefore(this.node, node.nextSibling);
      } else {
        node.parentNode.appendChild(this.node);
      }
      R._insertafter(this, element, this.paper);
      return this;
    };
    elproto.insertBefore = function(element) {
      if (this.removed) {
        return this;
      }
      var node = element.node || element[0].node;
      node.parentNode.insertBefore(this.node, node);
      R._insertbefore(this, element, this.paper);
      return this;
    };
    elproto.blur = function(size) {
      var t = this;
      if (+size !== 0) {
        var fltr = $("filter"), blur = $("feGaussianBlur");
        t.attrs.blur = size;
        fltr.id = R.createUUID();
        $(blur, {stdDeviation:+size || 1.5});
        fltr.appendChild(blur);
        t.paper.defs.appendChild(fltr);
        t._blur = fltr;
        $(t.node, {filter:"url(#" + fltr.id + ")"});
      } else {
        if (t._blur) {
          t._blur.parentNode.removeChild(t._blur);
          delete t._blur;
          delete t.attrs.blur;
        }
        t.node.removeAttribute("filter");
      }
      return t;
    };
    R._engine.circle = function(svg, x, y, r) {
      var el = $("circle");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {cx:x, cy:y, r:r, fill:"none", stroke:"#000"};
      res.type = "circle";
      $(el, res.attrs);
      return res;
    };
    R._engine.rect = function(svg, x, y, w, h, r) {
      var el = $("rect");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, width:w, height:h, r:r || 0, rx:r || 0, ry:r || 0, fill:"none", stroke:"#000"};
      res.type = "rect";
      $(el, res.attrs);
      return res;
    };
    R._engine.ellipse = function(svg, x, y, rx, ry) {
      var el = $("ellipse");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {cx:x, cy:y, rx:rx, ry:ry, fill:"none", stroke:"#000"};
      res.type = "ellipse";
      $(el, res.attrs);
      return res;
    };
    R._engine.image = function(svg, src, x, y, w, h) {
      var el = $("image");
      $(el, {x:x, y:y, width:w, height:h, preserveAspectRatio:"none"});
      el.setAttributeNS(xlink, "href", src);
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, width:w, height:h, src:src};
      res.type = "image";
      return res;
    };
    R._engine.text = function(svg, x, y, text) {
      var el = $("text");
      svg.canvas && svg.canvas.appendChild(el);
      var res = new Element(el, svg);
      res.attrs = {x:x, y:y, "text-anchor":"middle", text:text, font:R._availableAttrs.font, stroke:"none", fill:"#000"};
      res.type = "text";
      setFillAndStroke(res, res.attrs);
      return res;
    };
    R._engine.setSize = function(width, height) {
      this.width = width || this.width;
      this.height = height || this.height;
      this.canvas.setAttribute("width", this.width);
      this.canvas.setAttribute("height", this.height);
      if (this._viewBox) {
        this.setViewBox.apply(this, this._viewBox);
      }
      return this;
    };
    R._engine.create = function() {
      var con = R._getContainer.apply(0, arguments), container = con && con.container, x = con.x, y = con.y, width = con.width, height = con.height;
      if (!container) {
        throw new Error("SVG container not found.");
      }
      var cnvs = $("svg"), css = "overflow:hidden;", isFloating;
      x = x || 0;
      y = y || 0;
      width = width || 512;
      height = height || 342;
      $(cnvs, {height:height, version:1.1, width:width, xmlns:"http://www.w3.org/2000/svg"});
      if (container == 1) {
        cnvs.style.cssText = css + "position:absolute;left:" + x + "px;top:" + y + "px";
        R._g.doc.body.appendChild(cnvs);
        isFloating = 1;
      } else {
        cnvs.style.cssText = css + "position:relative";
        if (container.firstChild) {
          container.insertBefore(cnvs, container.firstChild);
        } else {
          container.appendChild(cnvs);
        }
      }
      container = new R._Paper;
      container.width = width;
      container.height = height;
      container.canvas = cnvs;
      container.clear();
      container._left = container._top = 0;
      isFloating && (container.renderfix = function() {
      });
      container.renderfix();
      return container;
    };
    R._engine.setViewBox = function(x, y, w, h, fit) {
      eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
      var size = mmax(w / this.width, h / this.height), top = this.top, aspectRatio = fit ? "meet" : "xMinYMin", vb, sw;
      if (x == null) {
        if (this._vbSize) {
          size = 1;
        }
        delete this._vbSize;
        vb = "0 0 " + this.width + S + this.height;
      } else {
        this._vbSize = size;
        vb = x + S + y + S + w + S + h;
      }
      $(this.canvas, {viewBox:vb, preserveAspectRatio:aspectRatio});
      while (size && top) {
        sw = "stroke-width" in top.attrs ? top.attrs["stroke-width"] : 1;
        top.attr({"stroke-width":sw});
        top._.dirty = 1;
        top._.dirtyT = 1;
        top = top.prev;
      }
      this._viewBox = [x, y, w, h, !!fit];
      return this;
    };
    R.prototype.renderfix = function() {
      var cnvs = this.canvas, s = cnvs.style, pos;
      try {
        pos = cnvs.getScreenCTM() || cnvs.createSVGMatrix();
      } catch (e) {
        pos = cnvs.createSVGMatrix();
      }
      var left = -pos.e % 1, top = -pos.f % 1;
      if (left || top) {
        if (left) {
          this._left = (this._left + left) % 1;
          s.left = this._left + "px";
        }
        if (top) {
          this._top = (this._top + top) % 1;
          s.top = this._top + "px";
        }
      }
    };
    R.prototype.clear = function() {
      R.eve("raphael.clear", this);
      var c = this.canvas;
      while (c.firstChild) {
        c.removeChild(c.firstChild);
      }
      this.bottom = this.top = null;
      (this.desc = $("desc")).appendChild(R._g.doc.createTextNode("Created with Rapha\u00ebl " + R.version));
      c.appendChild(this.desc);
      c.appendChild(this.defs = $("defs"));
    };
    R.prototype.remove = function() {
      eve("raphael.remove", this);
      this.canvas.parentNode && this.canvas.parentNode.removeChild(this.canvas);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
    };
    var setproto = R.st;
    for (var method in elproto) {
      if (elproto[has](method) && !setproto[has](method)) {
        setproto[method] = function(methodname) {
          return function() {
            var arg = arguments;
            return this.forEach(function(el) {
              el[methodname].apply(el, arg);
            });
          };
        }(method);
      }
    }
  })();
  (function() {
    if (!R.vml) {
      return;
    }
    var has = "hasOwnProperty", Str = String, toFloat = parseFloat, math = Math, round = math.round, mmax = math.max, mmin = math.min, abs = math.abs, fillString = "fill", separator = /[, ]+/, eve = R.eve, ms = " progid:DXImageTransform.Microsoft", S = " ", E = "", map = {M:"m", L:"l", C:"c", Z:"x", m:"t", l:"r", c:"v", z:"x"}, bites = /([clmz]),?([^clmz]*)/gi, blurregexp = / progid:\S+Blur\([^\)]+\)/g, val = /-?[^,\s-]+/g, cssDot = "position:absolute;left:0;top:0;width:1px;height:1px", zoom = 21600, 
    pathTypes = {path:1, rect:1, image:1}, ovalTypes = {circle:1, ellipse:1}, path2vml = function(path) {
      var total = /[ahqstv]/ig, command = R._pathToAbsolute;
      Str(path).match(total) && (command = R._path2curve);
      total = /[clmz]/g;
      if (command == R._pathToAbsolute && !Str(path).match(total)) {
        var res = Str(path).replace(bites, function(all, command, args) {
          var vals = [], isMove = command.toLowerCase() == "m", res = map[command];
          args.replace(val, function(value) {
            if (isMove && vals.length == 2) {
              res += vals + map[command == "m" ? "l" : "L"];
              vals = [];
            }
            vals.push(round(value * zoom));
          });
          return res + vals;
        });
        return res;
      }
      var pa = command(path), p, r;
      res = [];
      for (var i = 0, ii = pa.length;i < ii;i++) {
        p = pa[i];
        r = pa[i][0].toLowerCase();
        r == "z" && (r = "x");
        for (var j = 1, jj = p.length;j < jj;j++) {
          r += round(p[j] * zoom) + (j != jj - 1 ? "," : E);
        }
        res.push(r);
      }
      return res.join(S);
    }, compensation = function(deg, dx, dy) {
      var m = R.matrix();
      m.rotate(-deg, 0.5, 0.5);
      return{dx:m.x(dx, dy), dy:m.y(dx, dy)};
    }, setCoords = function(p, sx, sy, dx, dy, deg) {
      var _ = p._, m = p.matrix, fillpos = _.fillpos, o = p.node, s = o.style, y = 1, flip = "", dxdy, kx = zoom / sx, ky = zoom / sy;
      s.visibility = "hidden";
      if (!sx || !sy) {
        return;
      }
      o.coordsize = abs(kx) + S + abs(ky);
      s.rotation = deg * (sx * sy < 0 ? -1 : 1);
      if (deg) {
        var c = compensation(deg, dx, dy);
        dx = c.dx;
        dy = c.dy;
      }
      sx < 0 && (flip += "x");
      sy < 0 && ((flip += " y") && (y = -1));
      s.flip = flip;
      o.coordorigin = dx * -kx + S + dy * -ky;
      if (fillpos || _.fillsize) {
        var fill = o.getElementsByTagName(fillString);
        fill = fill && fill[0];
        o.removeChild(fill);
        if (fillpos) {
          c = compensation(deg, m.x(fillpos[0], fillpos[1]), m.y(fillpos[0], fillpos[1]));
          fill.position = c.dx * y + S + c.dy * y;
        }
        if (_.fillsize) {
          fill.size = _.fillsize[0] * abs(sx) + S + _.fillsize[1] * abs(sy);
        }
        o.appendChild(fill);
      }
      s.visibility = "visible";
    };
    R.toString = function() {
      return "Your browser doesn\u2019t support SVG. Falling down to VML.\nYou are running Rapha\u00ebl " + this.version;
    };
    var addArrow = function(o, value, isEnd) {
      var values = Str(value).toLowerCase().split("-"), se = isEnd ? "end" : "start", i = values.length, type = "classic", w = "medium", h = "medium";
      while (i--) {
        switch(values[i]) {
          case "block":
          ;
          case "classic":
          ;
          case "oval":
          ;
          case "diamond":
          ;
          case "open":
          ;
          case "none":
            type = values[i];
            break;
          case "wide":
          ;
          case "narrow":
            h = values[i];
            break;
          case "long":
          ;
          case "short":
            w = values[i];
            break;
        }
      }
      var stroke = o.node.getElementsByTagName("stroke")[0];
      stroke[se + "arrow"] = type;
      stroke[se + "arrowlength"] = w;
      stroke[se + "arrowwidth"] = h;
    }, setFillAndStroke = function(o, params) {
      o.attrs = o.attrs || {};
      var node = o.node, a = o.attrs, s = node.style, xy, newpath = pathTypes[o.type] && (params.x != a.x || (params.y != a.y || (params.width != a.width || (params.height != a.height || (params.cx != a.cx || (params.cy != a.cy || (params.rx != a.rx || (params.ry != a.ry || params.r != a.r)))))))), isOval = ovalTypes[o.type] && (a.cx != params.cx || (a.cy != params.cy || (a.r != params.r || (a.rx != params.rx || a.ry != params.ry)))), res = o;
      for (var par in params) {
        if (params[has](par)) {
          a[par] = params[par];
        }
      }
      if (newpath) {
        a.path = R._getPath[o.type](o);
        o._.dirty = 1;
      }
      params.href && (node.href = params.href);
      params.title && (node.title = params.title);
      params.target && (node.target = params.target);
      params.cursor && (s.cursor = params.cursor);
      "blur" in params && o.blur(params.blur);
      if (params.path && o.type == "path" || newpath) {
        node.path = path2vml(~Str(a.path).toLowerCase().indexOf("r") ? R._pathToAbsolute(a.path) : a.path);
        if (o.type == "image") {
          o._.fillpos = [a.x, a.y];
          o._.fillsize = [a.width, a.height];
          setCoords(o, 1, 1, 0, 0, 0);
        }
      }
      "transform" in params && o.transform(params.transform);
      if (isOval) {
        var cx = +a.cx, cy = +a.cy, rx = +a.rx || (+a.r || 0), ry = +a.ry || (+a.r || 0);
        node.path = R.format("ar{0},{1},{2},{3},{4},{1},{4},{1}x", round((cx - rx) * zoom), round((cy - ry) * zoom), round((cx + rx) * zoom), round((cy + ry) * zoom), round(cx * zoom));
        o._.dirty = 1;
      }
      if ("clip-rect" in params) {
        var rect = Str(params["clip-rect"]).split(separator);
        if (rect.length == 4) {
          rect[2] = +rect[2] + +rect[0];
          rect[3] = +rect[3] + +rect[1];
          var div = node.clipRect || R._g.doc.createElement("div"), dstyle = div.style;
          dstyle.clip = R.format("rect({1}px {2}px {3}px {0}px)", rect);
          if (!node.clipRect) {
            dstyle.position = "absolute";
            dstyle.top = 0;
            dstyle.left = 0;
            dstyle.width = o.paper.width + "px";
            dstyle.height = o.paper.height + "px";
            node.parentNode.insertBefore(div, node);
            div.appendChild(node);
            node.clipRect = div;
          }
        }
        if (!params["clip-rect"]) {
          node.clipRect && (node.clipRect.style.clip = "auto");
        }
      }
      if (o.textpath) {
        var textpathStyle = o.textpath.style;
        params.font && (textpathStyle.font = params.font);
        params["font-family"] && (textpathStyle.fontFamily = '"' + params["font-family"].split(",")[0].replace(/^['"]+|['"]+$/g, E) + '"');
        params["font-size"] && (textpathStyle.fontSize = params["font-size"]);
        params["font-weight"] && (textpathStyle.fontWeight = params["font-weight"]);
        params["font-style"] && (textpathStyle.fontStyle = params["font-style"]);
      }
      if ("arrow-start" in params) {
        addArrow(res, params["arrow-start"]);
      }
      if ("arrow-end" in params) {
        addArrow(res, params["arrow-end"], 1);
      }
      if (params.opacity != null || (params["stroke-width"] != null || (params.fill != null || (params.src != null || (params.stroke != null || (params["stroke-width"] != null || (params["stroke-opacity"] != null || (params["fill-opacity"] != null || (params["stroke-dasharray"] != null || (params["stroke-miterlimit"] != null || (params["stroke-linejoin"] != null || params["stroke-linecap"] != null))))))))))) {
        var fill = node.getElementsByTagName(fillString), newfill = false;
        fill = fill && fill[0];
        !fill && (newfill = fill = createNode(fillString));
        if (o.type == "image" && params.src) {
          fill.src = params.src;
        }
        params.fill && (fill.on = true);
        if (fill.on == null || (params.fill == "none" || params.fill === null)) {
          fill.on = false;
        }
        if (fill.on && params.fill) {
          var isURL = Str(params.fill).match(R._ISURL);
          if (isURL) {
            fill.parentNode == node && node.removeChild(fill);
            fill.rotate = true;
            fill.src = isURL[1];
            fill.type = "tile";
            var bbox = o.getBBox(1);
            fill.position = bbox.x + S + bbox.y;
            o._.fillpos = [bbox.x, bbox.y];
            R._preload(isURL[1], function() {
              o._.fillsize = [this.offsetWidth, this.offsetHeight];
            });
          } else {
            fill.color = R.getRGB(params.fill).hex;
            fill.src = E;
            fill.type = "solid";
            if (R.getRGB(params.fill).error && ((res.type in {circle:1, ellipse:1} || Str(params.fill).charAt() != "r") && addGradientFill(res, params.fill, fill))) {
              a.fill = "none";
              a.gradient = params.fill;
              fill.rotate = false;
            }
          }
        }
        if ("fill-opacity" in params || "opacity" in params) {
          var opacity = ((+a["fill-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+R.getRGB(params.fill).o + 1 || 2) - 1);
          opacity = mmin(mmax(opacity, 0), 1);
          fill.opacity = opacity;
          if (fill.src) {
            fill.color = "none";
          }
        }
        node.appendChild(fill);
        var stroke = node.getElementsByTagName("stroke") && node.getElementsByTagName("stroke")[0], newstroke = false;
        !stroke && (newstroke = stroke = createNode("stroke"));
        if (params.stroke && params.stroke != "none" || (params["stroke-width"] || (params["stroke-opacity"] != null || (params["stroke-dasharray"] || (params["stroke-miterlimit"] || (params["stroke-linejoin"] || params["stroke-linecap"])))))) {
          stroke.on = true;
        }
        (params.stroke == "none" || (params.stroke === null || (stroke.on == null || (params.stroke == 0 || params["stroke-width"] == 0)))) && (stroke.on = false);
        var strokeColor = R.getRGB(params.stroke);
        stroke.on && (params.stroke && (stroke.color = strokeColor.hex));
        opacity = ((+a["stroke-opacity"] + 1 || 2) - 1) * ((+a.opacity + 1 || 2) - 1) * ((+strokeColor.o + 1 || 2) - 1);
        var width = (toFloat(params["stroke-width"]) || 1) * 0.75;
        opacity = mmin(mmax(opacity, 0), 1);
        params["stroke-width"] == null && (width = a["stroke-width"]);
        params["stroke-width"] && (stroke.weight = width);
        width && (width < 1 && ((opacity *= width) && (stroke.weight = 1)));
        stroke.opacity = opacity;
        params["stroke-linejoin"] && (stroke.joinstyle = params["stroke-linejoin"] || "miter");
        stroke.miterlimit = params["stroke-miterlimit"] || 8;
        params["stroke-linecap"] && (stroke.endcap = params["stroke-linecap"] == "butt" ? "flat" : params["stroke-linecap"] == "square" ? "square" : "round");
        if ("stroke-dasharray" in params) {
          var dasharray = {"-":"shortdash", ".":"shortdot", "-.":"shortdashdot", "-..":"shortdashdotdot", ". ":"dot", "- ":"dash", "--":"longdash", "- .":"dashdot", "--.":"longdashdot", "--..":"longdashdotdot"};
          stroke.dashstyle = dasharray[has](params["stroke-dasharray"]) ? dasharray[params["stroke-dasharray"]] : E;
        }
        newstroke && node.appendChild(stroke);
      }
      if (res.type == "text") {
        res.paper.canvas.style.display = E;
        var span = res.paper.span, m = 100, fontSize = a.font && a.font.match(/\d+(?:\.\d*)?(?=px)/);
        s = span.style;
        a.font && (s.font = a.font);
        a["font-family"] && (s.fontFamily = a["font-family"]);
        a["font-weight"] && (s.fontWeight = a["font-weight"]);
        a["font-style"] && (s.fontStyle = a["font-style"]);
        fontSize = toFloat(a["font-size"] || fontSize && fontSize[0]) || 10;
        s.fontSize = fontSize * m + "px";
        res.textpath.string && (span.innerHTML = Str(res.textpath.string).replace(/</g, "&#60;").replace(/&/g, "&#38;").replace(/\n/g, "<br>"));
        var brect = span.getBoundingClientRect();
        res.W = a.w = (brect.right - brect.left) / m;
        res.H = a.h = (brect.bottom - brect.top) / m;
        res.X = a.x;
        res.Y = a.y + res.H / 2;
        ("x" in params || "y" in params) && (res.path.v = R.format("m{0},{1}l{2},{1}", round(a.x * zoom), round(a.y * zoom), round(a.x * zoom) + 1));
        var dirtyattrs = ["x", "y", "text", "font", "font-family", "font-weight", "font-style", "font-size"];
        for (var d = 0, dd = dirtyattrs.length;d < dd;d++) {
          if (dirtyattrs[d] in params) {
            res._.dirty = 1;
            break;
          }
        }
        switch(a["text-anchor"]) {
          case "start":
            res.textpath.style["v-text-align"] = "left";
            res.bbx = res.W / 2;
            break;
          case "end":
            res.textpath.style["v-text-align"] = "right";
            res.bbx = -res.W / 2;
            break;
          default:
            res.textpath.style["v-text-align"] = "center";
            res.bbx = 0;
            break;
        }
        res.textpath.style["v-text-kern"] = true;
      }
    }, addGradientFill = function(o, gradient, fill) {
      o.attrs = o.attrs || {};
      var attrs = o.attrs, pow = Math.pow, opacity, oindex, type = "linear", fxfy = ".5 .5";
      o.attrs.gradient = gradient;
      gradient = Str(gradient).replace(R._radial_gradient, function(all, fx, fy) {
        type = "radial";
        if (fx && fy) {
          fx = toFloat(fx);
          fy = toFloat(fy);
          pow(fx - 0.5, 2) + pow(fy - 0.5, 2) > 0.25 && (fy = math.sqrt(0.25 - pow(fx - 0.5, 2)) * ((fy > 0.5) * 2 - 1) + 0.5);
          fxfy = fx + S + fy;
        }
        return E;
      });
      gradient = gradient.split(/\s*\-\s*/);
      if (type == "linear") {
        var angle = gradient.shift();
        angle = -toFloat(angle);
        if (isNaN(angle)) {
          return null;
        }
      }
      var dots = R._parseDots(gradient);
      if (!dots) {
        return null;
      }
      o = o.shape || o.node;
      if (dots.length) {
        o.removeChild(fill);
        fill.on = true;
        fill.method = "none";
        fill.color = dots[0].color;
        fill.color2 = dots[dots.length - 1].color;
        var clrs = [];
        for (var i = 0, ii = dots.length;i < ii;i++) {
          dots[i].offset && clrs.push(dots[i].offset + S + dots[i].color);
        }
        fill.colors = clrs.length ? clrs.join() : "0% " + fill.color;
        if (type == "radial") {
          fill.type = "gradientTitle";
          fill.focus = "100%";
          fill.focussize = "0 0";
          fill.focusposition = fxfy;
          fill.angle = 0;
        } else {
          fill.type = "gradient";
          fill.angle = (270 - angle) % 360;
        }
        o.appendChild(fill);
      }
      return 1;
    }, Element = function(node, vml) {
      this[0] = this.node = node;
      node.raphael = true;
      this.id = R._oid++;
      node.raphaelid = this.id;
      this.X = 0;
      this.Y = 0;
      this.attrs = {};
      this.paper = vml;
      this.matrix = R.matrix();
      this._ = {transform:[], sx:1, sy:1, dx:0, dy:0, deg:0, dirty:1, dirtyT:1};
      !vml.bottom && (vml.bottom = this);
      this.prev = vml.top;
      vml.top && (vml.top.next = this);
      vml.top = this;
      this.next = null;
    };
    var elproto = R.el;
    Element.prototype = elproto;
    elproto.constructor = Element;
    elproto.transform = function(tstr) {
      if (tstr == null) {
        return this._.transform;
      }
      var vbs = this.paper._viewBoxShift, vbt = vbs ? "s" + [vbs.scale, vbs.scale] + "-1-1t" + [vbs.dx, vbs.dy] : E, oldt;
      if (vbs) {
        oldt = tstr = Str(tstr).replace(/\.{3}|\u2026/g, this._.transform || E);
      }
      R._extractTransform(this, vbt + tstr);
      var matrix = this.matrix.clone(), skew = this.skew, o = this.node, split, isGrad = ~Str(this.attrs.fill).indexOf("-"), isPatt = !Str(this.attrs.fill).indexOf("url(");
      matrix.translate(1, 1);
      if (isPatt || (isGrad || this.type == "image")) {
        skew.matrix = "1 0 0 1";
        skew.offset = "0 0";
        split = matrix.split();
        if (isGrad && split.noRotation || !split.isSimple) {
          o.style.filter = matrix.toFilter();
          var bb = this.getBBox(), bbt = this.getBBox(1), dx = bb.x - bbt.x, dy = bb.y - bbt.y;
          o.coordorigin = dx * -zoom + S + dy * -zoom;
          setCoords(this, 1, 1, dx, dy, 0);
        } else {
          o.style.filter = E;
          setCoords(this, split.scalex, split.scaley, split.dx, split.dy, split.rotate);
        }
      } else {
        o.style.filter = E;
        skew.matrix = Str(matrix);
        skew.offset = matrix.offset();
      }
      oldt && (this._.transform = oldt);
      return this;
    };
    elproto.rotate = function(deg, cx, cy) {
      if (this.removed) {
        return this;
      }
      if (deg == null) {
        return;
      }
      deg = Str(deg).split(separator);
      if (deg.length - 1) {
        cx = toFloat(deg[1]);
        cy = toFloat(deg[2]);
      }
      deg = toFloat(deg[0]);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1);
        cx = bbox.x + bbox.width / 2;
        cy = bbox.y + bbox.height / 2;
      }
      this._.dirtyT = 1;
      this.transform(this._.transform.concat([["r", deg, cx, cy]]));
      return this;
    };
    elproto.translate = function(dx, dy) {
      if (this.removed) {
        return this;
      }
      dx = Str(dx).split(separator);
      if (dx.length - 1) {
        dy = toFloat(dx[1]);
      }
      dx = toFloat(dx[0]) || 0;
      dy = +dy || 0;
      if (this._.bbox) {
        this._.bbox.x += dx;
        this._.bbox.y += dy;
      }
      this.transform(this._.transform.concat([["t", dx, dy]]));
      return this;
    };
    elproto.scale = function(sx, sy, cx, cy) {
      if (this.removed) {
        return this;
      }
      sx = Str(sx).split(separator);
      if (sx.length - 1) {
        sy = toFloat(sx[1]);
        cx = toFloat(sx[2]);
        cy = toFloat(sx[3]);
        isNaN(cx) && (cx = null);
        isNaN(cy) && (cy = null);
      }
      sx = toFloat(sx[0]);
      sy == null && (sy = sx);
      cy == null && (cx = cy);
      if (cx == null || cy == null) {
        var bbox = this.getBBox(1)
      }
      cx = cx == null ? bbox.x + bbox.width / 2 : cx;
      cy = cy == null ? bbox.y + bbox.height / 2 : cy;
      this.transform(this._.transform.concat([["s", sx, sy, cx, cy]]));
      this._.dirtyT = 1;
      return this;
    };
    elproto.hide = function() {
      !this.removed && (this.node.style.display = "none");
      return this;
    };
    elproto.show = function() {
      !this.removed && (this.node.style.display = E);
      return this;
    };
    elproto._getBBox = function() {
      if (this.removed) {
        return{};
      }
      return{x:this.X + (this.bbx || 0) - this.W / 2, y:this.Y - this.H, width:this.W, height:this.H};
    };
    elproto.remove = function() {
      if (this.removed || !this.node.parentNode) {
        return;
      }
      this.paper.__set__ && this.paper.__set__.exclude(this);
      R.eve.unbind("raphael.*.*." + this.id);
      R._tear(this, this.paper);
      this.node.parentNode.removeChild(this.node);
      this.shape && this.shape.parentNode.removeChild(this.shape);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      this.removed = true;
    };
    elproto.attr = function(name, value) {
      if (this.removed) {
        return this;
      }
      if (name == null) {
        var res = {};
        for (var a in this.attrs) {
          if (this.attrs[has](a)) {
            res[a] = this.attrs[a];
          }
        }
        res.gradient && (res.fill == "none" && ((res.fill = res.gradient) && delete res.gradient));
        res.transform = this._.transform;
        return res;
      }
      if (value == null && R.is(name, "string")) {
        if (name == fillString && (this.attrs.fill == "none" && this.attrs.gradient)) {
          return this.attrs.gradient;
        }
        var names = name.split(separator), out = {};
        for (var i = 0, ii = names.length;i < ii;i++) {
          name = names[i];
          if (name in this.attrs) {
            out[name] = this.attrs[name];
          } else {
            if (R.is(this.paper.customAttributes[name], "function")) {
              out[name] = this.paper.customAttributes[name].def;
            } else {
              out[name] = R._availableAttrs[name];
            }
          }
        }
        return ii - 1 ? out : out[names[0]];
      }
      if (this.attrs && (value == null && R.is(name, "array"))) {
        out = {};
        for (i = 0, ii = name.length;i < ii;i++) {
          out[name[i]] = this.attr(name[i]);
        }
        return out;
      }
      var params;
      if (value != null) {
        params = {};
        params[name] = value;
      }
      value == null && (R.is(name, "object") && (params = name));
      for (var key in params) {
        eve("raphael.attr." + key + "." + this.id, this, params[key]);
      }
      if (params) {
        for (key in this.paper.customAttributes) {
          if (this.paper.customAttributes[has](key) && (params[has](key) && R.is(this.paper.customAttributes[key], "function"))) {
            var par = this.paper.customAttributes[key].apply(this, [].concat(params[key]));
            this.attrs[key] = params[key];
            for (var subkey in par) {
              if (par[has](subkey)) {
                params[subkey] = par[subkey];
              }
            }
          }
        }
        if (params.text && this.type == "text") {
          this.textpath.string = params.text;
        }
        setFillAndStroke(this, params);
      }
      return this;
    };
    elproto.toFront = function() {
      !this.removed && this.node.parentNode.appendChild(this.node);
      this.paper && (this.paper.top != this && R._tofront(this, this.paper));
      return this;
    };
    elproto.toBack = function() {
      if (this.removed) {
        return this;
      }
      if (this.node.parentNode.firstChild != this.node) {
        this.node.parentNode.insertBefore(this.node, this.node.parentNode.firstChild);
        R._toback(this, this.paper);
      }
      return this;
    };
    elproto.insertAfter = function(element) {
      if (this.removed) {
        return this;
      }
      if (element.constructor == R.st.constructor) {
        element = element[element.length - 1];
      }
      if (element.node.nextSibling) {
        element.node.parentNode.insertBefore(this.node, element.node.nextSibling);
      } else {
        element.node.parentNode.appendChild(this.node);
      }
      R._insertafter(this, element, this.paper);
      return this;
    };
    elproto.insertBefore = function(element) {
      if (this.removed) {
        return this;
      }
      if (element.constructor == R.st.constructor) {
        element = element[0];
      }
      element.node.parentNode.insertBefore(this.node, element.node);
      R._insertbefore(this, element, this.paper);
      return this;
    };
    elproto.blur = function(size) {
      var s = this.node.runtimeStyle, f = s.filter;
      f = f.replace(blurregexp, E);
      if (+size !== 0) {
        this.attrs.blur = size;
        s.filter = f + S + ms + ".Blur(pixelradius=" + (+size || 1.5) + ")";
        s.margin = R.format("-{0}px 0 0 -{0}px", round(+size || 1.5));
      } else {
        s.filter = f;
        s.margin = 0;
        delete this.attrs.blur;
      }
      return this;
    };
    R._engine.path = function(pathString, vml) {
      var el = createNode("shape");
      el.style.cssText = cssDot;
      el.coordsize = zoom + S + zoom;
      el.coordorigin = vml.coordorigin;
      var p = new Element(el, vml), attr = {fill:"none", stroke:"#000"};
      pathString && (attr.path = pathString);
      p.type = "path";
      p.path = [];
      p.Path = E;
      setFillAndStroke(p, attr);
      vml.canvas.appendChild(el);
      var skew = createNode("skew");
      skew.on = true;
      el.appendChild(skew);
      p.skew = skew;
      p.transform(E);
      return p;
    };
    R._engine.rect = function(vml, x, y, w, h, r) {
      var path = R._rectPath(x, y, w, h, r), res = vml.path(path), a = res.attrs;
      res.X = a.x = x;
      res.Y = a.y = y;
      res.W = a.width = w;
      res.H = a.height = h;
      a.r = r;
      a.path = path;
      res.type = "rect";
      return res;
    };
    R._engine.ellipse = function(vml, x, y, rx, ry) {
      var res = vml.path(), a = res.attrs;
      res.X = x - rx;
      res.Y = y - ry;
      res.W = rx * 2;
      res.H = ry * 2;
      res.type = "ellipse";
      setFillAndStroke(res, {cx:x, cy:y, rx:rx, ry:ry});
      return res;
    };
    R._engine.circle = function(vml, x, y, r) {
      var res = vml.path(), a = res.attrs;
      res.X = x - r;
      res.Y = y - r;
      res.W = res.H = r * 2;
      res.type = "circle";
      setFillAndStroke(res, {cx:x, cy:y, r:r});
      return res;
    };
    R._engine.image = function(vml, src, x, y, w, h) {
      var path = R._rectPath(x, y, w, h), res = vml.path(path).attr({stroke:"none"}), a = res.attrs, node = res.node, fill = node.getElementsByTagName(fillString)[0];
      a.src = src;
      res.X = a.x = x;
      res.Y = a.y = y;
      res.W = a.width = w;
      res.H = a.height = h;
      a.path = path;
      res.type = "image";
      fill.parentNode == node && node.removeChild(fill);
      fill.rotate = true;
      fill.src = src;
      fill.type = "tile";
      res._.fillpos = [x, y];
      res._.fillsize = [w, h];
      node.appendChild(fill);
      setCoords(res, 1, 1, 0, 0, 0);
      return res;
    };
    R._engine.text = function(vml, x, y, text) {
      var el = createNode("shape"), path = createNode("path"), o = createNode("textpath");
      x = x || 0;
      y = y || 0;
      text = text || "";
      path.v = R.format("m{0},{1}l{2},{1}", round(x * zoom), round(y * zoom), round(x * zoom) + 1);
      path.textpathok = true;
      o.string = Str(text);
      o.on = true;
      el.style.cssText = cssDot;
      el.coordsize = zoom + S + zoom;
      el.coordorigin = "0 0";
      var p = new Element(el, vml), attr = {fill:"#000", stroke:"none", font:R._availableAttrs.font, text:text};
      p.shape = el;
      p.path = path;
      p.textpath = o;
      p.type = "text";
      p.attrs.text = Str(text);
      p.attrs.x = x;
      p.attrs.y = y;
      p.attrs.w = 1;
      p.attrs.h = 1;
      setFillAndStroke(p, attr);
      el.appendChild(o);
      el.appendChild(path);
      vml.canvas.appendChild(el);
      var skew = createNode("skew");
      skew.on = true;
      el.appendChild(skew);
      p.skew = skew;
      p.transform(E);
      return p;
    };
    R._engine.setSize = function(width, height) {
      var cs = this.canvas.style;
      this.width = width;
      this.height = height;
      width == +width && (width += "px");
      height == +height && (height += "px");
      cs.width = width;
      cs.height = height;
      cs.clip = "rect(0 " + width + " " + height + " 0)";
      if (this._viewBox) {
        R._engine.setViewBox.apply(this, this._viewBox);
      }
      return this;
    };
    R._engine.setViewBox = function(x, y, w, h, fit) {
      R.eve("raphael.setViewBox", this, this._viewBox, [x, y, w, h, fit]);
      var width = this.width, height = this.height, size = 1 / mmax(w / width, h / height), H, W;
      if (fit) {
        H = height / h;
        W = width / w;
        if (w * H < width) {
          x -= (width - w * H) / 2 / H;
        }
        if (h * W < height) {
          y -= (height - h * W) / 2 / W;
        }
      }
      this._viewBox = [x, y, w, h, !!fit];
      this._viewBoxShift = {dx:-x, dy:-y, scale:size};
      this.forEach(function(el) {
        el.transform("...");
      });
      return this;
    };
    var createNode;
    R._engine.initWin = function(win) {
      var doc = win.document;
      doc.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)");
      try {
        !doc.namespaces.rvml && doc.namespaces.add("rvml", "urn:schemas-microsoft-com:vml");
        createNode = function(tagName) {
          return doc.createElement("<rvml:" + tagName + ' class="rvml">');
        };
      } catch (e) {
        createNode = function(tagName) {
          return doc.createElement("<" + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">');
        };
      }
    };
    R._engine.initWin(R._g.win);
    R._engine.create = function() {
      var con = R._getContainer.apply(0, arguments), container = con.container, height = con.height, s, width = con.width, x = con.x, y = con.y;
      if (!container) {
        throw new Error("VML container not found.");
      }
      var res = new R._Paper, c = res.canvas = R._g.doc.createElement("div"), cs = c.style;
      x = x || 0;
      y = y || 0;
      width = width || 512;
      height = height || 342;
      res.width = width;
      res.height = height;
      width == +width && (width += "px");
      height == +height && (height += "px");
      res.coordsize = zoom * 1E3 + S + zoom * 1E3;
      res.coordorigin = "0 0";
      res.span = R._g.doc.createElement("span");
      res.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;";
      c.appendChild(res.span);
      cs.cssText = R.format("top:0;left:0;width:{0};height:{1};display:inline-block;position:relative;clip:rect(0 {0} {1} 0);overflow:hidden", width, height);
      if (container == 1) {
        R._g.doc.body.appendChild(c);
        cs.left = x + "px";
        cs.top = y + "px";
        cs.position = "absolute";
      } else {
        if (container.firstChild) {
          container.insertBefore(c, container.firstChild);
        } else {
          container.appendChild(c);
        }
      }
      res.renderfix = function() {
      };
      return res;
    };
    R.prototype.clear = function() {
      R.eve("raphael.clear", this);
      this.canvas.innerHTML = E;
      this.span = R._g.doc.createElement("span");
      this.span.style.cssText = "position:absolute;left:-9999em;top:-9999em;padding:0;margin:0;line-height:1;display:inline;";
      this.canvas.appendChild(this.span);
      this.bottom = this.top = null;
    };
    R.prototype.remove = function() {
      R.eve("raphael.remove", this);
      this.canvas.parentNode.removeChild(this.canvas);
      for (var i in this) {
        this[i] = typeof this[i] == "function" ? R._removedFactory(i) : null;
      }
      return true;
    };
    var setproto = R.st;
    for (var method in elproto) {
      if (elproto[has](method) && !setproto[has](method)) {
        setproto[method] = function(methodname) {
          return function() {
            var arg = arguments;
            return this.forEach(function(el) {
              el[methodname].apply(el, arg);
            });
          };
        }(method);
      }
    }
  })();
  oldRaphael.was ? g.win.Raphael = R : Raphael = R;
  return R;
});
var QBWebCanvasLink = function(param) {
  this.color = null;
  this.thin = null;
  this.bg = null;
  this.line = null;
  this.startType = null;
  this.start = null;
  this.endType = null;
  this.end = null;
  this.object = null;
  this.graphics = null;
  this._init = function(param) {
  };
  this._init(param);
};
function getBBox(obj) {
  var box = {x:0, y:0, width:0, height:0};
  if (!obj.length) {
    return box;
  }
  var o = obj[0];
  function getBoxToParent(element, parentId) {
    box = {x:0, y:0, width:element.clientWidth, height:element.clientHeight};
    while (element) {
      if (element.id == parentId) {
        break;
      }
      box.x += element.offsetLeft - element.scrollLeft + element.clientLeft;
      box.y += element.offsetTop - element.scrollTop + element.clientTop;
      element = element.offsetParent;
    }
    return box;
  }
  if (o.tagName == "TR") {
    box = getBoxToParent(o, "qb-ui-canvas");
  } else {
    if (o.tagName == "TABLE") {
      box = getBoxToParent(o, "qb-ui-canvas");
    } else {
      if (o.tagName == "DIV") {
        box = getBoxToParent(o, "qb-ui-canvas");
      }
    }
  }
  return box;
}
function round1000(x) {
  return Math.round(x * 1E3) / 1E3;
}
function getLineCoord(bb1, bb2) {
  var minLeg = 20;
  var p1 = [{x:bb1.x, y:bb1.y + bb1.height / 2}, {x:bb1.x + bb1.width, y:bb1.y + bb1.height / 2}];
  var p2 = [{x:bb2.x, y:bb2.y + bb2.height / 2}, {x:bb2.x + bb2.width, y:bb2.y + bb2.height / 2}];
  var d = [], dis = [];
  for (var i1 = 0;i1 < p1.length;i1++) {
    for (var i2 = 0;i2 < p2.length;i2++) {
      var dx = Math.abs(p1[i1].x - p2[i2].x);
      var dy = Math.abs(p1[i1].y - p2[i2].y);
      var len = dx * dx + dy * dy;
      dis.push(len);
      d.push({i1:i1, i2:i2});
    }
  }
  var res = {i1:0, i2:0};
  var idx = -1;
  var min = -1;
  for (var i = 0;i < dis.length;i++) {
    if (min == -1 || dis[i] < min) {
      min = dis[i];
      idx = i;
    }
  }
  if (idx > 0) {
    res = d[idx];
  }
  var x1 = p1[res.i1].x, y1 = p1[res.i1].y, x4 = p2[res.i2].x, y4 = p2[res.i2].y, y2 = y1, y3 = y4;
  var dx = Math.max(Math.abs(x1 - x4) / 2, minLeg);
  var x2 = [x1 - dx, x1 + dx][res.i1];
  var x3 = [x4 - dx, x4 + dx][res.i2];
  return{x1:round1000(x1), y1:round1000(y1), x2:round1000(x2), y2:round1000(y2), x3:round1000(x3), y3:round1000(y3), x4:round1000(x4), y4:round1000(y4)};
}
function fixOutsideBounds(box, parentBox) {
  var R = Raphael == null ? defaults : Raphael;
  var first = box;
  if (R.is(box, "function")) {
    return parentBox ? first() : eve.on("raphael.DOMload", first);
  } else {
    if (R.is(first, true)) {
      return R._engine.create[box](R, first.splice(0, 3 + R.is(first[0], null))).add(first);
    } else {
      var args = Array.prototype.slice.call(arguments, 0);
      if (R.is(args[args.length - 1], "function")) {
        var f = args.pop();
        return first ? f.call(R._engine.create[box](R, args)) : eve.on("raphael.DOMload", function() {
          f.call(R._engine.create[box](R, args));
        });
      } else {
        return R._engine.create[box](R, arguments);
      }
    }
  }
}
Raphael.fn.UpdateConnection = function(link) {
  if (!link.Left || !link.Right) {
    return false;
  }
  if (!link.Left.field || !link.Right.field) {
    return false;
  }
  if (!link.Left.field.element || !link.Right.field.element) {
    return false;
  }
  var graph = link.graphics;
  var shortLeg = 8;
  var color = graph.color;
  var fromType = link.Left.Type;
  var toType = link.Right.Type;
  function calculateBox(link) {
    var linkBox = getBBox(link.field.element);
    if (link.table) {
      var tableBox = getBBox(link.table.element);
      linkBox.x = tableBox.x - 1;
      linkBox.width = tableBox.width + 2;
      if (linkBox.y < tableBox.y) {
        linkBox.y = tableBox.y;
      } else {
        if (linkBox.y > tableBox.y + tableBox.height - linkBox.height) {
          linkBox.y = tableBox.y + tableBox.height - linkBox.height;
        }
      }
    }
    return linkBox;
  }
  var leftBox = calculateBox(link.Left);
  var rightBox = calculateBox(link.Right);
  var lineCoord = getLineCoord(leftBox, rightBox);
  var startD = lineCoord.x1 < lineCoord.x2 ? 1 : -1;
  var endD = lineCoord.x4 < lineCoord.x3 ? 1 : -1;
  var path = ["M", lineCoord.x1, lineCoord.y1, "L", lineCoord.x1 + shortLeg * startD, lineCoord.y1, "C", lineCoord.x2, lineCoord.y2, lineCoord.x3, lineCoord.y3, lineCoord.x4 + shortLeg * endD, lineCoord.y4, "L", lineCoord.x4, lineCoord.y4].join(",");
  graph.start = configEnds(graph.start, toType, color, lineCoord.x1, lineCoord.y1, startD);
  graph.end = configEnds(graph.end, fromType, color, lineCoord.x4, lineCoord.y4, endD);
  if (graph.path = path && (graph.line && graph.bg)) {
    graph.bg.attr({path:path});
    graph.line.attr({path:path});
    $(graph.bg.node).addClass("link-context");
  }
  return true;
};
Raphael.fn.CreateConnection = function(obj, attr) {
  var link = new QBWebCanvasLink;
  link.color = attr.split("|")[0] || "#000000";
  link.thin = attr.split("|")[1] || 3;
  link.thinBg = 15;
  link.line = this.path("M,0,0").attr({stroke:link.color, fill:"none", "stroke-width":link.thin, "stroke-linecap":"round", "stroke-linejoin":"round"});
  link.bg = this.path("M,0,0").attr({stroke:link.color, fill:"none", "stroke-width":link.thinBg, "stroke-opacity":0.01});
  link.startType = obj.Right.Type;
  link.start = configEnds(null, link.startType, link.color);
  link.endType = obj.Left.Type;
  link.end = configEnds(null, link.endType, link.color);
  link.object = obj;
  return link;
};
function configEnds(obj, type, color, x, y, d) {
  if (!x) {
    x = 0;
  }
  if (!y) {
    y = 0;
  }
  if (!d) {
    d = 1;
  }
  var typeMismatch = false;
  if (obj != null && obj.node) {
    switch(type) {
      case MetaData.JoinType.Inner:
        typeMismatch = obj.node.nodeName != "circle";
        break;
      case MetaData.JoinType.Outer:
        typeMismatch = obj.node.nodeName != "path";
        break;
    }
  }
  if (typeMismatch) {
    if (obj && obj.remove) {
      obj.remove();
    }
    obj = null;
  }
  if (obj == null) {
    switch(type) {
      case MetaData.JoinType.Inner:
        obj = QB.Web.Canvas.r.circle(0, 0, 5);
        obj.attr({fill:color, "stroke-width":0});
        break;
      case MetaData.JoinType.Outer:
        obj = QB.Web.Canvas.r.path("M,0,0");
        obj.attr({fill:color, "stroke-width":0});
        break;
    }
  }
  switch(type) {
    case MetaData.JoinType.Inner:
      obj.attr({cx:x, cy:y});
      break;
    case MetaData.JoinType.Outer:
      var dx = 8;
      var dy = 5;
      var path = ["M", x, y, "L", x, y + 1, x + dx * d, y + dy, x + dx * d, y - dy, x, y - 1, "Z"].join(",");
      obj.attr({path:path});
      break;
  }
  return obj;
}
;
/*
 * Packer
 * Javascript Compressor
 * http://dean.edwards.name/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// ..\..\src\Common\Client\js\release\usr_v2_4_0.js
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('K Ss=1o;K FY={Du:1a(){K 6p=1c;if(2H q9!="2O"){7i{6p=1W q9("NI.Dd")}7x(e){7i{6p=1W q9("wo.Dd")}7x(E){6p=1j}}}1i{if(3H.Dr){7i{6p=1W Dr}7x(e){6p=1c}}}1b 6p},wZ:1a(B0,2l,43){K 6p=J.Du();if(!6p||!B0){1b}K 54=B0;54+=54.4P("?")+1?"&":"?";54+="NP="+(1W 5g).IZ();K nT=1c;if(43=="oY"){K AZ=54.3o("?");54=AZ[0];nT=AZ[1]}6p.6H(43,54,1o);if(43=="oY"){6p.B4("D4-1v","n6/x-nN-NN-NE");6p.B4("D4-1d",nT.1d);6p.B4("Nt","5r")}6p.Nx=1a(){if(6p.mE==4){if(6p.6t==eB){K 1I="";if(6p.C8){1I=6p.C8}if(2l){2l(1I)}}}};6p.N1(nT)},7l:1a(c4,54,ba){K 9x=\'<b 2Y="3n:#MQ">G1 8V</b>\\n<br/>\\n\'+"jq: "+c4+"\\n<br>\\n"+"G9: "+54+"\\n<br>\\n"+"Ga: "+ba+"\\n<br>\\n";K FW="G1 8V\\n"+"jq: "+c4+"\\n\\n"+"G9: "+54+"\\n\\n"+"Ga: "+ba+"\\n\\n";if(aP&&aP.ek){9x=9x+"ek: "+aP.ek}K 3e=2G.bT("2B");3e.bw="Ne";3e.mO=9x;if(2G&&(2G.3O&&2G.3O.3A)){2G.3O.3A(3e)}1i{N9(FW)}FY.FX({c4:c4,54:54,ba:ba,ek:aP.ek});1b 1o},FX:1a(1u){K 54="si/N6.Nk?";1n(K i in 1u){if(1u.7E(i)){54+=i+"="+Nn(1u[i])+"&"}}J.wZ(54,1c,"oY")}};(1a(){J.Ng={7g:"1.4.5",9o:"Ni"};K 7Y=J.7Y=1a(1g){if(1g==1c){1b"1c"}if(1g.$7X!=1c){1b 1g.$7X()}if(1g.8H){if(1g.FP==1){1b"1f"}if(1g.FP==3){1b/\\S/.9C(1g.D3)?"MP":"CZ"}}1i{if(2H 1g.1d=="bS"){if(1g.Ir){1b"2p"}if("1g"in 1g){1b"FH"}}}1b 2H 1g};K tp=J.tp=1a(1g,1D){if(1g==1c){1b 1j}K 4R=1g.$4R||1g.4R;4e(4R){if(4R===1D){1b 1o}4R=4R.1J}if(!1g.7E){1b 1j}1b 1g eg 1D};K 94=J.94;K gU=1o;1n(K i in{3q:1}){gU=1c}if(gU){gU=["7E","IT","IK","pR","uj","3q","4R"]}94.2Q.eX=1a(pB){K 2m=J;1b 1a(a,b){if(a==1c){1b J}if(pB||2H a!="4a"){1n(K k in a){2m.2x(J,k,a[k])}if(gU){1n(K i=gU.1d;i--;){k=gU[i];if(a.7E(k)){2m.2x(J,k,a[k])}}}}1i{2m.2x(J,a,b)}1b J}};94.2Q.Ol=1a(pB){K 2m=J;1b 1a(a){K 2e,1I;if(2H a!="4a"){2e=a}1i{if(2p.1d>1){2e=2p}1i{if(pB){2e=[a]}}}if(2e){1I={};1n(K i=0;i<2e.1d;i++){1I[2e[i]]=2m.2x(J,2e[i])}}1i{1I=2m.2x(J,a)}1b 1I}};94.2Q.4j=1a(1q,1m){J[1q]=1m}.eX();94.2Q.6V=1a(1q,1m){J.2Q[1q]=1m}.eX();K 3G=3Z.2Q.3G;94.2q=1a(1g){1b 7Y(1g)=="1a"?1g:1a(){1b 1g}};3Z.2q=1a(1g){if(1g==1c){1b[]}1b 8Y.EB(1g)&&2H 1g!="4a"?7Y(1g)=="3E"?1g:3G.2x(1g):[1g]};6f.2q=1a(1g){K bS=d7(1g);1b Fl(bS)?bS:1c};5c.2q=1a(1g){1b 1g+""};94.6V({yu:1a(){J.$6X=1o;1b J},AC:1a(){J.$sH=1o;1b J}});K 8Y=J.8Y=J.8Y=1a(1x,1D){if(1x){K Ar=1x.3L();K EK=1a(1g){1b 7Y(1g)==Ar};8Y["is"+1x]=EK;if(1D!=1c){1D.2Q.$7X=1a(){1b Ar}.yu()}}if(1D==1c){1b 1c}1D.4j(J);1D.$4R=8Y;1D.2Q.$4R=1D;1b 1D};K 3q=4H.2Q.3q;8Y.EB=1a(1g){1b 1g!=1c&&(2H 1g.1d=="bS"&&3q.2x(1g)!="[1D 94]")};K hV={};K AJ=1a(1D){K 1v=7Y(1D.2Q);1b hV[1v]||(hV[1v]=[])};K 6V=1a(1x,43){if(43&&43.$6X){1b}K hV=AJ(J);1n(K i=0;i<hV.1d;i++){K js=hV[i];if(7Y(js)=="1v"){6V.2x(js,1x,43)}1i{js.2x(J,1x,43)}}K cc=J.2Q[1x];if(cc==1c||!cc.$sH){J.2Q[1x]=43}if(J[1x]==1c&&7Y(43)=="1a"){4j.2x(J,1x,1a(1g){1b 43.31(1g,3G.2x(2p,1))})}};K 4j=1a(1x,43){if(43&&43.$6X){1b}K cc=J[1x];if(cc==1c||!cc.$sH){J[1x]=43}};8Y.6V({6V:6V.eX(),4j:4j.eX(),ae:1a(1x,8h){6V.2x(J,1x,J.2Q[8h])}.eX(),Pt:1a(js){AJ(J).1F(js);1b J}});1W 8Y("8Y",8Y);K fh=1a(1x,1D,9W){K od=1D!=4H,2Q=1D.2Q;if(od){1D=1W 8Y(1x,1D)}1n(K i=0,l=9W.1d;i<l;i++){K 1q=9W[i],AO=1D[1q],hZ=2Q[1q];if(AO){AO.AC()}if(od&&hZ){1D.6V(1q,hZ.AC())}}if(od){K Fn=2Q.pR(9W[0]);1D.Qi=1a(fn){if(!Fn){1n(K i=0,l=9W.1d;i<l;i++){fn.2x(2Q,2Q[9W[i]],9W[i])}}1n(K 1q in 2Q){fn.2x(2Q,2Q[1q],1q)}}}1b fh};fh("5c",5c,["bv","JA","3F","4P","Ey","3a","BB","3m","Qk","3G","3o","72","fi","lY","3L","8m"])("3Z",3Z,["cu","1F","Q4","bq","fl","59","PZ","3F","4C","3G","4P","Ey","4m","8A","wN","du","GS","Q0","Qa"])("6f",6f,["yD","4p","uj","ON"])("94",94,["31","2x","2W"])("d5",d5,["On","9C"])("4H",4H,["7H","Oz","OZ","8g","OW","P9","P8","OU","OT","OR","Qt","PJ","PH"])("5g",5g,["6U"]);4H.4j=4j.eX();5g.4j("6U",1a(){1b+1W 5g});1W 8Y("io",io);6f.2Q.$7X=1a(){1b Fl(J)?"bS":"1c"}.yu();6f.4j("hX",1a(5M,4v){1b 3B.g4(3B.hX()*(4v-5M+1)+5M)});K 7E=4H.2Q.7E;4H.4j("8A",1a(1D,fn,2W){1n(K 1q in 1D){if(7E.2x(1D,1q)){fn.2x(2W,1D[1q],1q,1D)}}});4H.2f=4H.8A;3Z.6V({8A:1a(fn,2W){1n(K i=0,l=J.1d;i<l;i++){if(i in J){fn.2x(2W,J[i],i,J)}}},2f:1a(fn,2W){3Z.8A(J,fn,2W);1b J}});K xo=1a(1g){3s(7Y(1g)){1l"3E":1b 1g.5Q();1l"1D":1b 4H.5Q(1g);5q:1b 1g}};3Z.6V("5Q",1a(){K i=J.1d,5Q=1W 3Z(i);4e(i--){5Q[i]=xo(J[i])}1b 5Q});K xk=1a(ad,1q,5w){3s(7Y(5w)){1l"1D":if(7Y(ad[1q])=="1D"){4H.z7(ad[1q],5w)}1i{ad[1q]=4H.5Q(5w)}1p;1l"3E":ad[1q]=5w.5Q();1p;5q:ad[1q]=5w}1b ad};4H.4j({z7:1a(ad,k,v){if(7Y(k)=="4a"){1b xk(ad,k,v)}1n(K i=1,l=2p.1d;i<l;i++){K 1D=2p[i];1n(K 1q in 1D){xk(ad,1q,1D[1q])}}1b ad},5Q:1a(1D){K 5Q={};1n(K 1q in 1D){5Q[1q]=xo(1D[1q])}1b 5Q},2X:1a(nE){1n(K i=1,l=2p.1d;i<l;i++){K xf=2p[i]||{};1n(K 1q in xf){nE[1q]=xf[1q]}}1b nE}});["4H","Ny","Nr","Nu","NL"].2f(1a(1x){1W 8Y(1x)});K Gt=5g.6U();5c.4j("ND",1a(){1b(Gt++).3q(36)})})();3Z.6V({wN:1a(fn,2W){1n(K i=0,l=J.1d>>>0;i<l;i++){if(i in J&&!fn.2x(2W,J[i],i,J)){1b 1j}}1b 1o},4m:1a(fn,2W){K ep=[];1n(K 1m,i=0,l=J.1d>>>0;i<l;i++){if(i in J){1m=J[i];if(fn.2x(2W,1m,i,J)){ep.1F(1m)}}}1b ep},4P:1a(1g,2q){K 1d=J.1d>>>0;1n(K i=2q<0?3B.4v(0,1d+2q):2q||0;i<1d;i++){if(J[i]===1g){1b i}}1b-1},du:1a(fn,2W){K 1d=J.1d>>>0,ep=3Z(1d);1n(K i=0;i<1d;i++){if(i in J){ep[i]=fn.2x(2W,J[i],i,J)}}1b ep},GS:1a(fn,2W){1n(K i=0,l=J.1d>>>0;i<l;i++){if(i in J&&fn.2x(2W,J[i],i,J)){1b 1o}}1b 1j},Gg:1a(){1b J.4m(1a(1g){1b 1g!=1c})},NX:1a(GG){K 2e=3Z.3G(2p,1);1b J.du(1a(1g){1b 1g[GG].31(1g,2e)})},O2:1a(8g){K 1z={},1d=3B.5M(J.1d,8g.1d);1n(K i=0;i<1d;i++){1z[8g[i]]=J[i]}1b 1z},2a:1a(1D){K 1I={};1n(K i=0,l=J.1d;i<l;i++){1n(K 1q in 1D){if(1D[1q](J[i])){1I[1q]=J[i];3Y 1D[1q];1p}}}1b 1I},gG:1a(1g,2q){1b J.4P(1g,2q)!=-1},2X:1a(3E){J.1F.31(J,3E);1b J},MT:1a(){1b J.1d?J[J.1d-1]:1c},MR:1a(){1b J.1d?J[6f.hX(0,J.1d-1)]:1c},FO:1a(1g){if(!J.gG(1g)){J.1F(1g)}1b J},Nm:1a(3E){1n(K i=0,l=3E.1d;i<l;i++){J.FO(3E[i])}1b J},N2:1a(1g){1n(K i=J.1d;i--;){if(J[i]===1g){J.59(i,1)}}1b J},cf:1a(){J.1d=0;1b J},FE:1a(){K 3E=[];1n(K i=0,l=J.1d;i<l;i++){K 1v=7Y(J[i]);if(1v=="1c"){aM}3E=3E.3F(1v=="3E"||(1v=="FH"||(1v=="2p"||tp(J[i],3Z)))?3Z.FE(J[i]):J[i])}1b 3E},PN:1a(){1n(K i=0,l=J.1d;i<l;i++){if(J[i]!=1c){1b J[i]}}1b 1c},zJ:1a(3E){if(J.1d!=3){1b 1c}K 3z=J.du(1a(1m){if(1m.1d==1){1m+=1m}1b 1m.9F(16)});1b 3E?3z:"3z("+3z+")"},zL:1a(3E){if(J.1d<3){1b 1c}if(J.1d==4&&(J[3]==0&&!3E)){1b"PL"}K 65=[];1n(K i=0;i<3;i++){K rM=(J[i]-0).3q(16);65.1F(rM.1d==1?"0"+rM:rM)}1b 3E?65:"#"+65.4C("")}});5c.6V({9C:1a(qv,1u){1b(7Y(qv)=="Al"?qv:1W d5(""+qv,1u)).9C(J)},gG:1a(4a,5m){1b 5m?(5m+J+5m).4P(5m+4a+5m)>-1:5c(J).4P(4a)>-1},lY:1a(){1b 5c(J).3m(/^\\s+|\\s+$/g,"")},Gg:1a(){1b 5c(J).3m(/\\s+/g," ").lY()},P1:1a(){1b 5c(J).3m(/-\\D/g,1a(3a){1b 3a.bv(1).8m()})},P0:1a(){1b 5c(J).3m(/[A-Z]/g,1a(3a){1b"-"+3a.bv(0).3L()})},OX:1a(){1b 5c(J).3m(/\\b[a-z]/g,1a(3a){1b 3a.8m()})},OV:1a(){1b 5c(J).3m(/([-.*+?^${}()|[\\]\\/\\\\])/g,"\\\\$1")},9F:1a(fV){1b 6g(J,fV||10)},3w:1a(){1b d7(J)},zJ:1a(3E){K 65=5c(J).3a(/^#?(\\w{1,2})(\\w{1,2})(\\w{1,2})$/);1b 65?65.3G(1).zJ(3E):1c},zL:1a(3E){K 3z=5c(J).3a(/\\d{1,3}/g);1b 3z?3z.zL(3E):1c},Pi:1a(1D,Al){1b 5c(J).3m(Al||/\\\\?\\{([^{}]+)\\}/g,1a(3a,1x){if(3a.bv(0)=="\\\\"){1b 3a.3G(1)}1b 1D[1x]!=1c?1D[1x]:""})}});94.4j({CL:1a(){1n(K i=0,l=2p.1d;i<l;i++){7i{1b 2p[i]()}7x(e){}}1b 1c}});94.6V({CL:1a(2e,2W){7i{1b J.31(2W,3Z.2q(2e))}7x(e){}1b 1c},2W:1a(64){K 2m=J,2e=2p.1d>1?3Z.3G(2p,1):1c,F=1a(){};K Ah=1a(){K 3t=64,1d=2p.1d;if(J eg Ah){F.2Q=2m.2Q;3t=1W F}K 1I=!2e&&!1d?2m.2x(3t):2m.31(3t,2e&&1d?2e.3F(3Z.3G(2p)):2e||2p);1b 3t==64?1I:3t};1b Ah},Ai:1a(2e,2W){K 2m=J;if(2e!=1c){2e=3Z.2q(2e)}1b 1a(){1b 2m.31(2W,2e||2p)}},fq:1a(fq,2W,2e){1b 6m(J.Ai(2e==1c?[]:2e,2W),fq)},A0:1a(A0,2W,2e){1b lo(J.Ai(2e==1c?[]:2e,2W),A0)}});6f.6V({OH:1a(5M,4v){1b 3B.5M(4v,3B.4v(5M,J))},4E:1a(ey){ey=3B.5N(10,ey||0).4p(ey<0?-ey:0);1b 3B.4E(J*ey)/ey},bM:1a(fn,2W){1n(K i=0;i<J;i++){fn.2x(2W,i,J)}},3w:1a(){1b d7(J)},9F:1a(fV){1b 6g(J,fV||10)}});6f.ae("2f","bM");(1a(3u){K 9W={};3u.2f(1a(1x){if(!6f[1x]){9W[1x]=1a(){1b 3B[1x].31(1c,[J].3F(3Z.2q(2p)))}}});6f.6V(9W)})(["45","Cz","su","OI","uo","hK","8G","Q6","g4","j4","4v","5M","5N","8n","9r","Gq"]);(1a(){K 7K=J.7K=1W 8Y("7K",1a(1u){if(tp(1u,94)){1u={dl:1u}}K fR=1a(){kS(J);if(fR.$yW){1b J}J.$8S=1c;K 1m=J.dl?J.dl.31(J,2p):J;J.$8S=J.8S=1c;1b 1m}.4j(J).6V(1u);fR.$4R=7K;fR.2Q.$4R=fR;fR.2Q.1J=1J;1b fR});K 1J=1a(){if(!J.$8S){9i 1W 8V(\'p8 43 "1J" DO be uc.\')}K 1x=J.$8S.$1x,1J=J.$8S.$DL.1J,cc=1J?1J.2Q[1x]:1c;if(!cc){9i 1W 8V(\'p8 43 "\'+1x+\'" 3l no 1J.\')}1b cc.31(J,2p)};K kS=1a(1D){1n(K 1q in 1D){K 1m=1D[1q];3s(7Y(1m)){1l"1D":K F=1a(){};F.2Q=1m;1D[1q]=kS(1W F);1p;1l"3E":1D[1q]=1m.5Q();1p}}1b 1D};K DR=1a(2m,1q,43){if(43.$ew){43=43.$ew}K 5P=1a(){if(43.$sH&&J.$8S==1c){9i 1W 8V(\'p8 43 "\'+1q+\'" DO be uc.\')}K 8S=J.8S,5w=J.$8S;J.8S=5w;J.$8S=5P;K 1I=43.31(J,2p);J.$8S=5w;J.8S=8S;1b 1I}.4j({$DL:2m,$ew:43,$1x:1q});1b 5P};K 6V=1a(1q,1m,DT){if(7K.yS.7E(1q)){1m=7K.yS[1q].2x(J,1m);if(1m==1c){1b J}}if(7Y(1m)=="1a"){if(1m.$6X){1b J}J.2Q[1q]=DT?1m:DR(J,1q,1m)}1i{4H.z7(J.2Q,1q,1m)}1b J};K Dw=1a(ti){ti.$yW=1o;K hZ=1W ti;3Y ti.$yW;1b hZ};7K.6V("6V",6V.eX());7K.yS={ia:1a(1J){J.1J=1J;J.2Q=Dw(1J)},O7:1a(1C){3Z.2q(1C).2f(1a(1g){K pf=1W 1g;1n(K 1q in pf){6V.2x(J,1q,pf[1q],1o)}},J)}}})();(1a($){$.ch.9c="Oc"in 2G;if(!$.ch.9c){1b}K hM=$.ui.tf.2Q;K ri=hM.ri;K hT;1a f4(1K,CP){if(1K.cQ.gI.1d>1){1b}1K.4c();K t=1K.cQ.CY[0];K ze=2G.HN("Ob");ze.HE(CP,1o,1o,3H,1,t.H9,t.H8,t.9R,t.9K,1j,1j,1j,1j,0,1c);1K.3i.wV(ze)}hM.Dl=1a(1K){K me=J;if(hT||!me.NS(1K.cQ.CY[0])){1b}hT=1o;me.zg=1j;f4(1K,"gR");f4(1K,"9z");f4(1K,"74")};hM.Dj=1a(1K){if(!hT){1b}J.zg=1o;f4(1K,"9z")};hM.Di=1a(1K){if(!hT){1b}f4(1K,"5p");f4(1K,"dS");if(!J.zg){f4(1K,"3M")}hT=1j};hM.ri=1a(){K me=J;me.1f.2W("kQ",$.9k(me,"Dl")).2W("kZ",$.9k(me,"Dj")).2W("kD",$.9k(me,"Di"));ri.2x(me)}})(2u);K fJ=1c;(1a($){$.fn.mp=1a(){$(J).eM(1a(e){K t=e.8e;K o=$(e.8e).2t();if(e.6N-o.28>t.jV){1b}K 1f=$(e.3i);1f.2I({x:e.9R,y:e.9K})})};K $Dg=$.fn.3M;$.fn.3M=1a 3M(6O,7l){if(!7l){1b $Dg.31(J,2p)}1b $(J).2W(1v,7l)};$.fn.eM=1a eM(){K 2e=[].59.2x(2p,0),7l=2e.cu(),6O=2e.cu(),$J=$(J);1b 7l?$J.3M(6O,7l):$J.29(1v)};$.eM={6O:93};$.1K.NK.eM={vd:1a(1h,98){if(!/NJ|MU|NF/i.9C(aP.ek)){$(J).2W(LL,zk).2W([LA,KG,KE,Kp].4C(" "),zt).2W(yR,3M)}1i{Li(J).2W(Kl,zk).2W([Km,Kt,KX].4C(" "),zt).2W(yR,3M).2V({NG:"3p"})}},NH:1a(98){$(J).7D(8W)}};1a Li(1f){$.2f("kQ kZ kD v8".3o(/ /),1a 2W(ix,it){1f.b8(it,1a NQ(1K){$(1f).29(it)},1j)});1b $(1f)}1a zk(1K){if(fJ){1b}K 1f=J;K 2e=2p;$(J).1h(qn,1j);fJ=6m(Ls,$.eM.6O);1a Ls(){$(1f).1h(qn,1o);1K.1v=1v;2u.1K.Oa.31(1f,2e)}}1a zt(1K){if(fJ){jd(fJ);fJ=1c}}1a 3M(1K){if($(J).1h(qn)){1b 1K.c8()||1j}}K 1v="eM";K 8W="."+1v;K LL="74"+8W;K yR="3M"+8W;K LA="9z"+8W;K KG="5p"+8W;K KE="dS"+8W;K Kp="5i"+8W;K Kl="kQ"+8W;K Km="kD"+8W;K Kt="kZ"+8W;K KX="v8"+8W;K OJ="6O"+8W;K OE="8z"+8W;K qn="Mi"+8W})(2u);(1a($){$.fn.oT=1a(1A){K lz=$.4j({},$.fn.oT.cU,1A);1b J.2f(1a(){$J=$(J);K o=$.Om?$.4j({},lz,$J.1h()):lz;K l5=o.2F;$.fn.iJ(o,$J,l5)})};K xj=0;K q4=0;K Oo=aP.Ow;K KM=aP.Ov;if(KM.4P("Pf 7.0")>0){K s9="tu"}$.fn.oT.cU={6k:5,2F:12,5n:5,eI:1o,xE:"#j0",jD:"#Ph",jG:"Pg",xw:"#j0",jL:"#j0",jA:"#j0",5j:1o,xe:1o,tf:"Pb",mP:1a(){1b 1j}};$.fn.iJ=1a(o,1z,l5){if(o.5n>o.6k){o.5n=o.6k}$J.cf();if(o.xe){K KL="96-KO-c7";K KS="96-cc-c7";K KT="96-KR-c7";K KP="96-3h-c7"}1i{K KL="96-KO";K KS="96-cc";K KT="96-KR";K KP="96-3h"}if(o.5j){K xO=$("<2B>&lt;</2B>").3Q({bp:{tz:"ui-3J-M8-1-w"},1X:1j})}$J.3W(\'<2B id="P7">\'+\'<2B id="P6">\'+\'<2B id="P2">\'+\'<2B id="te"></2B>\'+\'<2B id="tm"></2B>\'+\'<2B id="zV"></2B>\'+"</2B>"+"</2B>"+"</2B>");K MK=$("#te").2r("96-2T-w6");MK.2X(xO);K 84=$(\'<1O qR="0" tx="0">\').2V("gb","6X");K fQ=$("<tr>").2r("96-OY");K c=(o.5n-1)/2;K 4w=l5-c;K lv;1n(K i=0;i<o.6k;i++){K 2d=i+1;if(2d==l5){K kH=$(\'<td 2y="li">\').3W(\'<2A 2y="96-5w">\'+2d+"</2A>");lv=kH;fQ.2X(kH)}1i{K kH=$(\'<td 2y="li">\').3W("<a>"+2d+"</a>");fQ.2X(kH)}}84.2X(fQ);if(o.5j){K xP=$("<2B>&gt;</2B>").3Q({bp:{tz:"ui-3J-M8-1-e"},1X:1j})}K kj=$("#tm").2r("96-2T-OG");kj.2X(xP);$("#zV").2X(84);K t9=$("#zV");K zN=1c;1a Mr(){$("#te").3U();$("#tm").3U()}1a LW(){$("#te").5f();$("#tm").5f()}1a xD(){if(t9.1r()==0){1b}pt(zN);if(84.1r()<=t9.1r()){Mr()}1i{LW()}}if(t9.1r()==0){zN=lo(xD,lF)}1i{xD()}$J.2r("N0");if(!o.eI){if(o.jG=="3p"){K dY={"3n":o.jD}}1i{K dY={"3n":o.jD,"hI-3n":o.jG}}if(o.jA=="3p"){K dV={"3n":o.jL}}1i{K dV={"3n":o.jL,"hI-3n":o.jA}}}1i{if(o.jG=="3p"){K dY={"3n":o.jD,"eI":"iy nL "+o.xE}}1i{K dY={"3n":o.jD,"hI-3n":o.jG,"eI":"iy nL "+o.xE}}if(o.jA=="3p"){K dV={"3n":o.jL,"eI":"iy nL "+o.xw}}1i{K dV={"3n":o.jL,"hI-3n":o.jA,"eI":"iy nL "+o.xw}}}$.fn.xb(o,$J,dY,dV,fQ,84,kj);K xJ=xj-1;if(s9=="tu"){}1i{}if(o.tf=="I9"){xP.74(1a(){sV=lo(1a(){K 28=84.1J().4Q()+5;84.1J().4Q(28)},20)}).5p(1a(){pt(sV)});xO.74(1a(){sV=lo(1a(){K 28=84.1J().4Q()-5;84.1J().4Q(28)},20)}).5p(1a(){pt(sV)})}84.2K(".li").3M(1a(e){lv.3W("<a>"+lv.2K(".96-5w").3W()+"</a>");K xS=$(J).2K("a").3W();$(J).3W(\'<2A 2y="96-5w">\'+xS+"</2A>");lv=$(J);$.fn.xb(o,$(J).1J().1J().1J(),dY,dV,fQ,84,kj);K 28=J.8c/2;K O5=84.4Q()+28;K 81=28-xJ/2;if(s9=="tu"){84.4F({4Q:28+81+52+"px"})}1i{84.4F({4Q:28+81+"px"})}o.mP(xS)});K 6R=84.2K(".li").eq(o.2F-1);6R.1k("id","81");K 28=2G.dr("81").8c/2;6R.hP("id");K 81=28-xJ/2;if(s9=="tu"){84.4F({4Q:28+81+52+"px"})}1i{84.4F({4Q:28+81+"px"})}};$.fn.xb=1a(o,1z,dY,dV,fQ,84,kj){1z.2K("a").2V(dY);1z.2K("2A.96-5w").2V(dV);1z.2K("a").6i(1a(){$(J).2V(dV)},1a(){$(J).2V(dY)});q4=0;1z.2K(".li").2f(1a(i,n){if(i==o.5n-1){xj=J.8c+J.eF}q4+=J.eF});q4+=3}})(2u);(1a($){$.4j({gX:1a(fn,po,dF,yt){K 8z;1b 1a(){K 2e=2p;dF=dF||J;yt&&(!8z&&fn.31(dF,2e));jd(8z);8z=6m(1a(){!yt&&fn.31(dF,2e);8z=1c},po)}},yE:1a(fn,po,dF){K 8z,2e,pg;1b 1a(){2e=2p;pg=1o;dF=dF||J;if(!8z){(1a(){if(pg){fn.31(dF,2e);pg=1j;8z=6m(2p.Ir,po)}1i{8z=1c}})()}}}})})(2u);(1a($){K gC={iQ:{yC:1a(i){3s(J.iR(i)){1l"3E":;1l"OQ":;1l"bS":1b i.3q();1l"1D":K o=[];1n(x=0;x<i.1d;i++){o.1F(i+": "+J.yC(i[x]))}1b o.4C(", ");1l"4a":1b i;5q:1b i}},iR:1a(i){if(!i||!i.4R){1b 2H i}K 3a=i.4R.3q().3a(/3Z|6f|5c|4H|5g/);1b 3a&&3a[0].3L()||2H i},iu:1a(7p,l,s,t){K p=s||" ";K o=7p;if(l-7p.1d>0){o=(1W 3Z(3B.hK(l/ p.1d))).4C(p).72(0, t = !t ? l : t == 1 ? 0 : 3B.hK(l /2))+7p+p.72(0,l-t)}1b o},Ll:1a(4f,2e){K 1q=4f.p0();3s(J.iR(2e)){1l"1D":K 8g=1q.3o(".");K 1z=2e;1n(K bc=0;bc<8g.1d;bc++){1z=1z[8g[bc]]}if(2H 1z!="2O"){if(gC.iQ.iR(1z)=="3E"){1b 4f.gB().3a(/\\.\\*/)&&1z[1]||1z}1b 1z}1i{}1p;1l"3E":1q=6g(1q,10);if(4f.gB().3a(/\\.\\*/)&&2H 2e[1q+1]!="2O"){1b 2e[1q+1]}1i{if(2H 2e[1q]!="2O"){1b 2e[1q]}1i{1b 1q}}1p}1b"{"+1q+"}"},Hq:1a(cm,2e){K 4f=1W Hx(cm,2e);1b gC.iQ[4f.gB().3G(-1)](J.Ll(4f,2e),4f)},d:1a(1Z,4f){K o=6g(1Z,10);K p=4f.ng();if(p){1b J.iu(o.3q(),p,4f.nS(),0)}1i{1b o}},i:1a(1Z,2e){1b J.d(1Z,2e)},o:1a(1Z,4f){K o=1Z.3q(8);if(4f.nI()){o=J.iu(o,o.1d+1,"0",0)}1b J.iu(o,4f.ng(),4f.nS(),0)},u:1a(1Z,2e){1b 3B.45(J.d(1Z,2e))},x:1a(1Z,4f){K o=6g(1Z,10).3q(16);o=J.iu(o,4f.ng(),4f.nS(),0);1b 4f.nI()?"Pc"+o:o},X:1a(1Z,4f){1b J.x(1Z,4f).8m()},e:1a(1Z,4f){1b d7(1Z,10).yD(4f.oW())},E:1a(1Z,4f){1b J.e(1Z,4f).8m()},f:1a(1Z,4f){1b J.iu(d7(1Z,10).4p(4f.oW()),4f.ng(),4f.nS(),0)},F:1a(1Z,2e){1b J.f(1Z,2e)},g:1a(1Z,4f){K o=d7(1Z,10);1b o.3q().1d>6?3B.4E(o.yD(4f.oW())):o},G:1a(1Z,2e){1b J.g(1Z,2e)},c:1a(1Z,2e){K 3a=1Z.3a(/\\w|\\d/);1b 3a&&3a[0]||""},r:1a(1Z,2e){1b J.yC(1Z)},s:1a(1Z,2e){1b 1Z.3q&&1Z.3q()||""+1Z}},6x:1a(7p,2e){K 4t=0;K 2F=0;K 3a=1j;K fM=[];K cm="";K 81=(7p||"").3o("");1n(2F=0;2F<81.1d;2F++){if(81[2F]=="{"&&81[2F+1]!="{"){4t=7p.4P("}",2F);cm=81.3G(2F+1,4t).4C("");fM.1F(gC.iQ.Hq(cm,2H 2p[1]!="1D"?JL(2p,2):2e||[]))}1i{if(2F>4t||fM.1d<1){fM.1F(81[2F])}}}1b fM.1d>1?fM.4C(""):fM[0]},Pk:1a(7p,2e){1b pT(6x(7p,2e))},i4:1a(s,n){1b(1W 3Z(n+1)).4C(s)},Po:1a(s){1b Pp(Pn(s))},Pa:1a(s){1b Ox(Oy(s))},Ou:1a(){K 2j="",OM=1o;if(2p.1d==2&&$.v0(2p[1])){J[2p[0]]=2p[1].4C("");1b 2u}if(2p.1d==2&&$.OS(2p[1])){J[2p[0]]=2p[1];1b 2u}if(2p.1d==1){1b $(J[2p[0]])}if(2p.1d==2&&2p[1]==1j){1b J[2p[0]]}if(2p.1d==2&&$.HA(2p[1])){1b $($.6x(J[2p[0]],2p[1]))}if(2p.1d==3&&$.HA(2p[1])){1b 2p[2]==1o?$.6x(J[2p[0]],2p[1]):$($.6x(J[2p[0]],2p[1]))}}};K Hx=1a(4f,2e){J.Bt=4f;J.gz=2e;J.OL=d7("1."+(1W 3Z(32)).4C("1"),10).3q().1d-3;J.nf=6;J.nH=1a(){1b J.Bt};J.p0=1a(){1b J.Bt.3o(":")[0]};J.gB=1a(){K 3a=J.nH().3o(":");1b 3a&&3a[1]?3a[1]:"s"};J.oW=1a(){K 3a=J.gB().3a(/\\.(\\d+|\\*)/g);if(!3a){1b J.nf}1i{3a=3a[0].3G(1);if(3a!="*"){1b 6g(3a,10)}1i{if(gC.iQ.iR(J.gz)=="3E"){1b J.gz[1]&&J.gz[0]||J.nf}1i{if(gC.iQ.iR(J.gz)=="1D"){1b J.gz[J.p0()]&&J.gz[J.p0()][0]||J.nf}1i{1b J.nf}}}}};J.ng=1a(){K 3a=1j;if(J.nI()){3a=J.nH().3a(/0?#0?(\\d+)/);if(3a&&3a[1]){1b 6g(3a[1],10)}}3a=J.nH().3a(/(0|\\.)(\\d+|\\*)/g);1b 3a&&6g(3a[0].3G(1),10)||0};J.nS=1a(){K o="";if(J.nI()){o=" "}if(J.gB().3a(/#0|0#|^0|\\.\\d+/)){o="0"}1b o};J.Q8=1a(){K 3a=J.nH().Q9(/^(0|\\#|\\-|\\+|\\s)+/);1b 3a&&3a[0].3o("")||[]};J.nI=1a(){1b!!J.gB().3a(/^0?#/)}};K JL=1a(2e,bq){K o=[];1n(l=2e.1d,x=(bq||0)-1;x<l;x++){o.1F(2e[x])}1b o};$.4j(gC)})(2u);(1a($){$.h2=1a(o){if(2H cY=="1D"&&cY.JS){1b cY.JS(o)}K 1v=2H o;if(o===1c){1b"1c"}if(1v=="2O"){1b 2O}if(1v=="bS"||1v=="mL"){1b o+""}if(1v=="4a"){1b $.AH(o)}if(1v=="1D"){if(2H o.h2=="1a"){1b $.h2(o.h2())}if(o.4R===5g){K ma=o.Qc()+1;if(ma<10){ma="0"+ma}K m0=o.Qd();if(m0<10){m0="0"+m0}K JP=o.Qb();K m5=o.Q1();if(m5<10){m5="0"+m5}K mj=o.PY();if(mj<10){mj="0"+mj}K ml=o.Q5();if(ml<10){ml="0"+ml}K fD=o.Q2();if(fD<7e){fD="0"+fD}if(fD<10){fD="0"+fD}1b\'"\'+JP+"-"+ma+"-"+m0+"T"+m5+":"+mj+":"+ml+"."+fD+\'Z"\'}if(o.4R===3Z){K 7J=[];1n(K i=0;i<o.1d;i++){7J.1F($.h2(o[i])||"1c")}1b"["+7J.4C(",")+"]"}K AG=[];1n(K k in o){K 1x;K 1v=2H k;if(1v=="bS"){1x=\'"\'+k+\'"\'}1i{if(1v=="4a"){1x=$.AH(k)}1i{aM}}if(2H o[k]=="1a"){aM}K 2d=$.h2(o[k]);AG.1F(1x+":"+2d)}1b"{"+AG.4C(", ")+"}"}};$.Qo=1a(46){if(2H cY=="1D"&&cY.pC){1b cY.pC(46)}1b pT("("+46+")")};$.Qp=1a(46){if(2H cY=="1D"&&cY.pC){1b cY.pC(46)}K fE=46;fE=fE.3m(/\\\\["\\\\\\/Qm]/g,"@");fE=fE.3m(/"[^"\\\\\\n\\r]*"|1o|1j|1c|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,"]");fE=fE.3m(/(?:^|:|,)(?:\\s*\\[)+/g,"");if(/^[\\],:{}\\s]*$/.9C(fE)){1b pT("("+46+")")}1i{9i 1W Qn("8V Qq cY, ad is 6s Qr.")}};$.AH=1a(4a){if(4a.3a(AE)){1b\'"\'+4a.3m(AE,1a(a){K c=JC[a];if(2H c==="4a"){1b c}c=a.JA();1b"\\\\Qf"+3B.g4(c/16).3q(16)+(c%16).3q(16)})+\'"\'}1b\'"\'+4a+\'"\'};K AE=/["\\\\\\Qj-\\PE\\Pr-\\Pv]/g;K JC={"\\b":"\\\\b","\\t":"\\\\t","\\n":"\\\\n","\\f":"\\\\f","\\r":"\\\\r",\'"\':\'\\\\"\',"\\\\":"\\\\\\\\"}})(2u);(1a($){$.fn.Ay=1a(){K 4V=1a(el,v,t,sO){K 2N=2G.bT("2N");2N.1m=v,2N.1X=t;K o=el.1A;K oL=o.1d;if(!el.7L){el.7L={};1n(K i=0;i<oL;i++){el.7L[o[i].1m]=i}}if(2H el.7L[v]=="2O"){el.7L[v]=oL}el.1A[el.7L[v]]=2N;if(sO){2N.1S=1o}};K a=2p;if(a.1d==0){1b J}K sO=1o;K m=1j;K 1C,v,t;if(2H a[0]=="1D"){m=1o;1C=a[0]}if(a.1d>=2){if(2H a[1]=="mL"){sO=a[1]}1i{if(2H a[2]=="mL"){sO=a[2]}}if(!m){v=a[0];t=a[1]}}J.2f(1a(){if(J.8H.3L()!="2k"){1b}if(m){1n(K 1g in 1C){4V(J,1g,1C[1g],sO)}}1i{4V(J,v,t,sO)}});1b J};$.fn.PS=1a(54,1u,2k,fn,2e){if(2H 54!="4a"){1b J}if(2H 1u!="1D"){1u={}}if(2H 2k!="mL"){2k=1o}J.2f(1a(){K el=J;$.PK(54,1u,1a(r){$(el).Ay(r,2k);if(2H fn=="1a"){if(2H 2e=="1D"){fn.31(el,2e)}1i{fn.2x(el)}}})});1b J};$.fn.JV=1a(){K a=2p;if(a.1d==0){1b J}K ta=2H a[0];K v,1T;if(ta=="4a"||(ta=="1D"||ta=="1a")){v=a[0];if(v.4R==3Z){K l=v.1d;1n(K i=0;i<l;i++){J.JV(v[i],a[1])}1b J}}1i{if(ta=="bS"){1T=a[0]}1i{1b J}}J.2f(1a(){if(J.8H.3L()!="2k"){1b}if(J.7L){J.7L=1c}K 3v=1j;K o=J.1A;if(!!v){K oL=o.1d;1n(K i=oL-1;i>=0;i--){if(v.4R==d5){if(o[i].1m.3a(v)){3v=1o}}1i{if(o[i].1m==v){3v=1o}}if(3v&&a[1]===1o){3v=o[i].1S}if(3v){o[i]=1c}3v=1j}}1i{if(a[1]===1o){3v=o[1T].1S}1i{3v=1o}if(3v){J.3v(1T)}}});1b J};$.fn.PO=1a(Am){K Kj=$(J).Kh();K a=2H Am=="2O"?1o:!!Am;J.2f(1a(){if(J.8H.3L()!="2k"){1b}K o=J.1A;K oL=o.1d;K sA=[];1n(K i=0;i<oL;i++){sA[i]={v:o[i].1m,t:o[i].1X}}sA.fl(1a(o1,o2){q8=o1.t.3L(),qg=o2.t.3L();if(q8==qg){1b 0}if(a){1b q8<qg?-1:1}1i{1b q8>qg?-1:1}});1n(K i=0;i<oL;i++){o[i].1X=sA[i].t;o[i].1m=sA[i].v}}).oe(Kj,1o);1b J};$.fn.oe=1a(1m,9P){K v=1m;K vT=2H 1m;if(vT=="1D"&&v.4R==3Z){K $J=J;$.2f(v,1a(){$J.oe(J,9P)})}K c=9P||1j;if(vT!="4a"&&(vT!="1a"&&vT!="1D")){1b J}J.2f(1a(){if(J.8H.3L()!="2k"){1b J}K o=J.1A;K oL=o.1d;1n(K i=0;i<oL;i++){if(v.4R==d5){if(o[i].1m.3a(v)){o[i].1S=1o}1i{if(c){o[i].1S=1j}}}1i{if(o[i].1m==v){o[i].1S=1o}1i{if(c){o[i].1S=1j}}}}});1b J};$.fn.MY=1a(to,iz){K w=iz||"1S";if($(to).4W()==0){1b J}J.2f(1a(){if(J.8H.3L()!="2k"){1b J}K o=J.1A;K oL=o.1d;1n(K i=0;i<oL;i++){if(w=="6y"||w=="1S"&&o[i].1S){$(to).Ay(o[i].1m,o[i].1X)}}});1b J};$.fn.N8=1a(1m,fn){K 9t=1j;K v=1m;K vT=2H v;K fT=2H fn;if(vT!="4a"&&(vT!="1a"&&vT!="1D")){1b fT=="1a"?J:9t}J.2f(1a(){if(J.8H.3L()!="2k"){1b J}if(9t&&fT!="1a"){1b 1j}K o=J.1A;K oL=o.1d;1n(K i=0;i<oL;i++){if(v.4R==d5){if(o[i].1m.3a(v)){9t=1o;if(fT=="1a"){fn.2x(o[i],i)}}}1i{if(o[i].1m==v){9t=1o;if(fT=="1a"){fn.2x(o[i],i)}}}}});1b fT=="1a"?J:9t};$.fn.Kh=1a(){K v=[];J.Au().2f(1a(){v[v.1d]=J.1m});1b v};$.fn.Nd=1a(){K t=[];J.Au().2f(1a(){t[t.1d]=J.1X});1b t};$.fn.Au=1a(){1b J.2K("2N:1S")}})(2u);(1a($){$.4j($.fn,{mQ:1a(c1,c2){K JX=J.4m("."+c1);J.4m("."+c2).4d(c2).2r(c1);JX.4d(c1).2r(c2);1b J},ga:1a(c1,c2){1b J.4m("."+c1).4d(c1).2r(c2).4t()},t6:1a(bw){bw=bw||"6i";1b J.6i(1a(){$(J).2r(bw)},1a(){$(J).4d(bw)})},K4:1a(f5,2l){f5?J.4F({1w:"bC"},f5,2l):J.2f(1a(){2u(J)[2u(J).is(":6X")?"5f":"3U"]();if(2l){2l.31(J,2p)}})},J5:1a(f5,2l){if(f5){J.4F({1w:"3U"},f5,2l)}1i{J.3U();if(2l){J.2f(2l)}}},Be:1a(3T){if(!3T.K3){J.4m(":6R-Nh:6s(ul)").2r(4L.6R);J.4m((3T.fZ?"":"."+4L.Bg)+":6s(."+4L.6H+")").2K(">ul").3U()}1b J.4m(":3l(>ul)")},Bf:1a(3T,jm){if(!3T.K3){J.4m(":3l(>ul:6X)").2r(4L.aq).ga(4L.6R,4L.gv);J.6s(":3l(>ul:6X)").2r(4L.b0).ga(4L.6R,4L.gu);J.hY(\'<2B 2y="\'+4L.4g+\'"/>\').2K("2B."+4L.4g).2f(1a(){K fm="";$.2f($(J).1J().1k("2y").3o(" "),1a(){fm+=J+"-4g "});$(J).2r(fm)})}J.2K("2B."+4L.4g).3M(jm)},ih:1a(3T){3T=$.4j({B6:"ih"},3T);if(3T.4V){1b J.29("4V",[3T.4V])}if(3T.bC){K 2l=3T.bC;3T.bC=1a(){1b 2l.31($(J).1J()[0],2p)}}1a IM(41,2T){1a 7l(4m){1b 1a(){jm.31($("2B."+4L.4g,41).4m(1a(){1b 4m?$(J).1J("."+4m).1d:1o}));1b 1j}}$("a:eq(0)",2T).3M(7l(4L.b0));$("a:eq(1)",2T).3M(7l(4L.aq));$("a:eq(2)",2T).3M(7l())}1a jm(){$(J).1J().2K(">.4g").mQ(4L.AW,4L.AV).mQ(4L.o0,4L.o6).4t().mQ(4L.b0,4L.aq).mQ(4L.gu,4L.gv).2K(">ul").K4(3T.f5,3T.bC);if(3T.MZ){$(J).1J().Ji().2K(">.4g").ga(4L.AW,4L.AV).ga(4L.o0,4L.o6).4t().ga(4L.b0,4L.aq).ga(4L.gu,4L.gv).2K(">ul").J5(3T.f5,3T.bC)}}1a wU(){1a NZ(4f){1b 4f?1:0}K 1h=[];fY.2f(1a(i,e){1h[i]=$(e).is(":3l(>ul:6E)")?1:0});$.Bj(3T.B6,1h.4C(""))}1a IL(){K Bd=$.Bj(3T.B6);if(Bd){K 1h=Bd.3o("");fY.2f(1a(i,e){$(e).2K(">ul")[6g(1h[i])?"5f":"3U"]()})}}J.2r("ih");K fY=J.2K("li").Be(3T);3s(3T.O6){1l"Bj":K Bk=3T.bC;3T.bC=1a(){wU();if(Bk){Bk.31(J,2p)}};IL();1p;1l"nZ":K 5w=J.2K("a").4m(1a(){1b J.4Z.3L()==nZ.4Z.3L()});if(5w.1d){5w.2r("1S").bE("ul, li").4V(5w.3h()).5f()}1p}fY.Bf(3T,jm);if(3T.2T){IM(J,3T.2T);$(3T.2T).5f()}1b J.2W("4V",1a(1K,fY){$(fY).3K().4d(4L.6R).4d(4L.gu).4d(4L.gv).2K(">.4g").4d(4L.o0).4d(4L.o6);$(fY).2K("li").uR().Be(3T).Bf(3T,jm)})}});K 4L=$.fn.ih.fm={6H:"6H",Bg:"Bg",aq:"aq",AV:"aq-4g",o6:"gv-4g",b0:"b0",AW:"b0-4g",o0:"gu-4g",gu:"gu",gv:"gv",6R:"6R",4g:"4g"};$.fn.Oh=$.fn.ih})(2u);(1a($,2O){$.ch.J0="Od"in 3H;$.ch.J1="O9"in 3H;$.ch.Jc="O8"in 2G.9B;K $7I=1c,np=1j,$5h=$(3H),b4=0,98={},g0={},jx={},cU={3R:1c,4n:1c,29:"7F",Jf:1j,fq:eB,IR:1a($1Q){if($.ui&&$.ui.2D){$1Q.2V("5n","6Q").2D({my:"wv 1N",at:"wv 4D",of:J,2t:"0 5",km:"9M"}).2V("5n","3p")}1i{K 2t=J.2t();2t.1N+=J.aE();2t.28+=J.dt()/ 2 - $1Q.dt() /2;$1Q.2V(2t)}},2D:1a(1B,x,y){K $J=J,2t;if(!x&&!y){1B.IR.2x(J,1B.$1Q);1b}1i{if(x==="IN"&&y==="IN"){2t=1B.$1Q.2D()}1i{K Jl=1B.$29.bE().uR().4m(1a(){1b $(J).2V("2D")=="wn"}).1d;if(Jl){y-=$5h.58();x-=$5h.4Q()}2t={1N:y,28:x}}}K 4D=$5h.58()+$5h.1w(),7F=$5h.4Q()+$5h.1r(),1w=1B.$1Q.1w(),1r=1B.$1Q.1r();if(2t.1N+1w>4D){2t.1N-=1w}if(2t.28+1r>7F){2t.28-=1r}1B.$1Q.2V(2t)},Jd:1a($1Q){if($.ui&&$.ui.2D){$1Q.2V("5n","6Q").2D({my:"28 1N",at:"7F 1N",of:J,km:"9M"}).2V("5n","")}1i{K 2t={1N:0,28:J.dt()};$1Q.2V(2t)}},4k:NA,6r:{6O:0,5f:"Nz",3U:"NB"},5A:{5f:$.zI,3U:$.zI},2l:1c,1C:{}},aF={8z:1c,6N:1c,77:1c},Je=1a($t){K oO=0,$tt=$t,z=0;1n(K i=0;i<Ns;i++){z=6g($tt.2V("z-1T"),10);if(9Y(z)){z=0}oO=3B.4v(oO,z);$tt=$tt.1J();if(!$tt||(!$tt.1d||"3W 3O".4P($tt.7Q("8H").3L())>-1)){1p}}1b oO},4G={mz:1a(e){e.4c();e.c8()},5i:1a(e){K $J=$(J);e.4c();e.c8();if(e.1h.29!="7F"&&e.cQ){1b}if(!$J.4J("3t-1Q-2w")){$7I=$J;if(e.1h.9o){K B5=e.1h.9o($7I,e);if(B5===1j){1b}e.1h=$.4j(1o,{},cU,e.1h,B5||{});if(!e.1h.1C||$.Jr(e.1h.1C)){if(3H.bU){(bU.9x||bU.j4)("No 1C Js to 5f in 2I")}9i 1W 8V("No 2L Ju")}e.1h.$29=$7I;op.7H(e.1h)}op.5f.2x($J,e.1h,e.6N,e.77)}},3M:1a(e){e.4c();e.c8();$(J).29($.oP("5i",{1h:e.1h,6N:e.6N,77:e.77}))},74:1a(e){K $J=$(J);if($7I&&($7I.1d&&!$7I.is($J))){$7I.1h("2I").$1Q.29("5i:3U")}if(e.3Q==2){$7I=$J.1h("B1",1o)}},5p:1a(e){K $J=$(J);if($J.1h("B1")&&($7I&&($7I.1d&&($7I.is($J)&&!$J.4J("3t-1Q-2w"))))){e.4c();e.c8();$7I=$J;$J.29($.oP("5i",{1h:e.1h,6N:e.6N,77:e.77}))}$J.rD("B1")},mv:1a(e){K $J=$(J),$jt=$(e.mI),$2G=$(2G);if($jt.is(".3t-1Q-4I")||$jt.eL(".3t-1Q-4I").1d){1b}if($7I&&$7I.1d){1b}aF.6N=e.6N;aF.77=e.77;aF.1h=e.1h;$2G.on("9z.Jg",4G.9z);aF.8z=6m(1a(){aF.8z=1c;$2G.dN("9z.Jg");$7I=$J;$J.29($.oP("5i",{1h:aF.1h,6N:aF.6N,77:aF.77}))},e.1h.fq)},9z:1a(e){aF.6N=e.6N;aF.77=e.77},mt:1a(e){K $jt=$(e.mI);if($jt.is(".3t-1Q-4I")||$jt.eL(".3t-1Q-4I").1d){1b}7i{jd(aF.8z)}7x(e){}aF.8z=1c},Ja:1a(e){K $J=$(J),2n=$J.1h("8Q"),5p=1j,3Q=e.3Q,x=e.6N,y=e.77,3i,2t,ov;e.4c();e.c8();$J.on("5p",1a(){5p=1o});6m(1a(){K $3H,o7;if(2n.29=="28"&&3Q==0||2n.29=="7F"&&3Q==2){if(2G.tA){2n.$6c.3U();3i=2G.tA(x-$5h.4Q(),y-$5h.58());2n.$6c.5f();ov=[];1n(K s in 98){ov.1F(s)}3i=$(3i).eL(ov.4C(", "));if(3i.1d){if(3i.is(2n.$29[0])){2n.2D.2x(2n.$29,2n,x,y);1b}}}1i{2t=2n.$29.2t();$3H=$(3H);2t.1N+=$3H.58();if(2t.1N<=e.77){2t.28+=$3H.4Q();if(2t.28<=e.6N){2t.4D=2t.1N+2n.$29.aE();if(2t.4D>=e.77){2t.7F=2t.28+2n.$29.dt();if(2t.7F>=e.6N){2n.2D.2x(2n.$29,2n,x,y);1b}}}}}}o7=1a(e){if(e){e.4c();e.c8()}2n.$1Q.29("5i:3U");if(3i&&3i.1d){6m(1a(){3i.2I({x:x,y:y})},50)}};if(5p){o7()}1i{$J.on("5p",o7)}},50)},eU:1a(e,1B){if(!1B.cW){e.4c()}e.7C()},1q:1a(e){K 1B=$7I.1h("2I")||{},$6z=1B.$1Q.6z(),$4E;3s(e.3y){1l 9:;1l 38:4G.eU(e,1B);if(1B.cW){if(e.3y==9&&e.n5){e.4c();1B.$1S&&1B.$1S.2K("1Z, 7M, 2k").4M();1B.$1Q.29("u5");1b}1i{if(e.3y==38&&1B.$1S.2K("1Z, 7M, 2k").7Q("1v")=="7S"){e.4c();1b}}}1i{if(e.3y!=9||e.n5){1B.$1Q.29("u5");1b}};1l 40:4G.eU(e,1B);if(1B.cW){if(e.3y==9){e.4c();1B.$1S&&1B.$1S.2K("1Z, 7M, 2k").4M();1B.$1Q.29("oU");1b}1i{if(e.3y==40&&1B.$1S.2K("1Z, 7M, 2k").7Q("1v")=="7S"){e.4c();1b}}}1i{1B.$1Q.29("oU");1b}1p;1l 37:4G.eU(e,1B);if(1B.cW||(!1B.$1S||!1B.$1S.1d)){1p}if(!1B.$1S.1J().4J("3t-1Q-2n")){K $1J=1B.$1S.1J().1J();1B.$1S.29("5i:4M");1B.$1S=$1J;1b}1p;1l 39:4G.eU(e,1B);if(1B.cW||(!1B.$1S||!1B.$1S.1d)){1p}K o8=1B.$1S.1h("2I")||{};if(o8.$1Q&&1B.$1S.4J("3t-1Q-tJ")){1B.$1S=1c;o8.$1S=1c;o8.$1Q.29("oU");1b}1p;1l 35:;1l 36:if(1B.$1S&&1B.$1S.2K("1Z, 7M, 2k").1d){1b}1i{(1B.$1S&&1B.$1S.1J()||1B.$1Q).6z(":6s(.2w, .6s-jE)")[e.3y==36?"4w":"6R"]().29("5i:2U");e.4c();1b}1p;1l 13:4G.eU(e,1B);if(1B.cW){if(1B.$1S&&!1B.$1S.is("7M, 2k")){e.4c();1b}1p}1B.$1S&&1B.$1S.29("5p");1b;1l 32:;1l 33:;1l 34:4G.eU(e,1B);1b;1l 27:4G.eU(e,1B);1B.$1Q.29("5i:3U");1b;5q:K k=5c.vz(e.3y).8m();if(1B.fU[k]){1B.fU[k].$1s.29(1B.fU[k].$1Q?"5i:2U":"5p");1b}1p}e.7C();1B.$1S&&1B.$1S.29(e)},hc:1a(e){e.7C();K 1B=$(J).1h("2I")||{};if(1B.$1S){K $s=1B.$1S;1B=1B.$1S.1J().1h("2I")||{};1B.$1S=$s}K $6z=1B.$1Q.6z(),$3K=!1B.$1S||!1B.$1S.3K().1d?$6z.6R():1B.$1S.3K(),$4E=$3K;4e($3K.4J("2w")||$3K.4J("6s-jE")){if($3K.3K().1d){$3K=$3K.3K()}1i{$3K=$6z.6R()}if($3K.is($4E)){1b}}if(1B.$1S){4G.oG.2x(1B.$1S.4r(0),e)}4G.oI.2x($3K.4r(0),e);K $1Z=$3K.2K("1Z, 7M, 2k");if($1Z.1d){$1Z.2U()}},hg:1a(e){e.7C();K 1B=$(J).1h("2I")||{};if(1B.$1S){K $s=1B.$1S;1B=1B.$1S.1J().1h("2I")||{};1B.$1S=$s}K $6z=1B.$1Q.6z(),$3h=!1B.$1S||!1B.$1S.3h().1d?$6z.4w():1B.$1S.3h(),$4E=$3h;4e($3h.4J("2w")||$3h.4J("6s-jE")){if($3h.3h().1d){$3h=$3h.3h()}1i{$3h=$6z.4w()}if($3h.is($4E)){1b}}if(1B.$1S){4G.oG.2x(1B.$1S.4r(0),e)}4G.oI.2x($3h.4r(0),e);K $1Z=$3h.2K("1Z, 7M, 2k");if($1Z.1d){$1Z.2U()}},J9:1a(e){K $J=$(J).eL(".3t-1Q-1g"),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;2n.$1S=1B.$1S=$J;2n.cW=1B.cW=1o},J8:1a(e){K $J=$(J).eL(".3t-1Q-1g"),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;2n.cW=1B.cW=1j},Jk:1a(e){K 2n=$(J).1h().8Q;2n.o9=1o},Jo:1a(e){K 2n=$(J).1h().8Q;if(2n.$6c&&2n.$6c.is(e.mI)){2n.o9=1j}},oI:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;2n.o9=1o;if(e&&(2n.$6c&&2n.$6c.is(e.mI))){e.4c();e.c8()}(1B.$1Q?1B:2n).$1Q.6z(".6i").29("5i:4M");if($J.4J("2w")||$J.4J("6s-jE")){1B.$1S=1c;1b}$J.29("5i:2U")},oG:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;if(2n!==1B&&(2n.$6c&&2n.$6c.is(e.mI))){2n.$1S&&2n.$1S.29("5i:4M");e.4c();e.c8();2n.$1S=1B.$1S=1B.$1s;1b}$J.29("5i:4M")},J6:1a(e){K $J=$(J),1h=$J.1h(),1B=1h.2I,2n=1h.8Q,1q=1h.uN,2l;if(!1B.1C[1q]||($J.4J("2w")||$J.4J("3t-1Q-tJ"))){1b}e.4c();e.c8();if($.eh(2n.mw[1q])){2l=2n.mw[1q]}1i{if($.eh(2n.2l)){2l=2n.2l}1i{1b}}if(2l.2x(2n.$29,1q,2n)!==1j){2n.$1Q.29("5i:3U")}1i{if(2n.$1Q.1J().1d){op.8E.2x(2n.$29,2n)}}},Jn:1a(e){e.c8()},Jm:1a(e,1h){K 2n=$(J).1h("8Q");op.3U.2x(2n.$29,2n,1h&&1h.fh)},IP:1a(e){e.7C();K $J=$(J),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;$J.2r("6i").Ji(".6i").29("5i:4M");1B.$1S=2n.$1S=$J;if(1B.$1s){2n.Jd.2x(1B.$1s,1B.$1Q)}},IS:1a(e){e.7C();K $J=$(J),1h=$J.1h(),1B=1h.2I,2n=1h.8Q;$J.4d("6i");1B.$1S=1c}},op={5f:1a(1B,x,y){if(2H oc!="2O"&&oc){1b}oc=1o;K $J=$(J),2t,2V={};$("#3t-1Q-6c").29("74");1B.$29=$J;if(1B.5A.5f.2x($J,1B)===1j){$7I=1c;1b}op.8E.2x($J,1B);1B.2D.2x($J,1B,x,y);if(1B.4k){2V.4k=Je($J)+1B.4k}op.6c.2x(1B.$1Q,1B,2V.4k);1B.$1Q.2K("ul").2V("4k",2V.4k+1);1B.$1Q.2V(2V)[1B.6r.5f](1B.6r.6O);$J.1h("2I",1B);$(2G).dN("7R.2I").on("7R.2I",4G.1q);if(1B.Jf){K 3S=$J.2D();3S.7F=3S.28+$J.dt();3S.4D=3S.1N+J.aE();$(2G).on("9z.ug",1a(e){if(1B.$6c&&(!1B.o9&&(!(e.6N>=3S.28&&e.6N<=3S.7F)||!(e.77>=3S.1N&&e.77<=3S.4D)))){1B.$1Q.29("5i:3U")}})}},3U:1a(1B,fh){K $J=$(J);if(!1B){1B=$J.1h("2I")||{}}if(!fh&&(1B.5A&&1B.5A.3U.2x($J,1B)===1j)){1b}if(1B.$6c){6m(1a($6c){1b 1a(){$6c.3v()}}(1B.$6c),10);7i{3Y 1B.$6c}7x(e){1B.$6c=1c}}$7I=1c;1B.$1Q.2K(".6i").29("5i:4M");1B.$1S=1c;$(2G).dN(".ug").dN("7R.2I");1B.$1Q&&1B.$1Q[1B.6r.3U](1B.6r.6O,1a(){if(1B.9o){1B.$1Q.3v();$.2f(1B,1a(1q,1m){3s(1q){1l"ns":;1l"3R":;1l"9o":;1l"29":1b 1o;5q:1B[1q]=2O;7i{3Y 1B[1q]}7x(e){}1b 1o}})}});oc=1j},7H:1a(1B,2n){if(2n===2O){2n=1B}1B.$1Q=$(\'<ul 2y="3t-1Q-4I \'+(1B.bw||"")+\'"></ul>\').1h({"2I":1B,"8Q":2n});$.2f(["mw","oF","pK"],1a(i,k){1B[k]={};if(!2n[k]){2n[k]={}}});2n.fU||(2n.fU={});$.2f(1B.1C,1a(1q,1g){K $t=$(\'<li 2y="3t-1Q-1g \'+(1g.bw||"")+\'"></li>\'),$3D=1c,$1Z=1c;1g.$1s=$t.1h({"2I":1B,"8Q":2n,"uN":1q});if(1g.tW){K Lj=Jj(1g.tW);1n(K i=0,ak;ak=Lj[i];i++){if(!2n.fU[ak]){2n.fU[ak]=1g;1g.ox=1g.1x.3m(1W d5("("+ak+")","i"),\'<2A 2y="3t-1Q-tW">$1</2A>\');1p}}}if(2H 1g=="4a"){$t.2r("3t-1Q-5m 6s-jE")}1i{if(1g.1v&&jx[1g.1v]){jx[1g.1v].2x($t,1g,1B,2n);$.2f([1B,2n],1a(i,k){k.oF[1q]=1g;if($.eh(1g.2l)){k.mw[1q]=1g.2l}})}1i{if(1g.1v=="3W"){$t.2r("3t-1Q-3W 6s-jE")}1i{if(1g.1v){$3D=$("<3D></3D>").4n($t);$("<2A></2A>").3W(1g.ox||1g.1x).4n($3D);$t.2r("3t-1Q-1Z");1B.J7=1o;$.2f([1B,2n],1a(i,k){k.oF[1q]=1g;k.pK[1q]=1g})}1i{if(1g.1C){1g.1v="hL"}}}3s(1g.1v){1l"1X":$1Z=$(\'<1Z 1v="1X" 1m="1" 1x="3t-1Q-1Z-\'+1q+\'" 1m="">\').2d(1g.1m||"").4n($3D);1p;1l"7M":$1Z=$(\'<7M 1x="3t-1Q-1Z-\'+1q+\'"></7M>\').2d(1g.1m||"").4n($3D);if(1g.1w){$1Z.1w(1g.1w)}1p;1l"7S":$1Z=$(\'<1Z 1v="7S" 1m="1" 1x="3t-1Q-1Z-\'+1q+\'" 1m="">\').2d(1g.1m||"").7Q("3P",!!1g.1S).wd($3D);1p;1l"8f":$1Z=$(\'<1Z 1v="8f" 1m="1" 1x="3t-1Q-1Z-\'+1g.8f+\'" 1m="">\').2d(1g.1m||"").7Q("3P",!!1g.1S).wd($3D);1p;1l"2k":$1Z=$(\'<2k 1x="3t-1Q-1Z-\'+1q+\'">\').4n($3D);if(1g.1A){$.2f(1g.1A,1a(1m,1X){$("<2N></2N>").2d(1m).1X(1X).4n($1Z)});$1Z.2d(1g.1S)}1p;1l"hL":$("<2A></2A>").3W(1g.ox||1g.1x).4n($t);1g.4n=1g.$1s;op.7H(1g,2n);$t.1h("2I",1g).2r("3t-1Q-tJ");1g.2l=1c;1p;1l"3W":$(1g.3W).4n($t);1p;5q:$.2f([1B,2n],1a(i,k){k.oF[1q]=1g;if($.eh(1g.2l)){k.mw[1q]=1g.2l}});$("<2A></2A>").3W(1g.ox||(1g.1x||"")).4n($t);1p}if(1g.1v&&(1g.1v!="hL"&&1g.1v!="3W")){$1Z.on("2U",4G.J9).on("4M",4G.J8);if(1g.5A){$1Z.on(1g.5A,1B)}}if(1g.3J){$t.2r("3J 3J-"+1g.3J)}}}1g.$1Z=$1Z;1g.$3D=$3D;$t.4n(1B.$1Q);if(!1B.J7&&$.ch.Jc){$t.on("NR.NM",4G.mz)}});if(!1B.$1s){1B.$1Q.2V("5n","3p").2r("3t-1Q-2n")}1B.$1Q.4n(1B.4n||2G.3O)},8E:1a(1B,2n){K $J=J;if(2n===2O){2n=1B;1B.$1Q.2K("ul").uR().2V({2D:"w4",5n:"6Q"}).2f(1a(){K $J=$(J);$J.1r($J.2V("2D","8d").1r()).2V("2D","w4")}).2V({2D:"",5n:""})}1B.$1Q.6z().2f(1a(){K $1g=$(J),1q=$1g.1h("uN"),1g=1B.1C[1q],2w=$.eh(1g.2w)&&1g.2w.2x($J,1q,2n)||1g.2w===1o;$1g[2w?"2r":"4d"]("2w");if(1g.1v){$1g.2K("1Z, 2k, 7M").7Q("2w",2w);3s(1g.1v){1l"1X":;1l"7M":1g.$1Z.2d(1g.1m||"");1p;1l"7S":;1l"8f":1g.$1Z.2d(1g.1m||"").7Q("3P",!!1g.1S);1p;1l"2k":1g.$1Z.2d(1g.1S||"");1p}}if(1g.$1Q){op.8E.2x($J,1g,2n)}})},6c:1a(1B,4k){$l=$("#3t-1Q-6c");if($l){$l.3v()}K $6c=1B.$6c=$(\'<2B id="3t-1Q-6c" 2Y="2D:wn; z-1T:\'+4k+\'; 1N:0; 28:0; 2C: 0; 4m: cV(2C=0); hI-3n: #c5;"></2B>\').2V({1w:$5h.1w(),1r:$5h.1r(),5n:"6Q"}).1h("8Q",1B).6P(J).on("5i",4G.mz).on("74",4G.Ja);if(!$.ch.NO){$6c.2V({"2D":"8d","1w":$(2G).1w()})}1b $6c}};1a Jj(2d){K t=2d.3o(/\\s+/),8g=[];1n(K i=0,k;k=t[i];i++){k=k[0].8m();8g.1F(k)}1b 8g}$.fn.2I=1a(7z){if(7z===2O){J.4w().29("5i")}1i{if(7z.x&&7z.y){J.4w().29($.oP("5i",{6N:7z.x,77:7z.y}))}1i{if(7z==="3U"){K $1Q=J.1h("2I").$1Q;$1Q&&$1Q.29("5i:3U")}1i{if(7z==="1f"){if(J.1h("2I")!=1c){1b J.1h("2I").$1Q}1b[]}1i{if(7z){J.4d("3t-1Q-2w")}1i{if(!7z){J.2r("3t-1Q-2w")}}}}}}1b J};$.2I=1a(7z,1A){if(2H 7z!="4a"){1A=7z;7z="7H"}if(2H 1A=="4a"){1A={3R:1A}}1i{if(1A===2O){1A={}}}K o=$.4j(1o,{},cU,1A||{}),$2G=$(2G);3s(7z){1l"7H":if(!o.3R){9i 1W 8V("No 3R Js")}if(o.3R.3a(/.3t-1Q-(4I|1g|1Z)($|\\s)/)){9i 1W 8V(\'Nv 2W to 3R "\'+o.3R+\'" as it gG a Nw bw\')}if(!o.9o&&(!o.1C||$.Jr(o.1C))){9i 1W 8V("No 2L Ju")}b4++;o.ns=".2I"+b4;98[o.3R]=o.ns;g0[o.ns]=o;if(!o.29){o.29="7F"}if(!np){$2G.on({"5i:3U.2I":4G.Jm,"u5.2I":4G.hc,"oU.2I":4G.hg,"5i.2I":4G.mz,"mv.2I":4G.Jk,"mt.2I":4G.Jo},".3t-1Q-4I").on("5p.2I",".3t-1Q-1Z",4G.Jn).on({"5p.2I":4G.J6,"5i:2U.2I":4G.IP,"5i:4M.2I":4G.IS,"5i.2I":4G.mz,"mv.2I":4G.oI,"mt.2I":4G.oG},".3t-1Q-1g");np=1o}$2G.on("5i"+o.ns,o.3R,o,4G.5i);3s(o.29){1l"6i":$2G.on("mv"+o.ns,o.3R,o,4G.mv).on("mt"+o.ns,o.3R,o,4G.mt);1p;1l"28":$2G.on("3M"+o.ns,o.3R,o,4G.3M);1p}if(!o.9o){op.7H(o)}1p;1l"62":if(!o.3R){$2G.dN(".2I .ug");$.2f(98,1a(1q,1m){$2G.dN(1m)});98={};g0={};b4=0;np=1j;$("#3t-1Q-6c, .3t-1Q-4I").3v()}1i{if(98[o.3R]){K $nX=$(".3t-1Q-4I").4m(":6E");if($nX.1d&&$nX.1h().8Q.$29.is(o.3R)){$nX.29("5i:3U",{fh:1o})}7i{if(g0[98[o.3R]].$1Q){g0[98[o.3R]].$1Q.3v()}3Y g0[98[o.3R]]}7x(e){g0[98[o.3R]]=1c}$2G.dN(98[o.3R])}}1p;1l"Of":if(!$.ch.J1&&!$.ch.J0||2H 1A=="mL"&&1A){$(\'1Q[1v="3t"]\').2f(1a(){if(J.id){$.2I({3R:"[5i="+J.id+"]",1C:$.2I.IX(J)})}}).2V("5n","3p")}1p;5q:9i 1W 8V(\'fb 7z "\'+7z+\'"\')}1b J};$.2I.O3=1a(1B,1h){if(1h===2O){1h={}}$.2f(1B.pK,1a(1q,1g){3s(1g.1v){1l"1X":;1l"7M":1g.1m=1h[1q]||"";1p;1l"7S":1g.1S=1h[1q]?1o:1j;1p;1l"8f":1g.1S=(1h[1g.8f]||"")==1g.1m?1o:1j;1p;1l"2k":1g.1S=1h[1q]||"";1p}})};$.2I.O1=1a(1B,1h){if(1h===2O){1h={}}$.2f(1B.pK,1a(1q,1g){3s(1g.1v){1l"1X":;1l"7M":;1l"2k":1h[1q]=1g.$1Z.2d();1p;1l"7S":1h[1q]=1g.$1Z.7Q("3P");1p;1l"8f":if(1g.$1Z.7Q("3P")){1h[1g.8f]=1g.1m}1p}});1b 1h};1a je(1s){1b 1s.id&&$(\'3D[1n="\'+1s.id+\'"]\').2d()||1s.1x}1a u4(1C,$6z,b4){if(!b4){b4=0}$6z.2f(1a(){K $1s=$(J),1s=J,8H=J.8H.3L(),3D,1g;if(8H=="3D"&&$1s.2K("1Z, 7M, 2k").1d){3D=$1s.1X();$1s=$1s.6z().4w();1s=$1s.4r(0);8H=1s.8H.3L()}3s(8H){1l"1Q":1g={1x:$1s.1k("3D"),1C:{}};b4=u4(1g.1C,$1s.6z(),b4);1p;1l"a":;1l"3Q":1g={1x:$1s.1X(),2w:!!$1s.1k("2w"),2l:1a(){1b 1a(){$1s.3M()}}()};1p;1l"IU":;1l"7Z":3s($1s.1k("1v")){1l 2O:;1l"7Z":;1l"IU":1g={1x:$1s.1k("3D"),2w:!!$1s.1k("2w"),2l:1a(){1b 1a(){$1s.3M()}}()};1p;1l"7S":1g={1v:"7S",2w:!!$1s.1k("2w"),1x:$1s.1k("3D"),1S:!!$1s.1k("3P")};1p;1l"8f":1g={1v:"8f",2w:!!$1s.1k("2w"),1x:$1s.1k("3D"),8f:$1s.1k("MS"),1m:$1s.1k("id"),1S:!!$1s.1k("3P")};1p;5q:1g=2O}1p;1l"hr":1g="-------";1p;1l"1Z":3s($1s.1k("1v")){1l"1X":1g={1v:"1X",1x:3D||je(1s),2w:!!$1s.1k("2w"),1m:$1s.2d()};1p;1l"7S":1g={1v:"7S",1x:3D||je(1s),2w:!!$1s.1k("2w"),1S:!!$1s.1k("3P")};1p;1l"8f":1g={1v:"8f",1x:3D||je(1s),2w:!!$1s.1k("2w"),8f:!!$1s.1k("1x"),1m:$1s.2d(),1S:!!$1s.1k("3P")};1p;5q:1g=2O;1p}1p;1l"2k":1g={1v:"2k",1x:3D||je(1s),2w:!!$1s.1k("2w"),1S:$1s.2d(),1A:{}};$1s.6z().2f(1a(){1g.1A[J.1m]=$(J).1X()});1p;1l"7M":1g={1v:"7M",1x:3D||je(1s),2w:!!$1s.1k("2w"),1m:$1s.2d()};1p;1l"3D":1p;5q:1g={1v:"3W",3W:$1s.5Q(1o)};1p}if(1g){b4++;1C["1q"+b4]=1g}});1b b4}$.2I.IX=1a(1f){K $J=$(1f),1C={};u4(1C,$J.6z());1b 1C};$.2I.cU=cU;$.2I.jx=jx})(2u);K Kc=1a(id){J.id=id;J.1f=1c;J.2E=1W 3Z;J.lH=0;J.u1=20;J.tY=1a(2E){3Y J.2E;J.2E=1W 3Z;K li=1W 3Z;1n(K i=0;i<2E.1d;i++){K 1m=2E[i];li.1F(\'<li 1m="\'+i+\'" 2y="\'+1m.d3+\'">\'+1m.1X+"</li>");J.2E.1F(1m.1m)}J.1f.3W("<ul>"+li.4C("\\n")+"</ul>");K me=J;J.1f.5a("5p",1a(e){K li=e.3i;if(li.5Z.8m()!="LI"){1b}K $li=$(e.3i);e.7C();J.p5.pe($li.1X(),me.p5.iL(li.1m))},J).5a("74",1a(e){e.7C()},J);J.K2();J.pD(10)};J.K2=1a(){J.1f.2V("gh","6X");J.1f.5f();K 9y=J.1f.2K("li");if(9y.1d>0){J.u1=9y[0].b9}J.1f.2V("gh","6E");J.1f.3U()};J.pD=1a(lM){if(J.1f.2K("li").1d>lM){J.lH=J.u1*lM;J.1f.2V("1w",J.lH+"px");J.1f.2V("gb","6b")}1i{J.1f.2V("1w","6b");J.1f.2V("gb","6E")}};J.iL=1a(1T){1b J.2E[1T]};J.JY=1a(){J.1f.2K("li").4d("3a")};J.wl=1a(1X){K aZ=iM(1X);J.JY();K 8t=J.pM(aZ);$(8t).2r("3a");if(8t.1d>0){J.qa($(8t[0]))}1i{J.uI()}};J.Kg=1a(1X){K aZ=iM(1X);K 8t=J.pM(aZ);K 5w=J.i6();if(5w.1d>0&&8t.1d>1){K 1T=8t.4P(5w[0]);if(1T<8t.1d-1){1b $(8t[1T+1])}1i{1b $(8t[0])}}1b 1c};J.Kf=1a(1X){K aZ=iM(1X);K 8t=J.pM(aZ);K 5w=J.i6();if(5w.1d>0&&8t.1d>1){K 1T=8t.4P(5w[0]);if(1T>0){1b $(8t[1T-1])}1i{1b $(8t[8t.1d-1])}}1b 1c};J.pM=1a(1X){K 1I=[];if(1L(1X)){1b 1I}K cl=1X.3m(/([$-/:-?{-~!"^1R`\\[\\]\\\\])/g, "\\\\$1");K 9y=J.1f.2K("li");1n(K i=0;i<9y.1d;i++){K li=9y[i];K ut=iM(!1L(li.K1)?li.K1:li.Nb);K uM=iM(J.iL(li.1m));if(QB.1e.3k.tj){cl="(^"+1X+")|([.]"+1X+")"}if(1X==ut||1X==uM){1I.1F(li)}1i{if(ut.9C(cl)||uM.9C(cl)){1I.1F(li)}}}1b 1I};J.tI=1a(){J.1f.2K("li.1S").4d("1S")};J.tU=1a(1X,bB,fG){K li=J.i6();if(!li.1d){li=J.uI()}K dL=1c;if(bB=="da"){if(fG){dL=J.Kg(1X)}if(dL==1c){dL=li.3h()}}1i{if(bB=="up"){if(fG){dL=J.Kf(1X)}if(dL==1c){dL=li.3K()}}}if(dL!=1c){J.qa(dL);J.Kb(li)}};J.qa=1a(li){J.tI();li.2r("1S");J.K9(li)};J.uI=1a(){K 4w=J.1f.2K("li:4w");J.qa(4w);1b 4w};J.Kb=1a(jF){jF.4d("1S")};J.i6=1a(){1b J.1f.2K("li.1S")};J.K9=1a(jF){if(J.lH&&(jF!=1c&&jF.1d>0)){J.1f.58(jF[0].9a-J.lH/2)}};J.7A=1a(){J.1f=$(\'<2B 2y="bi-2k-1A"></2B>\').4n($(2G.3O))};J.7A()};K 9v={pc:{},bu:[],si:{},uF:1j,3t:1c,7A:1a(){J.Kd();J.uF=1o},Kd:1a(){},uD:1a(9h){if(1L(9h)||1L(J.pc[9h])){J.pc[9h]=1W Kc(9h)}1b J.pc[9h]},zQ:1a(id,2E){J.uD(id).tY(2E)}};(1a($){$.fn.yV=1a(1A){if(!9v.uF){9v.7A()}K me=J;K cU={8K:1j,f9:1o,lM:10,PT:1j};K 3T=$.4j(cU,1A);K pf=1j;$(J).2f(1a(i,uG){K 1f=$(uG);if(1f.1h("bi-gA")==2O){9v.bu.1F(1W uC(uG,3T));1f.1h("bi-gA",9v.bu.1d-1)}});1b $(J)};$.fn.yO=1a(){K 7J=[];$(J).2f(1a(){if($(J).1h("bi-gA")!==2O){7J[7J.1d]=9v.bu[$(J).1h("bi-gA")]}});1b 7J};K uC=1a(2k,3T){J.7A(2k,3T)};uC.2Q={hO:1j,3T:1j,5B:1j,2k:1j,5P:1j,9h:1c,gD:1j,Pu:1j,8K:1j,Px:13,aZ:"",Pw:[],fG:1j,JG:1j,7A:1a(2k,3T){J.3T=3T;J.9h=J.3T.9h;J.5P=9v.uD(J.9h);J.7l=J.3T.f9;if(!1L(J.9h)){9v.si[J.9h]=J.3T.f9}J.1A=[];if(!1L(J.3T.1A)){J.1A=J.3T.1A}J.2k=$(2k);J.5B=$(\'<1Z 1v="1X">\');J.5B.1k("5C-3D",J.2k.1k("5C-3D"));J.5B.2d(J.3T.1m);J.5B.1k("1x",J.2k.1k("1x"));J.5B.1h("bi-gA",J.2k.1h("bi-gA"));J.2k.1k("2w","2w");K id=J.2k.1k("id");if(!id){id="bi-2k"+9v.bu.1d}J.id=id;J.5B.1k("id",id);J.5B.1k("Pq","dN");J.5B.2r("bi-2k");J.2k.1k("id",id+"Ps");J.JF(J.5B,J);J.JH();J.HB();J.Hw();if(J.3T.8K){K 8K=$(\'<cn PC="0" 2y="bi-2k-cn" 46="Fm:uQ;"></cn>\');$(2G.3O).2X(8K);8K.1r(J.2k.1r()+2);8K.1w(J.5P.1f.1w());8K.2V({1N:J.5P.1f.2V("1N"),28:J.5P.1f.2V("28")});J.8K=8K}},JH:1a(){K me=J;K PF=1j;K 2E=1W 3Z;J.2k.2K("2N").2f(1a(1T,2N){K $2N=$(2N);K 1X=$2N.1X();K 2d=$2N.1k("1m");K 1S=1j;if($2N.1k("1S")||2N.1S){me.5B.2d(1X);me.aZ=1X;me.Jz=2d;1S=1o}K d3=$2N.1k("2y");2E.1F({1S:1S,1X:1X,1m:2d,d3:d3})});if(2E.1d>0){J.5P.tY(2E);J.5P.1f.2r("qQ-Ce");J.5P.pD(J.3T.lM)}},yQ:1a(){1b J.5B},f9:1a(){K 3t=J.5P.p5;if(2H 3t.7l=="1a"){3t.7l.2x(3t,3t.5B)}},tT:1a(){if(J.hO){1b}J.hO=1o;J.aZ=J.5B.2d();J.fG=1j;J.tP(J);if(J.JG){J.mg()}},i5:1a(){if(!J.hO){1b}J.5P.tI();J.qf();J.f9();J.hO=1j},JB:1a(Pz){if(J.5B.2d()!=J.aZ){J.fG=1o;J.aZ=J.5B.2d();J.5P.wl(J.5B.2d())}},JF:1a(5B,PB){K me=J;K 8z=1j;5B.2U(1a(e){me.tT()}).4M(1a(e){if(!me.gD){me.i5()}}).3M(1a(e){e.7C();me.tT();if(e.6N-$(J).2t().28>$(J).1r()-16){if(me.gD){me.qf()}1i{me.mg()}}}).7R(1a(e){me.hO=1o;3s(e.3y){1l 40:if(!me.tK()){me.mg()}1i{e.4c();me.5P.tU(me.5B.2d(),"da",me.fG)}1p;1l 38:if(!me.tK()){me.mg()}1i{e.4c();me.5P.tU(me.5B.2d(),"up",me.fG)}1p;1l 9:K $li=me.5P.i6();if($li.1d){me.pe($li.1X(),me.iL($li[0].1m))}1p;1l 27:e.4c();me.i5();1b 1j;1p;1l 13:e.4c();if(!me.gD){me.i5()}1i{K $li=me.5P.i6();if($li.1d){me.pe($li.1X(),me.iL($li[0].1m))}}1b 1j;1p}}).Ba($.gX(me.JB,7e,me)).hi(1a(e){if(e.3y==13){e.4c();1b 1j}})},pe:1a(1X,2d){J.aZ=1X;J.Jz=2d;J.5B.2d(2d);J.i5()},tK:1a(){1b J.gD},tP:1a(3t){J.JI();J.JR();9v.3t=3t;J.5P.p5=3t},JI:1a(){K 2t=J.5B.2t();2t.1N+=J.5B[0].b9;J.5P.1f.2V({1N:2t.1N+"px",28:2t.28+"px"})},JR:1a(){K 1r=J.5B[0].jV;J.5P.1f.1r(1r);J.5B.1r(1r)},mg:1a(){J.JK();J.76=1W $.ui.cB.76(J);J.5P.1f.5f();J.tP(J);J.gD=1o;if(J.3T.8K){J.8K.5f()}J.5P.pD(10);J.5P.wl(J.5B.2d())},iL:1a(1T){1b J.5P.2E[1T]},qf:1a(){if(J.76!=1c){J.76.62()}J.5P.1f.3U();J.gD=1j;if(J.3T.8K){J.8K.3U()}},JK:1a(){1n(K i=0;i<9v.bu.1d;i++){if(i!=J.2k.1h("bi-gA")){9v.bu[i].qf()}}},HB:1a(){J.2k.sY(J.5B);J.2k.3U();$(2G.3O).2X(J.5P.1f)},Hw:1a(){K 1r=J.2k.1r()+2*0;if(J.8K){J.8K.1r(1r+4)}}};$.ui.cB={76:1a(3e){J.$el=$.ui.cB.76.7H(3e)}};$.4j($.ui.cB.76,{2m:J,bu:[],Pe:[],mT:xa,5A:$.du("2U,74,7R,hi".3o(","),1a(1K){1b 1K+".3e-76"}).4C(" "),7H:1a(3e){if(J.bu.1d===0){$(3H).2W("6Y.3e-76",$.ui.cB.76.6Y)}K $el=$(\'<2B 2y="bi-2k-1A-76"></2B>\').4n(3e.5B.1J()).2V({1r:J.1r(),1w:J.1w()});$el.2W("74.3e-76",1a(1K){3e.i5();K 1f=2G.tA(1K.9R,1K.9K);if(1f!=1c){7i{K bH="3M";if(1f.wV){K e=2G.HN("Pm");e.HE(bH,1o,1o,3H,0,1K.H9,1K.H8,1K.9R,1K.9K,1j,1j,1j,1j,0,1c);1f.wV(e)}1i{if(1f.Hc){1f.Hc("on"+bH)}}}7x(P3){}}});if($.fn.e2){$el.e2()}J.bu.1F($el);1b $el},62:1a($el){if($el!=1c){$el.3v()}if(J.bu.1d===0){$([2G,3H]).7D(".3e-76")}},1w:1a(){K rs,b9;1b $(2G).1w()+"px"},1r:1a(){K yl,eF;1b $(2G).1r()+"px"},6Y:1a(){K $pI=$([]);$.2f($.ui.cB.76.bu,1a(){$pI=$pI.4V(J)});$pI.2V({1r:0,1w:0}).2V({1r:$.ui.cB.76.1r(),1w:$.ui.cB.76.1w()})}});$.4j($.ui.cB.76.2Q,{62:1a(){$.ui.cB.76.62(J.$el)}})})(2u);(1a($){K R=$.iv=$.fn.iv=1a(a,b,c){1b R.vd(lz.31(J,2p))};1a lz(a,b,c){K r=$.4j({},R);if(2H a=="4a"){r.54=a;if(b&&!$.eh(b)){r.ed=b}1i{c=b}if(c){r.As=c}}1i{$.4j(r,a)}if(!r.43){r.43=$.Hn?"OD":"Aq"}if(!r.3i){r.3i=J?J:$}if(!r.1v&&!$.Hn){r.1v="Qg"}1b r}$.4j(R,{7g:"0.5",54:1c,ed:Ql,As:1c,43:1c,vd:1a(r){if(r.i7){r.i7()}r.id=lo(1a(){r.iv(r)},r.ed*93);r.i7=1a(){pt(r.id);1b r};1b r},iv:1a(r){if(r.vp){3Y r.vp}r.vp=r.3i[r.43](r)}})})(2u);2u.4b={aT:1c,9p:1c,oj:1c,sz:0,9o:1a(1A){J.2f(1a(){J.aY=2u.4j({My:1c,KN:1c,lm:"Nl",qT:1c,kU:1c,lr:5,wO:/[^\\-]*$/,Np:1c,n4:1c},1A||{});2u.4b.v2(J)});2u(2G).2W("9z",2u.4b.9z).2W("5p",2u.4b.5p);1b J},v2:1a(1O){K 6J=1O.aY;if(1O.aY.n4){$(2G).on("74","#qb-ui-42 td."+1O.aY.n4,1a(ev){2u.4b.9p=J.3j;2u.4b.aT=1O;2u.4b.oj=2u.4b.v5(J,ev);if(6J.kU){6J.kU(1O,J)}1b 1j})}1i{K 3b=2u("tr",1O);$(2G).on("74","#qb-ui-42 1O td."+1O.aY.n4,1a(ev){if(ev.3i.5Z=="TD"){2u.4b.9p=J;2u.4b.aT=1O;2u.4b.oj=2u.4b.v5(J,ev);if(6J.kU){6J.kU(1O,J)}1b 1j}})}},KY:1a(){J.2f(1a(){if(J.aY){2u.4b.v2(J)}})},vt:1a(ev){if(ev.6N||ev.77){1b{x:ev.6N,y:ev.77}}1b{x:ev.9R+2G.3O.4Q-2G.3O.jQ,y:ev.9K+2G.3O.58-2G.3O.jO}},v5:1a(3i,ev){ev=ev||3H.1K;K vI=J.r4(3i);K gn=J.vt(ev);1b{x:gn.x-vI.x,y:gn.y-vI.y}},r4:1a(e){K 28=0;K 1N=0;if(e.b9==0){e=e.7w}4e(e.dJ){28+=e.8c;1N+=e.9a;e=e.dJ}28+=e.8c;1N+=e.9a;1b{x:28,y:1N}},9z:1a(ev){if(2u.4b.9p==1c){1b}K t7=2u(2u.4b.9p);K 6J=2u.4b.aT.aY;K gn=2u.4b.vt(ev);K y=gn.y-2u.4b.oj.y;K ls=3H.Fc;if(2G.6y){if(2H 2G.Mw!="2O"&&2G.Mw!="NC"){ls=2G.9B.58}1i{if(2H 2G.3O!="2O"){ls=2G.3O.58}}}if(gn.y-ls<6J.lr){3H.zS(0,-6J.lr)}1i{K Mk=3H.Mo?3H.Mo:2G.9B.pP?2G.9B.pP:2G.3O.pP;if(Mk-(gn.y-ls)<6J.lr){3H.zS(0,6J.lr)}}if(y!=2u.4b.sz){K vM=y>2u.4b.sz;2u.4b.sz=y;if(6J.lm){t7.2r(6J.lm)}1i{t7.2V(6J.My)}K gy=2u.4b.KQ(t7,y);if(gy&&gy.bw!="ui-qb-42-1H-83"){if(vM&&2u.4b.9p!=gy){2u.4b.9p.3j.6P(2u.4b.9p,gy.jN)}1i{if(!vM&&2u.4b.9p!=gy){2u.4b.9p.3j.6P(2u.4b.9p,gy)}}}}1b 1j},KQ:1a(vh,y){K 3b=2u.4b.aT.3b;1n(K i=0;i<3b.1d;i++){K 1H=3b[i];K r8=J.r4(1H).y;K qY=6g(1H.b9)/2;if(1H.b9==0){r8=J.r4(1H.7w).y;qY=6g(1H.7w.b9)/2}if(y>r8-qY&&y<r8+qY){if(1H==vh){1b 1c}K 6J=2u.4b.aT.aY;if(6J.KK){if(6J.KK(vh,1H)){1b 1H}1i{1b 1c}}1i{K wF=2u(1H).4J("wF");if(!wF){1b 1H}1i{1b 1c}}1b 1H}}1b 1c},5p:1a(e){if(2u.4b.aT&&2u.4b.9p){K qr=2u.4b.9p;K 6J=2u.4b.aT.aY;if(6J.lm){2u(qr).4d(6J.lm)}1i{2u(qr).2V(6J.KN)}2u.4b.9p=1c;if(6J.qT){6J.qT(2u.4b.aT,qr)}2u.4b.aT=1c}},wU:1a(){if(2u.4b.aT){1b 2u.4b.wL(2u.4b.aT)}1i{1b"8V: No bR id 5s, FK K5 to 5s an id on Q7 1O rH wN 1H"}},wL:1a(1O){K 1I="";K KZ=1O.id;K 3b=1O.3b;1n(K i=0;i<3b.1d;i++){if(1I.1d>0){1I+="&"}K hE=3b[i].id;if(hE&&(hE&&(1O.aY&&1O.aY.wO))){hE=hE.3a(1O.aY.wO)[0]}1I+=KZ+"[]="+hE}1b 1I},Ks:1a(){K 1I="";J.2f(1a(){1I+=2u.4b.wL(J)});1b 1I}};2u.fn.4j({4b:2u.4b.9o,Q3:2u.4b.KY,Qs:2u.4b.Ks});(1a($){$.8v("ui.3d",{1A:{4n:"3O",C3:93,2Y:"fK",ER:1c,1r:1c,mW:1c,E6:26,8U:1c,bp:1c,6x:1c,Cx:1j,lD:1a(){}},t5:1a(){K 2m=J,o=J.1A;K qA=J.1f.Qe().1k("id");J.cO=[qA,qA+"-3Q",qA+"-1Q"];J.rz=1o;J.iU=1j;J.63=$("<a />",{"2y":"ui-3d ui-8v ui-4X-5q ui-9N-6y","id":J.cO[1],"g5":"3Q","4Z":"#uy","5W":J.1f.1k("2w")?1:0,"5C-PA":1o,"5C-Py":J.cO[2]});J.uE=$("<2A />").2X(J.63).fA(J.1f);K 5W=J.1f.1k("5W");if(5W){J.63.1k("5W",5W)}J.63.1h("BJ",J.1f);J.D2=$(\'<2A 2y="ui-3d-3J ui-3J"></2A>\').wd(J.63);J.63.hY(\'<2A 2y="ui-3d-6t" />\');J.1f.2W({"3M.3d":1a(1K){2m.63.2U();1K.4c()}});J.63.2W("74.3d",1a(1K){2m.uw(1K,1o);if(o.2Y=="ie"){2m.rz=1j;6m(1a(){2m.rz=1o},oy)}1K.4c()}).2W("3M.3d",1a(1K){1K.4c()}).2W("7R.3d",1a(1K){K 7J=1j;3s(1K.3y){1l $.ui.3y.LG:7J=1o;1p;1l $.ui.3y.LJ:2m.uw(1K);1p;1l $.ui.3y.UP:if(1K.s4){2m.6H(1K)}1i{2m.jn(-1)}1p;1l $.ui.3y.Kx:if(1K.s4){2m.6H(1K)}1i{2m.jn(1)}1p;1l $.ui.3y.Ly:2m.jn(-1);1p;1l $.ui.3y.Lx:2m.jn(1);1p;1l $.ui.3y.Le:7J=1o;1p;1l $.ui.3y.LR:;1l $.ui.3y.LP:2m.1T(0);1p;1l $.ui.3y.LM:;1l $.ui.3y.LH:2m.1T(2m.82.1d);1p;5q:7J=1o}1b 7J}).2W("hi.3d",1a(1K){if(1K.iz>0){2m.uP(1K.iz,"5p")}1b 1o}).2W("gR.3d",1a(){if(!o.2w){$(J).2r("ui-4X-6i")}}).2W("dS.3d",1a(){if(!o.2w){$(J).4d("ui-4X-6i")}}).2W("2U.3d",1a(){if(!o.2w){$(J).2r("ui-4X-2U")}}).2W("4M.3d",1a(){if(!o.2w){$(J).4d("ui-4X-2U")}});$(2G).2W("74.3d-"+J.cO[0],1a(1K){if(2m.iU&&!$(1K.3i).eL("#"+2m.cO[1]).1d){2m.5r(1K)}});J.1f.2W("3M.3d",1a(){2m.mb()}).2W("2U.3d",1a(){if(2m.63){2m.63[0].2U()}});if(!o.1r){o.1r=J.1f.dt()}J.63.1r(o.1r);J.1f.3U();J.4I=$("<ul />",{"2y":"ui-8v ui-8v-aB","5C-6X":1o,"g5":"N7","5C-N3":J.cO[1],"id":J.cO[2]});J.gP=$("<2B />",{"2y":"ui-3d-1Q"}).2X(J.4I).4n(o.4n);J.4I.2W("7R.3d",1a(1K){K 7J=1j;3s(1K.3y){1l $.ui.3y.UP:if(1K.s4){2m.5r(1K,1o)}1i{2m.ds(-1)}1p;1l $.ui.3y.Kx:if(1K.s4){2m.5r(1K,1o)}1i{2m.ds(1)}1p;1l $.ui.3y.Ly:2m.ds(-1);1p;1l $.ui.3y.Lx:2m.ds(1);1p;1l $.ui.3y.LP:2m.ds(":4w");1p;1l $.ui.3y.LR:2m.tH("up");1p;1l $.ui.3y.LM:2m.tH("da");1p;1l $.ui.3y.LH:2m.ds(":6R");1p;1l $.ui.3y.LG:;1l $.ui.3y.LJ:2m.5r(1K,1o);$(1K.3i).bE("li:eq(0)").29("5p");1p;1l $.ui.3y.Le:7J=1o;2m.5r(1K,1o);$(1K.3i).bE("li:eq(0)").29("5p");1p;1l $.ui.3y.Oi:2m.5r(1K,1o);1p;5q:7J=1o}1b 7J}).2W("hi.3d",1a(1K){if(1K.iz>0){2m.uP(1K.iz,"2U")}1b 1o}).2W("74.3d 5p.3d",1a(){1b 1j});$(3H).2W("6Y.3d-"+J.cO[0],$.9k(2m.5r,J))},vW:1a(){K 2m=J,o=J.1A;K 89=[];J.1f.2K("2N").2f(1a(){K 1B=$(J);89.1F({1m:1B.1k("1m"),1X:2m.Cy(1B.1X(),1B),1S:1B.1k("1S"),2w:1B.1k("2w"),fm:1B.1k("2y"),nb:1B.1k("nb"),nP:1B.1J("uT"),lD:o.lD.2x(1B)})});K iD=2m.1A.2Y=="ie"?" ui-4X-9L":"";J.4I.3W("");if(89.1d){1n(K i=0;i<89.1d;i++){K wi={g5:"uz"};if(89[i].2w){wi["2y"]="ui-4X-2w"}K ra={3W:89[i].1X||"&2o;",4Z:"#uy",5W:-1,g5:"2N","5C-1S":1j};if(89[i].2w){ra["5C-2w"]=1o}if(89[i].nb){ra["nb"]=89[i].nb}K Lh=$("<a/>",ra).2W("2U.3d",1a(){$(J).1J().gR()}).2W("4M.3d",1a(){$(J).1J().dS()});K eD=$("<li/>",wi).2X(Lh).1h("1T",i).2r(89[i].fm).1h("gJ",89[i].fm||"").2W("5p.3d",1a(1K){if(2m.rz&&(!2m.mi(1K.8e)&&!2m.mi($(1K.8e).bE("ul > li.ui-3d-aX ")))){2m.1T($(J).1h("1T"));2m.2k(1K);2m.5r(1K,1o)}1b 1j}).2W("3M.3d",1a(){1b 1j}).2W("gR.3d",1a(e){if(!$(J).4J("ui-4X-2w")&&!$(J).1J("ul").1J("li").4J("ui-4X-2w")){e.Lo=2m.1f[0].1A[$(J).1h("1T")].1m;2m.7v("6i",e,2m.eK());2m.bk().2r(iD);2m.n3().4d("ui-3d-1g-2U ui-4X-6i");$(J).4d("ui-4X-9L").2r("ui-3d-1g-2U ui-4X-6i")}}).2W("dS.3d",1a(e){if($(J).is(2m.bk())){$(J).2r(iD)}e.Lo=2m.1f[0].1A[$(J).1h("1T")].1m;2m.7v("4M",e,2m.eK());$(J).4d("ui-3d-1g-2U ui-4X-6i")});if(89[i].nP.1d){K rw="ui-3d-aX-"+J.1f.2K("uT").1T(89[i].nP);if(J.4I.2K("li."+rw).1d){J.4I.2K("li."+rw+":6R ul").2X(eD)}1i{$(\'<li g5="uz" 2y="ui-3d-aX \'+rw+(89[i].nP.1k("2w")?" "+\'ui-4X-2w" 5C-2w="1o"\':\'"\')+\'><2A 2y="ui-3d-aX-3D">\'+89[i].nP.1k("3D")+"</2A><ul></ul></li>").4n(J.4I).2K("ul").2X(eD)}}1i{eD.4n(J.4I)}if(o.bp){1n(K j in o.bp){if(eD.is(o.bp[j].2K)){eD.1h("gJ",89[i].fm+" ui-3d-Lk").2r("ui-3d-Lk");K rb=o.bp[j].3J||"";eD.2K("a:eq(0)").hY(\'<2A 2y="ui-3d-1g-3J ui-3J \'+rb+\'"></2A>\');if(89[i].lD){eD.2K("2A").2V("hI-8y",89[i].lD)}}}}}}1i{$(\'<li g5="uz"><a 4Z="#uy" 5W="-1" g5="2N"></a></li>\').4n(J.4I)}K fs=o.2Y=="fK";J.63.8N("ui-3d-fK",fs).8N("ui-3d-ie",!fs);J.4I.8N("ui-3d-1Q-fK ui-9N-4D",fs).8N("ui-3d-1Q-ie ui-9N-6y",!fs).2K("li:4w").8N("ui-9N-1N",!fs).4t().2K("li:6R").2r("ui-9N-4D");J.D2.8N("ui-3J-ip-1-s",fs).8N("ui-3J-ip-2-n-s",!fs);if(o.2Y=="fK"){J.4I.1r(o.mW?o.mW:o.1r)}1i{J.4I.1r(o.mW?o.mW:o.1r-o.E6)}if(!aP.ek.3a(/MX 2/)){K DA=J.gP.1w();K uf=$(3H).1w();K uh=o.8U?3B.5M(o.8U,uf):uf/3;if(DA>uh){J.4I.1w(uh)}}J.82=J.4I.2K("li:6s(.ui-3d-aX)");if(J.1f.1k("2w")){J.qQ()}1i{J.Cj()}J.mb();J.bk().2r("ui-3d-1g-2U");jd(J.DC);J.DC=3H.6m(1a(){2m.ws()},eB)},62:1a(){J.1f.rD(J.MV).4d("ui-3d-2w"+" "+"ui-4X-2w").hP("5C-2w").7D(".3d");$(3H).7D(".3d-"+J.cO[0]);$(2G).7D(".3d-"+J.cO[0]);J.uE.3v();J.gP.3v();J.1f.7D(".3d").5f();$.zH.2Q.62.31(J,2p)},uP:1a(Bz,uu){K 2m=J,c=5c.vz(Bz).3L(),mo=1c,d8=1c;if(2m.mn){3H.jd(2m.mn);2m.mn=2O}2m.fO=(2m.fO===2O?"":2m.fO).3F(c);if(2m.fO.1d<2||2m.fO.72(-2,1)===c&&2m.mq){2m.mq=1o;mo=c}1i{2m.mq=1j;mo=2m.fO}K bA=(uu!=="2U"?J.bk().1h("1T"):J.n3().1h("1T"))||0;1n(K i=0;i<J.82.1d;i++){K BT=J.82.eq(i).1X().72(0,mo.1d).3L();if(BT===mo){if(2m.mq){if(d8===1c){d8=i}if(i>bA){d8=i;1p}}1i{d8=i}}}if(d8!==1c){J.82.eq(d8).2K("a").29(uu)}2m.mn=3H.6m(1a(){2m.mn=2O;2m.fO=2O;2m.mq=2O},2m.1A.C3)},eK:1a(){K 1T=J.1T();1b{1T:1T,2N:$("2N",J.1f).4r(1T),1m:J.1f[0].1m}},6H:1a(1K){if(J.63.1k("5C-2w")!="1o"){K 2m=J,o=J.1A,1S=J.bk(),2a=1S.2K("a");2m.C2(1K);2m.63.2r("ui-4X-9L");2m.4I.1k("5C-6X",1j);2m.gP.2r("ui-3d-6H");if(o.2Y=="fK"){2m.63.4d("ui-9N-6y").2r("ui-9N-1N")}1i{J.4I.2V("28",-lP).58(J.4I.58()+1S.2D().1N-J.4I.aE()/ 2 + 1S.aE() /2).2V("28","6b")}2m.ws();if(2a.1d){2a[0].2U()}2m.iU=1o;2m.7v("6H",1K,2m.eK())}},5r:1a(1K,sh){if(J.63.is(".ui-4X-9L")){J.63.4d("ui-4X-9L");J.gP.4d("ui-3d-6H");J.4I.1k("5C-6X",1o);if(J.1A.2Y=="fK"){J.63.4d("ui-9N-1N").2r("ui-9N-6y")}if(sh){J.63.2U()}J.iU=1j;J.7v("5r",1K,J.eK())}},dn:1a(1K){J.1f.29("dn");J.7v("dn",1K,J.eK())},2k:1a(1K){if(J.mi(1K.8e)){1b 1j}J.7v("2k",1K,J.eK())},8v:1a(){1b J.gP.4V(J.uE)},C2:1a(1K){$(".ui-3d.ui-4X-9L").6s(J.63).2f(1a(){$(J).1h("BJ").3d("5r",1K)});$(".ui-3d.ui-4X-6i").29("dS")},uw:1a(1K,sh){if(J.iU){J.5r(1K,sh)}1i{J.6H(1K)}},Cy:1a(1X,1B){if(J.1A.6x){1X=J.1A.6x(1X,1B)}1i{if(J.1A.Cx){1X=$("<2B />").1X(1X).3W()}}1b 1X},ru:1a(){1b J.1f[0].bA},bk:1a(){1b J.82.eq(J.ru())},n3:1a(){1b J.4I.2K(".ui-3d-1g-2U")},jn:1a(9G,qK){if(!J.1A.2w){K qM=6g(J.bk().1h("1T")||0,10);K 4T=qM+9G;if(4T<0){4T=0}if(4T>J.82.4W()-1){4T=J.82.4W()-1}if(4T===qK){1b 1j}if(J.82.eq(4T).4J("ui-4X-2w")){9G>0?++9G:--9G;J.jn(9G,4T)}1i{J.82.eq(4T).29("gR").29("5p")}}},ds:1a(9G,qK){if(!9Y(9G)){K qM=6g(J.n3().1h("1T")||0,10);K 4T=qM+9G}1i{K 4T=6g(J.82.4m(9G).1h("1T"),10)}if(4T<0){4T=0}if(4T>J.82.4W()-1){4T=J.82.4W()-1}if(4T===qK){1b 1j}K iS="ui-3d-1g-"+3B.4E(3B.hX()*93);J.n3().2K("a:eq(0)").1k("id","");if(J.82.eq(4T).4J("ui-4X-2w")){9G>0?++9G:--9G;J.ds(9G,4T)}1i{J.82.eq(4T).2K("a:eq(0)").1k("id",iS).2U()}J.4I.1k("5C-Gw",iS)},tH:1a(bB){K mS=3B.g4(J.4I.aE()/J.82.4w().aE());mS=bB=="up"?-mS:mS;J.ds(mS)},lS:1a(1q,1m){J.1A[1q]=1m;if(1q=="2w"){if(1m){J.5r()}J.1f.4V(J.63).4V(J.4I)[1m?"2r":"4d"]("ui-3d-2w "+"ui-4X-2w").1k("5C-2w",1m).1k("5W",1m?1:0)}},qQ:1a(1T,1v){if(2H 1T=="2O"){J.lS("2w",1o)}1i{J.u8(1v||"2N",1T,1j)}},Cj:1a(1T,1v){if(2H 1T=="2O"){J.lS("2w",1j)}1i{J.u8(1v||"2N",1T,1o)}},mi:1a(6d){1b $(6d).4J("ui-4X-2w")},u8:1a(1v,1T,qw){K 1f=J.1f.2K(1v).eq(1T),9y=1v==="uT"?J.4I.2K("li.ui-3d-aX-"+1T):J.82.eq(1T);if(9y){9y.8N("ui-4X-2w",!qw).1k("5C-2w",!qw);if(qw){1f.hP("2w")}1i{1f.1k("2w","2w")}}},1T:1a(4T){if(2p.1d){if(!J.mi($(J.82[4T]))&&4T!=J.ru()){J.1f[0].bA=4T;J.mb();J.dn()}1i{1b 1j}}1i{1b J.ru()}},1m:1a(4o){if(2p.1d&&4o!=J.1f[0].1m){J.1f[0].1m=4o;J.mb();J.dn()}1i{1b J.1f[0].1m}},mb:1a(){K iD=J.1A.2Y=="ie"?" ui-4X-9L":"";K iS="ui-3d-1g-"+3B.4E(3B.hX()*93);J.4I.2K(".ui-3d-1g-1S").4d("ui-3d-1g-1S"+iD).2K("a").1k("5C-1S","1j").1k("id","");J.bk().2r("ui-3d-1g-1S"+iD).2K("a").1k("5C-1S","1o").1k("id",iS);K GD=J.63.1h("gJ")?J.63.1h("gJ"):"";K wg=J.bk().1h("gJ")?J.bk().1h("gJ"):"";J.63.4d(GD).1h("gJ",wg).2r(wg).2K(".ui-3d-6t").3W(J.bk().2K("a:eq(0)").3W());J.4I.1k("5C-Gw",iS)},ws:1a(){K o=J.1A,rU={of:J.63,my:"28 1N",at:"28 4D",km:"iA"};if(o.2Y=="ie"){K 1S=J.bk();rU.my="28 1N"+(J.4I.2t().1N-1S.2t().1N-(J.63.aE()+1S.aE())/2);rU.km="9M"}J.gP.hP("2Y").4k(J.1f.4k()+2).2D($.4j(rU,o.ER))}})})(2u);(1a(hA){K 7g="0.4.2",3l="7E",5m=/[\\.\\/]/,w8="*",sn=1a(){},EO=1a(a,b){1b a-b},hd,5x,5A={n:{}},2M=1a(1x,ee){1x=5c(1x);K e=5A,vY=5x,2e=3Z.2Q.3G.2x(2p,2),d9=2M.d9(1x),z=0,f=1j,l,hb=[],hD={},2j=[],ce=hd,Oe=[];hd=1x;5x=0;1n(K i=0,ii=d9.1d;i<ii;i++){if("4k"in d9[i]){hb.1F(d9[i].4k);if(d9[i].4k<0){hD[d9[i].4k]=d9[i]}}}hb.fl(EO);4e(hb[z]<0){l=hD[hb[z++]];2j.1F(l.31(ee,2e));if(5x){5x=vY;1b 2j}}1n(i=0;i<ii;i++){l=d9[i];if("4k"in l){if(l.4k==hb[z]){2j.1F(l.31(ee,2e));if(5x){1p}do{z++;l=hD[hb[z]];l&&2j.1F(l.31(ee,2e));if(5x){1p}}4e(l)}1i{hD[l.4k]=l}}1i{2j.1F(l.31(ee,2e));if(5x){1p}}}5x=vY;hd=ce;1b 2j.1d?2j:1c};2M.Ew=5A;2M.d9=1a(1x){K 7c=1x.3o(5m),e=5A,1g,1C,k,i,ii,j,jj,rZ,es=[e],2j=[];1n(i=0,ii=7c.1d;i<ii;i++){rZ=[];1n(j=0,jj=es.1d;j<jj;j++){e=es[j].n;1C=[e[7c[i]],e[w8]];k=2;4e(k--){1g=1C[k];if(1g){rZ.1F(1g);2j=2j.3F(1g.f||[])}}}es=rZ}1b 2j};2M.on=1a(1x,f){1x=5c(1x);if(2H f!="1a"){1b 1a(){}}K 7c=1x.3o(5m),e=5A;1n(K i=0,ii=7c.1d;i<ii;i++){e=e.n;e=e.7E(7c[i])&&e[7c[i]]||(e[7c[i]]={n:{}})}e.f=e.f||[];1n(i=0,ii=e.f.1d;i<ii;i++){if(e.f[i]==f){1b sn}}e.f.1F(f);1b 1a(4k){if(+4k==+4k){f.4k=+4k}}};2M.f=1a(1K){K 2b=[].3G.2x(2p,1);1b 1a(){2M.31(1c,[1K,1c].3F(2b).3F([].3G.2x(2p,0)))}};2M.5x=1a(){5x=1};2M.nt=1a(wb){if(wb){1b(1W d5("(?:\\\\.|\\\\/|^)"+wb+"(?:\\\\.|\\\\/|$)")).9C(hd)}1b hd};2M.NV=1a(){1b hd.3o(5m)};2M.dN=2M.7D=1a(1x,f){if(!1x){2M.Ew=5A={n:{}};1b}K 7c=1x.3o(5m),e,1q,59,i,ii,j,jj,hp=[5A];1n(i=0,ii=7c.1d;i<ii;i++){1n(j=0;j<hp.1d;j+=59.1d-2){59=[j,1];e=hp[j].n;if(7c[i]!=w8){if(e[7c[i]]){59.1F(e[7c[i]])}}1i{1n(1q in e){if(e[3l](1q)){59.1F(e[1q])}}}hp.59.31(hp,59)}}1n(i=0,ii=hp.1d;i<ii;i++){e=hp[i];4e(e.n){if(f){if(e.f){1n(j=0,jj=e.f.1d;j<jj;j++){if(e.f[j]==f){e.f.59(j,1);1p}}!e.f.1d&&3Y e.f}1n(1q in e.n){if(e.n[3l](1q)&&e.n[1q].f){K nk=e.n[1q].f;1n(j=0,jj=nk.1d;j<jj;j++){if(nk[j]==f){nk.59(j,1);1p}}!nk.1d&&3Y e.n[1q].f}}}1i{3Y e.f;1n(1q in e.n){if(e.n[3l](1q)&&e.n[1q].f){3Y e.n[1q].f}}}e=e.n}}};2M.MO=1a(1x,f){K f2=1a(){2M.7D(1x,f2);1b f.31(J,2p)};1b 2M.on(1x,f2)};2M.7g=7g;2M.3q=1a(){1b"DP s5 vZ Nc "+7g};2H wH!="2O"&&wH.EY?wH.EY=2M:2H ji!="2O"?ji("2M",[],1a(){1b 2M}):hA.2M=2M})(3H||J);(1a(hA,v1){if(2H ji==="1a"&&ji.Qh){ji(["2M"],1a(2M){1b v1(hA,2M)})}1i{v1(hA,hA.2M)}})(J,1a(3H,2M){1a R(4w){if(R.is(4w,"1a")){1b aw?4w():2M.on("44.hw",4w)}1i{if(R.is(4w,3E)){1b R.4z.7H[31](R,4w.59(0,3+R.is(4w[0],nu))).4V(4w)}1i{K 2e=3Z.2Q.3G.2x(2p,0);if(R.is(2e[2e.1d-1],"1a")){K f=2e.cu();1b aw?f.2x(R.4z.7H[31](R,2e)):2M.on("44.hw",1a(){f.2x(R.4z.7H[31](R,2e))})}1i{1b R.4z.7H[31](R,2p)}}}}R.7g="2.1.2";R.2M=2M;K aw,5m=/[, ]+/,9y={8P:1,4l:1,1G:1,aQ:1,1X:1,8y:1},BG=/\\{(\\d+)\\}/g,hZ="2Q",3l="7E",g={2S:2G,5h:3H},pX={vS:4H.2Q[3l].2x(g.5h,"bt"),is:g.5h.bt},uV=1a(){J.ca=J.8B={}},5X,3A="3A",31="31",3F="3F",lC="OF"in g.5h||g.5h.Ff&&g.2S eg Ff,E="",S=" ",3V=5c,3o="3o",5A="3M A4 74 9z dS gR 5p kQ kZ kD v8"[3o](S),jU={74:"kQ",9z:"kZ",5p:"kD"},kv=3V.2Q.3L,3u=3B,4N=3u.4v,5J=3u.5M,45=3u.45,5N=3u.5N,PI=3u.PI,nu="bS",4a="4a",3E="3E",3q="3q",gk="1Y",Gr=4H.2Q.3q,2s={},1F="1F",P4=R.w7=/^54\\([\'"]?([^\\)]+?)[\'"]?\\)$/i,CV=/^\\s*((#[a-f\\d]{6})|(#[a-f\\d]{3})|uS?\\(\\s*([\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+%?(?:\\s*,\\s*[\\d\\.]+%?)?)\\s*\\)|CX?\\(\\s*([\\d\\.]+(?:4h|\\ue|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\)|CT?\\(\\s*([\\d\\.]+(?:4h|\\ue|%)?\\s*,\\s*[\\d\\.]+%?\\s*,\\s*[\\d\\.]+(?:%?\\s*,\\s*[\\d\\.]+)?)%?\\s*\\))\\s*$/i,Gu={"P5":1,"Er":1,"-Er":1},GL=/^(?:Pl-)?Pj\\(([^,]+),([^,]+),([^,]+),([^\\)]+)\\)/,4E=3u.4E,ao="ao",3w=d7,9F=6g,wJ=3V.2Q.8m,GT=R.jk={"aR-4t":"3p","aR-2F":"3p",4M:0,"5T-4l":"0 0 G0 G0",iF:"5q",cx:0,cy:0,1Y:"#j0","1Y-2C":1,2J:\'Pd "CO"\',"2J-7X":\'"CO"\',"2J-4W":"10","2J-2Y":"qO","2J-9w":nv,3I:0,1w:0,4Z:"6p://OB.vF/","OC-OA":0,2C:1,1G:"M0,0",r:0,rx:0,ry:0,46:"",1V:"#c5","1V-8R":"","1V-bQ":"ht","1V-fS":"ht","1V-ks":0,"1V-2C":1,"1V-1r":1,3i:"Op","1X-wC":"wj",5S:"bt",3x:"",1r:0,x:0,y:0},qZ=R.Ot={4M:nu,"5T-4l":"tQ",cx:nu,cy:nu,1Y:"9A","1Y-2C":nu,"2J-4W":nu,1w:nu,2C:nu,1G:"1G",r:nu,rx:nu,ry:nu,1V:"9A","1V-2C":nu,"1V-1r":nu,3x:"3x",1r:nu,x:nu,y:nu},CZ=/[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]/g,ot=/[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*,[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*/,Dt={hs:1,rg:1},Df=/,?([Oq]),?/gi,E3=/([Os])[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*,?[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*)+)/ig,DZ=/([OO])[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S,]*((-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*,?[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*)+)/ig,ud=/(-?\\d*\\.?\\d*(?:e[\\-+]?\\d+)?)[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*,?[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*/ig,OP=R.wy=/^r(?:\\(([^,]+?)[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*,[\\9V\\9T\\au\\aA\\av\\a9\\aa\\a5\\a7\\ab\\af\\ap\\ac\\az\\9Q\\ai\\aC\\aN\\aH\\a4\\9U\\9X\\a3\\9Z\\9S]*([^\\)]+?)\\))?/,gM={},PD=1a(a,b){1b a.1q-b.1q},Gm=1a(a,b){1b 3w(a)-3w(b)},sn=1a(){},FS=1a(x){1b x},kR=R.vw=1a(x,y,w,h,r){if(r){1b[["M",x+r,y],["l",w-r*2,0],["a",r,r,0,0,1,r,r],["l",0,h-r*2],["a",r,r,0,0,1,-r,r],["l",r*2-w,0],["a",r,r,0,0,1,-r,-r],["l",0,r*2-h],["a",r,r,0,0,1,r,-r],["z"]]}1b[["M",x,y],["l",w,0],["l",0,h],["l",-w,0],["z"]]},vL=1a(x,y,rx,ry){if(ry==1c){ry=rx}1b[["M",x,y],["m",0,-ry],["a",rx,ry,0,1,1,0,2*ry],["a",rx,ry,0,1,1,0,-2*ry],["z"]]},aV=R.wc={1G:1a(el){1b el.1k("1G")},8P:1a(el){K a=el.2b;1b vL(a.cx,a.cy,a.r)},aQ:1a(el){K a=el.2b;1b vL(a.cx,a.cy,a.rx,a.ry)},4l:1a(el){K a=el.2b;1b kR(a.x,a.y,a.1r,a.1w,a.r)},8y:1a(el){K a=el.2b;1b kR(a.x,a.y,a.1r,a.1w)},1X:1a(el){K 2P=el.kO();1b kR(2P.x,2P.y,2P.1r,2P.1w)},5s:1a(el){K 2P=el.kO();1b kR(2P.x,2P.y,2P.1r,2P.1w)}},lp=R.lp=1a(1G,4s){if(!4s){1b 1G}K x,y,i,j,ii,jj,dH;1G=ha(1G);1n(i=0,ii=1G.1d;i<ii;i++){dH=1G[i];1n(j=1,jj=dH.1d;j<jj;j+=2){x=4s.x(dH[j],dH[j+1]);y=4s.y(dH[j],dH[j+1]);dH[j]=x;dH[j+1]=y}}1b 1G};R.7o=g;R.1v=g.5h.PQ||g.2S.PR.PW("6p://nN.w3.rB/TR/PX/PU#PV","1.1")?"bW":"fH";if(R.1v=="fH"){K d=g.2S.bT("2B"),b;d.mO=\'<v:c9 GA="1"/>\';b=d.7w;b.2Y.MD="54(#5q#fH)";if(!(b&&2H b.GA=="1D")){1b R.1v=E}d=1c}R.3X=!(R.5E=R.1v=="fH");R.vB=uV;R.fn=5X=uV.2Q=R.2Q;R.PG=0;R.vq=0;R.is=1a(o,1v){1v=kv.2x(1v);if(1v=="lI"){1b!Gu[3l](+o)}if(1v=="3E"){1b o eg 3Z}1b 1v=="1c"&&o===1c||(1v==2H o&&o!==1c||(1v=="1D"&&o===4H(o)||(1v=="3E"&&(3Z.v0&&3Z.v0(o))||Gr.2x(o).3G(8,-1).3L()==1v)))};1a 5Q(1z){if(2H 1z=="1a"||4H(1z)!==1z){1b 1z}K 1y=1W 1z.4R;1n(K 1q in 1z){if(1z[3l](1q)){1y[1q]=5Q(1z[1q])}}1b 1y}R.78=1a(x1,y1,x2,y2,x3,y3){if(x3==1c){K x=x1-x2,y=y1-y2;if(!x&&!y){1b 0}1b(bO+3u.uo(-y,-x)*bO/PI+8r)%8r}1i{1b R.78(x1,y1,x3,y3)-R.78(x2,y2,x3,y3)}};R.8D=1a(4h){1b 4h%8r*PI/bO};R.4h=1a(8D){1b 8D*bO/PI%8r};R.PP=1a(2E,1m,cG){cG=R.is(cG,"lI")?cG:10;if(R.is(2E,3E)){K i=2E.1d;4e(i--){if(45(2E[i]-1m)<=cG){1b 2E[i]}}}1i{2E=+2E;K lB=1m%2E;if(lB<cG){1b 1m-lB}if(lB>2E-cG){1b 1m-lB+2E}}1b 1m};K md=R.md=1a(FJ,G3){1b 1a(){1b"Nf-Nj-Na-N4-N5".3m(FJ,G3).8m()}}(/[xy]/g,1a(c){K r=3u.hX()*16|0,v=c=="x"?r:r&3|8;1b v.3q(16)});R.G4=1a(w1){2M("44.G4",R,g.5h,w1);g.5h=w1;g.2S=g.5h.2G;if(R.4z.tD){R.4z.tD(g.5h)}};K mJ=1a(3n){if(R.5E){K lY=/^\\s+|\\s+$/g;K m9;7i{K oV=1W q9("MW");oV.Nq("<3O>");oV.5r();m9=oV.3O}7x(e){m9=O0().2G.3O}K Cd=m9.O4();mJ=bl(1a(3n){7i{m9.2Y.3n=3V(3n).3m(lY,E);K 1m=Cd.NU("NT");1m=(1m&ec)<<16|1m&NY|(1m&NW)>>>16;1b"#"+("H4"+1m.3q(16)).3G(-6)}7x(e){1b"3p"}})}1i{K i=g.2S.bT("i");i.5S="gf\\gd Og Oj";i.2Y.5n="3p";g.2S.3O.3A(i);mJ=bl(1a(3n){i.2Y.3n=3n;1b g.2S.iO.pZ(i,E).Ds("3n")})}1b mJ(3n)},DE=1a(){1b"D9("+[J.h,J.s,J.b]+")"},De=1a(){1b"D8("+[J.h,J.s,J.l]+")"},tZ=1a(){1b J.65},u2=1a(r,g,b){if(g==1c&&(R.is(r,"1D")&&("r"in r&&("g"in r&&"b"in r)))){b=r.b;g=r.g;r=r.r}if(g==1c&&R.is(r,4a)){K 3r=R.aW(r);r=3r.r;g=3r.g;b=3r.b}if(r>1||(g>1||b>1)){r/=ec;g/=ec;b/=ec}1b[r,g,b]},u3=1a(r,g,b,o){r*=ec;g*=ec;b*=ec;K 3z={r:r,g:g,b:b,65:R.3z(r,g,b),3q:tZ};R.is(o,"lI")&&(3z.2C=o);1b 3z};R.3n=1a(3r){K 3z;if(R.is(3r,"1D")&&("h"in 3r&&("s"in 3r&&"b"in 3r))){3z=R.mZ(3r);3r.r=3z.r;3r.g=3z.g;3r.b=3z.b;3r.65=3z.65}1i{if(R.is(3r,"1D")&&("h"in 3r&&("s"in 3r&&"l"in 3r))){3z=R.oK(3r);3r.r=3z.r;3r.g=3z.g;3r.b=3z.b;3r.65=3z.65}1i{if(R.is(3r,"4a")){3r=R.aW(3r)}if(R.is(3r,"1D")&&("r"in 3r&&("g"in 3r&&"b"in 3r))){3z=R.E8(3r);3r.h=3z.h;3r.s=3z.s;3r.l=3z.l;3z=R.Dz(3r);3r.v=3z.b}1i{3r={65:"3p"};3r.r=3r.g=3r.b=3r.h=3r.s=3r.v=3r.l=-1}}}3r.3q=tZ;1b 3r};R.mZ=1a(h,s,v,o){if(J.is(h,"1D")&&("h"in h&&("s"in h&&"b"in h))){v=h.b;s=h.s;h=h.h;o=h.o}h*=8r;K R,G,B,X,C;h=h%8r/60;C=v*s;X=C*(1-45(h%2-1));R=G=B=v-C;h=~~h;R+=[C,X,0,0,X,C][h];G+=[X,C,C,X,0,0][h];B+=[0,0,X,C,C,X][h];1b u3(R,G,B,o)};R.oK=1a(h,s,l,o){if(J.is(h,"1D")&&("h"in h&&("s"in h&&"l"in h))){l=h.l;s=h.s;h=h.h}if(h>1||(s>1||l>1)){h/=8r;s/=7e;l/=7e}h*=8r;K R,G,B,X,C;h=h%8r/60;C=2*s*(l<0.5?l:1-l);X=C*(1-45(h%2-1));R=G=B=l-C/2;h=~~h;R+=[C,X,0,0,X,C][h];G+=[X,C,C,X,0,0][h];B+=[0,0,X,C,C,X][h];1b u3(R,G,B,o)};R.Dz=1a(r,g,b){b=u2(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,V,C;V=4N(r,g,b);C=V-5J(r,g,b);H=C==0?1c:V==r?(g-b)/ C : V == g ? (b - r) /C+2:(r-g)/C+4;H=(H+8r)%6*60/8r;S=C==0?0:C/V;1b{h:H,s:S,b:V,3q:DE}};R.E8=1a(r,g,b){b=u2(r,g,b);r=b[0];g=b[1];b=b[2];K H,S,L,M,m,C;M=4N(r,g,b);m=5J(r,g,b);C=M-m;H=C==0?1c:M==r?(g-b)/ C : M == g ? (b - r) /C+2:(r-g)/C+4;H=(H+8r)%6*60/8r;L=(M+m)/2;S=C==0?0:L<0.5?C/ (2 * L) : C /(2-2*L);1b{h:H,s:S,l:L,3q:De}};R.hR=1a(){1b J.4C(",").3m(Df,"$1")};1a Dk(3E,1g){1n(K i=0,ii=3E.1d;i<ii;i++){if(3E[i]===1g){1b 3E.1F(3E.59(i,1)[0])}}}1a bl(f,ee,mA){1a ja(){K 4f=3Z.2Q.3G.2x(2p,0),2e=4f.4C("\\Qu"),7L=ja.7L=ja.7L||{},6k=ja.6k=ja.6k||[];if(7L[3l](2e)){Dk(6k,2e);1b mA?mA(7L[2e]):7L[2e]}6k.1d>=93&&3Y 7L[6k.bq()];6k.1F(2e);7L[2e]=f[31](ee,4f);1b mA?mA(7L[2e]):7L[2e]}1b ja}K Yp=R.w9=1a(46,f){K c7=g.2S.bT("c7");c7.2Y.eA="2D:8d;28:-jf;1N:-jf";c7.fX=1a(){f.2x(J);J.fX=1c;g.2S.3O.73(J)};c7.Yu=1a(){g.2S.3O.73(J)};g.2S.3O.3A(c7);c7.46=46};1a mu(){1b J.65}R.aW=bl(1a(9A){if(!9A||!!((9A=3V(9A)).4P("-")+1)){1b{r:-1,g:-1,b:-1,65:"3p",9x:1,3q:mu}}if(9A=="3p"){1b{r:-1,g:-1,b:-1,65:"3p",3q:mu}}!(Dt[3l](9A.3L().fi(0,2))||9A.bv()=="#")&&(9A=mJ(9A));K 1y,95,aL,aO,2C,t,2E,3z=9A.3a(CV);if(3z){if(3z[2]){aO=9F(3z[2].fi(5),16);aL=9F(3z[2].fi(3,5),16);95=9F(3z[2].fi(1,3),16)}if(3z[3]){aO=9F((t=3z[3].bv(3))+t,16);aL=9F((t=3z[3].bv(2))+t,16);95=9F((t=3z[3].bv(1))+t,16)}if(3z[4]){2E=3z[4][3o](ot);95=3w(2E[0]);2E[0].3G(-1)=="%"&&(95*=2.55);aL=3w(2E[1]);2E[1].3G(-1)=="%"&&(aL*=2.55);aO=3w(2E[2]);2E[2].3G(-1)=="%"&&(aO*=2.55);3z[1].3L().3G(0,4)=="uS"&&(2C=3w(2E[3]));2E[3]&&(2E[3].3G(-1)=="%"&&(2C/=7e))}if(3z[5]){2E=3z[5][3o](ot);95=3w(2E[0]);2E[0].3G(-1)=="%"&&(95*=2.55);aL=3w(2E[1]);2E[1].3G(-1)=="%"&&(aL*=2.55);aO=3w(2E[2]);2E[2].3G(-1)=="%"&&(aO*=2.55);(2E[0].3G(-3)=="4h"||2E[0].3G(-1)=="\\CR")&&(95/=8r);3z[1].3L().3G(0,4)=="CX"&&(2C=3w(2E[3]));2E[3]&&(2E[3].3G(-1)=="%"&&(2C/=7e));1b R.mZ(95,aL,aO,2C)}if(3z[6]){2E=3z[6][3o](ot);95=3w(2E[0]);2E[0].3G(-1)=="%"&&(95*=2.55);aL=3w(2E[1]);2E[1].3G(-1)=="%"&&(aL*=2.55);aO=3w(2E[2]);2E[2].3G(-1)=="%"&&(aO*=2.55);(2E[0].3G(-3)=="4h"||2E[0].3G(-1)=="\\CR")&&(95/=8r);3z[1].3L().3G(0,4)=="CT"&&(2C=3w(2E[3]));2E[3]&&(2E[3].3G(-1)=="%"&&(2C/=7e));1b R.oK(95,aL,aO,2C)}3z={r:95,g:aL,b:aO,3q:mu};3z.65="#"+(D0|aO|aL<<8|95<<16).3q(16).3G(1);R.is(2C,"lI")&&(3z.2C=2C);1b 3z}1b{r:-1,g:-1,b:-1,65:"3p",9x:1,3q:mu}},R);R.D9=bl(1a(h,s,b){1b R.mZ(h,s,b).65});R.D8=bl(1a(h,s,l){1b R.oK(h,s,l).65});R.3z=bl(1a(r,g,b){1b"#"+(D0|b|g<<8|r<<16).3q(16).3G(1)});R.mX=1a(1m){K 2F=J.mX.2F=J.mX.2F||{h:0,s:1,b:1m||0.75},3z=J.mZ(2F.h,2F.s,2F.b);2F.h+=0.Ej;if(2F.h>1){2F.h=0;2F.s-=0.2;2F.s<=0&&(J.mX.2F={h:0,s:1,b:2F.b})}1b 3z.65};R.mX.kS=1a(){3Y J.2F};1a wD(7n,z){K d=[];1n(K i=0,gH=7n.1d;gH-2*!z>i;i+=2){K p=[{x:+7n[i-2],y:+7n[i-1]},{x:+7n[i],y:+7n[i+1]},{x:+7n[i+2],y:+7n[i+3]},{x:+7n[i+4],y:+7n[i+5]}];if(z){if(!i){p[0]={x:+7n[gH-2],y:+7n[gH-1]}}1i{if(gH-4==i){p[3]={x:+7n[0],y:+7n[1]}}1i{if(gH-2==i){p[2]={x:+7n[0],y:+7n[1]};p[3]={x:+7n[2],y:+7n[3]}}}}}1i{if(gH-4==i){p[3]=p[2]}1i{if(!i){p[0]={x:+7n[i],y:+7n[i+1]}}}}d.1F(["C",(-p[0].x+6*p[1].x+p[2].x)/ 6, (-p[0].y + 6 * p[1].y + p[2].y) /6,(p[1].x+6*p[2].x-p[3].x)/ 6, (p[1].y + 6 * p[2].y - p[3].y) /6,p[2].x,p[2].y])}1b d}R.wx=1a(8l){if(!8l){1b 1c}K 7t=fg(8l);if(7t.nD){1b b2(7t.nD)}K n0={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0},1h=[];if(R.is(8l,3E)&&R.is(8l[0],3E)){1h=b2(8l)}if(!1h.1d){3V(8l).3m(E3,1a(a,b,c){K 1u=[],1x=b.3L();c.3m(ud,1a(a,b){b&&1u.1F(+b)});if(1x=="m"&&1u.1d>2){1h.1F([b][3F](1u.59(0,2)));1x="l";b=b=="m"?"l":"L"}if(1x=="r"){1h.1F([b][3F](1u))}1i{4e(1u.1d>=n0[1x]){1h.1F([b][3F](1u.59(0,n0[1x])));if(!n0[1x]){1p}}}})}1h.3q=R.hR;7t.nD=b2(1h);1b 1h};R.og=bl(1a(jP){if(!jP){1b 1c}K n0={r:3,s:4,t:2,m:6},1h=[];if(R.is(jP,3E)&&R.is(jP[0],3E)){1h=b2(jP)}if(!1h.1d){3V(jP).3m(DZ,1a(a,b,c){K 1u=[],1x=kv.2x(b);c.3m(ud,1a(a,b){b&&1u.1F(+b)});1h.1F([b][3F](1u))})}1h.3q=R.hR;1b 1h});K fg=1a(ps){K p=fg.ps=fg.ps||{};if(p[ps]){p[ps].pS=7e}1i{p[ps]={pS:7e}}6m(1a(){1n(K 1q in p){if(p[3l](1q)&&1q!=ps){p[1q].pS--;!p[1q].pS&&3Y p[1q]}}});1b p[ps]};R.k5=1a(5y,66,5R,5Y,6T,6S,79,7d,t){K t1=1-t,uk=5N(t1,3),um=5N(t1,2),t2=t*t,t3=t2*t,x=uk*5y+um*3*t*5R+t1*3*t*t*6T+t3*79,y=uk*66+um*3*t*5Y+t1*3*t*t*6S+t3*7d,mx=5y+2*t*(5R-5y)+t2*(6T-2*5R+5y),my=66+2*t*(5Y-66)+t2*(6S-2*5Y+66),nx=5R+2*t*(6T-5R)+t2*(79-2*6T+5R),ny=5Y+2*t*(6S-5Y)+t2*(7d-2*6S+5Y),ax=t1*5y+t*5R,ay=t1*66+t*5Y,cx=t1*6T+t*79,cy=t1*6S+t*7d,cV=90-3u.uo(mx-nx,my-ny)*bO/PI;(mx>nx||my<ny)&&(cV+=bO);1b{x:x,y:y,m:{x:mx,y:my},n:{x:nx,y:ny},2F:{x:ax,y:ay},4t:{x:cx,y:cy},cV:cV}};R.tS=1a(5y,66,5R,5Y,6T,6S,79,7d){if(!R.is(5y,"3E")){5y=[5y,66,5R,5Y,6T,6S,79,7d]}K 2P=v6.31(1c,5y);1b{x:2P.5M.x,y:2P.5M.y,x2:2P.4v.x,y2:2P.4v.y,1r:2P.4v.x-2P.5M.x,1w:2P.4v.y-2P.5M.y}};R.x0=1a(2P,x,y){1b x>=2P.x&&(x<=2P.x2&&(y>=2P.y&&y<=2P.y2))};R.uU=1a(6A,6C){K i=R.x0;1b i(6C,6A.x,6A.y)||(i(6C,6A.x2,6A.y)||(i(6C,6A.x,6A.y2)||(i(6C,6A.x2,6A.y2)||(i(6A,6C.x,6C.y)||(i(6A,6C.x2,6C.y)||(i(6A,6C.x,6C.y2)||(i(6A,6C.x2,6C.y2)||(6A.x<6C.x2&&6A.x>6C.x||6C.x<6A.x2&&6C.x>6A.x)&&(6A.y<6C.y2&&6A.y>6C.y||6C.y<6A.y2&&6C.y>6A.y))))))))};1a ua(t,p1,p2,p3,p4){K t1=-3*p1+9*p2-9*p3+3*p4,t2=t*t1+6*p1-12*p2+6*p3;1b t*t2-3*p1+3*p2}1a gS(x1,y1,x2,y2,x3,y3,x4,y4,z){if(z==1c){z=1}z=z>1?1:z<0?0:z;K z2=z/2,n=12,BE=[-0.BS,0.BS,-0.BU,0.BU,-0.BV,0.BV,-0.BO,0.BO,-0.BP,0.BP,-0.BR,0.BR],CB=[0.BQ,0.BQ,0.BX,0.BX,0.C5,0.C5,0.C6,0.C6,0.BZ,0.BZ,0.BH,0.BH],tG=0;1n(K i=0;i<n;i++){K ct=z2*BE[i]+z2,u6=ua(ct,x1,x2,x3,x4),uH=ua(ct,y1,y2,y3,y4),CC=u6*u6+uH*uH;tG+=CB[i]*3u.9r(CC)}1b z2*tG}1a Fu(x1,y1,x2,y2,x3,y3,x4,y4,ll){if(ll<0||gS(x1,y1,x2,y2,x3,y3,x4,y4)<ll){1b}K t=1,kJ=t/2,t2=t-kJ,l,e=0.H3;l=gS(x1,y1,x2,y2,x3,y3,x4,y4,t2);4e(45(l-ll)>e){kJ/=2;t2+=(l<ll?1:-1)*kJ;l=gS(x1,y1,x2,y2,x3,y3,x4,y4,t2)}1b t2}1a yY(x1,y1,x2,y2,x3,y3,x4,y4){if(4N(x1,x2)<5J(x3,x4)||(5J(x1,x2)>4N(x3,x4)||(4N(y1,y2)<5J(y3,y4)||5J(y1,y2)>4N(y3,y4)))){1b}K nx=(x1*y2-y1*x2)*(x3-x4)-(x1-x2)*(x3*y4-y3*x4),ny=(x1*y2-y1*x2)*(y3-y4)-(y1-y2)*(x3*y4-y3*x4),pd=(x1-x2)*(y3-y4)-(y1-y2)*(x3-x4);if(!pd){1b}K px=nx/ pd, py = ny /pd,lK=+px.4p(2),lJ=+py.4p(2);if(lK<+5J(x1,x2).4p(2)||(lK>+4N(x1,x2).4p(2)||(lK<+5J(x3,x4).4p(2)||(lK>+4N(x3,x4).4p(2)||(lJ<+5J(y1,y2).4p(2)||(lJ>+4N(y1,y2).4p(2)||(lJ<+5J(y3,y4).4p(2)||lJ>+4N(y3,y4).4p(2)))))))){1b}1b{x:px,y:py}}1a Yk(8s,8C){1b ou(8s,8C)}1a Yn(8s,8C){1b ou(8s,8C,1)}1a ou(8s,8C,eW){K 6A=R.tS(8s),6C=R.tS(8C);if(!R.uU(6A,6C)){1b eW?0:[]}K l1=gS.31(0,8s),l2=gS.31(0,8C),n1=4N(~~(l1/ 5), 1), n2 = 4N(~~(l2 /5),1),pu=[],pr=[],xy={},1y=eW?0:[];1n(K i=0;i<n1+1;i++){K p=R.k5.31(R,8s.3F(i/n1));pu.1F({x:p.x,y:p.y,t:i/n1})}1n(i=0;i<n2+1;i++){p=R.k5.31(R,8C.3F(i/n2));pr.1F({x:p.x,y:p.y,t:i/n2})}1n(i=0;i<n1;i++){1n(K j=0;j<n2;j++){K di=pu[i],iW=pu[i+1],dj=pr[j],ib=pr[j+1],ci=45(iW.x-di.x)<0.qh?"y":"x",cj=45(ib.x-dj.x)<0.qh?"y":"x",is=yY(di.x,di.y,iW.x,iW.y,dj.x,dj.y,ib.x,ib.y);if(is){if(xy[is.x.4p(4)]==is.y.4p(4)){aM}xy[is.x.4p(4)]=is.y.4p(4);K t1=di.t+45((is[ci]-di[ci])/ (iW[ci] - di[ci])) * (iW.t - di.t), t2 = dj.t + 45((is[cj] - dj[cj]) /(ib[cj]-dj[cj]))*(ib.t-dj.t);if(t1>=0&&(t1<=1.qh&&(t2>=0&&t2<=1.qh))){if(eW){1y++}1i{1y.1F({x:is.x,y:is.y,t1:5J(t1,1),t2:5J(t2,1)})}}}}}1b 1y}R.Yd=1a(9l,7T){1b ol(9l,7T)};R.Yb=1a(9l,7T){1b ol(9l,7T,1)};1a ol(9l,7T,eW){9l=R.rW(9l);7T=R.rW(7T);K x1,y1,x2,y2,nq,nB,nF,k7,8s,8C,1y=eW?0:[];1n(K i=0,ii=9l.1d;i<ii;i++){K pi=9l[i];if(pi[0]=="M"){x1=nq=pi[1];y1=nB=pi[2]}1i{if(pi[0]=="C"){8s=[x1,y1].3F(pi.3G(1));x1=8s[6];y1=8s[7]}1i{8s=[x1,y1,x1,y1,nq,nB,nq,nB];x1=nq;y1=nB}1n(K j=0,jj=7T.1d;j<jj;j++){K pj=7T[j];if(pj[0]=="M"){x2=nF=pj[1];y2=k7=pj[2]}1i{if(pj[0]=="C"){8C=[x2,y2].3F(pj.3G(1));x2=8C[6];y2=8C[7]}1i{8C=[x2,y2,x2,y2,nF,k7,nF,k7];x2=nF;y2=k7}K eQ=ou(8s,8C,eW);if(eW){1y+=eQ}1i{1n(K k=0,kk=eQ.1d;k<kk;k++){eQ[k].Yg=i;eQ[k].Yf=j;eQ[k].8s=8s;eQ[k].8C=8C}1y=1y.3F(eQ)}}}}}1b 1y}R.EX=1a(1G,x,y){K 2P=R.FM(1G);1b R.x0(2P,x,y)&&ol(1G,[["M",x,y],["H",2P.x2+10]],1)%2==1};R.l7=1a(dZ){1b 1a(){2M("44.j4",1c,"gf\\gd: FK s5 Ye to 43 \\YV"+dZ+"\\YX of 57 1D",dZ)}};K qV=R.FM=1a(1G){K 7t=fg(1G);if(7t.2P){1b 5Q(7t.2P)}if(!1G){1b{x:0,y:0,1r:0,1w:0,x2:0,y2:0}}1G=ha(1G);K x=0,y=0,X=[],Y=[],p;1n(K i=0,ii=1G.1d;i<ii;i++){p=1G[i];if(p[0]=="M"){x=p[1];y=p[2];X.1F(x);Y.1F(y)}1i{K kg=v6(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);X=X[3F](kg.5M.x,kg.4v.x);Y=Y[3F](kg.5M.y,kg.4v.y);x=p[5];y=p[6]}}K pJ=5J[31](0,X),pN=5J[31](0,Y),wA=4N[31](0,X),wz=4N[31](0,Y),1r=wA-pJ,1w=wz-pN,bb={x:pJ,y:pN,x2:wA,y2:wz,1r:1r,1w:1w,cx:pJ+1r/ 2, cy:pN + 1w /2};7t.2P=5Q(bb);1b bb},b2=1a(5e){K 1y=5Q(5e);1y.3q=R.hR;1b 1y},vC=R.YZ=1a(5e){K 7t=fg(5e);if(7t.ww){1b b2(7t.ww)}if(!R.is(5e,3E)||!R.is(5e&&5e[0],3E)){5e=R.wx(5e)}K 1y=[],x=0,y=0,mx=0,my=0,2F=0;if(5e[0][0]=="M"){x=5e[0][1];y=5e[0][2];mx=x;my=y;2F++;1y.1F(["M",x,y])}1n(K i=2F,ii=5e.1d;i<ii;i++){K r=1y[i]=[],pa=5e[i];if(pa[0]!=kv.2x(pa[0])){r[0]=kv.2x(pa[0]);3s(r[0]){1l"a":r[1]=pa[1];r[2]=pa[2];r[3]=pa[3];r[4]=pa[4];r[5]=pa[5];r[6]=+(pa[6]-x).4p(3);r[7]=+(pa[7]-y).4p(3);1p;1l"v":r[1]=+(pa[1]-y).4p(3);1p;1l"m":mx=pa[1];my=pa[2];5q:1n(K j=1,jj=pa.1d;j<jj;j++){r[j]=+(pa[j]-(j%2?x:y)).4p(3)}}}1i{r=1y[i]=[];if(pa[0]=="m"){mx=pa[1]+x;my=pa[2]+y}1n(K k=0,kk=pa.1d;k<kk;k++){1y[i][k]=pa[k]}}K 61=1y[i].1d;3s(1y[i][0]){1l"z":x=mx;y=my;1p;1l"h":x+=+1y[i][61-1];1p;1l"v":y+=+1y[i][61-1];1p;5q:x+=+1y[i][61-2];y+=+1y[i][61-1]}}1y.3q=R.hR;7t.ww=b2(1y);1b 1y},v9=R.nm=1a(5e){K 7t=fg(5e);if(7t.45){1b b2(7t.45)}if(!R.is(5e,3E)||!R.is(5e&&5e[0],3E)){5e=R.wx(5e)}if(!5e||!5e.1d){1b[["M",0,0]]}K 1y=[],x=0,y=0,mx=0,my=0,2F=0;if(5e[0][0]=="M"){x=+5e[0][1];y=+5e[0][2];mx=x;my=y;2F++;1y[0]=["M",x,y]}K wG=5e.1d==3&&(5e[0][0]=="M"&&(5e[1][0].8m()=="R"&&5e[2][0].8m()=="Z"));1n(K r,pa,i=2F,ii=5e.1d;i<ii;i++){1y.1F(r=[]);pa=5e[i];if(pa[0]!=wJ.2x(pa[0])){r[0]=wJ.2x(pa[0]);3s(r[0]){1l"A":r[1]=pa[1];r[2]=pa[2];r[3]=pa[3];r[4]=pa[4];r[5]=pa[5];r[6]=+(pa[6]+x);r[7]=+(pa[7]+y);1p;1l"V":r[1]=+pa[1]+y;1p;1l"H":r[1]=+pa[1]+x;1p;1l"R":K 56=[x,y][3F](pa.3G(1));1n(K j=2,jj=56.1d;j<jj;j++){56[j]=+56[j]+x;56[++j]=+56[j]+y}1y.cu();1y=1y[3F](wD(56,wG));1p;1l"M":mx=+pa[1]+x;my=+pa[2]+y;5q:1n(j=1,jj=pa.1d;j<jj;j++){r[j]=+pa[j]+(j%2?x:y)}}}1i{if(pa[0]=="R"){56=[x,y][3F](pa.3G(1));1y.cu();1y=1y[3F](wD(56,wG));r=["R"][3F](pa.3G(-2))}1i{1n(K k=0,kk=pa.1d;k<kk;k++){r[k]=pa[k]}}}3s(r[0]){1l"Z":x=mx;y=my;1p;1l"H":x=r[1];1p;1l"V":y=r[1];1p;1l"M":mx=r[r.1d-2];my=r[r.1d-1];5q:x=r[r.1d-2];y=r[r.1d-1]}}1y.3q=R.hR;7t.45=b2(1y);1b 1y},kI=1a(x1,y1,x2,y2){1b[x1,y1,x2,y2,x2,y2]},vH=1a(x1,y1,ax,ay,x2,y2){K lc=1/ 3, lw = 2 /3;1b[lc*x1+lw*ax,lc*y1+lw*ay,lc*x2+lw*ax,lc*y2+lw*ay,x2,y2]},v3=1a(x1,y1,rx,ry,78,FT,hG,x2,y2,gY){K vj=PI*Z0/ bO, 8D = PI /bO*(+78||0),1y=[],xy,5j=bl(1a(x,y,8D){K X=x*3u.8G(8D)-y*3u.8n(8D),Y=x*3u.8n(8D)+y*3u.8G(8D);1b{x:X,y:Y}});if(!gY){xy=5j(x1,y1,-8D);x1=xy.x;y1=xy.y;xy=5j(x2,y2,-8D);x2=xy.x;y2=xy.y;K 8G=3u.8G(PI/ bO * 78), 8n = 3u.8n(PI /bO*78),x=(x1-x2)/ 2, y = (y1 - y2) /2;K h=x*x/ (rx * rx) + y * y /(ry*ry);if(h>1){h=3u.9r(h);rx=h*rx;ry=h*ry}K pl=rx*rx,pv=ry*ry,k=(FT==hG?-1:1)*3u.9r(45((pl*pv-pl*y*y-pv*x*x)/ (pl * y * y + pv * x * x))), cx = k * rx * y /ry+(x1+x2)/ 2, cy = k * -ry * x /rx+(y1+y2)/ 2, f1 = 3u.su(((y1 - cy) /ry).4p(9)),f2=3u.su(((y2-cy)/ry).4p(9));f1=x1<cx?PI-f1:f1;f2=x2<cx?PI-f2:f2;f1<0&&(f1=PI*2+f1);f2<0&&(f2=PI*2+f2);if(hG&&f1>f2){f1=f1-PI*2}if(!hG&&f2>f1){f2=f2-PI*2}}1i{f1=gY[0];f2=gY[1];cx=gY[2];cy=gY[3]}K df=f2-f1;if(45(df)>vj){K GZ=f2,GQ=x2,GW=y2;f2=f1+vj*(hG&&f2>f1?1:-1);x2=cx+rx*3u.8G(f2);y2=cy+ry*3u.8n(f2);1y=v3(x2,y2,rx,ry,78,0,hG,GQ,GW,[f2,GZ,cx,cy])}df=f2-f1;K c1=3u.8G(f1),s1=3u.8n(f1),c2=3u.8G(f2),s2=3u.8n(f2),t=3u.Gq(df/ 4), hx = 4 /3*rx*t,hy=4/3*ry*t,m1=[x1,y1],m2=[x1+hx*s1,y1-hy*c1],m3=[x2+hx*s2,y2-hy*c2],m4=[x2,y2];m2[0]=2*m1[0]-m2[0];m2[1]=2*m1[1]-m2[1];if(gY){1b[m2,m3,m4][3F](1y)}1i{1y=[m2,m3,m4][3F](1y).4C()[3o](",");K v7=[];1n(K i=0,ii=1y.1d;i<ii;i++){v7[i]=i%2?5j(1y[i-1],1y[i],8D).y:5j(1y[i],1y[i+1],8D).x}1b v7}},kX=1a(5y,66,5R,5Y,6T,6S,79,7d,t){K t1=1-t;1b{x:5N(t1,3)*5y+5N(t1,2)*3*t*5R+t1*3*t*t*6T+5N(t,3)*79,y:5N(t1,3)*66+5N(t1,2)*3*t*5Y+t1*3*t*t*6S+5N(t,3)*7d}},v6=bl(1a(5y,66,5R,5Y,6T,6S,79,7d){K a=6T-2*5R+5y-(79-2*6T+5R),b=2*(5R-5y)-2*(6T-5R),c=5y-5R,t1=(-b+3u.9r(b*b-4*a*c))/ 2 /a,t2=(-b-3u.9r(b*b-4*a*c))/ 2 /a,y=[66,7d],x=[5y,79],6B;45(t1)>"oX"&&(t1=0.5);45(t2)>"oX"&&(t2=0.5);if(t1>0&&t1<1){6B=kX(5y,66,5R,5Y,6T,6S,79,7d,t1);x.1F(6B.x);y.1F(6B.y)}if(t2>0&&t2<1){6B=kX(5y,66,5R,5Y,6T,6S,79,7d,t2);x.1F(6B.x);y.1F(6B.y)}a=6S-2*5Y+66-(7d-2*6S+5Y);b=2*(5Y-66)-2*(6S-5Y);c=66-5Y;t1=(-b+3u.9r(b*b-4*a*c))/ 2 /a;t2=(-b-3u.9r(b*b-4*a*c))/ 2 /a;45(t1)>"oX"&&(t1=0.5);45(t2)>"oX"&&(t2=0.5);if(t1>0&&t1<1){6B=kX(5y,66,5R,5Y,6T,6S,79,7d,t1);x.1F(6B.x);y.1F(6B.y)}if(t2>0&&t2<1){6B=kX(5y,66,5R,5Y,6T,6S,79,7d,t2);x.1F(6B.x);y.1F(6B.y)}1b{5M:{x:5J[31](0,x),y:5J[31](0,y)},4v:{x:4N[31](0,x),y:4N[31](0,y)}}}),ha=R.rW=bl(1a(1G,7T){K 7t=!7T&&fg(1G);if(!7T&&7t.fr){1b b2(7t.fr)}K p=v9(1G),p2=7T&&v9(7T),2b={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},db={x:0,y:0,bx:0,by:0,X:0,Y:0,qx:1c,qy:1c},vv=1a(1G,d,kV){K nx,ny,tq={T:1,Q:1};if(!1G){1b["C",d.x,d.y,d.x,d.y,d.x,d.y]}!(1G[0]in tq)&&(d.qx=d.qy=1c);3s(1G[0]){1l"M":d.X=1G[1];d.Y=1G[2];1p;1l"A":1G=["C"][3F](v3[31](0,[d.x,d.y][3F](1G.3G(1))));1p;1l"S":if(kV=="C"||kV=="S"){nx=d.x*2-d.bx;ny=d.y*2-d.by}1i{nx=d.x;ny=d.y}1G=["C",nx,ny][3F](1G.3G(1));1p;1l"T":if(kV=="Q"||kV=="T"){d.qx=d.x*2-d.qx;d.qy=d.y*2-d.qy}1i{d.qx=d.x;d.qy=d.y}1G=["C"][3F](vH(d.x,d.y,d.qx,d.qy,1G[1],1G[2]));1p;1l"Q":d.qx=1G[1];d.qy=1G[2];1G=["C"][3F](vH(d.x,d.y,1G[1],1G[2],1G[3],1G[4]));1p;1l"L":1G=["C"][3F](kI(d.x,d.y,1G[1],1G[2]));1p;1l"H":1G=["C"][3F](kI(d.x,d.y,1G[1],d.y));1p;1l"V":1G=["C"][3F](kI(d.x,d.y,d.x,1G[1]));1p;1l"Z":1G=["C"][3F](kI(d.x,d.y,d.X,d.Y));1p}1b 1G},vy=1a(pp,i){if(pp[i].1d>7){pp[i].bq();K pi=pp[i];4e(pi.1d){pp.59(i++,0,["C"][3F](pi.59(0,6)))}pp.59(i,1);ii=4N(p.1d,p2&&p2.1d||0)}},vx=1a(9l,7T,a1,a2,i){if(9l&&(7T&&(9l[i][0]=="M"&&7T[i][0]!="M"))){7T.59(i,0,["M",a2.x,a2.y]);a1.bx=0;a1.by=0;a1.x=9l[i][1];a1.y=9l[i][2];ii=4N(p.1d,p2&&p2.1d||0)}};1n(K i=0,ii=4N(p.1d,p2&&p2.1d||0);i<ii;i++){p[i]=vv(p[i],2b);vy(p,i);p2&&(p2[i]=vv(p2[i],db));p2&&vy(p2,i);vx(p,p2,2b,db,i);vx(p2,p,db,2b,i);K jp=p[i],jg=p2&&p2[i],lk=jp.1d,k0=p2&&jg.1d;2b.x=jp[lk-2];2b.y=jp[lk-1];2b.bx=3w(jp[lk-4])||2b.x;2b.by=3w(jp[lk-3])||2b.y;db.bx=p2&&(3w(jg[k0-4])||db.x);db.by=p2&&(3w(jg[k0-3])||db.y);db.x=p2&&jg[k0-2];db.y=p2&&jg[k0-1]}if(!p2){7t.fr=b2(p)}1b p2?[p,p2]:p},1c,b2),W1=R.wK=bl(1a(3I){K 56=[];1n(K i=0,ii=3I.1d;i<ii;i++){K 6B={},8J=3I[i].3a(/^([^:]*):?([\\d\\.]*)/);6B.3n=R.aW(8J[1]);if(6B.3n.9x){1b 1c}6B.3n=6B.3n.65;8J[2]&&(6B.2t=8J[2]+"%");56.1F(6B)}1n(i=1,ii=56.1d-1;i<ii;i++){if(!56[i].2t){K 2F=3w(56[i-1].2t||0),4t=0;1n(K j=i+1;j<ii;j++){if(56[j].2t){4t=56[j].2t;1p}}if(!4t){4t=7e;j=ii}4t=3w(4t);K d=(4t-2F)/(j-i+1);1n(;i<j;i++){2F+=d;56[i].2t=2F+"%"}}}1b 56}),ku=R.vN=1a(el,2s){el==2s.1N&&(2s.1N=el.3K);el==2s.4D&&(2s.4D=el.3h);el.3h&&(el.3h.3K=el.3K);el.3K&&(el.3K.3h=el.3h)},VY=R.vK=1a(el,2s){if(2s.1N===el){1b}ku(el,2s);el.3h=1c;el.3K=2s.1N;2s.1N.3h=el;2s.1N=el},Wo=R.vJ=1a(el,2s){if(2s.4D===el){1b}ku(el,2s);el.3h=2s.4D;el.3K=1c;2s.4D.3K=el;2s.4D=el},Wn=R.vV=1a(el,9I,2s){ku(el,2s);9I==2s.1N&&(2s.1N=el);9I.3h&&(9I.3h.3K=el);el.3h=9I.3h;el.3K=9I;9I.3h=el},Wm=R.vU=1a(el,9I,2s){ku(el,2s);9I==2s.4D&&(2s.4D=el);9I.3K&&(9I.3K.3h=el);el.3K=9I.3K;9I.3K=el;el.3h=9I},vD=R.vD=1a(1G,3x){K bb=qV(1G),el={1R:{3x:E},6q:1a(){1b bb}};tN(el,3x);1b el.4s},tB=R.tB=1a(1G,3x){1b lp(1G,vD(1G,3x))},tN=R.vl=1a(el,aG){if(aG==1c){1b el.1R.3x}aG=3V(aG).3m(/\\.{3}|\\vm/g,el.1R.3x||E);K kr=R.og(aG),4h=0,dx=0,dy=0,sx=1,sy=1,1R=el.1R,m=1W ei;1R.3x=kr||[];if(kr){1n(K i=0,ii=kr.1d;i<ii;i++){K t=kr[i],cD=t.1d,7Z=3V(t[0]).3L(),8d=t[0]!=7Z,dP=8d?m.mh():0,x1,y1,x2,y2,bb;if(7Z=="t"&&cD==3){if(8d){x1=dP.x(0,0);y1=dP.y(0,0);x2=dP.x(t[1],t[2]);y2=dP.y(t[1],t[2]);m.ez(x2-x1,y2-y1)}1i{m.ez(t[1],t[2])}}1i{if(7Z=="r"){if(cD==2){bb=bb||el.6q(1);m.5j(t[1],bb.x+bb.1r/ 2, bb.y + bb.1w /2);4h+=t[1]}1i{if(cD==4){if(8d){x2=dP.x(t[2],t[3]);y2=dP.y(t[2],t[3]);m.5j(t[1],x2,y2)}1i{m.5j(t[1],t[2],t[3])}4h+=t[1]}}}1i{if(7Z=="s"){if(cD==2||cD==3){bb=bb||el.6q(1);m.7V(t[1],t[cD-1],bb.x+bb.1r/ 2, bb.y + bb.1w /2);sx*=t[1];sy*=t[cD-1]}1i{if(cD==5){if(8d){x2=dP.x(t[3],t[4]);y2=dP.y(t[3],t[4]);m.7V(t[1],t[2],x2,y2)}1i{m.7V(t[1],t[2],t[3],t[4])}sx*=t[1];sy*=t[2]}}}1i{if(7Z=="m"&&cD==7){m.4V(t[1],t[2],t[3],t[4],t[5],t[6])}}}}1R.eV=1;el.4s=m}}el.4s=m;1R.sx=sx;1R.sy=sy;1R.4h=4h;1R.dx=dx=m.e;1R.dy=dy=m.f;if(sx==1&&(sy==1&&(!4h&&1R.2P))){1R.2P.x+=+dx;1R.2P.y+=+dy}1i{1R.eV=1}},wa=1a(1g){K l=1g[0];3s(l.3L()){1l"t":1b[l,0,0];1l"m":1b[l,1,0,0,1,0,0];1l"r":if(1g.1d==4){1b[l,0,1g[2],1g[3]]}1i{1b[l,0]};1l"s":if(1g.1d==5){1b[l,1,1,1g[3],1g[4]]}1i{if(1g.1d==3){1b[l,1,1]}1i{1b[l,1]}}}},GK=R.Wh=1a(t1,t2){t2=3V(t2).3m(/\\.{3}|\\vm/g,t1);t1=R.og(t1)||[];t2=R.og(t2)||[];K En=4N(t1.1d,t2.1d),2q=[],to=[],i=0,j,jj,ah,dh;1n(;i<En;i++){ah=t1[i]||wa(t2[i]);dh=t2[i]||wa(ah);if(ah[0]!=dh[0]||(ah[0].3L()=="r"&&(ah[2]!=dh[2]||ah[3]!=dh[3])||ah[0].3L()=="s"&&(ah[3]!=dh[3]||ah[4]!=dh[4]))){1b}2q[i]=[];to[i]=[];1n(j=0,jj=4N(ah.1d,dh.1d);j<jj;j++){j in ah&&(2q[i][j]=ah[j]);j in dh&&(to[i][j]=dh[j])}}1b{2q:2q,to:to}};R.vA=1a(x,y,w,h){K 47;47=h==1c&&!R.is(x,"1D")?g.2S.dr(x):x;if(47==1c){1b}if(47.5Z){if(y==1c){1b{47:47,1r:47.2Y.Wc||47.eF,1w:47.2Y.Wb||47.b9}}1i{1b{47:47,1r:y,1w:w}}}1b{47:1,x:x,y:y,1r:w,1w:h}};R.vC=vC;R.4z={};R.ha=ha;R.4s=1a(a,b,c,d,e,f){1b 1W ei(a,b,c,d,e,f)};1a ei(a,b,c,d,e,f){if(a!=1c){J.a=+a;J.b=+b;J.c=+c;J.d=+d;J.e=+e;J.f=+f}1i{J.a=1;J.b=0;J.c=0;J.d=1;J.e=0;J.f=0}}(1a(9d){9d.4V=1a(a,b,c,d,e,f){K 2j=[[],[],[]],m=[[J.a,J.c,J.e],[J.b,J.d,J.f],[0,0,1]],4s=[[a,c,e],[b,d,f],[0,0,1]],x,y,z,1y;if(a&&a eg ei){4s=[[a.a,a.c,a.e],[a.b,a.d,a.f],[0,0,1]]}1n(x=0;x<3;x++){1n(y=0;y<3;y++){1y=0;1n(z=0;z<3;z++){1y+=m[x][z]*4s[z][y]}2j[x][y]=1y}}J.a=2j[0][0];J.b=2j[1][0];J.c=2j[0][1];J.d=2j[1][1];J.e=2j[0][2];J.f=2j[1][2]};9d.mh=1a(){K me=J,x=me.a*me.d-me.b*me.c;1b 1W ei(me.d/ x, -me.b /x,-me.c/ x, me.a /x,(me.c*me.f-me.d*me.e)/ x, (me.b * me.e - me.a * me.f) /x)};9d.5Q=1a(){1b 1W ei(J.a,J.b,J.c,J.d,J.e,J.f)};9d.ez=1a(x,y){J.4V(1,0,0,1,x,y)};9d.7V=1a(x,y,cx,cy){y==1c&&(y=x);(cx||cy)&&J.4V(1,0,0,1,cx,cy);J.4V(x,0,0,y,0,0);(cx||cy)&&J.4V(1,0,0,1,-cx,-cy)};9d.5j=1a(a,x,y){a=R.8D(a);x=x||0;y=y||0;K 8G=+3u.8G(a).4p(9),8n=+3u.8n(a).4p(9);J.4V(8G,8n,-8n,8G,x,y);J.4V(1,0,0,1,-x,-y)};9d.x=1a(x,y){1b x*J.a+y*J.c+J.e};9d.y=1a(x,y){1b x*J.b+y*J.d+J.f};9d.4r=1a(i){1b+J[3V.vz(97+i)].4p(4)};9d.3q=1a(){1b R.3X?"4s("+[J.4r(0),J.4r(1),J.4r(2),J.4r(3),J.4r(4),J.4r(5)].4C()+")":[J.4r(0),J.4r(2),J.4r(1),J.4r(3),0,0].4C()};9d.LX=1a(){1b"wq:Lb.wo.ei(Wg="+J.4r(0)+", WV="+J.4r(2)+", XC="+J.4r(1)+", XB="+J.4r(3)+", Dx="+J.4r(4)+", Dy="+J.4r(5)+", XA=\'6b XF\')"};9d.2t=1a(){1b[J.e.4p(4),J.f.4p(4)]};1a tw(a){1b a[0]*a[0]+a[1]*a[1]}1a vE(a){K vG=3u.9r(tw(a));a[0]&&(a[0]/=vG);a[1]&&(a[1]/=vG)}9d.3o=1a(){K 2j={};2j.dx=J.e;2j.dy=J.f;K 1H=[[J.a,J.c],[J.b,J.d]];2j.eH=3u.9r(tw(1H[0]));vE(1H[0]);2j.ho=1H[0][0]*1H[1][0]+1H[0][1]*1H[1][1];1H[1]=[1H[1][0]-1H[0][0]*2j.ho,1H[1][1]-1H[0][1]*2j.ho];2j.e7=3u.9r(tw(1H[1]));vE(1H[1]);2j.ho/=2j.e7;K 8n=-1H[0][1],8G=1H[1][1];if(8G<0){2j.5j=R.4h(3u.Cz(8G));if(8n<0){2j.5j=8r-2j.5j}}1i{2j.5j=R.4h(3u.su(8n))}2j.uX=!+2j.ho.4p(9)&&(2j.eH.4p(9)==2j.e7.4p(9)||!2j.5j);2j.Xz=!+2j.ho.4p(9)&&(2j.eH.4p(9)==2j.e7.4p(9)&&!2j.5j);2j.LT=!+2j.ho.4p(9)&&!2j.5j;1b 2j};9d.Xu=1a(Dh){K s=Dh||J[3o]();if(s.uX){s.eH=+s.eH.4p(4);s.e7=+s.e7.4p(4);s.5j=+s.5j.4p(4);1b(s.dx||s.dy?"t"+[s.dx,s.dy]:E)+(s.eH!=1||s.e7!=1?"s"+[s.eH,s.e7,0,0]:E)+(s.5j?"r"+[s.5j,0,0]:E)}1i{1b"m"+[J.4r(0),J.4r(1),J.4r(2),J.4r(3),J.4r(4),J.4r(5)]}}})(ei.2Q);K 7g=aP.ek.3a(/Xt\\/(.*?)\\s/)||aP.ek.3a(/Xv\\/(\\d+)/);if(aP.D6=="Xy Xx, D1."&&(7g&&7g[1]<4||aP.XK.3G(0,2)=="iP")||aP.D6=="XI D1."&&(7g&&7g[1]<8)){5X.hz=1a(){K 4l=J.4l(-99,-99,J.1r+99,J.1w+99).1k({1V:"3p"});6m(1a(){4l.3v()})}}1i{5X.hz=sn}K 4c=1a(){J.XO=1j},DF=1a(){1b J.cQ.4c()},7C=1a(){J.XN=1o},DB=1a(){1b J.cQ.7C()},vu=1a(e){K dG=g.2S.9B.58||g.2S.3O.58,dR=g.2S.9B.4Q||g.2S.3O.4Q;1b{x:e.9R+dR,y:e.9K+dG}},BI=1a(){if(g.2S.b8){1b 1a(1z,1v,fn,1f){K f=1a(e){K 3S=vu(e);1b fn.2x(1f,e,3S.x,3S.y)};1z.b8(1v,f,1j);if(lC&&jU[1v]){K DQ=1a(e){K 3S=vu(e),DU=e;1n(K i=0,ii=e.s8&&e.s8.1d;i<ii;i++){if(e.s8[i].3i==1z){e=e.s8[i];e.cQ=DU;e.4c=DF;e.7C=DB;1p}}1b fn.2x(1f,e,3S.x,3S.y)};1z.b8(jU[1v],DQ,1j)}1b 1a(){1z.ke(1v,f,1j);if(lC&&jU[1v]){1z.ke(jU[1v],f,1j)}1b 1o}}}1i{if(g.2S.fW){1b 1a(1z,1v,fn,1f){K f=1a(e){e=e||g.5h.1K;K dG=g.2S.9B.58||g.2S.3O.58,dR=g.2S.9B.4Q||g.2S.3O.4Q,x=e.9R+dR,y=e.9K+dG;e.4c=e.4c||4c;e.7C=e.7C||7C;1b fn.2x(1f,e,x,y)};1z.fW("on"+1v,f);K Bw=1a(){1z.wT("on"+1v,f);1b 1o};1b Bw}}}}(),5d=[],sk=1a(e){K x=e.9R,y=e.9K,dG=g.2S.9B.58||g.2S.3O.58,dR=g.2S.9B.4Q||g.2S.3O.4Q,7q,j=5d.1d;4e(j--){7q=5d[j];if(lC&&e.gI){K i=e.gI.1d,9c;4e(i--){9c=e.gI[i];if(9c.sU==7q.el.cz.id){x=9c.9R;y=9c.9K;(e.cQ?e.cQ:e).4c();1p}}}1i{e.4c()}K 1s=7q.el.1s,o,3h=1s.jN,1J=1s.3j,5n=1s.2Y.5n;g.5h.v4&&1J.73(1s);1s.2Y.5n="3p";o=7q.el.2s.F8(x,y);1s.2Y.5n=5n;g.5h.v4&&(3h?1J.6P(1s,3h):1J.3A(1s));o&&2M("44.5d.hF."+7q.el.id,7q.el,o);x+=dR;y+=dG;2M("44.5d.dm."+7q.el.id,7q.j9||7q.el,x-7q.el.cz.x,y-7q.el.cz.y,x,y,e)}},sm=1a(e){R.Ev(sk).EW(sm);K i=5d.1d,7q;4e(i--){7q=5d[i];7q.el.cz={};2M("44.5d.4t."+7q.el.id,7q.sN||(7q.kB||(7q.j9||7q.el)),e)}5d=[]},2Z=R.el={};1n(K i=5A.1d;i--;){(1a(bH){R[bH]=2Z[bH]=1a(fn,ee){if(R.is(fn,"1a")){J.5A=J.5A||[];J.5A.1F({1x:bH,f:fn,7D:BI(J.c9||(J.1s||g.2S),bH,fn,ee||J)})}1b J};R["un"+bH]=2Z["un"+bH]=1a(fn){K 5A=J.5A||[],l=5A.1d;4e(l--){if(5A[l].1x==bH&&(R.is(fn,"2O")||5A[l].f==fn)){5A[l].7D();5A.59(l,1);!5A.1d&&3Y J.5A}}1b J}})(5A[i])}2Z.1h=1a(1q,1m){K 1h=gM[J.id]=gM[J.id]||{};if(2p.1d==0){1b 1h}if(2p.1d==1){if(R.is(1q,"1D")){1n(K i in 1q){if(1q[3l](i)){J.1h(i,1q[i])}}1b J}2M("44.1h.4r."+J.id,J,1h[1q],1q);1b 1h[1q]}1h[1q]=1m;2M("44.1h.5s."+J.id,J,1m,1q);1b J};2Z.rD=1a(1q){if(1q==1c){gM[J.id]={}}1i{gM[J.id]&&3Y gM[J.id][1q]}1b J};2Z.X7=1a(){1b 5Q(gM[J.id]||{})};2Z.6i=1a(sI,sC,vs,Ca){1b J.gR(sI,vs).dS(sC,Ca||vs)};2Z.WX=1a(sI,sC){1b J.X0(sI).Xl(sC)};K 6F=[];2Z.5d=1a(vP,vR,vQ,j9,kB,sN){1a 2F(e){(e.cQ||e).4c();K x=e.9R,y=e.9K,dG=g.2S.9B.58||g.2S.3O.58,dR=g.2S.9B.4Q||g.2S.3O.4Q;J.cz.id=e.sU;if(lC&&e.gI){K i=e.gI.1d,9c;4e(i--){9c=e.gI[i];J.cz.id=9c.sU;if(9c.sU==J.cz.id){x=9c.9R;y=9c.9K;1p}}}J.cz.x=x+dR;J.cz.y=y+dG;!5d.1d&&R.9z(sk).5p(sm);5d.1F({el:J,j9:j9,kB:kB,sN:sN});vR&&2M.on("44.5d.2F."+J.id,vR);vP&&2M.on("44.5d.dm."+J.id,vP);vQ&&2M.on("44.5d.4t."+J.id,vQ);2M("44.5d.2F."+J.id,kB||(j9||J),e.9R+dR,e.9K+dG,e)}J.cz={};6F.1F({el:J,2F:2F});J.74(2F);1b J};2Z.Xj=1a(f){f?2M.on("44.5d.hF."+J.id,f):2M.7D("44.5d.hF."+J.id)};2Z.Xe=1a(){K i=6F.1d;4e(i--){if(6F[i].el==J){J.Xd(6F[i].2F);6F.59(i,1);2M.7D("44.5d.*."+J.id)}}!6F.1d&&R.Ev(sk).EW(sm);5d=[]};5X.8P=1a(x,y,r){K 2j=R.4z.8P(J,x||0,y||0,r||0);J.6K&&J.6K.1F(2j);1b 2j};5X.4l=1a(x,y,w,h,r){K 2j=R.4z.4l(J,x||0,y||0,w||0,h||0,r||0);J.6K&&J.6K.1F(2j);1b 2j};5X.aQ=1a(x,y,rx,ry){K 2j=R.4z.aQ(J,x||0,y||0,rx||0,ry||0);J.6K&&J.6K.1F(2j);1b 2j};5X.1G=1a(8l){8l&&(!R.is(8l,4a)&&(!R.is(8l[0],3E)&&(8l+=E)));K 2j=R.4z.1G(R.6x[31](R,2p),J);J.6K&&J.6K.1F(2j);1b 2j};5X.8y=1a(46,x,y,w,h){K 2j=R.4z.8y(J,46||"Fm:uQ",x||0,y||0,w||0,h||0);J.6K&&J.6K.1F(2j);1b 2j};5X.1X=1a(x,y,1X){K 2j=R.4z.1X(J,x||0,y||0,3V(1X));J.6K&&J.6K.1F(2j);1b 2j};5X.5s=1a(sl){!R.is(sl,"3E")&&(sl=3Z.2Q.59.2x(2p,0,2p.1d));K 2j=1W j7(sl);J.6K&&J.6K.1F(2j);2j["2s"]=J;2j["1v"]="5s";1b 2j};5X.Xf=1a(5s){J.6K=5s||J.5s()};5X.Xg=1a(5s){K 2j=J.6K;3Y J.6K;1b 2j};5X.iG=1a(1r,1w){1b R.4z.iG.2x(J,1r,1w)};5X.eY=1a(x,y,w,h,9M){1b R.4z.eY.2x(J,x,y,w,h,9M)};5X.1N=5X.4D=1c;5X.44=R;K Fg=1a(6d){K 4U=6d.wS(),2S=6d.w0,3O=2S.3O,e3=2S.9B,jO=e3.jO||(3O.jO||0),jQ=e3.jQ||(3O.jQ||0),1N=4U.1N+(g.5h.Fc||(e3.58||3O.58))-jO,28=4U.28+(g.5h.Xh||(e3.4Q||3O.4Q))-jQ;1b{y:1N,x:28}};5X.F8=1a(x,y){K 2s=J,3X=2s.1U,3i=g.2S.tA(x,y);if(g.5h.v4&&3i.5Z=="3X"){K so=Fg(3X),sr=3X.Xi();sr.x=x-so.x;sr.y=y-so.y;sr.1r=sr.1w=1;K t4=3X.Xc(sr,1c);if(t4.1d){3i=t4[t4.1d-1]}}if(!3i){1b 1c}4e(3i.3j&&(3i!=3X.3j&&!3i.44)){3i=3i.3j}3i==2s.1U.3j&&(3i=3X);3i=3i&&3i.44?2s.F0(3i.vk):1c;1b 3i};5X.Xo=1a(2P){K 5s=J.5s();J.8A(1a(el){if(R.uU(el.6q(),2P)){5s.1F(el)}});1b 5s};5X.F0=1a(id){K bJ=J.4D;4e(bJ){if(bJ.id==id){1b bJ}bJ=bJ.3h}1b 1c};5X.8A=1a(2l,qF){K bJ=J.4D;4e(bJ){if(2l.2x(qF,bJ)===1j){1b J}bJ=bJ.3h}1b J};5X.Xp=1a(x,y){K 5s=J.5s();J.8A(1a(el){if(el.h4(x,y)){5s.1F(el)}});1b 5s};1a Xq(){1b J.x+S+J.y}1a uZ(){1b J.x+S+J.y+S+J.1r+" \\Xn "+J.1w}2Z.h4=1a(x,y){K rp=J.fB=aV[J.1v](J);if(J.1k("3x")&&J.1k("3x").1d){rp=R.tB(rp,J.1k("3x"))}1b R.EX(rp,x,y)};2Z.6q=1a(F5){if(J.57){1b{}}K 1R=J.1R;if(F5){if(1R.7B||!1R.kN){J.fB=aV[J.1v](J);1R.kN=qV(J.fB);1R.kN.3q=uZ;1R.7B=0}1b 1R.kN}if(1R.7B||(1R.eV||!1R.2P)){if(1R.7B||!J.fB){1R.kN=0;J.fB=aV[J.1v](J)}1R.2P=qV(lp(J.fB,J.4s));1R.2P.3q=uZ;1R.7B=1R.eV=0}1b 1R.2P};2Z.5Q=1a(){if(J.57){1b 1c}K 2j=J.2s[J.1v]().1k(J.1k());J.6K&&J.6K.1F(2j);1b 2j};2Z.aS=1a(aS){if(J.1v=="1X"){1b 1c}aS=aS||{};K s={1r:(aS.1r||10)+(+J.1k("1V-1r")||1),1Y:aS.1Y||1j,2C:aS.2C||0.5,va:aS.va||0,vi:aS.vi||0,3n:aS.3n||"#c5"},c=s.1r/2,r=J.2s,2j=r.5s(),1G=J.fB||aV[J.1v](J);1G=J.4s?lp(1G,J.4s):1G;1n(K i=1;i<c+1;i++){2j.1F(r.1G(1G).1k({1V:s.3n,1Y:s.1Y?s.3n:"3p","1V-fS":"4E","1V-bQ":"4E","1V-1r":+(s.1r/ c * i).4p(3), 2C:+(s.2C /c).4p(3)}))}1b 2j.6P(J).ez(s.va,s.vi)};K Xk={},qH=1a(5y,66,5R,5Y,6T,6S,79,7d,1d){if(1d==1c){1b gS(5y,66,5R,5Y,6T,6S,79,7d)}1i{1b R.k5(5y,66,5R,5Y,6T,6S,79,7d,Fu(5y,66,5R,5Y,6T,6S,79,7d,1d))}},tn=1a(wR,rL){1b 1a(1G,1d,Fz){1G=ha(1G);K x,y,p,l,sp="",k3={},68,61=0;1n(K i=0,ii=1G.1d;i<ii;i++){p=1G[i];if(p[0]=="M"){x=+p[1];y=+p[2]}1i{l=qH(x,y,p[1],p[2],p[3],p[4],p[5],p[6]);if(61+l>1d){if(rL&&!k3.2F){68=qH(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1d-61);sp+=["C"+68.2F.x,68.2F.y,68.m.x,68.m.y,68.x,68.y];if(Fz){1b sp}k3.2F=sp;sp=["M"+68.x,68.y+"C"+68.n.x,68.n.y,68.4t.x,68.4t.y,p[5],p[6]].4C();61+=l;x=+p[5];y=+p[6];aM}if(!wR&&!rL){68=qH(x,y,p[1],p[2],p[3],p[4],p[5],p[6],1d-61);1b{x:68.x,y:68.y,cV:68.cV}}}61+=l;x=+p[5];y=+p[6]}sp+=p.bq()+p}k3.4t=sp;68=wR?61:rL?k3:R.k5(x,y,p[0],p[1],p[2],p[3],p[4],p[5],1);68.cV&&(68={x:68.x,y:68.y,cV:68.cV});1b 68}};K b3=tn(1),nM=tn(),rF=tn(0,1);R.b3=b3;R.nM=nM;R.mU=1a(1G,2q,to){if(J.b3(1G)-to<1E-6){1b rF(1G,2q).4t}K a=rF(1G,to,1);1b 2q?rF(a,2q).4t:a};2Z.b3=1a(){K 1G=J.aV();if(!1G){1b}if(J.1s.b3){1b J.1s.b3()}1b b3(1G)};2Z.nM=1a(1d){K 1G=J.aV();if(!1G){1b}1b nM(1G,1d)};2Z.aV=1a(){K 1G,aV=R.wc[J.1v];if(J.1v=="1X"||J.1v=="5s"){1b}if(aV){1G=aV(J)}1b 1G};2Z.mU=1a(2q,to){K 1G=J.aV();if(!1G){1b}1b R.mU(1G,2q,to)};K ef=R.GN={ld:1a(n){1b n},"<":1a(n){1b 5N(n,1.7)},">":1a(n){1b 5N(n,0.48)},"<>":1a(n){K q=0.48-n/ 1.Xm, Q = 3u.9r(0.Xb + q * q), x = Q - q, X = 5N(45(x), 1 /3)*(x<0?-1:1),y=-Q-q,Y=5N(45(y),1/3)*(y<0?-1:1),t=X+Y+0.5;1b(1-t)*3*t*t+t*t*t},EV:1a(n){K s=1.Ex;1b n*n*((s+1)*n-s)},EL:1a(n){n=n-1;K s=1.Ex;1b n*n*((s+1)*n+s)+1},X1:1a(n){if(n==!!n){1b n}1b 5N(2,-10*n)*3u.8n((n-0.Ej)*(2*PI)/0.3)+1},X2:1a(n){K s=7.WZ,p=2.75,l;if(n<1/p){l=s*n*n}1i{if(n<2/p){n-=1.5/p;l=s*n*n+0.75}1i{if(n<2.5/p){n-=2.25/p;l=s*n*n+0.WW}1i{n-=2.WY/p;l=s*n*n+0.X3}}}1b l}};ef.X8=ef["w5-in"]=ef["<"];ef.X9=ef["w5-2j"]=ef[">"];ef.Xa=ef["w5-in-2j"]=ef["<>"];ef["w6-in"]=ef.EV;ef["w6-2j"]=ef.EL;K 4S=[],uB=3H.X4||(3H.X5||(3H.X6||(3H.Xr||(3H.XM||1a(2l){6m(2l,16)})))),6r=1a(){K EC=+1W 5g,l=0;1n(;l<4S.1d;l++){K e=4S[l];if(e.el.57||e.ux){aM}K ed=EC-e.2F,ms=e.ms,5u=e.5u,2q=e.2q,5v=e.5v,to=e.to,t=e.t,64=e.el,5s={},6U,7A={},1q;if(e.hU){ed=(e.hU*e.2v.1N-e.3K)/(e.a0-e.3K)*ms;e.6t=e.hU;3Y e.hU;e.5x&&4S.59(l--,1)}1i{e.6t=(e.3K+(e.a0-e.3K)*(ed/ ms)) /e.2v.1N}if(ed<0){aM}if(ed<ms){K 3S=5u(ed/ms);1n(K 1k in 2q){if(2q[3l](1k)){3s(qZ[1k]){1l nu:6U=+2q[1k]+3S*ms*5v[1k];1p;1l"9A":6U="3z("+[ro(4E(2q[1k].r+3S*ms*5v[1k].r)),ro(4E(2q[1k].g+3S*ms*5v[1k].g)),ro(4E(2q[1k].b+3S*ms*5v[1k].b))].4C(",")+")";1p;1l"1G":6U=[];1n(K i=0,ii=2q[1k].1d;i<ii;i++){6U[i]=[2q[1k][i][0]];1n(K j=1,jj=2q[1k][i].1d;j<jj;j++){6U[i][j]=+2q[1k][i][j]+3S*ms*5v[1k][i][j]}6U[i]=6U[i].4C(S)}6U=6U.4C(S);1p;1l"3x":if(5v[1k].GI){6U=[];1n(i=0,ii=2q[1k].1d;i<ii;i++){6U[i]=[2q[1k][i][0]];1n(j=1,jj=2q[1k][i].1d;j<jj;j++){6U[i][j]=2q[1k][i][j]+3S*ms*5v[1k][i][j]}}}1i{K 4r=1a(i){1b+2q[1k][i]+3S*ms*5v[1k][i]};6U=[["m",4r(0),4r(1),4r(2),4r(3),4r(4),4r(5)]]}1p;1l"tQ":if(1k=="5T-4l"){6U=[];i=4;4e(i--){6U[i]=+2q[1k][i]+3S*ms*5v[1k][i]}}1p;5q:K h8=[][3F](2q[1k]);6U=[];i=64.2s.8B[1k].1d;4e(i--){6U[i]=+h8[i]+3S*ms*5v[1k][i]}1p}5s[1k]=6U}}64.1k(5s);(1a(id,64,2v){6m(1a(){2M("44.2v.rt."+id,64,2v)})})(64.id,64,e.2v)}1i{(1a(f,el,a){6m(1a(){2M("44.2v.rt."+el.id,el,a);2M("44.2v.XL."+el.id,el,a);R.is(f,"1a")&&f.2x(el)})})(e.2l,64,e.2v);64.1k(to);4S.59(l--,1);if(e.i4>1&&!e.3h){1n(1q in to){if(to[3l](1q)){7A[1q]=e.gZ[1q]}}e.el.1k(7A);jI(e.2v,e.el,e.2v.87[0],1c,e.gZ,e.i4-1)}if(e.3h&&!e.5x){jI(e.2v,e.el,e.3h,1c,e.gZ,e.i4)}}}R.3X&&(64&&(64.2s&&64.2s.hz()));4S.1d&&uB(6r)},ro=1a(3n){1b 3n>ec?ec:3n<0?0:3n};2Z.Cl=1a(el,2v,1u,ms,5u,2l){K 1f=J;if(1f.57){2l&&2l.2x(1f);1b 1f}K a=1u eg cR?1u:R.6r(1u,ms,5u,2l),x,y;jI(a,1f,a.87[0],1c,1f.1k());1n(K i=0,ii=4S.1d;i<ii;i++){if(4S[i].2v==2v&&4S[i].el==el){4S[ii-1].2F=4S[i].2F;1p}}1b 1f};1a GM(t,5y,66,79,7d,6O){K cx=3*5y,bx=3*(79-5y)-cx,ax=1-cx-bx,cy=3*66,by=3*(7d-66)-cy,ay=1-cy-by;1a wm(t){1b((ax*t+bx)*t+cx)*t}1a Gp(x,m7){K t=Gx(x,m7);1b((ay*t+by)*t+cy)*t}1a Gx(x,m7){K t0,t1,t2,x2,d2,i;1n(t2=x,i=0;i<8;i++){x2=wm(t2)-x;if(45(x2)<m7){1b t2}d2=(3*ax*t2+2*bx)*t2+cx;if(45(d2)<1E-6){1p}t2=t2-x2/d2}t0=0;t1=1;t2=x;if(t2<t0){1b t0}if(t2>t1){1b t1}4e(t0<t1){x2=wm(t2);if(45(x2-x)<m7){1b t2}if(x>x2){t0=t2}1i{t1=t2}t2=(t1-t0)/2+t0}1b t2}1b Gp(t,1/(eB*6O))}2Z.XJ=1a(f){f?2M.on("44.2v.rt."+J.id,f):2M.7D("44.2v.rt."+J.id);1b J};1a cR(2v,ms){K 87=[],wk={};J.ms=ms;J.bM=1;if(2v){1n(K 1k in 2v){if(2v[3l](1k)){wk[3w(1k)]=2v[1k];87.1F(3w(1k))}}87.fl(Gm)}J.2v=wk;J.1N=87[87.1d-1];J.87=87}cR.2Q.fq=1a(fq){K a=1W cR(J.2v,J.ms);a.bM=J.bM;a.rT=+fq||0;1b a};cR.2Q.i4=1a(bM){K a=1W cR(J.2v,J.ms);a.rT=J.rT;a.bM=3u.g4(4N(bM,0))||1;1b a};1a jI(2v,1f,a0,6t,gZ,bM){a0=3w(a0);K 1u,h0,rI,87=[],3h,3K,mf,ms=2v.ms,2q={},to={},5v={};if(6t){1n(i=0,ii=4S.1d;i<ii;i++){K e=4S[i];if(e.el.id==1f.id&&e.2v==2v){if(e.a0!=a0){4S.59(i,1);rI=1}1i{h0=e}1f.1k(e.gZ);1p}}}1i{6t=+to}1n(K i=0,ii=2v.87.1d;i<ii;i++){if(2v.87[i]==a0||2v.87[i]>6t*2v.1N){a0=2v.87[i];3K=2v.87[i-1]||0;ms=ms/2v.1N*(a0-3K);3h=2v.87[i+1];1u=2v.2v[a0];1p}1i{if(6t){1f.1k(2v.2v[2v.87[i]])}}}if(!1u){1b}if(!h0){1n(K 1k in 1u){if(1u[3l](1k)){if(qZ[3l](1k)||1f.2s.8B[3l](1k)){2q[1k]=1f.1k(1k);2q[1k]==1c&&(2q[1k]=GT[1k]);to[1k]=1u[1k];3s(qZ[1k]){1l nu:5v[1k]=(to[1k]-2q[1k])/ms;1p;1l"9A":2q[1k]=R.aW(2q[1k]);K rq=R.aW(to[1k]);5v[1k]={r:(rq.r-2q[1k].r)/ ms, g:(rq.g - 2q[1k].g) /ms,b:(rq.b-2q[1k].b)/ms};1p;1l"1G":K tV=ha(2q[1k],to[1k]),GJ=tV[1];2q[1k]=tV[0];5v[1k]=[];1n(i=0,ii=2q[1k].1d;i<ii;i++){5v[1k][i]=[0];1n(K j=1,jj=2q[1k][i].1d;j<jj;j++){5v[1k][i][j]=(GJ[i][j]-2q[1k][i][j])/ms}}1p;1l"3x":K 1R=1f.1R,eq=GK(1R[1k],to[1k]);if(eq){2q[1k]=eq.2q;to[1k]=eq.to;5v[1k]=[];5v[1k].GI=1o;1n(i=0,ii=2q[1k].1d;i<ii;i++){5v[1k][i]=[2q[1k][i][0]];1n(j=1,jj=2q[1k][i].1d;j<jj;j++){5v[1k][i][j]=(to[1k][i][j]-2q[1k][i][j])/ms}}}1i{K m=1f.4s||1W ei,dD={1R:{3x:1R.3x},6q:1a(){1b 1f.6q(1)}};2q[1k]=[m.a,m.b,m.c,m.d,m.e,m.f];tN(dD,to[1k]);to[1k]=dD.1R.3x;5v[1k]=[(dD.4s.a-m.a)/ ms, (dD.4s.b - m.b) /ms,(dD.4s.c-m.c)/ ms, (dD.4s.d - m.d) /ms,(dD.4s.e-m.e)/ ms, (dD.4s.f - m.f) /ms]}1p;1l"tQ":K 2E=3V(1u[1k])[3o](5m),h8=3V(2q[1k])[3o](5m);if(1k=="5T-4l"){2q[1k]=h8;5v[1k]=[];i=h8.1d;4e(i--){5v[1k][i]=(2E[i]-2q[1k][i])/ms}}to[1k]=2E;1p;5q:2E=[][3F](1u[1k]);h8=[][3F](2q[1k]);5v[1k]=[];i=1f.2s.8B[1k].1d;4e(i--){5v[1k][i]=((2E[i]||0)-(h8[i]||0))/ms}1p}}}}K 5u=1u.5u,dz=R.GN[5u];if(!dz){dz=3V(5u).3a(GL);if(dz&&dz.1d==5){K fr=dz;dz=1a(t){1b GM(t,+fr[1],+fr[2],+fr[3],+fr[4],ms)}}1i{dz=FS}}mf=1u.2F||(2v.2F||+1W 5g);e={2v:2v,a0:a0,mf:mf,2F:mf+(2v.rT||0),6t:0,hU:6t||0,5x:1j,ms:ms,5u:dz,2q:2q,5v:5v,to:to,el:1f,2l:1u.2l,3K:3K,3h:3h,i4:bM||2v.bM,ew:1f.1k(),gZ:gZ};4S.1F(e);if(6t&&(!h0&&!rI)){e.5x=1o;e.2F=1W 5g-ms*6t;if(4S.1d==1){1b 6r()}}if(rI){e.2F=1W 5g-e.ms*6t}4S.1d==1&&uB(6r)}1i{h0.hU=6t;h0.2F=1W 5g-h0.ms*6t}2M("44.2v.2F."+1f.id,1f,2v)}R.6r=1a(1u,ms,5u,2l){if(1u eg cR){1b 1u}if(R.is(5u,"1a")||!5u){2l=2l||(5u||1c);5u=1c}1u=4H(1u);ms=+ms||0;K p={},eb,1k;1n(1k in 1u){if(1u[3l](1k)&&(3w(1k)!=1k&&3w(1k)+"%"!=1k)){eb=1o;p[1k]=1u[1k]}}if(!eb){1b 1W cR(1u,ms)}1i{5u&&(p.5u=5u);2l&&(p.2l=2l);1b 1W cR({7e:p},ms)}};2Z.4F=1a(1u,ms,5u,2l){K 1f=J;if(1f.57){2l&&2l.2x(1f);1b 1f}K 2v=1u eg cR?1u:R.6r(1u,ms,5u,2l);jI(2v,1f,2v.87[0],1c,1f.1k());1b 1f};2Z.XP=1a(2v,1m){if(2v&&1m!=1c){J.6t(2v,5J(1m,2v.ms)/2v.ms)}1b J};2Z.6t=1a(2v,1m){K 2j=[],i=0,61,e;if(1m!=1c){jI(2v,J,-1,5J(1m,1));1b J}1i{61=4S.1d;1n(;i<61;i++){e=4S[i];if(e.el.id==J.id&&(!2v||e.2v==2v)){if(2v){1b e.6t}2j.1F({2v:e.2v,6t:e.6t})}}if(2v){1b 0}1b 2j}};2Z.Gi=1a(2v){1n(K i=0;i<4S.1d;i++){if(4S[i].el.id==J.id&&(!2v||4S[i].2v==2v)){if(2M("44.2v.Gi."+J.id,J,4S[i].2v)!==1j){4S[i].ux=1o}}}1b J};2Z.Gj=1a(2v){1n(K i=0;i<4S.1d;i++){if(4S[i].el.id==J.id&&(!2v||4S[i].2v==2v)){K e=4S[i];if(2M("44.2v.Gj."+J.id,J,e.2v)!==1j){3Y e.ux;J.6t(e.2v,e.6t)}}}1b J};2Z.5x=1a(2v){1n(K i=0;i<4S.1d;i++){if(4S[i].el.id==J.id&&(!2v||4S[i].2v==2v)){if(2M("44.2v.5x."+J.id,J,4S[i].2v)!==1j){4S.59(i--,1)}}}1b J};1a uO(2s){1n(K i=0;i<4S.1d;i++){if(4S[i].el.2s==2s){4S.59(i--,1)}}}2M.on("44.3v",uO);2M.on("44.9P",uO);2Z.3q=1a(){1b"gf\\gd\\XU 1D"};K j7=1a(1C){J.1C=[];J.1d=0;J.1v="5s";if(1C){1n(K i=0,ii=1C.1d;i<ii;i++){if(1C[i]&&(1C[i].4R==2Z.4R||1C[i].4R==j7)){J[J.1C.1d]=J.1C[J.1C.1d]=1C[i];J.1d++}}}},6M=j7.2Q;6M.1F=1a(){K 1g,61;1n(K i=0,ii=2p.1d;i<ii;i++){1g=2p[i];if(1g&&(1g.4R==2Z.4R||1g.4R==j7)){61=J.1C.1d;J[61]=J.1C[61]=1g;J.1d++}}1b J};6M.cu=1a(){J.1d&&3Y J[J.1d--];1b J.1C.cu()};6M.8A=1a(2l,qF){1n(K i=0,ii=J.1C.1d;i<ii;i++){if(2l.2x(qF,J.1C[i],i)===1j){1b J}}1b J};1n(K 43 in 2Z){if(2Z[3l](43)){6M[43]=1a(dZ){1b 1a(){K 4f=2p;1b J.8A(1a(el){el[dZ][31](el,4f)})}}(43)}}6M.1k=1a(1x,1m){if(1x&&(R.is(1x,3E)&&R.is(1x[0],"1D"))){1n(K j=0,jj=1x.1d;j<jj;j++){J.1C[j].1k(1x[j])}}1i{1n(K i=0,ii=J.1C.1d;i<ii;i++){J.1C[i].1k(1x,1m)}}1b J};6M.9P=1a(){4e(J.1d){J.cu()}};6M.59=1a(1T,6k,XV){1T=1T<0?4N(J.1d+1T,0):1T;6k=4N(0,5J(J.1d-1T,6k));K qj=[],u9=[],2e=[],i;1n(i=2;i<2p.1d;i++){2e.1F(2p[i])}1n(i=0;i<6k;i++){u9.1F(J[1T+i])}1n(;i<J.1d-1T;i++){qj.1F(J[1T+i])}K lQ=2e.1d;1n(i=0;i<lQ+qj.1d;i++){J.1C[1T+i]=J[1T+i]=i<lQ?2e[i]:qj[i-lQ]}i=J.1C.1d=J.1d-=6k-lQ;4e(J[i]){3Y J[i++]}1b 1W j7(u9)};6M.vO=1a(el){1n(K i=0,ii=J.1d;i<ii;i++){if(J[i]==el){J.59(i,1);1b 1o}}};6M.4F=1a(1u,ms,5u,2l){(R.is(5u,"1a")||!5u)&&(2l=5u||1c);K 61=J.1C.1d,i=61,1g,5s=J,qq;if(!61){1b J}2l&&(qq=1a(){!--61&&2l.2x(5s)});5u=R.is(5u,4a)?5u:qq;K 2v=R.6r(1u,ms,5u,qq);1g=J.1C[--i].4F(2v);4e(i--){J.1C[i]&&(!J.1C[i].57&&J.1C[i].Cl(1g,2v,2v));J.1C[i]&&!J.1C[i].57||61--}1b J};6M.fA=1a(el){K i=J.1C.1d;4e(i--){J.1C[i].fA(el)}1b J};6M.6q=1a(){K x=[],y=[],x2=[],y2=[];1n(K i=J.1C.1d;i--;){if(!J.1C[i].57){K 4U=J.1C[i].6q();x.1F(4U.x);y.1F(4U.y);x2.1F(4U.x+4U.1r);y2.1F(4U.y+4U.1w)}}x=5J[31](0,x);y=5J[31](0,y);x2=4N[31](0,x2);y2=4N[31](0,y2);1b{x:x,y:y,x2:x2,y2:y2,1r:x2-x,1w:y2-y}};6M.5Q=1a(s){s=J.2s.5s();1n(K i=0,ii=J.1C.1d;i<ii;i++){s.1F(J.1C[i].5Q())}1b s};6M.3q=1a(){1b"gf\\gd\\XW 5s"};6M.aS=1a(Ck){K 7J=J.2s.5s();J.8A(1a(c9,1T){K g=c9.aS(Ck);if(g!=1c){g.8A(1a(Cs,XT){7J.1F(Cs)})}});1b 7J};6M.h4=1a(x,y){K h4=1j;J.8A(1a(el){if(el.h4(x,y)){h4=1o;1b 1j}});1b h4};R.XQ=1a(2J){if(!2J.8w){1b 2J}J.dk=J.dk||{};K h3={w:2J.w,8w:{},fw:{}},7X=2J.8w["2J-7X"];1n(K 7Q in 2J.8w){if(2J.8w[3l](7Q)){h3.8w[7Q]=2J.8w[7Q]}}if(J.dk[7X]){J.dk[7X].1F(h3)}1i{J.dk[7X]=[h3]}if(!2J.3X){h3.8w["uq-u0-em"]=9F(2J.8w["uq-u0-em"],10);1n(K mM in 2J.fw){if(2J.fw[3l](mM)){K 1G=2J.fw[mM];h3.fw[mM]={w:1G.w,k:{},d:1G.d&&"M"+1G.d.3m(/[XR]/g,1a(7Z){1b{l:"L",c:"C",x:"z",t:"m",r:"l",v:"c"}[7Z]||"M"})+"z"};if(1G.k){1n(K k in 1G.k){if(1G[3l](k)){h3.fw[mM].k[k]=1G.k[k]}}}}}}1b 2J};5X.CM=1a(7X,9w,2Y,mY){mY=mY||"qO";2Y=2Y||"qO";9w=+9w||({qO:nv,XS:XH,Xw:oy,Xs:sD}[9w]||nv);if(!R.dk){1b}K 2J=R.dk[7X];if(!2J){K 1x=1W d5("(^|\\\\s)"+7X.3m(/[^\\w\\d\\s+!~.:1R-]/g,E)+"(\\\\s|$)","i");1n(K qU in R.dk){if(R.dk[3l](qU)){if(1x.9C(qU)){2J=R.dk[qU];1p}}}}K gT;if(2J){1n(K i=0,ii=2J.1d;i<ii;i++){gT=2J[i];if(gT.8w["2J-9w"]==9w&&((gT.8w["2J-2Y"]==2Y||!gT.8w["2J-2Y"])&&gT.8w["2J-mY"]==mY)){1p}}}1b gT};5X.XE=1a(x,y,4a,2J,4W,ew,sB,sW){ew=ew||"wj";sB=4N(5J(sB||0,1),-1);sW=4N(5J(sW||1,3),1);K j1=3V(4a)[3o](E),bq=0,mB=0,1G=E,7V;R.is(2J,"4a")&&(2J=J.CM(2J));if(2J){7V=(4W||16)/2J.8w["uq-u0-em"];K bb=2J.8w.2P[3o](5m),1N=+bb[0],sR=bb[3]-bb[1],tM=0,1w=+bb[1]+(ew=="XG"?sR+ +2J.8w.XD:sR/2);1n(K i=0,ii=j1.1d;i<ii;i++){if(j1[i]=="\\n"){bq=0;mD=0;mB=0;tM+=sR*sW}1i{K 3K=mB&&2J.fw[j1[i-1]]||{},mD=2J.fw[j1[i]];bq+=mB?(3K.w||2J.w)+(3K.k&&3K.k[j1[i]]||0)+2J.w*sB:0;mB=1}if(mD&&mD.d){1G+=R.tB(mD.d,["t",bq*7V,tM*7V,"s",7V,7V,1N,1w,"t",(x-1N)/ 7V, (y - 1w) /7V])}}}1b J.1G(1G).1k({1Y:"#c5",1V:"3p"})};5X.4V=1a(eb){if(R.is(eb,"3E")){K 1y=J.5s(),i=0,ii=eb.1d,j;1n(;i<ii;i++){j=eb[i]||{};9y[3l](j.1v)&&1y.1F(J[j.1v]().1k(j))}}1b 1y};R.6x=1a(cm,1u){K 2e=R.is(1u,3E)?[0][3F](1u):2p;cm&&(R.is(cm,4a)&&(2e.1d-1&&(cm=cm.3m(BG,1a(7p,i){1b 2e[++i]==1c?E:2e[i]}))));1b cm||E};R.We=1a(){K BM=/\\{([^\\}]+)\\}/g,Bv=/(?:(?:^|\\.)(.+?)(?=\\[|\\.|$|\\()|\\[(\'|")(.+?)\\2\\])(\\(\\))?/g,C1=1a(6y,1q,1z){K 1y=1z;1q.3m(Bv,1a(6y,1x,BB,BA,BC){1x=1x||BA;if(1y){if(1x in 1y){1y=1y[1x]}2H 1y=="1a"&&(BC&&(1y=1y()))}});1y=(1y==1c||1y==1z?6y:1y)+"";1b 1y};1b 1a(7p,1z){1b 5c(7p).3m(BM,1a(6y,1q){1b C1(6y,1q,1z)})}}();R.Wf=1a(){pX.vS?g.5h.bt=pX.is:3Y bt;1b R};R.st=6M;(1a(2S,aw,f){if(2S.mE==1c&&2S.b8){2S.b8(aw,f=1a(){2S.ke(aw,f,1j);2S.mE="Gn"},1j);2S.mE="IA"}1a tR(){/in/.9C(2S.mE)?6m(tR,9):R.2M("44.hw")}tR()})(2G,"Wd");2M.on("44.hw",1a(){aw=1o});(1a(){if(!R.3X){1b}K 3l="7E",3V=5c,3w=d7,9F=6g,3u=3B,4N=3u.4v,45=3u.45,5N=3u.5N,5m=/[, ]+/,2M=R.2M,E="",S=" ";K cC="6p://nN.w3.rB/Wa/cC",Ea={6Q:"M5,0 0,2.5 5,5z",nr:"M5,0 0,2.5 5,5 3.5,3 3.5,2z",rR:"M2.5,0 5,2.5 2.5,5 0,2.5z",6H:"M6,1 1,3.5 6,6",s0:"M2.5,Wl.5,2.5,0,0,1,2.5,5 2.5,2.5,0,0,1,2.5,Wi"},bh={};R.3q=1a(){1b"LF ob Wj bW.\\Lv s5 vZ gf\\gd "+J.7g};K $=1a(el,1k){if(1k){if(2H el=="4a"){el=$(el)}1n(K 1q in 1k){if(1k[3l](1q)){if(1q.fi(0,6)=="cC:"){el.m6(cC,1q.fi(6),3V(1k[1q]))}1i{el.ao(1q,3V(1k[1q]))}}}}1i{el=R.7o.2S.Wk("6p://nN.w3.rB/Lr/3X",el);el.2Y&&(el.2Y.W9="uS(0,0,0,0)")}1b el},kn=1a(1f,3I){K 1v="ld",id=1f.id+3I,fx=0.5,fy=0.5,o=1f.1s,bW=1f.2s,s=o.2Y,el=R.7o.2S.dr(id);if(!el){3I=3V(3I).3m(R.wy,1a(6y,uJ,uK){1v="r2";if(uJ&&uK){fx=3w(uJ);fy=3w(uK);K ur=(fy>0.5)*2-1;5N(fx-0.5,2)+5N(fy-0.5,2)>0.25&&((fy=3u.9r(0.25-5N(fx-0.5,2))*ur+0.5)&&(fy!=0.5&&(fy=fy.4p(5)-1E-5*ur)))}1b E});3I=3I.3o(/\\s*\\-\\s*/);if(1v=="ld"){K 78=3I.bq();78=-3w(78);if(9Y(78)){1b 1c}K 8k=[0,0,3u.8G(R.8D(78)),3u.8n(R.8D(78))],4v=1/(4N(45(8k[2]),45(8k[3]))||1);8k[2]*=4v;8k[3]*=4v;if(8k[2]<0){8k[0]=-8k[2];8k[2]=0}if(8k[3]<0){8k[1]=-8k[3];8k[3]=0}}K 56=R.wK(3I);if(!56){1b 1c}id=id.3m(/[\\(\\)\\s,\\ue#]/g,"1R");if(1f.3I&&id!=1f.3I.id){bW.cL.73(1f.3I);3Y 1f.3I}if(!1f.3I){el=$(1v+"VZ",{id:id});1f.3I=el;$(el,1v=="r2"?{fx:fx,fy:fy}:{x1:8k[0],y1:8k[1],x2:8k[2],y2:8k[3],W0:1f.4s.mh()});bW.cL.3A(el);1n(K i=0,ii=56.1d;i<ii;i++){el.3A($("5x",{2t:56[i].2t?56[i].2t:i?"7e%":"0%","5x-3n":56[i].3n||"#j0"}))}}}$(o,{1Y:"54(#"+id+")",2C:1,"1Y-2C":1});s.1Y=E;s.2C=1;s.VX=1;1b 1},mc=1a(o){K 2P=o.6q(1);$(o.cl,{VU:o.4s.mh()+" ez("+2P.x+","+2P.y+")"})},aU=1a(o,1m,dM){if(o.1v=="1G"){K 2E=3V(1m).3L().3o("-"),p=o.2s,se=dM?"4t":"2F",1s=o.1s,2b=o.2b,1V=2b["1V-1r"],i=2E.1d,1v="nr",2q,to,dx,mV,1k,w=3,h=3,t=5;4e(i--){3s(2E[i]){1l"6Q":;1l"nr":;1l"s0":;1l"rR":;1l"6H":;1l"3p":1v=2E[i];1p;1l"LB":h=5;1p;1l"KA":h=2;1p;1l"KB":w=5;1p;1l"Kz":w=2;1p}}if(1v=="6H"){w+=2;h+=2;t+=2;dx=1;mV=dM?4:1;1k={1Y:"3p",1V:2b.1V}}1i{mV=dx=w/2;1k={1Y:2b.1V,1V:"3p"}}if(o.1R.4y){if(dM){o.1R.4y.DH&&bh[o.1R.4y.DH]--;o.1R.4y.DI&&bh[o.1R.4y.DI]--}1i{o.1R.4y.DG&&bh[o.1R.4y.DG]--;o.1R.4y.E9&&bh[o.1R.4y.E9]--}}1i{o.1R.4y={}}if(1v!="3p"){K gj="44-cr-"+1v,gl="44-cr-"+se+1v+w+h;if(!R.7o.2S.dr(gj)){p.cL.3A($($("1G"),{"1V-bQ":"4E",d:Ea[1v],id:gj}));bh[gj]=1}1i{bh[gj]++}K cr=R.7o.2S.dr(gl),gr;if(!cr){cr=$($("cr"),{id:gl,VV:h,VW:w,W6:"6b",mV:mV,W7:h/2});gr=$($("gr"),{"cC:4Z":"#"+gj,3x:(dM?"5j(bO "+w/ 2 + " " + h /2+") ":E)+"7V("+w/ t + "," + h /t+")","1V-1r":(1/ ((w /t+h/ t) /2)).4p(4)});cr.3A(gr);p.cL.3A(cr);bh[gl]=1}1i{bh[gl]++;gr=cr.cg("gr")[0]}$(gr,1k);K r5=dx*(1v!="rR"&&1v!="s0");if(dM){2q=o.1R.4y.DX*1V||0;to=R.b3(2b.1G)-r5*1V}1i{2q=r5*1V;to=R.b3(2b.1G)-(o.1R.4y.DW*1V||0)}1k={};1k["cr-"+se]="54(#"+gl+")";if(to||2q){1k.d=R.mU(2b.1G,2q,to)}$(1s,1k);o.1R.4y[se+"mC"]=gj;o.1R.4y[se+"E4"]=gl;o.1R.4y[se+"dx"]=r5;o.1R.4y[se+"4x"]=1v;o.1R.4y[se+"5c"]=1m}1i{if(dM){2q=o.1R.4y.DX*1V||0;to=R.b3(2b.1G)-2q}1i{2q=0;to=R.b3(2b.1G)-(o.1R.4y.DW*1V||0)}o.1R.4y[se+"mC"]&&$(1s,{d:R.mU(2b.1G,2q,to)});3Y o.1R.4y[se+"mC"];3Y o.1R.4y[se+"E4"];3Y o.1R.4y[se+"dx"];3Y o.1R.4y[se+"4x"];3Y o.1R.4y[se+"5c"]}1n(1k in bh){if(bh[3l](1k)&&!bh[1k]){K 1g=R.7o.2S.dr(1k);1g&&1g.3j.73(1g)}}}},8R={"":[0],"3p":[0],"-":[3,1],".":[1,1],"-.":[3,1,1,1],"-..":[3,1,1,1,1,1],". ":[1,3],"- ":[4,3],"--":[8,3],"- .":[4,3,1,3],"--.":[8,3,1,3],"--..":[8,3,1,3,1,3]},uv=1a(o,1m,1u){1m=8R[3V(1m).3L()];if(1m){K 1r=o.2b["1V-1r"]||"1",ht={4E:1r,wM:1r,ht:0}[o.2b["1V-bQ"]||1u["1V-bQ"]]||0,ub=[],i=1m.1d;4e(i--){ub[i]=1m[i]*1r+(i%2?1:-1)*ht}$(o.1s,{"1V-8R":ub.4C(",")})}},cJ=1a(o,1u){K 1s=o.1s,2b=o.2b,Dm=1s.2Y.gh;1s.2Y.gh="6X";1n(K 6o in 1u){if(1u[3l](6o)){if(!R.jk[3l](6o)){aM}K 1m=1u[6o];2b[6o]=1m;3s(6o){1l"4M":o.4M(1m);1p;1l"5S":K 5S=1s.cg("5S");if(5S.1d&&(5S=5S[0])){5S.7w.D3=1m}1i{5S=$("5S");K 2d=R.7o.2S.wr(1m);5S.3A(2d);1s.3A(5S)}1p;1l"4Z":;1l"3i":K pn=1s.3j;if(pn.5Z.3L()!="a"){K hl=$("a");pn.6P(hl,1s);hl.3A(1s);pn=hl}if(6o=="3i"){pn.m6(cC,"5f",1m=="uQ"?"1W":1m)}1i{pn.m6(cC,6o,1m)}1p;1l"iF":1s.2Y.iF=1m;1p;1l"3x":o.3x(1m);1p;1l"aR-2F":aU(o,1m);1p;1l"aR-4t":aU(o,1m,1);1p;1l"5T-4l":K 4l=3V(1m).3o(5m);if(4l.1d==4){o.5T&&o.5T.3j.3j.73(o.5T.3j);K el=$("W8"),rc=$("4l");el.id=R.md();$(rc,{x:4l[0],y:4l[1],1r:4l[2],1w:4l[3]});el.3A(rc);o.2s.cL.3A(el);$(1s,{"5T-1G":"54(#"+el.id+")"});o.5T=rc}if(!1m){K 1G=1s.uA("5T-1G");if(1G){K 5T=R.7o.2S.dr(1G.3m(/(^54\\(#|\\)$)/g,E));5T&&5T.3j.73(5T);$(1s,{"5T-1G":E});3Y o.5T}}1p;1l"1G":if(o.1v=="1G"){$(1s,{d:1m?2b.1G=R.nm(1m):"M0,0"});o.1R.7B=1;if(o.1R.4y){"jS"in o.1R.4y&&aU(o,o.1R.4y.jS);"iX"in o.1R.4y&&aU(o,o.1R.4y.iX,1)}}1p;1l"1r":1s.ao(6o,1m);o.1R.7B=1;if(2b.fx){6o="x";1m=2b.x}1i{1p};1l"x":if(2b.fx){1m=-2b.x-(2b.1r||0)};1l"rx":if(6o=="rx"&&o.1v=="4l"){1p};1l"cx":1s.ao(6o,1m);o.cl&&mc(o);o.1R.7B=1;1p;1l"1w":1s.ao(6o,1m);o.1R.7B=1;if(2b.fy){6o="y";1m=2b.y}1i{1p};1l"y":if(2b.fy){1m=-2b.y-(2b.1w||0)};1l"ry":if(6o=="ry"&&o.1v=="4l"){1p};1l"cy":1s.ao(6o,1m);o.cl&&mc(o);o.1R.7B=1;1p;1l"r":if(o.1v=="4l"){$(1s,{rx:1m,ry:1m})}1i{1s.ao(6o,1m)}o.1R.7B=1;1p;1l"46":if(o.1v=="8y"){1s.m6(cC,"4Z",1m)}1p;1l"1V-1r":if(o.1R.sx!=1||o.1R.sy!=1){1m/=4N(45(o.1R.sx),45(o.1R.sy))||1}if(o.2s.nG){1m*=o.2s.nG}1s.ao(6o,1m);if(2b["1V-8R"]){uv(o,2b["1V-8R"],1u)}if(o.1R.4y){"jS"in o.1R.4y&&aU(o,o.1R.4y.jS);"iX"in o.1R.4y&&aU(o,o.1R.4y.iX,1)}1p;1l"1V-8R":uv(o,1m,1u);1p;1l"1Y":K f8=3V(1m).3a(R.w7);if(f8){el=$("cl");K ig=$("8y");el.id=R.md();$(el,{x:0,y:0,W5:"W2",1w:1,1r:1});$(ig,{x:0,y:0,"cC:4Z":f8[1]});el.3A(ig);(1a(el){R.w9(f8[1],1a(){K w=J.eF,h=J.b9;$(el,{1r:w,1w:h});$(ig,{1r:w,1w:h});o.2s.hz()})})(el);o.2s.cL.3A(el);$(1s,{1Y:"54(#"+el.id+")"});o.cl=el;o.cl&&mc(o);1p}K 3r=R.aW(1m);if(!3r.9x){3Y 1u.3I;3Y 2b.3I;!R.is(2b.2C,"2O")&&(R.is(1u.2C,"2O")&&$(1s,{2C:2b.2C}));!R.is(2b["1Y-2C"],"2O")&&(R.is(1u["1Y-2C"],"2O")&&$(1s,{"1Y-2C":2b["1Y-2C"]}))}1i{if((o.1v=="8P"||(o.1v=="aQ"||3V(1m).bv()!="r"))&&kn(o,1m)){if("2C"in 2b||"1Y-2C"in 2b){K 3I=R.7o.2S.dr(1s.uA("1Y").3m(/^54\\(#|\\)$/g,E));if(3I){K hN=3I.cg("5x");$(hN[hN.1d-1],{"5x-2C":("2C"in 2b?2b.2C:1)*("1Y-2C"in 2b?2b["1Y-2C"]:1)})}}2b.3I=1m;2b.1Y="3p";1p}}3r[3l]("2C")&&$(1s,{"1Y-2C":3r.2C>1?3r.2C/7e:3r.2C});1l"1V":3r=R.aW(1m);1s.ao(6o,3r.65);6o=="1V"&&(3r[3l]("2C")&&$(1s,{"1V-2C":3r.2C>1?3r.2C/7e:3r.2C}));if(6o=="1V"&&o.1R.4y){"jS"in o.1R.4y&&aU(o,o.1R.4y.jS);"iX"in o.1R.4y&&aU(o,o.1R.4y.iX,1)}1p;1l"3I":(o.1v=="8P"||(o.1v=="aQ"||3V(1m).bv()!="r"))&&kn(o,1m);1p;1l"2C":if(2b.3I&&!2b[3l]("1V-2C")){$(1s,{"1V-2C":1m>1?1m/7e:1m})};1l"1Y-2C":if(2b.3I){3I=R.7o.2S.dr(1s.uA("1Y").3m(/^54\\(#|\\)$/g,E));if(3I){hN=3I.cg("5x");$(hN[hN.1d-1],{"5x-2C":1m})}1p};5q:6o=="2J-4W"&&(1m=9F(1m,10)+"px");K Dq=6o.3m(/(\\-.)/g,1a(w){1b w.fi(1).8m()});1s.2Y[Dq]=1m;o.1R.7B=1;1s.ao(6o,1m);1p}}}Dn(o,1u);1s.2Y.gh=Dm},tL=1.2,Dn=1a(el,1u){if(el.1v!="1X"||!(1u[3l]("1X")||(1u[3l]("2J")||(1u[3l]("2J-4W")||(1u[3l]("x")||1u[3l]("y")))))){1b}K a=el.2b,1s=el.1s,cZ=1s.7w?9F(R.7o.2S.iO.pZ(1s.7w,E).Ds("2J-4W"),10):10;if(1u[3l]("1X")){a.1X=1u.1X;4e(1s.7w){1s.73(1s.7w)}K tX=3V(1u.1X).3o("\\n"),gc=[],f0;1n(K i=0,ii=tX.1d;i<ii;i++){f0=$("f0");i&&$(f0,{dy:cZ*tL,x:a.x});f0.3A(R.7o.2S.wr(tX[i]));1s.3A(f0);gc[i]=f0}}1i{gc=1s.cg("f0");1n(i=0,ii=gc.1d;i<ii;i++){if(i){$(gc[i],{dy:cZ*tL,x:a.x})}1i{$(gc[0],{dy:0})}}}$(1s,{x:a.x,y:a.y});el.1R.7B=1;K bb=el.kO(),rn=a.y-(bb.y+bb.1w/2);rn&&(R.is(rn,"lI")&&$(gc[0],{dy:rn}))},9m=1a(1s,3X){K X=0,Y=0;J[0]=J.1s=1s;1s.44=1o;J.id=R.vq++;1s.vk=J.id;J.4s=R.4s();J.fB=1c;J.2s=3X;J.2b=J.2b||{};J.1R={3x:[],sx:1,sy:1,4h:0,dx:0,dy:0,7B:1};!3X.4D&&(3X.4D=J);J.3K=3X.1N;3X.1N&&(3X.1N.3h=J);3X.1N=J;J.3h=1c},2Z=R.el;9m.2Q=2Z;2Z.4R=9m;R.4z.1G=1a(8l,bW){K el=$("1G");bW.1U&&bW.1U.3A(el);K p=1W 9m(el,bW);p.1v="1G";cJ(p,{1Y:"3p",1V:"#c5",1G:8l});1b p};2Z.5j=1a(4h,cx,cy){if(J.57){1b J}4h=3V(4h).3o(5m);if(4h.1d-1){cx=3w(4h[1]);cy=3w(4h[2])}4h=3w(4h[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2P=J.6q(1);cx=2P.x+2P.1r/2;cy=2P.y+2P.1w/2}J.3x(J.1R.3x.3F([["r",4h,cx,cy]]));1b J};2Z.7V=1a(sx,sy,cx,cy){if(J.57){1b J}sx=3V(sx).3o(5m);if(sx.1d-1){sy=3w(sx[1]);cx=3w(sx[2]);cy=3w(sx[3])}sx=3w(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2P=J.6q(1)}cx=cx==1c?2P.x+2P.1r/2:cx;cy=cy==1c?2P.y+2P.1w/2:cy;J.3x(J.1R.3x.3F([["s",sx,sy,cx,cy]]));1b J};2Z.ez=1a(dx,dy){if(J.57){1b J}dx=3V(dx).3o(5m);if(dx.1d-1){dy=3w(dx[1])}dx=3w(dx[0])||0;dy=+dy||0;J.3x(J.1R.3x.3F([["t",dx,dy]]));1b J};2Z.3x=1a(aG){K 1R=J.1R;if(aG==1c){1b 1R.3x}R.vl(J,aG);J.5T&&$(J.5T,{3x:J.4s.mh()});J.cl&&mc(J);J.1s&&$(J.1s,{3x:J.4s});if(1R.sx!=1||1R.sy!=1){K sw=J.2b[3l]("1V-1r")?J.2b["1V-1r"]:1;J.1k({"1V-1r":sw})}1b J};2Z.3U=1a(){!J.57&&J.2s.hz(J.1s.2Y.5n="3p");1b J};2Z.5f=1a(){!J.57&&J.2s.hz(J.1s.2Y.5n="");1b J};2Z.3v=1a(){if(J.57||!J.1s.3j){1b}K 2s=J.2s;2s.6K&&2s.6K.vO(J);2M.7D("44.*.*."+J.id);if(J.3I){2s.cL.73(J.3I)}R.vN(J,2s);if(J.1s.3j.5Z.3L()=="a"){J.1s.3j.3j.73(J.1s.3j)}1i{J.1s.3j.73(J.1s)}1n(K i in J){J[i]=2H J[i]=="1a"?R.l7(i):1c}J.57=1o};2Z.kO=1a(){if(J.1s.2Y.5n=="3p"){J.5f();K 3U=1o}K 2P={};7i{2P=J.1s.6q()}7x(e){}W3{2P=2P||{}}3U&&J.3U();1b 2P};2Z.1k=1a(1x,1m){if(J.57){1b J}if(1x==1c){K 1y={};1n(K a in J.2b){if(J.2b[3l](a)){1y[a]=J.2b[a]}}1y.3I&&(1y.1Y=="3p"&&((1y.1Y=1y.3I)&&3Y 1y.3I));1y.3x=J.1R.3x;1b 1y}if(1m==1c&&R.is(1x,"4a")){if(1x=="1Y"&&(J.2b.1Y=="3p"&&J.2b.3I)){1b J.2b.3I}if(1x=="3x"){1b J.1R.3x}K 7c=1x.3o(5m),2j={};1n(K i=0,ii=7c.1d;i<ii;i++){1x=7c[i];if(1x in J.2b){2j[1x]=J.2b[1x]}1i{if(R.is(J.2s.8B[1x],"1a")){2j[1x]=J.2s.8B[1x].ML}1i{2j[1x]=R.jk[1x]}}}1b ii-1?2j:2j[7c[0]]}if(1m==1c&&R.is(1x,"3E")){2j={};1n(i=0,ii=1x.1d;i<ii;i++){2j[1x[i]]=J.1k(1x[i])}1b 2j}if(1m!=1c){K 1u={};1u[1x]=1m}1i{if(1x!=1c&&R.is(1x,"1D")){1u=1x}}1n(K 1q in 1u){2M("44.1k."+1q+"."+J.id,J,1u[1q])}1n(1q in J.2s.8B){if(J.2s.8B[3l](1q)&&(1u[3l](1q)&&R.is(J.2s.8B[1q],"1a"))){K 8J=J.2s.8B[1q].31(J,[].3F(1u[1q]));J.2b[1q]=1u[1q];1n(K bc in 8J){if(8J[3l](bc)){1u[bc]=8J[bc]}}}}cJ(J,1u);1b J};2Z.M7=1a(){if(J.57){1b J}if(J.1s.3j.5Z.3L()=="a"){J.1s.3j.3j.3A(J.1s.3j)}1i{J.1s.3j.3A(J.1s)}K 3X=J.2s;3X.1N!=J&&R.vK(J,3X);1b J};2Z.LS=1a(){if(J.57){1b J}K 1J=J.1s.3j;if(1J.5Z.3L()=="a"){1J.3j.6P(J.1s.3j,J.1s.3j.3j.7w)}1i{if(1J.7w!=J.1s){1J.6P(J.1s,J.1s.3j.7w)}}R.vJ(J,J.2s);K 3X=J.2s;1b J};2Z.fA=1a(1f){if(J.57){1b J}K 1s=1f.1s||1f[1f.1d-1].1s;if(1s.jN){1s.3j.6P(J.1s,1s.jN)}1i{1s.3j.3A(J.1s)}R.vV(J,1f,J.2s);1b J};2Z.6P=1a(1f){if(J.57){1b J}K 1s=1f.1s||1f[0].1s;1s.3j.6P(J.1s,1s);R.vU(J,1f,J.2s);1b J};2Z.4M=1a(4W){K t=J;if(+4W!==0){K hC=$("4m"),4M=$("W4");t.2b.4M=4W;hC.id=R.md();$(4M,{Wp:+4W||1.5});hC.3A(4M);t.2s.cL.3A(hC);t.mk=hC;$(t.1s,{4m:"54(#"+hC.id+")"})}1i{if(t.mk){t.mk.3j.73(t.mk);3Y t.mk;3Y t.2b.4M}t.1s.WK("4m")}1b t};R.4z.8P=1a(3X,x,y,r){K el=$("8P");3X.1U&&3X.1U.3A(el);K 1y=1W 9m(el,3X);1y.2b={cx:x,cy:y,r:r,1Y:"3p",1V:"#c5"};1y.1v="8P";$(el,1y.2b);1b 1y};R.4z.4l=1a(3X,x,y,w,h,r){K el=$("4l");3X.1U&&3X.1U.3A(el);K 1y=1W 9m(el,3X);1y.2b={x:x,y:y,1r:w,1w:h,r:r||0,rx:r||0,ry:r||0,1Y:"3p",1V:"#c5"};1y.1v="4l";$(el,1y.2b);1b 1y};R.4z.aQ=1a(3X,x,y,rx,ry){K el=$("aQ");3X.1U&&3X.1U.3A(el);K 1y=1W 9m(el,3X);1y.2b={cx:x,cy:y,rx:rx,ry:ry,1Y:"3p",1V:"#c5"};1y.1v="aQ";$(el,1y.2b);1b 1y};R.4z.8y=1a(3X,46,x,y,w,h){K el=$("8y");$(el,{x:x,y:y,1r:w,1w:h,L9:"3p"});el.m6(cC,"4Z",46);3X.1U&&3X.1U.3A(el);K 1y=1W 9m(el,3X);1y.2b={x:x,y:y,1r:w,1w:h,46:46};1y.1v="8y";1b 1y};R.4z.1X=1a(3X,x,y,1X){K el=$("1X");3X.1U&&3X.1U.3A(el);K 1y=1W 9m(el,3X);1y.2b={x:x,y:y,"1X-wC":"wj",1X:1X,2J:R.jk.2J,1V:"3p",1Y:"#c5"};1y.1v="1X";cJ(1y,1y.2b);1b 1y};R.4z.iG=1a(1r,1w){J.1r=1r||J.1r;J.1w=1w||J.1w;J.1U.ao("1r",J.1r);J.1U.ao("1w",J.1w);if(J.ex){J.eY.31(J,J.ex)}1b J};R.4z.7H=1a(){K ag=R.vA.31(0,2p),47=ag&&ag.47,x=ag.x,y=ag.y,1r=ag.1r,1w=ag.1w;if(!47){9i 1W 8V("bW 47 6s 9t.")}K al=$("3X"),2V="gb:6X;",wf;x=x||0;y=y||0;1r=1r||Ie;1w=1w||If;$(al,{1w:1w,7g:1.1,1r:1r,MF:"6p://nN.w3.rB/Lr/3X"});if(47==1){al.2Y.eA=2V+"2D:8d;28:"+x+"px;1N:"+y+"px";R.7o.2S.3O.3A(al);wf=1}1i{al.2Y.eA=2V+"2D:mm";if(47.7w){47.6P(al,47.7w)}1i{47.3A(al)}}47=1W R.vB;47.1r=1r;47.1w=1w;47.1U=al;47.9P();47.re=47.rf=0;wf&&(47.oq=1a(){});47.oq();1b 47};R.4z.eY=1a(x,y,w,h,9M){2M("44.eY",J,J.ex,[x,y,w,h,9M]);K 4W=4N(w/ J.1r, h /J.1w),1N=J.1N,La=9M?"WL":"WM",vb,sw;if(x==1c){if(J.nG){4W=1}3Y J.nG;vb="0 0 "+J.1r+S+J.1w}1i{J.nG=4W;vb=x+S+y+S+w+S+h}$(J.1U,{WJ:vb,L9:La});4e(4W&&1N){sw="1V-1r"in 1N.2b?1N.2b["1V-1r"]:1;1N.1k({"1V-1r":sw});1N.1R.7B=1;1N.1R.eV=1;1N=1N.3K}J.ex=[x,y,w,h,!!9M];1b J};R.2Q.oq=1a(){K al=J.1U,s=al.2Y,3S;7i{3S=al.WG()||al.L6()}7x(e){3S=al.L6()}K 28=-3S.e%1,1N=-3S.f%1;if(28||1N){if(28){J.re=(J.re+28)%1;s.28=J.re+"px"}if(1N){J.rf=(J.rf+1N)%1;s.1N=J.rf+"px"}}};R.2Q.9P=1a(){R.2M("44.9P",J);K c=J.1U;4e(c.7w){c.73(c.7w)}J.4D=J.1N=1c;(J.wu=$("wu")).3A(R.7o.2S.wr("WH fC gf\\gd "+R.7g));c.3A(J.wu);c.3A(J.cL=$("cL"))};R.2Q.3v=1a(){2M("44.3v",J);J.1U.3j&&J.1U.3j.73(J.1U);1n(K i in J){J[i]=2H J[i]=="1a"?R.l7(i):1c}};K 6M=R.st;1n(K 43 in 2Z){if(2Z[3l](43)&&!6M[3l](43)){6M[43]=1a(dZ){1b 1a(){K 4f=2p;1b J.8A(1a(el){el[dZ].31(el,4f)})}}(43)}}})();(1a(){if(!R.5E){1b}K 3l="7E",3V=5c,3w=d7,3u=3B,4E=3u.4E,4N=3u.4v,5J=3u.5M,45=3u.45,gk="1Y",5m=/[, ]+/,2M=R.2M,ms=" wq:Lb.wo",S=" ",E="",du={M:"m",L:"l",C:"c",Z:"x",m:"t",l:"r",c:"v",z:"x"},Ld=/([wp]),?([^wp]*)/gi,Mu=/ wq:\\S+Mt\\([^\\)]+\\)/g,2d=/-?[^,\\s-]+/g,vr="2D:8d;28:0;1N:0;1r:iy;1w:iy",6j=WI,Ky={1G:1,4l:1,8y:1},KC={8P:1,aQ:1},KD=1a(1G){K rS=/[WN]/ig,7Z=R.nm;3V(1G).3a(rS)&&(7Z=R.rW);rS=/[wp]/g;if(7Z==R.nm&&!3V(1G).3a(rS)){K 1y=3V(1G).3m(Ld,1a(6y,7Z,2e){K ir=[],Lt=7Z.3L()=="m",1y=du[7Z];2e.3m(2d,1a(1m){if(Lt&&ir.1d==2){1y+=ir+du[7Z=="m"?"l":"L"];ir=[]}ir.1F(4E(1m*6j))});1b 1y+ir});1b 1y}K pa=7Z(1G),p,r;1y=[];1n(K i=0,ii=pa.1d;i<ii;i++){p=pa[i];r=pa[i][0].3L();r=="z"&&(r="x");1n(K j=1,jj=p.1d;j<jj;j++){r+=4E(p[j]*6j)+(j!=jj-1?",":E)}1y.1F(r)}1b 1y.4C(S)},w2=1a(4h,dx,dy){K m=R.4s();m.5j(-4h,0.5,0.5);1b{dx:m.x(dx,dy),dy:m.y(dx,dy)}},lh=1a(p,sx,sy,dx,dy,4h){K 1R=p.1R,m=p.4s,c6=1R.c6,o=p.1s,s=o.2Y,y=1,iA="",WS,kx=6j/ sx, ky = 6j /sy;s.gh="6X";if(!sx||!sy){1b}o.tg=45(kx)+S+45(ky);s.WT=4h*(sx*sy<0?-1:1);if(4h){K c=w2(4h,dx,dy);dx=c.dx;dy=c.dy}sx<0&&(iA+="x");sy<0&&((iA+=" y")&&(y=-1));s.iA=iA;o.jM=dx*-kx+S+dy*-ky;if(c6||1R.gs){K 1Y=o.cg(gk);1Y=1Y&&1Y[0];o.73(1Y);if(c6){c=w2(4h,m.x(c6[0],c6[1]),m.y(c6[0],c6[1]));1Y.2D=c.dx*y+S+c.dy*y}if(1R.gs){1Y.4W=1R.gs[0]*45(sx)+S+1R.gs[1]*45(sy)}o.3A(1Y)}s.gh="6E"};R.3q=1a(){1b"LF ob WU\\WR ch bW. WO da to fH.\\Lv s5 vZ gf\\gd "+J.7g};K aU=1a(o,1m,dM){K 2E=3V(1m).3L().3o("-"),se=dM?"4t":"2F",i=2E.1d,1v="nr",w="LE",h="LE";4e(i--){3s(2E[i]){1l"6Q":;1l"nr":;1l"s0":;1l"rR":;1l"6H":;1l"3p":1v=2E[i];1p;1l"LB":;1l"KA":h=2E[i];1p;1l"KB":;1l"Kz":w=2E[i];1p}}K 1V=o.1s.cg("1V")[0];1V[se+"aR"]=1v;1V[se+"WP"]=w;1V[se+"WQ"]=h},cJ=1a(o,1u){o.2b=o.2b||{};K 1s=o.1s,a=o.2b,s=1s.2Y,xy,we=Ky[o.1v]&&(1u.x!=a.x||(1u.y!=a.y||(1u.1r!=a.1r||(1u.1w!=a.1w||(1u.cx!=a.cx||(1u.cy!=a.cy||(1u.rx!=a.rx||(1u.ry!=a.ry||1u.r!=a.r)))))))),Kw=KC[o.1v]&&(a.cx!=1u.cx||(a.cy!=1u.cy||(a.r!=1u.r||(a.rx!=1u.rx||a.ry!=1u.ry)))),1y=o;1n(K 8J in 1u){if(1u[3l](8J)){a[8J]=1u[8J]}}if(we){a.1G=R.wc[o.1v](o);o.1R.7B=1}1u.4Z&&(1s.4Z=1u.4Z);1u.5S&&(1s.5S=1u.5S);1u.3i&&(1s.3i=1u.3i);1u.iF&&(s.iF=1u.iF);"4M"in 1u&&o.4M(1u.4M);if(1u.1G&&o.1v=="1G"||we){1s.1G=KD(~3V(a.1G).3L().4P("r")?R.nm(a.1G):a.1G);if(o.1v=="8y"){o.1R.c6=[a.x,a.y];o.1R.gs=[a.1r,a.1w];lh(o,1,1,0,0,0)}}"3x"in 1u&&o.3x(1u.3x);if(Kw){K cx=+a.cx,cy=+a.cy,rx=+a.rx||(+a.r||0),ry=+a.ry||(+a.r||0);1s.1G=R.6x("ar{0},{1},{2},{3},{4},{1},{4},{1}x",4E((cx-rx)*6j),4E((cy-ry)*6j),4E((cx+rx)*6j),4E((cy+ry)*6j),4E(cx*6j));o.1R.7B=1}if("5T-4l"in 1u){K 4l=3V(1u["5T-4l"]).3o(5m);if(4l.1d==4){4l[2]=+4l[2]+ +4l[0];4l[3]=+4l[3]+ +4l[1];K 2B=1s.n7||R.7o.2S.bT("2B"),ge=2B.2Y;ge.5T=R.6x("4l({1}px {2}px {3}px {0}px)",4l);if(!1s.n7){ge.2D="8d";ge.1N=0;ge.28=0;ge.1r=o.2s.1r+"px";ge.1w=o.2s.1w+"px";1s.3j.6P(2B,1s);2B.3A(1s);1s.n7=2B}}if(!1u["5T-4l"]){1s.n7&&(1s.n7.2Y.5T="6b")}}if(o.c3){K hu=o.c3.2Y;1u.2J&&(hu.2J=1u.2J);1u["2J-7X"]&&(hu.KV=\'"\'+1u["2J-7X"].3o(",")[0].3m(/^[\'"]+|[\'"]+$/g,E)+\'"\');1u["2J-4W"]&&(hu.cZ=1u["2J-4W"]);1u["2J-9w"]&&(hu.KW=1u["2J-9w"]);1u["2J-2Y"]&&(hu.L0=1u["2J-2Y"])}if("aR-2F"in 1u){aU(1y,1u["aR-2F"])}if("aR-4t"in 1u){aU(1y,1u["aR-4t"],1)}if(1u.2C!=1c||(1u["1V-1r"]!=1c||(1u.1Y!=1c||(1u.46!=1c||(1u.1V!=1c||(1u["1V-1r"]!=1c||(1u["1V-2C"]!=1c||(1u["1Y-2C"]!=1c||(1u["1V-8R"]!=1c||(1u["1V-ks"]!=1c||(1u["1V-fS"]!=1c||1u["1V-bQ"]!=1c))))))))))){K 1Y=1s.cg(gk),Kn=1j;1Y=1Y&&1Y[0];!1Y&&(Kn=1Y=cd(gk));if(o.1v=="8y"&&1u.46){1Y.46=1u.46}1u.1Y&&(1Y.on=1o);if(1Y.on==1c||(1u.1Y=="3p"||1u.1Y===1c)){1Y.on=1j}if(1Y.on&&1u.1Y){K f8=3V(1u.1Y).3a(R.w7);if(f8){1Y.3j==1s&&1s.73(1Y);1Y.5j=1o;1Y.46=f8[1];1Y.1v="Me";K 2P=o.6q(1);1Y.2D=2P.x+S+2P.y;o.1R.c6=[2P.x,2P.y];R.w9(f8[1],1a(){o.1R.gs=[J.eF,J.b9]})}1i{1Y.3n=R.aW(1u.1Y).65;1Y.46=E;1Y.1v="nL";if(R.aW(1u.1Y).9x&&((1y.1v in{8P:1,aQ:1}||3V(1u.1Y).bv()!="r")&&kn(1y,1u.1Y,1Y))){a.1Y="3p";a.3I=1u.1Y;1Y.5j=1j}}}if("1Y-2C"in 1u||"2C"in 1u){K 2C=((+a["1Y-2C"]+1||2)-1)*((+a.2C+1||2)-1)*((+R.aW(1u.1Y).o+1||2)-1);2C=5J(4N(2C,0),1);1Y.2C=2C;if(1Y.46){1Y.3n="3p"}}1s.3A(1Y);K 1V=1s.cg("1V")&&1s.cg("1V")[0],wX=1j;!1V&&(wX=1V=cd("1V"));if(1u.1V&&1u.1V!="3p"||(1u["1V-1r"]||(1u["1V-2C"]!=1c||(1u["1V-8R"]||(1u["1V-ks"]||(1u["1V-fS"]||1u["1V-bQ"])))))){1V.on=1o}(1u.1V=="3p"||(1u.1V===1c||(1V.on==1c||(1u.1V==0||1u["1V-1r"]==0))))&&(1V.on=1j);K wQ=R.aW(1u.1V);1V.on&&(1u.1V&&(1V.3n=wQ.65));2C=((+a["1V-2C"]+1||2)-1)*((+a.2C+1||2)-1)*((+wQ.o+1||2)-1);K 1r=(3w(1u["1V-1r"])||1)*0.75;2C=5J(4N(2C,0),1);1u["1V-1r"]==1c&&(1r=a["1V-1r"]);1u["1V-1r"]&&(1V.9w=1r);1r&&(1r<1&&((2C*=1r)&&(1V.9w=1)));1V.2C=2C;1u["1V-fS"]&&(1V.WF=1u["1V-fS"]||"Wu");1V.ks=1u["1V-ks"]||8;1u["1V-bQ"]&&(1V.Wv=1u["1V-bQ"]=="ht"?"Ww":1u["1V-bQ"]=="wM"?"wM":"4E");if("1V-8R"in 1u){K 8R={"-":"Wt",".":"Wq","-.":"Wr","-..":"Ws",". ":"6B","- ":"Wx","--":"WC","- .":"WD","--.":"WE","--..":"WB"};1V.Wy=8R[3l](1u["1V-8R"])?8R[1u["1V-8R"]]:E}wX&&1s.3A(1V)}if(1y.1v=="1X"){1y.2s.1U.2Y.5n=E;K 2A=1y.2s.2A,m=7e,cZ=a.2J&&a.2J.3a(/\\d+(?:\\.\\d*)?(?=px)/);s=2A.2Y;a.2J&&(s.2J=a.2J);a["2J-7X"]&&(s.KV=a["2J-7X"]);a["2J-9w"]&&(s.KW=a["2J-9w"]);a["2J-2Y"]&&(s.L0=a["2J-2Y"]);cZ=3w(a["2J-4W"]||cZ&&cZ[0])||10;s.cZ=cZ*m+"px";1y.c3.4a&&(2A.mO=3V(1y.c3.4a).3m(/</g,"&#60;").3m(/&/g,"&#38;").3m(/\\n/g,"<br>"));K kh=2A.wS();1y.W=a.w=(kh.7F-kh.28)/m;1y.H=a.h=(kh.4D-kh.1N)/m;1y.X=a.x;1y.Y=a.y+1y.H/2;("x"in 1u||"y"in 1u)&&(1y.1G.v=R.6x("m{0},{1}l{2},{1}",4E(a.x*6j),4E(a.y*6j),4E(a.x*6j)+1));K wW=["x","y","1X","2J","2J-7X","2J-9w","2J-2Y","2J-4W"];1n(K d=0,dd=wW.1d;d<dd;d++){if(wW[d]in 1u){1y.1R.7B=1;1p}}3s(a["1X-wC"]){1l"2F":1y.c3.2Y["v-1X-wB"]="28";1y.tv=1y.W/2;1p;1l"4t":1y.c3.2Y["v-1X-wB"]="7F";1y.tv=-1y.W/2;1p;5q:1y.c3.2Y["v-1X-wB"]="wv";1y.tv=0;1p}1y.c3.2Y["v-1X-Wz"]=1o}},kn=1a(o,3I,1Y){o.2b=o.2b||{};K 2b=o.2b,5N=3B.5N,2C,WA,1v="ld",vo=".5 .5";o.2b.3I=3I;3I=3V(3I).3m(R.wy,1a(6y,fx,fy){1v="r2";if(fx&&fy){fx=3w(fx);fy=3w(fy);5N(fx-0.5,2)+5N(fy-0.5,2)>0.25&&(fy=3u.9r(0.25-5N(fx-0.5,2))*((fy>0.5)*2-1)+0.5);vo=fx+S+fy}1b E});3I=3I.3o(/\\s*\\-\\s*/);if(1v=="ld"){K 78=3I.bq();78=-3w(78);if(9Y(78)){1b 1c}}K 56=R.wK(3I);if(!56){1b 1c}o=o.c9||o.1s;if(56.1d){o.73(1Y);1Y.on=1o;1Y.43="3p";1Y.3n=56[0].3n;1Y.XX=56[56.1d-1].3n;K r1=[];1n(K i=0,ii=56.1d;i<ii;i++){56[i].2t&&r1.1F(56[i].2t+S+56[i].3n)}1Y.Z3=r1.1d?r1.4C():"0% "+1Y.3n;if(1v=="r2"){1Y.1v="YR";1Y.2U="7e%";1Y.YS="0 0";1Y.YW=vo;1Y.78=0}1i{1Y.1v="3I";1Y.78=(Z4-78)%8r}o.3A(1Y)}1b 1},9m=1a(1s,5E){J[0]=J.1s=1s;1s.44=1o;J.id=R.vq++;1s.vk=J.id;J.X=0;J.Y=0;J.2b={};J.2s=5E;J.4s=R.4s();J.1R={3x:[],sx:1,sy:1,dx:0,dy:0,4h:0,7B:1,eV:1};!5E.4D&&(5E.4D=J);J.3K=5E.1N;5E.1N&&(5E.1N.3h=J);5E.1N=J;J.3h=1c};K 2Z=R.el;9m.2Q=2Z;2Z.4R=9m;2Z.3x=1a(aG){if(aG==1c){1b J.1R.3x}K g3=J.2s.M9,Mz=g3?"s"+[g3.7V,g3.7V]+"-1-1t"+[g3.dx,g3.dy]:E,tc;if(g3){tc=aG=3V(aG).3m(/\\.{3}|\\vm/g,J.1R.3x||E)}R.vl(J,Mz+aG);K 4s=J.4s.5Q(),7U=J.7U,o=J.1s,3o,uY=~3V(J.2b.1Y).4P("-"),MI=!3V(J.2b.1Y).4P("54(");4s.ez(1,1);if(MI||(uY||J.1v=="8y")){7U.4s="1 0 0 1";7U.2t="0 0";3o=4s.3o();if(uY&&3o.LT||!3o.uX){o.2Y.4m=4s.LX();K bb=J.6q(),uW=J.6q(1),dx=bb.x-uW.x,dy=bb.y-uW.y;o.jM=dx*-6j+S+dy*-6j;lh(J,1,1,dx,dy,0)}1i{o.2Y.4m=E;lh(J,3o.eH,3o.e7,3o.dx,3o.dy,3o.5j)}}1i{o.2Y.4m=E;7U.4s=3V(4s);7U.2t=4s.2t()}tc&&(J.1R.3x=tc);1b J};2Z.5j=1a(4h,cx,cy){if(J.57){1b J}if(4h==1c){1b}4h=3V(4h).3o(5m);if(4h.1d-1){cx=3w(4h[1]);cy=3w(4h[2])}4h=3w(4h[0]);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2P=J.6q(1);cx=2P.x+2P.1r/2;cy=2P.y+2P.1w/2}J.1R.eV=1;J.3x(J.1R.3x.3F([["r",4h,cx,cy]]));1b J};2Z.ez=1a(dx,dy){if(J.57){1b J}dx=3V(dx).3o(5m);if(dx.1d-1){dy=3w(dx[1])}dx=3w(dx[0])||0;dy=+dy||0;if(J.1R.2P){J.1R.2P.x+=dx;J.1R.2P.y+=dy}J.3x(J.1R.3x.3F([["t",dx,dy]]));1b J};2Z.7V=1a(sx,sy,cx,cy){if(J.57){1b J}sx=3V(sx).3o(5m);if(sx.1d-1){sy=3w(sx[1]);cx=3w(sx[2]);cy=3w(sx[3]);9Y(cx)&&(cx=1c);9Y(cy)&&(cy=1c)}sx=3w(sx[0]);sy==1c&&(sy=sx);cy==1c&&(cx=cy);if(cx==1c||cy==1c){K 2P=J.6q(1)}cx=cx==1c?2P.x+2P.1r/2:cx;cy=cy==1c?2P.y+2P.1w/2:cy;J.3x(J.1R.3x.3F([["s",sx,sy,cx,cy]]));J.1R.eV=1;1b J};2Z.3U=1a(){!J.57&&(J.1s.2Y.5n="3p");1b J};2Z.5f=1a(){!J.57&&(J.1s.2Y.5n=E);1b J};2Z.kO=1a(){if(J.57){1b{}}1b{x:J.X+(J.tv||0)-J.W/2,y:J.Y-J.H,1r:J.W,1w:J.H}};2Z.3v=1a(){if(J.57||!J.1s.3j){1b}J.2s.6K&&J.2s.6K.vO(J);R.2M.7D("44.*.*."+J.id);R.vN(J,J.2s);J.1s.3j.73(J.1s);J.c9&&J.c9.3j.73(J.c9);1n(K i in J){J[i]=2H J[i]=="1a"?R.l7(i):1c}J.57=1o};2Z.1k=1a(1x,1m){if(J.57){1b J}if(1x==1c){K 1y={};1n(K a in J.2b){if(J.2b[3l](a)){1y[a]=J.2b[a]}}1y.3I&&(1y.1Y=="3p"&&((1y.1Y=1y.3I)&&3Y 1y.3I));1y.3x=J.1R.3x;1b 1y}if(1m==1c&&R.is(1x,"4a")){if(1x==gk&&(J.2b.1Y=="3p"&&J.2b.3I)){1b J.2b.3I}K 7c=1x.3o(5m),2j={};1n(K i=0,ii=7c.1d;i<ii;i++){1x=7c[i];if(1x in J.2b){2j[1x]=J.2b[1x]}1i{if(R.is(J.2s.8B[1x],"1a")){2j[1x]=J.2s.8B[1x].ML}1i{2j[1x]=R.jk[1x]}}}1b ii-1?2j:2j[7c[0]]}if(J.2b&&(1m==1c&&R.is(1x,"3E"))){2j={};1n(i=0,ii=1x.1d;i<ii;i++){2j[1x[i]]=J.1k(1x[i])}1b 2j}K 1u;if(1m!=1c){1u={};1u[1x]=1m}1m==1c&&(R.is(1x,"1D")&&(1u=1x));1n(K 1q in 1u){2M("44.1k."+1q+"."+J.id,J,1u[1q])}if(1u){1n(1q in J.2s.8B){if(J.2s.8B[3l](1q)&&(1u[3l](1q)&&R.is(J.2s.8B[1q],"1a"))){K 8J=J.2s.8B[1q].31(J,[].3F(1u[1q]));J.2b[1q]=1u[1q];1n(K bc in 8J){if(8J[3l](bc)){1u[bc]=8J[bc]}}}}if(1u.1X&&J.1v=="1X"){J.c3.4a=1u.1X}cJ(J,1u)}1b J};2Z.M7=1a(){!J.57&&J.1s.3j.3A(J.1s);J.2s&&(J.2s.1N!=J&&R.vK(J,J.2s));1b J};2Z.LS=1a(){if(J.57){1b J}if(J.1s.3j.7w!=J.1s){J.1s.3j.6P(J.1s,J.1s.3j.7w);R.vJ(J,J.2s)}1b J};2Z.fA=1a(1f){if(J.57){1b J}if(1f.4R==R.st.4R){1f=1f[1f.1d-1]}if(1f.1s.jN){1f.1s.3j.6P(J.1s,1f.1s.jN)}1i{1f.1s.3j.3A(J.1s)}R.vV(J,1f,J.2s);1b J};2Z.6P=1a(1f){if(J.57){1b J}if(1f.4R==R.st.4R){1f=1f[0]}1f.1s.3j.6P(J.1s,1f.1s);R.vU(J,1f,J.2s);1b J};2Z.4M=1a(4W){K s=J.1s.YQ,f=s.4m;f=f.3m(Mu,E);if(+4W!==0){J.2b.4M=4W;s.4m=f+S+ms+".Mt(YU="+(+4W||1.5)+")";s.j2=R.6x("-{0}px 0 0 -{0}px",4E(+4W||1.5))}1i{s.4m=f;s.j2=0;3Y J.2b.4M}1b J};R.4z.1G=1a(8l,5E){K el=cd("c9");el.2Y.eA=vr;el.tg=6j+S+6j;el.jM=5E.jM;K p=1W 9m(el,5E),1k={1Y:"3p",1V:"#c5"};8l&&(1k.1G=8l);p.1v="1G";p.1G=[];p.mC=E;cJ(p,1k);5E.1U.3A(el);K 7U=cd("7U");7U.on=1o;el.3A(7U);p.7U=7U;p.3x(E);1b p};R.4z.4l=1a(5E,x,y,w,h,r){K 1G=R.vw(x,y,w,h,r),1y=5E.1G(1G),a=1y.2b;1y.X=a.x=x;1y.Y=a.y=y;1y.W=a.1r=w;1y.H=a.1w=h;a.r=r;a.1G=1G;1y.1v="4l";1b 1y};R.4z.aQ=1a(5E,x,y,rx,ry){K 1y=5E.1G(),a=1y.2b;1y.X=x-rx;1y.Y=y-ry;1y.W=rx*2;1y.H=ry*2;1y.1v="aQ";cJ(1y,{cx:x,cy:y,rx:rx,ry:ry});1b 1y};R.4z.8P=1a(5E,x,y,r){K 1y=5E.1G(),a=1y.2b;1y.X=x-r;1y.Y=y-r;1y.W=1y.H=r*2;1y.1v="8P";cJ(1y,{cx:x,cy:y,r:r});1b 1y};R.4z.8y=1a(5E,46,x,y,w,h){K 1G=R.vw(x,y,w,h),1y=5E.1G(1G).1k({1V:"3p"}),a=1y.2b,1s=1y.1s,1Y=1s.cg(gk)[0];a.46=46;1y.X=a.x=x;1y.Y=a.y=y;1y.W=a.1r=w;1y.H=a.1w=h;a.1G=1G;1y.1v="8y";1Y.3j==1s&&1s.73(1Y);1Y.5j=1o;1Y.46=46;1Y.1v="Me";1y.1R.c6=[x,y];1y.1R.gs=[w,h];1s.3A(1Y);lh(1y,1,1,0,0,0);1b 1y};R.4z.1X=1a(5E,x,y,1X){K el=cd("c9"),1G=cd("1G"),o=cd("c3");x=x||0;y=y||0;1X=1X||"";1G.v=R.6x("m{0},{1}l{2},{1}",4E(x*6j),4E(y*6j),4E(x*6j)+1);1G.Z2=1o;o.4a=3V(1X);o.on=1o;el.2Y.eA=vr;el.tg=6j+S+6j;el.jM="0 0";K p=1W 9m(el,5E),1k={1Y:"#c5",1V:"3p",2J:R.jk.2J,1X:1X};p.c9=el;p.1G=1G;p.c3=o;p.1v="1X";p.2b.1X=3V(1X);p.2b.x=x;p.2b.y=y;p.2b.w=1;p.2b.h=1;cJ(p,1k);el.3A(o);el.3A(1G);5E.1U.3A(el);K 7U=cd("7U");7U.on=1o;el.3A(7U);p.7U=7U;p.3x(E);1b p};R.4z.iG=1a(1r,1w){K cs=J.1U.2Y;J.1r=1r;J.1w=1w;1r==+1r&&(1r+="px");1w==+1w&&(1w+="px");cs.1r=1r;cs.1w=1w;cs.5T="4l(0 "+1r+" "+1w+" 0)";if(J.ex){R.4z.eY.31(J,J.ex)}1b J};R.4z.eY=1a(x,y,w,h,9M){R.2M("44.eY",J,J.ex,[x,y,w,h,9M]);K 1r=J.1r,1w=J.1w,4W=1/ 4N(w /1r,h/1w),H,W;if(9M){H=1w/h;W=1r/w;if(w*H<1r){x-=(1r-w*H)/ 2 /H}if(h*W<1w){y-=(1w-h*W)/ 2 /W}}J.ex=[x,y,w,h,!!9M];J.M9={dx:-x,dy:-y,7V:4W};J.8A(1a(el){el.3x("...")});1b J};K cd;R.4z.tD=1a(5h){K 2S=5h.2G;2S.YP().YT(".jb","MD:54(#5q#fH)");7i{!2S.98.jb&&2S.98.4V("jb","MC:MG-I6-vF:5E");cd=1a(5Z){1b 2S.bT("<jb:"+5Z+\' 2y="jb">\')}}7x(e){cd=1a(5Z){1b 2S.bT("<"+5Z+\' MF="MC:MG-I6.vF:5E" 2y="jb">\')}}};R.4z.tD(R.7o.5h);R.4z.7H=1a(){K ag=R.vA.31(0,2p),47=ag.47,1w=ag.1w,s,1r=ag.1r,x=ag.x,y=ag.y;if(!47){9i 1W 8V("fH 47 6s 9t.")}K 1y=1W R.vB,c=1y.1U=R.7o.2S.bT("2B"),cs=c.2Y;x=x||0;y=y||0;1r=1r||Ie;1w=1w||If;1y.1r=1r;1y.1w=1w;1r==+1r&&(1r+="px");1w==+1w&&(1w+="px");1y.tg=6j*93+S+6j*93;1y.jM="0 0";1y.2A=R.7o.2S.bT("2A");1y.2A.2Y.eA="2D:8d;28:-jf;1N:-jf;HR:0;j2:0;ba-1w:1;";c.3A(1y.2A);cs.eA=R.6x("1N:0;28:0;1r:{0};1w:{1};5n:HS-6Q;2D:mm;5T:4l(0 {0} {1} 0);gb:6X",1r,1w);if(47==1){R.7o.2S.3O.3A(c);cs.28=x+"px";cs.1N=y+"px";cs.2D="8d"}1i{if(47.7w){47.6P(c,47.7w)}1i{47.3A(c)}}1y.oq=1a(){};1b 1y};R.2Q.9P=1a(){R.2M("44.9P",J);J.1U.mO=E;J.2A=R.7o.2S.bT("2A");J.2A.2Y.eA="2D:8d;28:-jf;1N:-jf;HR:0;j2:0;ba-1w:1;5n:HS;";J.1U.3A(J.2A);J.4D=J.1N=1c};R.2Q.3v=1a(){R.2M("44.3v",J);J.1U.3j.73(J.1U);1n(K i in J){J[i]=2H J[i]=="1a"?R.l7(i):1c}1b 1o};K 6M=R.st;1n(K 43 in 2Z){if(2Z[3l](43)&&!6M[3l](43)){6M[43]=1a(dZ){1b 1a(){K 4f=2p;1b J.8A(1a(el){el[dZ].31(el,4f)})}}(43)}}})();pX.vS?g.5h.bt=R:bt=R;1b R});K Hd=1a(vX){J.3n=1c;J.vg=1c;J.bg=1c;J.ba=1c;J.wE=1c;J.2F=1c;J.wI=1c;J.4t=1c;J.1D=1c;J.6h=1c;J.vW=1a(vX){};J.vW(vX)};1a 6q(1z){K 4U={x:0,y:0,1r:0,1w:0};if(!1z.1d){1b 4U}K o=1z[0];1a q3(1f,Iu){4U={x:0,y:0,1r:1f.jV,1w:1f.pP};4e(1f){if(1f.id==Iu){1p}4U.x+=1f.8c-1f.4Q+1f.jQ;4U.y+=1f.9a-1f.58+1f.jO;1f=1f.dJ}1b 4U}if(o.5Z=="TR"){4U=q3(o,"qb-ui-1U")}1i{if(o.5Z=="Mv"){4U=q3(o,"qb-ui-1U")}1i{if(o.5Z=="Z1"){4U=q3(o,"qb-ui-1U")}}}1b 4U}1a et(x){1b 3B.4E(x*93)/93}1a Io(fv,fF){K IB=20;K p1=[{x:fv.x,y:fv.y+fv.1w/ 2}, {x:fv.x + fv.1r, y:fv.y + fv.1w /2}];K p2=[{x:fF.x,y:fF.y+fF.1w/ 2}, {x:fF.x + fF.1r, y:fF.y + fF.1w /2}];K d=[],lb=[];1n(K i1=0;i1<p1.1d;i1++){1n(K i2=0;i2<p2.1d;i2++){K dx=3B.45(p1[i1].x-p2[i2].x);K dy=3B.45(p1[i1].y-p2[i2].y);K 61=dx*dx+dy*dy;lb.1F(61);d.1F({i1:i1,i2:i2})}}K 1y={i1:0,i2:0};K p9=-1;K 5M=-1;1n(K i=0;i<lb.1d;i++){if(5M==-1||lb[i]<5M){5M=lb[i];p9=i}}if(p9>0){1y=d[p9]}K x1=p1[1y.i1].x,y1=p1[1y.i1].y,x4=p2[1y.i2].x,y4=p2[1y.i2].y,y2=y1,y3=y4;K dx=3B.4v(3B.45(x1-x4)/2,IB);K x2=[x1-dx,x1+dx][1y.i1];K x3=[x4-dx,x4+dx][1y.i2];1b{x1:et(x1),y1:et(y1),x2:et(x2),y2:et(y2),x3:et(x3),y3:et(y3),x4:et(x4),y4:et(y4)}}1a Yc(4U,Il){K R=bt==1c?cU:bt;K 4w=4U;if(R.is(4U,"1a")){1b Il?4w():2M.on("44.hw",4w)}1i{if(R.is(4w,1o)){1b R.4z.7H[4U](R,4w.59(0,3+R.is(4w[0],1c))).4V(4w)}1i{K 2e=3Z.2Q.3G.2x(2p,0);if(R.is(2e[2e.1d-1],"1a")){K f=2e.cu();1b 4w?f.2x(R.4z.7H[4U](R,2e)):2M.on("44.hw",1a(){f.2x(R.4z.7H[4U](R,2e))})}1i{1b R.4z.7H[4U](R,2p)}}}}bt.fn.Iq=1a(2a){if(!2a.53||!2a.51){1b 1j}if(!2a.53.2i||!2a.51.2i){1b 1j}if(!2a.53.2i.1f||!2a.51.2i.1f){1b 1j}K 7y=2a.6h;K ve=8;K 3n=7y.3n;K Hp=2a.53.4x;K Hg=2a.51.4x;1a vn(2a){K cE=6q(2a.2i.1f);if(2a.1O){K dU=6q(2a.1O.1f);cE.x=dU.x-1;cE.1r=dU.1r+2;if(cE.y<dU.y){cE.y=dU.y}1i{if(cE.y>dU.y+dU.1w-cE.1w){cE.y=dU.y+dU.1w-cE.1w}}}1b cE}K Ip=vn(2a.53);K Hh=vn(2a.51);K 7a=Io(Ip,Hh);K vc=7a.x1<7a.x2?1:-1;K vf=7a.x4<7a.x3?1:-1;K 1G=["M",7a.x1,7a.y1,"L",7a.x1+ve*vc,7a.y1,"C",7a.x2,7a.y2,7a.x3,7a.y3,7a.x4+ve*vf,7a.y4,"L",7a.x4,7a.y4].4C(",");7y.2F=jW(7y.2F,Hg,3n,7a.x1,7a.y1,vc);7y.4t=jW(7y.4t,Hp,3n,7a.x4,7a.y4,vf);if(7y.1G=1G&&(7y.ba&&7y.bg)){7y.bg.1k({1G:1G});7y.ba.1k({1G:1G});$(7y.bg.1s).2r("2a-3t")}1b 1o};bt.fn.Is=1a(1z,1k){K 2a=1W Hd;2a.3n=1k.3o("|")[0]||"#H4";2a.vg=1k.3o("|")[1]||3;2a.H2=15;2a.ba=J.1G("M,0,0").1k({1V:2a.3n,1Y:"3p","1V-1r":2a.vg,"1V-bQ":"4E","1V-fS":"4E"});2a.bg=J.1G("M,0,0").1k({1V:2a.3n,1Y:"3p","1V-1r":2a.H2,"1V-2C":0.H3});2a.wE=1z.51.4x;2a.2F=jW(1c,2a.wE,2a.3n);2a.wI=1z.53.4x;2a.4t=jW(1c,2a.wI,2a.3n);2a.1D=1z;1b 2a};1a jW(1z,1v,3n,x,y,d){if(!x){x=0}if(!y){y=0}if(!d){d=1}K qc=1j;if(1z!=1c&&1z.1s){3s(1v){1l 1P.7k.bX:qc=1z.1s.8H!="8P";1p;1l 1P.7k.dc:qc=1z.1s.8H!="1G";1p}}if(qc){if(1z&&1z.3v){1z.3v()}1z=1c}if(1z==1c){3s(1v){1l 1P.7k.bX:1z=QB.1e.2g.r.8P(0,0,5);1z.1k({1Y:3n,"1V-1r":0});1p;1l 1P.7k.dc:1z=QB.1e.2g.r.1G("M,0,0");1z.1k({1Y:3n,"1V-1r":0});1p}}3s(1v){1l 1P.7k.bX:1z.1k({cx:x,cy:y});1p;1l 1P.7k.dc:K dx=8;K dy=5;K 1G=["M",x,y,"L",x,y+1,x+dx*d,y+dy,x+dx*d,y-dy,x,y-1,"Z"].4C(",");1z.1k({1G:1G});1p}1b 1z};K Yh=1o;1a Yl(1D,1K,7l){if(2H 1D.b8!="2O"){1D.b8(1K,7l,1j)}1i{if(2H 1D.fW!="2O"){1D.fW("on"+1K,7l)}1i{9i"HJ ob"}}}1a Ym(1D,1K,7l){if(2H 1D.ke!="2O"){1D.ke(1K,7l,1j)}1i{if(2H 1D.wT!="2O"){1D.wT("on"+1K,7l)}1i{9i"HJ ob"}}}1a Yi(fn){K 2n=3H.b8||3H.fW?3H:2G.b8?2G:2G.1J||1c;if(2n){if(2n.b8){2n.b8("wZ",fn,1j)}1i{if(2n.fW){2n.fW("fX",fn)}}}1i{if(2H 3H.fX=="1a"){K 8h=3H.fX;3H.fX=1a(){8h();fn()}}1i{3H.fX=fn}}}K o5=[];K wY=1j;1a Yj(fn){if(!wY){o5.1F(fn)}1i{fn()}}1a E2(){wY=1o;1n(K i=0;i<o5.1d;i++){o5[i]()}};K HG=0;if(!3Z.4P){3Z.2Q.4P=1a(1z){1n(K i=0;i<J.1d;i++){if(J[i]==1z){1b i}}1b-1}}3C={sS:1a(){1b++HG},3q:1a(1z){if(1z==2O||1z==1c){1b""}1b 1z.3q()}};3C.iT=1a(46,9g){K p,v;1n(p in 46){if(2H 46[p]==="1a"){9g[p]=46[p]}1i{v=46[p];9g[p]=v}}1b 9g};3C.He=1a(46,9g){K p,v;1n(p in 46){if(9g[p]===2O){aM}if(2H 46[p]==="1a"){9g[p]=46[p]}1i{v=46[p];9g[p]=v}}1b 9g};3C.A2=1a($1f,3D){if($1f.1d&&!1L(3D)){$1f.1k("5C-3D",3D.3m(/&2o;/g," ").3m(/&xC;/g,"&"))}};3C.HP=1a(46,9g){K p,v;1n(p in 46){if(2H 46[p]==="1a"){9g[p]=46[p]}1i{if(46.7E(p)){v=46[p];if(v&&"1D"===2H v){9g[p]=3C.HO(v)}1i{9g[p]=v}}}}1b 9g};3C.HO=1a(o){if(!o||"1D"!==2H o){1b o}K c=o eg 3Z?[]:{};1b 3C.HP(o,c)};3C.Y1=1a(el,1J){K 1I={28:el.4Q,1r:el.yl,1N:el.58,1w:el.rs};1I.7F=1I.1r-1I.28;1I.4D=1I.1w-1I.1N;if(1J){1I=3C.wP(1I,1J)}1b 1I};3C.eN=1a(el,1J){K r=el.wS();K 1I={28:r.28,7F:r.7F,1N:r.1N,4D:r.4D};if(!r.1r){1I.1r=r.7F-r.28}1i{1I.1r=r.1r}if(!r.1w){1I.1w=r.4D-r.1N}1i{1I.1w=r.1w}if(1J){1I=3C.wP(1I,1J)}1b 1I};3C.wP=1a(r,p){1b{28:r.28-p.28,1N:r.1N-p.1N,7F:r.7F-p.28,4D:r.4D-p.1N,1w:r.1w,1r:r.1r}};3C.Y2=1a(3R){K 4v=0;$(3R).2f(1a(){4v=3B.4v(4v,$(J).1w())}).1w(4v)};3C.YY=1a(3R){K 4v=0;$(3R).2f(1a(){4v=3B.4v(4v,$(J).1r())}).1r(4v)};3C.XY=1a(1z){if(1z){if(2H 1z=="4a"){if(1z!=""){1b 1z}}}1b""};3C.9J=1a(nD,1z){if(1z){if(2H 1z=="4a"){if(1z!=""){nD.1F(1z)}}}};2u.fn.cv=1a(1m){K eJ=J.1k("1v");eJ=1L(eJ)?"":eJ.3L();if(1m===2O){if(eJ=="7S"){1b J[0].3P}1i{if(eJ=="8f"){if(J[0].3P){1b J.1k("1m")}1i{1b 1c}}}1b J.2d()}if(eJ=="7S"){if(1m==1o&&!J.1k("3P")){J.1k("3P","3P")}if(1m!=1o&&J.1k("3P")){J.hP("3P")}1b}1i{if(eJ=="8f"){K Hu=J.1k("1m");if(Hu==1m){J.1k("3P","1o");J[0].3P=1o}1i{J.hP("3P")}1b}1i{K 5Z="";if(!1L(J[0])&&!1L(J[0].5Z)){5Z=J[0].5Z}if(5Z.3L()=="2k"){J.oe(1L(1m)?"0":1m.3q());1b}}}if(1m==1c){1m=""}J.2d(1m)};2u.fn.XZ=1a(n8){if(!J[0]){1b{1N:0,28:0}}if(J[0]===J[0].w0.3O){1b 2u.2t.Y0(J[0])}2u.2t.np||2u.2t.dl();if(2H n8=="4a"){if(n8!=""){K 1J=J.bE(n8);if(1J.1d){3Y 1J}}}1i{K 1J=n8}K 6d=J[0],dJ=6d.dJ,HC=6d,2S=6d.w0,eR,e3=2S.9B,3O=2S.3O,iO=2S.iO,n9=iO.pZ(6d,1c),1N=6d.9a,28=6d.8c;4e((6d=6d.3j)&&(6d!==3O&&6d!==e3)){eR=iO.pZ(6d,1c);1N-=6d.58,28-=6d.4Q;if(6d===dJ){1N+=6d.9a,28+=6d.8c;if(2u.2t.Y4&&!(2u.2t.Y8&&/^t(DK|d|h)$/i.9C(6d.5Z))){1N+=6g(eR.zj,10)||0,28+=6g(eR.zi,10)||0}HC=dJ,dJ=6d.dJ}if(2u.2t.Y9&&eR.gb!=="6E"){1N+=6g(eR.zj,10)||0,28+=6g(eR.zi,10)||0}n9=eR;if($.Ya(6d,1J)>=0){1p}}if(n9.2D==="mm"||n9.2D==="w4"){1N+=3O.9a,28+=3O.8c}if(n9.2D==="wn"){1N+=3B.4v(e3.58,3O.58),28+=3B.4v(e3.4Q,3O.4Q)}1b{1N:1N,28:28}};1a Y5(64,wh){if(2p.1d>2){K wt=[];1n(K n=2;n<2p.1d;++n){wt.1F(2p[n])}1b 1a(){1b wh.31(64,wt)}}1i{1b 1a(){1b wh.2x(64)}}}K 1L=1a(1z){if(1z===2O){1b 1o}if(1z==1c){1b 1o}if(1z==""){1b 1o}1b 1j};K iM=1a(7p){if(!1L(7p)){1b 7p.3L()}1b 7p};K Y6=1a(7p){if(!1L(7p)){1b 7p.8m()}1b 7p};K 2o=1a(1z){if(1z===2O){1b""}if(1z==1c){1b""}if(1z==""){1b""}1b 1z.3m(/ /g,"&2o;")};1a JT(e1,e0,dX){1b 1a(a,b){if(!1L(e1)&&a[e1]<b[e1]){1b-1}if(!1L(e1)&&a[e1]>b[e1]){1b 1}if(!1L(e0)&&a[e0]<b[e0]){1b-1}if(!1L(e0)&&a[e0]>b[e0]){1b 1}if(!1L(dX)&&a[dX]<b[dX]){1b-1}if(!1L(dX)&&a[dX]>b[dX]){1b 1}1b 0}}3Z.2Q.rk=1a(e1,e0,dX){1b J.fl(JT(e1,e0,dX))};K h9=1a(a,b){if(1L(a)&&1L(b)){1b 1o}if(1L(a)||1L(b)){1b 1j}1b a.3L()==b.3L()};3C.jz=1a(a,b){if(1L(a)&&1L(b)){1b 1o}1b a==b};1a 4j(nQ,4i){K F=1a(){};F.2Q=4i.2Q;nQ.2Q=1W F;nQ.2Q.4R=nQ;nQ.Y7=4i.2Q}1a Yo(JU,9W){1n(K 43 in 9W){JU.2Q[43]=9W[43]}}5g.2Q.6x=1a(6x){K pA="";K 3m=5g.jR;1n(K i=0;i<6x.1d;i++){K pG=6x.bv(i);if(3m[pG]){pA+=3m[pG].2x(J)}1i{pA+=pG}}1b pA};5g.jR={Ki:["YF","YG","YH","YC","Jx","YD","YE","YI","YM","YN","YO","YJ"],Ka:["YK","YL","Ys","Yt","Jx","Yq","Yr","Yv","Yz","YA","YB","Yw"],JD:["Yx","Yy","Y3","VT","Si","Sh","Sj"],JE:["Sl","Sk","Sd","Sc","Se","Sg","Sf"],d:1a(){1b(J.dI()<10?"0":"")+J.dI()},D:1a(){1b 5g.jR.JD[J.q1()]},j:1a(){1b J.dI()},l:1a(){1b 5g.jR.JE[J.q1()]},N:1a(){1b J.q1()+1},S:1a(){1b J.dI()%10==1&&J.dI()!=11?"st":J.dI()%10==2&&J.dI()!=12?"nd":J.dI()%10==3&&J.dI()!=13?"rd":"th"},w:1a(){1b J.q1()},z:1a(){1b"fd lO g9"},W:1a(){1b"fd lO g9"},F:1a(){1b 5g.jR.Ka[J.j8()]},m:1a(){1b(J.j8()<9?"0":"")+(J.j8()+1)},M:1a(){1b 5g.jR.Ki[J.j8()]},n:1a(){1b J.j8()+1},t:1a(){1b"fd lO g9"},L:1a(){1b J.lV()%4==0&&J.lV()%7e!=0||J.lV()%nv==0?"1":"0"},o:1a(){1b"fd g9"},Y:1a(){1b J.lV()},y:1a(){1b(""+J.lV()).72(2)},a:1a(){1b J.f7()<12?"am":"pm"},A:1a(){1b J.f7()<12?"AM":"PM"},B:1a(){1b"fd lO g9"},g:1a(){1b J.f7()%12||12},G:1a(){1b J.f7()},h:1a(){1b((J.f7()%12||12)<10?"0":"")+(J.f7()%12||12)},H:1a(){1b(J.f7()<10?"0":"")+J.f7()},i:1a(){1b(J.K8()<10?"0":"")+J.K8()},s:1a(){1b(J.JZ()<10?"0":"")+J.JZ()},e:1a(){1b"fd lO g9"},I:1a(){1b"fd g9"},O:1a(){1b(-J.ej()<0?"-":"+")+(3B.45(J.ej()/ 60) < 10 ? "0" : "") + 3B.45(J.ej() /60)+"Sr"},P:1a(){1b(-J.ej()<0?"-":"+")+(3B.45(J.ej()/ 60) < 10 ? "0" : "") + 3B.45(J.ej() /60)+":"+(3B.45(J.ej()%60)<10?"0":"")+3B.45(J.ej()%60)},T:1a(){K m=J.j8();J.K7(0);K 1I=J.St().3m(/^.+ \\(?([^\\)]+)\\)?$/,"$1");J.K7(m);1b 1I},Z:1a(){1b-J.ej()*60},c:1a(){1b J.6x("Y-m-d")+"T"+J.6x("H:i:sP")},r:1a(){1b J.3q()},U:1a(){1b J.IZ()/93}};2u.fn.5a=1a(1v,1h,fn,b1){if(2H 1v==="1D"){1n(K 1q in 1v){J.2W(1q,1h,1v[1q],fn)}1b J}if(2u.eh(1h)){b1=fn;fn=1h;1h=2O}fn=b1===2O?fn:2u.1K.IW(fn,b1);1b 1v==="Sv"?J.MB(1v,1h,fn,b1):J.2f(1a(){2u.1K.4V(J,1v,fn,1h)})};2u.fn.Su=1a(1v,1h,fn,b1){if(2u.eh(1h)){if(fn!==2O){b1=fn}fn=1h;1h=2O}2u(J.3t).2W(Sn(1v,J.3R),{1h:1h,3R:J.3R,Sm:1v},fn,b1);1b J};2u.1K.IW=1a(fn,9k,b1){if(9k!==2O&&!2u.eh(9k)){b1=9k;9k=2O}9k=9k||1a(){1b fn.31(b1!==2O?b1:J,2p)};9k.7f=fn.7f=fn.7f||(9k.7f||J.7f++);1b 9k};3Z.2Q.3v=1a(2q,to){if(2H 2q=="1D"){2q=J.4P(2q)}J.59(2q,!to||1+to-2q+(!(to<0^2q>=0)&&(to<0||-1)*J.1d));1b J.1d};K J2={"&":"&xC;","<":"&lt;",">":"&gt;",\'"\':"&So;","\'":"&#39;","/":"&#Sq;"};Ec=1a(s){if(1L(s)){1b s}1b(s+"").3m(/[&<>"\'\\/]/g,1a(s){1b J2[s]})};if(!4H.8g){4H.8g=1a(){K 7E=4H.2Q.7E,IH=!{3q:1c}.pR("3q"),ok=["3q","uj","IT","7E","IK","pR","4R"],II=ok.1d;1b 1a(1z){if(2H 1z!=="1D"&&(2H 1z!=="1a"||1z===1c)){9i 1W Sp("4H.8g uc on Sb-1D")}K 1I=[],7Q,i;1n(7Q in 1z){if(7E.2x(1z,7Q)){1I.1F(7Q)}}if(IH){1n(i=0;i<II;i++){if(7E.2x(1z,ok[i])){1I.1F(ok[i])}}}1b 1I}}()};QB={};QB.1e={};QB.1e.2R={};QB.1e.2c={};if(2H bU=="2O"){bU={j4:1a(){},AY:1a(){}}}K RX=1o;K 1P={g6:{AQ:0,AP:1,bR:2,AD:3,IJ:4,RW:5,bo:6,gq:7},2h:{49:-1,hQ:0,1S:1,3f:2,dg:3,ae:4,8F:5,6I:6,cF:7,ck:8,7W:9,lX:10,2f:1a(2l){1n(K i=-1;i<=9;i++){2l(i,J.cM(i))}1n(K i=0;i<QB.1e.3k.gV;i++){2l(10+i,"xu"+(i+1))}},cM:1a(2d){1n(K 1q in J){if(J[1q]==2d){1b 1q}}1b 1c}},7N:{mr:{z9:0,C4:1,RY:2,2f:1a(2l){1n(K i=0;i<=2;i++){2l(i,J.cM(i))}},cM:1a(2d){1n(K 1q in J){if(J[1q]==2d){1b 1q}}1b 1c}},dq:[" ","S0","RZ","RS","RR","RT","RV"],sE:{mH:"F3",us:"RU",2f:1a(2l){2l(J.mH,J.cM(J.mH));2l(J.us,J.cM(J.us))},cM:1a(2d){if(2d==J.mH){1b"IO 2E"}1b"IO S7"}}},7k:{bX:0,dc:1,bC:1a(1z){K S6=1z;if(1z==1P.7k.bX){1z=1P.7k.dc}1i{1z=1P.7k.bX}1b 1z}},4H:1a(2N){J.g7={};J.k2="";J.u7="";J.1x="";J.ae="";J.1v="";J.Jp="";J.Jv=1c;J.id=3C.sS();if(2N){3C.iT(2N,J)}},S8:1a(2N){J.1x="Sa";J.Jp="S9";J.1v="JQ";J.4W="4";J.ey="10";J.S2="1";J.S1=1j;if(2N){3C.iT(2N,J)}},S3:1a(1z){K 1I=[];if(1z.g7==1P.g6.bR){3C.9J(1I,1z.u7);3C.9J(1I,1z.k2);3C.9J(1I,1z.1x)}if(1z.g7==1P.g6.gq){K 1J=1z.1J;if(1J){3C.9J(1I,1J.u7);3C.9J(1I,1J.k2);3C.9J(1I,1J.1x);3C.9J(1I,1z.1x)}}1b 1I.4C(".")},uL:1a(2i,1O){K 1I=[];if(1O){1L(1O.8j)?3C.9J(1I,1O.3N):3C.9J(1I,1O.8j);3C.9J(1I,2i.86)}1b 1I.4C(".")},S5:1a(1z){if(1z==1c){1b""}K 1I=[];if(1z.g7==1P.g6.bR){3C.9J(1I,1z.1x)}if(1z.g7==1P.g6.gq){K 1J=1z.Jv;if(1J){3C.9J(1I,1J.1x);3C.9J(1I,1z.1x)}}1b 1I.4C(".")},Ij:1a(3f,pF,kK,pH,kM){if(3f!=""){1b 3f}K 1I=1P.uL(pF,kK)+" = "+1P.uL(pH,kM);1b 1I},Jq:1a(){J.5L=[];J.yr=1a(){3Y J.5L;J.5L=[]};J.E7=1a(i9){if(!i9.5L){1b}J.yr();K me=J;1n(K i=0;i<i9.5L.1d;i++){J.5L.1F(i9.5L[i])}}}};E1=1W 1P.Jq;QB.1e.2c={};QB.1e.2c.S4=1a(){1b{"h6":1c}};QB.1e.2c.yg=1a(){1b{"dq":1c,"8j":1c,"A1":1c,"5I":[],"8L":1c,"h1":1j,"3g":1c,"8p":1j,"8a":1j,"bV":1j,"i3":1c,"dA":1c,"8T":0,"5V":1c}};QB.1e.2c.SX=1a(){1b{"8j":1c,"SW":1c,"6l":1c,"xX":1c,"Jy":0,"6L":[],"3g":1c,"3N":1c,"4H":1c,"KF":1o,"rE":1c,"fN":"","SY":1j,"AQ":1c,"AP":1c,"8p":1j,"8a":1j,"5V":1c,"Lg":1c,"yU":{"xK":{"7u":1o,"88":0,"bn":"","bZ":""},"xL":{"88":1,"7u":1o,"bn":"","bZ":""},"sf":{"88":2,"7u":1o,"bn":"","bZ":""},"ni":{"rj":1j,"88":3,"7u":1o,"bn":"","bZ":""},"zq":1j,"dA":0,"zs":1o,"xM":1j},"ki":[],"bo":1c,"JO":1c}};QB.1e.2c.T0=1a(){1b{"kd":2,"6l":"","SZ":1c,"SS":1c,"qu":1j,"yh":1c,"SR":1c}};QB.1e.2c.Im=1a(){1b{"8p":1c,"8a":1c,"53":1c,"fc":1c,"51":1c}};QB.1e.2c.Hf=1a(){1b{"ST":0,"4x":0,"bK":1c,"cb":1c}};QB.1e.2c.SV=1a(){1b{"5L":1c,"SU":1c}};QB.1e.2c.Lc=1a(){1b{"T7":1c,"8L":1c,"xH":1c,"3g":1c,"dT":1j,"zp":1c,"86":1c,"rV":1c,"T6":1j,"T8":0,"nc":1j,"Lf":1j,"Ta":1j,"T9":0,"zx":1c,"T2":0}};QB.1e.2c.Hy=1a(){1b{"6l":1c,"X":1c,"Y":1c,"nC":1c,"nl":1c}};QB.1e.2c.k4=1a(){1b{"ju":[],"2L":1c,"pO":1c,"T1":30,"oQ":0,"bL":"","jo":"","T3":1j,"mC":"","Iv":1j}};QB.1e.2c.HW=1a(){1b{"kz":[],"I1":1c,"3g":"T5-tO-tO-tO-T4","SQ":1c,"4x":0,"I0":1j}};QB.1e.2c.xt=1a(){1b{"lj":1c,"9e":1c,"dT":1c,"qu":1j}};QB.1e.2c.e5=1a(){1b{"bL":1c,"cA":1c,"GV":1c,"2g":1c,"Fs":1c,"eu":1c,"Fi":1c,"SC":1c,"bR":1c,"3k":1c}};QB.1e.2c.SB=1a(){1b{"2L":[]}};QB.1e.2c.Hl=1a(){1b{"cH":"Hl","6l":1c,"3g":1c,"cA":1c}};QB.1e.2c.SD=1a(){1b{"2L":[]}};QB.1e.2c.SF=1a(){1b{"cH":1c,"3N":1c,"cA":1c,"xA":1j,"2L":[],"3g":1c,"bL":1c}};QB.1e.2c.SE=1a(){1b{"3g":1c,"dW":1c,"Jw":1c,"cP":1j,"Sx":1j,"7u":1o,"6l":1c,"7K":1c,"7N":1c,"Sw":1j,"2L":[]}};QB.1e.2c.yA=1a(){1b{"qW":[],"4x":3,"92":0,"Sy":1c,"2L":[],"6v":1c,"7r":0,"5H":1c,"70":1c}};QB.1e.2c.xg=1a(){1b{"2L":[],"6v":1c,"7r":0,"5H":1c,"70":1c,"4x":0}};QB.1e.2c.EA=1a(){1b{"4x":1,"2L":[],"6v":1c,"7r":0,"5H":1c,"70":1c}};QB.1e.2c.ym=1a(){1b{"4x":3,"92":0,"2L":[],"6v":1c,"7r":0,"5H":1c,"70":1c}};QB.1e.2c.yn=1a(){1b{"4x":2,"aj":1c,"2L":[],"6v":1c,"7r":0,"5H":1c,"70":1c}};QB.1e.2c.SA=1a(){1b{"3N":1c,"Sz":0,"SM":1,"nK":1}};QB.1e.2c.yU=1a(){1b{"xK":{"7u":1o,"88":0,"bn":"","bZ":""},"xL":{"88":1,"7u":1o,"bn":"","bZ":""},"sf":{"88":2,"7u":1o,"bn":"","bZ":""},"ni":{"rj":1j,"88":3,"7u":1o,"bn":"","bZ":""},"zq":1j,"dA":0,"zs":1o,"xM":1j}};QB.1e.2c.4Y={"Ko":{"B2":"SL&2o;iC","4H":"4H:","8j":"8j:","Ok":"OK","dQ":"dQ"},"Ii":{"B2":"bo&2o;iC","SN":"53&2o;4H","SP":"51&2o;4H","SO":"bV&2o;8X&2o;Jh&2o;53","SH":"bV&2o;8X&2o;Jh&2o;51","SG":"53&2o;6v","SI":"51&2o;6v","SK":"SJ&2o;8L","Ok":"OK","dQ":"dQ"},"HF":{"B2":"K6&2o;iC","Jb":"Jb","RQ":"QX&2o;QW:","Ok":"OK","dQ":"dQ"},"5k":{"5I":{"rY":"rY","8L":"8L","dq":"dq","8j":"8j","dA":"Jt&2o;4x","i3":"Jt&2o;QY","h1":"h1","R0":"qz&2o;By","xF":"5I&2o;1n","rX":"5I","FR":"Or..."},"pb":"pb","QZ":"pb&2o;Ap","QS":"Ke&2o;fC&2o;Ap","QR":"iT&2o;q2&2o;kw","QT":"An&2o;q2&2o;hL-om","QV":"il&2o;QU","R7":"il&2o;R6","R8":"il&2o;up","Ra":"il&2o;da","R9":"he&2o;1g","R2":"R1&2o;cf&2o;1g","6L":"6L","IQ":"IQ","R3":"bR","R5":"AD","R4":"IJ","QQ":"fb","QC":"QA&2o;2k&2o;QD&2o;QF&2o;to&2o;QE.","Qw":"Qv&2o;kf:&2o;{0}&2o;Qx,&2o;{1}&2o;Qz,&2o;{2}&2o;Qy.","iC":"iC","he":"he","QM":"bV&2o;8X","bV":"bV...","8X":"8X","J4":"J4","J3":"J3","IV":"IV","IY":"IY","QL":"QN&2o;8X","QP":"QO&2o;8X","y7":"bV&2o;6y&2o;3b&2o;2q&2o;{0}","CQ":"K6&2o;is&2o;QH,&2o;K5&2o;to&2o;be&2o;QG","EN":"QI","oz":"oz...","JW":"JW","K0":"K0","jh":"cA&2o;ad","gq":"gq","A8":"A8","QK":"eu&2o;QJ&2o;1O","RC":"eu&2o;Kk&2o;bR&2o;8L","RB":"eu&2o;An&2o;Kk&2o;bR&2o;8L","RD":"RF","RE":"An&2o;q2&2o;hL-om","Rx":"iT&2o;q2&2o;kw","Rw":"Ke&2o;fC&2o;Ap","Ry":"pb","RA":"p8&2o;5O&2o;fC&2o;Rz&2o;1x&2o;RM&2o;RL&2o;in&2o;la&2o;5w&2o;hL-om."},"RN":"en"};QB.1e.2R.RP={AQ:0,AP:1,4x:2};QB.1e.2R.Jy={bR:0,AD:1,RO:2,94:3,Jw:4,RH:5};QB.1e.2R.RG={fb:0,RI:1,RK:2};QB.1e.2R.RJ={bX:0,dc:1};QB.1e.2R.Rv={ij:0,Rh:1,Rg:2};QB.1e.2R.Ri={Rk:1,Rj:2,k6:3};QB.1e.2R.Rc={Rb:0,Rd:1,Rf:2,io:3,Re:4,5g:5,AI:6,Rr:7,Rq:8,3g:9,Rs:10,JQ:11,Ru:12,4H:13,Rt:14,Rm:15,5c:16,JJ:17,Rl:18,Rn:19,Rp:20,Ro:21,V0:22,UZ:23,V1:25,V3:26,V2:27};QB.1e.2R.6u={GX:0,GY:1,H0:2,nh:3,GR:4,GU:5,Gl:6,x6:7,x5:8,Go:9,Gv:10,GC:11,EH:12,GB:13,GF:14,Gy:15,Gz:16,EG:17};QB.1e.2R.67={fb:0,9e:1,fj:2,5g:3,io:4};QB.1e.2R.UV={fb:0,5c:1,UU:2,UW:3,5g:4,JJ:5,AI:6,io:7};QB.1e.2R.9n={8X:0,qm:1,kl:2,ij:3};QB.1e.2R.zo={ij:0,3N:1,rE:2};K 8O=15;QB.1e.2g={6E:1j,1U:1c,6h:1c,5L:[],5l:[],r:1c,kA:1j,rQ:1j,k6:1j,sQ:1j,s7:1j,sg:1j,s6:1j,UY:1a(1M){1n(K 1z in J.5L){K 1O=1z.1h("1D");if(3C.jz(1M.3N,1O.3N)&&3C.jz(1M.fN,1O.fN)){1b 1z}}1b 1c},FQ:1a(7f){1n(K i=0;i<J.5L.1d;i++){K 1z=J.5L[i];K i9=1z.1h("xY");if(3C.jz(7f,i9.JO)){1b 1z}}1b 1c},FV:1a(ic,im){1b ic.3g==im.3g||(ic.8a||im.8a)&&ic.5V==im.5V},Gk:1a(ic,im){1b ic.6l==im.6l},iH:1a(8M){K 1I=1c;if(1L(8M)){1b 1I}$.2f(J.5L,1a(1T,1z){K 1O=1z.1h("1D");if(h9(1O.8j,8M)||(h9(1O.3N,8M)||h9(1O.fN,8M))){1I=1z;1b 1j}});1b 1I},tE:1a(1A,7P,k9){K 2t=7P.2t();K q6={};K q7=1c;if(7P!=1c){K eS=7P.1h("1D");K iq=1A.1D;if(eS&&iq){q6[eS.3g]=iq.3g;q7=eS.3g;if(eS.6L&&iq.6L){$.2f(eS.6L,1a(i,2i){if(eS.6L[i]&&iq.6L[i]){q6[eS.6L[i].3g]=iq.6L[i].3g}})}}}1A.k9=k9;7P.6D("L7",1A);if(q7){$.2f(QB.1e.2g.7j.Ho(q7),1a(i,2a){2a.kW(q6)})}7i{7P.2t(2t)}7x(e){}1b 7P},eG:1a(1A,7P){if(7P==1c){K 7O=$("<2B></2B>");if(J.1U!=1c&&J.1U.1d>0){J.1U.2X(7O)}1i{1A.6E=1j}7O.6D(1A);7O.5a(QB.1e.8I.3c.r7,{1z:7O},J.JN,J);7O.5a(QB.1e.8I.3c.r6,{1z:7O},J.IG,J);if(!1A.2D&&!1A.c0){K 2D=J.Ht(7O);7O.8c=2D[0];7O.9a=2D[1];7O.6D("2D",2D)}J.5L.1F(7O);1b 7O}1i{7P.6D("8E",1A);1b 7P}},Bn:1a(1D,rC){1D.6D("5r",1c,rC)},JN:1a(e,1h){K 1z=e.1h.1z;K JM=1z.1h("ff");J.5L.3v(1z);QB.1e.2g.7j.Hk(JM)},IG:1a(e,1h){K 1z=e.1h.1z;J.1U.29(QB.1e.2g.3c.pE,1z)},Hj:1a(3g){K 1z=1c;$.2f(J.5L,1a(1T,o){if(o.1h("ff")==3g){1z=o.1h("Kv");1b 1j}});1b 1z},Hi:1a(1O,Hz){K 1I=1c;if(1O==1c){1b 1I}$.2f(1O.5F,1a(1T,2i){if(2i.1D.3g==Hz){1I=2i;1b 1j}});1b 1I},ES:1a(){K 1I=[];$.2f(J.5L,1a(1T,1z){K 1O=1z.1h("1D");if(1O==1c){1b 1o}K l=1W QB.1e.2c.Hy;K p=1z.2D();l.6l=1O.6l;l.X=p.28;l.Y=p.1N;l.nC=1z.1r();l.nl=1z.1w();1I.1F(l)});1b 1I},Co:1a(hk){$.2f(J.5L,1a(1T,1z){K 1O=1z.1h("1D");if(1O==1c){1b 1o}K 91=1c;1n(K 1T=0;1T<hk.1d;1T++){K l=hk[1T];if(l.6l==1O.6l){91=l;1p}}if(91!=1c){if(91.X!=0&&(!1L(91.X)&&(91.Y!=0&&!1L(91.Y)))){1z.6D("2D",[91.X,91.Y])}if(91.nC!=0&&!1L(91.nC)){1z.6D("2N","1r",91.nC)}if(91.nl!=0&&!1L(91.nl)){1z.6D("2N","1w",91.nl)}}})},In:1a(1O){if(1O==1c){1b 1c}1b 1O.iE},Ht:1a(7O){K 1r=J.1U.1r();if(1r<eB){1r=sD}K aJ=[0,1r];K aD=[0,UX];K go=[];K ow=7O.1r();K oh=7O.1w();if(ow==0){ow=eB}if(oh==0){oh=ye}K w=ow+8O*2;K h=oh+8O*2;J.Hv(aJ,aD,go,7O);if(J.kA){1b J.Hr(aJ,aD,go,w,h)}1i{1b J.Hs(aJ,aD,go,w,h)}},Hs:1a(xs,ys,eo,w,h){1n(K j=0;j<ys.1d;j++){1n(K i=0;i<xs.1d;i++){if(eo[i][j]==0){if(J.yk(xs,ys,eo,i,j,w,h)){1b[xs[i]+8O,ys[j]+8O]}}}}1b[8O,8O]},Hr:1a(xs,ys,eo,w,h){1n(K j=0;j<ys.1d;j++){1n(K i=xs.1d-1;i>=0;i--){if(eo[i][j]==0){if(J.yk(xs,ys,eo,i,j,w,h)){if(i+1<xs.1d){1b[xs[i+1]+8O-w,ys[j]+8O]}}}}}1b[8O,8O]},Hv:1a(aJ,aD,go,7O){$.2f(J.5L,1a(){if(J==7O){1b 1o}K 1z=J[0];aJ.1F(1z.8c-8O);aD.1F(1z.9a-8O);K ow=1z.eF;K oh=1z.b9;if(ow==0){ow=eB}if(oh==0){oh=ye}aJ.1F(1z.8c+ow+8O);aD.1F(1z.9a+oh+8O)});aJ.fl(1a(a,b){1b a-b});aD.fl(1a(a,b){1b a-b});1n(K i=0;i<aJ.1d;i++){K 1H=[];1n(K j=0;j<aD.1d;j++){1H.1F(i==aJ.1d-1||j==aD.1d-1?1:0)}go.1F(1H)}$.2f(J.5L,1a(){K 1z=J[0];K HD=1z.8c;K HL=1z.9a;K ow=1z.eF;K oh=1z.b9;if(ow==0){ow=eB}if(oh==0){oh=ye}K HM=1z.8c+ow;K HK=1z.9a+oh;K yf=0;K ya=0;1n(K i=0;i<aJ.1d;i++){if(aJ[i]<=HD){yf=i}if(HM<=aJ[i]){ya=i;1p}}K yb=0;K yj=0;1n(K j=0;j<aD.1d;j++){if(aD[j]<=HL){yb=j}if(HK<=aD[j]){yj=j;1p}}1n(K i=yf;i<ya;i++){1n(K j=yb;j<yj;j++){go[i][j]=1}}})},yk:1a(xs,ys,eo,nV,o3,w,h){if(eo[nV][o3]==1){1b 1j}1n(K j=o3;j<=ys.1d;j++){if(ys[j]-ys[o3]>=h){1p}1n(K i=nV;i<xs.1d;i++){if(xs[i]-xs[nV]>=w){1p}if(eo[i][j]==1){1b 1j}}}1b 1o},6Y:1a(){if(J.1U==1c||J.1U.1d==0){1b 1c}K c=J.1U[0];J.6h.1r(1);J.6h.1w(1);J.r.iG(1,1);K w=c.yl-2;K h=c.rs-2;if(w<0){w=0}if(h<0){h=0}J.6h.1r(w);J.6h.1w(h);J.r.iG(w,h)},ph:1a(){K 3e=J.nj();if(3e){3e.3e("6H")}J.6Y()},H7:1a(49,1g,1A){3s(49){1l"g2":J.ph();1p;5q:J.1U.29(QB.1e.2g.3c.pq,{49:49,1g:1g})}},nj:1a(){if(QB.1e.4u.eT==""||QB.1e.4u.eT=="Va"){1b 1c}K bf="#qb-ui-om-V9-"+QB.1e.4u.eT;K $g1=$(bf);if($g1.1d){if(1L(QB.1e.4u.dE[bf])){K 8u={};8u[" OK "]=1a(){$(J).2K("[1x]").2f(1a(i,2i){K $2i=$(2i);K 9E=$2i.1k("1x");K lU=$2i.cv();if(lU!=1c){QB.1e.4u.bm[9E]=lU}});$(J).3e("5r");QB.1e.4u.Ed();QB.1e.4u.7G()};8u[QB.1e.2c.4Y.HF.dQ]=1a(){$(J).3e("5r")};QB.1e.4u.dE[bf]=$g1.3e({rJ:1j,5D:1j,z5:1o,4k:lP,fz:za,8U:Vb,1r:"Ih",6H:1a(e,ui){K $3e=$(e.3i);1n(K yi in QB.1e.4u.bm){K HI=QB.1e.4u.bm[yi];K 5F=$3e.2K("[1x="+yi+"]");1n(K i=0;i<5F.1d;i++){K $2i=$(5F[i]);$2i.cv(HI)}K HH=$(\'1Z[1x^="Vd"]\',$g1);HH.2f(1a(){J.2w=QB.1e.4u.bm.Vc})}},8u:8u})}}1b QB.1e.4u.dE[bf]},jw:1a(6G){if(6G==1c||6G.1d==0){1b 1c}K 1C={};K 4O;1n(K i=0;i<6G.1d;i++){4O=6G[i];if(4O.3N!=1c&&4O.3N.72(0,1)=="-"){1C[4O.cH+i]=4O.3N}1i{1C[4O.cH]={1x:4O.3N,3J:4O.cH+(4O.xA?" 3P":""),1C:J.jw(4O.2L),1h:4O.3g,1q:4O.cH}}}1b 1C},fa:1a(1Q){K me=J;if(J.y0){1b}if(1L(1Q)||1Q.2L.1d==0){1b}K 1C=J.jw(1Q.2L);$.2I("62","#qb-ui-1U");$.2I({3R:"#qb-ui-1U",4k:bP,6r:{6O:0},2l:1a(49,1A){K 1g=1c;7i{1g=1A.$1S.1h().2I.1C[49]}7x(e){}me.H7(49,1g,1A)},1C:1C})},Fy:1a(1Q){K me=J;if(1L(1Q)||1Q.2L.1d==0){1b}if(J.y9){1b}K 3R="#qb-ui-1U-7y 3X 1G, #qb-ui-1U-7y .2a-3t";K 1C=J.jw(1Q.2L);$.2I("62",3R);$.2I({3R:3R,4k:bP,6r:{6O:0},9o:1a($29,e){K me=$29.1h("me");if(2H me=="2O"){1b}K 1g=1C["6y-2q"];if(1g){1g.1x=QB.1e.2c.4Y.5k.y7.3m("{0}","<pL>"+me.53.1O.5o.6l+"</pL>");if(me.53.4x==1P.7k.bX){1g.3J=1g.1q}1i{1g.3J=1g.1q+" 3P"}}1g=1C["6y-to"];if(1g){1g.1x=QB.1e.2c.4Y.5k.y7.3m("{0}","<pL>"+me.51.1O.5o.6l+"</pL>");if(me.51.4x==1P.7k.bX){1g.3J=1g.1q}1i{1g.3J=1g.1q+" 3P"}}1b{1C:1C}},2l:1a(49,1A){K me=J.1h("me");if(me){me.jv(49)}},1C:1C})},Fk:1a(1Q){K me=J;if(1L(1Q)||1Q.2L.1d==0){1b}if(J.y8){1b}K 3R=".qb-ui-1O";K 1C=J.jw(1Q.2L);$.2I("62",3R);$.2I({3R:3R,4k:bP,6r:{6O:0},2l:1a(49,1A){K me=J.1h("me");if(me){me.jv(49)}},1C:1C})},7A:1a(){K me=J;K y5="qb-ui-1U-7y";J.1U=$("#qb-ui-1U");J.kA=J.1U.4J("kA");J.rQ=J.1U.4J("rQ");J.k6=J.1U.4J("k6");J.sQ=J.1U.4J("sQ");J.s7=J.1U.4J("s7");J.sg=J.1U.4J("sg");J.s6=J.1U.4J("s6");J.y8=J.1U.4J("y8");J.y9=J.1U.4J("y9");J.y0=J.1U.4J("y0");if(!J.1U.1d){1b 1c}J.6E=1o;J.6h=$("#"+y5);J.r=bt(y5,J.6h.1J().1r(),J.6h.1J().1w());K bY=J.1U.1k("bY");if(!1L(bY)){$.ui.6D.2Q.1A.bY=bY}K er=J.1U.1k("er");if(!1L(er)){$.ui.6D.2Q.1A.er=er}J.1U.3M(1a(e){K i8=26;if(e.8e.id=="qb-ui-1U"||e.8e.5Z=="3X"){K y6=$(J).2t();K x=e.6N-y6.28;K y=e.77-y6.1N;if(x>=J.jV-i8&&y<i8){me.ph()}}});$("#qb-ui-1U-7y").3M(1a(e){K i8=26;if(e.3i.id=="qb-ui-1U-7y"||e.3i.5Z=="3X"){K x=!1L(e.Hb)?e.Hb:e.V5;K y=!1L(e.Ha)?e.Ha:e.V4;if(x>=J.jV-i8&&y<i8){me.ph()}}});J.1U.bI({t6:"qb-ui-1U-6i",Ak:".qb-ui-1U-bI",cG:"9c",Ab:1a(e,ui){if(ui.4q.4J("qb-ui-41-2i-4q")){K 1D=ui.4q.1h("1D");K gQ=ui.4q.1h("gQ");K d6=3C.eN(ui.4q[0],3C.eN(J));$(J).29(QB.1e.2g.3c.pz,{1O:gQ,2i:1D,c0:[d6.28,d6.1N]})}1i{K CJ=$(J);K 1D=ui.4q.1h("1D");K d6=3C.eN(ui.4q[0],3C.eN(J));if(d6.28<0){d6.28=0}if(d6.1N<0){d6.1N=0}K ty={1D:1D,c0:[d6.28,d6.1N]};$(J).29(QB.1e.2g.3c.p6,ty)}}});J.s3=$.yE(J.6Y,93,J);J.fk=$.yE(J.de,5,J);J.H1=$.gX(J.de,lF,J);J.1U.lZ(1a(){me.fk()});$(3H).6Y(1a(){me.fk()});J.6Y();1b J},de:1a(){if(J.1U==1c||J.1U.1d==0){1b 1c}QB.1e.2g.7j.iJ();if(jr===2O){1b}J.s3()},s3:1a(){},fk:1a(){},H1:1a(){}};QB.1e.2g.3c={p6:"p6",xZ:"xZ",pE:"pE",H6:"H6",pz:"pz",pq:"pq"};QB.1e.2g.7j={5l:[],Bl:1a(1M){K 2a=1W QB.1e.2g.bo(1M);QB.1e.2g.7j.1F(2a);1b 2a},CN:1a(2a,1M){2a.1M(1M)},iJ:1a(){if(!QB.1e.2g.6E){1b 1c}$.2f(J.5l,1a(1T,2a){2a.iJ()})},1F:1a(1z){J.5l.1F(1z)},V6:1a(2a){1n(K i=0;i<J.5l.1d;i++){if(J.5l[i].2a==2a){1b J.5l[i]}}1b 1c},BF:1a(H5,Hm){1n(K i=J.5l.1d-1;i>=0;i--){K 2a=J.5l[i];if(2a.53&&2a.51){if(2a.53.cb==H5&&2a.51.cb==Hm){1b J.5l[i]}}}1b 1c},V8:1a(6h){1n(K i=0;i<J.5l.1d;i++){if(J.5l[i].6h==6h){J.iV(i);1p}}},Hk:1a(7f){1n(K i=J.5l.1d-1;i>=0;i--){K 2a=J.5l[i];if(2a.53!=1c&&2a.51!=1c){if(2a.53.bK==7f||2a.51.bK==7f){J.iV(i)}}}},3v:1a(2a){if(2a===2O){1b}if(2a==1c){1b}1n(K i=0;i<J.5l.1d;i++){if(J.5l[i]==2a){J.iV(i);1p}}2a=1c},V7:1a(){1n(K i=J.5l.1d-1;i>=0;i--){J.iV(i)}},Cg:1a(){1n(K i=J.5l.1d-1;i>=0;i--){if(J.5l[i].Bo){J.iV(i)}}},iV:1a(1T){K 2a=J.5l[1T];if(2a.6h!=1c){J.lA(2a.6h.ba);J.lA(2a.6h.bg);J.lA(2a.6h.2F);J.lA(2a.6h.4t);3Y 2a.6h}3Y 2a;J.5l.59(1T,1)},Ho:1a(7f){K 1I=[];1n(K i=J.5l.1d-1;i>=0;i--){K 2a=J.5l[i];if(2a.53!=1c&&2a.51!=1c){if(2a.53.bK==7f||2a.51.bK==7f){1I.1F(2a)}}}1b 1I},BD:1a(){1n(K i=J.5l.1d-1;i>=0;i--){J.5l[i].Bo=1o}},lA:1a(1z){if(1z){if(1z.3v){1z.3v();1z=1c}}}};QB.1e.2g.yG=1a(1M){J.2i=1c;J.1O=1c;J.1M=1a(2d){if(2d===2O){K 1M=1W QB.1e.2c.Hf;3C.He(J,1M);1b 1M}1i{J.1O=1c;J.2i=1c;3C.iT(2d,J);J.yF()}};J.yF=1a(){if(1L(J.1O)){J.1O=QB.1e.2g.Hj(J.bK)}if(1L(J.2i)){J.2i=QB.1e.2g.Hi(J.1O,J.cb);if(J.2i==1c){J.2i={};J.2i.1f=QB.1e.2g.In(J.1O)}}};J.kW=1a(eZ){if(eZ[J.bK]){J.1O=1c;J.bK=eZ[J.bK]}if(eZ[J.cb]){J.2i=1c;J.cb=eZ[J.cb]}J.yF()};if(1M!=1c){J.1M(1M)}};QB.1e.2g.bo=1a(1M){if(!QB.1e.2g.6E){1b 1c}K me=J;J.fc="";J.8p=1j;J.8a=1M.8a==1o;J.53=1W QB.1e.2g.yG;J.51=1W QB.1e.2g.yG;J.6h=1c;J.id=3C.sS();J.IC=1a(6J){if(me.6h!=1c){1b}me.6h=QB.1e.2g.6E?QB.1e.2g.r.Is(me,"#UT|2"):1c};J.iJ=1a(){if(QB.1e.2g.6E){QB.1e.2g.r.Iq(me)}};J.jv=1a(49){K cw=1j;3s(49){1l"6y-2q":me.53.4x=1P.7k.bC(me.53.4x);cw=1o;1p;1l"6y-to":me.51.4x=1P.7k.bC(me.51.4x);cw=1o;1p;1l"3Y":me.8p=1o;cw=1o;1p;1l"g2":K 3e=$("#2a-g2-3e");K pF=me.53.2i.1D;K pH=me.51.2i.1D;K kK=me.53.1O.5o;K kM=me.51.1O.5o;$("1Z[1x=2q-1D]",3e).2d(kK.6l);$("1Z[1x=to-1D]",3e).2d(kM.6l);$("1Z[1x=2q-1D-2k]",3e)[0].3P=me.53.4x==1P.7k.dc;$("1Z[1x=to-1D-2k]",3e)[0].3P=me.51.4x==1P.7k.dc;$("1Z[1x=1D-3f-1Z]",3e).2d(1P.Ij(me.fc,pF,kK,pH,kM));K 8u={};8u[" OK "]=1a(){me.53.4x=$("1Z[1x=2q-1D-2k]",3e).cv()?1P.7k.dc:1P.7k.bX;me.51.4x=$("1Z[1x=to-1D-2k]",3e).cv()?1P.7k.dc:1P.7k.bX;me.fc=$("1Z[1x=1D-3f-1Z]",3e).2d();K 1f=me.6h.1G[0];$("#qb-ui-1U-7y").29(QB.1e.2g.bo.3c.nO,me);QB.1e.2g.de();$(J).3e("5r")};8u[QB.1e.2c.4Y.Ii.dQ]=1a(){$(J).3e("5r")};3e.3e({5D:1j,4k:xa,fz:za,1r:"Ih",z5:1o,8u:8u});1p}if(cw){K 1f=me.6h.1G[0];$("#qb-ui-1U-7y").29(QB.1e.2g.bo.3c.nO,me)}QB.1e.2g.de()};J.Ik=1a(){K 1M=1W QB.1e.2c.Im;1M.53=J.53.1M();1M.51=J.51.1M();1M.8p=J.8p;1M.8a=J.8a;1M.fc=J.fc;1b 1M};J.It=1a(1M){J.53.1M(1M.53);J.51.1M(1M.51);J.8p=1M.8p;J.8a=1M.8a;J.fc=1M.fc};J.1M=1a(2d){if(2d===2O){1b J.Ik()}1i{J.It(2d)}};J.kW=1a(eZ){J.53.kW(eZ);J.51.kW(eZ)};J.7A=1a(){J.1M(1M);J.IC();K yx=$(J.6h.bg.1s);yx.1h("me",J);yx.mp()};J.7A()};QB.1e.2g.bo.3c={nO:"nO"};QB.1e.6Z=1a(){J.UE=10;J.41=1c;J.lx=1j;J.9s=1W 3Z;J.1C=1W 3Z;J.d0=J.1C;J.4m="";J.gp=6;J.bD=24;J.kc=3;J.oH=$("#qb-ui-41-1C");J.x8=$("#qb-ui-41-1g-IA-76");J.lf=0;J.fP=1j;J.x7=0;J.dp=1;J.Iw=1j;J.tk=1a(){K me=J;K kF=1W 3Z;kF.1F("<ul>");J.oH.3W("");if(!1L(J.d0)){K 6k=J.d0.1d;K 2F=3B.5M((J.dp-1)*J.bD,6k);K 4t=3B.5M(J.dp*J.bD,6k);K kE="";1n(K i=2F;i<4t;i++){K 1g=J.d0[i];K qe=i+1==4t?" 6R":"";if(1g!=1c){K xl=J.I3?\'<br><2A 2y="LU">\'+1g.rE+"</2A>":"";K IF=QB.1e.2c.4Y.5k.jh+" "+1g.fN;K 1x=1g.fN.3m(/ /g,"&2o;");K 2A=\'<2A 5W="0" 2y="qb-ui-1U-bI 1O" 5C-3D="\'+IF+\'">\'+1x+"</2A>";if(!J.lx){kE=\'<li 2y="qb-ui-1D qb-ui-1D-1O\'+qe+\'" id="qb-ui-41-1g-\'+i+\'">\'+2A+xl+"</li>"}1i{K l3="";K xT="";K 2i=1c;K yv="";1n(K j=0;j<1g.6L.1d;j++){2i=1g.6L[j];yv="<2A 2y=\'2i\'>"+2i.rV.3m(/ /g,"&2o;")+"</2A>";K IE=j+1==1g.6L.1d?" 6R":"";xT=\'<li 2y="qb-ui-1D-2i qb-ui-42-bI qb-ui-1U-bI ID\'+IE+\'" id="qb-ui-41-1g-2i-\'+j+\'">\'+yv+"</li>";l3+=xT}l3=\'<ul 2y="qb-ui-41 6X">\'+l3+"</ul>";kE=\'<li 2y="qb-ui-1D qb-ui-1D-1O aq ID\'+qe+\'" id="qb-ui-41-1g-\'+i+\'">\'+"<2B 2y=\\"4g qb-ui-1D-4g qb-ui-1D-1O-4g aq-4g\\" UD=\\"$J = $(J); if ($J.4J(\'b0-4g\')) { $J.1J().8N(\'b0\');$J.1J().8N(\'aq\'); $J.8N(\'b0-4g\'); $J.8N(\'aq-4g\'); $(\'~ul\', $(J)).3U(); } 1i {$J.1J().8N(\'b0\');$J.1J().8N(\'aq\'); $J.8N(\'b0-4g\'); $J.8N(\'aq-4g\'); $(\'~ul\', $(J)).5f(); }\\"></2B>"+2A+xl+l3+"</li>"}}1i{kE=\'<li 2y="qb-ui-1D qb-ui-1D-1O\'+qe+\'" id="qb-ui-41-1g-\'+i+\'">\'+\'<2A 2y="1O">\'+QB.1e.2c.4Y.5k.oz+"</2A></li>"}kF.1F(kE)}}kF.1F("</ul>");J.oH.3W(kF.4C(""));J.Ac();J.Ia();$("#qb-ui-41-1g-6Q").z1()};J.Iz=1a(1h){K ik=$("#qb-ui-41-9s");ik.3W("");J.9s=1W 3Z;1n(K i=0;i<1h.ju.1d;i++){K 8b=1h.ju[i];K e9=J.HY(i+1,8b);e9.1h("1v",8b.4x);e9.1h("7f",8b.3g);K jJ=e9.cv();K xm=1W 3Z;K bA=-1;1n(K j=0;j<8b.kz.1d;j++){K 2N=8b.kz[j];if(bA==-1&&(!1L(jJ)&&h9(2N.lj,jJ))){bA=j}if(bA==-1&&2N.dT){bA=j}}if(bA==-1){bA=0}1n(K j=0;j<8b.kz.1d;j++){K 2N=8b.kz[j];K 2w="";if(2N.qu==1o){2w=" 2w"}K 1S="";if(bA==j){1S=" 1S"}xm.1F(\'<2N 1m="\'+2N.lj+\'"\'+2w+1S+">"+2N.9e+"</2N>")}e9.3W(xm.4C(""));e9.3d();J.9s.1F(e9)}};J.hv=1a(1h){if(1h==1c||1h===2O){1b}K me=J;J.lf=1h.pO;J.Iw=1h.Iv==1o;J.fP=1j;K le=1j;if(1h.jo!=""&&(1h.jo!=2O&&1h.jo!=1c)){le=1o;J.fP=1o}if(1h.oQ==0){J.dp=1;J.Iz(1h);J.1C=[];if(1h.2L.1d!=1h.pO){J.fP=1o}}K Ig=1h.2L.1d;K Iy=1h.oQ;K Ix=1h.pO;1n(K iY=Iy,pQ=0;iY<Ix;iY++,pQ++){if(pQ<Ig){J.1C[iY]=1h.2L[pQ]}1i{if(J.1C[iY]==2O){J.1C[iY]=1c;J.fP=1o}}}J.xn(le);J.tk();J.HZ()};J.I5=1a(){if(J.1C.1d<J.lf){1b 1o}K 2F=3B.4v(0,(J.dp-1)*J.bD);K 4t=3B.5M(J.lf,J.dp*J.bD);1n(K i=2F;i<4t;i++){if(J.1C[i]==1c){1b 1o}}1b 1j};J.HY=1a(i,8b){K ik=$("#qb-ui-41-9s");K id="qb-ui-41-9s-2k-"+i;K 1f=$("#"+id);if(1f.6k){1b 1f}K me=J;K 3W=$(\'<2B 2y="qb-ui-41-9s-6Q UF-\'+i+" 2k-1v-"+8b.4x+\'">                         <2B 2y="qb-ui-41-9s-3D"></2B>                         <2B 2y="qb-ui-41-9s-2k">                             <2k id="\'+id+\'"></2k>                         </2B>                     </2B>\');ik.2X(3W);1f=$("#"+id);1f.1h("1T",i);1f.1h("7f",8b.3g);1f.5a("dn",me.HQ,me);1f.5a("UH",me.HU,me);1b 1f};J.os=1a(xq){K HX=$("#qb-ui-41-9s");K 9s=$("2k",HX);K xr=[];9s.2f(1a(i,s){K 8b=1W QB.1e.2c.HW;8b.I1=s.1m;if(!1L(xq)){8b.I0=s.id==xq.id}8b.4x=$(s).1h("1v");8b.3g=$(s).1h("7f");xr.1F(8b)});1b xr};J.UG=1a(2k,1A){K me=J;K 1f=2k[0];1n(K i=0;i<1f.1A.1d;i++){K 2N=1f.1A[i];K cX=1W QB.1e.2c.xt;cX.lj=2N.1m;cX.9e=2N.1X;cX.dT=2N.1S;1A.1F(cX)}};J.Uz=1a(2k,1A){K me=J;K 1f=2k[0];1n(K i=0;i<1f.1A.1d;i++){K 2N=1f.1A[i];K cX=1W QB.1e.2c.xt;cX.lj=2N.1m;cX.9e=2N.1X;cX.dT=2N.1S;1A.1F(cX)}};J.Mc=1a(){J.4m=$("#qb-ui-41-1g-4m-1Z").2d()};J.M3=1a(e){$("#qb-ui-41-1g-4m-1Z").2d("");J.4m="";J.sv(e)};J.xn=1a(le){K o4=1c;K nW=!1L(J.4m);if(nW){7i{o4=1W d5(J.4m,"i")}7x(e){o4=1c;nW=1j}}if(!nW||le){J.d0=J.1C;J.x7=J.lf}1i{if(!1L(J.1C)){J.d0=1W 3Z;1n(K i=0;i<J.1C.1d;i++){K 1g=J.1C[i];if(1g==1c){J.x9();1b}if(!o4.9C(1g.fN)){aM}J.d0.1F(1g)}}}};J.MH=1a(e){if(e.3y==13){e.7C();1b 1j}if(J.fP){J.Ma(e)}1i{J.sv(e)}};J.Mx=1a(e){if(e.3y==13){e.7C();1b 1j}};J.sv=1a(e){J.dp=1;J.4m=e.8e.1m;if(!J.fP){J.xn();J.tk()}1i{J.x9()}};J.oB=1a(){J.oH.3W("");J.x8.5f()};J.HZ=1a(){J.x8.3U()};J.x9=1a(){J.oB();K 1h=QB.1e.4u.4K;1h.6Z=1W QB.1e.2c.k4;1h.6Z.ju=J.os();1h.6Z.bL="4r";1h.6Z.jo=J.4m;QB.1e.4u.7G()};J.I4=1a(){J.oB();K 1h=QB.1e.4u.4K;1h.6Z=1W QB.1e.2c.k4;1h.6Z.ju=J.os();1h.6Z.bL="4r";1h.6Z.jo=J.4m;1h.6Z.oQ=(J.dp-1)*J.bD;QB.1e.4u.7G()};J.HQ=1a(e){K me=J;K 1T=$(e.8e).1h("1T");K 1h=QB.1e.4u.4K;1h.6Z=1W QB.1e.2c.k4;1h.6Z.ju=J.os(e.3i);J.HV(1T);QB.1e.4u.7G()};J.HV=1a(1T){1n(K i=1T;i<J.9s.1d;i++){K e9=J.9s[i];e9.3W("<2N>oz...</2N>")}J.oB()};J.HU=1a(){};J.Ac=1a(){K me=J;$(".qb-ui-1D>2A").6F({2C:0.8,4n:"3O",HT:"rO",2F:1a(1K,ui){$(ui.4q).2V("j2-28",1K.9R-$(1K.3i).2t().28-$(ui.4q).1r()/2);$(ui.4q).2V("j2-1N",1K.9K-$(1K.3i).2t().1N-10)},4q:1a(e){K 1f=e.8e.3j;K nY=1f.id.72("qb-ui-41-1g-".1d);K 1g=me.d0[nY];K 4q=$("<2B ></2B>");1g.8a=1o;4q.6D({1D:1g,4k:xa});4q.2r("qb-ui-1U-bI");1b 4q[0]}});$(".qb-ui-1D-2i").6F({2C:0.8,4n:"3O",HT:"rO",4q:1a(e){K 1f=e.8e;K nY=1f.id.72("qb-ui-41-1g-2i-".1d);K I2=$(1f).bE("li");K Ib=I2.1k("id").72("qb-ui-41-1g-".1d);K oA=me.d0[Ib];if(oA==1c){1b}K 1g=oA.6L[nY];if(1g==1c){1b}K 4q=$(\'<2A 2y="qb-ui-41-2i-4q qb-ui-42-bI qb-ui-1U-bI">\'+1g.86.3m(/ /g,"&2o;")+"</2A>");4q.1h("1D",1g);4q.1h("gQ",oA);1b 4q[0]}});$(".4g",J.41).3M(1a(e){})};J.Ia=1a(){K me=J;K 6k=3B.hK(J.x7/J.bD);K 1f=$("#qb-ui-41-1g-Uy-6Q");if(6k<=1){1f.3W("");1b}1f.oT({6k:6k,2F:J.dp,5n:me.gp,eI:1j,jD:"#UA",jG:"3p",jL:"#UC",jA:"3p",xe:1o,tf:"I9",mP:1a(yq){me.dp=6f(yq);me.Ic();me.tk()}})};J.Ic=1a(){if(!J.I5()){1b}J.I4()};J.Cr=1a(){K me=J;K 1f=$(".qb-ui-41");J.lx=1f.4J("lx");J.I3=1f.4J("UB");if(1f.1k("I8")!=""){J.bD=1f.1k("I8")}if(J.bD<=0||J.bD==""){J.bD=24}if(1f.1k("I7")!=""){J.kc=1f.1k("I7")}if(J.kc<=0||J.kc==""){J.kc=3}K xc=1f.1k("gp");if(xc!=""){7i{K gp=6f(xc);if(gp>0){J.gp=gp}}7x(e){}}$("#qb-ui-41-1g-4m-1Z").5a("Ba",me.MH,me);$("#qb-ui-41-1g-4m-1Z").5a("7R",me.Mx,me);$("#qb-ui-41-1g-4m-9P").5a("3M",me.M3,me);1a eG(1f){K M4=1f.id.72("qb-ui-41-1g-".1d);K 1g=me.d0[M4];me.41.29(QB.1e.6Z.3c.pY,1g)}$(2G).on("A4","#qb-ui-41-1C .qb-ui-1D 2A",1a(e){eG(e.8e.3j)});$(2G).on("7R","#qb-ui-41-1C .qb-ui-1D 2A",1a(e){if(e.3y==13){eG(e.8e.3j)}});J.Mc();J.41=1f;1b 1f};J.Ma=$.gX(J.sv,lF,J);1b J.41};QB.1e.6Z.3c={Mb:"Mb",pY:"pY"};QB.1e.zy=1a(2i,6W,sq,1A){K me=J;J.g7=1P.g6.gq;J.1D=2i;J.1O=sq;J.1J=6W;J.3P=2i.dT;J.1f=$(\'<tr 5W="-1" />\').2r("qb-ui-1O-2i 8x").1h("J",J).1h("1D",2i).1h("1O",sq).1h("ff",2i.3g).1h("1J",6W).1h("rh",6W.3g);3C.A2(J.1f,QB.1e.2c.4Y.5k.gq+" "+2i.86);if(2i.86=="*"){J.1f.2r("qb-ui-1O-2i-gg")}J.sJ=$(\'<1Z 1v="7S" 1m="1" 5W="-1" \'+(2i.dT?" 3P":"")+"/>").3M(1a(){me.3P=J.3P;sq.rr([me])});J.1f.7R(1a(e){3s(e.3y){1l 13:;1l 32:me.sJ.29("3M");e.4c()}});J.xI=$(\'<2A 2y="qb-ui-1O-2i-3J"></2A>\');if(2i.nc){J.xI.2r("qb-ui-1O-2i-3J-pk")}K k8=1A.xK;K k1=1A.xL;K xQ=1A.xM;K sX=1A.sf;K sT=1A.ni;J.LZ=$(\'<2A 2y="qb-ui-1O-2i-2k">\'+k8.bn+"</2A>").2r(QB.1e.2g.s6?"6X":"").2X(J.sJ);J.9E=$(\'<2A 2y="qb-ui-1O-2i-1x">\'+k1.bn+2o(2i.rV)+k1.bZ+"</2A>").2r(QB.1e.2g.s7?"6X":"");J.M1=$(\'<2A 2y="qb-ui-1O-2i-1v">\'+(2i.86!="*"&&2i.xH!="1c"?sX.bn+2i.xH+1A.sf.bZ:"")+"</2A>").2r(QB.1e.2g.sg?"6X":"");J.Mn=$(\'<2A 2y="qb-ui-1O-2i-LU">\'+k8.bn+(sT.rj?2i.zp:2o(2i.zx))+1A.ni.bZ+"</2A>").2r(QB.1e.2g.sQ?"6X":"");K 69=[];69.1F({2T:J.xI,88:-1,7u:1o});69.1F({2T:J.LZ,88:k8.88,7u:k8.7u});69.1F({2T:J.9E,88:k1.88,7u:k1.7u});69.1F({2T:J.M1,88:sX.88,7u:sX.7u});69.1F({2T:J.Mn,88:sT.88,7u:sT.7u});69.rk("88");K 7s;if(xQ){7s=me.1f}1i{7s=$("<td UO />");7s.4n(me.1f)}1n(K i=0;i<69.1d;i++){K 80=69[i];if(xQ){7s.2X($("<td td"+(i+1)+\'" />\').2X(80.2T))}1i{7s.2X(80.2T)}}J.gF=1a(1m){J.3P=1m;J.sJ[0].3P=J.3P};J.6q=1a(){K 4U={x:0,y:0,1r:0,1w:0};K o=J.1f;K xR=eN(QB.1e.2g.1U[0]);K eP=eN(o,xR);K 1J=o;do{if(1J.5Z.8m()=="Mv"){1J=1J.3j;if(1J){1J=1J.3j}1p}1J=1J.3j}4e(1J!=1c);K eO=eP;if(1J!=1c){eO=eN(1J,xR)}if(eP.1N<eO.1N){4U.y=eO.1N}1i{if(eP.1N>eO.4D-eP.1w/2){4U.y=eO.4D-eP.1w/2}1i{4U.y=eP.1N}}4U.1w=eP.1w;4U.1r=eO.1r;4U.x=eO.28;1b 4U}};QB.1e.zy.3c={Ms:"Ms"};K xG=20;QB.1e.dO=1a(){J.2T=$("#qb-ui-1U-gN");J.1Q=1c;K gw=J;K fI=J.2T;K iB=0;K lq=0;K hq=0;J.EP=1a(9D){if(J.2T.1k("Mf")&&J.2T.1k("Mf").3L()=="1j"){1b}K $47=$("#qb-ui-1U-gN-9f");if(!$47){1b}K $9y=[];1n(K i=0;i<9D.2L.1d;i++){K 1g=9D.2L[i];K 1X=1g.9e;if(1L(1X)){1X="&2o;"}K $1f=$(\'<2B 2y="2T" id="qb-ui-1U-gN-9f\'+(i+1)+\'">\'+1X+"</2B>").2r(1g.gK);$1f.3Q();if(1g.cP){$1f.2r("ui-4X-9L");$1f.1k("5W",-1)}1i{$1f.1k("5W",0);$1f.7R(1a(e){if(e.3y==32||e.3y==13){$(e.3i).29("3M")}})}$1f.1h("1g",1g);$1f.3M(1a(e){K $1f=$(e.8e);if($1f.1h("Mi.eM")){1b}K 1g=$1f.1h("1g");if(1g&&1g.bL){QB.1e.4u.ss(1g.bL)}1i{$("#"+$1f[0].id).2I()}if(1g&&1g.cP){$1f.2r("ui-4X-9L");e.4c();1b 1j}});$1f.6i(1a(e){K $1f=$(e.8e);K 1g=$1f.1h("1g");if(1g&&1g.cP){$1f.2r("ui-4X-9L");e.4c();1b 1j}});$1f.4M(1a(e){K $1f=$(e.8e);K 1g=$1f.1h("1g");if(1g&&1g.cP){$1f.2r("ui-4X-9L");e.4c();1b 1j}});$1f.mp();J.LY($1f,1g.e5);$9y.1F($1f)}$47.cf();$fI=$(\'<2B id="qb-ui-1U-gN-9f-fI">\');$fI.4n($47).2X($9y)};1a qS(8i,4F){if(8i<0){8i=0}1i{if(8i>hq){8i=hq}}Mm(8i)}1a Mm(8i){if(8i===2O){8i=UN.2D().28}xN=8i;K UQ=xN===0,US=xN==hq,hB=8i/hq,Ml=-hB*(iB-lq);fI.2V("28",Ml)}1a qP(){1b-fI.2D().28}1a UR(kp,lu,bs){1b 1a(){Mg(kp,lu,J,bs);J.4M();1b 1j}}1a Mg(kp,lu,aR,bs){aR=$(aR).2r("Mp");K 2M,kL,xx=1o,xz=1a(){if(kp!==0){gw.zT(kp*30)}if(lu!==0){gw.zU(lu*30)}kL=6m(xz,xx?oy:50);xx=1j};xz();2M=bs?"dS.gw":"5p.gw";bs=bs||$("3W");bs.2W(2M,1a(){aR.4d("Mp");kL&&jd(kL);kL=1c;bs.7D(2M)})}J.xv=1a(6G){if(6G==1c||6G.1d==0){1b 1c}K 1C={};K 4O;1n(K i=0;i<6G.1d;i++){4O=6G[i];K 1q=4O.cH;if(4O.3N!=1c&&4O.3N.72(0,1)=="-"){1C[1q]=4O.3N}1i{1C[1q]={1x:4O.3N,3J:1q+(4O.xA?" 3P":""),1C:J.xv(4O.2L),1h:4O}}}1b 1C};J.LY=1a($1f,1Q){K me=J;if(1L(1Q)||1Q.2L.1d==0){1b}K 1C=J.xv(1Q.2L);K 3R="#"+$1f[0].id;$.2I("62",3R);$.2I({3R:3R,4k:bP,6r:{6O:0},1C:1C,2l:1a(49,1A){K 4O=1A.1C[49].1h;me.qL(49,4O)}});$.2I.jx.UJ=1a(1g,1B,2n){J.on("7R",1a(e){})}};J.qL=1a(1q,1g){K 49=1c;if(1g!=1c&&2H 1g.bL!="2O"){49=1g.bL}J.2T.29(QB.1e.dO.3c.oN,49)};J.xB=1a(s){if(s==1c){1b s}if(s.1d<=xG){1b s}1b s.72(0,xG)+"&UI;"};J.MA=1a(1J){K 1C=[];$.2f(1J.2L,1a(1T,1g){if(!1g.7u){1b}if(1g.cP){1b}1C.1F(1g)});1b 1C};J.MJ=1a(1J){K e4=1c;$.2f(1J.2L,1a(1T,1g){if(1g.cP){e4=1g}});1b e4};J.yL=1a($3Q){$3Q.1k("5W",0);$3Q.7R(1a(e){if(e.3y==32||e.3y==13){$(e.3i).29("3M")}})};J.zR=1a(1g,2w){K me=J;K 3J="ui-3J-qb-"+1g.7K;K $3Q=$(\'<2B 2y="kw">\'+J.xB(1g.6l)+"</2B>").1h("Ad",1g.3g).1h("dW",1g.dW).3Q({2w:2w,bp:{tz:3J}}).3M(1a(e){me.zM(e)});if(2w){$3Q.2r("ui-4X-9L").2r("ui-4X-6i")}1i{J.yL($3Q)}1b $3Q};J.MM=1a(1C){K me=J;K $ul=$("<ul/>");$.2f(1C,1a(1T,gm){K 3J="ui-3J-qb-"+gm.7K;K $3Q=$(\'<li><a 4Z="#"><2A 2y="ui-3J \'+3J+\'"></2A>\'+me.xB(gm.6l)+"</a></li>").1h("Ad",gm.3g).1h("dW",gm.dW);$ul.2X($3Q)});$ul.1Q({2k:1a(e,ui){$ul.3U();me.zM(e)}});1b $ul};J.zO=1a(1g,1J){K me=J;K 9f=[];if(1g==1c){1b 9f}K 1C=J.MA(1g);K e4=J.MJ(1g);K ME=e4===1c;K $3Q=J.zR(1g,ME);9f.1F($3Q);if(1C.1d>0){if(e4!=1c){K $zP=$("<2B>&2o;</2B>").3Q({1X:1j,bp:{tz:"ui-3J-ip-1-s"}}).3M(1a(e){if(me.1Q!=1c){me.1Q.3U()}me.1Q=$(J).3h().5f().2D({my:"28 1N",at:"28 4D",of:$(J).UK(".ui-3Q")[0]});$(2G).MB("3M",1a(){me.1Q.3U()});1b 1j});J.yL($zP);9f.1F($zP);K $ul=J.MM(1C);9f.1F($ul)}1i{$3Q.3Q("2N","bp.Aj","ui-3J-ip-1-e");$.2f(1C,1a(1T,gm){9f.1F(me.zR(gm))})}}1i{if(e4!=1c){$3Q.3Q("2N","bp.Aj","ui-3J-ip-1-e")}}if(e4!=1c){9f=9f.3F(J.zO(e4,1g))}1b 9f};J.zM=1a(e){K $1f=$(e.8e);K bN=$1f.1h("dW");if(!1L(bN)){J.2T.29(QB.1e.dO.3c.oD,bN)}1b 1j};J.FC=1a(bG){K me=J;K $2T=$("#qb-ui-1U-gN-UM-47");if(bG!=1c&&bG.2L!=1c){$2T.cf();K $1C=me.zO(bG);$2T.2X($1C);K LV=$("<2B id=\'qb-ui-1U-kw-lg-3Q\'>+</2B>").3Q();$2T.2X(LV);$2T.UL({1C:"3Q, 1Z[1v=3Q], 1Z[1v=VF], 1Z[1v=kS], 1Z[1v=7S], 1Z[1v=8f], :1h(ui-3Q)"});$2T.2K("ul").1k("5W",-1);$2T.2K("a").1k("5W",0)}1b $2T};$.4j(J,{VE:1a(s){s=$.4j({},3T,s);VG(s)},Md:1a(bs,Mj,4F){Md(bs,Mj,4F)},VI:1a(8i,hJ,4F){tl(8i,4F);sZ(hJ,4F)},tl:1a(8i,4F){tl(8i,4F)},sZ:1a(hJ,4F){sZ(hJ,4F)},VH:1a(Mh,4F){tl(Mh*(iB-lq),4F)},VA:1a(Mq,4F){sZ(Mq*(qN-zC),4F)},zS:1a(kC,kG,4F){gw.zT(kC,4F);gw.zU(kG,4F)},zT:1a(kC,4F){K 8i=qP()+3B[kC<0?"g4":"hK"](kC);K hB=8i/(iB-lq);qS(hB*hq,4F)},zU:1a(kG,4F){K hJ=zB()+3B[kG<0?"g4":"hK"](kG),hB=hJ/(qN-zC);qX(hB*KJ,4F)},qS:1a(x,4F){qS(x,4F)},qX:1a(y,4F){qX(y,4F)},4F:1a(bs,7Q,1m,MN){K 1u={};1u[7Q]=1m;bs.4F(1u,{"6O":3T.Vz,"5u":3T.VB,"hD":1j,"kJ":MN})},VD:1a(){1b qP()},VC:1a(){1b zB()},VP:1a(){1b iB},VO:1a(){1b qN},VQ:1a(){1b qP()/(iB-lq)},VS:1a(){1b zB()/(qN-zC)},VR:1a(){1b VK},VJ:1a(){1b VL},VN:1a(){1b fI},VM:1a(4F){qX(KJ,4F)},Vy:$.zI,62:1a(){62()}});1b J};QB.1e.nR=1a(){J.41=1c;J.lx=1j;J.Af=1a(ly){if(ly==1c||ly.1d<=0){1b 1c}K Ae=0;K $1f=$("<ul />");1n(K i=0;i<ly.1d;i++){K 1s=ly[i];if(!1s.7u){aM}Ae++;K $li=$("<li />");$li.1h("Ad",1s.3g);$li.1h("dW",1s.dW);$li.3W(\'<2A 2y="\'+1s.7K+(1s.cP?" 9L":"")+\'">\'+1s.6l+"</2A>");$li.2X(J.Af(1s.2L));$1f.2X($li)}if(Ae>0){1b $1f}1b 1c};J.Aw=1a(bG){K me=J;K 2T=$("#qb-ui-41-Aa");if(bG!=1c&&bG.2L!=1c){2T.3W("");2T.2X(me.Af([bG]));K 1f=$("#qb-ui-41-Aa>ul");J.41=1f.ih({});1f.2K("*").z1();$("#qb-ui-41-Aa 2A").3M(1a(){K $1f=1c;K bN=1c;if(J.ik!=1c){$1f=$(J.ik);bN=$1f.1h("dW")}if(!1L(bN)){me.41.29(QB.1e.nR.3c.oS,bN)}1b 1j})}1b 2T};J.Ac=1a(){K me=J;$(".4g",J.41).3M(1a(e){})};$("#qb-ui-1U-gN-lg-3Q").3Q({bp:{Aj:"ui-3J-ip-1-s"}});1b J.41};QB.1e.nR.3c={oS:"oS"};QB.1e.dO.3c={oD:"oD",oN:"oN"};K g8=1c;QB.1e.8I={5o:1c,1A:{Vk:"<2J 2y=\'qb-ui-1O-b7-1X-k2-1x\'>{k2}</2J>.<2J 2y=\'qb-ui-1O-b7-1X-1O-1x\'>{1x}</2J>",rJ:1o,e2:1j,L3:"",6F:1o,3U:1c,1w:"6b",1r:"6b",6a:5,bF:60,8U:1j,fz:1j,6E:1o,2D:{my:"28 1N",at:"28+15 1N+15",of:"#qb-ui-1U",km:"3p",Vj:1a(3S){K Ag=$(J).2V(3S).2t().1N;if(Ag<0){$(J).2V("1N",3S.1N-Ag)}}},5D:1o,5f:1c,Vl:1o,5S:"",4k:93,er:Vn,bY:"6b"},Vm:{zl:"2F.6F",5d:"5d.6F",zh:"5x.6F",8U:"8U.5D",6a:"6a.5D",fz:"fz.5D",bF:"bF.5D",Do:"2F.5D",6Y:"5d.5D",Da:"5x.5D"},7s:1c,bd:1c,L1:"qb-ui-1O "+"ui-8v "+"ui-8v-aB "+"ui-9N-6y ",bz:1j,jv:1a(49){K me=J;3s(49){1l"gF":me.zc(1o);1p;1l"Vf":me.zc(1j);1p;1l"3Y":me.5r();1p;1l"g2":K 3e=me.nj(me);if(3e!=1c){3e.3e("6H")}1p}},L2:1a(){K me=J;K 5G=".b7-3Q.3Q-2a";$.2I("62",5G);K 1C={};K bB=1c;1n(K i=0;i<me.5o.ki.1d;i++){K e8=me.5o.ki[i];if(bB==1c){bB=e8.kd}if(bB!=e8.kd){1C["5m-"+i]="---------";bB=e8.kd}1C[e8.6l]={1x:e8.6l,3J:"Ve-1D-bB-"+e8.kd,1h:e8,bw:e8.qu?"sF":""}}$.2I({3R:5G,4k:bP,6r:{6O:0},2l:1a(49,1A){K KU=1A.$1S.1h().2I.1C[49];me.1f.29(QB.1e.8I.3c.sd,KU.1h)},1C:1C});1b 5G},KI:1a(3Q){K me=J;K 5G=".b7-3Q.3Q-2a";if(me.5o==1c){1b}3Q.74(1a(){me.L2();$(5G).2I();K $1Q=$(5G).2I("1f");if($1Q){$1Q.2D({my:"28 1N",at:"28 4D",of:J})}})},8x:".8x:6E",L5:".8x:6E:4w",L4:".8x:6E:6R",t5:1a(8E){K me=J;me.5F=[];J.5o=me.1A.1D;J.fe=1j;K 6W=J.5o;if(J.5o!=1c&&!1L(J.5o.5V)){J.5V=J.5o.5V}1i{J.5V=B3()}6W.5V=J.5V;$(me.1f).1h("xY",6W);$(me.1f).1h("me",J);me.1f.2r(J.L1+me.1A.L3).2V({2D:"8d",4k:me.1A.4k});me.1f.1k("5W",0);if(!8E){me.1f.2U(1a(e){me.bz=1j})}1a dw(2U){K 1I=1c;if(2U.4J("qb-ui-1O")){1I=2U}1i{1I=2U.3h()}4e(1o){if(1I.1d==0){1p}if(1I.is(me.8x)){1b 1I}K 9t=1I.2K(me.L5);if(9t.1d){1b 9t}1I=1I.3h()}K 1J=2U.1J();if(1J.4J("qb-ui-1O")){1b $()}1b dw(1J)}1a dB(2U){K 1I=1c;if(2U.4J("qb-ui-1O")){1I=2U}1i{1I=2U.3K()}4e(1o){if(1I.1d==0){1p}if(1I.is(me.8x)){1b 1I}K 9t=1I.2K(me.L4);if(9t.1d){1b 9t}1I=1I.3K()}K 1J=2U.1J();if(1J.4J("qb-ui-1O")){1b $()}1b dB(1J)}if(!8E){me.1f.7R(1a(e){3s(e.3y){1l 13:if(me.bz){1b}me.bz=1o;dw(me.1f).2U();e.4c();1p;1l 9:if(!me.bz){1b}K 2U=me.1f.2K(":2U");if(!2U.1d){2U=me.1f}K 1f=1c;if(e.n5){1f=dB(2U)}1i{1f=dw(2U)}if(1f.1d){1f.2U();e.4c();1b 1j}1i{me.bz=1j}}})}J.5U=me.1f;if(me.1A.c0){me.1A.2D.at="28+"+me.1A.c0[0]+" 1N+"+me.1A.c0[1];me.2D.2t=me.1A.2D.2t;me.lG(me.2D);me.1A.c0=1c}if(J.nn==1c){J.nn=$(\'<2A 2y="qb-ui-1O-b7-1X"></2A>\')}K 5S=J.LQ();3C.A2(me.1f,QB.1e.2c.4Y.5k.jh+" "+5S);J.nn.3W(5S);if(J.iE==1c){J.kb=J.rm("2a","ui-3J-2a-A7").1k("5C-3D","").1k("5C-3D","Vg Vi");J.A6=J.rm("g2","ui-3J-g2-A7").1k("5C-3D",QB.1e.2c.4Y.5k.iC);J.A5=J.rm("5r","ui-3J-5r-A7").1k("5C-3D","").1k("5C-3D","A8");J.iE=$(\'<2B 2y="qb-ui-1O-b7 ui-8v-83 ui-9N-6y ui-4q-Vh 6x-1O"></2B>\').2X(J.nn).2X(J.kb).2X(J.A6).2X(J.A5).2W("A4",1a(){me.Ku()});J.iE.4n(me.1f).2r("qb-ui-1O-2i-5S");J.iE.1h("fZ",1j);J.A5.3M(1a(1K){me.5r(1K);1b 1j});J.A6.3M(1a(1K){K 3e=me.nj(me);if(3e!=1c){3e.3e("6H")}1b 1j});J.KI(J.kb)}if(!QB.1e.4u.nU&&(6W!=1c&&(6W.ki!=1c&&6W.ki.1d>0))){J.kb.5f()}1i{J.kb.3U()}if(me.bd!=1c){me.bd.3v()}me.bd=$(\'<2B 2y="qb-ui-1O-2i-47 ui-3e-aB ui-8v-aB"></2B>\').lZ(1a(){QB.1e.2g.fk()}).1k("5W",-1);if(J.5o.8a){me.bd.2r("rK")}1i{me.bd.4d("rK")}me.7s=me.bd;me.nz=$(\'<1O tx="1" qR="0"></1O>\').4n(me.bd);if(6W&&6W.6L){J.LK(6W,me.nz)}me.bd.4n(me.1f);me.bd.mp();me.gx=me.1f.1w()-me.7s.1w();me.1A.6a=3B.4v(me.1A.6a,me.gx);me.2N.8U=1j;$(".qb-ui-1O-2i:Kr",me.nz).2r("Kr");me.1A.6F&&($.fn.6F&&J.zw());me.1A.5D&&($.fn.5D&&J.zn());J.m8=1j;me.1A.e2&&($.fn.e2&&me.7s.e2());me.1A.e2&&($.fn.e2&&me.1f.e2());me.KH();me.2N.8U=1j;me.1A.rJ&&J.6H();J.g7=1P.g6.bR;me.1f.1h("Kv",me);me.1f.1h("1D",6W);me.1f.1h("ff",6W.3g);me.1f.2K("*").z1();me.1f.74(1a(1K){me.zd(1j,1K)});J.Ku=1a(){if(me.1f.1h("fZ")){me.1f.1h("fZ",1j);me.fZ=1j;me.2N("1w",J.Kq)}1i{me.1f.1h("fZ",1o);me.fZ=1o;J.Kq=J.2N("1w");me.2N("1w",16)}QB.1e.2g.de();1b 1j};K 5F=$(".qb-ui-1O-2i",me.1f).4m(":6s(.qb-ui-1O-2i-gg)");if(!QB.1e.2g.rQ&&!QB.1e.2g.k6){5F.6F({4q:1a(1K){K 3i=1K.3i;K tr=1c;if(3i.5Z.8m()=="TR"){tr=$(3i).5Q()}1i{K 1J=3i;do{if(1J.5Z.8m()=="TR"){1p}1J=1J.3j}4e(1J!=1c);if(1J){tr=$(1J).5Q()}}K 4q=$(\'<1O 2y="qb-ui-1O ui-8v ui-8v-aB qb-ui-6F-4q-2i" qR="0" tx="0"></1O>\').2X(tr);g8=4q;1b 4q},4n:"#qb-ui-1U",2C:0.8,2F:1a(1K,ui){me.1f.1h("z8",1o);K 4q=$(ui.4q);K nE=$(J);ui.4q.1r($(J).1r());QB.1e.2g.7j.3v(jr);jr=1W QB.1e.2g.bo({53:{2i:{1f:nE},1O:me},51:{2i:{1f:4q}}});QB.1e.2g.7j.1F(jr);J.fe=1j},5x:1a(1K,ui){QB.1e.2g.7j.3v(jr);QB.1e.2g.de();me.1f.1h("z8",1j);g8=1c},5d:1a(1K,ui){QB.1e.2g.fk()}}).bI({Ak:".qb-ui-1O-2i",t6:"qb-ui-1O-2i-sF",cG:"yY",Ab:1a(1K,ui){if(me.5o.8a){1b 1j}K yZ=$(ui.6F);K z0=$(J);K 2a=QB.1e.2g.7j.Bl({8a:1o,53:{bK:yZ.1h("rh"),cb:yZ.1h("ff")},51:{bK:z0.1h("rh"),cb:z0.1h("ff")}});QB.1e.2g.de();K 1M=2a.1M();me.1f.29(QB.1e.8I.3c.sb,1M);me.1f.1h("z8",1j);me.fe=1j},hF:1a(1K,ui){if(me.5o.8a){$(ui.4q).2r("rK")}1i{$(ui.4q).4d("rK")}}})}},nj:1a(3t){K bf="#1O-g2-3e";if(1L(QB.1e.4u.dE[bf])){K $g1=$(bf);if($g1.1d){K 8u={};8u[" OK "]=1a(){K 5o=$(J).1h("5o");5o.8j=$("1Z[1x=1D-ae]",$(J)).cv();5o.4H=$("1Z[1x=1D-1x]",$(J)).cv();$(J).3e("5r");QB.1e.4u.yd(5o);QB.1e.4u.7G()};8u[QB.1e.2c.4Y.Ko.dQ]=1a(){$(J).3e("5r")};QB.1e.4u.dE[bf]=$g1.3e({5D:1j,4k:lP,fz:za,rJ:1j,1r:nv,z5:1o,6H:1a(e,ui){K 5o=$(J).1h("5o");$("1Z[1x=1D-1x]",$(J)).2d(5o.4H);$("1Z[1x=1D-1x]").1k("Vu",5o.KF);$("1Z[1x=1D-ae]",$(J)).2d(5o.8j)},8u:8u})}}if(!1L(QB.1e.4u.dE[bf])){QB.1e.4u.dE[bf].1h("5o",3t.5o)}1b QB.1e.4u.dE[bf]},KH:1a(){if(J.1f.1w()>J.1A.er){J.2N("1w",J.1A.er)}if(J.1f.1r()>J.1A.bY){J.2N("1r",J.1A.bY)}K LO=40;K aB=J.nz;K yP=J.1f;K 5S=J.iE;K LC=J.nn;K yN=aB.aE();K Lw=yP.aE();K Lu=5S.aE();K nA=aB.1r();K LD=yP.dt();K yM=5S.dt();K Vt=LC.1r();if(yN==0&&nA==0){1b}K Lz=nA>LD-yM;if(Lz){nA+=16}K 1r=3B.4v(yM,nA);if(!1L(J.1A.bY)&&J.1A.bY!="6b"){1r=J.1A.bY}K LN=yN+Lu;K 1w=3B.5M(Lw,J.1A.er);if(1r>LO){J.2N("1r",6f(1r));J.nz.1r("7e%")}if(1w>0){J.2N("1w",1w);J.2N("8U",LN)}},LQ:1a(){if(!1L(J.5o.6l)){1b J.5o.6l.3m(/ /g,"&2o;")}1i{1b""}},LK:1a(6W,bd){K me=J;K 1A=6W.yU;if(1L(1A)){1A={}}K 5F=[];if(!1A.zq){K gg=1W QB.1e.2c.Lc;gg.86="*";gg.rV="*";gg.dT=6W.Lg;5F.1F(gg)}K nc=1A.zs?"Lf":"";3s(1A.dA){1l QB.1e.2R.zo.3N:6W.6L.rk(nc,"86");1p;1l QB.1e.2R.zo.rE:6W.6L.rk(nc,1A.ni.rj?"zp":"zx");1p}5F=5F.3F(6W.6L);$.2f(5F,1a(1q,2i){K f=1W QB.1e.zy(2i,6W,me,1A);me.5F.1F(f);bd.2X(f.1f)})},rm:1a(d3,rb){1b $(\'<a 4Z="#"></a>\').2r("ui-9N-6y b7-3Q 3Q-"+d3+" 8x").6i(1a(){$(J).2r("ui-4X-6i")},1a(){$(J).4d("ui-4X-6i")}).74(1a(ev){ev.7C()}).2X($("<2A/>").2r("ui-3J "+rb)).1k("5W",-1)},Vv:1a(){if(!J.zu){J.zu=$("#qb-ui-42")}1b J.zu},6q:1a(){1b{x:J.2t().28,y:J.2t().1N,1r:J.1r(),1w:J.1w()}},8E:1a(1h){if(!1L(g8)){g8.29("5p")}K me=J;K 1z=1h.1D;me.1f.1h("ff",1z.3g);$(".qb-ui-1O-2i",me.1f).2f(1a(){K 2i=$(J);2i.1h("rh",1z.3g);K 7f=1c;$.2f(1z.6L,1a(1q,zv){if(h9(zv.86,2i.1h("1D").86)){7f=zv.3g;1b 1j}});2i.1h("ff",7f)});J.1f.29(QB.1e.8I.3c.yX)},L7:1a(1A){if(!1L(g8)){g8.29("5p")}J.1A=$.4j(J.1A,1A);K Lp=J.1f.1r();K Lq=J.7s.1w();K L8=J.5F.1d;K zf=0;if(1A!=1c&&(1A.1D!=1c&&1A.1D.6L!=1c)){zf=1A.1D.6L.1d+1}K zb=zf!=L8;if(zb){J.1A.1w="6b";J.1A.1r="6b"}K lZ=J.7s.58();J.t5(1o);if(!zb){J.1f.1r(Lp);J.7s.1w(Lq)}J.7s.58(lZ)},62:1a(){K me=J;J.1f.29(QB.1e.8I.3c.r7);me.1f.3W("").3U().7D(".6D").rD("6D").4n("3O").6z().3v()},5r:1a(1K,rC){K me=J;if(!rC){me.1f.29(QB.1e.8I.3c.r6)}if(1j===me.7v("CW",1K)){1b}me.1f.7D("hi.qb-ui-1O");me.1f.3U()&&me.7v("5r",1K);me.m8=1j;me.62()},iU:1a(){1b J.m8},zd:1a(fh,1K){K me=J;if(J.1A.4k>$.ui.6D.mT){$.ui.6D.mT=J.1A.4k}K Ln={58:me.1f.1k("58"),4Q:me.1f.1k("4Q")};me.1f.2V("z-1T",++$.ui.6D.mT).1k(Ln);J.7v("2U",1K)},rr:1a(5F){J.1f.29(QB.1e.8I.3c.sM,{5F:5F})},zc:1a(3P){K me=J;K 5F=J.5F;K ep=[];$.2f(5F,1a(){K 2i=J;if(2i.1D.86!="*"&&J.3P!=3P){J.gF(3P);ep.1F(J)}});me.rr(ep)},iI:1a(9E,3P,ts){K me=J;K 5F=J.5F;K AA=[];$.2f(5F,1a(1T,2i){if(2i.1D.86==9E){$(".qb-ui-1O-2i-2k 1Z",2i.1f).2f(1a(){if(J.3P!=3P){J.3P=3P;2i.3P=3P;AA.1F(2i)}})}});if(ts){me.rr(AA)}},6H:1a(){if(J.m8){1b}K 1A=J.1A;J.zr();J.lG(1A.2D);J.zd(1o);J.7v("6H");J.m8=1o},Vx:1a(){K 64=J,1A=J.1A;1a bj(ui){1b{2D:ui.2D,2t:ui.2t}}J.5U.6F({i7:".ui-3e-aB, .ui-3e-b7-5r",4G:".qb-ui-1O-b7",85:"2G",2F:1a(1K,ui){$(J).2r("ui-3e-rv");64.qp();64.7v("zl",1K,bj(ui))},5d:1a(1K,ui){64.7v("5d",1K,bj(ui))},5x:1a(1K,ui){1A.2D=[ui.2D.28-64.2G.4Q(),ui.2D.1N-64.2G.58()];$(J).4d("ui-3e-rv");64.yT();64.7v("zh",1K,bj(ui))}})},zw:1a(){K me=J;K 2S=$(2G),zm;1a bj(ui){1b{2D:ui.2D,2t:ui.2t}}me.5U.6F({Vw:1j,D7:1j,i7:".ui-3e-aB, .ui-3e-b7-5r",4G:".qb-ui-1O-b7",85:"1J",lZ:1o,2F:1a(1K,ui){K c=$(J);zm=me.1A.1w==="6b"?"6b":c.1w();c.1w(c.1w()).2r("ui-3e-rv");if($.ui.hj.5w!=1c&&($.ui.hj.5w.85!=1c&&$.ui.hj.5w.85.1d>3)){$.ui.hj.5w.85[2]=rl;$.ui.hj.5w.85[3]=rl}me.qp();me.7v("zl",1K,bj(ui))},5d:1a(1K,ui){QB.1e.2g.fk();me.7v("5d",1K,bj(ui))},5x:1a(1K,ui){QB.1e.2g.6Y();QB.1e.2g.de();me.1A.2D.at="28+"+(ui.2D.28-2S.4Q())+" 1N+"+(ui.2D.1N-2S.58());$(J).4d("ui-3e-rv").1w(zm);me.1f.29(QB.1e.8I.3c.r3,me);QB.1e.4u.h7();me.yT();me.7v("zh",1K,bj(ui))}})},Vp:1a(){K ce,co,hF,o=J.1A;if(o.85==="1J"){o.85=J.4q[0].3j}if(o.85==="2G"||o.85==="3H"){J.85=[0-J.2t.mm.28-J.2t.1J.28,0-J.2t.mm.1N-J.2t.1J.1N,$(o.85==="2G"?2G:3H).1r()-J.Lm.1r-J.r9.28,($(o.85==="2G"?2G:3H).1w()||2G.3O.3j.rs)-J.Lm.1w-J.r9.1N]}if(!/^(2G|3H|1J)$/.9C(o.85)){ce=$(o.85)[0];co=$(o.85).2t();hF=$(ce).2V("gb")!=="6X";J.85=[co.28+(6g($(ce).2V("zi"),10)||0)+(6g($(ce).2V("Vo"),10)||0)-J.r9.28,co.1N+(6g($(ce).2V("zj"),10)||0)+(6g($(ce).2V("Vq"),10)||0)-J.r9.1N,rl,rl]}},zn:1a(fp){fp=fp===2O?J.1A.5D:fp;K me=J,1A=me.1A,2D=me.5U.2V("2D"),Dv=2H fp==="4a"?fp:"n,e,s,w,se,sw,ne,nw";1a bj(ui){1b{Dc:ui.Dc,Db:ui.Db,2D:ui.2D,4W:ui.4W}}me.5U.5D({i7:".ui-3e-aB",85:"2G",Vs:me.7s,8U:6f(1A.8U),bF:1A.bF,6a:me.mR(),fp:Dv,2F:1a(1K,ui){$(J).2r("ui-3e-Dp");me.qp();me.7v("Do",1K,bj(ui))},6Y:1a(1K,ui){me.7v("6Y",1K,bj(ui));QB.1e.2g.s3();QB.1e.2g.fk()},5x:1a(1K,ui){$(J).4d("ui-3e-Dp");1A.1w=$(J).1w();1A.1r=$(J).1r();me.7v("Da",1K,bj(ui));me.1f.29(QB.1e.8I.3c.r3,me);QB.1e.4u.h7()}}).2V("2D",2D).2K(".ui-5D-se").2r("ui-3J ui-3J-Vr-Ux-se")},mR:1a(){K 1A=J.1A;K 1w=J.gx;if(1A.1w==="6b"){if(!9Y(1A.6a)){1w=3B.4v(1w,1A.6a)}}1i{K h=0;if(!9Y(1A.6a)){h=1A.6a}if(!9Y(1A.1w)){1w=3B.5M(h,1A.1w)}1w=3B.4v(1w,h)}1b 1w},2D:1a(3S){J.lG(3S)},lG:1a(3S){if(!J.1A.6E){1b}if(!$("#qb-ui-1U").is(":6E")){1b}K dC=[],2t=[0,0];if(3S){if(2H 3S==="4a"||2H 3S==="1D"&&"0"in 3S){dC=3S.3o?3S.3o(" "):[3S[0],3S[1]];if(dC.1d===1){dC[1]=dC[0]}$.2f(["28","1N"],1a(i,CU){if(+dC[i]===dC[i]){2t[i]=dC[i];dC[i]=CU}});3S={my:"28 1N",of:"#qb-ui-1U",at:"28+"+2t[0]+" 1N+"+2t[1]}}3S=$.4j({},J.1A.2D,3S)}1i{3S=J.1A.2D}J.1A.2D=3S;if(J.1A.6E&&(J.1A.2D.of==1c||$(J.1A.2D.of).1d>0)){J.5U.5f();3S.of="#qb-ui-1U";J.5U.2D(3S)}},lS:1a(1q,1m){K me=J,5U=me.5U,fo=5U.is(":1h(ui-5D)"),6Y=1j;3s(1q){1l"CW":1q="TC";1p;1l"8u":me.TB(1m);6Y=1o;1p;1l"TE":me.TG.1X(""+1m);1p;1l"CS":5U.4d(me.1A.CS).2r(TF+1m);1p;1l"2w":if(1m){5U.2r("ui-3e-2w")}1i{5U.4d("ui-3e-2w")}1p;1l"6F":if(1m){me.zw()}1i{5U.6F("62")}1p;1l"1w":6Y=1o;1p;1l"8U":if(fo){5U.5D("2N","8U",1m)}6Y=1o;1p;1l"fz":if(fo){5U.5D("2N","fz",1m)}6Y=1o;1p;1l"6a":if(fo){5U.5D("2N","6a",1m)}6Y=1o;1p;1l"bF":if(fo){5U.5D("2N","bF",1m)}6Y=1o;1p;1l"2D":me.lG(1m);1p;1l"5D":if(fo&&!1m){5U.5D("62")}if(fo&&2H 1m==="4a"){5U.5D("2N","fp",1m)}if(!fo&&1m!==1j){me.zn(1m)}1p;1l"5S":$(".ui-3e-5S",me.Tx).3W(""+(1m||"&#Tw;"));1p;1l"1r":6Y=1o;1p}$.zH.2Q.lS.31(me,2p);if(6Y){me.zr()}},Ty:1a(){K 1A=J.1A;J.7s.2V({1r:"6b",6a:0,1w:0});if(1A.bF>1A.1r){1A.1r=1A.bF}K lR=J.5U.2V({1w:"6b",1r:"6b"}).1w();K 6a=J.mR();J.7s.2V(1A.1w==="6b"?{6a:6a,1w:$.ch.6a?"6b":6a}:{6a:0,1w:"6b"}).5f();if(J.5U.is(":1h(ui-5D)")){J.5U.5D("2N","6a",J.mR())}},zr:1a(){K o=J.1A;J.7s.5f().2V({1r:"6b",6a:0,8U:"3p",1w:0,bF:o.bF});K lR=J.5U.2V({1w:"6b",1r:o.1r}).1w()+1;K gx=0;if(9Y(o.6a)){gx=lR}1i{gx=3B.4v(o.6a,lR)}if(o.1w==="6b"){J.7s.2V({6a:gx,1w:"6b"})}1i{J.7s.1w(3B.4v(0,o.1w-lR))}if(J.5U.is(":1h(ui-5D)")){J.5U.5D("2N","6a",J.mR())}},qp:1a(){J.r0=J.2G.2K("cn").du(1a(){K cn=$(J);1b $("<2B>").2V({2D:"8d",1r:cn.dt(),1w:cn.aE()}).4n(cn.1J()).2t(cn.2t())[0]})},yT:1a(){if(J.r0){J.r0.3v();3Y J.r0}},TA:1a(1K){if($(1K.3i).eL(".ui-3e").1d){1b 1o}1b!!$(1K.3i).eL(".ui-rP").1d}};(1a($){$.8v("ui.6D",QB.1e.8I);$.4j($.ui.6D,{7g:"1.8.2",GP:"2D",Tz:0,mT:0,6q:1a(){K 1U=$("#qb-ui-1U");1b{x:J.2t().28-1U.2t().28,y:J.2t().1N-1U.2t().1N,1r:J.1r(),1w:J.1w()}}})})(2u);QB.1e.8I.3c={sM:"sM",DV:"DV",r6:"r6",r7:"r7",r3:"r3",yX:"yX",sb:"sb",DY:"DY",sd:"sd"};QB.1e.E5={};QB.1e.E5.3c={mP:"mP"};QB.1e.jT=1a(1q,1J){J.2T=1c;J.cT=1c;J.a8=1c;J.6e=1c;J.8Z=1q;J.dv=1J;J.cN=1c;J.1m=1a(4o){if(4o===2O){1b J.cN}J.cN=4o};J.b6=1a(){K b6=J.cN;if(!1L(J.cN)){3s(J.8Z){1l 1P.2h.dg:b6=J.cN;1p;1l 1P.2h.8F:b6=1P.7N.mr.cM(J.cN);if(b6=="z9"){b6=""}1p;1l 1P.2h.6I:if(1L(J.dv.7b(1P.2h.8F))){b6=""}1p;1l 1P.2h.ck:b6=1P.7N.sE.cM(J.cN);1p}}if(1L(b6)){b6=" "}1b b6};J.3v=1a(){};J.8E=1a(){if(J.cT!=1c){J.cT[0].mO=Ec(J.b6())}if(J.6e!=1c){J.6e.cv(J.cN)}};J.BW=1a(){if(J.cT!=1c){J.cT.3U()}if(J.a8!=1c){J.a8.5f()}if(J.6e!=1c){J.6e.2U()}};J.C7=1a(){if(J.cT==1c){1b}J.cT.5f();if(J.a8!=1c){J.a8.3U()}};J.Ee=1a(){K 6n=1c;K me=J;3s(J.8Z){1l 1P.2h.hQ:6n=$("<2B></2B>");6n.fL=1o;6n.2W("3M",1a(e){$(me).29(QB.1e.jT.3c.sa,{1q:me.8Z,4o:1o,5K:1j})});me.2T.2W("7R",1a(e){if(e.3y==13||e.3y==32){me.6e.29("3M")}});1p;1l 1P.2h.49:6n=$("<2B></2B>");6n.fL=1o;1p;1l 1P.2h.1S:6n=$(\'<1Z 1v="7S" 1m="1o" />\');6n.1k("5W",-1);6n.fL=1o;1p;1l 1P.2h.cF:6n=$(\'<1Z 1v="7S" 1m="1o" />\');6n.1k("5W",-1);6n.fL=1o;1p;1l 1P.2h.3f:6n=$("<2k />");1p;1l 1P.2h.dg:K 2k=["<2k>"];if(!1L(QB.1e.4u.h5&&!1L(QB.1e.4u.h5.Eb))){$.2f(QB.1e.4u.h5.Eb,1a(1T,2d){2k.1F(\'<2N 1m="\'+2d+\'">\'+(2d==1c?"":2d)+"</2N>")})}2k.1F("</2k>");6n=$(2k.4C(""));6n.2W("dn",1a(){me.cq()});1p;1l 1P.2h.8F:K 2k=["<2k>"];1P.7N.mr.2f(1a(1T,2d){2k.1F(\'<2N 1m="\'+1T+\'">\'+(2d==1c?"":2d)+"</2N>")});2k.1F("</2k>");6n=$(2k.4C(""));6n.2W("dn",1a(){me.cq()});1p;1l 1P.2h.6I:6n=$("<2k />");1p;1l 1P.2h.ck:K 2k=["<2k>"];1P.7N.sE.2f(1a(1T,2d){2k.1F(\'<2N 1m="\'+1T+\'">\'+(2d==1c?"":2d)+"</2N>")});2k.1F("</2k>");6n=$(2k.4C(""));6n.2W("dn",1a(){me.cq()});1p;5q:6n=$(\'<1Z 1v="1X" 1m="" />\');6n.5a("7R",me.Ef,me);1p}6n.TN(1a(e){me.2T.4d("ui-zz-2U")});1b 6n};J.Ef=1a(e){if(e.3y==13){e.7C();J.cq();1b 1j}};J.A9=1a(){K me=J;if(J.a8==1c){J.a8=$(\'<2B 2y="ui-qb-42-1H-80-DD-6Q"></2B>\');J.a8.4n(J.2T)}J.6e=J.Ee(J.8Z);J.6e.4n(J.a8);J.6e.1k("5C-3D",QB.1e.3k.8o[J.8Z]);if(!J.6e.fL){J.a8.3U()}if(J.8Z==1P.2h.3f){K tF=J.6e.yV({9h:"42-3f",1m:me.cN,f9:1a(){me.cq()}});K 81=tF.yO()[0];J.6e=81.yQ();J.6e.mK=1o}if(J.8Z==1P.2h.6I){K tF=J.6e.yV({9h:"42-6I",f9:1a(){me.cq()}});K 81=tF.yO()[0];J.6e=81.yQ();J.6e.mK=1o}J.6e.2r("ui-qb-42-1H-80-DD-2T");if(!J.6e.mK){if(J.6e.fL){J.6e.dn(1a(){me.cq()});J.6e.mK=1o}1i{J.6e.4M(1a(){me.cq()});J.6e.mK=1o}}};J.G6=1a(){J.a8.6z().3v();J.a8.3v();J.a8=1c;J.A9()};J.C0=1a(){K me=J;3s(J.8Z){1l 1P.2h.hQ:;1l 1P.2h.49:;1l 1P.2h.1S:;1l 1P.2h.cF:1b 1c}K $z6=$("<2B></2B>").2r("ui-qb-42-1H-80-DJ-6Q").2r("ui-qb-42-1H-80-DJ-2T");$z6.3M(1a(e){if(fJ){1b}if(Gd&&me.8Z==1P.2h.ae){QB.1e.4u.q5("TM DM is la TO of la Gc 7g. DP DS 4r TQ of TP rH DS be DK to ji TI DM in la TH 7g.");1b 1j}me.qi()});1b $z6};J.qi=1a(){QB.1e.3k.bz=1o;if(QB.1e.3k.lN!=1c){QB.1e.3k.lN.cq()}if(J.8Z==1P.2h.3f||!J.dv.1L()&&!J.dv.BK()){J.BW();QB.1e.3k.lN=J}J.2T.2r("ui-zz-2U")};J.cq=1a(){K z3=1o;K 5K=J.1m();K 4o=J.6e.cv();if(!3C.jz(5K,4o)&&!(5K==1c&&(4o==" "||4o==0))){K z4=J.dv.7b(1P.2h.8F);3s(J.8Z){1l 1P.2h.6I:if(1L(4o)){if(!1L(z4)){J.dv.8q(1P.2h.8F,1P.7N.mr.z9)}}1i{5K=1L(5K)?BN:6f(5K);4o=6f(4o);if(9Y(4o)){4o=0}if(9Y(5K)){5K=BN}4o+=4o<5K?-0.5:+0.5;if(1L(z4)){J.dv.8q(1P.2h.8F,1P.7N.mr.C4);J.dv.jK(1P.2h.8F)}z3=1j}1p}J.1m(4o);if(z3){J.dv.jK()}$(J).29(QB.1e.jT.3c.sa,{1q:J.8Z,4o:4o,5K:5K})}J.C7();QB.1e.3k.lN=1c;if(!J.6e.fL){J.2T.4d("ui-zz-2U")}};J.BY=1a(1q){K fV="ui-qb-42-1H-";if(1q>=1P.2h.lX){1b fV+"xu"}1b fV+1P.2h.cM(1q)};J.dw=1a(2U){if(!2U.1d){1b $()}K 1I=2U.3h();if(1I.is(":8x")){1b 1I}1I=1I.2K(":8x:4w");if(1I.1d){1b 1I}K 1J=2U.1J();1b J.dw(1J)};J.dB=1a(2U){if(!2U.1d){1b $()}K 1I=2U.3K();if(1I.is(":8x")){1b 1I}1I=1I.2K(":8x:6R");if(1I.1d){1b 1I}K 1J=2U.1J();1b J.dB(1J)};J.7A=1a(1q,1J){K me=J;J.2T=$(\'<td 2y="ui-8v-aB ui-qb-42-1H-80 \'+J.BY(J.8Z)+\'" />\');J.2T.1k("5W",0);K sj=J.8Z;if(sj>1P.2h.7W){sj=1P.2h.7W}J.2T.1k("5C-3D",QB.1e.3k.8o[sj]);J.2T.TJ(1a(e){if(me.2T[0]!=e.3i){1b}me.qi()});J.2T.7R(1a(e){3s(e.3y){1l 9:if(e.n5){me.dB(me.2T).2U();e.4c()}}});J.cT=J.C0();if(J.cT!=1c){J.cT.4n(J.2T)}J.A9()};J.7A(1q,1J)};QB.1e.jT.3c={sa:"TL",TK:"Tv"};QB.1e.mN=1a(1M){J.Th=1;J.69={};J.Tg=3C.sS();J.3g=1c;J.2T=1c;J.mG=1j;J.5V=B3();J.Ti=1j;J.1L=1a(){1b 1L(J.69[1P.2h.3f].1m())};J.BK=1a(){K 2d=J.69[1P.2h.3f].1m();if(1L(2d)){1b 1j}1b 2d.4P(".*")>=0};J.gF=1a(2d){K jJ=J.69[1P.2h.1S].1m();if(2d===2O){1b jJ}1i{if(jJ!=2d){J.69[1P.2h.1S].1m(2d);J.zZ(1c,{1q:1P.2h.1S,4o:2d});1b 1o}}1b 1j};J.7b=1a(1q){1b J.69[1q].1m()};J.Gb=1a(){1b!1L(J.7b(1P.2h.dg))||!1L(J.7b(1P.2h.7W))};J.8q=1a(1q,1m,ts){if(1m===2O){1m=1c}K 4o=1m;K 5K=J.69[1q].1m();if(3C.jz(4o,5K)){1b 1j}3s(1q){1l 1P.2h.8F:J.8q(1P.2h.6I,1c,ts);1p;1l 1P.2h.6I:if(1L(4o)){4o=""}1p;5q:}J.69[1q].1m(4o);1b 1o};J.zZ=1a(e,1h){K 1q=1h.1q;K 4o=1h.4o;K 5K=1h.5K;$(J).29(QB.1e.mN.3c.zK,{1q:1q,4o:4o,5K:5K,1H:J});J.mF()};J.mF=1a(){K me=J;K qJ=me.1L();1n(K 1q in me.69){if(1q==1P.2h.3f){aM}K 80=me.69[1q];80.2T.1k("5W",qJ?-1:0)}};J.Cv=1a(){K me=J;K 3W=$(\'<tr 2y="ui-qb-42-1H" />\');1P.2h.2f(1a(1q){K 80=1W QB.1e.jT(1q,me);$(80).5a(QB.1e.jT.3c.sa,me.zZ,me);80.2T.4n(3W);me.69[1q]=80});J.mF();3W.1h("1D",J);3W.1h("me",J);1b 3W};J.3v=1a(){J.mG=1o;J.2T.6z().3v();J.2T.3v();J.2T.3W("")};J.jK=1a(zY){K me=J;1n(K 1q in me.69){K 80=me.69[1q];if(zY===2O||zY==1q){80.8E()}}J.mF()};J.Cu=1a(){J.8q(1P.2h.1S,!J.1L());J.8q(1P.2h.cF,1j);J.8q(1P.2h.ck,1P.7N.sE.mH)};J.gL=1a(zD,A3,qk){if(3C.3q(J.7b(1P.2h.3f)).3L()==3C.3q(zD).3L()){if(A3===2O||A3==3C.3q(J.7b(1P.2h.dg)).3L()){if(qk===2O||qk==3C.3q(J.7b(1P.2h.ae)).3L()){1b 1o}}}1b 1j};J.1M=1a(1m){if(1m===2O){1b J.CD()}1i{1b J.sc(1m)}};J.8E=1a(1M){K 5t=J.sc(1M);if(5t){J.jK()}1b 5t};J.sc=1a(1M){K 5t=1j;if(1L(1M)){1b 5t}5t=J.8q(1P.2h.3f,1M.8L)||5t;5t=J.8q(1P.2h.dg,1M.dq)||5t;5t=J.8q(1P.2h.ae,1M.8j)||5t;5t=J.8q(1P.2h.cF,1M.h1)||5t;5t=J.8q(1P.2h.ck,1M.A1)||5t;5t=J.8q(1P.2h.8F,1M.dA)||5t;5t=J.8q(1P.2h.6I,1M.i3)||5t;1n(K i=0;i<QB.1e.3k.gV+1;i++){5t=J.8q(1P.2h.7W+i,1M.5I[i])||5t}if(J.3g!=1M.3g){J.3g=1M.3g;5t=1o}if(!1L(1M.5V)&&J.5V!=1M.5V){J.5V=1M.5V;5t=1o}if(!1L(1M.3g)&&J.5V!=1c){if(!1L(1M.3g)){J.5V=1c}5t=1o}if(J.mG!=1M.8p){J.mG=1M.8p;5t=1o}if(J.8T!=1M.8T){J.8T=1M.8T;5t=1o}5t=J.8q(1P.2h.1S,1M.bV&&!J.1L())||5t;J.mF();1b 5t};J.CD=1a(){K 1M=1W QB.1e.2c.yg;1M.bV=J.7b(1P.2h.1S);1M.8L=J.7b(1P.2h.3f);1M.dq=J.7b(1P.2h.dg);1M.8j=J.7b(1P.2h.ae);1M.h1=J.7b(1P.2h.cF);1M.A1=J.7b(1P.2h.ck);1M.dA=J.7b(1P.2h.8F);1M.i3=J.7b(1P.2h.6I);1M.5I[0]=J.7b(1P.2h.7W);1n(K i=0;i<QB.1e.3k.gV;i++){1M.5I[1+i]=J.7b(1P.2h.lX+i)}1M.3g=J.3g;1M.8p=J.mG;1M.5V=J.5V;1M.8T=J.2T==1c?0:J.2T.1T();1b 1M};J.7A=1a(Cw){J.2T=J.Cv();J.2T.mp();J.Cu();J.sc(Cw);J.jK()};J.7A(1M)};QB.1e.mN.3c={zK:"Tk"};QB.1e.3k={3b:[],gV:2,tj:1j,Tj:1c,lL:1c,bz:1j,Tc:[],dw:1a(2U){if(!2U.1d){1b $()}K 1I=2U.3h();if(1I.is(":8x")){1b 1I}1I=1I.2K(":8x:4w");if(1I.1d){1b 1I}K 1J=2U.1J();1b J.dw(1J)},dB:1a(2U){if(!2U.1d){1b $()}K 1I=2U.3K();if(1I.is(":8x")){1b 1I}1I=1I.2K(":8x:6R");if(1I.1d){1b 1I}K 1J=2U.1J();1b J.dB(1J)},t5:1a(){K me=J;K x=J.1f.1k("gV");if(x!=1c&&(x!=""&&!9Y(x))){QB.1e.3k.gV=6f(x)}if(J.1f.1k("tj")=="Tb"){QB.1e.3k.tj=1o}J.1f.2r("ui-8v").2r("ui-qb-42");J.1f.bI({t6:"qb-ui-42-6i",Ak:".qb-ui-42-bI",cG:"9c",Ab:1a(e,ui){if(ui.4q.4J("qb-ui-41-2i-4q")){K 1D=ui.4q.1h("1D");K gQ=ui.4q.1h("gQ");$(J).29(QB.1e.3k.3c.p7,{1O:gQ,2i:1D})}1i{K CJ=$(J);K 1D=ui.4q.1h("1D");K ty={1D:1D};$(J).29(QB.1e.3k.3c.oZ,ty)}}});J.1O=$(\'<1O tx="0" qR="0" eI="0" />\').2r("ui-8v-aB").2r("qQ-Ce").4n(J.1f);J.FF().4n(J.1O);J.jy();J.gW();J.Ch();me.1f.2U(1a(e){QB.1e.3k.bz=1j});me.1f.1k("5W",0);me.1f.7R(1a(e){3s(e.3y){1l 13:if(QB.1e.3k.bz){1b}QB.1e.3k.bz=1o;me.1f.2K("[5W]:6E:4w").2U();e.4c();1p;1l 9:if(!QB.1e.3k.bz){if(!e.n5){me.dw(me.1f).2U()}1i{me.dB(me.1f).2U()}e.4c()}}})},Ch:1a(){K me=J;me.1O.4b({qT:1a(1O,1H){K 1z=$(1H).1h("1D");if(!1z.1L()){me.1f.29(QB.1e.3k.3c.fu,{1H:1z})}},n4:"ui-qb-42-1H-49"})},62:1a(){J.1f.4d("ui-qb-42").7D(".aI");J.1O.3v();$.zH.2Q.62.31(J,2p)},jy:1a(1H){K zG=1j;$.2f(J.3b,1a(1q,1H){if(1H.1L()){zG=1o;1b 1j}});if(!zG){J.jl(1c)}},fa:1a(1Q){K me=J;if(1L(1Q)||1Q.2L.1d==0){1b}K 3R=".ui-qb-42-1H";K 1C=QB.1e.2g.jw(1Q.2L);$.2I("62",3R);$.2I({3R:3R,4k:bP,6r:{6O:0},2l:1a(49,1A){K 1H=J.1h("me");me.jv(49,1H)},1C:1C})},jv:1a(49,1H){K me=J;K el=1H.2T;3s(49){1l"dm-up":if(el.3h().1d){el.6P(el.3K());if(!1H.1L()){me.1f.29(QB.1e.3k.3c.fu,{1H:1H})}}1p;1l"dm-da":K 3h=el.3h();if(3h.1d&&3h.3h().1d){el.fA(3h);if(!1H.1L()){me.1f.29(QB.1e.3k.3c.fu,{1H:1H})}}1p;1l"1H-3Y":if(me.3b.1d>1){me.gE(1H)}1i{if(1H.1L()){1b}1i{me.gE(1H);me.jy()}}me.jy(1H);me.gW();me.1f.29(QB.1e.3k.3c.fu,{1H:1H,1q:1P.2h.hQ,4o:1o,5K:1j});1p;1l"1H-Td":me.jl(1c,el);1p}},jl:1a(5b,j5,4T,j6){K cw=1j;K 1H=J.Cm(5b);if(1H==1c){cw=1o;1H=1W QB.1e.mN(5b);$(1H).5a(QB.1e.mN.3c.zK,{1H:1H},J.Gf,J);if(1H!=1c&&(!1H.1L()&&1L(j5))){j5=J.Cn()}if(4T===0||!1L(4T)){4T=6f(4T)+1;K iZ=$("tr",J.1O).eq(4T);if(iZ.1d){iZ.Ci(1H.2T)}1i{1H.2T.4n(J.1O)}}1i{if(j5!=1c&&j5.1d){1H.2T.6P(j5)}1i{1H.2T.4n(J.1O)}}if(!j6){J.1f.29(QB.1e.3k.3c.B9,{1H:1H})}J.3b.1F(1H)}1i{if(4T===0||!1L(4T)){4T=6f(4T)+1;K Cb=1H.2T[0].Tf;if(4T!=Cb){K iZ=$("tr",J.1O).eq(4T);if(iZ.1d){iZ.Ci(1H.2T)}}}cw=1H.8E(5b);if(!j6&&cw){J.1f.29(QB.1e.3k.3c.fu,{1H:1H})}}if(1H!=1c&&1H.2T!=1c){K lE=$(".ui-qb-42-1H-ck",1H.2T);if(lE.1d>0){lE.2V("5n",J.lL?"":"3p")}}if(!j6&&cw){J.gW()}1b 1H},GO:1a(){1b J.3b},Te:1a(){K zA=1c;$.2f(J.3b,1a(1q,1H){K qJ=1H.1L();if(qJ){zA=1H;1b 1j}});1b zA},gE:1a(zF,j6){K 5b;1n(K i=J.3b.1d-1;i>=0;i--){K 1H=J.3b[i];if(1H.3g==zF.3g){if(!1L(1H.3g)||1L(1H.3g)&&1H.2T==zF.2T){J.3b.3v(1H);1H.8p=1o;1H.3v();5b=1H.1M()}}}J.gW();if(5b){5b.8p=1o;if(!j6){J.1f.29(QB.1e.3k.3c.B7,{5b:5b})}}},Tr:1a(1M){K 3b=J.zE(1M);1n(K 1H in 3b){1H.3v();J.3b.3v(1H);3Y 1H}J.gW()},Tq:1a(7f){K 1I=1c;$.2f(J.3b,1a(1q,1H){if(1H.3g==7f){1I=1H;1b 1j}});1b 1I},Cn:1a(){1b J.1O.2K("tr:6R:6s(.ui-qb-42-1H-83)")},Cm:1a(5b){K 3b=J.zE(5b);if(3b.1d>0){1b 3b[0]}1b 1c},zE:1a(5b){K 1I=[];if(5b==1c){1b 1I}K zD=3C.3q(5b.8L).3L();K qk=3C.3q(5b.8j).3L();1n(K i=0;i<J.3b.1d;i++){K 1H=J.3b[i];if(!1L(1H.3g)&&(!1L(5b.3g)&&1H.3g==5b.3g)){1I.1F(1H)}1i{if(!1L(1H.5V)&&(!1L(5b.5V)&&1H.5V==5b.5V)){1I.1F(1H)}1i{if(1H.gL(5b.8L,5b.dq,5b.8j)){1I.1F(1H)}}}}1b 1I},yc:1a(){$.2f(J.3b,1a(1q,1H){1H.69[1P.2h.3f].G6();if(QB.1e.3k.lN==1H.69[1P.2h.3f]){1H.69[1P.2h.3f].qi()}})},GH:1a(3f){K 3b=J.sK(3f);if(3b.1d>0){1b 3b[0]}1b 1c},sK:1a(3f){K 1I=[];$.2f(J.3b,1a(1q,1H){if(1H.gL(3f,"")){1I.1F(1H)}});1b 1I},Ei:1a(1M){K me=J;if(1L(1M)){1b}K zX=[];$.2f(1M.h6,1a(1T,G7){zX.1F(me.jl(G7,1c,1T,1o))});1n(K i=J.3b.1d-1;i>=0;i--){if(i>J.3b.1d-1){aM}K lW=J.3b[i];if(lW!=1c){if(zX.4P(lW)==-1&&!lW.1L()){J.gE(lW,1o)}}}},El:1a(){K 2E=[];if(QB.1e.2g.5L!=1c&&QB.1e.2g.5L.1d!=1c){1n(K i=0;i<QB.1e.2g.5L.1d;i++){K 1z=QB.1e.2g.5L[i];K 1O=1z.1h("1D");K 8M=1O.xX;K zW=8M+".*";2E.1F({1S:1j,1X:zW,1m:zW,d3:"1O"});$(1O.6L).2f(1a(){K 2i=J;K lU=8M+"."+2i.86;K G2=2i.86;2E.1F({1S:1j,1X:G2,1m:lU,d3:"2i"})})}}9v.zQ("42-3f",2E)},Ts:1a(1H,3P){1H.gF(3P)},Gf:1a(e,1h){K 1H=e.1h.1H;K 1q=1c;K 4o=1c;K 5K=1c;if(1h){1q=1h.1q;4o=1h.4o;5K=1h.5K}if(1q==1P.2h.hQ&&4o){if(J.3b.1d>1){J.gE(1H,1o)}1i{if(1H.1L()){1b}1i{J.gE(1H,1o);J.jy()}}}J.jy(1H);J.gW(1H);J.1f.29(QB.1e.3k.3c.fu,{1H:1H,1q:1q,4o:4o,5K:5K})},gW:1a(1H){J.FN(1H);J.Gh(1H)},Gh:1a(){K lT=[];1n(K i=0;i<J.3b.1d;i++){K 1H=J.3b[i];K 1m=1H.7b(1P.2h.8F);if(1m!=1c&&1m>0){lT.1F({1H:1H,6I:1H.7b(1P.2h.6I)})}}lT.fl(J.FL);K 2E=[];1n(K i=0;i<lT.1d;i++){2E.1F({1S:1j,1X:5c(i+1),1m:5c(i+1),d3:"6I"});K 1H=lT[i].1H;1H.8q(1P.2h.6I,i+1,1o);1H.jK(1P.2h.6I)}2E.1F({1S:1j,1X:5c(i+1),1m:5c(i+1),d3:"6I"});9v.zQ("42-6I",2E)},FL:1a(a,b){K jC=b.6I;K jB=a.6I;if(1L(jB)||jB<0){1b 1}if(1L(jC)||jC<0){1b-1}jB=6f(jB);jC=6f(jC);1b jB-jC},FN:1a(1H){K rN=1j;1n(K i=0;i<J.3b.1d;i++){if(J.3b[i].7b(1P.2h.cF)){rN=1o;1p}}if(J.lL==rN){1b 1j}J.lL=rN;K lE=$(".ui-qb-42-1H-ck",J.1O);lE.2V("5n",J.lL?"":"3p");1b 1o},FF:1a(){K 83=$("<Tu />");K tr=$("<tr />").2r("ui-qb-42-1H-83").4n(83);K 4w=1o;K rG="";QB.1e.3k.8o={};QB.1e.3k.8o[1P.2h.49]="";QB.1e.3k.8o[1P.2h.hQ]=QB.1e.2c.4Y.5k.he;QB.1e.3k.8o[1P.2h.1S]=QB.1e.2c.4Y.5k.5I.rY;QB.1e.3k.8o[1P.2h.3f]=QB.1e.2c.4Y.5k.5I.8L;QB.1e.3k.8o[1P.2h.dg]=QB.1e.2c.4Y.5k.5I.dq;QB.1e.3k.8o[1P.2h.ae]=QB.1e.2c.4Y.5k.5I.8j;QB.1e.3k.8o[1P.2h.8F]=QB.1e.2c.4Y.5k.5I.dA;QB.1e.3k.8o[1P.2h.6I]=QB.1e.2c.4Y.5k.5I.i3;QB.1e.3k.8o[1P.2h.cF]=QB.1e.2c.4Y.5k.5I.h1;QB.1e.3k.8o[1P.2h.ck]=QB.1e.2c.4Y.5k.5I.xF;QB.1e.3k.8o[1P.2h.7W]=QB.1e.2c.4Y.5k.5I.rX;QB.1e.3k.8o[1P.2h.lX]=QB.1e.2c.4Y.5k.5I.rX;$.2f(QB.1e.3k.8o,1a(i,80){QB.1e.3k.8o[i]=80.3m("&2o;"," ").3m("&xC;","&")});$.2f(J.FG(),1a(){if(4w){rG=\'Tt="3"\';4w=1j}1i{rG=""}$(\'<th 2y="ui-4X-5q ui-qb-42-1H-\'+J.1x+\'" \'+rG+">"+J.83+"</th>").4n(tr)});1b 83},FG:1a(){K 3b={};3b[1P.2h.1S]={cI:1,1x:"1S",83:QB.1e.2c.4Y.5k.5I.rY,1v:"7S"};3b[1P.2h.3f]={cI:2,1x:"3f",83:QB.1e.2c.4Y.5k.5I.8L,1v:"3f"};3b[1P.2h.dg]={cI:3,1x:"dg",83:QB.1e.2c.4Y.5k.5I.dq,1v:"2k"};3b[1P.2h.ae]={cI:4,1x:"ae",83:QB.1e.2c.4Y.5k.5I.8j,1v:"1X"};3b[1P.2h.8F]={cI:5,1x:"8F",83:QB.1e.2c.4Y.5k.5I.dA,1v:"2k"};3b[1P.2h.6I]={cI:6,1x:"6I",83:QB.1e.2c.4Y.5k.5I.i3,1v:"2k"};3b[1P.2h.cF]={cI:7,1x:"cF",83:QB.1e.2c.4Y.5k.5I.h1,1v:"7S"};3b[1P.2h.ck]={cI:8,1x:"ck",83:QB.1e.2c.4Y.5k.5I.xF,1v:"2k"};3b[1P.2h.7W]={cI:9,1x:"7W",83:QB.1e.2c.4Y.5k.5I.rX,1v:"1X"};1n(K i=0;i<QB.1e.3k.gV;i++){3b[1P.2h.lX+i]={cI:10+i,1x:"xu",83:QB.1e.2c.4Y.5k.5I.FR,1v:"1X"}}1b 3b}};QB.1e.3k.3c={B9:"Tm",B7:"Tl",fu:"Bc",oZ:"oZ",p7:"p7"};(1a($){$.8v("ui.aI",QB.1e.3k);$.4j($.ui.aI,{GP:"Tn GH sK jl fa",7g:"1.7.1"})})(2u);QB.1e.2c.e6={fb:0,6v:1,yo:2,qz:3,FB:4};QB.1e.2c.6w={};QB.1e.2c.6w[QB.1e.2R.6u.GX]={3N:"Tp fC",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.GY]={3N:"gG",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.H0]={3N:"To fC",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.nh]={3N:"is gL to",7m:1,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.GR]={3N:"xd 6s 2F fC",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.GU]={3N:"xd 6s Uj",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.Gl]={3N:"xd 6s 4t fC",7m:1,71:[QB.1e.2R.67.9e]};QB.1e.2c.6w[QB.1e.2R.6u.x6]={3N:"is in 4I",7m:1,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.Go]={3N:"is 6s gL to",7m:1,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.x5]={3N:"is 6s in 4I",7m:1,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.Gv]={3N:"is 1c",7m:0,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.GC]={3N:"is 6s 1c",7m:0,71:[]};QB.1e.2c.6w[QB.1e.2R.6u.GB]={3N:"is GE rA",7m:1,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.6w[QB.1e.2R.6u.GF]={3N:"is GE rA or gL to",7m:1,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.6w[QB.1e.2R.6u.Gy]={3N:"is FD rA",7m:1,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.6w[QB.1e.2R.6u.Gz]={3N:"is FD rA or gL to",7m:1,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.6w[QB.1e.2R.6u.EH]={3N:"is EI",7m:2,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.6w[QB.1e.2R.6u.EG]={3N:"is 6s EI",7m:2,71:[QB.1e.2R.67.fj,QB.1e.2R.67.5g]};QB.1e.2c.hh={};QB.1e.2c.hh[QB.1e.2R.9n.8X]={3N:"8X",gK:"6y"};QB.1e.2c.hh[QB.1e.2R.9n.qm]={3N:"fd 8X",gK:"Ui"};QB.1e.2c.hh[QB.1e.2R.9n.kl]={3N:"kl",gK:"Uk"};QB.1e.2c.hh[QB.1e.2R.9n.ij]={3N:"ij",gK:"3p"};QB.1e.qG=1a(){J.$1v=1c};QB.1e.ko=1W 7K({$1v:"cK.l8.1e.cp.l6.xg, cK.l9.1e.cp",4i:1c,2L:[],4x:QB.1e.2c.e6.fb,6v:1c,7r:QB.1e.2R.6u.nh,5H:1c,70:1c,cS:1j,f6:1j,1f:1c,9u:1a(){K 9u=J;4e(9u.4i!=1c){9u=9u.4i}1b 9u},qI:1a(1M){1M.$1v=J.$1v;1M.4x=J.4x;1M.6v=J.6v;1M.7r=J.7r;1M.5H=J.5H;1M.70=J.70},qD:1a(1M){1M.2L=[];$.2f(J.2L,1a(1T,1g){1M.2L.1F(1g.hf())})},hf:1a(){K 1M=$.4j(1W QB.1e.qG,1W QB.1e.2c.xg);J.qI(1M);J.qD(1M);1b 1M},EJ:1a(1M){K 1I=1c;if(1M==1c){1b 1I}3s(1M.4x){1l QB.1e.2c.e6.6v:1I=1W QB.1e.xi(J);1I.ln(1M);1p;1l QB.1e.2c.e6.yo:1I=1W QB.1e.yw(J);1I.ln(1M);1p;1l QB.1e.2c.e6.qz:1I=1W QB.1e.qo(J);1I.ln(1M);1p}1b 1I},ln:1a(1M){K me=J;J.4x=1M.4x;J.6v=1M.6v;J.7r=1M.7r;J.aj=1M.aj;J.92=1M.92;J.5H=1M.5H;J.70=1M.70;$.2f(1M.2L,1a(1T,1g){me.2L.1F(me.EJ(1g))})},yK:1a(5O){J.6v=5O;if(J.6v!=1c){if(QB.1e.2c.6w[J.7r].71.1d!=0&&!QB.1e.2c.6w[J.7r].71.gG(J.7r)){J.7r=QB.1e.2R.6u.nh}}1i{J.7r=QB.1e.2R.6u.nh}},8T:1a(){if(J.4i==1c){1b-1}1b J.4i.2L.4P(J)},Um:1a(){if(J.4i==1c){1b 1c}K i=J.4i.2L.4P(J);if(i>=J.4i.2L.1d-1){1b 1c}1b J.4i.2L[i+1]},kY:1a(){if(J.4i==1c){1b 1c}K i=J.4i.2L.4P(J);if(i<=0){1b 1c}1b J.4i.2L[i-1]},ED:1a(){if(J.4i==1c){1b 0}1b J.4i.2L.1d},yy:1a(){1b QB.1e.2c.6w[J.7r]},ql:1a(){K 1I="";if(!J.9u().l4){1b 1I}if(J.kY()==1c){1b 1I}if(J.4i==1c){1b 1I}3s(6f(J.4i.92)){1l QB.1e.2R.9n.8X:;1l QB.1e.2R.9n.qm:1I=$("<2A> rH </2A>");1p;1l QB.1e.2R.9n.kl:;1l QB.1e.2R.9n.ij:1I=$("<2A> or </2A>");1p}1b 1I},F1:1a(){K 1C={};$.2f(J.9u().qW,1a(1T,5O){1C[5O.3N]={1x:5O.3N,3J:"2i",1h:5O}});1b 1C},F2:1a(1g){K 1C={};$.2f(QB.1e.2c.6w,1a(1T,1f){if(1g.6v!=1c){if(1f.71.1d!=0){if(1g.6v!=1c&&1f.71.gG(1g.6v.nK)){1C[1T]={1x:1f.3N,3J:"",1h:1f}}}1i{1C[1T]={1x:1f.3N,3J:"",1h:1f}}}});1b 1C},F6:1a(1g){K 1C={};$.2f(QB.1e.2c.hh,1a(1T,1f){1C[1T]={1x:1f.3N,3J:"",1h:1f}});1b 1C},qE:1a(){K 1C={};1C["dm-up"]={1x:"il up",3J:"dm-up",2w:J.8T()<=0};1C["dm-da"]={1x:"il da",3J:"dm-da",2w:J.8T()>=J.ED()-1};1C["5m"]="---------";1b 1C},7h:1a(){J.jY()},iw:1a(){1b 1o},jY:1a(){if(J.6v==1c){J.cS=1o;J.f6=1o;1b}if(J.7r==QB.1e.2R.6u.x6||J.7r==QB.1e.2R.6u.x5){1b!1L(J.5H)}3s(J.6v.nK){1l QB.1e.2R.67.io:;1l QB.1e.2R.67.5g:;1l QB.1e.2R.67.9e:;1l QB.1e.2R.67.fb:J.cS=!1L(J.5H);J.f6=!1L(J.70);1p;1l QB.1e.2R.67.fj:J.cS=!1L(J.5H)&&$.ET(J.5H);J.f6=!1L(J.70)&&$.ET(J.70);1p}},ft:1a(){J.7h()},iK:1a(){1b{}},Ep:1a(){K 1T=J.8T();K 1g=J.4i.2L[1T];if(1T<=0||(J.4i==1c||J.1f==1c)){1b 1j}K xp=1T-1;K hc=J.4i.2L[xp];if(hc==1c||hc.1f==1c){1b 1j}J.1f.6P(hc.1f);J.4i.2L[1T]=hc;J.4i.2L[xp]=1g;1b 1o},Eo:1a(){K 1T=J.8T();K 1g=J.4i.2L[1T];if(J.4i==1c||(J.1f==1c||1T>=J.4i.2L.1d-1)){1b 1j}K d8=1T+1;K hg=J.4i.2L[d8];if(hg==1c||hg.1f==1c){1b 1j}hg.1f.6P(J.1f);J.4i.2L[1T]=hg;J.4i.2L[d8]=1g;1b 1o},Eh:1a(){K 1T=J.8T();J.4i.2L.3v(1T);J.1f.3v();1b 1o},Eg:1a(){$.2f(J.2L,1a(1T,1g){1g.1f.3v()});J.2L=[];1b 1o},i0:1a(1g){K 1T=1g.8T();if(1T==0){J.1f.hY(1g.7h())}1i{1g.kY().1f.sY(1g.7h())}},yH:1a(){K 1g=1W QB.1e.xi(J.4i);J.4i.2L.1F(1g);J.4i.i0(1g);1b 1g},Ek:1a(){K 1g=1W QB.1e.yw(J.4i);J.4i.2L.1F(1g);J.4i.i0(1g);1b 1g},Eq:1a(){K 1g=1W QB.1e.qo(J.4i);J.4i.2L.1F(1g);J.4i.i0(1g);1b 1g},qL:1a(1q){3s(1q){1l"dm-up":1b J.Ep();1p;1l"dm-da":1b J.Eo();1p;1l"3Y":1b J.Eh();1p;1l"9P":1b J.Eg();1p;1l"4V-7W-1n-5O":1b J.yH();1p;1l"4V-qs-7W":1b J.Ek();1p;1l"4V-aX-of-qt":1b J.Eq();1p}1b 1j},yJ:1a(1q,5O){J.yK(5O);J.ft();1b 1o},F4:1a(1q){J.7r=1q;J.ft();1b 1o},EZ:1a(1q){J.92=1q;J.ft();1b 1o},dl:1a(1J){if(1J!==2O){J.4i=1J}}});QB.1e.xi=1W 7K({ia:QB.1e.ko,4x:QB.1e.2c.e6.6v,$1v:"cK.l8.1e.cp.l6.EA, cK.l9.1e.cp",iK:1a(){K 1C=J.qE();1C["3Y"]={1x:"he",3J:"yp"};1b 1C},iw:1a(){if(J.6v==1c){1b 1j}K xh=J.yy();if(xh!=1c){3s(xh.7m){1l 2:1b J.cS&&J.f6;1p;1l 1:1b J.cS;1p;1l 0:1b 1o;1p}}1b 1o},hW:1a($1f,d1,5O){K me=J;if(1L(d1)){d1=1}K 2d="";if(d1==2){if(!1L(J.70)){2d=J.70}}1i{if(!1L(J.5H)){2d=J.5H}}K $1Z=$(\'<1Z 1m="\'+2d+\'">\').hi(1a(1K){if(1K.3y==10||1K.3y==13){1K.4c();J.4M()}});if(!1L(5O)&&5O.nK==QB.1e.2R.67.5g){$1Z.rP({f9:1a(2d,Ul){$1Z.2d(2d);if(d1==2){me.70=2d}1i{me.5H=2d}me.jY(2d,d1)},Ue:1a(){2d=$1Z.2d();if(d1==2){me.70=2d}1i{me.5H=2d}me.ft()}})}1i{$1Z.4M(1a(){K 2d=$1Z.2d();if(d1==2){me.70=2d}1i{me.5H=2d}me.jY(2d,d1);me.ft()})}$1Z.fA($1f).2U()},7h:1a(){K me=J;J.1J(2p);if(J.1f==1c){J.1f=$(\'<2B 2y="qb-ui-4B-4A-6Q 1g">\')}J.1f.cf();J.1f.1h("1g",J);J.1f.2X($(\'<2B 2y="qb-ui-4B-4A-3Q 6B">\'));J.1f.2X(" ");J.1f.2X(J.ql());K 5O=J.6v;if(1L(5O)){J.1f.2X($(\'<a 2y="qb-ui-4B-4A-2a-2i-2k 9b" 4Z="#">[2k 5O]</a>\'))}1i{J.1f.2X($(\'<a 2y="qb-ui-4B-4A-2a-2i-2k" 4Z="#">\'+5O.3N+"</a>"))}J.1f.2X(" ");K Fo=QB.1e.2c.6w[J.7r].3N;J.1f.2X($(\'<a 2y="qb-ui-4B-4A-2a-7z" 4Z="#">\'+Fo+"</a>"));J.1f.2X(" ");K Fr=J.yy();K $9j;K $dK;3s(6f(Fr.7m)){1l 1:if(1L(J.5H)){$9j=$(\'<a 2y="qb-ui-4B-4A-2a-1m 9b" 4Z="#">[qB 1m]</a>\')}1i{$9j=$(\'<a 2y="qb-ui-4B-4A-2a-1m" 4Z="#">\'+J.5H+"</a>")}$9j.3M(1a(e){K $1f=$(J);$1f.3U();me.hW($1f,1,5O)});J.1f.2X($9j);if(!1L(J.5H)&&!J.cS){$9j.2r("9b");J.1f.2X(\' <2A 2y="rO-1m">Fj 1m</2A>\')}1p;1l 2:if(1L(J.5H)){$9j=$(\'<a 2y="qb-ui-4B-4A-2a-1m 9b" 4Z="#">[qB 1m]</a>\')}1i{$9j=$(\'<a 2y="qb-ui-4B-4A-2a-1m" 4Z="#">\'+J.5H+"</a>")}if(!J.cS){$9j.2r("9b")}$9j.3M(1a(e){K $1f=$(J);$1f.3U();me.hW($1f,1,5O)});J.1f.2X($9j);J.1f.2X($("<2A> rH </2A>"));if(1L(J.70)){$dK=$(\'<a 2y="qb-ui-4B-4A-2a-1m 9b" 4Z="#">[qB 1m]</a>\')}1i{$dK=$(\'<a 2y="qb-ui-4B-4A-2a-1m" 4Z="#">\'+J.70+"</a>")}if(!J.f6){$dK.2r("9b")}$dK.3M(1a(e){K $1f=$(J);$1f.3U();me.hW($1f,2,5O)});J.1f.2X($dK);if(!1L(J.5H)&&!J.cS||!1L(J.70)&&!J.f6){if(!1L(J.5H)&&!J.cS){$9j.2r("9b")}if(!1L(J.70)&&!J.f6){$dK.2r("9b")}J.1f.2X(\' <2A 2y="rO-1m">Fj 1m</2A>\')}1p}if(!1L(5O)&&5O.nK==QB.1e.2R.67.5g){if(!1L($9j)){$9j.rP()}if(!1L($dK)){$dK.rP()}}1b J.1f},dl:1a(1J){J.1J(1J)}});QB.1e.yw=1W 7K({ia:QB.1e.ko,4x:QB.1e.2c.e6.yo,$1v:"cK.l8.1e.cp.l6.yn, cK.l9.1e.cp",aj:"",qC:1j,iK:1a(){K 1C=J.qE();1C["3Y"]={1x:"he",3J:"yp"};1b 1C},hf:1a(){K 1M=$.4j(1W QB.1e.qG,1W QB.1e.2c.yn);J.qI(1M);1M.aj=J.aj;J.qD(1M);1b 1M},iw:1a(){1b J.qC},jY:1a(2d,d1){J.qC=!1L(J.aj)},hW:1a($1f){K me=J;K 2d="";if(!1L(J.aj)){2d=J.aj}K $1Z=$(\'<1Z 1m="\'+2d+\'">\').hi(1a(1K){if(1K.3y==10||1K.3y==13){1K.4c();J.4M()}}).4M(1a(){me.aj=$1Z.2d();me.5H=me.aj;me.ft()}).fA($1f).2U()},7h:1a(){K me=J;J.1J(2p);if(J.1f==1c){J.1f=$(\'<2B 2y="qb-ui-4B-4A-6Q 1g">\').1h("1g",J)}J.1f.cf();J.1f.2X($(\'<2B 2y="qb-ui-4B-4A-3Q 6B">\'));K $hH;J.1f.2X(J.ql());if(1L(J.aj)){$hH=$(\'<a 2y="qb-ui-4B-4A-2a-1m 9b" 4Z="#">[qB 7W]</a>\')}1i{$hH=$(\'<a 2y="qb-ui-4B-4A-2a-1m" 4Z="#">\'+J.aj+"</a>")}if(!J.qC){$hH.2r("9b")}$hH.3M(1a(e){K $1f=$(J);$1f.3U();me.hW($1f)});J.1f.2X($hH);1b J.1f},dl:1a(1J){J.1J(1J)}});QB.1e.qo=1W 7K({ia:QB.1e.ko,4x:QB.1e.2c.e6.qz,$1v:"cK.l8.1e.cp.l6.ym, cK.l9.1e.cp",92:QB.1e.2R.9n.8X,hf:1a(){K 1M=$.4j(1W QB.1e.qG,1W QB.1e.2c.ym);J.qI(1M);1M.92=J.92;J.qD(1M);1b 1M},iw:1a(){K 1I=1o;if(J.2L.1d==0&&J.4i!=1c){1b 1j}$.2f(J.2L,1a(1T,1g){if(!1g.iw()){1I=1j;1b 1j}});1b 1I},iK:1a(){K 1C=J.qE();1C["9P"]={1x:"yr",3J:"yq",2w:J.2L.1d<=0};1C["3Y"]={1x:"he",3J:"yp"};1b 1C},i0:1a(1g){K 1T=1g.8T();if(1T==0){J.1f.6z(".qb-ui-4B-4A-4g").hY(1g.7h())}1i{1g.kY().1f.sY(1g.7h())}},yI:1a(){1b QB.1e.2c.hh[J.92]},7h:1a(){J.1J(2p);if(J.1f==1c){J.1f=$(\'<2B 2y="qb-ui-4B-4A-6Q aX">\')}J.1f.1h("1g",J);J.1f.cf();J.1f.2X($(\'<2B 2y="qb-ui-4B-4A-3Q 9N">\'));K hS=J.yI();K $3D=$(\'<2B id="qb-ui-4B-4A-3D">\');$3D.2X(J.ql());K $a=$(\'<a 2y="qb-ui-4B-4A-2a-yB" 4Z="#">\'+hS.3N+"</a>");$3D.2X($a);$3D.2X($("<2A> "+J.9u().jH+"</2A>"));J.1f.2X($3D);K $4g=$(\'<2B 2y="qb-ui-4B-4A-4g \'+hS.gK+\'">\');$.2f(J.2L,1a(1T,1g){$4g.2X(1g.7h())});K tC=1W QB.1e.t8(J);$4g.2X(tC.7h());J.1f.2X($4g);1b J.1f},dl:1a(1J){J.1J(1J);if(1J!=1c){3s(6f(1J.92)){1l QB.1e.2R.9n.8X:;1l QB.1e.2R.9n.qm:J.92=QB.1e.2R.9n.kl;1p;5q:J.92=QB.1e.2R.9n.8X}}}});QB.1e.t8=1W 7K({ia:QB.1e.ko,4x:QB.1e.2c.e6.FB,iK:1a(){K 1C={"4V-7W-1n-5O":{1x:"eu 7W 1n 5O",3J:"4V-7W-1n-5O"},"4V-qs-7W":{1x:"eu qs 7W",3J:"4V-qs-7W"},"5m":"---------","4V-aX-of-qt":{1x:"eu aX of qt",3J:"4V-aX-of-qt"}};1b 1C},7h:1a(){if(J.1f==1c){J.1f=$(\'<2B 2y="qb-ui-4B-4A-6Q 4V">\').1h("1g",J)}J.1f.cf();J.1f.2X($(\'<2B 2y="qb-ui-4B-4A-3Q lg">\'));J.1f.2X($(\'<a 2y="qb-ui-4B-4A-2a-2i-2k" 4Z="#">[...]</a>\'));1b J.1f},yJ:1a(1q,5O){K 1g=J.yH();1g.yK(5O);1g.ft();1b 1o},dl:1a(1J){J.1J(1J)}});QB.1e.b5=1W 7K({ia:QB.1e.qo,$1v:"cK.l8.1e.cp.l6.yA, cK.l9.1e.cp",4i:1c,l0:"F3",jH:"of la Ud Uf",l4:1o,2L:[],hv:1a(1h){J.qW=1h.qW;J.2L=[];J.ln(1h);J.yz()},Fb:1a(){K me=J;K 5G=".qb-ui-4B-4A-3Q";$.2I("62",5G);$.2I({3R:5G,4k:bP,6r:{6O:0},29:"28",1C:{},9o:1a($29,e){K 1g=$29.bE(".qb-ui-4B-4A-6Q:4w").1h("1g");if(1g==1c){1b 1j}K 1C=1g.iK();if(1C==1c||4H.8g(1C).1d==0){1b 1j}1b{2l:1a(1q){1g.qL(1q,1C[1q].1h)},1C:1C}}})},Fd:1a(){K me=J;K 5G=".qb-ui-4B-4A-2a-7z";$.2I("62",5G);$.2I({3R:5G,4k:bP,6r:{6O:0},29:"28",1C:{},9o:1a($29,e){K 1g=$29.bE(".qb-ui-4B-4A-6Q:4w").1h("1g");if(1g==1c){1b 1j}K 6G=1g.F2(1g);if(6G==1c||4H.8g(6G).1d==0){1b 1j}1b{2l:1a(1q){1g.F4(1q)},1C:6G}}})},Fp:1a(){K me=J;K 5G=".qb-ui-4B-4A-2a-yB";$.2I("62",5G);$.2I({3R:5G,4k:bP,6r:{6O:0},29:"28",1C:{},9o:1a($29,e){K 1g=$29.bE(".qb-ui-4B-4A-6Q:4w").1h("1g");if(1g==1c){1b 1j}K 6G=1g.F6(1g);if(6G==1c||4H.8g(6G).1d==0){1b 1j}1b{2l:1a(1q){1g.EZ(1q)},1C:6G}}})},F9:1a(){K me=J;K 5G=".qb-ui-4B-4A-2a-2i-2k";$.2I("62",5G);K 1Q=$.2I({3R:5G,4k:bP,6r:{6O:0},29:"28",1C:{},bw:"Uh",9o:1a($29,e){K 1g=$29.bE(".qb-ui-4B-4A-6Q:4w").1h("1g");if(1g==1c){1b 1j}K 1C=1g.F1();if(1C==1c||4H.8g(1C).1d==0){1b 1j}1b{2l:1a(1q){1g.yJ(1q,1C[1q].1h)},1C:1C}}})},yz:1a(){K me=J;J.2n.cf();J.2n.2X(J.7h());1b;K $4g=$(\'<2B 2y="qb-ui-4B-4A-4g 6y">\');$.2f(J.2L,1a(1T,1g){$4g.2X(1g.7h())});K Fe=1W QB.1e.t8(J);$4g.2X(Fe.7h());J.2n.2X($4g);J.1f=$4g},i0:1a(1g){K 1T=1g.8T();if(1T==0){J.1f.6z(".qb-ui-4B-4A-4g").hY(1g.7h())}1i{1g.kY().1f.sY(1g.7h())}},7h:1a(){if(J.1f==1c){J.1f=$(\'<2B 2y="qb-ui-4B-4A-6Q aX 2n">\').1h("1g",J)}J.1f.cf();K hS=J.yI();K $3D=$(\'<2B id="qb-ui-4B-4A-3D">\');$3D.2X("<2A>"+J.9u().l0+" </2A>");K $a=$(\'<a 2y="qb-ui-4B-4A-2a-yB" 4Z="#">\'+hS.3N+"</a>");$3D.2X($a);$3D.2X($("<2A> "+J.9u().jH+"</2A>"));J.1f.2X($3D);K $4g=$(\'<2B 2y="qb-ui-4B-4A-4g \'+hS.gK+\'">\');$.2f(J.2L,1a(1T,1g){$4g.2X(1g.7h())});K tC=1W QB.1e.t8(J);$4g.2X(tC.7h());J.1f.2X($4g);1b J.1f},hf:1a(){K 1M=1W QB.1e.2c.yA;1M.92=J.92;1M.2L=[];$.2f(J.2L,1a(1T,1g){1M.2L.1F(1g.hf())});1b 1M},dl:1a(1J){J.2n=$("#qb-ui-4B-4A");if(J.2n.1d){if(!1L(J.2n.1k("jH"))){J.jH=J.2n.1k("jH")}if(!1L(J.2n.1k("l0"))){J.l0=J.2n.1k("l0")}if(!1L(J.2n.1k("l4"))){J.l4=J.2n.1k("l4").3L()=="1o"}}J.1J(1c);J.yz();J.Fb();J.F9();J.Fd();J.Fp()}});K 7g=4;K FZ=1o;K oC="si/";K Cc={iN:[],xV:[],jq:"",kf:{},7N:1c,2g:{ka:[],7j:[]},3k:{h6:[]},kT:1c,9O:1c,3g:1c,cA:1c,a6:{2L:[],AL:0},eT:"",bm:1c,xW:[],gO:1c,e5:{},jX:1c,fe:1j,nU:1j,b5:1c,6Z:1c,EF:1a(){J.jq="";J.kf={};J.7N=1c;J.qd=1c;J.2g={ka:[],7j:[]};J.3k={h6:[]};J.iN=[];J.xV=[];J.a6={2L:[],AL:0};J.kT=1c;J.6Z=1c;J.9O=1c;J.3g=1c;J.cA=1c;J.eT="";J.bm=1c;J.xW=[];J.jX=1c;J.e5={}}};K 4u=1a(){J.41=1c;J.1U=1c;J.42=1c;J.5l=[];J.dE={};J.5L=[];J.7N="";J.AN="";J.kT="";J.9O="";J.oM=1j;J.xW=[];J.3g=1c;J.4K=1c;J.hn=1c;J.eT="";J.h5={};J.gO=1c;J.bm=1c;J.aw=1j;J.Ug=0;J.Ut=lP;J.b5=1c;J.kq=1c;J.kA=1j;J.Fw=1c;J.aK=0;J.tb=1o;J.ss=1a(49){K me=J;if(J.fe){6m(1a(){me.ss(49)},50);1b}J.4K.xV.1F(49);J.7G()};J.C9=1a(e,2a){K 1M=2a.1M();if(2a.8p){QB.1e.2g.7j.3v(2a)}J.4K.2g.7j.1F(1M);J.7G()};J.Bb=1a(e,1h){K 49=1h.49;K 1g=1h.1g;J.4K.e5.bL=49;J.4K.e5.cA=1g.1h;J.4K.e5.GV="1U";J.7G()};J.Bi=1a(e,1A){K 1O=1A.1O;K 2i=1A.2i;K c0=1A.c0;K xU=QB.1e.2g.iH(1O.3N);if(xU==1c){$.2f(1O.6L,1a(i,f){if(h9(f.86,2i.86)){f.dT=1o}});K 1A={1D:1O,c0:c0};J.nJ(e,1A)}1i{xU.6D("iI",2i.86,1o,1o)}};J.nJ=1a(e,1A){1A.1D.8a=1o;K 1z=J.eG(1A);K j3=1A.1D;K 4Z=$(1z).1h("me");if(4Z!=1c){j3.5V=4Z.5V}if(J.1U!=1c){J.1U.29(QB.1e.2g.3c.xZ,1z)}J.yd(j3);J.h7()};J.B8=1a(e,1h){K 1z=$(1h);K j3=1z.1h("xY");j3.8p=1o;J.4K.2g.ka.1F(j3);J.h7()};J.Ct=1a(e,1h){J.pw([1h.1H.1M()]);J.h7()};J.CF=1a(e,1h){K 5b=1h.5b;J.pw([5b]);J.h7()};J.Ge=1a(1O,2i){K 3f="";3f+=1O.xX;3f+="."+2i.86;1b 3f};J.CH=1a(e,1h){K 1z=1h;J.4K.2g.7j.1F(1z);J.7G()};J.CG=1a(e,2a){K 8h=QB.1e.2g.FQ(2a.yh);if(8h!=1c){K $1U=$("#qb-ui-1U");if(8h[0].8c<$1U.4Q()||(8h[0].9a<$1U.58()||(8h[0].8c+8h.1r()>$1U.4Q()+$1U.1r()||8h[0].9a+8h.1w()>$1U.58()+$1U.1w()))){K x=8h[0].8c+8h.1r()/ 2 - $1U.1r() /2;K y=8h[0].9a+8h.1w()/ 2 - $1U.1w() /2;$1U.4F({4Q:x,58:y},lF)}8h.2K(".qb-ui-1O-b7").FU("sF",{},sD).FU("sF",{},sD);1b}K 1A=1c;if(2a.jh==1c){1A={1D:{3g:2a.yh,6l:2a.6l,bo:2a}}}1i{2a.jh.bo=2a;1A={1D:2a.jh}}J.nJ(1c,1A)};J.CI=1a(e,d){K 5F=d.5F;K 3b=[];1n(K i=0;i<5F.1d;i++){K 1h=5F[i];K 3P=1h.3P;K 3f=J.Ge(1h.1J,1h.1D);K sG=J.42.aI("sK",3f);1n(K j=0;j<sG.1d;j++){K 1H=sG[j];if(3P){if(1H.gF(3P)){3b.1F(1H.1M())}}1i{if(1H.Gb()){if(1H.gF(3P)){3b.1F(1H.1M())}}1i{3b.1F(1H.1M());J.42.aI("gE",1H)}}}if(3P&&sG.1d==0){K sL=1W QB.1e.2c.yg;sL.8L=3f;sL.bV=3P;K Cf=J.42.aI("jl",sL);3b.1F(Cf.1M())}}};J.eG=1a(1A,7P){K 1z=QB.1e.2g.eG(1A,7P);if(7P===2O||7P==1c){1z.5a(QB.1e.8I.3c.sM,J.CI,J);1z.5a(QB.1e.8I.3c.sb,J.CH,J);1z.5a(QB.1e.8I.3c.sd,J.CG,J)}J.42.aI("yc");1b 1z};J.tE=1a(1A,7P,k9){K 1z=QB.1e.2g.tE(1A,7P,k9);J.42.aI("yc");1b 1z};J.Bn=1a(1z){};J.E0=1a(){J.DN();J.Bx();J.Az();J.7G()};J.Bx=1a(){J.4K.6Z=1W QB.1e.2c.k4;J.4K.6Z.bL="4r"};J.DN=1a(){J.4K.iN.1F("Ax")};J.Cp=1a(){J.tb=1o;J.CK()};J.Az=1a(){K d4=1c;if(J.9H!=1c&&(J.9H.1d>0&&J.9H.is(":6E"))){d4=J.9H.2d()}1i{d4=J.AN}J.7N=d4;J.4K.7N=J.7N;1b 1o};J.Ed=1a(){J.4K.bm=J.bm;1b 1o};J.FI=1a(){J.4K.iN.1F("8E");1b 1o};J.pw=1a(3b){J.4K.3k.h6=J.4K.3k.h6.3F(3b);1b 1o};J.yd=1a(1z){J.4K.2g.ka.1F(1z);1b 1o};J.q5=1a(1X){J.9q.4d("9b 9x");J.9q.2r("oE");J.9q.3W(1X)};J.Us=1a(1X){J.9q.4d("9x oE");J.9q.2r("9b");J.9q.3W(1X)};J.Uu=1a(1X){J.9q.4d("9b oE");J.9q.2r("9x");J.9q.3W(1X)};J.CE=1a(){if(J.tb){if(J.qd!=J.9H.2d()){J.q5(QB.1e.2c.4Y.5k.CQ);J.qd=J.9H.2d()}}};J.Cq=1a(e,1D){K 1A={1D:1D};J.nJ(1c,1A)};J.oJ=1a(e,bN){K me=J;if(J.fe){6m(1a(){me.oJ(e,bN)},50);1b}if(!1L(bN)){J.4K.jX=bN;J.7G()}};J.G5=1a(e,49){QB.1e.4u.ss(49)};J.Et=1a(1h){E1.E7(1h)};J.Eu=1a(1h){J.bm=1h};J.Fa=1a(1h){J.kP=1h};J.EU=1a(5l){if(5l==1c){1b 1j}if(5l.1d==0){1b 1j}QB.1e.2g.7j.BD();1n(K 1T=0;1T<5l.1d;1T++){K hm=5l[1T];K kt=1c;if(hm.53!=1c&&hm.51!=1c){kt=QB.1e.2g.7j.BF(hm.53.cb,hm.51.cb)}if(kt==1c){QB.1e.2g.7j.Bl(hm)}1i{kt.Bo=1j;QB.1e.2g.7j.CN(kt,hm)}}QB.1e.2g.7j.Cg()};J.EM=1a(hk){if(hk==1c){1b}if(hk.1d==0){1b}QB.1e.2g.Co(hk)};J.EE=1a(Bp){if(Bp==1c){1b}K eC=Bp.3G();K Bs=[];K Br=[];K Bm=[];K me=J;1n(K i=QB.1e.2g.5L.1d-1;i>=0;i--){K 1z=QB.1e.2g.5L[i];K Bu=1z.1h("1D");K jZ=1c;1n(K j=eC.1d-1;j>=0;j--){K ea=eC[j];if(QB.1e.2g.FV(Bu,ea)){eC.3v(j);jZ=ea;1p}}if(jZ==1c){1n(K j=eC.1d-1;j>=0;j--){K ea=eC[j];if(QB.1e.2g.Gk(Bu,ea)){eC.3v(j);jZ=ea;1p}}}if(jZ!=1c){Br.1F({1M:ea,7P:1z})}1i{Bs.1F(1z)}}$.2f(eC,1a(1T,ea){Bm.1F(ea)});$.2f(Br,1a(1T,1z){me.tE({1D:1z.1M},1z.7P,1o)});$.2f(Bs,1a(1T,1z){QB.1e.2g.Bn(1z,1o)});$.2f(Bm,1a(1T,1z){me.eG({1D:1z})})};J.Fh=1a(1U){J.EE(1U.ka);J.EU(1U.7j);if(1U.AK!=1c){J.EM(1U.AK.cP)}if($("#qb-ui-1U").is(":6E")){QB.1e.2g.de()}};J.F7=1a(9D){if(J.9D!=1c){J.9D.EP(9D)}};J.hv=1a(1h){if(1h!=1c&&1h!==2O){J.tb=1j;K me=J;if(1L(J.9O)){J.9O=1h.9O}if(1L(J.3g)){J.3g=1h.3g}if(1h.Uw||(1L(1h.9O)||J.9O!=1h.9O||(1L(1h.3g)||J.3g!=1h.3g))){K me=J;if(1h.Uv){nZ.Uo();1b}1i{$.Aq({54:3H.nZ.4Z,Un:1j});J.3g=1c;J.4K.7N=J.9H.2d();J.na()}}1i{J.eT=1h.eT;if(!1L(1h.6Z)){J.t.hv(1h.6Z);if(!me.aw){me.aw=1o;$(J).29(QB.1e.f3.pW);if(!1L(1J)){K jc=$("#cn-76",1J.2G.3O);if(jc.1d){jc.3U()}}}}if(1h.kf!=1c){J.Et(1h.kf);if(!me.aw){me.aw=1o;$(J).29(QB.1e.f3.pW);if(!1L(1J)){K jc=$("#cn-76",1J.2G.3O);if(jc.1d){jc.3U()}}}}if(1h.bm!=1c){J.Eu(1h.bm)}if(1h.kP!=1c){J.Fa(1h.kP)}if(1h.h5!=1c){J.Es(1h.h5)}if(1h.7N!=1c){J.Em(1h.7N)}if(1h.AF!=1c){J.AF=1h.AF}if(1h.b5!=1c){J.EQ(1h.b5)}if(1h.2g!=1c){J.Fh(1h.2g)}if(1h.dO!=1c){J.F7(1h.dO)}if(1h.gO!=1c){J.Fv(1h.gO,1h.jX)}if(1h.3k!=1c){J.Ez(1h.3k)}if(1h.a6!=1c){J.Fq(1h.a6)}if(1h.e5!=1c){J.FA(1h.e5)}J.Fw=1h.cA;if(1h.cA!=1c){$(J).29(QB.1e.f3.AR,1h.cA)}if(1h.Fx!=1c&&1h.Fx){$(J).29(QB.1e.f3.AS,1h.7N)}J.kq=1h.kq;if(1h.kq!=1c){$(J).29(QB.1e.f3.AT,1h.kq)}J.9q.4d("9b 9x oE");J.9q.2r(1h.jq.7K);J.9q.3W("");J.9q.3W(1h.jq.9e)}}J.aK--};J.Fv=1a(bG,Ft){K me=J;if(1L(bG)){1b}J.gO=bG;J.jX=Ft;if(J.hn!=1c){J.hn.Aw(J.gO)}if(J.9D!=1c){J.9D.FC(J.gO)}};J.FA=1a(1Q){if(J.2g!=1c){J.2g.fa(1Q.2g);J.2g.Fy(1Q.Fs);J.2g.Fk(1Q.bR)}J.42.aI("fa",1Q.3k);J.fa(1Q.Fi,"#qb-ui-1U-gN-lg-3Q");J.fa(1Q.eu,"#qb-ui-1U-kw-lg-3Q")};J.Fq=1a(oi){if(oi==1c){1b}K me=J;K oa=0;if(J.a6.1d>0){oa=J.a6[J.a6.1d-1].Id}1n(K 1T=0;1T<oi.2L.1d;1T++){K c4=oi.2L[1T];if(oa==1c||c4.Id>oa){J.a6.1F(c4);K AB="Up";if(c4.4x==2){AB="Ur"}if(c4.4x==3){AB="8V"}K Uq=pT(c4.AI).6x("H:i:s")}}};J.Es=1a(1h){J.h5=1h};J.Ez=1a(42){if(42==1c||42.h6==1c){1b}K me=J;me.42.aI("Ei",42);me.42.aI("El")};J.Em=1a(d4){if(d4!==" "&&1L(d4)){1b}J.9H.2d(d4);J.AN=d4;J.qd=d4};J.EQ=1a(9u){if(1L(9u)){1b}if(J.b5==1c){1b}J.b5.hv(9u)};J.Uc=1a(2l){J.Bq(1a(1h){if(2l&&7Y(2l)=="1a"){2l(1h.kP)}})};J.TY=1a(1u,2l){J.4K.kP=1u;J.pV(2l)};J.CA=1a(){J.aK=0;6m(J.Bh,0)};J.pV=1a(2l){K me=J;if(J.aK<0){J.aK=0}if(J.aK>0){6m(1a(){me.pV(2l)},7e);1b}1b me.7G(2l)};J.7G=1a(2l){K me=J;if(J.aK<0){J.aK=0}J.q5(QB.1e.2c.4Y.5k.EN);J.4K.kT=J.kT;J.4K.9O=J.9O;J.4K.3g=J.3g;if(1L(J.4K.2g)){J.4K.2g={}}J.4K.2g.AK={cP:QB.1e.2g.ES()};if(J.a6.1d>0){J.4K.a6.AL=J.a6[J.a6.1d-1].Id}$(J).29(QB.1e.f3.AX,J.4K);K 1h=$.h2(J.4K);me.4K.EF();J.aK++;J.Bh();$.Aq({54:oC+"?49=TX",1v:"oY",TZ:"eb",U1:"n6/eb",7L:1j,1h:1h,As:1a(1h){me.hv(1h);$(me).29(QB.1e.f3.AU,1h);if(2l&&7Y(2l)=="1a"){2l(1h)}},Gn:me.Gs});me.fe=1j};J.Gs=1a(U0,TT){};J.Bc=1a(e,1h){K 1H=1h.1H;K 1q=1h.1q;K 5K=1h.5K;K 4o=1h.4o;K 3b=[];K 5b=1H.1M();if(1H.8p){K 3f=5b.8L;if(!1L(3f)&&3f.4P(".")!=-1){K 8M=3f.72(0,3f.4P("."));K 9E=3f.72(3f.4P(".")+1);K 1O=QB.1e.2g.iH(8M);if(1O!=1c){1O.6D("iI",9E,1j)}}}3s(1q){1l 1P.2h.1S:K 3f=5b.8L;if(!1L(3f)&&3f.4P(".")!=-1){K 8M=3f.72(0,3f.4P("."));K 9E=3f.72(3f.4P(".")+1);K 1O=QB.1e.2g.iH(8M);if(1O!=1c){1O.6D("iI",9E,4o)}}3b.1F(5b);1p;1l 1P.2h.3f:K 1S=5b.bV;K 3f=5K;if(!1L(3f)&&3f.4P(".")!=-1){K 8M=3f.72(0,3f.4P("."));K 9E=3f.72(3f.4P(".")+1);K 1O=QB.1e.2g.iH(8M);if(1O!=1c){1O.6D("iI",9E,1j)}}3f=4o;if(1S&&(!1L(3f)&&3f.4P(".")!=-1)){K 8M=3f.72(0,3f.4P("."));K 9E=3f.72(3f.4P(".")+1);K 1O=QB.1e.2g.iH(8M);if(1O!=1c){1O.6D("iI",9E,1S)}}3b.1F(5b);1p;1l 1P.2h.8F:;1l 1P.2h.6I:K Ao=J.42.aI("GO");1n(K i=0;i<Ao.1d;i++){3b.1F(Ao[i].1M())}1p;5q:3b.1F(5b)}J.pw(3b);J.7G()};J.At=1a(6G){if(6G==1c||6G.1d==0){1b 1c}K 1C={};K 4O;1n(K i=0;i<6G.1d;i++){4O=6G[i];if(4O.3N!=1c&&4O.3N.72(0,1)=="-"){1C[4O.cH]=4O.3N}1i{1C[4O.cH]={1x:4O.3N,3J:4O.cH,1C:J.At(4O.2L),1h:4O.3g}}}1b 1C};J.fa=1a(1Q,5G){K me=J;if(1L(1Q)||1Q.2L.1d==0){1b}K 1C=J.At(1Q.2L);$(5G)[0].TS=0;$(5G).3Q().1k("TU",0).7R(1a(e){if(e.3y==13||e.3y==32){$(e.3i).29("3M")}});$.2I("62",5G);$.2I({3R:5G,4k:bP,6r:{6O:0},2l:1a(49,1A){K 1g=1c;7i{1g=1A.$1S.1h().2I.1C[49]}7x(e){}6m(1a(){me.Bb(J,{49:49,1g:1g})},0)},1C:1C});$(5G).3M(1a(){$(5G).2I();$1Q=$(5G).2I("1f");if($1Q){$1Q.2D({my:"28 1N",at:"28 4D",of:J})}})};J.TW=1a(2l){if(J.b5.iw()){J.4K.b5=J.b5.hf();J.7G(2l);1b 1o}1i{1b 1j}};J.TV=1a(2l){QB.1e.4u.8E(1a(){1n(K i=0;QB.1e.4u.aK!=0;i++){1n(K j=0;j<93;j++){j++}}});J.q0(2l)};J.q0=1a(2l){J.Az();J.7G(2l)};J.Bq=1a(2l){K me=J;if(J.aK<0){J.aK=0}if(J.aK>0){6m(1a(){me.Bq(2l)},7e);1b}J.q0(2l)};J.8E=1a(2l){J.FI();J.pV(2l)};J.na=1a(2l){J.4K.iN.1F("na");J.7G(2l)};J.Ax=1a(){J.4K.iN.1F("Ax");J.7G()};J.7A=1a(){J.9O=$(".oo").1k("9O");Gd=$(".oo").1k("Gc")=="1o";J.oM=$(".oo").1k("oM")=="1o";K Av=$(".oo").1k("U8");if(!1L(Av)){oC=Av}J.nU=$("#qb-ui-1U").4J("nU");K me=J;J.a6=[];J.aw=1j;if(!J.oM){$.iv(oC+"?49=U7",oy,1a(1h){})}J.9q=$("#qb-ui-9H-U9-Ub");J.42=$("#qb-ui-42").aI();J.2g=QB.1e.2g.7A();J.1U=J.2g!=1c?J.2g.1U:1c;J.t=1W QB.1e.6Z;J.hn=1c;J.9D=1c;if(FZ){J.hn=1W QB.1e.nR;J.9D=1W QB.1e.dO}if(J.hn!=1c){J.G8=J.hn.Aw();J.G8.5a(QB.1e.nR.3c.oS,J.oJ,J)}if(J.9D!=1c){J.9D.2T.5a(QB.1e.dO.3c.oD,J.oJ,J);J.9D.2T.5a(QB.1e.dO.3c.oN,J.G5,J)}J.41=J.t.Cr();J.41.5a(QB.1e.6Z.3c.pY,J.Cq,J);J.9H=$("#qb-ui-9H 7M");J.9H.5a("Ba",J.Cp,J);$("#qb-ui-9H-9f-iv").5a("3M",J.q0,J);$("#qb-ui-9H-9f-na").5a("3M",J.na,J);J.4K=Cc;if(J.1U!=1c){J.1U.5a(QB.1e.2g.3c.p6,J.nJ,J);J.1U.5a(QB.1e.2g.3c.pE,J.B8,J);J.1U.5a(QB.1e.2g.3c.pz,J.Bi,J);J.1U.5a(QB.1e.2g.3c.pq,J.Bb,J);$("#qb-ui-1U-7y").5a(QB.1e.2g.bo.3c.nO,J.C9,J)}J.42.5a(QB.1e.3k.3c.fu,J.Bc,J);J.42.5a(QB.1e.3k.3c.B9,J.Ct,J);J.42.5a(QB.1e.3k.3c.B7,J.CF,J);J.42.5a(QB.1e.3k.3c.oZ,J.B8,J);J.42.5a(QB.1e.3k.3c.p7,J.Bi,J);J.CK=$.gX(J.CE,lF,J);J.BL=$.gX(J.7G,93,J);J.Bh=$.gX(J.CA,lP,J);J.h7=1a(2l){J.fe=1o;1b J.BL(2l)};J.b5=1W QB.1e.b5}};QB.1e.f3={AX:"AX",AU:"AU",AR:"AR",pW:"pW",AS:"AS",AT:"AT"};if(!3H.bU){3H.bU={}}if(!3H.bU.j4){3H.bU.j4=1a(){}}if(!3H.bU.AY){3H.bU.AY=1a(){}}K n6;K jr=1c;K pU=0;1a B3(){if(pU==1c){pU=0}1b pU++}2u(2G).Ua(1a(){QB.1e.4u=1W 4u;QB.1e.4u.7A();n6=QB.1e.4u;E2();n6.E0()});$.ui.6F.2Q.U3=1a(1K,D5){J.2D=J.U2(1K);J.U4=J.U6("8d");if(J.1A.D7){if(J.1A.5d){J.1A.5d()}}1i{if(!D5){K ui=J.eK();if(J.7v("5d",1K,ui)===1j){J.U5({});1b 1j}J.2D=ui.2D}}if(!J.1A.oR||J.1A.oR!="y"){J.4q[0].2Y.28=J.2D.28+"px"}if(!J.1A.oR||J.1A.oR!="x"){J.4q[0].2Y.1N=J.2D.1N+"px"}if($.ui.hj){$.ui.hj.5d(J,1K)}1b 1j};',62,3787,'|||||||||||||||||||||||||||||||||||||||||||||this|var||||||||||||||||||||||||||function|return|null|length|Web|element|item|data|else|false|attr|case|value|for|true|break|key|width|node||params|type|height|name|res|obj|options|opt|items|object||push|path|row|result|parent|event|isEmpty|dto|top|table|MetaData|menu|_|selected|index|canvas|stroke|new|text|fill|input|||||||||left|trigger|link|attrs|Dto|val|args|each|Canvas|FieldParamType|field|out|select|callback|self|root|nbsp|arguments|from|addClass|paper|offset|jQuery|anim|disabled|call|class||span|div|opacity|position|values|start|document|typeof|contextMenu|font|find|Items|eve|option|undefined|bbox|prototype|Enum|doc|control|focus|css|bind|append|style|elproto||apply|||||||||match|rows|Events|selectmenu|dialog|expression|Guid|next|target|parentNode|Grid|has|replace|color|split|none|toString|clr|switch|context|math|remove|toFloat|transform|keyCode|rgb|appendChild|Math|Utils|label|array|concat|slice|window|gradient|icon|prev|toLowerCase|click|Name|body|checked|button|selector|pos|settings|hide|Str|html|svg|delete|Array||tree|grid|method|raphael|abs|src|container||action|string|tableDnD|preventDefault|removeClass|while|arg|hitarea|deg|Parent|extend|zIndex|rect|filter|appendTo|newValue|toFixed|helper|get|matrix|end|Application|max|first|Type|arrows|_engine|builder|criteria|join|bottom|round|animate|handle|Object|list|hasClass|exchangeObject|CLASSES|blur|mmax|dtoItem|indexOf|scrollLeft|constructor|animationElements|newIndex|box|add|size|state|Localizer|href||Right||Left|url||dots|removed|scrollTop|splice|bindEx|rowDto|String|drag|pathArray|show|Date|win|contextmenu|rotate|Strings|links|separator|display|metaDataObject|mouseup|default|close|set|rowChanged|easing|diff|current|stop|p1x||events|textControl|aria|resizable|vml|fields|menuSelector|Value1|Criteria|mmin|oldValue|Objects|min|pow|column|wrapper|clone|c1x|title|clip|uiDialog|TempId|tabindex|paperproto|c1y|tagName||len|destroy|newelement|that|hex|p1y|KindOfField|point|cells|minHeight|auto|layer|elem|_editControl|Number|parseInt|graphics|hover|zoom|count|Caption|setTimeout|editControl|att|http|getBBox|animation|not|status|ConditionOperator|Column|CriteriaBuilderConditionOperator|format|all|children|bbox1|dot|bbox2|qbtable|visible|draggable|menuItems|open|sortingOrder|config|__set__|Fields|setproto|pageX|duration|insertBefore|block|last|c2y|c2x|now|implement|mdo|hidden|resize|Tree|Value2|ValueKinds|substr|removeChild|mousedown||overlay|pageY|angle|p2x|lineCoord|getValue|names|p2y|100|guid|version|buildElement|try|Links|JoinType|handler|ValuesCount|crp|_g|str|dragi|Operator|subElement|pth|Visible|_trigger|firstChild|catch|graph|operation|init|dirty|stopPropagation|unbind|hasOwnProperty|right|sendDataToServer|create|currentTrigger|ret|Class|cache|textarea|SQL|newObject|existingObject|prop|keydown|checkbox|path2|skew|scale|condition|family|typeOf|command|cell|tmp|_optionLis|header|_ulwrapdiv|containment|NameStr|percents|DrawOrder|selectOptionData|IsNew|selectDto|offsetLeft|absolute|currentTarget|radio|keys|existing|destX|Alias|vector|pathString|toUpperCase|sin|cellName|IsDeleted|setValue|360|bez1|matches|buttons|widget|face|tabbable|image|timer|forEach|customAttributes|bez2|rad|update|sorting|cos|nodeName|TableObject|par|bg_iframe|Expression|tableName|toggleClass|objectBorder|circle|contextMenuRoot|dasharray|caller|Index|maxHeight|Error|namespace|All|mooType|_key||currentLayout|JunctionType|1E3|Function|red|jPag||namespaces||offsetTop|warning|touch|matrixproto|Text|controls|trg|wrapperId|throw|valueElement1|proxy|path1|Element|JunctionItemType|build|dragObject|statusBar|sqrt|selects|found|criteriaBuilder|EditableSelectStatic|weight|error|elements|mousemove|colour|documentElement|test|navBar|fieldName|toInt|amt|editor|el2|SmartPush|clientY|active|fit|corner|SessionID|clear|u2005|clientX|u2029|x0a|u202f|x09|methods|u205f|isNaN|u2028|percent|||u3000|u200a|u1680|Messages|u180e|_editBlock|x20|xa0|u2000|u2003|source|alias|u2001|con|tt1|u2006|Condition||cnvs|||setAttribute|u2002|expandable||||x0b|x0d|loaded|||u2004|x0c|content|u2007|meshY|outerHeight|hoveract|tstr|u2009|QBGrid|meshX|Lock|green|continue|u2008|blue|navigator|ellipse|arrow|glow|currentTable|addArrow|getPath|getRGB|group|tableDnDConfig|current_value|collapsable|thisObject|pathClone|getTotalLength|counter|CriteriaBuilder|valueHTML|titlebar|addEventListener|offsetHeight|line||subkey|fieldsContainer||dialogId||markerCounter|editable|filteredUi|_selectedOptionLi|cacher|QueryProperties|Prefix|Link|icons|shift||ele|Raphael|instances|charAt|className|||inFocus|selectedIndex|direction|toggle|itemsPageSize|parents|minWidth|queryStructure|eventName|droppable|bot|DatasourceGuid|Action|times|unionSubQuery|180|6E3|linecap|Table|number|createElement|console|Select|SVG|Inner|defaultWidth|Postfix|coordinates|||textpath|msg|000|fillpos|img|stopImmediatePropagation|shape||FieldGuid|previous|createNode||empty|getElementsByTagName|support|||groupingCriterion|pattern|token|iframe||Server|_cellEditEnd|marker|||pop|valEx|hasChanges|||_drag|Data|editableSelectOverlay|xlink|tlen|linkBox|grouping|tolerance|Key|order|setFillAndStroke|ActiveDatabaseSoftware|defs|getKeyName|_value|ids|Active|originalEvent|Animation|Value1IsValid|_viewBlock|defaults|alpha|isInput|optionDto|JSON|fontSize|filtredItems|valueNumber||cssClass|sql|RegExp|rec|parseFloat|nextIndex|listeners|down|attrs2|Outer||redraw||aggregate|tt2|||fonts|initialize|move|change||currentPage|Aggregate|getElementById|_moveFocus|outerWidth|map|_parent|getNextTabbable|||easyeasy|SortType|getPrevTabbable|myAt|to2|dialogs|ctx|scrollY|pathi|getDate|offsetParent|valueElement2|sib|isEnd|off|NavBar|inver|Cancel|scrollX|mouseout|IsSelected|tableBox|hover_css|UnionSubQuery|property3|a_css|methodname|property2|property1|bgiframe|docElem|activeItem|ContextMenu|CriteriaBuilderItemType|scaley|linkedObject|selectElement|newDatasourceDto|json|255|time|scope||instanceof|isFunction|Matrix|getTimezoneOffset|userAgent||||marked|results||defaultHeight||round1000|Add||origin|_viewBox|precision|translate|cssText|200|newObjects|thisLi||offsetWidth|addObject|scalex|border|attrType|_uiHash|closest|longclick|getRec|pRec|oRec|intr|computedStyle|oldObj|SyntaxProviderName|keyStop|dirtyT|justCount|overloadSetter|setViewBox|guidHash|tspan|||ApplicationEvents|simulateMouseEvent|animated|Value2IsValid|getHours|isURL|onSelect|updateContextMenu|Unknown|LinkExpression|Not|wait|objectGuid|paths|force|substring|Numeric|redrawT|sort|classes||isResizable|handles|delay|curve|isDropDown|updateElement|GridOnRowChanged|bb1|glyphs|||maxWidth|insertAfter|realPath|with|milli|filtered|bb2|userEdit|VML|pane|_global_timer_|dropdown|instantEdit|buffer|NameNotQuoted|_typeAhead_chars|itemsListIncomplete|_ul|newClass|linejoin||accesskeys|base|attachEvent|onload|branches|collapsed|menus|dialogTarget|properties|vbs|floor|role|ObjectType|objectType|globalFieldDragHelper|Supported|replaceClass|overflow|tspans|u00ebl|dstyle|Rapha|asterisk|visibility||pathId|fillString|markerId|subItem|mousePos|markedMeshCells|VisiblePaginationLinksCount|Field|use|fillsize||lastCollapsable|lastExpandable|jsp|minContentHeight|currentRow|__args|selecter|getFormat|strings|list_is_visible|removeRow|check|contains|iLen|touches|optionClasses|CssClass|equal|eldata|navbar|QueryStructure|listWrap|parentObject|mouseover|bezlen|thefont|enumerables|orColumnCount|updateTable|debounce|recursive|totalOrigin|isInAnim|Grouping|toJSON|fontcopy|isPointInside|SyntaxProviderData|Rows|sendDataToServerDelayed|from2|strcmp|path2curve|indexed|prevItem|current_event|Delete|getDto|nextItem|CriteriaBuilderJunctionItemType|keypress|ddmanager|layout||linkDto|treeStructure|shear|cur|dragMaxX|||butt|textpathStyle|importData|DOMload|||safari|glob|percentScrolled|fltr|queue|rowId|over|sweep_flag|valueElement|background|destY|ceil|sub|mouseProto|stops|isActive|removeAttr|deleting|_path2string|joinType|touchHandled|initstatus|hooks|showEditor|random|prepend|proto|appendElement|||SortOrder|repeat|editEnd|getSelectedListItem|cancel|propSize|metadata|Extends|dj1|dto1||popup|||treeview||None|parentElement|Move|dto2||Boolean|triangle|newObj|vals|||__pad|refresh|isValid||1px|which|flip|contentWidth|Properties|activeClass|titleBar|cursor|setSize|findTableByName|checkField|draw|getButtonContextMenuItems|getListValue|toLower|Actions|defaultView||strConversion|__getType|activeID|Copy|isOpen|removeByIndex|di1|endString|globalIndex|wrongRow|fff|letters|margin|dataSource|log|appendBefore|skipEvent|Set|getMonth|move_scope|newf|rvml|iFrameOverlay|clearTimeout|inputLabel|9999em|seg2|DataSource|define||_availableAttrs|addOrUpdateRow|toggler|_moveSelection|Filter|seg|Message|globalTempLink|hook|related|Selects|linkMenuCallback|updateContextMenuItems|types|tryAddEmptyRow|isEqual|background_hover_color|valueA|valueB|text_color|selectable|list_item|background_color|JunctionPostfix|runAnimation|currentValue|updateRowControl|text_hover_color|coordorigin|nextSibling|clientTop|TString|clientLeft|replaceChars|startString|GridRowCell|touchMap|clientWidth|configEnds|ActiveUnionSubQuery|validateValue|matchDatasourceDto|seg2len|optionsNameColumnOptions|schema|subpaths|ExchangeTreeDto|findDotsAtSegment|AllowJoinTypeChanging|y2m|optionsMarkColumnOptions|skipEvents|DataSources|buttonLink|itemsPagePreload|Direction|removeEventListener|Metadata|dim|brect|LinkedObjects|_divwrapright||Any|collision|addGradientFill|CriteriaBuilderItem|dirX|SqlErrorEventArgs|tdata|miterlimit|existingLink|tear|lowerCase|subquery|||Options|RightToLeft|start_scope|deltaX|touchend|itemHtml|itemsHtml|deltaY|_obj|l2c|step|mdoFromTable|scrollTimeout|mdoToTable|bboxwt|_getBBox|QueryParams|touchstart|rectPath|reset|SessionKey|onDragStart|pcom|UpdateGuids|findDotAtSegment|PreviousItem|touchmove|RootJunctionPrefix|||fieldsHtml|ShowPrefixes|selectedpage|Models|_removedFactory|ActiveQueryBuilder|ActiveQueryBuilder2|the|dis|_13|linear|serverSideFilter|itemsCount|plus|setCoords||Value|seglen||onDragClass|setDto|setInterval|mapPath|paneWidth|scrollAmount|yOffset||dirY|selobj|_23|showFields|nodes|opts|_removeGraph|rem|supportsTouch|bgImage|groupColumns|500|_position|list_height|finite|py2|px2|showGrouping|items_then_scroll|CurrentEditCell|Yet|5E3|arglen|nonContentHeight|_setOption|rowItems|fieldValue|getFullYear|testRow|conditionOr1|trim|scroll|day|||||hours|setAttributeNS|epsilon|_isOpen|bod|month|_refreshValue|updatePosition|createUUID||timestamp|showList|invert|_disabled|minutes|_blur|seconds|relative|_typeAhead_timer|matchee|longClickContextMenu|_typeAhead_cycling|Sorting||mouseleave|clrToString|mouseenter|callbacks|||abortevent|postprocessor|notfirst|Path|curr|readyState|updateTabindex|deleted|forValues|relatedTarget|toHex|binded|boolean|glyph|GridRow|innerHTML|onChange|swapClass|_minHeight|numPerPage|maxZ|getSubpath|refX|menuWidth|getColor|stretch|hsb2rgb|paramCounts|||_focusedOptionLi|dragHandle|shiftKey|application|clipRect|parentSelector|prevComputedStyle|reconnect|typeahead|PrimaryKey|||__def_precision|getPaddingLength|IsEqualTo|DescriptionColumnOptions|GetPropertyDialog|funcs|Height|_pathToAbsolute|titleBarText||initialized|x1m|classic||||400||||fieldsTable|contentW|y1m|Width|arr|original|x2m|_vbSize|getString|isAlternate|onAddTableToCanvas|ValueKind|solid|getPointAtLength|www|CanvasLinkOnChanged|parentOptGroup|Child|TreeStructure|getPaddingString|parameters|DisableLinkedObjectsButton|xi1|needFilter|visibleMenu|itemIndex|location|lastCollapsableHitarea|||yi1|filterRegExp|OnApplicationReadyHandlers|lastExpandableHitarea|hideshow|itemdata|hovering|lastId|browser|globalMenu|isType|selectOptions||parseTransformString||messages|mouseOffset|dontEnums|interPathHelper|query||QueryBuilderControl||renderfix||fillSelects|commaSpaces|interHelper|selectors||_name|300|Loading|parentItem|ShowLoadingItems|QBHandlers|NavBarBreadCrumbSelectNode|information|commands|itemMouseleave|itemsElement|itemMouseenter|onTreeStructureClick|hsl2rgb||DisableSessionKeeper|NavBarAction|zin|Event|ItemsStart|axis|TreeStructureSelectNode|paginate|nextcommand|docum|getPrecision|1e12|POST|GridOnAddTable|getKey|||||currentContext|CanvasOnAddTable|GridOnAddTableField|The|idx||Remove|wrappers|denominator|pickListItem|instance|needInvoke|ShowPropertyDialog||||rx2|||timeout||CanvasContextMenuCommand|dots2||clearInterval|dots1|ry2|prepareSyncGrid|||CanvasOnAddTableField|returnStr|usePlural|parse|checkScroll|CanvasOnRemoveTable|mdoFrom|curChar|mdoTo|overlays|xmin|inputs|strong|getMatchItems|ymin|ItemsCount|clientHeight|localIndex|propertyIsEnumerable|sleep|eval|GlobalTempId|sendDataToServerWithLock|onLoaded|oldRaphael|TreeDoubleClickNode|getComputedStyle|refreshSql|getDay|union|getBoxToParent|insidewidth|MessageInfo|updateGuidHash|oldGuid|o1t|ActiveXObject|selectListItem||typeMismatch|OldSQL|lastI|hideList|o2t|001|_cellEditStart|tail|srcAlias|getJoinPrefix|NotAll|_fired_|CriteriaBuilderItemGroup|_blockFrames|collector|droppedRow|general|conditions|Disabled|regex|flag|||Group|selectmenuId|enter|ConditionIsValid|fillDtoItems|getButtonContextMenuItemsMove|thisArg|TypedObject|getPointAtSegmentLength|fillDto|rowIsEmpty|recIndex|contextMenuCallback|currIndex|contentHeight|normal|contentPositionX|disable|cellpadding|positionDragX|onDrop|fontName|pathDimensions|Columns|positionDragY|rowHeight|availableAnimAttrs|iframeBlocks|clrs|radial|TableObjectOnMoved|getPosition|delta|TableObjectOnClose|TableObjectOnDestroy|rowY|margins|thisAAttr|iconClass|||_left|_top||parentGuid|_mouseInit|UseLongDescription|sortBy|1E5|_createTitleButton|dif|upto255||toColour|onFieldCheck|scrollHeight|frame|_selectedIndex|dragging|optGroupName|||_safemouseup|than|org|doNotGenerateEvent|removeData|Description|getSubpathsAtLength|collspan|and|isInAnimSet|autoOpen|cursorWait|subpath|bit|newShowGrouping|invalid|datepicker|DenyLinkManipulations|diamond|total|del|positionDefault|NameStrNotQuoted|_path2curve|CriteriaItem|Output|nes|oval|||resizeT|altKey|are|HideColumnMark|HideColumnName|targetTouches|ver|GridRowCellOnChanged|TableObjectOnLinkCreate|_importDto|TableObjectOnLinkedObjectSelected||TypeColumnOptions|HideColumnType|retainFocus|handlers|cellNameKey|dragMove|itemsArray|dragUp|fun|||parentTable||DoAction||asin|filterChangeRoutine||||oldY||letter_spacing|f_out|800|GroupingCriterion|highlight|gridRows|protected|f_in|fieldCheckbox|findRowsByExpression|gridItemDto|TableObjectOnCheckField|end_scope|||HideColumnDescription|lineHeight|GetUID|optionsDescriptionColumnOptions|identifier|thumbs_mouse_interval|line_spacing|optionsTypeColumnOptions|after|scrollToY|||||hits|_create|hoverClass|dragObj|CriteriaBuilderItemPlus|_outer||editorChangesEnabled|oldt||leftcol|mouse|coordsize||klass|QuickFilterInExpressionMatchFromBeginning|buildItems|scrollToX|rightcol|getLengthFactory||instanceOf|||generateEvent||ie7|bbx|norm|cellspacing|objectOptions|primary|elementFromPoint|transformPath|plusButton|initWin|updateObject|editableSelectControl|sum|_scrollPage|clearSelectedListItem|submenu|listIsVisible|leading|shifty|extractTransform|0000|adjustWrapper|csv|isLoaded|bezierBBox|editStart|selectNewListItem|pathes|accesskey|texts|UpdateValues|rgbtoString|per|list_item_height|prepareRGB|packageRGB|menuChildren|prevcommand|xbase|database|_toggleEnabled|todel|base3|dashes|called|pathValues|xb0|winH|contextMenuAutoHide|maxH||toLocaleString|t13||t12||atan2||units|dir|forGroup|li_text|eventType|addDashes|_toggle|paused|nogo|presentation|getAttribute|requestAnimFrame|EditableSelect|GetWrapper|newelementWrap|inited|domElement|ybase|selectFirstListItem|_fx|_fy|GetFullFieldName|li_value|contextMenuKey|stopAnimation|_typeAhead|blank|andSelf|rgba|optgroup|isBBoxIntersect|Paper|bbt|isSimple|isGrad|x_y_w_h|isArray|factory|makeDraggable|a2c|opera|getMouseOffset|curveDim|newres|touchcancel|pathToAbsolute|offsetx||startD|setup|shortLeg|endD|thin|draggedRow|offsety|_120|raphaelid|_extractTransform|u2026|calculateBox|fxfy|lastReturn|_oid|cssDot|scope_in|mouseCoords|getEventPosition|processPath|_rectPath|fixM|fixArc|fromCharCode|_getContainer|_Paper|pathToRelative|toMatrix|normalize|com|mag|q2c|docPos|_toback|_tofront|ellipsePath|movingDown|_tear|exclude|onmove|onend|onstart|was||_insertbefore|_insertafter|_init|param|oldstop|running|ownerDocument|newwin|compensation||static|ease|back|_ISURL|wildcard|_preload|getEmpty|subname|_getPath|prependTo|newpath|isFloating|newOptionClasses|thatMethod|thisLiAttr|middle|newAnim|highlightSelected|sampleCurveX|fixed|Microsoft|clmz|progid|createTextNode|_refreshPosition|_params|desc|center|rel|parsePathString|_radial_gradient|ymax|xmax|align|anchor|catmullRom2bezier|startType|nodrop|crz|module|endType|upperCase|_parseDots|serializeTable|square|every|serializeRegexp|relativeRec|strokeColor|istotal|getBoundingClientRect|detachEvent|serialize|dispatchEvent|dirtyattrs|newstroke|OnApplicationReadyFlag|load|isPointInsideBBox|||||IsNotInList|IsInList|filtredItemsCount|loadingItemsOverlay|LoadDataByFilter|4E3|applystyle|VisiblePaginationLinksCountAttr|does|images|extended|CriteriaBuilderItemDto|operator|CriteriaBuilderItemRow|outsidewidth_tmp|mergeOne|descriptionHtml|optionsHtml|applyFilter|cloneOf|prevIndex|currentSelect|selectsDto||SelectOptionDto|conditionOr|generateNavBarContextMenuItems|border_hover_color|isFirst||doScroll|Checked|trimCaption|amp|testWidth|border_color|CriteriaType|MAX_CAPTION_LENGTH|FieldTypeName|fieldIcon|outsidewidth|MarkColumnOptions|NameColumnOptions|FixedColumnMode|horizontalDragPosition|_rotleft|_rotright|optionsFixedColumnMode|cRec|currval|fieldElement|tableObj|Actions1|SubQueries|NameInQuery|metaData|MetadataObjectAdded|DisableQueryPropertiesDialog|||||targetId|parentOffset|SelectAllRowsFrom|DisableDatasourcePropertiesDialog|DisableLinkPropertiesDialog|freeX2|freeY1|updateExpressionControl|prepareSyncCanvas|150|freeX1|GridRowDto|MetadataObjectGuid|propertyName|freeY2|getNextEmptyPlaceRoutine_Test|scrollWidth|CriteriaBuilderItemGroupDto|CriteriaBuilderItemGeneralDto|General|cross|page|Clear||invokeAsap|mHide|spanField|CriteriaBuilderItemGeneral|linkNode|getOperatorObject|buildControlItems|CriteriaBuilderDto|junctionType|__repr|toExponential|throttle|UpdateObjects|LinkPart|actionAddItem|getJunctionItemType|fieldContextMenuCallback|setColumn|acces|titleW|contentH|editableSelectInstances|component|getControl|_click_|Mutators|_unblockFrames|FieldListOptions|editableSelect|prototyping|TableObjectOnUpdated|intersect|obj1|obj2|disableSelection||needUpdate|currentSorting|modal|viewBlock|merge|busy|NONE|600|needResize|checkAllField|moveToTop|simulatedEvent|newFieldsCount|_touchMoved|dragStop|borderLeftWidth|borderTopWidth|schedule|dragStart|heightBeforeDrag|_makeResizable|FieldListSortType|LongDescription|HideAsteriskItem|_size|KeyFieldsFirst|annul|_grid|newField|_makeDraggable|ShortDescription|TableObjectField|global|emptyRow|contentPositionY|paneHeight|srcExpression|findRowsByDto|rowToDelete|hasEmpty|Widget|noop|hexToRgb|GridRowOnChanged|rgbToHex|breadcrumbClick|test_interval|buildBreadcrumbElements|childButton|UpdateWrapper|createButton|scrollBy|scrollByX|scrollByY|centercol|tableValue|newRows|keyToUpdate|onCellChanged|periodical|ConditionType|AriaLabel|srcAggregate|dblclick|buttonClose|buttonProperties|small|Close|_createEditBlock|structure|drop|bindItemsEvents|GUID|nodeCount|buildElements|topOffset|bound|pass|secondary|accept|regexp|ascending|New|allRows|brackets|ajax|lower|success|generateContextMenuItems|selectedOptions|handlersPath|buildTree|fullUpdate|addOption|prepareSyncSQL|checkedFields|msgType|protect|View|_escapeable|QueryTransformerSQL|pairs|quoteString|DateTime|hooksOf|Layout|LastItemId||hiddenSQL|generic|Schema|Database|onUserDataReceived|sqlChanged|sqlError|afterDataExchange|expandableHitarea|collapsableHitarea|beforeDataExchange|debug|parts|srcUrl|contextMenuActive|Title|GetTempId|setRequestHeader|built|cookieId|GridOnRemoveRow|onRemoveObjectFromCanvas|GridOnAddRow|keyup|onCanvasContextMenuCommand|onGridRowChanged|stored|prepareBranches|applyClasses|closed|clearSyncDebounce|onAddTableFieldToCanvas|cookie|toggleCallback|CreateLink|objectsToAdd|removeObject|ToDelete|dataSources|refreshSqlWithLock|objectsToUpdate|objectsToRemove|__arg|canvasDatasourceDto|objNotationRegex|detacher|prepareSyncMetadata||code|quotedName|quote|isFunc|markAllForDelete|Tvalues|getByGuid|formatrg|0472|addEvent|selectelement|isAsterisk|sendDataToServerDelayedWrapper|tokenRegex|9999|7699|9041|2491|9816|1252|thisText|3678|5873|_switchToEdit|2335|_getCssClass|1069|_createViewBlock|replacer|_closeOthers|typeAhead|ASC|2032|1601|_switchToView|responseText|onCanvasLinkChanged|scope_out|oldIndex|ExchangeObject|range|selection|newRow|removeAllMarked|tableDragConfig|before|enable|glowConfig|animateWith|findRowByDto|getLastRowControl|setLayout|onEditorChange|onTreeDoubleClick|buildNewTree|shape2|onGridRowAdded|fillDefaultValues|createRowControl|initObject|escapeHtml|_formatText|acos|clearSync|Cvalues|comb|_exportDto|onEditorChangeDebounced|onGridRowRemoved|onLinkedObjectSelected|onLinkCreate|onCheckFieldInTable|targetPlace|onEditorChangeDebouncedCall|attempt|getFont|UpdateLink|Arial|simulatedType|SqlChanged|u00b0|dialogClass|hsla|offsetPosition|colourRegExp|beforeclose|hsba|changedTouches|whitespace|16777216|Inc|selectmenuIcon|nodeValue|Content|noPropagation|vendor|fastDrag|hsl|hsb|resizeStop|originalSize|originalPosition|XMLHTTP|hsltoString|p2s|_fn_click|shorter|_touchEnd|_touchMove|repush|_touchStart|vis|tuneText|resizeStart|resizing|cssrule|XMLHttpRequest|getPropertyValue|hsrg|getHTTPObject|resizeHandles|getInstance|||rgb2hsb|listH|stopTouch|refreshTimeout|edit|hsbtoString|preventTouch|startPath|endPath|endMarker|view|able|owner|aliases|prepareSyncInit|cannot|You|_f|wrap|will|retain|olde|TableObjectOnCreate|enddx|startdx|TableObjectOnLinkDelete|tCommand|fullSync|mdc|OnApplicationReadyTrigger|pathCommand|Marker|Editor|handleWidth|LoadFromObject|rgb2hsl|startMarker|markers|AggregateList|escapeHTML|prepareSyncQueryProperties|_createEditControl|suppressEnter|actionClear|actionDelete|importDto|075|actionAddGeneral|updateExpression|importSQL|maxlength|actionMoveDown|actionMoveUp|actionAddGroup|Infinity|importSyntaxProviderData|importMetadata|importQueryProperties|unmousemove|_events|70158|lastIndexOf|importGrid|CriteriaBuilderItemRowDto|isEnumerable|Now|TotalCount|importCanvasObjects|flush|IsNotBetween|IsBetween|between|createFromDto|typeCheck|backOut|importCanvasLayout|Updating|numsort|updateUnionControls|importCriteriaBuilder|positionOptions|getLayout|isNumeric|importCanvasLinks|backIn|unmouseup|isPointInsidePath|exports|junctionTypeContextMenuCallback|getById|getFieldsContextMenuItems|getOperationContextMenuItems|Where|operationContextMenuCallback|isWithoutTransform|getJunctionTypeContextMenuItems|importNavBar|getElementByPoint|createFieldSelect|importQueryParams|createButtonMenu|pageYOffset|createOperationMenu|plusItem|DocumentTouch|getOffset|importCanvas|CTE|Invalid|updateTableContextMenu|isFinite|about|methodsEnumerable|operatorText|createJunctionTypeMenu|importMessages|operatorObj|CanvasLink|activeUnionSubQuery|getTatLen|importQueryStructure|UserData|SQLUpdatedServerFlag|updateLinkContextMenu|onlystart|importContextMenu|Plus|updateBreadcrumb|greater|flatten|generateHeaders|getRowHeaderList|collection|prepareUpdate|uuidRegEx|you|rowSorter|pathBBox|toggleGroupColumn|include|nodeType|findTableByDataSourceGuid|CriteriaOr|pipe|large_arc_flag|effect|dtoIsEqual|error_alert|post_error|Errors|SUBQUERY_ENABLED|1e9|JavaScript|fieldText|uuidReplacer|setWindow|onNavBarAction|_reCreateEditBlock|itemDto|treeStructureElement|Url|Line|hasAggregateOrCriteria|trial|QBTRIAL|getTableFieldExpression|onRowChanged|clean|updateSortingOrderColumn|pause|resume|dtoIsSimilar|DoesNotEndWith|sortByNumber|complete|IsNotEqualTo|solve|tan|objectToString|ajaxFinish|UID|isnan|IsNull|activedescendant|solveCurveX|IsGreaterThan|IsGreaterThanOrEqualTo|adj|IsLessThan|IsNotNull|currentOptionClasses|less|IsLessThanOrEqualTo|methodName|findRowByExpression|real|toPath|equaliseTransform|bezierrg|CubicBezierAtTime|easing_formulas|getAllRows|getter|x2old|DoesNotStartWith|some|availableAttrs|DoesNotContain|ActiveMenu|y2old|StartsWith|Contains|f2old|EndsWith|redrawD|thinBg|01|000000|leftGuid|CanvasOnDropObject|canvasMenuCallback|screenY|screenX|layerY|layerX|fireEvent|QBWebCanvasLink|CopyInner|DataSourceLinkPartDto|toType|rightBox|getObjectFieldByGuid|getObjectByGuid|removeByTableGuid|ActionDto|rightGuid|rest|findByTableGuid|fromType|__formatToken|getNextEmptyPlaceRoutine_Find_RTL|getNextEmptyPlaceRoutine_Find|getEmptyPlaceCoord|tagValue|getNextEmptyPlaceRoutine_Fill|setWidths|Argument|DataSourceLayoutDto|fieldGuid|isObject|positionElements|prevOffsetParent|objX1|initMouseEvent|QueryPropertiesForm|GlobalUID|IntoControls|propertyValue|Incompatible|objY2|objY1|objX2|createEvent|Clone|DeepCopy|selectChange|padding|inline|revert|selectDataRefresh|ShowLoadingSelect|TreeSelectDto|selectsParent|recreateSelect|HideLoadingItems|IsChanged|SelectedValue|elementParent|showDescriptions|LoadDataByPager|needLoadItems|microsoft|PreloadedPagesCount|ItemsPerPage|press|buildPager|parentIndexId|TryLoadItems||512|342|localCount|500px|LinkPropertiesForm|GetLinkExpression|_getDto|parentBox|DataSourceLinkDto|getObjectHeader|getLineCoord|leftBox|UpdateConnection|callee|CreateConnection|_setDto|parentId|ShowAllItemInGroupingSelectLists|showAllItemInGroupingSelectLists|globalCount|globalStart|buildSelects|loading|minLeg|createGraph|lined|lastJ|ariaName|onObjectClose|hasDontEnumBug|dontEnumsLength|Procedure|isPrototypeOf|deserialize|treeController|maintain|For|focusItem|Relations|determinePosition|blurItem|valueOf|menuitem|Procedures|proxyEx|fromMenu|Synonyms|getTime|htmlMenuitem|htmlCommand|__entityMap|Views|Tables|heightHide|itemClick|hasTypes|blurInput|focusInput|layerClick|Default|eventSelectstart|positionSubmenu|zindex|autoHide|contextMenuShow|From|siblings|splitAccesskey|menuMouseenter|triggerIsFixed|hideMenu|inputClick|menuMouseleave|typeName|Container|isEmptyObject|specified|Sort|sepcified|parentObj|SubQuery|May|DataSourceType|current_options_value|charCodeAt|onTextboxChanged|_meta|shortDays|longDays|initInputEvents|autoShow|duplicateOptions|adjustWrapperPosition|Time|hideOtherLists|arguments2Array|objGuid|onObjectDestroy|MetadataGuid|year|Int32|adjustWrapperSize|stringify|dynamicSort|cls|removeOption|Refresh|c1Elements|clearHighlightMatches|getSeconds|Reconnect|textContent|adjustHeight|prerendered|heightToggle|need|Query|setMonth|getMinutes|scrollToListItem|longMonths|unselectListItem|EditableSelectWrapper|initEvents|Enclose|getMatchItemPrev|getMatchItemNext|selectedValues|shortMonths|sel|Common|_touchstart_|_touchend_|newfill|DataSourcePropertiesForm|_contextmenu_|lastHeight|odd|serializeTables|_touchmove_|collapseTable|classObject|isOval|DOWN|pathTypes|short|narrow|long|ovalTypes|path2vml|_mouseout_|ObjectReadOnly|_mouseup_|adjustSize|createLinkObjectsMenu|dragMaxY|onAllowDrop|spreviousclass|bVer|onDropStyle|sprevious|nextclass|findDropTargetRow|snext|previousclass|snextclass|menuItem|fontFamily|fontWeight|_touchcancel_|updateTables|tableId|fontStyle|uiQBTableClasses|updateLinkObjectsMenu|qbtableClass|tabbableLast|tabbableFirst|createSVGMatrix|reCreate|oldFieldsCount|preserveAspectRatio|aspectRatio|DXImageTransform|MetadataFieldDto|bites|TAB|NotPrimaryKey|AllFieldsSelected|thisA|touch_enabled|aks|hasIcon|__getInput|helperProportions|saveScroll|optionValue|oldWidth|oldHeight|2000|scheduled|isMove|titleH|nYou|componentH|RIGHT|LEFT|hasScroll|_mousemove_|wide|titleText|componentW|medium|Your|ENTER|END||SPACE|generateFields|_mousedown_|PAGE_DOWN|heightMax|titleButtonW|HOME|generateTitle|PAGE_UP|toBack|noRotation|description|subqueryPlusButton|showArrow|toFilter|updateNavBarContextMenu|fieldSelect||fieldType||filterClear|itemId|||toFront|carat|_viewBoxShift|filterChangeRoutineT|TreeSelectNode|updateFilter|scrollToElement|tile|UnionNavBarVisible|arrowScroll|destPercentX|fired|stickToTop|windowHeight|destLeft|_positionDragX|fieldDescription|innerHeight|jspActive|destPercentY|hideArrow|TableObjectFieldOnCheckField|Blur|blurregexp|TABLE|compatMode|filterChangeStub|onDragStyle|vbt|getInactiveItems|one|urn|behavior|isCurrentQuery|xmlns|schemas|filterChange|isPatt|getActiveItem|_divwrapleft|def|createChildMenu|stepCallback|once|textnode|ff0066|getRandom|radiogroup|getLast|ipad|widgetName|htmlfile|Android|copyOptions|unique|jPaginate|send|erase|labelledby|yxxx|xxxxxxxxxxxx|clientError|listbox|containsOption|alert|4xxx|innerText|Eve|selectedTexts|errordialog|xxxxxxxx|MooTools|child|ab8ea8824dc3b24b6666867a2c4ed58ebb762cf0|xxxx|axd|tDnD_whileDrag|combine|encodeURI||serializeParamName|write|TextNode|999|Connection|Collection|Cannot|reserved|onreadystatechange|WhiteSpace|slideDown|6001|slideUp|BackCompat|uniqueID|urlencoded|ipod|WebkitUserSelect|teardown|Msxml2|iphone|special|Arguments|disableTextSelect|form|fixedPosition|uid|trigger_jquery_event|selectstart|_mouseCapture|ForeColor|queryCommandValue|nts|16711680|invoke|65280|binary|createPopup|getInputValues|associate|setInputValues|createTextRange|left2|persist|Implements|onselectstart|HTMLCommandElement|dispatch|MouseEvents|ontouchend|HTMLMenuItemElement|errors|html5|Colour|Treeview|ESCAPE|Picker||overloadGetter|meta|exec|bName|_blank|achlmqrstvxz||achlmrqstvz|_availableAnimAttrs|tpl|appVersion|appName|decodeURIComponent|escape|defineProperty|spacing|raphaeljs|letter|Read|_timer_|ontouchstart|front|limit|atan|_duration_||__max_precision|render|toPrecision|rstm|radial_gradient|date|seal|isString|isExtensible|preventExtensions|escapeRegExp|getPrototypeOf|capitalize|pages|defineProperties|hyphenate|camelCase|maincol|err|ISURL|NaN|wrapper2|wrapper1|getOwnPropertyNames|getOwnPropertyDescriptor|UTF8decode|slide|0x|10px|oldInstances|MSIE|black|8cc59d|substitute|bezier|calc|cubic|MouseEvent|encodeURIComponent|UTF8encode|unescape|autocomplete|x7f|_hidden_select|mirror|hide_on_blur_timeout|x9f|options_value|padding_right|owns|reset_options_value|haspopup|me2|frameborder|sortByKey|x1f|wrapperCleared|_id|isFrozen||freeze|getJSON|transparent||pick|sortOptions|snapTo|SVGAngle|implementation|ajaxAddOption|case_sensitive|feature|BasicStructure|hasFeature|SVG11|getUTCMinutes|unshift|reduce|getUTCHours|getUTCMilliseconds|tableDnDUpdate|reverse|getUTCSeconds|exp|your|getFlags|matc|reduceRight|getUTCFullYear|getUTCMonth|getUTCDate|uniqueId|u00|GET|amd|forEachMethod|x00|search|178|bfnrtu|SyntaxError|evalJSON|secureEvalJSON|parsing|valid|tableDnDSerialize|isSealed|u2400|Loaded|MetadataObjectCount|tables|procedures|views|Please||SelectSyntaxProvider|Syntax|proceed|Provider|updated|changed|Update|derived|strAddSubQuery|CheckAll|SelectAll|Check|Uncheck|UncheckAll|ObjectTypeUnknown|CopyToNewUnionSubQuery|EncloseWithBrackets|NewUnionSubQuery|backward|MoveBackward|Option|Cache|Order|RemoveBrackets|GroupBy|Insert|InsertEmptyItem|ObjectTypeTable|ObjectTypeProcedure|ObjectTypeView|forward|MoveForward|MoveUp|RemoveItem|MoveDown|AnsiString|DbType|Binary|Currency|Byte|Desc|Asc|LinkManipulations|Deny|Allow|UInt16|Single|UInt32|VarNumeric|UInt64|Double|Decimal|Int16|SByte|Int64|ItemSortType|strEncloseWithBrackets|strCopyToNewUnionSubQuery|strRemove|same|strColumnNameAlreadyUsed|strAddNewCTE|strAddCTE|strUnionSubMenu|strNewUnionSubQuery|Union|LinkCardinality|Other|One|LinkSideType|Many|exists|already|currentLanguage|StoredProc|TreeSelectTypeDto|CacheOptions|MAX|LAST|MIN|Having|SUM|Synonym|GLOBAL_DEBUG|DESC|FIRST|COUNT|nullable|primaryKey|GetFullName|GridDto|GetName|old|groups|ObjectField|int|objid|non|Wednesday|Tuesday|Thursday|Saturday|Friday|Fri|Thu|Sat|Monday|Sunday|live|liveConvert|quot|TypeError|x2F|00|check_lib|toTimeString|liveEx|unload|Expanded|Selected|Test|FieldType|OutputColumnDto|ContextMenuDto|UnionsAdd|UnionNavBar|QueryStructureDto|ContextMenuItemDto|LeftColumn|SelectAllFromRight|RightColumn|Join|JoinExpression|Datasource|Kind|LeftObject|SelectAllFromLeft|RightObject|Label|DataSourceGuid|RightField|Cardinality|Command|MetaDataDto|AliasNotQuoted|DataSourceDto|System|LeftField|LinkObjectDto|ItemsPacketSize|Size|ItemsListIncomplete|000000000000|00000000|Nullable|AltName|Precision|Scale|ReadOnly|True|rowsHeaders|insert|findEmptyRow|rowIndex|_UID|sortOrder|isEmptyRow|currentEdit|onGridRowCellChanged|onRemoveRow|onAddRow|findRow|ends|starts|findRowByGuid|removeRowByDto|checkRow|colspan|thead|onDeleted|160|uiDialogTitlebar|_size1|uuid|_allowInteraction|_createButtons|beforeClose||closeText|uiDialogClasses|uiDialogTitlebarCloseText|paid|own|focusin|GridRowCellOnDeleted|onChanged|Random|focusout|limitation|them|rid||tabIndex|textStatus|tabidex|refreshSqlWithSync|syncCriteriaBuilder|sync|setQueryParamValues|dataType|jqXHR|contentType|_generatePosition|_mouseDrag|positionAbs|_mouseUp|_convertPositionTo|ping|HandlersPath|statusbar|ready|message|getQueryParams|following|onClose|succeed|AjaxQueue|criteriaBuilderFieldSelect|notall|contain|any|inst|NextItem|async|reload|Info|msgTime|Warning|MessageWarning|ajaxTimeOut|MessageError|MultipleQueriesPerSession|NeedRebindUserInit|diagonal|pager|fillSelectOptions1|79B5E3|showDescriptons|2573AF|onclick|MAX_SELECTS|level|fillSelectOptions2|dataRefresh|hellip|myType|nextAll|buttonset|breadcrumb|horizontalDrag|nowrap||isAtLeft|getArrowScroll|isAtRight|000B9D|NumericFrac|KindOfType|NumericInt|32E3|findTableByDataSourceDto|StringFixedLength|AnsiStringFixedLength|Xml|DateTimeOffset|DateTime2|offsetY|offsetX|getByLink|removeAll|removeByGraphics|props|Universal|350|DenyIntoClause|Into|linked|uncheck|Linked|clearfix|objects|using|tableNameTemplate|stack|setDataSwitch|144|paddingLeft|_setContainment|paddingTop|grip|alsoResize|titleTextW|readonly|getGrid|addClasses|_makeDraggableOriginal|hijackInternalLinks|animateDuration|scrollToPercentY|animateEase|getContentPositionY|getContentPositionX|reinitialise|submit|initialise|scrollToPercentX|scrollTo|getIsScrollableV|isScrollableH|isScrollableV|scrollToBottom|getContentPane|getContentHeight|getContentWidth|getPercentScrolledX|getIsScrollableH|getPercentScrolledY|Wed|patternTransform|markerHeight|markerWidth|fillOpacity|tofront|Gradient|gradientTransform|parseDots|userSpaceOnUse|finally|feGaussianBlur|patternUnits|orient|refY|clipPath|webkitTapHighlightColor|1999|pixelHeight|pixelWidth|DOMContentLoaded|fullfill|ninja|M11|_equaliseTransform|0z|supports|createElementNS|0A2|insertbefore|insertafter|toback|stdDeviation|shortdot|shortdashdot|shortdashdotdot|shortdash|miter|endcap|flat|dash|dashstyle|kern|oindex|longdashdotdot|longdash|dashdot|longdashdot|joinstyle|getScreenCTM|Created|21600|viewBox|removeAttribute|meet|xMinYMin|ahqstv|Falling|arrowlength|arrowwidth|u2019t|dxdy|rotation|doesn|M12|9375|unhover|625|5625|unmouseover|elastic|bounce|984375|requestAnimationFrame|webkitRequestAnimationFrame|mozRequestAnimationFrame|getData|easeIn|easeOut|easeInOut|1734|getIntersectionList|unmousedown|undrag|setStart|setFinish|pageXOffset|createSVGRect|onDragOver|curveslengths|unmouseout|04|u00d7|getElementsByBBox|getElementsByPoint|x_y|oRequestAnimationFrame|bolder|Version|toTransformString|Chrome|lighter|Computer|Apple|isSuperSimple|sizingmethod|M22|M21|descent|print|expand|baseline|700|Google|onAnimation|platform|finish|msRequestAnimationFrame|cancelBubble|returnValue|setTime|registerFont|mlcxtrv|bold|index2|u2019s|insertion|u2018s|color2|SmartAdd|offsetWithParent|bodyOffset|getRec1|equalHeight|Tue|doesNotAddBorder|delegate|toUpper|superclass|doesAddBorderForTableAndCells|subtractsBorderForOverflowNotVisible|inArray|pathIntersectionNumber|fixOutsideBounds|pathIntersection|calling|segment2|segment1|check_usr|setGlobalOnLoad|OnApplicationReady|inter|addHandler|removeHandler|interCount|GenerateClass|preload|June|July|March|April|onerror|August|December|Sun|Mon|September|October|November|Apr|Jun|Jul|Jan|Feb|Mar|Aug|Dec|January|February|Sep|Oct|Nov|createStyleSheet|runtimeStyle|gradientTitle|focussize|addRule|pixelradius|u201c|focusposition|u201d|equalWidth|_pathToRelative|120|DIV|textpathok|colors|270'.split('|'),0,{}))

