Skip to content

Instantly share code, notes, and snippets.

@lairdm
Last active December 30, 2015 04:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lairdm/bdd7410698e06970a9ff to your computer and use it in GitHub Desktop.
Save lairdm/bdd7410698e06970a9ff to your computer and use it in GitHub Desktop.
Islandplot Demo libs

Libraries for Islandplot demos

/*
* canvg.js - Javascript SVG parser and renderer on Canvas
* MIT Licensed
* Gabe Lerner (gabelerner@gmail.com)
* http://code.google.com/p/canvg/
*
* Requires: rgbcolor.js - http://www.phpied.com/rgb-color-parser-in-javascript/
*/
(function(){
// canvg(target, s)
// empty parameters: replace all 'svg' elements on page with 'canvas' elements
// target: canvas element or the id of a canvas element
// s: svg string, url to svg file, or xml document
// opts: optional hash of options
// ignoreMouse: true => ignore mouse events
// ignoreAnimation: true => ignore animations
// ignoreDimensions: true => does not try to resize canvas
// ignoreClear: true => does not clear canvas
// offsetX: int => draws at a x offset
// offsetY: int => draws at a y offset
// scaleWidth: int => scales horizontally to width
// scaleHeight: int => scales vertically to height
// renderCallback: function => will call the function after the first render is completed
// forceRedraw: function => will call the function on every frame, if it returns true, will redraw
this.canvg = function (target, s, opts) {
// no parameters
if (target == null && s == null && opts == null) {
var svgTags = document.getElementsByTagName('svg');
for (var i=0; i<svgTags.length; i++) {
var svgTag = svgTags[i];
var c = document.createElement('canvas');
c.width = svgTag.clientWidth;
c.height = svgTag.clientHeight;
svgTag.parentNode.insertBefore(c, svgTag);
svgTag.parentNode.removeChild(svgTag);
var div = document.createElement('div');
div.appendChild(svgTag);
canvg(c, div.innerHTML);
}
return;
}
opts = opts || {};
if (typeof target == 'string') {
target = document.getElementById(target);
}
// store class on canvas
if (target.svg != null) target.svg.stop();
var svg = build();
// on i.e. 8 for flash canvas, we can't assign the property so check for it
if (!(target.childNodes.length == 1 && target.childNodes[0].nodeName == 'OBJECT')) target.svg = svg;
svg.opts = opts;
var ctx = target.getContext('2d');
if (typeof(s.documentElement) != 'undefined') {
// load from xml doc
svg.loadXmlDoc(ctx, s);
}
else if (s.substr(0,1) == '<') {
// load from xml string
svg.loadXml(ctx, s);
}
else {
// load from url
svg.load(ctx, s);
}
}
function build() {
var svg = { };
svg.FRAMERATE = 30;
svg.MAX_VIRTUAL_PIXELS = 30000;
// globals
svg.init = function(ctx) {
var uniqueId = 0;
svg.UniqueId = function () { uniqueId++; return 'canvg' + uniqueId; };
svg.Definitions = {};
svg.Styles = {};
svg.Animations = [];
svg.Images = [];
svg.ctx = ctx;
svg.ViewPort = new (function () {
this.viewPorts = [];
this.Clear = function() { this.viewPorts = []; }
this.SetCurrent = function(width, height) { this.viewPorts.push({ width: width, height: height }); }
this.RemoveCurrent = function() { this.viewPorts.pop(); }
this.Current = function() { return this.viewPorts[this.viewPorts.length - 1]; }
this.width = function() { return this.Current().width; }
this.height = function() { return this.Current().height; }
this.ComputeSize = function(d) {
if (d != null && typeof(d) == 'number') return d;
if (d == 'x') return this.width();
if (d == 'y') return this.height();
return Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2);
}
});
}
svg.init();
// images loaded
svg.ImagesLoaded = function() {
for (var i=0; i<svg.Images.length; i++) {
if (!svg.Images[i].loaded) return false;
}
return true;
}
// trim
svg.trim = function(s) { return s.replace(/^\s+|\s+$/g, ''); }
// compress spaces
svg.compressSpaces = function(s) { return s.replace(/[\s\r\t\n]+/gm,' '); }
// ajax
svg.ajax = function(url) {
var AJAX;
if(window.XMLHttpRequest){AJAX=new XMLHttpRequest();}
else{AJAX=new ActiveXObject('Microsoft.XMLHTTP');}
if(AJAX){
AJAX.open('GET',url,false);
AJAX.send(null);
return AJAX.responseText;
}
return null;
}
// parse xml
svg.parseXml = function(xml) {
if (window.DOMParser)
{
var parser = new DOMParser();
return parser.parseFromString(xml, 'text/xml');
}
else
{
xml = xml.replace(/<!DOCTYPE svg[^>]*>/, '');
var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');
xmlDoc.async = 'false';
xmlDoc.loadXML(xml);
return xmlDoc;
}
}
svg.Property = function(name, value) {
this.name = name;
this.value = value;
}
svg.Property.prototype.getValue = function() {
return this.value;
}
svg.Property.prototype.hasValue = function() {
return (this.value != null && this.value !== '');
}
// return the numerical value of the property
svg.Property.prototype.numValue = function() {
if (!this.hasValue()) return 0;
var n = parseFloat(this.value);
if ((this.value + '').match(/%$/)) {
n = n / 100.0;
}
return n;
}
svg.Property.prototype.valueOrDefault = function(def) {
if (this.hasValue()) return this.value;
return def;
}
svg.Property.prototype.numValueOrDefault = function(def) {
if (this.hasValue()) return this.numValue();
return def;
}
// color extensions
// augment the current color value with the opacity
svg.Property.prototype.addOpacity = function(opacity) {
var newValue = this.value;
if (opacity != null && opacity != '' && typeof(this.value)=='string') { // can only add opacity to colors, not patterns
var color = new RGBColor(this.value);
if (color.ok) {
newValue = 'rgba(' + color.r + ', ' + color.g + ', ' + color.b + ', ' + opacity + ')';
}
}
return new svg.Property(this.name, newValue);
}
// definition extensions
// get the definition from the definitions table
svg.Property.prototype.getDefinition = function() {
var name = this.value.match(/#([^\)'"]+)/);
if (name) { name = name[1]; }
if (!name) { name = this.value; }
return svg.Definitions[name];
}
svg.Property.prototype.isUrlDefinition = function() {
return this.value.indexOf('url(') == 0
}
svg.Property.prototype.getFillStyleDefinition = function(e, opacityProp) {
var def = this.getDefinition();
// gradient
if (def != null && def.createGradient) {
return def.createGradient(svg.ctx, e, opacityProp);
}
// pattern
if (def != null && def.createPattern) {
if (def.getHrefAttribute().hasValue()) {
var pt = def.attribute('patternTransform');
def = def.getHrefAttribute().getDefinition();
if (pt.hasValue()) { def.attribute('patternTransform', true).value = pt.value; }
}
return def.createPattern(svg.ctx, e);
}
return null;
}
// length extensions
svg.Property.prototype.getDPI = function(viewPort) {
return 96.0; // TODO: compute?
}
svg.Property.prototype.getEM = function(viewPort) {
var em = 12;
var fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize);
if (fontSize.hasValue()) em = fontSize.toPixels(viewPort);
return em;
}
svg.Property.prototype.getUnits = function() {
var s = this.value+'';
return s.replace(/[0-9\.\-]/g,'');
}
// get the length as pixels
svg.Property.prototype.toPixels = function(viewPort, processPercent) {
if (!this.hasValue()) return 0;
var s = this.value+'';
if (s.match(/em$/)) return this.numValue() * this.getEM(viewPort);
if (s.match(/ex$/)) return this.numValue() * this.getEM(viewPort) / 2.0;
if (s.match(/px$/)) return this.numValue();
if (s.match(/pt$/)) return this.numValue() * this.getDPI(viewPort) * (1.0 / 72.0);
if (s.match(/pc$/)) return this.numValue() * 15;
if (s.match(/cm$/)) return this.numValue() * this.getDPI(viewPort) / 2.54;
if (s.match(/mm$/)) return this.numValue() * this.getDPI(viewPort) / 25.4;
if (s.match(/in$/)) return this.numValue() * this.getDPI(viewPort);
if (s.match(/%$/)) return this.numValue() * svg.ViewPort.ComputeSize(viewPort);
var n = this.numValue();
if (processPercent && n < 1.0) return n * svg.ViewPort.ComputeSize(viewPort);
return n;
}
// time extensions
// get the time as milliseconds
svg.Property.prototype.toMilliseconds = function() {
if (!this.hasValue()) return 0;
var s = this.value+'';
if (s.match(/s$/)) return this.numValue() * 1000;
if (s.match(/ms$/)) return this.numValue();
return this.numValue();
}
// angle extensions
// get the angle as radians
svg.Property.prototype.toRadians = function() {
if (!this.hasValue()) return 0;
var s = this.value+'';
if (s.match(/deg$/)) return this.numValue() * (Math.PI / 180.0);
if (s.match(/grad$/)) return this.numValue() * (Math.PI / 200.0);
if (s.match(/rad$/)) return this.numValue();
return this.numValue() * (Math.PI / 180.0);
}
// fonts
svg.Font = new (function() {
this.Styles = 'normal|italic|oblique|inherit';
this.Variants = 'normal|small-caps|inherit';
this.Weights = 'normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit';
this.CreateFont = function(fontStyle, fontVariant, fontWeight, fontSize, fontFamily, inherit) {
var f = inherit != null ? this.Parse(inherit) : this.CreateFont('', '', '', '', '', svg.ctx.font);
return {
fontFamily: fontFamily || f.fontFamily,
fontSize: fontSize || f.fontSize,
fontStyle: fontStyle || f.fontStyle,
fontWeight: fontWeight || f.fontWeight,
fontVariant: fontVariant || f.fontVariant,
toString: function () { return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize, this.fontFamily].join(' ') }
}
}
var that = this;
this.Parse = function(s) {
var f = {};
var d = svg.trim(svg.compressSpaces(s || '')).split(' ');
var set = { fontSize: false, fontStyle: false, fontWeight: false, fontVariant: false }
var ff = '';
for (var i=0; i<d.length; i++) {
if (!set.fontStyle && that.Styles.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontStyle = d[i]; set.fontStyle = true; }
else if (!set.fontVariant && that.Variants.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontVariant = d[i]; set.fontStyle = set.fontVariant = true; }
else if (!set.fontWeight && that.Weights.indexOf(d[i]) != -1) { if (d[i] != 'inherit') f.fontWeight = d[i]; set.fontStyle = set.fontVariant = set.fontWeight = true; }
else if (!set.fontSize) { if (d[i] != 'inherit') f.fontSize = d[i].split('/')[0]; set.fontStyle = set.fontVariant = set.fontWeight = set.fontSize = true; }
else { if (d[i] != 'inherit') ff += d[i]; }
} if (ff != '') f.fontFamily = ff;
return f;
}
});
// points and paths
svg.ToNumberArray = function(s) {
var a = svg.trim(svg.compressSpaces((s || '').replace(/,/g, ' '))).split(' ');
for (var i=0; i<a.length; i++) {
a[i] = parseFloat(a[i]);
}
return a;
}
svg.Point = function(x, y) {
this.x = x;
this.y = y;
}
svg.Point.prototype.angleTo = function(p) {
return Math.atan2(p.y - this.y, p.x - this.x);
}
svg.Point.prototype.applyTransform = function(v) {
var xp = this.x * v[0] + this.y * v[2] + v[4];
var yp = this.x * v[1] + this.y * v[3] + v[5];
this.x = xp;
this.y = yp;
}
svg.CreatePoint = function(s) {
var a = svg.ToNumberArray(s);
return new svg.Point(a[0], a[1]);
}
svg.CreatePath = function(s) {
var a = svg.ToNumberArray(s);
var path = [];
for (var i=0; i<a.length; i+=2) {
path.push(new svg.Point(a[i], a[i+1]));
}
return path;
}
// bounding box
svg.BoundingBox = function(x1, y1, x2, y2) { // pass in initial points if you want
this.x1 = Number.NaN;
this.y1 = Number.NaN;
this.x2 = Number.NaN;
this.y2 = Number.NaN;
this.x = function() { return this.x1; }
this.y = function() { return this.y1; }
this.width = function() { return this.x2 - this.x1; }
this.height = function() { return this.y2 - this.y1; }
this.addPoint = function(x, y) {
if (x != null) {
if (isNaN(this.x1) || isNaN(this.x2)) {
this.x1 = x;
this.x2 = x;
}
if (x < this.x1) this.x1 = x;
if (x > this.x2) this.x2 = x;
}
if (y != null) {
if (isNaN(this.y1) || isNaN(this.y2)) {
this.y1 = y;
this.y2 = y;
}
if (y < this.y1) this.y1 = y;
if (y > this.y2) this.y2 = y;
}
}
this.addX = function(x) { this.addPoint(x, null); }
this.addY = function(y) { this.addPoint(null, y); }
this.addBoundingBox = function(bb) {
this.addPoint(bb.x1, bb.y1);
this.addPoint(bb.x2, bb.y2);
}
this.addQuadraticCurve = function(p0x, p0y, p1x, p1y, p2x, p2y) {
var cp1x = p0x + 2/3 * (p1x - p0x); // CP1 = QP0 + 2/3 *(QP1-QP0)
var cp1y = p0y + 2/3 * (p1y - p0y); // CP1 = QP0 + 2/3 *(QP1-QP0)
var cp2x = cp1x + 1/3 * (p2x - p0x); // CP2 = CP1 + 1/3 *(QP2-QP0)
var cp2y = cp1y + 1/3 * (p2y - p0y); // CP2 = CP1 + 1/3 *(QP2-QP0)
this.addBezierCurve(p0x, p0y, cp1x, cp2x, cp1y, cp2y, p2x, p2y);
}
this.addBezierCurve = function(p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {
// from http://blog.hackers-cafe.net/2009/06/how-to-calculate-bezier-curves-bounding.html
var p0 = [p0x, p0y], p1 = [p1x, p1y], p2 = [p2x, p2y], p3 = [p3x, p3y];
this.addPoint(p0[0], p0[1]);
this.addPoint(p3[0], p3[1]);
for (i=0; i<=1; i++) {
var f = function(t) {
return Math.pow(1-t, 3) * p0[i]
+ 3 * Math.pow(1-t, 2) * t * p1[i]
+ 3 * (1-t) * Math.pow(t, 2) * p2[i]
+ Math.pow(t, 3) * p3[i];
}
var b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];
var a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];
var c = 3 * p1[i] - 3 * p0[i];
if (a == 0) {
if (b == 0) continue;
var t = -c / b;
if (0 < t && t < 1) {
if (i == 0) this.addX(f(t));
if (i == 1) this.addY(f(t));
}
continue;
}
var b2ac = Math.pow(b, 2) - 4 * c * a;
if (b2ac < 0) continue;
var t1 = (-b + Math.sqrt(b2ac)) / (2 * a);
if (0 < t1 && t1 < 1) {
if (i == 0) this.addX(f(t1));
if (i == 1) this.addY(f(t1));
}
var t2 = (-b - Math.sqrt(b2ac)) / (2 * a);
if (0 < t2 && t2 < 1) {
if (i == 0) this.addX(f(t2));
if (i == 1) this.addY(f(t2));
}
}
}
this.isPointInBox = function(x, y) {
return (this.x1 <= x && x <= this.x2 && this.y1 <= y && y <= this.y2);
}
this.addPoint(x1, y1);
this.addPoint(x2, y2);
}
// transforms
svg.Transform = function(v) {
var that = this;
this.Type = {}
// translate
this.Type.translate = function(s) {
this.p = svg.CreatePoint(s);
this.apply = function(ctx) {
ctx.translate(this.p.x || 0.0, this.p.y || 0.0);
}
this.unapply = function(ctx) {
ctx.translate(-1.0 * this.p.x || 0.0, -1.0 * this.p.y || 0.0);
}
this.applyToPoint = function(p) {
p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]);
}
}
// rotate
this.Type.rotate = function(s) {
var a = svg.ToNumberArray(s);
this.angle = new svg.Property('angle', a[0]);
this.cx = a[1] || 0;
this.cy = a[2] || 0;
this.apply = function(ctx) {
ctx.translate(this.cx, this.cy);
ctx.rotate(this.angle.toRadians());
ctx.translate(-this.cx, -this.cy);
}
this.unapply = function(ctx) {
ctx.translate(this.cx, this.cy);
ctx.rotate(-1.0 * this.angle.toRadians());
ctx.translate(-this.cx, -this.cy);
}
this.applyToPoint = function(p) {
var a = this.angle.toRadians();
p.applyTransform([1, 0, 0, 1, this.p.x || 0.0, this.p.y || 0.0]);
p.applyTransform([Math.cos(a), Math.sin(a), -Math.sin(a), Math.cos(a), 0, 0]);
p.applyTransform([1, 0, 0, 1, -this.p.x || 0.0, -this.p.y || 0.0]);
}
}
this.Type.scale = function(s) {
this.p = svg.CreatePoint(s);
this.apply = function(ctx) {
ctx.scale(this.p.x || 1.0, this.p.y || this.p.x || 1.0);
}
this.unapply = function(ctx) {
ctx.scale(1.0 / this.p.x || 1.0, 1.0 / this.p.y || this.p.x || 1.0);
}
this.applyToPoint = function(p) {
p.applyTransform([this.p.x || 0.0, 0, 0, this.p.y || 0.0, 0, 0]);
}
}
this.Type.matrix = function(s) {
this.m = svg.ToNumberArray(s);
this.apply = function(ctx) {
ctx.transform(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5]);
}
this.applyToPoint = function(p) {
p.applyTransform(this.m);
}
}
this.Type.SkewBase = function(s) {
this.base = that.Type.matrix;
this.base(s);
this.angle = new svg.Property('angle', s);
}
this.Type.SkewBase.prototype = new this.Type.matrix;
this.Type.skewX = function(s) {
this.base = that.Type.SkewBase;
this.base(s);
this.m = [1, 0, Math.tan(this.angle.toRadians()), 1, 0, 0];
}
this.Type.skewX.prototype = new this.Type.SkewBase;
this.Type.skewY = function(s) {
this.base = that.Type.SkewBase;
this.base(s);
this.m = [1, Math.tan(this.angle.toRadians()), 0, 1, 0, 0];
}
this.Type.skewY.prototype = new this.Type.SkewBase;
this.transforms = [];
this.apply = function(ctx) {
for (var i=0; i<this.transforms.length; i++) {
this.transforms[i].apply(ctx);
}
}
this.unapply = function(ctx) {
for (var i=this.transforms.length-1; i>=0; i--) {
this.transforms[i].unapply(ctx);
}
}
this.applyToPoint = function(p) {
for (var i=0; i<this.transforms.length; i++) {
this.transforms[i].applyToPoint(p);
}
}
var data = svg.trim(svg.compressSpaces(v)).replace(/\)(\s?,\s?)/g,') ').split(/\s(?=[a-z])/);
for (var i=0; i<data.length; i++) {
var type = svg.trim(data[i].split('(')[0]);
var s = data[i].split('(')[1].replace(')','');
var transform = new this.Type[type](s);
transform.type = type;
this.transforms.push(transform);
}
}
// aspect ratio
svg.AspectRatio = function(ctx, aspectRatio, width, desiredWidth, height, desiredHeight, minX, minY, refX, refY) {
// aspect ratio - http://www.w3.org/TR/SVG/coords.html#PreserveAspectRatioAttribute
aspectRatio = svg.compressSpaces(aspectRatio);
aspectRatio = aspectRatio.replace(/^defer\s/,''); // ignore defer
var align = aspectRatio.split(' ')[0] || 'xMidYMid';
var meetOrSlice = aspectRatio.split(' ')[1] || 'meet';
// calculate scale
var scaleX = width / desiredWidth;
var scaleY = height / desiredHeight;
var scaleMin = Math.min(scaleX, scaleY);
var scaleMax = Math.max(scaleX, scaleY);
if (meetOrSlice == 'meet') { desiredWidth *= scaleMin; desiredHeight *= scaleMin; }
if (meetOrSlice == 'slice') { desiredWidth *= scaleMax; desiredHeight *= scaleMax; }
refX = new svg.Property('refX', refX);
refY = new svg.Property('refY', refY);
if (refX.hasValue() && refY.hasValue()) {
ctx.translate(-scaleMin * refX.toPixels('x'), -scaleMin * refY.toPixels('y'));
}
else {
// align
if (align.match(/^xMid/) && ((meetOrSlice == 'meet' && scaleMin == scaleY) || (meetOrSlice == 'slice' && scaleMax == scaleY))) ctx.translate(width / 2.0 - desiredWidth / 2.0, 0);
if (align.match(/YMid$/) && ((meetOrSlice == 'meet' && scaleMin == scaleX) || (meetOrSlice == 'slice' && scaleMax == scaleX))) ctx.translate(0, height / 2.0 - desiredHeight / 2.0);
if (align.match(/^xMax/) && ((meetOrSlice == 'meet' && scaleMin == scaleY) || (meetOrSlice == 'slice' && scaleMax == scaleY))) ctx.translate(width - desiredWidth, 0);
if (align.match(/YMax$/) && ((meetOrSlice == 'meet' && scaleMin == scaleX) || (meetOrSlice == 'slice' && scaleMax == scaleX))) ctx.translate(0, height - desiredHeight);
}
// scale
if (align == 'none') ctx.scale(scaleX, scaleY);
else if (meetOrSlice == 'meet') ctx.scale(scaleMin, scaleMin);
else if (meetOrSlice == 'slice') ctx.scale(scaleMax, scaleMax);
// translate
ctx.translate(minX == null ? 0 : -minX, minY == null ? 0 : -minY);
}
// elements
svg.Element = {}
svg.EmptyProperty = new svg.Property('EMPTY', '');
svg.Element.ElementBase = function(node) {
this.attributes = {};
this.styles = {};
this.children = [];
// get or create attribute
this.attribute = function(name, createIfNotExists) {
var a = this.attributes[name];
if (a != null) return a;
if (createIfNotExists == true) { a = new svg.Property(name, ''); this.attributes[name] = a; }
return a || svg.EmptyProperty;
}
this.getHrefAttribute = function() {
for (var a in this.attributes) {
if (a.match(/:href$/)) {
return this.attributes[a];
}
}
return svg.EmptyProperty;
}
// get or create style, crawls up node tree
this.style = function(name, createIfNotExists) {
var s = this.styles[name];
if (s != null) return s;
var a = this.attribute(name);
if (a != null && a.hasValue()) {
this.styles[name] = a; // move up to me to cache
return a;
}
var p = this.parent;
if (p != null) {
var ps = p.style(name);
if (ps != null && ps.hasValue()) {
return ps;
}
}
if (createIfNotExists == true) { s = new svg.Property(name, ''); this.styles[name] = s; }
return s || svg.EmptyProperty;
}
// base render
this.render = function(ctx) {
// don't render display=none
if (this.style('display').value == 'none') return;
// don't render visibility=hidden
if (this.attribute('visibility').value == 'hidden') return;
ctx.save();
if (this.attribute('mask').hasValue()) { // mask
var mask = this.attribute('mask').getDefinition();
if (mask != null) mask.apply(ctx, this);
}
else if (this.style('filter').hasValue()) { // filter
var filter = this.style('filter').getDefinition();
if (filter != null) filter.apply(ctx, this);
}
else {
this.setContext(ctx);
this.renderChildren(ctx);
this.clearContext(ctx);
}
ctx.restore();
}
// base set context
this.setContext = function(ctx) {
// OVERRIDE ME!
}
// base clear context
this.clearContext = function(ctx) {
// OVERRIDE ME!
}
// base render children
this.renderChildren = function(ctx) {
for (var i=0; i<this.children.length; i++) {
this.children[i].render(ctx);
}
}
this.addChild = function(childNode, create) {
var child = childNode;
if (create) child = svg.CreateElement(childNode);
child.parent = this;
this.children.push(child);
}
if (node != null && node.nodeType == 1) { //ELEMENT_NODE
// add children
for (var i=0; i<node.childNodes.length; i++) {
var childNode = node.childNodes[i];
if (childNode.nodeType == 1) this.addChild(childNode, true); //ELEMENT_NODE
if (this.captureTextNodes && childNode.nodeType == 3) {
var text = childNode.nodeValue || childNode.text || '';
if (svg.trim(svg.compressSpaces(text)) != '') {
this.addChild(new svg.Element.tspan(childNode), false); // TEXT_NODE
}
}
}
// add attributes
for (var i=0; i<node.attributes.length; i++) {
var attribute = node.attributes[i];
this.attributes[attribute.nodeName] = new svg.Property(attribute.nodeName, attribute.nodeValue);
}
// add tag styles
var styles = svg.Styles[node.nodeName];
if (styles != null) {
for (var name in styles) {
this.styles[name] = styles[name];
}
}
// add class styles
if (this.attribute('class').hasValue()) {
var classes = svg.compressSpaces(this.attribute('class').value).split(' ');
for (var j=0; j<classes.length; j++) {
styles = svg.Styles['.'+classes[j]];
if (styles != null) {
for (var name in styles) {
this.styles[name] = styles[name];
}
}
styles = svg.Styles[node.nodeName+'.'+classes[j]];
if (styles != null) {
for (var name in styles) {
this.styles[name] = styles[name];
}
}
}
}
// add id styles
if (this.attribute('id').hasValue()) {
var styles = svg.Styles['#' + this.attribute('id').value];
if (styles != null) {
for (var name in styles) {
this.styles[name] = styles[name];
}
}
}
// add inline styles
if (this.attribute('style').hasValue()) {
var styles = this.attribute('style').value.split(';');
for (var i=0; i<styles.length; i++) {
if (svg.trim(styles[i]) != '') {
var style = styles[i].split(':');
var name = svg.trim(style[0]);
var value = svg.trim(style[1]);
this.styles[name] = new svg.Property(name, value);
}
}
}
// add id
if (this.attribute('id').hasValue()) {
if (svg.Definitions[this.attribute('id').value] == null) {
svg.Definitions[this.attribute('id').value] = this;
}
}
}
}
svg.Element.RenderedElementBase = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.setContext = function(ctx) {
// fill
if (this.style('fill').isUrlDefinition()) {
var fs = this.style('fill').getFillStyleDefinition(this, this.style('fill-opacity'));
if (fs != null) ctx.fillStyle = fs;
}
else if (this.style('fill').hasValue()) {
var fillStyle = this.style('fill');
if (fillStyle.value == 'currentColor') fillStyle.value = this.style('color').value;
ctx.fillStyle = (fillStyle.value == 'none' ? 'rgba(0,0,0,0)' : fillStyle.value);
}
if (this.style('fill-opacity').hasValue()) {
var fillStyle = new svg.Property('fill', ctx.fillStyle);
fillStyle = fillStyle.addOpacity(this.style('fill-opacity').value);
ctx.fillStyle = fillStyle.value;
}
// stroke
if (this.style('stroke').isUrlDefinition()) {
var fs = this.style('stroke').getFillStyleDefinition(this, this.style('stroke-opacity'));
if (fs != null) ctx.strokeStyle = fs;
}
else if (this.style('stroke').hasValue()) {
var strokeStyle = this.style('stroke');
if (strokeStyle.value == 'currentColor') strokeStyle.value = this.style('color').value;
ctx.strokeStyle = (strokeStyle.value == 'none' ? 'rgba(0,0,0,0)' : strokeStyle.value);
}
if (this.style('stroke-opacity').hasValue()) {
var strokeStyle = new svg.Property('stroke', ctx.strokeStyle);
strokeStyle = strokeStyle.addOpacity(this.style('stroke-opacity').value);
ctx.strokeStyle = strokeStyle.value;
}
if (this.style('stroke-width').hasValue()) {
var newLineWidth = this.style('stroke-width').toPixels();
ctx.lineWidth = newLineWidth == 0 ? 0.001 : newLineWidth; // browsers don't respect 0
}
if (this.style('stroke-linecap').hasValue()) ctx.lineCap = this.style('stroke-linecap').value;
if (this.style('stroke-linejoin').hasValue()) ctx.lineJoin = this.style('stroke-linejoin').value;
if (this.style('stroke-miterlimit').hasValue()) ctx.miterLimit = this.style('stroke-miterlimit').value;
if (this.style('stroke-dasharray').hasValue()) {
var gaps = svg.ToNumberArray(this.style('stroke-dasharray').value);
if (typeof(ctx.setLineDash) != 'undefined') { ctx.setLineDash(gaps); }
else if (typeof(ctx.webkitLineDash) != 'undefined') { ctx.webkitLineDash = gaps; }
else if (typeof(ctx.mozDash ) != 'undefined') { ctx.mozDash = gaps; }
var offset = this.style('stroke-dashoffset').numValueOrDefault(1);
if (typeof(ctx.lineDashOffset) != 'undefined') { ctx.lineDashOffset = offset; }
else if (typeof(ctx.webkitLineDashOffset) != 'undefined') { ctx.webkitLineDashOffset = offset; }
else if (typeof(ctx.mozDashOffset) != 'undefined') { ctx.mozDashOffset = offset; }
}
// font
if (typeof(ctx.font) != 'undefined') {
ctx.font = svg.Font.CreateFont(
this.style('font-style').value,
this.style('font-variant').value,
this.style('font-weight').value,
this.style('font-size').hasValue() ? this.style('font-size').toPixels() + 'px' : '',
this.style('font-family').value).toString();
}
// transform
if (this.attribute('transform').hasValue()) {
var transform = new svg.Transform(this.attribute('transform').value);
transform.apply(ctx);
}
// clip
if (this.style('clip-path').hasValue()) {
var clip = this.style('clip-path').getDefinition();
if (clip != null) clip.apply(ctx);
}
// opacity
if (this.style('opacity').hasValue()) {
ctx.globalAlpha = this.style('opacity').numValue();
}
}
}
svg.Element.RenderedElementBase.prototype = new svg.Element.ElementBase;
svg.Element.PathElementBase = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.path = function(ctx) {
if (ctx != null) ctx.beginPath();
return new svg.BoundingBox();
}
this.renderChildren = function(ctx) {
this.path(ctx);
svg.Mouse.checkPath(this, ctx);
if (ctx.fillStyle != '') {
if (this.attribute('fill-rule').hasValue()) { ctx.fill(this.attribute('fill-rule').value); }
else { ctx.fill(); }
}
if (ctx.strokeStyle != '') ctx.stroke();
var markers = this.getMarkers();
if (markers != null) {
if (this.style('marker-start').isUrlDefinition()) {
var marker = this.style('marker-start').getDefinition();
marker.render(ctx, markers[0][0], markers[0][1]);
}
if (this.style('marker-mid').isUrlDefinition()) {
var marker = this.style('marker-mid').getDefinition();
for (var i=1;i<markers.length-1;i++) {
marker.render(ctx, markers[i][0], markers[i][1]);
}
}
if (this.style('marker-end').isUrlDefinition()) {
var marker = this.style('marker-end').getDefinition();
marker.render(ctx, markers[markers.length-1][0], markers[markers.length-1][1]);
}
}
}
this.getBoundingBox = function() {
return this.path();
}
this.getMarkers = function() {
return null;
}
}
svg.Element.PathElementBase.prototype = new svg.Element.RenderedElementBase;
// svg element
svg.Element.svg = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.baseClearContext = this.clearContext;
this.clearContext = function(ctx) {
this.baseClearContext(ctx);
svg.ViewPort.RemoveCurrent();
}
this.baseSetContext = this.setContext;
this.setContext = function(ctx) {
// initial values
ctx.strokeStyle = 'rgba(0,0,0,0)';
ctx.lineCap = 'butt';
ctx.lineJoin = 'miter';
ctx.miterLimit = 4;
this.baseSetContext(ctx);
// create new view port
if (!this.attribute('x').hasValue()) this.attribute('x', true).value = 0;
if (!this.attribute('y').hasValue()) this.attribute('y', true).value = 0;
ctx.translate(this.attribute('x').toPixels('x'), this.attribute('y').toPixels('y'));
var width = svg.ViewPort.width();
var height = svg.ViewPort.height();
if (!this.attribute('width').hasValue()) this.attribute('width', true).value = '100%';
if (!this.attribute('height').hasValue()) this.attribute('height', true).value = '100%';
if (typeof(this.root) == 'undefined') {
width = this.attribute('width').toPixels('x');
height = this.attribute('height').toPixels('y');
var x = 0;
var y = 0;
if (this.attribute('refX').hasValue() && this.attribute('refY').hasValue()) {
x = -this.attribute('refX').toPixels('x');
y = -this.attribute('refY').toPixels('y');
}
ctx.beginPath();
ctx.moveTo(x, y);
ctx.lineTo(width, y);
ctx.lineTo(width, height);
ctx.lineTo(x, height);
ctx.closePath();
ctx.clip();
}
svg.ViewPort.SetCurrent(width, height);
// viewbox
if (this.attribute('viewBox').hasValue()) {
var viewBox = svg.ToNumberArray(this.attribute('viewBox').value);
var minX = viewBox[0];
var minY = viewBox[1];
width = viewBox[2];
height = viewBox[3];
svg.AspectRatio(ctx,
this.attribute('preserveAspectRatio').value,
svg.ViewPort.width(),
width,
svg.ViewPort.height(),
height,
minX,
minY,
this.attribute('refX').value,
this.attribute('refY').value);
svg.ViewPort.RemoveCurrent();
svg.ViewPort.SetCurrent(viewBox[2], viewBox[3]);
}
}
}
svg.Element.svg.prototype = new svg.Element.RenderedElementBase;
// rect element
svg.Element.rect = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
this.path = function(ctx) {
var x = this.attribute('x').toPixels('x');
var y = this.attribute('y').toPixels('y');
var width = this.attribute('width').toPixels('x');
var height = this.attribute('height').toPixels('y');
var rx = this.attribute('rx').toPixels('x');
var ry = this.attribute('ry').toPixels('y');
if (this.attribute('rx').hasValue() && !this.attribute('ry').hasValue()) ry = rx;
if (this.attribute('ry').hasValue() && !this.attribute('rx').hasValue()) rx = ry;
rx = Math.min(rx, width / 2.0);
ry = Math.min(ry, height / 2.0);
if (ctx != null) {
ctx.beginPath();
ctx.moveTo(x + rx, y);
ctx.lineTo(x + width - rx, y);
ctx.quadraticCurveTo(x + width, y, x + width, y + ry)
ctx.lineTo(x + width, y + height - ry);
ctx.quadraticCurveTo(x + width, y + height, x + width - rx, y + height)
ctx.lineTo(x + rx, y + height);
ctx.quadraticCurveTo(x, y + height, x, y + height - ry)
ctx.lineTo(x, y + ry);
ctx.quadraticCurveTo(x, y, x + rx, y)
ctx.closePath();
}
return new svg.BoundingBox(x, y, x + width, y + height);
}
}
svg.Element.rect.prototype = new svg.Element.PathElementBase;
// circle element
svg.Element.circle = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
this.path = function(ctx) {
var cx = this.attribute('cx').toPixels('x');
var cy = this.attribute('cy').toPixels('y');
var r = this.attribute('r').toPixels();
if (ctx != null) {
ctx.beginPath();
ctx.arc(cx, cy, r, 0, Math.PI * 2, true);
ctx.closePath();
}
return new svg.BoundingBox(cx - r, cy - r, cx + r, cy + r);
}
}
svg.Element.circle.prototype = new svg.Element.PathElementBase;
// ellipse element
svg.Element.ellipse = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
this.path = function(ctx) {
var KAPPA = 4 * ((Math.sqrt(2) - 1) / 3);
var rx = this.attribute('rx').toPixels('x');
var ry = this.attribute('ry').toPixels('y');
var cx = this.attribute('cx').toPixels('x');
var cy = this.attribute('cy').toPixels('y');
if (ctx != null) {
ctx.beginPath();
ctx.moveTo(cx, cy - ry);
ctx.bezierCurveTo(cx + (KAPPA * rx), cy - ry, cx + rx, cy - (KAPPA * ry), cx + rx, cy);
ctx.bezierCurveTo(cx + rx, cy + (KAPPA * ry), cx + (KAPPA * rx), cy + ry, cx, cy + ry);
ctx.bezierCurveTo(cx - (KAPPA * rx), cy + ry, cx - rx, cy + (KAPPA * ry), cx - rx, cy);
ctx.bezierCurveTo(cx - rx, cy - (KAPPA * ry), cx - (KAPPA * rx), cy - ry, cx, cy - ry);
ctx.closePath();
}
return new svg.BoundingBox(cx - rx, cy - ry, cx + rx, cy + ry);
}
}
svg.Element.ellipse.prototype = new svg.Element.PathElementBase;
// line element
svg.Element.line = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
this.getPoints = function() {
return [
new svg.Point(this.attribute('x1').toPixels('x'), this.attribute('y1').toPixels('y')),
new svg.Point(this.attribute('x2').toPixels('x'), this.attribute('y2').toPixels('y'))];
}
this.path = function(ctx) {
var points = this.getPoints();
if (ctx != null) {
ctx.beginPath();
ctx.moveTo(points[0].x, points[0].y);
ctx.lineTo(points[1].x, points[1].y);
}
return new svg.BoundingBox(points[0].x, points[0].y, points[1].x, points[1].y);
}
this.getMarkers = function() {
var points = this.getPoints();
var a = points[0].angleTo(points[1]);
return [[points[0], a], [points[1], a]];
}
}
svg.Element.line.prototype = new svg.Element.PathElementBase;
// polyline element
svg.Element.polyline = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
this.points = svg.CreatePath(this.attribute('points').value);
this.path = function(ctx) {
var bb = new svg.BoundingBox(this.points[0].x, this.points[0].y);
if (ctx != null) {
ctx.beginPath();
ctx.moveTo(this.points[0].x, this.points[0].y);
}
for (var i=1; i<this.points.length; i++) {
bb.addPoint(this.points[i].x, this.points[i].y);
if (ctx != null) ctx.lineTo(this.points[i].x, this.points[i].y);
}
return bb;
}
this.getMarkers = function() {
var markers = [];
for (var i=0; i<this.points.length - 1; i++) {
markers.push([this.points[i], this.points[i].angleTo(this.points[i+1])]);
}
markers.push([this.points[this.points.length-1], markers[markers.length-1][1]]);
return markers;
}
}
svg.Element.polyline.prototype = new svg.Element.PathElementBase;
// polygon element
svg.Element.polygon = function(node) {
this.base = svg.Element.polyline;
this.base(node);
this.basePath = this.path;
this.path = function(ctx) {
var bb = this.basePath(ctx);
if (ctx != null) {
ctx.lineTo(this.points[0].x, this.points[0].y);
ctx.closePath();
}
return bb;
}
}
svg.Element.polygon.prototype = new svg.Element.polyline;
// path element
svg.Element.path = function(node) {
this.base = svg.Element.PathElementBase;
this.base(node);
var d = this.attribute('d').value;
// TODO: convert to real lexer based on http://www.w3.org/TR/SVG11/paths.html#PathDataBNF
d = d.replace(/,/gm,' '); // get rid of all commas
d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,'$1 $2'); // separate commands from commands
d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,'$1 $2'); // separate commands from commands
d = d.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm,'$1 $2'); // separate commands from points
d = d.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm,'$1 $2'); // separate commands from points
d = d.replace(/([0-9])([+\-])/gm,'$1 $2'); // separate digits when no comma
d = d.replace(/(\.[0-9]*)(\.)/gm,'$1 $2'); // separate digits when no comma
d = d.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,'$1 $3 $4 '); // shorthand elliptical arc path syntax
d = svg.compressSpaces(d); // compress multiple spaces
d = svg.trim(d);
this.PathParser = new (function(d) {
this.tokens = d.split(' ');
this.reset = function() {
this.i = -1;
this.command = '';
this.previousCommand = '';
this.start = new svg.Point(0, 0);
this.control = new svg.Point(0, 0);
this.current = new svg.Point(0, 0);
this.points = [];
this.angles = [];
}
this.isEnd = function() {
return this.i >= this.tokens.length - 1;
}
this.isCommandOrEnd = function() {
if (this.isEnd()) return true;
return this.tokens[this.i + 1].match(/^[A-Za-z]$/) != null;
}
this.isRelativeCommand = function() {
switch(this.command)
{
case 'm':
case 'l':
case 'h':
case 'v':
case 'c':
case 's':
case 'q':
case 't':
case 'a':
case 'z':
return true;
break;
}
return false;
}
this.getToken = function() {
this.i++;
return this.tokens[this.i];
}
this.getScalar = function() {
return parseFloat(this.getToken());
}
this.nextCommand = function() {
this.previousCommand = this.command;
this.command = this.getToken();
}
this.getPoint = function() {
var p = new svg.Point(this.getScalar(), this.getScalar());
return this.makeAbsolute(p);
}
this.getAsControlPoint = function() {
var p = this.getPoint();
this.control = p;
return p;
}
this.getAsCurrentPoint = function() {
var p = this.getPoint();
this.current = p;
return p;
}
this.getReflectedControlPoint = function() {
if (this.previousCommand.toLowerCase() != 'c' &&
this.previousCommand.toLowerCase() != 's' &&
this.previousCommand.toLowerCase() != 'q' &&
this.previousCommand.toLowerCase() != 't' ){
return this.current;
}
// reflect point
var p = new svg.Point(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y);
return p;
}
this.makeAbsolute = function(p) {
if (this.isRelativeCommand()) {
p.x += this.current.x;
p.y += this.current.y;
}
return p;
}
this.addMarker = function(p, from, priorTo) {
// if the last angle isn't filled in because we didn't have this point yet ...
if (priorTo != null && this.angles.length > 0 && this.angles[this.angles.length-1] == null) {
this.angles[this.angles.length-1] = this.points[this.points.length-1].angleTo(priorTo);
}
this.addMarkerAngle(p, from == null ? null : from.angleTo(p));
}
this.addMarkerAngle = function(p, a) {
this.points.push(p);
this.angles.push(a);
}
this.getMarkerPoints = function() { return this.points; }
this.getMarkerAngles = function() {
for (var i=0; i<this.angles.length; i++) {
if (this.angles[i] == null) {
for (var j=i+1; j<this.angles.length; j++) {
if (this.angles[j] != null) {
this.angles[i] = this.angles[j];
break;
}
}
}
}
return this.angles;
}
})(d);
this.path = function(ctx) {
var pp = this.PathParser;
pp.reset();
var bb = new svg.BoundingBox();
if (ctx != null) ctx.beginPath();
while (!pp.isEnd()) {
pp.nextCommand();
switch (pp.command) {
case 'M':
case 'm':
var p = pp.getAsCurrentPoint();
pp.addMarker(p);
bb.addPoint(p.x, p.y);
if (ctx != null) ctx.moveTo(p.x, p.y);
pp.start = pp.current;
while (!pp.isCommandOrEnd()) {
var p = pp.getAsCurrentPoint();
pp.addMarker(p, pp.start);
bb.addPoint(p.x, p.y);
if (ctx != null) ctx.lineTo(p.x, p.y);
}
break;
case 'L':
case 'l':
while (!pp.isCommandOrEnd()) {
var c = pp.current;
var p = pp.getAsCurrentPoint();
pp.addMarker(p, c);
bb.addPoint(p.x, p.y);
if (ctx != null) ctx.lineTo(p.x, p.y);
}
break;
case 'H':
case 'h':
while (!pp.isCommandOrEnd()) {
var newP = new svg.Point((pp.isRelativeCommand() ? pp.current.x : 0) + pp.getScalar(), pp.current.y);
pp.addMarker(newP, pp.current);
pp.current = newP;
bb.addPoint(pp.current.x, pp.current.y);
if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);
}
break;
case 'V':
case 'v':
while (!pp.isCommandOrEnd()) {
var newP = new svg.Point(pp.current.x, (pp.isRelativeCommand() ? pp.current.y : 0) + pp.getScalar());
pp.addMarker(newP, pp.current);
pp.current = newP;
bb.addPoint(pp.current.x, pp.current.y);
if (ctx != null) ctx.lineTo(pp.current.x, pp.current.y);
}
break;
case 'C':
case 'c':
while (!pp.isCommandOrEnd()) {
var curr = pp.current;
var p1 = pp.getPoint();
var cntrl = pp.getAsControlPoint();
var cp = pp.getAsCurrentPoint();
pp.addMarker(cp, cntrl, p1);
bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
}
break;
case 'S':
case 's':
while (!pp.isCommandOrEnd()) {
var curr = pp.current;
var p1 = pp.getReflectedControlPoint();
var cntrl = pp.getAsControlPoint();
var cp = pp.getAsCurrentPoint();
pp.addMarker(cp, cntrl, p1);
bb.addBezierCurve(curr.x, curr.y, p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
if (ctx != null) ctx.bezierCurveTo(p1.x, p1.y, cntrl.x, cntrl.y, cp.x, cp.y);
}
break;
case 'Q':
case 'q':
while (!pp.isCommandOrEnd()) {
var curr = pp.current;
var cntrl = pp.getAsControlPoint();
var cp = pp.getAsCurrentPoint();
pp.addMarker(cp, cntrl, cntrl);
bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);
if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);
}
break;
case 'T':
case 't':
while (!pp.isCommandOrEnd()) {
var curr = pp.current;
var cntrl = pp.getReflectedControlPoint();
pp.control = cntrl;
var cp = pp.getAsCurrentPoint();
pp.addMarker(cp, cntrl, cntrl);
bb.addQuadraticCurve(curr.x, curr.y, cntrl.x, cntrl.y, cp.x, cp.y);
if (ctx != null) ctx.quadraticCurveTo(cntrl.x, cntrl.y, cp.x, cp.y);
}
break;
case 'A':
case 'a':
while (!pp.isCommandOrEnd()) {
var curr = pp.current;
var rx = pp.getScalar();
var ry = pp.getScalar();
var xAxisRotation = pp.getScalar() * (Math.PI / 180.0);
var largeArcFlag = pp.getScalar();
var sweepFlag = pp.getScalar();
var cp = pp.getAsCurrentPoint();
// Conversion from endpoint to center parameterization
// http://www.w3.org/TR/SVG11/implnote.html#ArcImplementationNotes
// x1', y1'
var currp = new svg.Point(
Math.cos(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.sin(xAxisRotation) * (curr.y - cp.y) / 2.0,
-Math.sin(xAxisRotation) * (curr.x - cp.x) / 2.0 + Math.cos(xAxisRotation) * (curr.y - cp.y) / 2.0
);
// adjust radii
var l = Math.pow(currp.x,2)/Math.pow(rx,2)+Math.pow(currp.y,2)/Math.pow(ry,2);
if (l > 1) {
rx *= Math.sqrt(l);
ry *= Math.sqrt(l);
}
// cx', cy'
var s = (largeArcFlag == sweepFlag ? -1 : 1) * Math.sqrt(
((Math.pow(rx,2)*Math.pow(ry,2))-(Math.pow(rx,2)*Math.pow(currp.y,2))-(Math.pow(ry,2)*Math.pow(currp.x,2))) /
(Math.pow(rx,2)*Math.pow(currp.y,2)+Math.pow(ry,2)*Math.pow(currp.x,2))
);
if (isNaN(s)) s = 0;
var cpp = new svg.Point(s * rx * currp.y / ry, s * -ry * currp.x / rx);
// cx, cy
var centp = new svg.Point(
(curr.x + cp.x) / 2.0 + Math.cos(xAxisRotation) * cpp.x - Math.sin(xAxisRotation) * cpp.y,
(curr.y + cp.y) / 2.0 + Math.sin(xAxisRotation) * cpp.x + Math.cos(xAxisRotation) * cpp.y
);
// vector magnitude
var m = function(v) { return Math.sqrt(Math.pow(v[0],2) + Math.pow(v[1],2)); }
// ratio between two vectors
var r = function(u, v) { return (u[0]*v[0]+u[1]*v[1]) / (m(u)*m(v)) }
// angle between two vectors
var a = function(u, v) { return (u[0]*v[1] < u[1]*v[0] ? -1 : 1) * Math.acos(r(u,v)); }
// initial angle
var a1 = a([1,0], [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry]);
// angle delta
var u = [(currp.x-cpp.x)/rx,(currp.y-cpp.y)/ry];
var v = [(-currp.x-cpp.x)/rx,(-currp.y-cpp.y)/ry];
var ad = a(u, v);
if (r(u,v) <= -1) ad = Math.PI;
if (r(u,v) >= 1) ad = 0;
// for markers
var dir = 1 - sweepFlag ? 1.0 : -1.0;
var ah = a1 + dir * (ad / 2.0);
var halfWay = new svg.Point(
centp.x + rx * Math.cos(ah),
centp.y + ry * Math.sin(ah)
);
pp.addMarkerAngle(halfWay, ah - dir * Math.PI / 2);
pp.addMarkerAngle(cp, ah - dir * Math.PI);
bb.addPoint(cp.x, cp.y); // TODO: this is too naive, make it better
if (ctx != null) {
var r = rx > ry ? rx : ry;
var sx = rx > ry ? 1 : rx / ry;
var sy = rx > ry ? ry / rx : 1;
ctx.translate(centp.x, centp.y);
ctx.rotate(xAxisRotation);
ctx.scale(sx, sy);
ctx.arc(0, 0, r, a1, a1 + ad, 1 - sweepFlag);
ctx.scale(1/sx, 1/sy);
ctx.rotate(-xAxisRotation);
ctx.translate(-centp.x, -centp.y);
}
}
break;
case 'Z':
case 'z':
if (ctx != null) ctx.closePath();
pp.current = pp.start;
}
}
return bb;
}
this.getMarkers = function() {
var points = this.PathParser.getMarkerPoints();
var angles = this.PathParser.getMarkerAngles();
var markers = [];
for (var i=0; i<points.length; i++) {
markers.push([points[i], angles[i]]);
}
return markers;
}
}
svg.Element.path.prototype = new svg.Element.PathElementBase;
// pattern element
svg.Element.pattern = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.createPattern = function(ctx, element) {
var width = this.attribute('width').toPixels('x', true);
var height = this.attribute('height').toPixels('y', true);
// render me using a temporary svg element
var tempSvg = new svg.Element.svg();
tempSvg.attributes['viewBox'] = new svg.Property('viewBox', this.attribute('viewBox').value);
tempSvg.attributes['width'] = new svg.Property('width', width + 'px');
tempSvg.attributes['height'] = new svg.Property('height', height + 'px');
tempSvg.attributes['transform'] = new svg.Property('transform', this.attribute('patternTransform').value);
tempSvg.children = this.children;
var c = document.createElement('canvas');
c.width = width;
c.height = height;
var cctx = c.getContext('2d');
if (this.attribute('x').hasValue() && this.attribute('y').hasValue()) {
cctx.translate(this.attribute('x').toPixels('x', true), this.attribute('y').toPixels('y', true));
}
// render 3x3 grid so when we transform there's no white space on edges
for (var x=-1; x<=1; x++) {
for (var y=-1; y<=1; y++) {
cctx.save();
cctx.translate(x * c.width, y * c.height);
tempSvg.render(cctx);
cctx.restore();
}
}
var pattern = ctx.createPattern(c, 'repeat');
return pattern;
}
}
svg.Element.pattern.prototype = new svg.Element.ElementBase;
// marker element
svg.Element.marker = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.baseRender = this.render;
this.render = function(ctx, point, angle) {
ctx.translate(point.x, point.y);
if (this.attribute('orient').valueOrDefault('auto') == 'auto') ctx.rotate(angle);
if (this.attribute('markerUnits').valueOrDefault('strokeWidth') == 'strokeWidth') ctx.scale(ctx.lineWidth, ctx.lineWidth);
ctx.save();
// render me using a temporary svg element
var tempSvg = new svg.Element.svg();
tempSvg.attributes['viewBox'] = new svg.Property('viewBox', this.attribute('viewBox').value);
tempSvg.attributes['refX'] = new svg.Property('refX', this.attribute('refX').value);
tempSvg.attributes['refY'] = new svg.Property('refY', this.attribute('refY').value);
tempSvg.attributes['width'] = new svg.Property('width', this.attribute('markerWidth').value);
tempSvg.attributes['height'] = new svg.Property('height', this.attribute('markerHeight').value);
tempSvg.attributes['fill'] = new svg.Property('fill', this.attribute('fill').valueOrDefault('black'));
tempSvg.attributes['stroke'] = new svg.Property('stroke', this.attribute('stroke').valueOrDefault('none'));
tempSvg.children = this.children;
tempSvg.render(ctx);
ctx.restore();
if (this.attribute('markerUnits').valueOrDefault('strokeWidth') == 'strokeWidth') ctx.scale(1/ctx.lineWidth, 1/ctx.lineWidth);
if (this.attribute('orient').valueOrDefault('auto') == 'auto') ctx.rotate(-angle);
ctx.translate(-point.x, -point.y);
}
}
svg.Element.marker.prototype = new svg.Element.ElementBase;
// definitions element
svg.Element.defs = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.render = function(ctx) {
// NOOP
}
}
svg.Element.defs.prototype = new svg.Element.ElementBase;
// base for gradients
svg.Element.GradientBase = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.gradientUnits = this.attribute('gradientUnits').valueOrDefault('objectBoundingBox');
this.stops = [];
for (var i=0; i<this.children.length; i++) {
var child = this.children[i];
if (child.type == 'stop') this.stops.push(child);
}
this.getGradient = function() {
// OVERRIDE ME!
}
this.createGradient = function(ctx, element, parentOpacityProp) {
var stopsContainer = this;
if (this.getHrefAttribute().hasValue()) {
stopsContainer = this.getHrefAttribute().getDefinition();
}
var addParentOpacity = function (color) {
if (parentOpacityProp.hasValue()) {
var p = new svg.Property('color', color);
return p.addOpacity(parentOpacityProp.value).value;
}
return color;
};
var g = this.getGradient(ctx, element);
if (g == null) return addParentOpacity(stopsContainer.stops[stopsContainer.stops.length - 1].color);
for (var i=0; i<stopsContainer.stops.length; i++) {
g.addColorStop(stopsContainer.stops[i].offset, addParentOpacity(stopsContainer.stops[i].color));
}
if (this.attribute('gradientTransform').hasValue()) {
// render as transformed pattern on temporary canvas
var rootView = svg.ViewPort.viewPorts[0];
var rect = new svg.Element.rect();
rect.attributes['x'] = new svg.Property('x', -svg.MAX_VIRTUAL_PIXELS/3.0);
rect.attributes['y'] = new svg.Property('y', -svg.MAX_VIRTUAL_PIXELS/3.0);
rect.attributes['width'] = new svg.Property('width', svg.MAX_VIRTUAL_PIXELS);
rect.attributes['height'] = new svg.Property('height', svg.MAX_VIRTUAL_PIXELS);
var group = new svg.Element.g();
group.attributes['transform'] = new svg.Property('transform', this.attribute('gradientTransform').value);
group.children = [ rect ];
var tempSvg = new svg.Element.svg();
tempSvg.attributes['x'] = new svg.Property('x', 0);
tempSvg.attributes['y'] = new svg.Property('y', 0);
tempSvg.attributes['width'] = new svg.Property('width', rootView.width);
tempSvg.attributes['height'] = new svg.Property('height', rootView.height);
tempSvg.children = [ group ];
var c = document.createElement('canvas');
c.width = rootView.width;
c.height = rootView.height;
var tempCtx = c.getContext('2d');
tempCtx.fillStyle = g;
tempSvg.render(tempCtx);
return tempCtx.createPattern(c, 'no-repeat');
}
return g;
}
}
svg.Element.GradientBase.prototype = new svg.Element.ElementBase;
// linear gradient element
svg.Element.linearGradient = function(node) {
this.base = svg.Element.GradientBase;
this.base(node);
this.getGradient = function(ctx, element) {
var bb = element.getBoundingBox();
if (!this.attribute('x1').hasValue()
&& !this.attribute('y1').hasValue()
&& !this.attribute('x2').hasValue()
&& !this.attribute('y2').hasValue()) {
this.attribute('x1', true).value = 0;
this.attribute('y1', true).value = 0;
this.attribute('x2', true).value = 1;
this.attribute('y2', true).value = 0;
}
var x1 = (this.gradientUnits == 'objectBoundingBox'
? bb.x() + bb.width() * this.attribute('x1').numValue()
: this.attribute('x1').toPixels('x'));
var y1 = (this.gradientUnits == 'objectBoundingBox'
? bb.y() + bb.height() * this.attribute('y1').numValue()
: this.attribute('y1').toPixels('y'));
var x2 = (this.gradientUnits == 'objectBoundingBox'
? bb.x() + bb.width() * this.attribute('x2').numValue()
: this.attribute('x2').toPixels('x'));
var y2 = (this.gradientUnits == 'objectBoundingBox'
? bb.y() + bb.height() * this.attribute('y2').numValue()
: this.attribute('y2').toPixels('y'));
if (x1 == x2 && y1 == y2) return null;
return ctx.createLinearGradient(x1, y1, x2, y2);
}
}
svg.Element.linearGradient.prototype = new svg.Element.GradientBase;
// radial gradient element
svg.Element.radialGradient = function(node) {
this.base = svg.Element.GradientBase;
this.base(node);
this.getGradient = function(ctx, element) {
var bb = element.getBoundingBox();
if (!this.attribute('cx').hasValue()) this.attribute('cx', true).value = '50%';
if (!this.attribute('cy').hasValue()) this.attribute('cy', true).value = '50%';
if (!this.attribute('r').hasValue()) this.attribute('r', true).value = '50%';
var cx = (this.gradientUnits == 'objectBoundingBox'
? bb.x() + bb.width() * this.attribute('cx').numValue()
: this.attribute('cx').toPixels('x'));
var cy = (this.gradientUnits == 'objectBoundingBox'
? bb.y() + bb.height() * this.attribute('cy').numValue()
: this.attribute('cy').toPixels('y'));
var fx = cx;
var fy = cy;
if (this.attribute('fx').hasValue()) {
fx = (this.gradientUnits == 'objectBoundingBox'
? bb.x() + bb.width() * this.attribute('fx').numValue()
: this.attribute('fx').toPixels('x'));
}
if (this.attribute('fy').hasValue()) {
fy = (this.gradientUnits == 'objectBoundingBox'
? bb.y() + bb.height() * this.attribute('fy').numValue()
: this.attribute('fy').toPixels('y'));
}
var r = (this.gradientUnits == 'objectBoundingBox'
? (bb.width() + bb.height()) / 2.0 * this.attribute('r').numValue()
: this.attribute('r').toPixels());
return ctx.createRadialGradient(fx, fy, 0, cx, cy, r);
}
}
svg.Element.radialGradient.prototype = new svg.Element.GradientBase;
// gradient stop element
svg.Element.stop = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.offset = this.attribute('offset').numValue();
if (this.offset < 0) this.offset = 0;
if (this.offset > 1) this.offset = 1;
var stopColor = this.style('stop-color');
if (this.style('stop-opacity').hasValue()) stopColor = stopColor.addOpacity(this.style('stop-opacity').value);
this.color = stopColor.value;
}
svg.Element.stop.prototype = new svg.Element.ElementBase;
// animation base element
svg.Element.AnimateBase = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
svg.Animations.push(this);
this.duration = 0.0;
this.begin = this.attribute('begin').toMilliseconds();
this.maxDuration = this.begin + this.attribute('dur').toMilliseconds();
this.getProperty = function() {
var attributeType = this.attribute('attributeType').value;
var attributeName = this.attribute('attributeName').value;
if (attributeType == 'CSS') {
return this.parent.style(attributeName, true);
}
return this.parent.attribute(attributeName, true);
};
this.initialValue = null;
this.initialUnits = '';
this.removed = false;
this.calcValue = function() {
// OVERRIDE ME!
return '';
}
this.update = function(delta) {
// set initial value
if (this.initialValue == null) {
this.initialValue = this.getProperty().value;
this.initialUnits = this.getProperty().getUnits();
}
// if we're past the end time
if (this.duration > this.maxDuration) {
// loop for indefinitely repeating animations
if (this.attribute('repeatCount').value == 'indefinite'
|| this.attribute('repeatDur').value == 'indefinite') {
this.duration = 0.0
}
else if (this.attribute('fill').valueOrDefault('remove') == 'remove' && !this.removed) {
this.removed = true;
this.getProperty().value = this.initialValue;
return true;
}
else {
return false; // no updates made
}
}
this.duration = this.duration + delta;
// if we're past the begin time
var updated = false;
if (this.begin < this.duration) {
var newValue = this.calcValue(); // tween
if (this.attribute('type').hasValue()) {
// for transform, etc.
var type = this.attribute('type').value;
newValue = type + '(' + newValue + ')';
}
this.getProperty().value = newValue;
updated = true;
}
return updated;
}
this.from = this.attribute('from');
this.to = this.attribute('to');
this.values = this.attribute('values');
if (this.values.hasValue()) this.values.value = this.values.value.split(';');
// fraction of duration we've covered
this.progress = function() {
var ret = { progress: (this.duration - this.begin) / (this.maxDuration - this.begin) };
if (this.values.hasValue()) {
var p = ret.progress * (this.values.value.length - 1);
var lb = Math.floor(p), ub = Math.ceil(p);
ret.from = new svg.Property('from', parseFloat(this.values.value[lb]));
ret.to = new svg.Property('to', parseFloat(this.values.value[ub]));
ret.progress = (p - lb) / (ub - lb);
}
else {
ret.from = this.from;
ret.to = this.to;
}
return ret;
}
}
svg.Element.AnimateBase.prototype = new svg.Element.ElementBase;
// animate element
svg.Element.animate = function(node) {
this.base = svg.Element.AnimateBase;
this.base(node);
this.calcValue = function() {
var p = this.progress();
// tween value linearly
var newValue = p.from.numValue() + (p.to.numValue() - p.from.numValue()) * p.progress;
return newValue + this.initialUnits;
};
}
svg.Element.animate.prototype = new svg.Element.AnimateBase;
// animate color element
svg.Element.animateColor = function(node) {
this.base = svg.Element.AnimateBase;
this.base(node);
this.calcValue = function() {
var p = this.progress();
var from = new RGBColor(p.from.value);
var to = new RGBColor(p.to.value);
if (from.ok && to.ok) {
// tween color linearly
var r = from.r + (to.r - from.r) * p.progress;
var g = from.g + (to.g - from.g) * p.progress;
var b = from.b + (to.b - from.b) * p.progress;
return 'rgb('+parseInt(r,10)+','+parseInt(g,10)+','+parseInt(b,10)+')';
}
return this.attribute('from').value;
};
}
svg.Element.animateColor.prototype = new svg.Element.AnimateBase;
// animate transform element
svg.Element.animateTransform = function(node) {
this.base = svg.Element.AnimateBase;
this.base(node);
this.calcValue = function() {
var p = this.progress();
// tween value linearly
var from = svg.ToNumberArray(p.from.value);
var to = svg.ToNumberArray(p.to.value);
var newValue = '';
for (var i=0; i<from.length; i++) {
newValue += from[i] + (to[i] - from[i]) * p.progress + ' ';
}
return newValue;
};
}
svg.Element.animateTransform.prototype = new svg.Element.animate;
// font element
svg.Element.font = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.horizAdvX = this.attribute('horiz-adv-x').numValue();
this.isRTL = false;
this.isArabic = false;
this.fontFace = null;
this.missingGlyph = null;
this.glyphs = [];
for (var i=0; i<this.children.length; i++) {
var child = this.children[i];
if (child.type == 'font-face') {
this.fontFace = child;
if (child.style('font-family').hasValue()) {
svg.Definitions[child.style('font-family').value] = this;
}
}
else if (child.type == 'missing-glyph') this.missingGlyph = child;
else if (child.type == 'glyph') {
if (child.arabicForm != '') {
this.isRTL = true;
this.isArabic = true;
if (typeof(this.glyphs[child.unicode]) == 'undefined') this.glyphs[child.unicode] = [];
this.glyphs[child.unicode][child.arabicForm] = child;
}
else {
this.glyphs[child.unicode] = child;
}
}
}
}
svg.Element.font.prototype = new svg.Element.ElementBase;
// font-face element
svg.Element.fontface = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.ascent = this.attribute('ascent').value;
this.descent = this.attribute('descent').value;
this.unitsPerEm = this.attribute('units-per-em').numValue();
}
svg.Element.fontface.prototype = new svg.Element.ElementBase;
// missing-glyph element
svg.Element.missingglyph = function(node) {
this.base = svg.Element.path;
this.base(node);
this.horizAdvX = 0;
}
svg.Element.missingglyph.prototype = new svg.Element.path;
// glyph element
svg.Element.glyph = function(node) {
this.base = svg.Element.path;
this.base(node);
this.horizAdvX = this.attribute('horiz-adv-x').numValue();
this.unicode = this.attribute('unicode').value;
this.arabicForm = this.attribute('arabic-form').value;
}
svg.Element.glyph.prototype = new svg.Element.path;
// text element
svg.Element.text = function(node) {
this.captureTextNodes = true;
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.baseSetContext = this.setContext;
this.setContext = function(ctx) {
this.baseSetContext(ctx);
if (this.style('dominant-baseline').hasValue()) ctx.textBaseline = this.style('dominant-baseline').value;
if (this.style('alignment-baseline').hasValue()) ctx.textBaseline = this.style('alignment-baseline').value;
}
this.getBoundingBox = function () {
// TODO: implement
return new svg.BoundingBox(this.attribute('x').toPixels('x'), this.attribute('y').toPixels('y'), 0, 0);
}
this.renderChildren = function(ctx) {
this.x = this.attribute('x').toPixels('x');
this.y = this.attribute('y').toPixels('y');
this.x += this.getAnchorDelta(ctx, this, 0);
for (var i=0; i<this.children.length; i++) {
this.renderChild(ctx, this, i);
}
}
this.getAnchorDelta = function (ctx, parent, startI) {
var textAnchor = this.style('text-anchor').valueOrDefault('start');
if (textAnchor != 'start') {
var width = 0;
for (var i=startI; i<parent.children.length; i++) {
var child = parent.children[i];
if (i > startI && child.attribute('x').hasValue()) break; // new group
width += child.measureTextRecursive(ctx);
}
return -1 * (textAnchor == 'end' ? width : width / 2.0);
}
return 0;
}
this.renderChild = function(ctx, parent, i) {
var child = parent.children[i];
if (child.attribute('x').hasValue()) {
child.x = child.attribute('x').toPixels('x') + this.getAnchorDelta(ctx, parent, i);
}
else {
if (this.attribute('dx').hasValue()) this.x += this.attribute('dx').toPixels('x');
if (child.attribute('dx').hasValue()) this.x += child.attribute('dx').toPixels('x');
child.x = this.x;
}
this.x = child.x + child.measureText(ctx);
if (child.attribute('y').hasValue()) {
child.y = child.attribute('y').toPixels('y');
}
else {
if (this.attribute('dy').hasValue()) this.y += this.attribute('dy').toPixels('y');
if (child.attribute('dy').hasValue()) this.y += child.attribute('dy').toPixels('y');
child.y = this.y;
}
this.y = child.y;
child.render(ctx);
for (var i=0; i<child.children.length; i++) {
this.renderChild(ctx, child, i);
}
}
}
svg.Element.text.prototype = new svg.Element.RenderedElementBase;
// text base
svg.Element.TextElementBase = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.getGlyph = function(font, text, i) {
var c = text[i];
var glyph = null;
if (font.isArabic) {
var arabicForm = 'isolated';
if ((i==0 || text[i-1]==' ') && i<text.length-2 && text[i+1]!=' ') arabicForm = 'terminal';
if (i>0 && text[i-1]!=' ' && i<text.length-2 && text[i+1]!=' ') arabicForm = 'medial';
if (i>0 && text[i-1]!=' ' && (i == text.length-1 || text[i+1]==' ')) arabicForm = 'initial';
if (typeof(font.glyphs[c]) != 'undefined') {
glyph = font.glyphs[c][arabicForm];
if (glyph == null && font.glyphs[c].type == 'glyph') glyph = font.glyphs[c];
}
}
else {
glyph = font.glyphs[c];
}
if (glyph == null) glyph = font.missingGlyph;
return glyph;
}
this.renderChildren = function(ctx) {
var customFont = this.parent.style('font-family').getDefinition();
if (customFont != null) {
var fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize);
var fontStyle = this.parent.style('font-style').valueOrDefault(svg.Font.Parse(svg.ctx.font).fontStyle);
var text = this.getText();
if (customFont.isRTL) text = text.split("").reverse().join("");
var dx = svg.ToNumberArray(this.parent.attribute('dx').value);
for (var i=0; i<text.length; i++) {
var glyph = this.getGlyph(customFont, text, i);
var scale = fontSize / customFont.fontFace.unitsPerEm;
ctx.translate(this.x, this.y);
ctx.scale(scale, -scale);
var lw = ctx.lineWidth;
ctx.lineWidth = ctx.lineWidth * customFont.fontFace.unitsPerEm / fontSize;
if (fontStyle == 'italic') ctx.transform(1, 0, .4, 1, 0, 0);
glyph.render(ctx);
if (fontStyle == 'italic') ctx.transform(1, 0, -.4, 1, 0, 0);
ctx.lineWidth = lw;
ctx.scale(1/scale, -1/scale);
ctx.translate(-this.x, -this.y);
this.x += fontSize * (glyph.horizAdvX || customFont.horizAdvX) / customFont.fontFace.unitsPerEm;
if (typeof(dx[i]) != 'undefined' && !isNaN(dx[i])) {
this.x += dx[i];
}
}
return;
}
if (ctx.fillStyle != '') ctx.fillText(svg.compressSpaces(this.getText()), this.x, this.y);
if (ctx.strokeStyle != '') ctx.strokeText(svg.compressSpaces(this.getText()), this.x, this.y);
}
this.getText = function() {
// OVERRIDE ME
}
this.measureTextRecursive = function(ctx) {
var width = this.measureText(ctx);
for (var i=0; i<this.children.length; i++) {
width += this.children[i].measureTextRecursive(ctx);
}
return width;
}
this.measureText = function(ctx) {
var customFont = this.parent.style('font-family').getDefinition();
if (customFont != null) {
var fontSize = this.parent.style('font-size').numValueOrDefault(svg.Font.Parse(svg.ctx.font).fontSize);
var measure = 0;
var text = this.getText();
if (customFont.isRTL) text = text.split("").reverse().join("");
var dx = svg.ToNumberArray(this.parent.attribute('dx').value);
for (var i=0; i<text.length; i++) {
var glyph = this.getGlyph(customFont, text, i);
measure += (glyph.horizAdvX || customFont.horizAdvX) * fontSize / customFont.fontFace.unitsPerEm;
if (typeof(dx[i]) != 'undefined' && !isNaN(dx[i])) {
measure += dx[i];
}
}
return measure;
}
var textToMeasure = svg.compressSpaces(this.getText());
if (!ctx.measureText) return textToMeasure.length * 10;
ctx.save();
this.setContext(ctx);
var width = ctx.measureText(textToMeasure).width;
ctx.restore();
return width;
}
}
svg.Element.TextElementBase.prototype = new svg.Element.RenderedElementBase;
// tspan
svg.Element.tspan = function(node) {
this.captureTextNodes = true;
this.base = svg.Element.TextElementBase;
this.base(node);
this.text = node.nodeValue || node.text || '';
this.getText = function() {
return this.text;
}
}
svg.Element.tspan.prototype = new svg.Element.TextElementBase;
// tref
svg.Element.tref = function(node) {
this.base = svg.Element.TextElementBase;
this.base(node);
this.getText = function() {
var element = this.getHrefAttribute().getDefinition();
if (element != null) return element.children[0].getText();
}
}
svg.Element.tref.prototype = new svg.Element.TextElementBase;
// a element
svg.Element.a = function(node) {
this.base = svg.Element.TextElementBase;
this.base(node);
this.hasText = true;
for (var i=0; i<node.childNodes.length; i++) {
if (node.childNodes[i].nodeType != 3) this.hasText = false;
}
// this might contain text
this.text = this.hasText ? node.childNodes[0].nodeValue : '';
this.getText = function() {
return this.text;
}
this.baseRenderChildren = this.renderChildren;
this.renderChildren = function(ctx) {
if (this.hasText) {
// render as text element
this.baseRenderChildren(ctx);
var fontSize = new svg.Property('fontSize', svg.Font.Parse(svg.ctx.font).fontSize);
svg.Mouse.checkBoundingBox(this, new svg.BoundingBox(this.x, this.y - fontSize.toPixels('y'), this.x + this.measureText(ctx), this.y));
}
else {
// render as temporary group
var g = new svg.Element.g();
g.children = this.children;
g.parent = this;
g.render(ctx);
}
}
this.onclick = function() {
window.open(this.getHrefAttribute().value);
}
this.onmousemove = function() {
svg.ctx.canvas.style.cursor = 'pointer';
}
}
svg.Element.a.prototype = new svg.Element.TextElementBase;
// image element
svg.Element.image = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
var href = this.getHrefAttribute().value;
var isSvg = href.match(/\.svg$/)
svg.Images.push(this);
this.loaded = false;
if (!isSvg) {
this.img = document.createElement('img');
var self = this;
this.img.onload = function() { self.loaded = true; }
this.img.onerror = function() { if (typeof(console) != 'undefined') { console.log('ERROR: image "' + href + '" not found'); self.loaded = true; } }
this.img.src = href;
}
else {
this.img = svg.ajax(href);
this.loaded = true;
}
this.renderChildren = function(ctx) {
var x = this.attribute('x').toPixels('x');
var y = this.attribute('y').toPixels('y');
var width = this.attribute('width').toPixels('x');
var height = this.attribute('height').toPixels('y');
if (width == 0 || height == 0) return;
ctx.save();
if (isSvg) {
ctx.drawSvg(this.img, x, y, width, height);
}
else {
ctx.translate(x, y);
svg.AspectRatio(ctx,
this.attribute('preserveAspectRatio').value,
width,
this.img.width,
height,
this.img.height,
0,
0);
ctx.drawImage(this.img, 0, 0);
}
ctx.restore();
}
this.getBoundingBox = function() {
var x = this.attribute('x').toPixels('x');
var y = this.attribute('y').toPixels('y');
var width = this.attribute('width').toPixels('x');
var height = this.attribute('height').toPixels('y');
return new svg.BoundingBox(x, y, x + width, y + height);
}
}
svg.Element.image.prototype = new svg.Element.RenderedElementBase;
// group element
svg.Element.g = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.getBoundingBox = function() {
var bb = new svg.BoundingBox();
for (var i=0; i<this.children.length; i++) {
bb.addBoundingBox(this.children[i].getBoundingBox());
}
return bb;
};
}
svg.Element.g.prototype = new svg.Element.RenderedElementBase;
// symbol element
svg.Element.symbol = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.baseSetContext = this.setContext;
this.setContext = function(ctx) {
this.baseSetContext(ctx);
// viewbox
if (this.attribute('viewBox').hasValue()) {
var viewBox = svg.ToNumberArray(this.attribute('viewBox').value);
var minX = viewBox[0];
var minY = viewBox[1];
width = viewBox[2];
height = viewBox[3];
svg.AspectRatio(ctx,
this.attribute('preserveAspectRatio').value,
this.attribute('width').toPixels('x'),
width,
this.attribute('height').toPixels('y'),
height,
minX,
minY);
svg.ViewPort.SetCurrent(viewBox[2], viewBox[3]);
}
}
}
svg.Element.symbol.prototype = new svg.Element.RenderedElementBase;
// style element
svg.Element.style = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
// text, or spaces then CDATA
var css = ''
for (var i=0; i<node.childNodes.length; i++) {
css += node.childNodes[i].nodeValue;
}
css = css.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm, ''); // remove comments
css = svg.compressSpaces(css); // replace whitespace
var cssDefs = css.split('}');
for (var i=0; i<cssDefs.length; i++) {
if (svg.trim(cssDefs[i]) != '') {
var cssDef = cssDefs[i].split('{');
var cssClasses = cssDef[0].split(',');
var cssProps = cssDef[1].split(';');
for (var j=0; j<cssClasses.length; j++) {
var cssClass = svg.trim(cssClasses[j]);
if (cssClass != '') {
var props = {};
for (var k=0; k<cssProps.length; k++) {
var prop = cssProps[k].indexOf(':');
var name = cssProps[k].substr(0, prop);
var value = cssProps[k].substr(prop + 1, cssProps[k].length - prop);
if (name != null && value != null) {
props[svg.trim(name)] = new svg.Property(svg.trim(name), svg.trim(value));
}
}
svg.Styles[cssClass] = props;
if (cssClass == '@font-face') {
var fontFamily = props['font-family'].value.replace(/"/g,'');
var srcs = props['src'].value.split(',');
for (var s=0; s<srcs.length; s++) {
if (srcs[s].indexOf('format("svg")') > 0) {
var urlStart = srcs[s].indexOf('url');
var urlEnd = srcs[s].indexOf(')', urlStart);
var url = srcs[s].substr(urlStart + 5, urlEnd - urlStart - 6);
var doc = svg.parseXml(svg.ajax(url));
var fonts = doc.getElementsByTagName('font');
for (var f=0; f<fonts.length; f++) {
var font = svg.CreateElement(fonts[f]);
svg.Definitions[fontFamily] = font;
}
}
}
}
}
}
}
}
}
svg.Element.style.prototype = new svg.Element.ElementBase;
// use element
svg.Element.use = function(node) {
this.base = svg.Element.RenderedElementBase;
this.base(node);
this.baseSetContext = this.setContext;
this.setContext = function(ctx) {
this.baseSetContext(ctx);
if (this.attribute('x').hasValue()) ctx.translate(this.attribute('x').toPixels('x'), 0);
if (this.attribute('y').hasValue()) ctx.translate(0, this.attribute('y').toPixels('y'));
}
this.getDefinition = function() {
var element = this.getHrefAttribute().getDefinition();
if (this.attribute('width').hasValue()) element.attribute('width', true).value = this.attribute('width').value;
if (this.attribute('height').hasValue()) element.attribute('height', true).value = this.attribute('height').value;
return element;
}
this.path = function(ctx) {
var element = this.getDefinition();
if (element != null) element.path(ctx);
}
this.getBoundingBox = function() {
var element = this.getDefinition();
if (element != null) return element.getBoundingBox();
}
this.renderChildren = function(ctx) {
var element = this.getDefinition();
if (element != null) {
// temporarily detach from parent and render
var oldParent = element.parent;
element.parent = null;
element.render(ctx);
element.parent = oldParent;
}
}
}
svg.Element.use.prototype = new svg.Element.RenderedElementBase;
// mask element
svg.Element.mask = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.apply = function(ctx, element) {
// render as temp svg
var x = this.attribute('x').toPixels('x');
var y = this.attribute('y').toPixels('y');
var width = this.attribute('width').toPixels('x');
var height = this.attribute('height').toPixels('y');
if (width == 0 && height == 0) {
var bb = new svg.BoundingBox();
for (var i=0; i<this.children.length; i++) {
bb.addBoundingBox(this.children[i].getBoundingBox());
}
var x = Math.floor(bb.x1);
var y = Math.floor(bb.y1);
var width = Math.floor(bb.width());
var height = Math.floor(bb.height());
}
// temporarily remove mask to avoid recursion
var mask = element.attribute('mask').value;
element.attribute('mask').value = '';
var cMask = document.createElement('canvas');
cMask.width = x + width;
cMask.height = y + height;
var maskCtx = cMask.getContext('2d');
this.renderChildren(maskCtx);
var c = document.createElement('canvas');
c.width = x + width;
c.height = y + height;
var tempCtx = c.getContext('2d');
element.render(tempCtx);
tempCtx.globalCompositeOperation = 'destination-in';
tempCtx.fillStyle = maskCtx.createPattern(cMask, 'no-repeat');
tempCtx.fillRect(0, 0, x + width, y + height);
ctx.fillStyle = tempCtx.createPattern(c, 'no-repeat');
ctx.fillRect(0, 0, x + width, y + height);
// reassign mask
element.attribute('mask').value = mask;
}
this.render = function(ctx) {
// NO RENDER
}
}
svg.Element.mask.prototype = new svg.Element.ElementBase;
// clip element
svg.Element.clipPath = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.apply = function(ctx) {
for (var i=0; i<this.children.length; i++) {
var child = this.children[i];
if (typeof(child.path) != 'undefined') {
var transform = null;
if (child.attribute('transform').hasValue()) {
transform = new svg.Transform(child.attribute('transform').value);
transform.apply(ctx);
}
child.path(ctx);
ctx.clip();
if (transform) { transform.unapply(ctx); }
}
}
}
this.render = function(ctx) {
// NO RENDER
}
}
svg.Element.clipPath.prototype = new svg.Element.ElementBase;
// filters
svg.Element.filter = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.apply = function(ctx, element) {
// render as temp svg
var bb = element.getBoundingBox();
var x = Math.floor(bb.x1);
var y = Math.floor(bb.y1);
var width = Math.floor(bb.width());
var height = Math.floor(bb.height());
// temporarily remove filter to avoid recursion
var filter = element.style('filter').value;
element.style('filter').value = '';
var px = 0, py = 0;
for (var i=0; i<this.children.length; i++) {
var efd = this.children[i].extraFilterDistance || 0;
px = Math.max(px, efd);
py = Math.max(py, efd);
}
var c = document.createElement('canvas');
c.width = width + 2*px;
c.height = height + 2*py;
var tempCtx = c.getContext('2d');
tempCtx.translate(-x + px, -y + py);
element.render(tempCtx);
// apply filters
for (var i=0; i<this.children.length; i++) {
this.children[i].apply(tempCtx, 0, 0, width + 2*px, height + 2*py);
}
// render on me
ctx.drawImage(c, 0, 0, width + 2*px, height + 2*py, x - px, y - py, width + 2*px, height + 2*py);
// reassign filter
element.style('filter', true).value = filter;
}
this.render = function(ctx) {
// NO RENDER
}
}
svg.Element.filter.prototype = new svg.Element.ElementBase;
svg.Element.feMorphology = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.apply = function(ctx, x, y, width, height) {
// TODO: implement
}
}
svg.Element.feMorphology.prototype = new svg.Element.ElementBase;
svg.Element.feColorMatrix = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
function imGet(img, x, y, width, height, rgba) {
return img[y*width*4 + x*4 + rgba];
}
function imSet(img, x, y, width, height, rgba, val) {
img[y*width*4 + x*4 + rgba] = val;
}
this.apply = function(ctx, x, y, width, height) {
// only supporting grayscale for now per Issue 195, need to extend to all matrix
// assuming x==0 && y==0 for now
var srcData = ctx.getImageData(0, 0, width, height);
for (var y = 0; y < height; y++) {
for (var x = 0; x < width; x++) {
var r = imGet(srcData.data, x, y, width, height, 0);
var g = imGet(srcData.data, x, y, width, height, 1);
var b = imGet(srcData.data, x, y, width, height, 2);
var gray = (r + g + b) / 3;
imSet(srcData.data, x, y, width, height, 0, gray);
imSet(srcData.data, x, y, width, height, 1, gray);
imSet(srcData.data, x, y, width, height, 2, gray);
}
}
ctx.clearRect(0, 0, width, height);
ctx.putImageData(srcData, 0, 0);
}
}
svg.Element.feColorMatrix.prototype = new svg.Element.ElementBase;
svg.Element.feGaussianBlur = function(node) {
this.base = svg.Element.ElementBase;
this.base(node);
this.blurRadius = Math.floor(this.attribute('stdDeviation').numValue());
this.extraFilterDistance = this.blurRadius;
this.apply = function(ctx, x, y, width, height) {
if (typeof(stackBlurCanvasRGBA) == 'undefined') {
if (typeof(console) != 'undefined') { console.log('ERROR: StackBlur.js must be included for blur to work'); }
return;
}
// StackBlur requires canvas be on document
ctx.canvas.id = svg.UniqueId();
ctx.canvas.style.display = 'none';
document.body.appendChild(ctx.canvas);
stackBlurCanvasRGBA(ctx.canvas.id, x, y, width, height, this.blurRadius);
document.body.removeChild(ctx.canvas);
}
}
svg.Element.feGaussianBlur.prototype = new svg.Element.ElementBase;
// title element, do nothing
svg.Element.title = function(node) {
}
svg.Element.title.prototype = new svg.Element.ElementBase;
// desc element, do nothing
svg.Element.desc = function(node) {
}
svg.Element.desc.prototype = new svg.Element.ElementBase;
svg.Element.MISSING = function(node) {
if (typeof(console) != 'undefined') { console.log('ERROR: Element \'' + node.nodeName + '\' not yet implemented.'); }
}
svg.Element.MISSING.prototype = new svg.Element.ElementBase;
// element factory
svg.CreateElement = function(node) {
var className = node.nodeName.replace(/^[^:]+:/,''); // remove namespace
className = className.replace(/\-/g,''); // remove dashes
var e = null;
if (typeof(svg.Element[className]) != 'undefined') {
e = new svg.Element[className](node);
}
else {
e = new svg.Element.MISSING(node);
}
e.type = node.nodeName;
return e;
}
// load from url
svg.load = function(ctx, url) {
svg.loadXml(ctx, svg.ajax(url));
}
// load from xml
svg.loadXml = function(ctx, xml) {
svg.loadXmlDoc(ctx, svg.parseXml(xml));
}
svg.loadXmlDoc = function(ctx, dom) {
svg.init(ctx);
var mapXY = function(p) {
var e = ctx.canvas;
while (e) {
p.x -= e.offsetLeft;
p.y -= e.offsetTop;
e = e.offsetParent;
}
if (window.scrollX) p.x += window.scrollX;
if (window.scrollY) p.y += window.scrollY;
return p;
}
// bind mouse
if (svg.opts['ignoreMouse'] != true) {
ctx.canvas.onclick = function(e) {
var p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY));
svg.Mouse.onclick(p.x, p.y);
};
ctx.canvas.onmousemove = function(e) {
var p = mapXY(new svg.Point(e != null ? e.clientX : event.clientX, e != null ? e.clientY : event.clientY));
svg.Mouse.onmousemove(p.x, p.y);
};
}
var e = svg.CreateElement(dom.documentElement);
e.root = true;
// render loop
var isFirstRender = true;
var draw = function() {
svg.ViewPort.Clear();
if (ctx.canvas.parentNode) svg.ViewPort.SetCurrent(ctx.canvas.parentNode.clientWidth, ctx.canvas.parentNode.clientHeight);
if (svg.opts['ignoreDimensions'] != true) {
// set canvas size
if (e.style('width').hasValue()) {
ctx.canvas.width = e.style('width').toPixels('x');
ctx.canvas.style.width = ctx.canvas.width + 'px';
}
if (e.style('height').hasValue()) {
ctx.canvas.height = e.style('height').toPixels('y');
ctx.canvas.style.height = ctx.canvas.height + 'px';
}
}
var cWidth = ctx.canvas.clientWidth || ctx.canvas.width;
var cHeight = ctx.canvas.clientHeight || ctx.canvas.height;
if (svg.opts['ignoreDimensions'] == true && e.style('width').hasValue() && e.style('height').hasValue()) {
cWidth = e.style('width').toPixels('x');
cHeight = e.style('height').toPixels('y');
}
svg.ViewPort.SetCurrent(cWidth, cHeight);
if (svg.opts['offsetX'] != null) e.attribute('x', true).value = svg.opts['offsetX'];
if (svg.opts['offsetY'] != null) e.attribute('y', true).value = svg.opts['offsetY'];
if (svg.opts['scaleWidth'] != null && svg.opts['scaleHeight'] != null) {
var xRatio = 1, yRatio = 1, viewBox = svg.ToNumberArray(e.attribute('viewBox').value);
if (e.attribute('width').hasValue()) xRatio = e.attribute('width').toPixels('x') / svg.opts['scaleWidth'];
else if (!isNaN(viewBox[2])) xRatio = viewBox[2] / svg.opts['scaleWidth'];
if (e.attribute('height').hasValue()) yRatio = e.attribute('height').toPixels('y') / svg.opts['scaleHeight'];
else if (!isNaN(viewBox[3])) yRatio = viewBox[3] / svg.opts['scaleHeight'];
e.attribute('width', true).value = svg.opts['scaleWidth'];
e.attribute('height', true).value = svg.opts['scaleHeight'];
e.attribute('viewBox', true).value = '0 0 ' + (cWidth * xRatio) + ' ' + (cHeight * yRatio);
e.attribute('preserveAspectRatio', true).value = 'none';
}
// clear and render
if (svg.opts['ignoreClear'] != true) {
ctx.clearRect(0, 0, cWidth, cHeight);
}
e.render(ctx);
if (isFirstRender) {
isFirstRender = false;
if (typeof(svg.opts['renderCallback']) == 'function') svg.opts['renderCallback'](dom);
}
}
var waitingForImages = true;
if (svg.ImagesLoaded()) {
waitingForImages = false;
draw();
}
svg.intervalID = setInterval(function() {
var needUpdate = false;
if (waitingForImages && svg.ImagesLoaded()) {
waitingForImages = false;
needUpdate = true;
}
// need update from mouse events?
if (svg.opts['ignoreMouse'] != true) {
needUpdate = needUpdate | svg.Mouse.hasEvents();
}
// need update from animations?
if (svg.opts['ignoreAnimation'] != true) {
for (var i=0; i<svg.Animations.length; i++) {
needUpdate = needUpdate | svg.Animations[i].update(1000 / svg.FRAMERATE);
}
}
// need update from redraw?
if (typeof(svg.opts['forceRedraw']) == 'function') {
if (svg.opts['forceRedraw']() == true) needUpdate = true;
}
// render if needed
if (needUpdate) {
draw();
svg.Mouse.runEvents(); // run and clear our events
}
}, 1000 / svg.FRAMERATE);
}
svg.stop = function() {
if (svg.intervalID) {
clearInterval(svg.intervalID);
}
}
svg.Mouse = new (function() {
this.events = [];
this.hasEvents = function() { return this.events.length != 0; }
this.onclick = function(x, y) {
this.events.push({ type: 'onclick', x: x, y: y,
run: function(e) { if (e.onclick) e.onclick(); }
});
}
this.onmousemove = function(x, y) {
this.events.push({ type: 'onmousemove', x: x, y: y,
run: function(e) { if (e.onmousemove) e.onmousemove(); }
});
}
this.eventElements = [];
this.checkPath = function(element, ctx) {
for (var i=0; i<this.events.length; i++) {
var e = this.events[i];
if (ctx.isPointInPath && ctx.isPointInPath(e.x, e.y)) this.eventElements[i] = element;
}
}
this.checkBoundingBox = function(element, bb) {
for (var i=0; i<this.events.length; i++) {
var e = this.events[i];
if (bb.isPointInBox(e.x, e.y)) this.eventElements[i] = element;
}
}
this.runEvents = function() {
svg.ctx.canvas.style.cursor = '';
for (var i=0; i<this.events.length; i++) {
var e = this.events[i];
var element = this.eventElements[i];
while (element) {
e.run(element);
element = element.parent;
}
}
// done running, clear
this.events = [];
this.eventElements = [];
}
});
return svg;
}
})();
if (typeof(CanvasRenderingContext2D) != 'undefined') {
CanvasRenderingContext2D.prototype.drawSvg = function(s, dx, dy, dw, dh) {
canvg(this.canvas, s, {
ignoreMouse: true,
ignoreAnimation: true,
ignoreDimensions: true,
ignoreClear: true,
offsetX: dx,
offsetY: dy,
scaleWidth: dw,
scaleHeight: dh
});
}
}
var circularTrackDefaults = {
radius: 5,
w: 600,
h: 600,
factor: 1,
factorLegend: .85,
TranslateX: 80,
TranslateY: 30,
ExtraWidthX: 100,
ExtraWidthY: 100,
radians: 2 * Math.PI,
spacing: 100000,
legend_spacing: 5,
min_radians: .02 * Math.PI,
dragresize: true,
movecursor: false
}
function circularTrack(layout,tracks) {
this.tracks = tracks;
this.layout = layout;
this.numTracks = tracks.length;
if('undefined' !== typeof layout) {
// Copy over any defaults not passed in
// by the user
for(var i in circularTrackDefaults) {
if('undefined' == typeof layout[i]) {
this.layout[i] = circularTrackDefaults[i];
}
}
}
if('undefined' == typeof layout.plotid) {
this.layout.plotid = layout.container.slice(1);
}
this.layout.containerid = layout.container.slice(1);
// Some constants for later so we don't have to keep recalculating
this.layout.w2 = this.layout.w / 2;
this.layout.h2 = this.layout.h / 2;
this.layout.PI2 = Math.PI/2;
// Setup some constants we'll need and build the canvas
this.layout.radians_pre_bp = this.layout.radians/this.layout.genomesize;
this.layout.min_bp_per_slice = this.layout.min_radians / this.layout.radians_pre_bp;
this.layout.min_bp_per_slice_half = this.layout.min_bp_per_slice/2;
this.layout.radius = this.layout.factor*Math.min(this.layout.w2, this.layout.h2);
this.xScale = d3.scale.linear()
.range([0,this.layout.radians])
.domain([0, layout.genomesize]);
var xScale = this.xScale;
d3.select(layout.container).select("svg").remove();
this.container = d3.select(layout.container)
.append("svg")
.attr("id", function() { return layout.container.slice(1) + "_svg"; })
.attr("width", this.layout.w+this.layout.ExtraWidthX)
.attr("height", this.layout.h+this.layout.ExtraWidthY);
this.g = this.container
.append("g")
.attr("id", function() { return layout.container.slice(1) + "_g"; })
.attr("transform", "translate(" + this.layout.TranslateX + "," + this.layout.TranslateY + ")");
// Add the double click functionality, but we needed to define g first
this.container.on("dblclick", function(d,i) {
if('undefined' !== typeof this.layout.dblclick) {
var node = this.g.node();
var curBP = calcRadBPfromXY((d3.mouse(node)[0] - (this.layout.w2)),
-(d3.mouse(node)[1] - (this.layout.h2)),
xScale)[1];
var fn = window[this.layout.dblclick];
if('object' == typeof fn) {
return fn.ondblclick(this.layout.plotid, curBP);
} else if('function' == typeof fn) {
return fn(this.layout.plotid, curBP);
}
} else {
null;
}
}.bind(this));
this.defs = this.g.append("defs");
this.defs.append('svg:marker')
.attr('id', 'end-arrow')
.attr('viewBox', '0 -5 10 10')
.attr('refX', 6)
.attr('markerWidth', 7)
.attr('markerHeight', 7)
.attr('orient', 'auto')
.append('svg:path')
.attr('d', 'M0,-5L10,0L0,5')
.attr('class', "move-cross");
this.defs.append('svg:marker')
.attr('id', 'start-arrow')
.attr('viewBox', '0 -5 10 10')
.attr('refX', 4)
.attr('markerWidth', 7)
.attr('markerHeight', 7)
.attr('orient', 'auto')
.append('svg:path')
.attr('d', 'M10,-5L0,0L10,5')
.attr('class', "move-cross");
// .attr('fill', '#000');
// Display the dragging cross if needed
if(this.layout.movecursor == true) {
this.g.append("rect")
.attr("width", 18)
.attr("height", 18)
.attr("fill-opacity", 0)
.attr("class", "move-shadow move_" + this.layout.containerid);
this.g.append("line")
.attr("x1", 0)
.attr("x2", 18)
.attr("y1", 9)
.attr("y2", 9)
.style('marker-start', 'url(#start-arrow)')
.style('marker-end', 'url(#end-arrow)')
.attr("class", "move-cross move_" + this.layout.containerid);
this.g.append("line")
.attr("x1", 9)
.attr("x2", 9)
.attr("y1", 0)
.attr("y2", 18)
.style('marker-start', 'url(#start-arrow)')
.style('marker-end', 'url(#end-arrow)')
.attr("class", "move-cross move_" + this.layout.containerid);
}
// Resize drag shadow
if(this.layout.dragresize == true) {
this.drag_shadow = this.container.append("rect")
.attr("width", (this.layout.w+this.layout.ExtraWidthX))
.attr("height", (this.layout.h+this.layout.ExtraWidthY))
.attr("class", "dragbar-shadow linear_hidden");
}
// Now we can start drawing the plots, first the basic axis...
this.drawAxis();
this.tip = d3.tip()
.attr('class', 'd3-tip')
.offset([-10, 0])
.html(function(d) {
return "<strong>Name:</strong> <span style='color:red'>" + d.name + "</span>";
});
this.container.call(this.tip);
// Draw the plots
for(var i=0; i < this.tracks.length; i++) {
if('undefined' !== typeof this.tracks[i].visible) {
if(! this.tracks[i].visible) {
continue;
}
} else {
// If the user didn't set visible,
// then it's visible.
this.tracks[i].visible = true;
}
// We're going to see what type of tracks we have
// and dispatch them appropriately
switch(this.tracks[i].trackType) {
case "plot":
tracks[i].rad_per_elem = tracks[i].bp_per_element*this.layout.radians_pre_bp;
this.drawPlot(i);
break;
case "track":
this.drawTrack(i);
break;
case "stranded":
this.drawTrack(i);
break;
case "gap":
this.drawGap(i);
break;
case "glyph":
this.findGlyphTypes(i);
if('undefined' !== typeof this.tracks[i].hideTypes) {
this.maskGlyphTypes(i, this.tracks[i].hideTypes)
}
// this.tracks[i].container =
// this.g.append("g")
// .attr("class", this.tracks[i].trackName + "_glyph_container")
this.drawGlyphTrack(i);
break;
default:
// Do nothing for an unknown track type
}
}
// Resize dragger
if(this.layout.dragresize == true) {
var dragright = d3.behavior.drag()
.on("dragstart", this.dragresize_start.bind(this))
.on("drag", this.dragresize.bind(this))
.on("dragend", this.dragresize_end.bind(this));
this.dragbar_y_mid = this.layout.h/2;
this.dragbar = this.container.append("g")
.attr("transform", "translate(" + (this.layout.w+this.layout.ExtraWidthX-25) + "," + (this.layout.h+this.layout.ExtraWidthY-25) + ")")
.attr("width", 25)
.attr("height", 20)
.attr("fill", "lightblue")
.attr("fill-opacity", .2)
.attr("cursor", "ew-resize")
.call(dragright);
this.dragbar.append("rect")
.attr("width", 25)
.attr("height", 20)
.attr("fill-opacity", 0);
this.dragbar.append("line")
.attr("x1", 16)
.attr("x2", 16)
.attr("y1", 0)
.attr("y2", 14)
.attr("class", "dragbar-line");
this.dragbar.append("line")
.attr("x1", 2)
.attr("x2", 16)
.attr("y1", 14)
.attr("y2", 14)
.attr("class", "dragbar-line");
this.dragbar.append("line")
.attr("x1", 19)
.attr("x2", 19)
.attr("y1", 0)
.attr("y2", 17)
.attr("class", "dragbar-line");
this.dragbar.append("line")
.attr("x1", 2)
.attr("x2", 19)
.attr("y1", 17)
.attr("y2", 17)
.attr("class", "dragbar-line");
this.dragbar.append("line")
.attr("x1", 22)
.attr("x2", 22)
.attr("y1", 0)
.attr("y2", 20)
.attr("class", "dragbar-line");
this.dragbar.append("line")
.attr("x1", 2)
.attr("x2", 22)
.attr("y1", 20)
.attr("y2", 20)
.attr("class", "dragbar-line");
}
}
circularTrack.prototype.drawAxis = function() {
var cfg = this.layout;
var g = this.g;
this.axis_container = this.g
.append("g")
.attr("id", "axis_container");
var axis = this.axis_container.selectAll(".axis")
.data(d3.range(0,cfg.genomesize, cfg.spacing))
.enter()
.append("g")
.attr("class", "axis");
axis.append("line")
.attr("x1", function(d, i){return cfg.w2 + (20*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y1", function(d, i){return cfg.h2 + (20*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("x2", function(d, i){return cfg.w2 + (cfg.radius*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y2", function(d, i){return cfg.h2 + (cfg.radius*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("class", "line")
.style("stroke", "grey")
.style("stroke-width", "1px");
var axis_label = this.axis_container.selectAll(".axislabel")
.data(d3.range(0,cfg.genomesize, cfg.spacing*cfg.legend_spacing))
.enter()
.append("g")
.attr("class", "axislabel");
axis_label.append("text")
.attr("class", "legend")
.text(function(d){ var prefix = d3.formatPrefix(d);
return prefix.scale(d) + prefix.symbol;
})
.style("font-family", "sans-serif")
.style("font-size", "11px")
.attr("text-anchor", "middle")
.attr("dy", "1.5em")
.attr("transform", function(d, i){return "translate(0, -10)"})
.attr("x", function(d, i){return cfg.w2 + ((cfg.radius+10)*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y", function(d, i){return cfg.h2 + ((cfg.radius+10)*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));});
// And draw the pretty outer circle for the axis
this.drawCircle("outerAxis", cfg.radius-10, 'grey');
}
circularTrack.prototype.moveAxis = function() {
var cfg = this.layout;
this.axis_container
.selectAll("line")
.data(d3.range(0,cfg.genomesize, cfg.spacing))
.transition()
.duration(1000)
.attr("x1", function(d, i){return cfg.w2 + (20*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y1", function(d, i){return cfg.h2 + (20*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("x2", function(d, i){return cfg.w2 + (cfg.radius*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y2", function(d, i){return cfg.h2 + (cfg.radius*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));});
this.axis_container
.selectAll("text")
.data(d3.range(0,cfg.genomesize, cfg.spacing*cfg.legend_spacing))
.transition()
.duration(1000)
.attr("x", function(d, i){return cfg.w2 + ((cfg.radius+10)*Math.cos((d*cfg.radians_pre_bp)-cfg.PI2));})
.attr("y", function(d, i){return cfg.h2 + ((cfg.radius+10)*Math.sin((d*cfg.radians_pre_bp)-cfg.PI2));});
// And draw the pretty outer circle for the axis
this.moveCircle("outerAxis", cfg.radius-10);
}
// Helper function for drawing needed circles such
// as in stranded tracks
// Can be called standalone in setting up the look
// of your genome
circularTrack.prototype.drawCircle = function(name, radius, line_stroke, animate) {
var g = this.g;
var cfg = this.layout;
g.append("circle")
.attr("r", (('undefined' == typeof animate) ? radius : 1 ))
.attr("class", name + "_circle")
.style("fill", "none")
.style("stroke", line_stroke)
.attr("cx", cfg.w2)
.attr("cy", cfg.h2);
// An animated entrance
if('undefined' !== typeof animate) {
this.moveCircle(name, radius);
}
}
// Change the radius of an inscribed circle
circularTrack.prototype.moveCircle = function(name, radius) {
var g = this.g;
var cfg = this.layout;
g.selectAll("." + name + "_circle")
.transition()
.duration(1000)
.attr("r", radius)
.attr("cx", cfg.w2)
.attr("cy", cfg.h2);
}
// Remove a drawn circle, in a pretty animated way
circularTrack.prototype.removeCircle = function(name) {
var g = this.g;
g.selectAll("." + name + "_circle")
.transition()
.duration(1000)
.attr("r", 1)
.style("opacity", 0)
.remove();
}
/////////////////////////////////////////
//
// Plot type tracks (as in line graphs)
//
/////////////////////////////////////////
circularTrack.prototype.drawPlot = function(i, animate) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
this.tracks[i].plotRange = d3.scale.linear()
.domain([track.plot_min, track.plot_max])
.range([track.plot_radius-(track.plot_width/2), track.plot_radius+(track.plot_width/2)]);
var plotRange = this.tracks[i].plotRange;
var lineFunction = d3.svg.line()
.x(function(d, i) { return cfg.w2 + ((('undefined' == typeof animate) ? plotRange(d) : 1 )*Math.cos((i*track.rad_per_elem)-(cfg.PI2))); })
.y(function(d, i) { return cfg.h2 + ((('undefined' == typeof animate) ? plotRange(d) : 1 )*Math.sin((i*track.rad_per_elem)-(cfg.PI2))); })
.interpolate("linear");
g.append("path")
.attr("d", lineFunction(track.items))
.attr("class", track.trackName)
.attr("id", track.trackName)
.attr("stroke-width", 1)
.attr("fill", "none");
// Now do the mean circle if we have one
if('undefined' !== typeof track.plot_mean) {
this.drawCircle(track.trackName, this.tracks[i].plotRange(track.plot_mean), "grey", animate);
}
// And if we're doing an animated entrance...
if('undefined' !== typeof animate) {
this.movePlot(i, track.plot_radius);
}
// Mark the track as visible, if not already
this.tracks[i].visible = true;
}
circularTrack.prototype.movePlot = function(i, radius) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
// Save this in case this is a change of radius
// ratherthan an animated entrance
if('undefined' !== typeof this.tracks[i].plot_radius) {
this.tracks[i].plot_radius = radius;
}
// We needed to save the new radius but if this
// track isn't visible, do nothing
if(! this.tracks[i].visible) {
return;
}
this.tracks[i].plotRange
.range([track.plot_radius-(track.plot_width/2), track.plot_radius+(track.plot_width/2)]);
var plotRange = this.tracks[i].plotRange;
var lineFunction = d3.svg.line()
.x(function(d, i, j) { return cfg.w2 + (plotRange(d)*Math.cos((i*track.rad_per_elem)-(cfg.PI2))); })
.y(function(d, i) { return cfg.h2 + (plotRange(d)*Math.sin((i*track.rad_per_elem)-(cfg.PI2))); })
.interpolate("linear");
var plot = g.selectAll("." + track.trackName)
plot.transition()
.duration(1000)
.attr("d", function(d,i) { return lineFunction(track.items)});
// Now move the mean circle if we have one
if('undefined' !== typeof track.plot_mean) {
this.moveCircle(track.trackName, this.tracks[i].plotRange(track.plot_mean));
}
}
circularTrack.prototype.removePlot = function(i) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var plotRange = d3.scale.linear()
.domain([track.plot_min, track.plot_max])
.range([1-(track.plot_width/2), 1+(track.plot_width/2)]);
var lineFunction = d3.svg.line()
.x(function(d, i) { return cfg.w2 + (plotRange(d)*Math.cos((i*track.rad_per_elem)-(cfg.PI2))); })
.y(function(d, i) { return cfg.h2 + (plotRange(d)*Math.sin((i*track.rad_per_elem)-(cfg.PI2))); })
.interpolate("linear");
g.selectAll("." + track.trackName)
.transition()
.duration(1000)
.attr("d", lineFunction(track.items))
.style("opacity", 0)
.remove();
if('undefined' !== typeof track.plot_mean) {
this.removeCircle(track.trackName);
}
// Mark the track as not visible
this.tracks[i].visible = false;
}
////////////////////////////////////////////////
//
// Track type tracks (as blocks without strands)
//
////////////////////////////////////////////////
circularTrack.prototype.drawTrack = function(i, animate) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
// Because of how the tooltip library binds to the SVG object we have to turn it
// on or off here rather than in the .on() call, we'll redirect the calls to
// a dummy do-nothing object if we're not showing tips in this context.
var tip = {show: function() {}, hide: function() {} };
if(('undefined' !== typeof track.showTooltip) && track.showTooltip) {
tip = this.tip;
}
// The arc object which will be passed in to each
// set of data
var arc = d3.svg.arc()
.innerRadius(function(d){ return (('undefined' == typeof animate) ?
calcInnerRadius(track.inner_radius, track.outer_radius, d.strand)
: 1);})
.outerRadius(function(d){ return (('undefined' == typeof animate) ?
calcOuterRadius(track.inner_radius, track.outer_radius, d.strand)
: 2);})
.startAngle(function(d){if(track.min_slice && (d.end - d.start) < cfg.min_bp_per_slice) {
return (d.start - ((d.end - d.start - cfg.min_bp_per_slice_half) / 2))*cfg.radians_pre_bp;
} else {
return cfg.radians_pre_bp*d.start;
}
})
.endAngle(function(d){if(track.min_slice && (d.end - d.start) < cfg.min_bp_per_slice) {
return (d.end + ((d.end - d.start - cfg.min_bp_per_slice_half)/2))*cfg.radians_pre_bp;
} else {
return cfg.radians_pre_bp*d.end;
}
});
// Draw the track, putting in elements such as hover colour change
// if one exists, click events, etc
g.selectAll(".tracks."+track.trackName)
.data(track.items)
.enter()
.append("path")
.attr("d", arc)
.attr("class", function(d) { return track.trackName + ('undefined' !== typeof d.strand ? '_' + (d.strand == 1 ? 'pos' : 'neg') : '') + ' ' + ('undefined' !== typeof d.extraclass ? d.extraclass : '') })
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")")
.on("click", function(d,i) {
if('undefined' !== typeof track.mouseclick) {
var fn = window[track.mouseclick];
if('object' == typeof fn) {
// console.log(fn);
return fn.onclick(track.trackName, d, cfg.plotid);
} else if('function' == typeof fn) {
return fn(track.trackName, d, cfg.plotid);
}
} else {
null;
}
})
.on("mouseover", function(d, i) {
tip.show(d);
if('undefined' !== typeof track.mouseover_callback) {
var fn = window[track.mouseover_callback];
if('object' == typeof fn) {
fn.mouseover(track.trackName, d, cfg.plotid);
return true;
} else if('function' == typeof fn) {
return fn(track.trackNamed, cfg.plotid);
}
} else {
return null;
}
})
.on("mouseout", function(d, i) {
tip.hide(d);
if('undefined' !== typeof track.mouseout_callback) {
var fn = window[track.mouseout_callback];
if('object' == typeof fn) {
return fn.mouseout(track.trackName, d, cfg.plotid);
} else if('function' == typeof fn) {
return fn(track.trackNamed, cfg.plotid);
}
} else {
return null;
}
});
// If we're doing an animated addition, move the track out to its
// new spot
if('undefined' !== typeof animate) {
this.moveTrack(i, track.inner_radius, track.outer_radius);
}
// And check if we've been asked to do a centre line
if('undefined' !== typeof track.centre_line_stroke) {
this.drawCircle(track.trackName, (track.inner_radius + track.outer_radius)/2, track.centre_line_stroke, animate);
}
this.tracks[i].visible = true;
}
circularTrack.prototype.moveTrack = function(i, innerRadius, outerRadius) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
// Just record the new radii in case we need them later
if('undefined' !== typeof this.tracks[i].inner_radius) {
this.tracks[i].inner_radius = innerRadius;
}
if('undefined' !== typeof this.tracks[i].outer_radius) {
this.tracks[i].outer_radius = outerRadius;
}
// We needed to save the new radius but if this
// track isn't visible, do nothing
if(! this.tracks[i].visible) {
return;
}
var arcShrink = d3.svg.arc()
.innerRadius(function(d){return calcInnerRadius(innerRadius, outerRadius, d.strand);})
.outerRadius(function(d){return calcOuterRadius(innerRadius, outerRadius, d.strand);})
.startAngle(function(d){if(track.min_slice && (d.end - d.start) < cfg.min_bp_per_slice) {
return (d.start - ((d.end - d.start - cfg.min_bp_per_slice_half) / 2))*cfg.radians_pre_bp;
} else {
return cfg.radians_pre_bp*d.start;
}
})
.endAngle(function(d){if(track.min_slice && (d.end - d.start) < cfg.min_bp_per_slice) {
return (d.end + ((d.end - d.start - cfg.min_bp_per_slice_half)/2))*cfg.radians_pre_bp;
} else {
return cfg.radians_pre_bp*d.end;
}
});
// .endAngle(function(d){return cfg.radians_pre_bp*d.start;})
// .startAngle(function(d){return cfg.radians_pre_bp*d.end;});
g.selectAll("." + track.trackName + ", ." + track.trackName + "_pos, ." + track.trackName + "_neg")
.transition()
.duration(1000)
.attr("d", arcShrink)
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")")
// And check if we've been asked to do a centre line
if('undefined' !== typeof track.centre_line_stroke) {
this.moveCircle(track.trackName, (track.inner_radius + track.outer_radius)/2);
}
}
circularTrack.prototype.removeTrack = function(i) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var arcShrink = d3.svg.arc()
.innerRadius(1)
.outerRadius(2)
.endAngle(function(d){return cfg.radians_pre_bp*d.start;})
.startAngle(function(d){return cfg.radians_pre_bp*d.end;});
g.selectAll("." + track.trackName + ", ." + track.trackName + "_pos, ." + track.trackName + "_neg")
.transition()
.duration(1000)
.attr("d", arcShrink)
.style("opacity", 0)
.remove();
if('undefined' !== track.centre_line_stroke) {
this.removeCircle(track.trackName);
}
this.tracks[i].visible = false;
}
////////////////////////////////////////////////
//
// Gap type tracks
//
////////////////////////////////////////////////
circularTrack.prototype.drawGap = function(i, animate) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var self = this;
var gap_range = ('undefined' == typeof animate) ? d3.range(track.inner_radius, track.outer_radius, 8) : [1,2];
// Draw the track, putting in elements such as hover colour change
// if one exists, click events, etc
var gaps = g.selectAll(".tracks."+track.trackName)
.data(track.items)
.enter()
.append("g")
.attr("class", function(d) { return track.trackName + ' ' + track.trackName + '_g ' + track.trackName + '_' + d.name + ' ' + ('undefined' !== typeof d.extraclass ? d.extraclass : '') })
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")")
.each(function(d) {
d3.select(this)
.append("path")
.attr("d", self.jaggedLineGenerator(d.start, gap_range))
.attr("class", function(d2) { return track.trackName + ' ' + track.trackName + '_line' + ('undefined' !== typeof d.extraclass ? d.extraclass : '') })
.attr("stroke-width", 1)
.attr("fill", "none");
d3.select(this)
.append("path")
.attr("d", self.jaggedLineGenerator(d.end, gap_range))
.attr("class", function(d2) { return track.trackName + ' ' + track.trackName + '_line' + ('undefined' !== typeof d.extraclass ? d.extraclass : '') })
.attr("stroke-width", 1)
.attr("fill", "none");
});
// If we're doing an animated addition, move the track out to its
// new spot
if('undefined' !== typeof animate) {
this.moveGap(i, track.inner_radius, track.outer_radius);
}
}
circularTrack.prototype.moveGap = function(i, innerRadius, outerRadius) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var self = this;
// Just record the new radii in case we need them later
if('undefined' !== typeof this.tracks[i].inner_radius) {
this.tracks[i].inner_radius = innerRadius;
}
if('undefined' !== typeof this.tracks[i].outer_radius) {
this.tracks[i].outer_radius = outerRadius;
}
// We needed to save the new radius but if this
// track isn't visible, do nothing
if(! this.tracks[i].visible) {
return;
}
var gap_range = d3.range(innerRadius, outerRadius, 8);
g.selectAll("." + track.trackName + '_g')
.transition()
.duration(1000)
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")")
g.selectAll('.' + track.trackName + '_line')
.transition()
.duration(1000)
.attrTween("d", function(d) { return pathTween(this, self.jaggedLineGenerator(d.start, gap_range), 4) });
}
circularTrack.prototype.removeGap = function(i) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var self = this;
g.selectAll('.' + track.trackName + '_line')
.transition()
.duration(1000)
.attrTween("d", function(d) { return pathTween(this, self.jaggedLineGenerator(d.start, [1,2]), 4) })
.remove();
g.selectAll("." + track.trackName + '_g')
.transition()
.duration(1000)
.style('opacity', 0)
.remove()
this.tracks[i].visible = false;
}
// Jagged line path generator for the gap track type
circularTrack.prototype.jaggedLineGenerator = function(bp, data) {
var cfg = this.layout;
var generator = d3.svg.line()
.x(function(d, i) { var offset = ((i % 2 === 0) ? 0.02 : -0.02); return d * Math.cos((bp*cfg.radians_pre_bp)-cfg.PI2+(i ? offset : 0) ); } )
.y(function(d, i) { var offset = ((i % 2 === 0) ? 0.02 : -0.02); return d * Math.sin((bp*cfg.radians_pre_bp)-cfg.PI2+ (i ? offset : 0) ); } )
.interpolate("linear");
return generator(data);
}
function pathTween(path, d1, precision) {
// return function() {
// var path0 = this,
var path0 = path,
path1 = path0.cloneNode(),
n0 = path0.getTotalLength(),
n1 = (path1.setAttribute("d", d1), path1).getTotalLength();
// Uniform sampling of distance based on specified precision.
var distances = [0], i = 0, dt = precision / Math.max(n0, n1);
while ((i += dt) < 1) distances.push(i);
distances.push(1);
// Compute point-interpolators at each distance.
var points = distances.map(function(t) {
var p0 = path0.getPointAtLength(t * n0),
p1 = path1.getPointAtLength(t * n1);
return d3.interpolate([p0.x, p0.y], [p1.x, p1.y]);
});
return function(t) {
return t < 1 ? "M" + points.map(function(p) { return p(t); }).join("L") : d1;
};
// };
}
////////////////////////////////////////////////
//
// Glyph type tracks
//
////////////////////////////////////////////////
// We will probably need to send a localized
// version of the data so the update works
// properly
circularTrack.prototype.drawGlyphTrack = function(i) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var stack_count = 0;
var items = track.items.filter(function(d) { return track.visTypes.contains(d.type) } );
// Because on update the order of processing changes we need
// to recompute the stacking order manually each time
for(var i = 0; i < items.length; i++) {
if(i < 1) {
items[i].stackCount = 0;
continue;
}
xs = (cfg.h/2 + (track.radius*Math.sin((items[i].bp*cfg.radians_pre_bp)-cfg.PI2))) -
(cfg.h/2 + (track.radius*Math.sin((items[i-1].bp*cfg.radians_pre_bp)-cfg.PI2)));
ys = (cfg.h/2 + (track.radius*Math.cos((items[i].bp*cfg.radians_pre_bp)-cfg.PI2))) -
(cfg.h/2 + (track.radius*Math.cos((items[i-1].bp*cfg.radians_pre_bp)-cfg.PI2)));
xs = xs * xs;
ys = ys * ys;
var dist = Math.sqrt(xs + ys);
if(dist < track.pixel_spacing) {
items[i].stackCount = items[i-1].stackCount + 1;
continue;
}
items[i].stackCount = 0;
}
var x = function(d,i) { return cfg.w2 + (((track.glyph_buffer * d.stackCount) + track.radius)*Math.cos((d.bp*cfg.radians_pre_bp)-cfg.PI2)); };
var y = function(d,i) { return cfg.h2 + (((track.glyph_buffer * d.stackCount) + track.radius)*Math.sin((d.bp*cfg.radians_pre_bp)-cfg.PI2)); };
var trackPath = g.selectAll("." + track.trackName)
// var trackPath = track.container.selectAll("." + track.trackName)
.data(items, function(d) { return d.id; });
trackPath.transition()
.duration(1000)
.attr("transform", function(d,i) { return "translate(" + x(d,i) + ","
+ y(d,i) + ")" })
.style("opacity", 1);
trackPath.exit()
.transition()
.duration(1000)
.attr("transform", "translate(" + cfg.h2 + "," + cfg.w2 + ")")
.style("opacity", 0)
.remove();
trackPath.enter()
.append('path')
.attr('id', function(d,i) { return track.trackName + "_glyph" + d.id; })
.attr('class', function(d) {return track.trackName + '_' + d.type + ' ' + track.trackName})
.attr("d", d3.svg.symbol().type(track.glyphType).size(track.glyphSize))
.attr("transform", "translate(" + cfg.h2 + "," + cfg.w2 + ")")
.style("opacity", 0)
.transition()
.duration(1000)
.attr("transform", function(d,i) { return "translate(" + x(d,i) + ","
+ y(d,i) + ")" })
.style("opacity", 1);
}
circularTrack.prototype.updateGlyphTrack = function(i) {
var g = this.g;
var cfg = this.layout;
var track = this.tracks[i];
var stack_count = 0;
}
////////////////////////////////////////////////
//
// Brush functionality
//
////////////////////////////////////////////////
circularTrack.prototype.attachBrush = function(callbackObj) {
if('undefined' !== typeof this.callbackObj) {
if( Object.prototype.toString.call( callbackObj ) === '[object Array]' ) {
this.callbackObj.push(callbackObj);
} else {
var tmpobj = this.callbackObj;
this.callbackObj = [tmpobj, callbackObj];
}
} else {
this.callbackObj = callbackObj;
this.createBrush();
}
}
circularTrack.prototype.redrawBrush = function(startRad, endRad) {
var cfg = this.layout;
if('undefined' !== typeof this.brush) {
this.brushArc
.outerRadius(cfg.radius-10);
this.brush
.transition()
.duration(1000)
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")");
this.moveBrush(startRad, endRad);
d3.select("#brushStart_" + cfg.containerid)
.transition()
.duration(1000)
.attr("cx", cfg.h/2 + ((cfg.radius-10)*Math.cos(startRad-cfg.PI2)))
.attr("cy", cfg.h/2 + ((cfg.radius-10)*Math.sin(startRad-cfg.PI2)));
d3.select("#brushEnd_" + cfg.containerid)
.transition()
.duration(1000)
.attr("cx", cfg.w2 + ((cfg.radius-10)*Math.cos(endRad-cfg.PI2)))
.attr("cy", cfg.h2 + ((cfg.radius-10)*Math.sin(endRad-cfg.PI2)));
}
}
circularTrack.prototype.createBrush = function() {
var g = this.g;
var cfg = this.layout;
var xScale = this.xScale;
var self = this;
this.brushStart = 0;
this.brushEnd = 0;
this.brushStartBP = 0;
this.brushEndBP = 0;
this.brushArc = d3.svg.arc()
.innerRadius(20)
.outerRadius(cfg.radius-10)
.endAngle(function(d){return xScale(0);})
.startAngle(function(d){return xScale(0);});
this.brush = g.insert("path", "defs")
.attr("d", this.brushArc)
.attr("id", "polarbrush_" + cfg.containerid)
.attr("class", "polarbrush circularbrush")
.attr("transform", "translate("+cfg.w2+","+cfg.h2+")")
var dragStart = d3.behavior.drag()
.on("drag", function(d) {
var mx = d3.mouse(this)[0];
var my = d3.mouse(this)[1];
var curRadandBP = calcRadBPfromXY((d3.mouse(this)[0] - (cfg.w2)),
-(d3.mouse(this)[1] - (cfg.h2)),
xScale);
// Don't allow the brush to go beyond the other
if(curRadandBP[0] >= self.brushEnd) {
return;
}
g.select("#brushStart_" + cfg.containerid)
.attr("cx", function(d, i){return cfg.h/2 + (cfg.radius-10)*Math.cos((curRadandBP[0])-cfg.PI2);})
.attr("cy", function(d, i){return cfg.h/2 + (cfg.radius-10)*Math.sin((curRadandBP[0])-cfg.PI2); });
self.brushStart = curRadandBP[0];
self.brushStartBP = curRadandBP[1];
self.moveBrush(self.brushStart, self.brushEnd);
if('undefined' !== typeof self.callbackObj) {
self.doBrushCallback(self.brushStartBP, self.brushEndBP);
// self.callbackObj.update(self.brushStartBP, self.brushEndBP);
}
})
.on("dragend", function(d) {
self.doBrushFinishedCallback(self.brushStartBP, self.brushEndBP);
});
var dragEnd = d3.behavior.drag()
.on("drag", function(d) {
var mx = d3.mouse(this)[0];
var my = d3.mouse(this)[1];
var curRadandBP = calcRadBPfromXY((d3.mouse(this)[0] - (cfg.w2)),
-(d3.mouse(this)[1] - (cfg.h2)),
xScale);
// Don't allow the brush to go beyond the other
if(curRadandBP[0] <= self.brushStart) {
return;
}
g.select("#brushEnd_" + cfg.containerid)
.attr("cx", function(d, i){return cfg.h/2 + (cfg.radius-10)*Math.cos((curRadandBP[0])-cfg.PI2);})
.attr("cy", function(d, i){return cfg.h/2 + (cfg.radius-10)*Math.sin((curRadandBP[0])-cfg.PI2); });
self.brushEnd = curRadandBP[0];
self.brushEndBP = curRadandBP[1];
self.moveBrush(self.brushStart, self.brushEnd);
if('undefined' !== typeof self.callbackObj) {
self.doBrushCallback(self.brushStartBP, self.brushEndBP);
// self.callbackObj.update(self.brushStartBP, self.brushEndBP);
}
})
.on("dragend", function(d) {
self.doBrushFinishedCallback(self.brushStartBP, self.brushEndBP);
});
this.endBrushObj = g.append("circle")
.attr({
id: 'brushEnd_' + cfg.containerid,
class: 'brushEnd circularbrush',
cx: (cfg.w2 + ((cfg.radius-10)*Math.cos((this.xScale(0))-cfg.PI2))),
cy: (cfg.h2 + ((cfg.radius-10)*Math.sin((this.xScale(0))-cfg.PI2))),
r: 5
})
.call(dragEnd);
this.startBrushObj = g.append("circle")
.attr({
id: 'brushStart_' + cfg.containerid,
class: 'brushStart circularbrush',
cx: (cfg.w2 + ((cfg.radius-10)*Math.cos((this.xScale(0))-cfg.PI2))),
cy: (cfg.h2 + ((cfg.radius-10)*Math.sin((this.xScale(0))-cfg.PI2))),
r: 5
})
.call(dragStart);
// Create the start and stop pointers
}
circularTrack.prototype.doBrushCallback = function(startBP, endBP) {
var cfg = this.layout;
if( Object.prototype.toString.call( this.callbackObj ) === '[object Array]' ) {
for(var obj in this.callbackObj) {
if(this.callbackObj.hasOwnProperty(obj)) {
this.callbackObj[obj].update(startBP, endBP, { plotid: cfg.plotid } );
}
}
} else {
this.callbackObj.update(startBP, endBP, { plotid: cfg.plotid });
}
}
circularTrack.prototype.doBrushFinishedCallback = function(startBP, endBP) {
var cfg = this.layout;
if( Object.prototype.toString.call( this.callbackObj ) === '[object Array]' ) {
for(var obj in this.callbackObj) {
if(this.callbackObj.hasOwnProperty(obj)) {
this.callbackObj[obj].update_finished(startBP, endBP, { plotid: cfg.plotid });
}
}
} else {
this.callbackObj.update_finished(startBP, endBP, { plotid: cfg.plotid });
}
}
circularTrack.prototype.moveBrush = function(startRad, endRad) {
var g = this.g;
var cfg = this.layout;
// console.log("moving brush to " + startRad, endRad);
this.brushArc
.startAngle(startRad)
.endAngle(endRad);
d3.select('#polarbrush_' + cfg.containerid)
.attr("d", this.brushArc);
this.currentStart = startRad;
this.currentEnd = endRad;
}
circularTrack.prototype.moveBrushbyBP = function(startbp, endbp) {
var cfg = this.layout;
var startRad = startbp*this.layout.radians_pre_bp;
var endRad = endbp*this.layout.radians_pre_bp;
this.moveBrush(startRad,endRad);
this.brushStart = startRad;
this.brushStartBP = startbp;
this.currentStart = startRad;
this.currentEnd = endRad;
d3.select("#brushStart_" + cfg.containerid)
.attr("cx", cfg.h/2 + ((cfg.radius-10)*Math.cos(startRad-cfg.PI2)))
.attr("cy", cfg.h/2 + ((cfg.radius-10)*Math.sin(startRad-cfg.PI2)));
this.brushEnd = endRad;
this.brushEndBP = endbp;
d3.select("#brushEnd_" + cfg.containerid)
.attr("cx", cfg.w2 + ((cfg.radius-10)*Math.cos(endRad-cfg.PI2)))
.attr("cy", cfg.h2 + ((cfg.radius-10)*Math.sin(endRad-cfg.PI2)));
}
circularTrack.prototype.hideBrush = function() {
var cfg = this.layout;
d3.select("#brushStart_" + cfg.containerid)
.style("visibility", "hidden");
d3.select("#brushEnd_" + cfg.containerid)
.style("visibility", "hidden");
d3.select('#polarbrush_' + cfg.containerid)
.style("visibility", "hidden");
}
circularTrack.prototype.showBrush = function() {
var cfg = this.layout;
d3.select("#brushStart_" + cfg.containerid)
.style("visibility", "visible");
d3.select("#brushEnd_" + cfg.containerid)
.style("visibility", "visible");
d3.select('#polarbrush_' + cfg.containerid)
.style("visibility", "visible");
}
circularTrack.prototype.update = function(startBP, endBP, params) {
this.moveBrushbyBP(startBP, endBP);
}
circularTrack.prototype.update_finished = function(startBP, endBP, params) {
// console.log("Thank you, got: " + startBP, endBP);
}
////////////////////////////////////////////////
//
// Export functionality
//
////////////////////////////////////////////////
// Allowed export formats are 'png' and 'svg'
// The extension will be added, just summply the base
// filename.
// Saving to raster format is dependent on FileSaver.js
// and canvg.js (which include rgbcolor.js & StackBlur.js),
// they must be loaded before circularplot.js
circularTrack.prototype.savePlot = function(scaling, filename, stylesheetfile, format) {
// First lets get the stylesheet
var sheetlength = stylesheetfile.length;
var style = document.createElementNS("http://www.w3.org/1999/xhtml", "style");
style.textContent += "<![CDATA[\n";
for (var i=0;i<document.styleSheets.length; i++) {
str = document.styleSheets[i].href;
if(null == str) continue;
if (str.substr(str.length-sheetlength)==stylesheetfile){
var rules;
if(document.styleSheets[i].cssRules) {
rules = document.styleSheets[i].cssRules;
} else if (document.styleSheets[i].rules) {
rules = document.styleSheets[i].rules;
}
if(rules) {
for (var j=0; j<rules.length;j++){
style.textContent += (rules[j].cssText + "\n");
}
}
break;
}
}
style.textContent += "]]>";
// Now we clone the SVG element, resize and scale it up
var container = this.layout.container.slice(1);
var containertag = document.getElementById(container);
var clonedSVG = containertag.cloneNode(true);
var svg = clonedSVG.getElementsByTagName("svg")[0];
// Remove drag-resize shadow element
var tags = svg.getElementsByClassName("dragbar-shadow")
for(var i=0; i<tags.length; i++) {
if(tags[i].getAttributeNS(null, "name") === name) {
tags[i].parentNode.removeChild(tags[i]);
}
}
// Remove the brush if it's on the chart
var tags = svg.getElementsByClassName("circularbrush")
for(var i=tags.length-1; i>=0; i--) {
// if(tags[i].getAttributeNS(null, "name") === name) {
tags[i].parentNode.removeChild(tags[i]);
// }
}
// Remove the move croshairs if on the chart
var tags = svg.getElementsByClassName("move_circularchart")
for(var i=tags.length-1; i>=0; i--) {
// if(tags[i].getAttributeNS(null, "name") === name) {
tags[i].parentNode.removeChild(tags[i]);
// }
}
// We need to resize the svg with the new canvas size
svg.removeAttribute('width');
svg.removeAttribute('height');
svg.setAttribute('width', this.layout.w*scaling + this.layout.TranslateX*scaling);
svg.setAttribute('height', this.layout.h*scaling + this.layout.TranslateY*scaling);
// Update first g tag with the scaling
g = svg.getElementsByTagName("g")[0];
transform = g.getAttribute("transform");
g.setAttribute("transform", transform + " scale(" + scaling + ")");
// Append the stylehsheet to the cloned svg element
// so when we export it the style are inline and
// get rendered
svg.getElementsByTagName("defs")[0].appendChild(style);
// Fetch the actual SVG tag and convert it to a canvas
// element
var content = clonedSVG.innerHTML.trim();
if(format == 'svg') {
var a = document.createElement('a');
a.href = "data:application/octet-stream;base64;attachment," + btoa(content);
a.download = filename + ".svg";
a.click();
} else if(format == 'png') {
var canvas = document.createElement('canvas');
canvg(canvas, content);
// Convert the canvas to a data url (this could
// be displayed inline by inserting it in to an
// <img> tag in the src attribute, ie
// <img src="'+imgData+'">
var theImage = canvas.toDataURL('image/png');
// Convert to a blob
var blob = this.dataURLtoBlob(theImage);
// Prompt to save
saveAs(blob, filename);
}
}
// Saving to raster format is dependent on FileSaver.js
// and canvg.js (which include rgbcolor.js & StackBlur.js),
// they must be loaded before circularplot.js
circularTrack.prototype.saveRaster = function(scaling, filename, stylesheetfile) {
// First lets get the stylesheet
var sheetlength = stylesheetfile.length;
var style = document.createElementNS("http://www.w3.org/1999/xhtml", "style");
style.textContent += "<![CDATA[\n";
for (var i=0;i<document.styleSheets.length; i++) {
str = document.styleSheets[i].href;
if(null == str) continue;
if (str.substr(str.length-sheetlength)==stylesheetfile){
var rules = document.styleSheets[i].rules;
for (var j=0; j<rules.length;j++){
style.textContent += (rules[j].cssText + "\n");
}
break;
}
}
style.textContent += "]]>";
// Now we clone the SVG element, resize and scale it up
var container = this.layout.container.slice(1);
var containertag = document.getElementById(container);
var clonedSVG = containertag.cloneNode(true);
var svg = clonedSVG.getElementsByTagName("svg")[0];
// We need to resize the svg with the new canvas size
svg.removeAttribute('width');
svg.removeAttribute('height');
svg.setAttribute('width', this.layout.w*scaling + this.layout.TranslateX*scaling);
svg.setAttribute('height', this.layout.h*scaling + this.layout.TranslateY*scaling);
// Update first g tag with the scaling
g = svg.getElementsByTagName("g")[0];
transform = g.getAttribute("transform");
g.setAttribute("transform", transform + " scale(" + scaling + ")");
// Append the stylehsheet to the cloned svg element
// so when we export it the style are inline and
// get rendered
svg.getElementsByTagName("defs")[0].appendChild(style);
// Fetch the actual SVG tag and convert it to a canvas
// element
var content = clonedSVG.innerHTML.trim();
var canvas = document.createElement('canvas');
canvg(canvas, content);
// Convert the canvas to a data url (this could
// be displayed inline by inserting it in to an
// <img> tag in the src attribute, ie
// <img src="'+imgData+'">
var theImage = canvas.toDataURL('image/png');
// Convert to a blob
var blob = this.dataURLtoBlob(theImage);
// Prompt to save
saveAs(blob, filename);
}
circularTrack.prototype.dataURLtoBlob = function(dataURL) {
// Decode the dataURL
var binary = atob(dataURL.split(',')[1]);
// Create 8-bit unsigned array
var array = [];
for(var i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
// Return our Blob object
return new Blob([new Uint8Array(array)], {type: 'image/png'});
}
////////////////////////////////////////////////
//
// Utility functions
//
////////////////////////////////////////////////
circularTrack.prototype.showTrack = function(name) {
var i = this.findTrackbyName(name);
// We didn't find the track by that name
if(i < 0) {
return;
}
// Is it already visible? Do nothing
if(this.tracks[i].visible) {
return;
} else {
this.tracks[i].visible = true;
}
switch(this.tracks[i].trackType) {
case "plot":
this.drawPlot(i, true);
break;
case "track":
this.drawTrack(i, true);
break;
case "stranded":
this.drawTrack(i, true);
break;
case "gap":
this.drawGap(i, true);
break;
case "glyph":
// Do nothing for a glyph type, special case
// but leave this as a placeholder for now
break;
default:
// Do nothing for an unknown track type
}
}
circularTrack.prototype.hideTrack = function(name) {
var i = this.findTrackbyName(name);
// We didn't find the track by that name
if(i < 0) {
return;
}
// Is it already not visible? Do nothing
if(! this.tracks[i].visible) {
return;
}
switch(this.tracks[i].trackType) {
case "plot":
this.removePlot(i);
break;
case "track":
this.removeTrack(i);
break;
case "stranded":
this.removeTrack(i);
break;
case "gap":
this.removeGap(i);
break;
case "glyph":
// Do nothing for a glyph type, special case
// but leave this as a placeholder for now
break;
default:
// Do nothing for an unknown track type
}
}
circularTrack.prototype.hideGlyphTrackType = function(name, type) {
var i = this.findTrackbyName(name);
// We didn't find the track by that name
if(i < 0) {
return;
}
if(this.tracks[i].trackType !== "glyph") {
// Wrong track type, bail
return;
}
// Don't try to show if already visible
if(! this.isvisibleGlyphTrackType(name, type)) {
return;
}
for(var j = 0; j < this.tracks[i].visTypes.length; j++) {
if(this.tracks[i].visTypes[j] == type) {
this.tracks[i].visTypes.splice(j, 1);
j--;
}
}
this.drawGlyphTrack(i);
}
circularTrack.prototype.showGlyphTrackType = function(name, type) {
var i = this.findTrackbyName(name);
// We didn't find the track by that name
if(i < 0) {
return;
}
if(this.tracks[i].trackType !== "glyph") {
// Wrong track type, bail
return;
}
// Don't try to show if already visible
if(this.isvisibleGlyphTrackType(name, type)) {
return;
}
if(! this.tracks[i].visTypes.contains(type) ) {
this.tracks[i].visTypes.push(type);
}
this.drawGlyphTrack(i);
}
circularTrack.prototype.isvisibleGlyphTrackType = function(name, type) {
var i = this.findTrackbyName(name);
// We didn't find the track by that name
if(i < 0) {
return;
}
if(this.tracks[i].trackType !== "glyph") {
// Wrong track type, bail
return;
}
for(var j = 0; j < this.tracks[i].visTypes.length; j++) {
if(this.tracks[i].visTypes[j] == type) {
return true;
}
}
return false;
}
circularTrack.prototype.dragresize = function() {
var newWidth = d3.event.x - this.layout.ExtraWidthX;
var newHeight = d3.event.y - this.layout.ExtraWidthY;
var newSize = Math.max(newWidth, newHeight);
// Don't allow going below 25px in size
if(newSize <= 25) {
return;
}
// console.log(this.layout.w);
// console.log("x " + newWidth);
// console.log("y " + newHeight);
this.layout.newSize = newSize
// this.layout.w = newSize;
// this.layout.h = newSize;
this.dragbar
.attr("transform", "translate(" + (newSize+this.layout.ExtraWidthX-25) + "," + (newSize+this.layout.ExtraWidthY-25) + ")")
this.drag_shadow
.attr("width", (newSize+this.layout.ExtraWidthX))
.attr("height", (newSize+this.layout.ExtraWidthY));
if((newSize >= this.layout.w) || (newSize >= this.layout.h)) {
this.container
.attr("width", newSize+this.layout.ExtraWidthX)
.attr("height", newSize+this.layout.ExtraWidthY)
}
// this.resize(newSize);
}
circularTrack.prototype.dragresize_start = function() {
d3.event.sourceEvent.stopPropagation();
this.drag_shadow
.attr("class", "dragbar-shadow");
}
circularTrack.prototype.dragresize_end = function() {
var newSize = this.layout.newSize;
this.resize(this.layout.w);
this.layout.w = newSize;
this.layout.w2 = newSize / 2;
this.layout.h = newSize;
this.layout.h2 = this.layout.w2;
this.drag_shadow
.attr("class", "linear_hidden dragbar-shadow");
this.resize(newSize);
}
circularTrack.prototype.resize = function(newWidth) {
var resize_ratio = newWidth / this.layout.radius / 2;
this.layout.radius = this.layout.factor*Math.min(newWidth/2, newWidth/2);
this.layout.w = newWidth;
this.layout.w2 = newWidth / 2;
this.layout.h = newWidth;
this.layout.h2 = this.layout.w2;
this.moveAxis();
// Resize the plots
for(var i=0; i < this.tracks.length; i++) {
// if('undefined' !== typeof this.tracks[i].visible) {
// if(! this.tracks[i].visible) {
// continue;
// }
// }
// We're going to see what type of tracks we have
// and dispatch them appropriately
switch(this.tracks[i].trackType) {
case "plot":
this.movePlot(i, (this.tracks[i].plot_radius*resize_ratio));
break;
case "track":
this.moveTrack(i, (this.tracks[i].inner_radius*resize_ratio), (this.tracks[i].outer_radius*resize_ratio));
break;
case "stranded":
this.moveTrack(i, (this.tracks[i].inner_radius*resize_ratio), (this.tracks[i].outer_radius*resize_ratio));
break;
case "gap":
this.moveGap(i, (this.tracks[i].inner_radius*resize_ratio), (this.tracks[i].outer_radius*resize_ratio));
break;
case "glyph":
this.tracks[i].radius = this.tracks[i].radius * resize_ratio;
// We needed to save the new radius but if this
// track isn't visible, do nothing
if(this.tracks[i].visible) {
this.drawGlyphTrack(i);
}
break;
default:
// Do nothing for an unknown track type
}
}
this.container
.attr("width", newWidth+this.layout.ExtraWidthX)
.attr("height", newWidth+this.layout.ExtraWidthY)
this.redrawBrush(this.currentStart, this.currentEnd);
this.dragbar
.attr("transform", "translate(" + (newWidth+this.layout.ExtraWidthX-25) + "," + (newWidth+this.layout.ExtraWidthY-25) + ")")
}
////////////////////////////////////////////////
//
// Helper functions
//
////////////////////////////////////////////////
circularTrack.prototype.findTrackbyName = function(name) {
var tracks = this.tracks;
for(var i=0; i < tracks.length; i++) {
if(tracks[i].trackName == name) {
return i;
}
}
return -1;
}
circularTrack.prototype.findGlyphTypes = function(i) {
var classes = [];
if('undefined' == typeof this.tracks[i].visItems) {
this.tracks[i].visTypes = [];
}
for(var j=0; j < this.tracks[i].items.length; j++) {
if(! this.tracks[i].visTypes.contains(this.tracks[i].items[j].type)) {
this.tracks[i].visTypes.push(this.tracks[i].items[j].type);
classes.push(this.tracks[i].trackName + "_" + this.tracks[i].items[j].type);
}
}
this.tracks[i].visClasses = classes.join(' ');
}
circularTrack.prototype.maskGlyphTypes = function(i, types) {
for(var j = this.tracks[i].visTypes.length - 1; j >= 0; j--) {
if(types.contains(this.tracks[i].visTypes[j])) {
this.tracks[i].visTypes.splice(j, 1);
}
}
}
Array.prototype.contains = function(obj) {
var i = this.length;
while (i--) {
if (this[i] == obj) {
return true;
}
}
return false;
}
// If we're displaying a stranded track, calculate
// the inner radius depending on which strand the
// gene is on.
function calcInnerRadius(inner, outer, strand) {
if('undefined' == typeof strand) {
return inner;
} else if(strand == -1) {
return inner;
} else {
return (inner+outer)/2;
}
}
// If we're displaying a stranded track, calculate
// the outer radius depending on which strand the
// gene is on.
function calcOuterRadius (inner, outer, strand) {
if('undefined' == typeof strand) {
return outer;
} else if(strand == -1) {
return (inner+outer)/2;
} else {
return outer;
}
}
function calcRadBPfromXY (x,y,xScale) {
var rad = Math.PI/2 - Math.atan(y/x);
if(x < 0) {
// II & III quadrant
rad = rad + Math.PI;
}
return [rad,Math.floor(xScale.invert(rad))];
}
function calcMinSliceSize () {
var cfg = this.layout;
//cfg.radians_pre_bp
}
// d3.tip
// Copyright (c) 2013 Justin Palmer
//
// Tooltips for d3.js SVG visualizations
(function (root, factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as an anonymous module with d3 as a dependency.
define(['d3'], factory)
} else {
// Browser global.
root.d3.tip = factory(root.d3)
}
}(this, function (d3) {
// Public - contructs a new tooltip
//
// Returns a tip
return function() {
var direction = d3_tip_direction,
offset = d3_tip_offset,
html = d3_tip_html,
node = initNode(),
svg = null,
point = null,
target = null
function tip(vis) {
svg = getSVGNode(vis)
point = svg.createSVGPoint()
document.body.appendChild(node)
}
// Public - show the tooltip on the screen
//
// Returns a tip
tip.show = function() {
var args = Array.prototype.slice.call(arguments)
if(args[args.length - 1] instanceof SVGElement) target = args.pop()
var content = html.apply(this, args),
poffset = offset.apply(this, args),
dir = direction.apply(this, args),
nodel = d3.select(node),
i = directions.length,
coords
nodel.html(content)
.style({ opacity: 1, 'pointer-events': 'all' })
while(i--) nodel.classed(directions[i], false)
coords = direction_callbacks.get(dir).apply(this)
nodel.classed(dir, true).style({
top: (coords.top + poffset[0]) + 'px',
left: (coords.left + poffset[1]) + 'px'
})
return tip
}
// Public - hide the tooltip
//
// Returns a tip
tip.hide = function() {
nodel = d3.select(node)
nodel.style({ opacity: 0, 'pointer-events': 'none' })
return tip
}
// Public: Proxy attr calls to the d3 tip container. Sets or gets attribute value.
//
// n - name of the attribute
// v - value of the attribute
//
// Returns tip or attribute value
tip.attr = function(n, v) {
if (arguments.length < 2 && typeof n === 'string') {
return d3.select(node).attr(n)
} else {
var args = Array.prototype.slice.call(arguments)
d3.selection.prototype.attr.apply(d3.select(node), args)
}
return tip
}
// Public: Proxy style calls to the d3 tip container. Sets or gets a style value.
//
// n - name of the property
// v - value of the property
//
// Returns tip or style property value
tip.style = function(n, v) {
if (arguments.length < 2 && typeof n === 'string') {
return d3.select(node).style(n)
} else {
var args = Array.prototype.slice.call(arguments)
d3.selection.prototype.style.apply(d3.select(node), args)
}
return tip
}
// Public: Set or get the direction of the tooltip
//
// v - One of n(north), s(south), e(east), or w(west), nw(northwest),
// sw(southwest), ne(northeast) or se(southeast)
//
// Returns tip or direction
tip.direction = function(v) {
if (!arguments.length) return direction
direction = v == null ? v : d3.functor(v)
return tip
}
// Public: Sets or gets the offset of the tip
//
// v - Array of [x, y] offset
//
// Returns offset or
tip.offset = function(v) {
if (!arguments.length) return offset
offset = v == null ? v : d3.functor(v)
return tip
}
// Public: sets or gets the html value of the tooltip
//
// v - String value of the tip
//
// Returns html value or tip
tip.html = function(v) {
if (!arguments.length) return html
html = v == null ? v : d3.functor(v)
return tip
}
function d3_tip_direction() { return 'n' }
function d3_tip_offset() { return [0, 0] }
function d3_tip_html() { return ' ' }
var direction_callbacks = d3.map({
n: direction_n,
s: direction_s,
e: direction_e,
w: direction_w,
nw: direction_nw,
ne: direction_ne,
sw: direction_sw,
se: direction_se
}),
directions = direction_callbacks.keys()
function direction_n() {
var bbox = getScreenBBox()
return {
top: bbox.n.y - node.offsetHeight,
left: bbox.n.x - node.offsetWidth / 2
}
}
function direction_s() {
var bbox = getScreenBBox()
return {
top: bbox.s.y,
left: bbox.s.x - node.offsetWidth / 2
}
}
function direction_e() {
var bbox = getScreenBBox()
return {
top: bbox.e.y - node.offsetHeight / 2,
left: bbox.e.x
}
}
function direction_w() {
var bbox = getScreenBBox()
return {
top: bbox.w.y - node.offsetHeight / 2,
left: bbox.w.x - node.offsetWidth
}
}
function direction_nw() {
var bbox = getScreenBBox()
return {
top: bbox.nw.y - node.offsetHeight,
left: bbox.nw.x - node.offsetWidth
}
}
function direction_ne() {
var bbox = getScreenBBox()
return {
top: bbox.ne.y - node.offsetHeight,
left: bbox.ne.x
}
}
function direction_sw() {
var bbox = getScreenBBox()
return {
top: bbox.sw.y,
left: bbox.sw.x - node.offsetWidth
}
}
function direction_se() {
var bbox = getScreenBBox()
return {
top: bbox.se.y,
left: bbox.e.x
}
}
function initNode() {
var node = d3.select(document.createElement('div'))
node.style({
position: 'absolute',
top: 0,
opacity: 0,
'pointer-events': 'none',
'box-sizing': 'border-box'
})
return node.node()
}
function getSVGNode(el) {
el = el.node()
if(el.tagName.toLowerCase() == 'svg')
return el
return el.ownerSVGElement
}
// Private - gets the screen coordinates of a shape
//
// Given a shape on the screen, will return an SVGPoint for the directions
// n(north), s(south), e(east), w(west), ne(northeast), se(southeast), nw(northwest),
// sw(southwest).
//
// +-+-+
// | |
// + +
// | |
// +-+-+
//
// Returns an Object {n, s, e, w, nw, sw, ne, se}
function getScreenBBox() {
var targetel = target || d3.event.target,
bbox = {},
matrix = targetel.getScreenCTM(),
tbbox = targetel.getBBox(),
width = tbbox.width,
height = tbbox.height,
x = tbbox.x,
y = tbbox.y,
scrollEl = document.documentElement? document.documentElement : document.body,
scrollTop = scrollEl.scrollTop,
scrollLeft = scrollEl.scrollLeft
point.x = x + scrollLeft
point.y = y + scrollTop
bbox.nw = point.matrixTransform(matrix)
point.x += width
bbox.ne = point.matrixTransform(matrix)
point.y += height
bbox.se = point.matrixTransform(matrix)
point.x -= width
bbox.sw = point.matrixTransform(matrix)
point.y -= height / 2
bbox.w = point.matrixTransform(matrix)
point.x += width
bbox.e = point.matrixTransform(matrix)
point.x -= width / 2
point.y -= height / 2
bbox.n = point.matrixTransform(matrix)
point.y += height
bbox.s = point.matrixTransform(matrix)
return bbox
}
return tip
};
}));
!function(){function n(n,t){return t>n?-1:n>t?1:n>=t?0:0/0}function t(n){return null===n?0/0:+n}function e(n){return!isNaN(n)}function r(n){return{left:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)<0?r=i+1:u=i}return r},right:function(t,e,r,u){for(arguments.length<3&&(r=0),arguments.length<4&&(u=t.length);u>r;){var i=r+u>>>1;n(t[i],e)>0?u=i:r=i+1}return r}}}function u(n){return n.length}function i(n){for(var t=1;n*t%1;)t*=10;return t}function o(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function a(){this._=Object.create(null)}function c(n){return(n+="")===la||n[0]===sa?sa+n:n}function l(n){return(n+="")[0]===sa?n.slice(1):n}function s(n){return c(n)in this._}function f(n){return(n=c(n))in this._&&delete this._[n]}function h(){var n=[];for(var t in this._)n.push(l(t));return n}function g(){var n=0;for(var t in this._)++n;return n}function p(){for(var n in this._)return!1;return!0}function v(){this._=Object.create(null)}function d(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function m(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=fa.length;r>e;++e){var u=fa[e]+t;if(u in n)return u}}function y(){}function x(){}function M(n){function t(){for(var t,r=e,u=-1,i=r.length;++u<i;)(t=r[u].on)&&t.apply(this,arguments);return n}var e=[],r=new a;return t.on=function(t,u){var i,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,i=e.indexOf(o)).concat(e.slice(i+1)),r.remove(t)),u&&e.push(r.set(t,{on:u})),n)},t}function _(){Bo.event.preventDefault()}function b(){for(var n,t=Bo.event;n=t.sourceEvent;)t=n;return t}function w(n){for(var t=new x,e=0,r=arguments.length;++e<r;)t[arguments[e]]=M(t);return t.of=function(e,r){return function(u){try{var i=u.sourceEvent=Bo.event;u.target=n,Bo.event=u,t[u.type].apply(e,r)}finally{Bo.event=i}}},t}function S(n){return ga(n,ya),n}function k(n){return"function"==typeof n?n:function(){return pa(n,this)}}function E(n){return"function"==typeof n?n:function(){return va(n,this)}}function A(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function u(){this.setAttribute(n,t)}function i(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=Bo.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?i:u}function C(n){return n.trim().replace(/\s+/g," ")}function N(n){return new RegExp("(?:^|\\s+)"+Bo.requote(n)+"(?:\\s+|$)","g")}function z(n){return(n+"").trim().split(/^|\s+/)}function L(n,t){function e(){for(var e=-1;++e<u;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<u;)n[e](this,r)}n=z(n).map(T);var u=n.length;return"function"==typeof t?r:e}function T(n){var t=N(n);return function(e,r){if(u=e.classList)return r?u.add(n):u.remove(n);var u=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(u)||e.setAttribute("class",C(u+" "+n))):e.setAttribute("class",C(u.replace(t," ")))}}function q(n,t,e){function r(){this.style.removeProperty(n)}function u(){this.style.setProperty(n,t,e)}function i(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?i:u}function R(n,t){function e(){delete this[n]}function r(){this[n]=t}function u(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?u:r}function D(n){return"function"==typeof n?n:(n=Bo.ns.qualify(n)).local?function(){return this.ownerDocument.createElementNS(n.space,n.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,n)}}function P(n){return{__data__:n}}function U(n){return function(){return ma(this,n)}}function j(t){return arguments.length||(t=n),function(n,e){return n&&e?t(n.__data__,e.__data__):!n-!e}}function F(n,t){for(var e=0,r=n.length;r>e;e++)for(var u,i=n[e],o=0,a=i.length;a>o;o++)(u=i[o])&&t(u,o,e);return n}function H(n){return ga(n,Ma),n}function O(n){var t,e;return function(r,u,i){var o,a=n[i].update,c=a.length;for(i!=e&&(e=i,t=0),u>=t&&(t=u+1);!(o=a[t])&&++t<c;);return o}}function Y(){var n=this.__transition__;n&&++n.active}function I(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function u(){var u=c(t,Jo(arguments));r.call(this),this.addEventListener(n,this[o]=u,u.$=e),u._=t}function i(){var t,e=new RegExp("^__on([^.]+)"+Bo.requote(n)+"$");for(var r in this)if(t=r.match(e)){var u=this[r];this.removeEventListener(t[1],u,u.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),c=Z;a>0&&(n=n.slice(0,a));var l=ba.get(n);return l&&(n=l,c=V),a?t?u:r:t?y:i}function Z(n,t){return function(e){var r=Bo.event;Bo.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{Bo.event=r}}}function V(n,t){var e=Z(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function X(){var n=".dragsuppress-"+ ++Sa,t="click"+n,e=Bo.select(Qo).on("touchmove"+n,_).on("dragstart"+n,_).on("selectstart"+n,_);if(wa){var r=Ko.style,u=r[wa];r[wa]="none"}return function(i){function o(){e.on(t,null)}e.on(n,null),wa&&(r[wa]=u),i&&(e.on(t,function(){_(),o()},!0),setTimeout(o,0))}}function $(n,t){t.changedTouches&&(t=t.changedTouches[0]);var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();if(0>ka&&(Qo.scrollX||Qo.scrollY)){e=Bo.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var u=e[0][0].getScreenCTM();ka=!(u.f||u.e),e.remove()}return ka?(r.x=t.pageX,r.y=t.pageY):(r.x=t.clientX,r.y=t.clientY),r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}function B(){return Bo.event.changedTouches[0].identifier}function W(){return Bo.event.target}function J(){return Qo}function G(n){return n>0?1:0>n?-1:0}function K(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function Q(n){return n>1?0:-1>n?Ea:Math.acos(n)}function nt(n){return n>1?Ca:-1>n?-Ca:Math.asin(n)}function tt(n){return((n=Math.exp(n))-1/n)/2}function et(n){return((n=Math.exp(n))+1/n)/2}function rt(n){return((n=Math.exp(2*n))-1)/(n+1)}function ut(n){return(n=Math.sin(n/2))*n}function it(){}function ot(n,t,e){return this instanceof ot?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ot?new ot(n.h,n.s,n.l):Mt(""+n,_t,ot):new ot(n,t,e)}function at(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?i+(o-i)*n/60:180>n?o:240>n?i+(o-i)*(240-n)/60:i}function u(n){return Math.round(255*r(n))}var i,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,i=2*e-o,new dt(u(n+120),u(n),u(n-120))}function ct(n,t,e){return this instanceof ct?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof ct?new ct(n.h,n.c,n.l):n instanceof st?ht(n.l,n.a,n.b):ht((n=bt((n=Bo.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new ct(n,t,e)}function lt(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new st(e,Math.cos(n*=La)*t,Math.sin(n)*t)}function st(n,t,e){return this instanceof st?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof st?new st(n.l,n.a,n.b):n instanceof ct?lt(n.h,n.c,n.l):bt((n=dt(n)).r,n.g,n.b):new st(n,t,e)}function ft(n,t,e){var r=(n+16)/116,u=r+t/500,i=r-e/200;return u=gt(u)*Ya,r=gt(r)*Ia,i=gt(i)*Za,new dt(vt(3.2404542*u-1.5371385*r-.4985314*i),vt(-.969266*u+1.8760108*r+.041556*i),vt(.0556434*u-.2040259*r+1.0572252*i))}function ht(n,t,e){return n>0?new ct(Math.atan2(e,t)*Ta,Math.sqrt(t*t+e*e),n):new ct(0/0,0/0,n)}function gt(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function pt(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function vt(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function dt(n,t,e){return this instanceof dt?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof dt?new dt(n.r,n.g,n.b):Mt(""+n,dt,at):new dt(n,t,e)}function mt(n){return new dt(n>>16,255&n>>8,255&n)}function yt(n){return mt(n)+""}function xt(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function Mt(n,t,e){var r,u,i,o=0,a=0,c=0;if(r=/([a-z]+)\((.*)\)/i.exec(n))switch(u=r[2].split(","),r[1]){case"hsl":return e(parseFloat(u[0]),parseFloat(u[1])/100,parseFloat(u[2])/100);case"rgb":return t(St(u[0]),St(u[1]),St(u[2]))}return(i=$a.get(n))?t(i.r,i.g,i.b):(null==n||"#"!==n.charAt(0)||isNaN(i=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&i)>>4,o=o>>4|o,a=240&i,a=a>>4|a,c=15&i,c=c<<4|c):7===n.length&&(o=(16711680&i)>>16,a=(65280&i)>>8,c=255&i)),t(o,a,c))}function _t(n,t,e){var r,u,i=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-i,c=(o+i)/2;return a?(u=.5>c?a/(o+i):a/(2-o-i),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=0/0,u=c>0&&1>c?0:r),new ot(r,u,c)}function bt(n,t,e){n=wt(n),t=wt(t),e=wt(e);var r=pt((.4124564*n+.3575761*t+.1804375*e)/Ya),u=pt((.2126729*n+.7151522*t+.072175*e)/Ia),i=pt((.0193339*n+.119192*t+.9503041*e)/Za);return st(116*u-16,500*(r-u),200*(u-i))}function wt(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function St(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function kt(n){return"function"==typeof n?n:function(){return n}}function Et(n){return n}function At(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Ct(t,e,n,r)}}function Ct(n,t,e,r){function u(){var n,t=c.status;if(!t&&zt(c)||t>=200&&300>t||304===t){try{n=e.call(i,c)}catch(r){return o.error.call(i,r),void 0}o.load.call(i,n)}else o.error.call(i,c)}var i={},o=Bo.dispatch("beforesend","progress","load","error"),a={},c=new XMLHttpRequest,l=null;return!Qo.XDomainRequest||"withCredentials"in c||!/^(http(s)?:)?\/\//.test(n)||(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=u:c.onreadystatechange=function(){c.readyState>3&&u()},c.onprogress=function(n){var t=Bo.event;Bo.event=n;try{o.progress.call(i,c)}finally{Bo.event=t}},i.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",i)},i.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",i):t},i.responseType=function(n){return arguments.length?(l=n,i):l},i.response=function(n){return e=n,i},["get","post"].forEach(function(n){i[n]=function(){return i.send.apply(i,[n].concat(Jo(arguments)))}}),i.send=function(e,r,u){if(2===arguments.length&&"function"==typeof r&&(u=r,r=null),c.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),c.setRequestHeader)for(var s in a)c.setRequestHeader(s,a[s]);return null!=t&&c.overrideMimeType&&c.overrideMimeType(t),null!=l&&(c.responseType=l),null!=u&&i.on("error",u).on("load",function(n){u(null,n)}),o.beforesend.call(i,c),c.send(null==r?null:r),i},i.abort=function(){return c.abort(),i},Bo.rebind(i,o,"on"),null==r?i:i.get(Nt(r))}function Nt(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function zt(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function Lt(){var n=Tt(),t=qt()-n;t>24?(isFinite(t)&&(clearTimeout(Ga),Ga=setTimeout(Lt,t)),Ja=0):(Ja=1,Qa(Lt))}function Tt(){var n=Date.now();for(Ka=Ba;Ka;)n>=Ka.t&&(Ka.f=Ka.c(n-Ka.t)),Ka=Ka.n;return n}function qt(){for(var n,t=Ba,e=1/0;t;)t.f?t=n?n.n=t.n:Ba=t.n:(t.t<e&&(e=t.t),t=(n=t).n);return Wa=n,e}function Rt(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Dt(n,t){var e=Math.pow(10,3*ca(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function Pt(n){var t=n.decimal,e=n.thousands,r=n.grouping,u=n.currency,i=r&&e?function(n,t){for(var u=n.length,i=[],o=0,a=r[0],c=0;u>0&&a>0&&(c+a+1>t&&(a=Math.max(1,t-c)),i.push(n.substring(u-=a,u+a)),!((c+=a+1)>t));)a=r[o=(o+1)%r.length];return i.reverse().join(e)}:Et;return function(n){var e=tc.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",c=e[4]||"",l=e[5],s=+e[6],f=e[7],h=e[8],g=e[9],p=1,v="",d="",m=!1,y=!0;switch(h&&(h=+h.substring(1)),(l||"0"===r&&"="===o)&&(l=r="0",o="="),g){case"n":f=!0,g="g";break;case"%":p=100,d="%",g="f";break;case"p":p=100,d="%",g="r";break;case"b":case"o":case"x":case"X":"#"===c&&(v="0"+g.toLowerCase());case"c":y=!1;case"d":m=!0,h=0;break;case"s":p=-1,g="r"}"$"===c&&(v=u[0],d=u[1]),"r"!=g||h||(g="g"),null!=h&&("g"==g?h=Math.max(1,Math.min(21,h)):("e"==g||"f"==g)&&(h=Math.max(0,Math.min(20,h)))),g=ec.get(g)||Ut;var x=l&&f;return function(n){var e=d;if(m&&n%1)return"";var u=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>p){var c=Bo.formatPrefix(n,h);n=c.scale(n),e=c.symbol+d}else n*=p;n=g(n,h);var M,_,b=n.lastIndexOf(".");if(0>b){var w=y?n.lastIndexOf("e"):-1;0>w?(M=n,_=""):(M=n.substring(0,w),_=n.substring(w))}else M=n.substring(0,b),_=t+n.substring(b+1);!l&&f&&(M=i(M,1/0));var S=v.length+M.length+_.length+(x?0:u.length),k=s>S?new Array(S=s-S+1).join(r):"";return x&&(M=i(k+M,k.length?s-_.length:1/0)),u+=v,n=M+_,("<"===o?u+n+k:">"===o?k+u+n:"^"===o?k.substring(0,S>>=1)+u+n+k.substring(S):u+(x?n:k+n))+e}}}function Ut(n){return n+""}function jt(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function Ft(n,t,e){function r(t){var e=n(t),r=i(e,1);return r-t>t-e?e:r}function u(e){return t(e=n(new uc(e-1)),1),e}function i(n,e){return t(n=new uc(+n),e),n}function o(n,r,i){var o=u(n),a=[];if(i>1)for(;r>o;)e(o)%i||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{uc=jt;var r=new jt;return r._=n,o(r,t,e)}finally{uc=Date}}n.floor=n,n.round=r,n.ceil=u,n.offset=i,n.range=o;var c=n.utc=Ht(n);return c.floor=c,c.round=Ht(r),c.ceil=Ht(u),c.offset=Ht(i),c.range=a,n}function Ht(n){return function(t,e){try{uc=jt;var r=new jt;return r._=t,n(r,e)._}finally{uc=Date}}}function Ot(n){function t(n){function t(t){for(var e,u,i,o=[],a=-1,c=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(c,a)),null!=(u=oc[e=n.charAt(++a)])&&(e=n.charAt(++a)),(i=C[e])&&(e=i(t,null==u?"e"===e?" ":"0":u)),o.push(e),c=a+1);return o.push(n.slice(c,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},u=e(r,n,t,0);if(u!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var i=null!=r.Z&&uc!==jt,o=new(i?jt:uc);return"j"in r?o.setFullYear(r.y,0,r.j):"w"in r&&("W"in r||"U"in r)?(o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(0|r.Z/100),r.M+r.Z%100,r.S,r.L),i?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var u,i,o,a=0,c=t.length,l=e.length;c>a;){if(r>=l)return-1;if(u=t.charCodeAt(a++),37===u){if(o=t.charAt(a++),i=N[o in oc?t.charAt(a++):o],!i||(r=i(n,e,r))<0)return-1}else if(u!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){b.lastIndex=0;var r=b.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){M.lastIndex=0;var r=M.exec(t.slice(e));return r?(n.w=_.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){E.lastIndex=0;var r=E.exec(t.slice(e));return r?(n.m=A.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,C.c.toString(),t,r)}function c(n,t,r){return e(n,C.x.toString(),t,r)}function l(n,t,r){return e(n,C.X.toString(),t,r)}function s(n,t,e){var r=x.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var f=n.dateTime,h=n.date,g=n.time,p=n.periods,v=n.days,d=n.shortDays,m=n.months,y=n.shortMonths;t.utc=function(n){function e(n){try{uc=jt;var t=new uc;return t._=n,r(t)}finally{uc=Date}}var r=t(n);return e.parse=function(n){try{uc=jt;var t=r.parse(n);return t&&t._}finally{uc=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ae;var x=Bo.map(),M=It(v),_=Zt(v),b=It(d),w=Zt(d),S=It(m),k=Zt(m),E=It(y),A=Zt(y);p.forEach(function(n,t){x.set(n.toLowerCase(),t)});var C={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return y[n.getMonth()]},B:function(n){return m[n.getMonth()]},c:t(f),d:function(n,t){return Yt(n.getDate(),t,2)},e:function(n,t){return Yt(n.getDate(),t,2)},H:function(n,t){return Yt(n.getHours(),t,2)},I:function(n,t){return Yt(n.getHours()%12||12,t,2)},j:function(n,t){return Yt(1+rc.dayOfYear(n),t,3)},L:function(n,t){return Yt(n.getMilliseconds(),t,3)},m:function(n,t){return Yt(n.getMonth()+1,t,2)},M:function(n,t){return Yt(n.getMinutes(),t,2)},p:function(n){return p[+(n.getHours()>=12)]},S:function(n,t){return Yt(n.getSeconds(),t,2)},U:function(n,t){return Yt(rc.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Yt(rc.mondayOfYear(n),t,2)},x:t(h),X:t(g),y:function(n,t){return Yt(n.getFullYear()%100,t,2)},Y:function(n,t){return Yt(n.getFullYear()%1e4,t,4)},Z:ie,"%":function(){return"%"}},N={a:r,A:u,b:i,B:o,c:a,d:Qt,e:Qt,H:te,I:te,j:ne,L:ue,m:Kt,M:ee,p:s,S:re,U:Xt,w:Vt,W:$t,x:c,X:l,y:Wt,Y:Bt,Z:Jt,"%":oe};return t}function Yt(n,t,e){var r=0>n?"-":"",u=(r?-n:n)+"",i=u.length;return r+(e>i?new Array(e-i+1).join(t)+u:u)}function It(n){return new RegExp("^(?:"+n.map(Bo.requote).join("|")+")","i")}function Zt(n){for(var t=new a,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function Vt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Xt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function $t(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Bt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Wt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.y=Gt(+r[0]),e+r[0].length):-1}function Jt(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Gt(n){return n+(n>68?1900:2e3)}function Kt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function Qt(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function ne(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function te(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function ee(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function re(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ue(n,t,e){ac.lastIndex=0;var r=ac.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function ie(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=0|ca(t)/60,u=ca(t)%60;return e+Yt(r,"0",2)+Yt(u,"0",2)}function oe(n,t,e){cc.lastIndex=0;var r=cc.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ae(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ce(){}function le(n,t,e){var r=e.s=n+t,u=r-n,i=r-u;e.t=n-i+(t-u)}function se(n,t){n&&hc.hasOwnProperty(n.type)&&hc[n.type](n,t)}function fe(n,t,e){var r,u=-1,i=n.length-e;for(t.lineStart();++u<i;)r=n[u],t.point(r[0],r[1],r[2]);t.lineEnd()}function he(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)fe(n[e],t,1);t.polygonEnd()}function ge(){function n(n,t){n*=La,t=t*La/2+Ea/4;var e=n-r,o=e>=0?1:-1,a=o*e,c=Math.cos(t),l=Math.sin(t),s=i*l,f=u*c+s*Math.cos(a),h=s*o*Math.sin(a);pc.add(Math.atan2(h,f)),r=n,u=c,i=l}var t,e,r,u,i;vc.point=function(o,a){vc.point=n,r=(t=o)*La,u=Math.cos(a=(e=a)*La/2+Ea/4),i=Math.sin(a)},vc.lineEnd=function(){n(t,e)}}function pe(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function ve(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function de(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function me(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function ye(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function xe(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function Me(n){return[Math.atan2(n[1],n[0]),nt(n[2])]}function _e(n,t){return ca(n[0]-t[0])<Na&&ca(n[1]-t[1])<Na}function be(n,t){n*=La;var e=Math.cos(t*=La);we(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function we(n,t,e){++dc,yc+=(n-yc)/dc,xc+=(t-xc)/dc,Mc+=(e-Mc)/dc}function Se(){function n(n,u){n*=La;var i=Math.cos(u*=La),o=i*Math.cos(n),a=i*Math.sin(n),c=Math.sin(u),l=Math.atan2(Math.sqrt((l=e*c-r*a)*l+(l=r*o-t*c)*l+(l=t*a-e*o)*l),t*o+e*a+r*c);mc+=l,_c+=l*(t+(t=o)),bc+=l*(e+(e=a)),wc+=l*(r+(r=c)),we(t,e,r)}var t,e,r;Ac.point=function(u,i){u*=La;var o=Math.cos(i*=La);t=o*Math.cos(u),e=o*Math.sin(u),r=Math.sin(i),Ac.point=n,we(t,e,r)}}function ke(){Ac.point=be}function Ee(){function n(n,t){n*=La;var e=Math.cos(t*=La),o=e*Math.cos(n),a=e*Math.sin(n),c=Math.sin(t),l=u*c-i*a,s=i*o-r*c,f=r*a-u*o,h=Math.sqrt(l*l+s*s+f*f),g=r*o+u*a+i*c,p=h&&-Q(g)/h,v=Math.atan2(h,g);Sc+=p*l,kc+=p*s,Ec+=p*f,mc+=v,_c+=v*(r+(r=o)),bc+=v*(u+(u=a)),wc+=v*(i+(i=c)),we(r,u,i)}var t,e,r,u,i;Ac.point=function(o,a){t=o,e=a,Ac.point=n,o*=La;var c=Math.cos(a*=La);r=c*Math.cos(o),u=c*Math.sin(o),i=Math.sin(a),we(r,u,i)},Ac.lineEnd=function(){n(t,e),Ac.lineEnd=ke,Ac.point=be}}function Ae(){return!0}function Ce(n,t,e,r,u){var i=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(_e(e,r)){u.lineStart();for(var a=0;t>a;++a)u.point((e=n[a])[0],e[1]);return u.lineEnd(),void 0}var c=new ze(e,n,null,!0),l=new ze(e,null,c,!1);c.o=l,i.push(c),o.push(l),c=new ze(r,n,null,!1),l=new ze(r,null,c,!0),c.o=l,i.push(c),o.push(l)}}),o.sort(t),Ne(i),Ne(o),i.length){for(var a=0,c=e,l=o.length;l>a;++a)o[a].e=c=!c;for(var s,f,h=i[0];;){for(var g=h,p=!0;g.v;)if((g=g.n)===h)return;s=g.z,u.lineStart();do{if(g.v=g.o.v=!0,g.e){if(p)for(var a=0,l=s.length;l>a;++a)u.point((f=s[a])[0],f[1]);else r(g.x,g.n.x,1,u);g=g.n}else{if(p){s=g.p.z;for(var a=s.length-1;a>=0;--a)u.point((f=s[a])[0],f[1])}else r(g.x,g.p.x,-1,u);g=g.p}g=g.o,s=g.z,p=!p}while(!g.v);u.lineEnd()}}}function Ne(n){if(t=n.length){for(var t,e,r=0,u=n[0];++r<t;)u.n=e=n[r],e.p=u,u=e;u.n=e=n[0],e.p=u}}function ze(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Le(n,t,e,r){return function(u,i){function o(t,e){var r=u(t,e);n(t=r[0],e=r[1])&&i.point(t,e)}function a(n,t){var e=u(n,t);d.point(e[0],e[1])}function c(){y.point=a,d.lineStart()}function l(){y.point=o,d.lineEnd()}function s(n,t){v.push([n,t]);var e=u(n,t);M.point(e[0],e[1])}function f(){M.lineStart(),v=[]}function h(){s(v[0][0],v[0][1]),M.lineEnd();var n,t=M.clean(),e=x.buffer(),r=e.length;if(v.pop(),p.push(v),v=null,r)if(1&t){n=e[0];var u,r=n.length-1,o=-1;if(r>0){for(_||(i.polygonStart(),_=!0),i.lineStart();++o<r;)i.point((u=n[o])[0],u[1]);i.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),g.push(e.filter(Te))}var g,p,v,d=t(i),m=u.invert(r[0],r[1]),y={point:o,lineStart:c,lineEnd:l,polygonStart:function(){y.point=s,y.lineStart=f,y.lineEnd=h,g=[],p=[]},polygonEnd:function(){y.point=o,y.lineStart=c,y.lineEnd=l,g=Bo.merge(g);var n=je(m,p);g.length?(_||(i.polygonStart(),_=!0),Ce(g,Re,n,e,i)):n&&(_||(i.polygonStart(),_=!0),i.lineStart(),e(null,null,1,i),i.lineEnd()),_&&(i.polygonEnd(),_=!1),g=p=null},sphere:function(){i.polygonStart(),i.lineStart(),e(null,null,1,i),i.lineEnd(),i.polygonEnd()}},x=qe(),M=t(x),_=!1;return y}}function Te(n){return n.length>1}function qe(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:y,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Re(n,t){return((n=n.x)[0]<0?n[1]-Ca-Na:Ca-n[1])-((t=t.x)[0]<0?t[1]-Ca-Na:Ca-t[1])}function De(n){var t,e=0/0,r=0/0,u=0/0;return{lineStart:function(){n.lineStart(),t=1},point:function(i,o){var a=i>0?Ea:-Ea,c=ca(i-e);ca(c-Ea)<Na?(n.point(e,r=(r+o)/2>0?Ca:-Ca),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(i,r),t=0):u!==a&&c>=Ea&&(ca(e-u)<Na&&(e-=u*Na),ca(i-a)<Na&&(i-=a*Na),r=Pe(e,r,i,o),n.point(u,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=i,r=o),u=a},lineEnd:function(){n.lineEnd(),e=r=0/0},clean:function(){return 2-t}}}function Pe(n,t,e,r){var u,i,o=Math.sin(n-e);return ca(o)>Na?Math.atan((Math.sin(t)*(i=Math.cos(r))*Math.sin(e)-Math.sin(r)*(u=Math.cos(t))*Math.sin(n))/(u*i*o)):(t+r)/2}function Ue(n,t,e,r){var u;if(null==n)u=e*Ca,r.point(-Ea,u),r.point(0,u),r.point(Ea,u),r.point(Ea,0),r.point(Ea,-u),r.point(0,-u),r.point(-Ea,-u),r.point(-Ea,0),r.point(-Ea,u);else if(ca(n[0]-t[0])>Na){var i=n[0]<t[0]?Ea:-Ea;u=e*i/2,r.point(-i,u),r.point(0,u),r.point(i,u)}else r.point(t[0],t[1])}function je(n,t){var e=n[0],r=n[1],u=[Math.sin(e),-Math.cos(e),0],i=0,o=0;pc.reset();for(var a=0,c=t.length;c>a;++a){var l=t[a],s=l.length;if(s)for(var f=l[0],h=f[0],g=f[1]/2+Ea/4,p=Math.sin(g),v=Math.cos(g),d=1;;){d===s&&(d=0),n=l[d];var m=n[0],y=n[1]/2+Ea/4,x=Math.sin(y),M=Math.cos(y),_=m-h,b=_>=0?1:-1,w=b*_,S=w>Ea,k=p*x;if(pc.add(Math.atan2(k*b*Math.sin(w),v*M+k*Math.cos(w))),i+=S?_+b*Aa:_,S^h>=e^m>=e){var E=de(pe(f),pe(n));xe(E);var A=de(u,E);xe(A);var C=(S^_>=0?-1:1)*nt(A[2]);(r>C||r===C&&(E[0]||E[1]))&&(o+=S^_>=0?1:-1)}if(!d++)break;h=m,p=x,v=M,f=n}}return(-Na>i||Na>i&&0>pc)^1&o}function Fe(n){function t(n,t){return Math.cos(n)*Math.cos(t)>i}function e(n){var e,i,c,l,s;return{lineStart:function(){l=c=!1,s=1},point:function(f,h){var g,p=[f,h],v=t(f,h),d=o?v?0:u(f,h):v?u(f+(0>f?Ea:-Ea),h):0;if(!e&&(l=c=v)&&n.lineStart(),v!==c&&(g=r(e,p),(_e(e,g)||_e(p,g))&&(p[0]+=Na,p[1]+=Na,v=t(p[0],p[1]))),v!==c)s=0,v?(n.lineStart(),g=r(p,e),n.point(g[0],g[1])):(g=r(e,p),n.point(g[0],g[1]),n.lineEnd()),e=g;else if(a&&e&&o^v){var m;d&i||!(m=r(p,e,!0))||(s=0,o?(n.lineStart(),n.point(m[0][0],m[0][1]),n.point(m[1][0],m[1][1]),n.lineEnd()):(n.point(m[1][0],m[1][1]),n.lineEnd(),n.lineStart(),n.point(m[0][0],m[0][1])))}!v||e&&_e(e,p)||n.point(p[0],p[1]),e=p,c=v,i=d},lineEnd:function(){c&&n.lineEnd(),e=null},clean:function(){return s|(l&&c)<<1}}}function r(n,t,e){var r=pe(n),u=pe(t),o=[1,0,0],a=de(r,u),c=ve(a,a),l=a[0],s=c-l*l;if(!s)return!e&&n;var f=i*c/s,h=-i*l/s,g=de(o,a),p=ye(o,f),v=ye(a,h);me(p,v);var d=g,m=ve(p,d),y=ve(d,d),x=m*m-y*(ve(p,p)-1);if(!(0>x)){var M=Math.sqrt(x),_=ye(d,(-m-M)/y);if(me(_,p),_=Me(_),!e)return _;var b,w=n[0],S=t[0],k=n[1],E=t[1];w>S&&(b=w,w=S,S=b);var A=S-w,C=ca(A-Ea)<Na,N=C||Na>A;if(!C&&k>E&&(b=k,k=E,E=b),N?C?k+E>0^_[1]<(ca(_[0]-w)<Na?k:E):k<=_[1]&&_[1]<=E:A>Ea^(w<=_[0]&&_[0]<=S)){var z=ye(d,(-m+M)/y);return me(z,p),[_,Me(z)]}}}function u(t,e){var r=o?n:Ea-n,u=0;return-r>t?u|=1:t>r&&(u|=2),-r>e?u|=4:e>r&&(u|=8),u}var i=Math.cos(n),o=i>0,a=ca(i)>Na,c=gr(n,6*La);return Le(t,e,c,o?[0,-n]:[-Ea,n-Ea])}function He(n,t,e,r){return function(u){var i,o=u.a,a=u.b,c=o.x,l=o.y,s=a.x,f=a.y,h=0,g=1,p=s-c,v=f-l;if(i=n-c,p||!(i>0)){if(i/=p,0>p){if(h>i)return;g>i&&(g=i)}else if(p>0){if(i>g)return;i>h&&(h=i)}if(i=e-c,p||!(0>i)){if(i/=p,0>p){if(i>g)return;i>h&&(h=i)}else if(p>0){if(h>i)return;g>i&&(g=i)}if(i=t-l,v||!(i>0)){if(i/=v,0>v){if(h>i)return;g>i&&(g=i)}else if(v>0){if(i>g)return;i>h&&(h=i)}if(i=r-l,v||!(0>i)){if(i/=v,0>v){if(i>g)return;i>h&&(h=i)}else if(v>0){if(h>i)return;g>i&&(g=i)}return h>0&&(u.a={x:c+h*p,y:l+h*v}),1>g&&(u.b={x:c+g*p,y:l+g*v}),u}}}}}}function Oe(n,t,e,r){function u(r,u){return ca(r[0]-n)<Na?u>0?0:3:ca(r[0]-e)<Na?u>0?2:1:ca(r[1]-t)<Na?u>0?1:0:u>0?3:2}function i(n,t){return o(n.x,t.x)}function o(n,t){var e=u(n,1),r=u(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function c(n){for(var t=0,e=d.length,r=n[1],u=0;e>u;++u)for(var i,o=1,a=d[u],c=a.length,l=a[0];c>o;++o)i=a[o],l[1]<=r?i[1]>r&&K(l,i,n)>0&&++t:i[1]<=r&&K(l,i,n)<0&&--t,l=i;return 0!==t}function l(i,a,c,l){var s=0,f=0;if(null==i||(s=u(i,c))!==(f=u(a,c))||o(i,a)<0^c>0){do l.point(0===s||3===s?n:e,s>1?r:t);while((s=(s+c+4)%4)!==f)}else l.point(a[0],a[1])}function s(u,i){return u>=n&&e>=u&&i>=t&&r>=i}function f(n,t){s(n,t)&&a.point(n,t)}function h(){N.point=p,d&&d.push(m=[]),S=!0,w=!1,_=b=0/0}function g(){v&&(p(y,x),M&&w&&A.rejoin(),v.push(A.buffer())),N.point=f,w&&a.lineEnd()}function p(n,t){n=Math.max(-Nc,Math.min(Nc,n)),t=Math.max(-Nc,Math.min(Nc,t));var e=s(n,t);if(d&&m.push([n,t]),S)y=n,x=t,M=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:_,y:b},b:{x:n,y:t}};C(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}_=n,b=t,w=e}var v,d,m,y,x,M,_,b,w,S,k,E=a,A=qe(),C=He(n,t,e,r),N={point:f,lineStart:h,lineEnd:g,polygonStart:function(){a=A,v=[],d=[],k=!0},polygonEnd:function(){a=E,v=Bo.merge(v);var t=c([n,r]),e=k&&t,u=v.length;(e||u)&&(a.polygonStart(),e&&(a.lineStart(),l(null,null,1,a),a.lineEnd()),u&&Ce(v,i,t,l,a),a.polygonEnd()),v=d=m=null}};return N}}function Ye(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function Ie(n){var t=0,e=Ea/3,r=ir(n),u=r(t,e);return u.parallels=function(n){return arguments.length?r(t=n[0]*Ea/180,e=n[1]*Ea/180):[180*(t/Ea),180*(e/Ea)]},u}function Ze(n,t){function e(n,t){var e=Math.sqrt(i-2*u*Math.sin(t))/u;return[e*Math.sin(n*=u),o-e*Math.cos(n)]}var r=Math.sin(n),u=(r+Math.sin(t))/2,i=1+r*(2*u-r),o=Math.sqrt(i)/u;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/u,nt((i-(n*n+e*e)*u*u)/(2*u))]},e}function Ve(){function n(n,t){Lc+=u*n-r*t,r=n,u=t}var t,e,r,u;Pc.point=function(i,o){Pc.point=n,t=r=i,e=u=o},Pc.lineEnd=function(){n(t,e)}}function Xe(n,t){Tc>n&&(Tc=n),n>Rc&&(Rc=n),qc>t&&(qc=t),t>Dc&&(Dc=t)}function $e(){function n(n,t){o.push("M",n,",",t,i)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function u(){o.push("Z")}var i=Be(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return i=Be(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Be(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function We(n,t){yc+=n,xc+=t,++Mc}function Je(){function n(n,r){var u=n-t,i=r-e,o=Math.sqrt(u*u+i*i);_c+=o*(t+n)/2,bc+=o*(e+r)/2,wc+=o,We(t=n,e=r)}var t,e;jc.point=function(r,u){jc.point=n,We(t=r,e=u)}}function Ge(){jc.point=We}function Ke(){function n(n,t){var e=n-r,i=t-u,o=Math.sqrt(e*e+i*i);_c+=o*(r+n)/2,bc+=o*(u+t)/2,wc+=o,o=u*n-r*t,Sc+=o*(r+n),kc+=o*(u+t),Ec+=3*o,We(r=n,u=t)}var t,e,r,u;jc.point=function(i,o){jc.point=n,We(t=r=i,e=u=o)},jc.lineEnd=function(){n(t,e)}}function Qe(n){function t(t,e){n.moveTo(t,e),n.arc(t,e,o,0,Aa)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function u(){a.point=t}function i(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:u,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=u,a.point=t},pointRadius:function(n){return o=n,a},result:y};return a}function nr(n){function t(n){return(a?r:e)(n)}function e(t){return rr(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){x=0/0,S.point=i,t.lineStart()}function i(e,r){var i=pe([e,r]),o=n(e,r);u(x,M,y,_,b,w,x=o[0],M=o[1],y=e,_=i[0],b=i[1],w=i[2],a,t),t.point(x,M)}function o(){S.point=e,t.lineEnd()}function c(){r(),S.point=l,S.lineEnd=s}function l(n,t){i(f=n,h=t),g=x,p=M,v=_,d=b,m=w,S.point=i}function s(){u(x,M,y,_,b,w,g,p,f,v,d,m,a,t),S.lineEnd=o,o()}var f,h,g,p,v,d,m,y,x,M,_,b,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=c},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function u(t,e,r,a,c,l,s,f,h,g,p,v,d,m){var y=s-t,x=f-e,M=y*y+x*x;if(M>4*i&&d--){var _=a+g,b=c+p,w=l+v,S=Math.sqrt(_*_+b*b+w*w),k=Math.asin(w/=S),E=ca(ca(w)-1)<Na||ca(r-h)<Na?(r+h)/2:Math.atan2(b,_),A=n(E,k),C=A[0],N=A[1],z=C-t,L=N-e,T=x*z-y*L;
(T*T/M>i||ca((y*z+x*L)/M-.5)>.3||o>a*g+c*p+l*v)&&(u(t,e,r,a,c,l,C,N,E,_/=S,b/=S,w,d,m),m.point(C,N),u(C,N,E,_,b,w,s,f,h,g,p,v,d,m))}}var i=.5,o=Math.cos(30*La),a=16;return t.precision=function(n){return arguments.length?(a=(i=n*n)>0&&16,t):Math.sqrt(i)},t}function tr(n){var t=nr(function(t,e){return n([t*Ta,e*Ta])});return function(n){return or(t(n))}}function er(n){this.stream=n}function rr(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function ur(n){return ir(function(){return n})()}function ir(n){function t(n){return n=a(n[0]*La,n[1]*La),[n[0]*h+c,l-n[1]*h]}function e(n){return n=a.invert((n[0]-c)/h,(l-n[1])/h),n&&[n[0]*Ta,n[1]*Ta]}function r(){a=Ye(o=lr(m,y,x),i);var n=i(v,d);return c=g-n[0]*h,l=p+n[1]*h,u()}function u(){return s&&(s.valid=!1,s=null),t}var i,o,a,c,l,s,f=nr(function(n,t){return n=i(n,t),[n[0]*h+c,l-n[1]*h]}),h=150,g=480,p=250,v=0,d=0,m=0,y=0,x=0,M=Cc,_=Et,b=null,w=null;return t.stream=function(n){return s&&(s.valid=!1),s=or(M(o,f(_(n)))),s.valid=!0,s},t.clipAngle=function(n){return arguments.length?(M=null==n?(b=n,Cc):Fe((b=+n)*La),u()):b},t.clipExtent=function(n){return arguments.length?(w=n,_=n?Oe(n[0][0],n[0][1],n[1][0],n[1][1]):Et,u()):w},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(g=+n[0],p=+n[1],r()):[g,p]},t.center=function(n){return arguments.length?(v=n[0]%360*La,d=n[1]%360*La,r()):[v*Ta,d*Ta]},t.rotate=function(n){return arguments.length?(m=n[0]%360*La,y=n[1]%360*La,x=n.length>2?n[2]%360*La:0,r()):[m*Ta,y*Ta,x*Ta]},Bo.rebind(t,f,"precision"),function(){return i=n.apply(this,arguments),t.invert=i.invert&&e,r()}}function or(n){return rr(n,function(t,e){n.point(t*La,e*La)})}function ar(n,t){return[n,t]}function cr(n,t){return[n>Ea?n-Aa:-Ea>n?n+Aa:n,t]}function lr(n,t,e){return n?t||e?Ye(fr(n),hr(t,e)):fr(n):t||e?hr(t,e):cr}function sr(n){return function(t,e){return t+=n,[t>Ea?t-Aa:-Ea>t?t+Aa:t,e]}}function fr(n){var t=sr(n);return t.invert=sr(-n),t}function hr(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*r+a*u;return[Math.atan2(c*i-s*o,a*r-l*u),nt(s*i+c*o)]}var r=Math.cos(n),u=Math.sin(n),i=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,c=Math.sin(n)*e,l=Math.sin(t),s=l*i-c*o;return[Math.atan2(c*i+l*o,a*r+s*u),nt(s*r-a*u)]},e}function gr(n,t){var e=Math.cos(n),r=Math.sin(n);return function(u,i,o,a){var c=o*t;null!=u?(u=pr(e,u),i=pr(e,i),(o>0?i>u:u>i)&&(u+=o*Aa)):(u=n+o*Aa,i=n-.5*c);for(var l,s=u;o>0?s>i:i>s;s-=c)a.point((l=Me([e,-r*Math.cos(s),-r*Math.sin(s)]))[0],l[1])}}function pr(n,t){var e=pe(t);e[0]-=n,xe(e);var r=Q(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Na)%(2*Math.PI)}function vr(n,t,e){var r=Bo.range(n,t-Na,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function dr(n,t,e){var r=Bo.range(n,t-Na,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function mr(n){return n.source}function yr(n){return n.target}function xr(n,t,e,r){var u=Math.cos(t),i=Math.sin(t),o=Math.cos(r),a=Math.sin(r),c=u*Math.cos(n),l=u*Math.sin(n),s=o*Math.cos(e),f=o*Math.sin(e),h=2*Math.asin(Math.sqrt(ut(r-t)+u*o*ut(e-n))),g=1/Math.sin(h),p=h?function(n){var t=Math.sin(n*=h)*g,e=Math.sin(h-n)*g,r=e*c+t*s,u=e*l+t*f,o=e*i+t*a;return[Math.atan2(u,r)*Ta,Math.atan2(o,Math.sqrt(r*r+u*u))*Ta]}:function(){return[n*Ta,t*Ta]};return p.distance=h,p}function Mr(){function n(n,u){var i=Math.sin(u*=La),o=Math.cos(u),a=ca((n*=La)-t),c=Math.cos(a);Fc+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*i-e*o*c)*a),e*i+r*o*c),t=n,e=i,r=o}var t,e,r;Hc.point=function(u,i){t=u*La,e=Math.sin(i*=La),r=Math.cos(i),Hc.point=n},Hc.lineEnd=function(){Hc.point=Hc.lineEnd=y}}function _r(n,t){function e(t,e){var r=Math.cos(t),u=Math.cos(e),i=n(r*u);return[i*u*Math.sin(t),i*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),u=t(r),i=Math.sin(u),o=Math.cos(u);return[Math.atan2(n*i,r*o),Math.asin(r&&e*i/r)]},e}function br(n,t){function e(n,t){o>0?-Ca+Na>t&&(t=-Ca+Na):t>Ca-Na&&(t=Ca-Na);var e=o/Math.pow(u(t),i);return[e*Math.sin(i*n),o-e*Math.cos(i*n)]}var r=Math.cos(n),u=function(n){return Math.tan(Ea/4+n/2)},i=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(u(t)/u(n)),o=r*Math.pow(u(n),i)/i;return i?(e.invert=function(n,t){var e=o-t,r=G(i)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/i,2*Math.atan(Math.pow(o/r,1/i))-Ca]},e):Sr}function wr(n,t){function e(n,t){var e=i-t;return[e*Math.sin(u*n),i-e*Math.cos(u*n)]}var r=Math.cos(n),u=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),i=r/u+n;return ca(u)<Na?ar:(e.invert=function(n,t){var e=i-t;return[Math.atan2(n,e)/u,i-G(u)*Math.sqrt(n*n+e*e)]},e)}function Sr(n,t){return[n,Math.log(Math.tan(Ea/4+t/2))]}function kr(n){var t,e=ur(n),r=e.scale,u=e.translate,i=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=u.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=i.apply(e,arguments);if(o===e){if(t=null==n){var a=Ea*r(),c=u();i([[c[0]-a,c[1]-a],[c[0]+a,c[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Er(n,t){return[Math.log(Math.tan(Ea/4+t/2)),-n]}function Ar(n){return n[0]}function Cr(n){return n[1]}function Nr(n){for(var t=n.length,e=[0,1],r=2,u=2;t>u;u++){for(;r>1&&K(n[e[r-2]],n[e[r-1]],n[u])<=0;)--r;e[r++]=u}return e.slice(0,r)}function zr(n,t){return n[0]-t[0]||n[1]-t[1]}function Lr(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Tr(n,t,e,r){var u=n[0],i=e[0],o=t[0]-u,a=r[0]-i,c=n[1],l=e[1],s=t[1]-c,f=r[1]-l,h=(a*(c-l)-f*(u-i))/(f*o-a*s);return[u+h*o,c+h*s]}function qr(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Rr(){tu(this),this.edge=this.site=this.circle=null}function Dr(n){var t=Kc.pop()||new Rr;return t.site=n,t}function Pr(n){Xr(n),Wc.remove(n),Kc.push(n),tu(n)}function Ur(n){var t=n.circle,e=t.x,r=t.cy,u={x:e,y:r},i=n.P,o=n.N,a=[n];Pr(n);for(var c=i;c.circle&&ca(e-c.circle.x)<Na&&ca(r-c.circle.cy)<Na;)i=c.P,a.unshift(c),Pr(c),c=i;a.unshift(c),Xr(c);for(var l=o;l.circle&&ca(e-l.circle.x)<Na&&ca(r-l.circle.cy)<Na;)o=l.N,a.push(l),Pr(l),l=o;a.push(l),Xr(l);var s,f=a.length;for(s=1;f>s;++s)l=a[s],c=a[s-1],Kr(l.edge,c.site,l.site,u);c=a[0],l=a[f-1],l.edge=Jr(c.site,l.site,null,u),Vr(c),Vr(l)}function jr(n){for(var t,e,r,u,i=n.x,o=n.y,a=Wc._;a;)if(r=Fr(a,o)-i,r>Na)a=a.L;else{if(u=i-Hr(a,o),!(u>Na)){r>-Na?(t=a.P,e=a):u>-Na?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var c=Dr(n);if(Wc.insert(t,c),t||e){if(t===e)return Xr(t),e=Dr(t.site),Wc.insert(c,e),c.edge=e.edge=Jr(t.site,c.site),Vr(t),Vr(e),void 0;if(!e)return c.edge=Jr(t.site,c.site),void 0;Xr(t),Xr(e);var l=t.site,s=l.x,f=l.y,h=n.x-s,g=n.y-f,p=e.site,v=p.x-s,d=p.y-f,m=2*(h*d-g*v),y=h*h+g*g,x=v*v+d*d,M={x:(d*y-g*x)/m+s,y:(h*x-v*y)/m+f};Kr(e.edge,l,p,M),c.edge=Jr(l,n,null,M),e.edge=Jr(n,p,null,M),Vr(t),Vr(e)}}function Fr(n,t){var e=n.site,r=e.x,u=e.y,i=u-t;if(!i)return r;var o=n.P;if(!o)return-1/0;e=o.site;var a=e.x,c=e.y,l=c-t;if(!l)return a;var s=a-r,f=1/i-1/l,h=s/l;return f?(-h+Math.sqrt(h*h-2*f*(s*s/(-2*l)-c+l/2+u-i/2)))/f+r:(r+a)/2}function Hr(n,t){var e=n.N;if(e)return Fr(e,t);var r=n.site;return r.y===t?r.x:1/0}function Or(n){this.site=n,this.edges=[]}function Yr(n){for(var t,e,r,u,i,o,a,c,l,s,f=n[0][0],h=n[1][0],g=n[0][1],p=n[1][1],v=Bc,d=v.length;d--;)if(i=v[d],i&&i.prepare())for(a=i.edges,c=a.length,o=0;c>o;)s=a[o].end(),r=s.x,u=s.y,l=a[++o%c].start(),t=l.x,e=l.y,(ca(r-t)>Na||ca(u-e)>Na)&&(a.splice(o,0,new Qr(Gr(i.site,s,ca(r-f)<Na&&p-u>Na?{x:f,y:ca(t-f)<Na?e:p}:ca(u-p)<Na&&h-r>Na?{x:ca(e-p)<Na?t:h,y:p}:ca(r-h)<Na&&u-g>Na?{x:h,y:ca(t-h)<Na?e:g}:ca(u-g)<Na&&r-f>Na?{x:ca(e-g)<Na?t:f,y:g}:null),i.site,null)),++c)}function Ir(n,t){return t.angle-n.angle}function Zr(){tu(this),this.x=this.y=this.arc=this.site=this.cy=null}function Vr(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,u=n.site,i=e.site;if(r!==i){var o=u.x,a=u.y,c=r.x-o,l=r.y-a,s=i.x-o,f=i.y-a,h=2*(c*f-l*s);if(!(h>=-za)){var g=c*c+l*l,p=s*s+f*f,v=(f*g-l*p)/h,d=(c*p-s*g)/h,f=d+a,m=Qc.pop()||new Zr;m.arc=n,m.site=u,m.x=v+o,m.y=f+Math.sqrt(v*v+d*d),m.cy=f,n.circle=m;for(var y=null,x=Gc._;x;)if(m.y<x.y||m.y===x.y&&m.x<=x.x){if(!x.L){y=x.P;break}x=x.L}else{if(!x.R){y=x;break}x=x.R}Gc.insert(y,m),y||(Jc=m)}}}}function Xr(n){var t=n.circle;t&&(t.P||(Jc=t.N),Gc.remove(t),Qc.push(t),tu(t),n.circle=null)}function $r(n){for(var t,e=$c,r=He(n[0][0],n[0][1],n[1][0],n[1][1]),u=e.length;u--;)t=e[u],(!Br(t,n)||!r(t)||ca(t.a.x-t.b.x)<Na&&ca(t.a.y-t.b.y)<Na)&&(t.a=t.b=null,e.splice(u,1))}function Br(n,t){var e=n.b;if(e)return!0;var r,u,i=n.a,o=t[0][0],a=t[1][0],c=t[0][1],l=t[1][1],s=n.l,f=n.r,h=s.x,g=s.y,p=f.x,v=f.y,d=(h+p)/2,m=(g+v)/2;if(v===g){if(o>d||d>=a)return;if(h>p){if(i){if(i.y>=l)return}else i={x:d,y:c};e={x:d,y:l}}else{if(i){if(i.y<c)return}else i={x:d,y:l};e={x:d,y:c}}}else if(r=(h-p)/(v-g),u=m-r*d,-1>r||r>1)if(h>p){if(i){if(i.y>=l)return}else i={x:(c-u)/r,y:c};e={x:(l-u)/r,y:l}}else{if(i){if(i.y<c)return}else i={x:(l-u)/r,y:l};e={x:(c-u)/r,y:c}}else if(v>g){if(i){if(i.x>=a)return}else i={x:o,y:r*o+u};e={x:a,y:r*a+u}}else{if(i){if(i.x<o)return}else i={x:a,y:r*a+u};e={x:o,y:r*o+u}}return n.a=i,n.b=e,!0}function Wr(n,t){this.l=n,this.r=t,this.a=this.b=null}function Jr(n,t,e,r){var u=new Wr(n,t);return $c.push(u),e&&Kr(u,n,t,e),r&&Kr(u,t,n,r),Bc[n.i].edges.push(new Qr(u,n,t)),Bc[t.i].edges.push(new Qr(u,t,n)),u}function Gr(n,t,e){var r=new Wr(n,null);return r.a=t,r.b=e,$c.push(r),r}function Kr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function Qr(n,t,e){var r=n.a,u=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(u.x-r.x,r.y-u.y):Math.atan2(r.x-u.x,u.y-r.y)}function nu(){this._=null}function tu(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function eu(n,t){var e=t,r=t.R,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ru(n,t){var e=t,r=t.L,u=e.U;u?u.L===e?u.L=r:u.R=r:n._=r,r.U=u,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function uu(n){for(;n.L;)n=n.L;return n}function iu(n,t){var e,r,u,i=n.sort(ou).pop();for($c=[],Bc=new Array(n.length),Wc=new nu,Gc=new nu;;)if(u=Jc,i&&(!u||i.y<u.y||i.y===u.y&&i.x<u.x))(i.x!==e||i.y!==r)&&(Bc[i.i]=new Or(i),jr(i),e=i.x,r=i.y),i=n.pop();else{if(!u)break;Ur(u.arc)}t&&($r(t),Yr(t));var o={cells:Bc,edges:$c};return Wc=Gc=$c=Bc=null,o}function ou(n,t){return t.y-n.y||t.x-n.x}function au(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function cu(n){return n.x}function lu(n){return n.y}function su(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function fu(n,t,e,r,u,i){if(!n(t,e,r,u,i)){var o=.5*(e+u),a=.5*(r+i),c=t.nodes;c[0]&&fu(n,c[0],e,r,o,a),c[1]&&fu(n,c[1],o,r,u,a),c[2]&&fu(n,c[2],e,a,o,i),c[3]&&fu(n,c[3],o,a,u,i)}}function hu(n,t){n=Bo.rgb(n),t=Bo.rgb(t);var e=n.r,r=n.g,u=n.b,i=t.r-e,o=t.g-r,a=t.b-u;return function(n){return"#"+xt(Math.round(e+i*n))+xt(Math.round(r+o*n))+xt(Math.round(u+a*n))}}function gu(n,t){var e,r={},u={};for(e in n)e in t?r[e]=du(n[e],t[e]):u[e]=n[e];for(e in t)e in n||(u[e]=t[e]);return function(n){for(e in r)u[e]=r[e](n);return u}}function pu(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function vu(n,t){var e,r,u,i=tl.lastIndex=el.lastIndex=0,o=-1,a=[],c=[];for(n+="",t+="";(e=tl.exec(n))&&(r=el.exec(t));)(u=r.index)>i&&(u=t.slice(i,u),a[o]?a[o]+=u:a[++o]=u),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,c.push({i:o,x:pu(e,r)})),i=el.lastIndex;return i<t.length&&(u=t.slice(i),a[o]?a[o]+=u:a[++o]=u),a.length<2?c[0]?(t=c[0].x,function(n){return t(n)+""}):function(){return t}:(t=c.length,function(n){for(var e,r=0;t>r;++r)a[(e=c[r]).i]=e.x(n);return a.join("")})}function du(n,t){for(var e,r=Bo.interpolators.length;--r>=0&&!(e=Bo.interpolators[r](n,t)););return e}function mu(n,t){var e,r=[],u=[],i=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(du(n[e],t[e]));for(;i>e;++e)u[e]=n[e];for(;o>e;++e)u[e]=t[e];return function(n){for(e=0;a>e;++e)u[e]=r[e](n);return u}}function yu(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function xu(n){return function(t){return 1-n(1-t)}}function Mu(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function _u(n){return n*n}function bu(n){return n*n*n}function wu(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Su(n){return function(t){return Math.pow(t,n)}}function ku(n){return 1-Math.cos(n*Ca)}function Eu(n){return Math.pow(2,10*(n-1))}function Au(n){return 1-Math.sqrt(1-n*n)}function Cu(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Aa*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Aa/t)}}function Nu(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function zu(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Lu(n,t){n=Bo.hcl(n),t=Bo.hcl(t);var e=n.h,r=n.c,u=n.l,i=t.h-e,o=t.c-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return lt(e+i*n,r+o*n,u+a*n)+""}}function Tu(n,t){n=Bo.hsl(n),t=Bo.hsl(t);var e=n.h,r=n.s,u=n.l,i=t.h-e,o=t.s-r,a=t.l-u;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(i)?(i=0,e=isNaN(e)?t.h:e):i>180?i-=360:-180>i&&(i+=360),function(n){return at(e+i*n,r+o*n,u+a*n)+""}}function qu(n,t){n=Bo.lab(n),t=Bo.lab(t);var e=n.l,r=n.a,u=n.b,i=t.l-e,o=t.a-r,a=t.b-u;return function(n){return ft(e+i*n,r+o*n,u+a*n)+""}}function Ru(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function Du(n){var t=[n.a,n.b],e=[n.c,n.d],r=Uu(t),u=Pu(t,e),i=Uu(ju(e,t,-u))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,u*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Ta,this.translate=[n.e,n.f],this.scale=[r,i],this.skew=i?Math.atan2(u,i)*Ta:0}function Pu(n,t){return n[0]*t[0]+n[1]*t[1]}function Uu(n){var t=Math.sqrt(Pu(n,n));return t&&(n[0]/=t,n[1]/=t),t}function ju(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Fu(n,t){var e,r=[],u=[],i=Bo.transform(n),o=Bo.transform(t),a=i.translate,c=o.translate,l=i.rotate,s=o.rotate,f=i.skew,h=o.skew,g=i.scale,p=o.scale;return a[0]!=c[0]||a[1]!=c[1]?(r.push("translate(",null,",",null,")"),u.push({i:1,x:pu(a[0],c[0])},{i:3,x:pu(a[1],c[1])})):c[0]||c[1]?r.push("translate("+c+")"):r.push(""),l!=s?(l-s>180?s+=360:s-l>180&&(l+=360),u.push({i:r.push(r.pop()+"rotate(",null,")")-2,x:pu(l,s)})):s&&r.push(r.pop()+"rotate("+s+")"),f!=h?u.push({i:r.push(r.pop()+"skewX(",null,")")-2,x:pu(f,h)}):h&&r.push(r.pop()+"skewX("+h+")"),g[0]!=p[0]||g[1]!=p[1]?(e=r.push(r.pop()+"scale(",null,",",null,")"),u.push({i:e-4,x:pu(g[0],p[0])},{i:e-2,x:pu(g[1],p[1])})):(1!=p[0]||1!=p[1])&&r.push(r.pop()+"scale("+p+")"),e=u.length,function(n){for(var t,i=-1;++i<e;)r[(t=u[i]).i]=t.x(n);return r.join("")}}function Hu(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Ou(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Yu(n){for(var t=n.source,e=n.target,r=Zu(t,e),u=[t];t!==r;)t=t.parent,u.push(t);for(var i=u.length;e!==r;)u.splice(i,0,e),e=e.parent;return u}function Iu(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Zu(n,t){if(n===t)return n;for(var e=Iu(n),r=Iu(t),u=e.pop(),i=r.pop(),o=null;u===i;)o=u,u=e.pop(),i=r.pop();return o}function Vu(n){n.fixed|=2}function Xu(n){n.fixed&=-7}function $u(n){n.fixed|=4,n.px=n.x,n.py=n.y}function Bu(n){n.fixed&=-5}function Wu(n,t,e){var r=0,u=0;if(n.charge=0,!n.leaf)for(var i,o=n.nodes,a=o.length,c=-1;++c<a;)i=o[c],null!=i&&(Wu(i,t,e),n.charge+=i.charge,r+=i.charge*i.cx,u+=i.charge*i.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var l=t*e[n.point.index];n.charge+=n.pointCharge=l,r+=l*n.point.x,u+=l*n.point.y}n.cx=r/n.charge,n.cy=u/n.charge}function Ju(n,t){return Bo.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=ei,n}function Gu(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(u=n.children)&&(r=u.length))for(var r,u;--r>=0;)e.push(u[r])}function Ku(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(i=n.children)&&(u=i.length))for(var u,i,o=-1;++o<u;)e.push(i[o]);for(;null!=(n=r.pop());)t(n)}function Qu(n){return n.children}function ni(n){return n.value}function ti(n,t){return t.value-n.value}function ei(n){return Bo.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function ri(n){return n.x}function ui(n){return n.y}function ii(n,t,e){n.y0=t,n.y=e}function oi(n){return Bo.range(n.length)}function ai(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function ci(n){for(var t,e=1,r=0,u=n[0][1],i=n.length;i>e;++e)(t=n[e][1])>u&&(r=e,u=t);return r}function li(n){return n.reduce(si,0)}function si(n,t){return n+t[1]}function fi(n,t){return hi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function hi(n,t){for(var e=-1,r=+n[0],u=(n[1]-r)/t,i=[];++e<=t;)i[e]=u*e+r;return i}function gi(n){return[Bo.min(n),Bo.max(n)]}function pi(n,t){return n.value-t.value}function vi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function di(n,t){n._pack_next=t,t._pack_prev=n}function mi(n,t){var e=t.x-n.x,r=t.y-n.y,u=n.r+t.r;return.999*u*u>e*e+r*r}function yi(n){function t(n){s=Math.min(n.x-n.r,s),f=Math.max(n.x+n.r,f),h=Math.min(n.y-n.r,h),g=Math.max(n.y+n.r,g)}if((e=n.children)&&(l=e.length)){var e,r,u,i,o,a,c,l,s=1/0,f=-1/0,h=1/0,g=-1/0;if(e.forEach(xi),r=e[0],r.x=-r.r,r.y=0,t(r),l>1&&(u=e[1],u.x=u.r,u.y=0,t(u),l>2))for(i=e[2],bi(r,u,i),t(i),vi(r,i),r._pack_prev=i,vi(i,u),u=r._pack_next,o=3;l>o;o++){bi(r,u,i=e[o]);var p=0,v=1,d=1;for(a=u._pack_next;a!==u;a=a._pack_next,v++)if(mi(a,i)){p=1;break}if(1==p)for(c=r._pack_prev;c!==a._pack_prev&&!mi(c,i);c=c._pack_prev,d++);p?(d>v||v==d&&u.r<r.r?di(r,u=a):di(r=c,u),o--):(vi(r,i),u=i,t(i))}var m=(s+f)/2,y=(h+g)/2,x=0;for(o=0;l>o;o++)i=e[o],i.x-=m,i.y-=y,x=Math.max(x,i.r+Math.sqrt(i.x*i.x+i.y*i.y));n.r=x,e.forEach(Mi)}}function xi(n){n._pack_next=n._pack_prev=n}function Mi(n){delete n._pack_next,delete n._pack_prev}function _i(n,t,e,r){var u=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,u)for(var i=-1,o=u.length;++i<o;)_i(u[i],t,e,r)}function bi(n,t,e){var r=n.r+e.r,u=t.x-n.x,i=t.y-n.y;if(r&&(u||i)){var o=t.r+e.r,a=u*u+i*i;o*=o,r*=r;var c=.5+(r-o)/(2*a),l=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+c*u+l*i,e.y=n.y+c*i-l*u}else e.x=n.x+r,e.y=n.y}function wi(n,t){return n.parent==t.parent?1:2}function Si(n){var t=n.children;return t.length?t[0]:n.t}function ki(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ei(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Ai(n){for(var t,e=0,r=0,u=n.children,i=u.length;--i>=0;)t=u[i],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Ci(n,t,e){return n.a.parent===t.parent?n.a:e}function Ni(n){return 1+Bo.max(n,function(n){return n.y})}function zi(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Li(n){var t=n.children;return t&&t.length?Li(t[0]):n}function Ti(n){var t,e=n.children;return e&&(t=e.length)?Ti(e[t-1]):n}function qi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ri(n,t){var e=n.x+t[3],r=n.y+t[0],u=n.dx-t[1]-t[3],i=n.dy-t[0]-t[2];return 0>u&&(e+=u/2,u=0),0>i&&(r+=i/2,i=0),{x:e,y:r,dx:u,dy:i}}function Di(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Pi(n){return n.rangeExtent?n.rangeExtent():Di(n.range())}function Ui(n,t,e,r){var u=e(n[0],n[1]),i=r(t[0],t[1]);return function(n){return i(u(n))}}function ji(n,t){var e,r=0,u=n.length-1,i=n[r],o=n[u];return i>o&&(e=r,r=u,u=e,e=i,i=o,o=e),n[r]=t.floor(i),n[u]=t.ceil(o),n}function Fi(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:gl}function Hi(n,t,e,r){var u=[],i=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)u.push(e(n[o-1],n[o])),i.push(r(t[o-1],t[o]));return function(t){var e=Bo.bisect(n,t,1,a)-1;return i[e](u[e](t))}}function Oi(n,t,e,r){function u(){var u=Math.min(n.length,t.length)>2?Hi:Ui,c=r?Ou:Hu;return o=u(n,t,c,e),a=u(t,n,c,du),i}function i(n){return o(n)}var o,a;return i.invert=function(n){return a(n)},i.domain=function(t){return arguments.length?(n=t.map(Number),u()):n},i.range=function(n){return arguments.length?(t=n,u()):t},i.rangeRound=function(n){return i.range(n).interpolate(Ru)},i.clamp=function(n){return arguments.length?(r=n,u()):r},i.interpolate=function(n){return arguments.length?(e=n,u()):e},i.ticks=function(t){return Vi(n,t)},i.tickFormat=function(t,e){return Xi(n,t,e)},i.nice=function(t){return Ii(n,t),u()},i.copy=function(){return Oi(n,t,e,r)},u()}function Yi(n,t){return Bo.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Ii(n,t){return ji(n,Fi(Zi(n,t)[2]))}function Zi(n,t){null==t&&(t=10);var e=Di(n),r=e[1]-e[0],u=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),i=t/r*u;return.15>=i?u*=10:.35>=i?u*=5:.75>=i&&(u*=2),e[0]=Math.ceil(e[0]/u)*u,e[1]=Math.floor(e[1]/u)*u+.5*u,e[2]=u,e}function Vi(n,t){return Bo.range.apply(Bo,Zi(n,t))}function Xi(n,t,e){var r=Zi(n,t);if(e){var u=tc.exec(e);if(u.shift(),"s"===u[8]){var i=Bo.formatPrefix(Math.max(ca(r[0]),ca(r[1])));return u[7]||(u[7]="."+$i(i.scale(r[2]))),u[8]="f",e=Bo.format(u.join("")),function(n){return e(i.scale(n))+i.symbol}}u[7]||(u[7]="."+Bi(u[8],r)),e=u.join("")}else e=",."+$i(r[2])+"f";return Bo.format(e)}function $i(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function Bi(n,t){var e=$i(t[2]);return n in pl?Math.abs(e-$i(Math.max(ca(t[0]),ca(t[1]))))+ +("e"!==n):e-2*("%"===n)}function Wi(n,t,e,r){function u(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function i(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(u(t))}return o.invert=function(t){return i(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(u)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(u)),o):t},o.nice=function(){var t=ji(r.map(u),e?Math:dl);return n.domain(t),r=t.map(i),o},o.ticks=function(){var n=Di(r),o=[],a=n[0],c=n[1],l=Math.floor(u(a)),s=Math.ceil(u(c)),f=t%1?2:t;if(isFinite(s-l)){if(e){for(;s>l;l++)for(var h=1;f>h;h++)o.push(i(l)*h);o.push(i(l))}else for(o.push(i(l));l++<s;)for(var h=f-1;h>0;h--)o.push(i(l)*h);for(l=0;o[l]<a;l++);for(s=o.length;o[s-1]>c;s--);o=o.slice(l,s)}return o},o.tickFormat=function(n,t){if(!arguments.length)return vl;arguments.length<2?t=vl:"function"!=typeof t&&(t=Bo.format(t));var r,a=Math.max(.1,n/o.ticks().length),c=e?(r=1e-12,Math.ceil):(r=-1e-12,Math.floor);return function(n){return n/i(c(u(n)+r))<=a?t(n):""}},o.copy=function(){return Wi(n.copy(),t,e,r)},Yi(o,n)}function Ji(n,t,e){function r(t){return n(u(t))}var u=Gi(t),i=Gi(1/t);return r.invert=function(t){return i(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(u)),r):e},r.ticks=function(n){return Vi(e,n)},r.tickFormat=function(n,t){return Xi(e,n,t)},r.nice=function(n){return r.domain(Ii(e,n))},r.exponent=function(o){return arguments.length?(u=Gi(t=o),i=Gi(1/t),n.domain(e.map(u)),r):t},r.copy=function(){return Ji(n.copy(),t,e)},Yi(r,n)}function Gi(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function Ki(n,t){function e(e){return i[((u.get(e)||("range"===t.t?u.set(e,n.push(e)):0/0))-1)%i.length]}function r(t,e){return Bo.range(n.length).map(function(n){return t+e*n})}var u,i,o;return e.domain=function(r){if(!arguments.length)return n;n=[],u=new a;for(var i,o=-1,c=r.length;++o<c;)u.has(i=r[o])||u.set(i,n.push(i));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(i=n,o=0,t={t:"range",a:arguments},e):i},e.rangePoints=function(u,a){arguments.length<2&&(a=0);var c=u[0],l=u[1],s=(l-c)/(Math.max(1,n.length-1)+a);return i=r(n.length<2?(c+l)/2:c+s*a/2,s),o=0,t={t:"rangePoints",a:arguments},e},e.rangeBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=(f-s)/(n.length-a+2*c);return i=r(s+h*c,h),l&&i.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(u,a,c){arguments.length<2&&(a=0),arguments.length<3&&(c=a);var l=u[1]<u[0],s=u[l-0],f=u[1-l],h=Math.floor((f-s)/(n.length-a+2*c)),g=f-s-(n.length-a)*h;return i=r(s+Math.round(g/2),h),l&&i.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Di(t.a[0])},e.copy=function(){return Ki(n,t)},e.domain(n)}function Qi(r,u){function i(){var n=0,t=u.length;for(a=[];++n<t;)a[n-1]=Bo.quantile(r,n/t);return o}function o(n){return isNaN(n=+n)?void 0:u[Bo.bisect(a,n)]}var a;return o.domain=function(u){return arguments.length?(r=u.map(t).filter(e).sort(n),i()):r},o.range=function(n){return arguments.length?(u=n,i()):u},o.quantiles=function(){return a},o.invertExtent=function(n){return n=u.indexOf(n),0>n?[0/0,0/0]:[n>0?a[n-1]:r[0],n<a.length?a[n]:r[r.length-1]]},o.copy=function(){return Qi(r,u)},i()}function no(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(i*(t-n))))]}function u(){return i=e.length/(t-n),o=e.length-1,r}var i,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],u()):[n,t]},r.range=function(n){return arguments.length?(e=n,u()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?0/0:t/i+n,[t,t+1/i]},r.copy=function(){return no(n,t,e)},u()}function to(n,t){function e(e){return e>=e?t[Bo.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return to(n,t)},e}function eo(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Vi(n,t)},t.tickFormat=function(t,e){return Xi(n,t,e)},t.copy=function(){return eo(n)},t}function ro(n){return n.innerRadius}function uo(n){return n.outerRadius}function io(n){return n.startAngle}function oo(n){return n.endAngle}function ao(n){function t(t){function o(){l.push("M",i(n(s),a))}for(var c,l=[],s=[],f=-1,h=t.length,g=kt(e),p=kt(r);++f<h;)u.call(this,c=t[f],f)?s.push([+g.call(this,c,f),+p.call(this,c,f)]):s.length&&(o(),s=[]);return s.length&&o(),l.length?l.join(""):null}var e=Ar,r=Cr,u=Ae,i=co,o=i.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(u=n,t):u},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?i=n:(i=wl.get(n)||co).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function co(n){return n.join("L")}function lo(n){return co(n)+"Z"}function so(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&u.push("H",r[0]),u.join("")}function fo(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("V",(r=n[t])[1],"H",r[0]);return u.join("")}function ho(n){for(var t=0,e=n.length,r=n[0],u=[r[0],",",r[1]];++t<e;)u.push("H",(r=n[t])[0],"V",r[1]);return u.join("")}function go(n,t){return n.length<4?co(n):n[1]+mo(n.slice(1,n.length-1),yo(n,t))}function po(n,t){return n.length<3?co(n):n[0]+mo((n.push(n[0]),n),yo([n[n.length-2]].concat(n,[n[1]]),t))}function vo(n,t){return n.length<3?co(n):n[0]+mo(n,yo(n,t))}function mo(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return co(n);var e=n.length!=t.length,r="",u=n[0],i=n[1],o=t[0],a=o,c=1;if(e&&(r+="Q"+(i[0]-2*o[0]/3)+","+(i[1]-2*o[1]/3)+","+i[0]+","+i[1],u=n[1],c=2),t.length>1){a=t[1],i=n[c],c++,r+="C"+(u[0]+o[0])+","+(u[1]+o[1])+","+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1];for(var l=2;l<t.length;l++,c++)i=n[c],a=t[l],r+="S"+(i[0]-a[0])+","+(i[1]-a[1])+","+i[0]+","+i[1]}if(e){var s=n[c];r+="Q"+(i[0]+2*a[0]/3)+","+(i[1]+2*a[1]/3)+","+s[0]+","+s[1]}return r}function yo(n,t){for(var e,r=[],u=(1-t)/2,i=n[0],o=n[1],a=1,c=n.length;++a<c;)e=i,i=o,o=n[a],r.push([u*(o[0]-e[0]),u*(o[1]-e[1])]);return r}function xo(n){if(n.length<3)return co(n);var t=1,e=n.length,r=n[0],u=r[0],i=r[1],o=[u,u,u,(r=n[1])[0]],a=[i,i,i,r[1]],c=[u,",",i,"L",wo(El,o),",",wo(El,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),So(c,o,a);return n.pop(),c.push("L",r),c.join("")}function Mo(n){if(n.length<4)return co(n);for(var t,e=[],r=-1,u=n.length,i=[0],o=[0];++r<3;)t=n[r],i.push(t[0]),o.push(t[1]);for(e.push(wo(El,i)+","+wo(El,o)),--r;++r<u;)t=n[r],i.shift(),i.push(t[0]),o.shift(),o.push(t[1]),So(e,i,o);return e.join("")}function _o(n){for(var t,e,r=-1,u=n.length,i=u+4,o=[],a=[];++r<4;)e=n[r%u],o.push(e[0]),a.push(e[1]);for(t=[wo(El,o),",",wo(El,a)],--r;++r<i;)e=n[r%u],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),So(t,o,a);return t.join("")}function bo(n,t){var e=n.length-1;if(e)for(var r,u,i=n[0][0],o=n[0][1],a=n[e][0]-i,c=n[e][1]-o,l=-1;++l<=e;)r=n[l],u=l/e,r[0]=t*r[0]+(1-t)*(i+u*a),r[1]=t*r[1]+(1-t)*(o+u*c);return xo(n)}function wo(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function So(n,t,e){n.push("C",wo(Sl,t),",",wo(Sl,e),",",wo(kl,t),",",wo(kl,e),",",wo(El,t),",",wo(El,e))}function ko(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Eo(n){for(var t=0,e=n.length-1,r=[],u=n[0],i=n[1],o=r[0]=ko(u,i);++t<e;)r[t]=(o+(o=ko(u=i,i=n[t+1])))/2;return r[t]=o,r}function Ao(n){for(var t,e,r,u,i=[],o=Eo(n),a=-1,c=n.length-1;++a<c;)t=ko(n[a],n[a+1]),ca(t)<Na?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,u=e*e+r*r,u>9&&(u=3*t/Math.sqrt(u),o[a]=u*e,o[a+1]=u*r));for(a=-1;++a<=c;)u=(n[Math.min(c,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),i.push([u||0,o[a]*u||0]);return i}function Co(n){return n.length<3?co(n):n[0]+mo(n,Ao(n))}function No(n){for(var t,e,r,u=-1,i=n.length;++u<i;)t=n[u],e=t[0],r=t[1]+_l,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function zo(n){function t(t){function c(){v.push("M",a(n(m),f),s,l(n(d.reverse()),f),"Z")}for(var h,g,p,v=[],d=[],m=[],y=-1,x=t.length,M=kt(e),_=kt(u),b=e===r?function(){return g}:kt(r),w=u===i?function(){return p}:kt(i);++y<x;)o.call(this,h=t[y],y)?(d.push([g=+M.call(this,h,y),p=+_.call(this,h,y)]),m.push([+b.call(this,h,y),+w.call(this,h,y)])):d.length&&(c(),d=[],m=[]);return d.length&&c(),v.length?v.join(""):null}var e=Ar,r=Ar,u=0,i=Cr,o=Ae,a=co,c=a.key,l=a,s="L",f=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(u=i=n,t):i},t.y0=function(n){return arguments.length?(u=n,t):u},t.y1=function(n){return arguments.length?(i=n,t):i},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(c="function"==typeof n?a=n:(a=wl.get(n)||co).key,l=a.reverse||a,s=a.closed?"M":"L",t):c},t.tension=function(n){return arguments.length?(f=n,t):f},t}function Lo(n){return n.radius}function To(n){return[n.x,n.y]}function qo(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]+_l;return[e*Math.cos(r),e*Math.sin(r)]}}function Ro(){return 64}function Do(){return"circle"}function Po(n){var t=Math.sqrt(n/Ea);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Uo(n,t){return ga(n,Tl),n.id=t,n}function jo(n,t,e,r){var u=n.id;return F(n,"function"==typeof e?function(n,i,o){n.__transition__[u].tween.set(t,r(e.call(n,n.__data__,i,o)))}:(e=r(e),function(n){n.__transition__[u].tween.set(t,e)}))}function Fo(n){return null==n&&(n=""),function(){this.textContent=n}}function Ho(n,t,e,r){var u=n.__transition__||(n.__transition__={active:0,count:0}),i=u[e];if(!i){var o=r.time;i=u[e]={tween:new a,time:o,ease:r.ease,delay:r.delay,duration:r.duration},++u.count,Bo.timer(function(r){function a(r){return u.active>e?l():(u.active=e,i.event&&i.event.start.call(n,s,t),i.tween.forEach(function(e,r){(r=r.call(n,s,t))&&v.push(r)
}),Bo.timer(function(){return p.c=c(r||1)?Ae:c,1},0,o),void 0)}function c(r){if(u.active!==e)return l();for(var o=r/g,a=f(o),c=v.length;c>0;)v[--c].call(n,a);return o>=1?(i.event&&i.event.end.call(n,s,t),l()):void 0}function l(){return--u.count?delete u[e]:delete n.__transition__,1}var s=n.__data__,f=i.ease,h=i.delay,g=i.duration,p=Ka,v=[];return p.t=h+o,r>=h?a(r-h):(p.c=a,void 0)},0,o)}}function Oo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function Yo(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function Io(n){return n.toISOString()}function Zo(n,t,e){function r(t){return n(t)}function u(n,e){var r=n[1]-n[0],u=r/e,i=Bo.bisect(Ol,u);return i==Ol.length?[t.year,Zi(n.map(function(n){return n/31536e6}),e)[2]]:i?t[u/Ol[i-1]<Ol[i]/u?i-1:i]:[Zl,Zi(n,e)[2]]}return r.invert=function(t){return Vo(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(Vo)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,Vo(+e+1),t).length}var i=r.domain(),o=Di(i),a=null==n?u(o,10):"number"==typeof n&&u(o,n);return a&&(n=a[0],t=a[1]),r.domain(ji(i,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=Vo(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=Vo(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Di(r.domain()),i=null==n?u(e,10):"number"==typeof n?u(e,n):!n.range&&[{range:n},t];return i&&(n=i[0],t=i[1]),n.range(e[0],Vo(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return Zo(n.copy(),t,e)},Yi(r,n)}function Vo(n){return new Date(n)}function Xo(n){return JSON.parse(n.responseText)}function $o(n){var t=Go.createRange();return t.selectNode(Go.body),t.createContextualFragment(n.responseText)}var Bo={version:"3.4.13"};Date.now||(Date.now=function(){return+new Date});var Wo=[].slice,Jo=function(n){return Wo.call(n)},Go=document,Ko=Go.documentElement,Qo=window;try{Jo(Ko.childNodes)[0].nodeType}catch(na){Jo=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}try{Go.createElement("div").style.setProperty("opacity",0,"")}catch(ta){var ea=Qo.Element.prototype,ra=ea.setAttribute,ua=ea.setAttributeNS,ia=Qo.CSSStyleDeclaration.prototype,oa=ia.setProperty;ea.setAttribute=function(n,t){ra.call(this,n,t+"")},ea.setAttributeNS=function(n,t,e){ua.call(this,n,t,e+"")},ia.setProperty=function(n,t,e){oa.call(this,n,t+"",e)}}Bo.ascending=n,Bo.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:0/0},Bo.min=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&e>r&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&e>r&&(e=r)}return e},Bo.max=function(n,t){var e,r,u=-1,i=n.length;if(1===arguments.length){for(;++u<i&&!(null!=(e=n[u])&&e>=e);)e=void 0;for(;++u<i;)null!=(r=n[u])&&r>e&&(e=r)}else{for(;++u<i&&!(null!=(e=t.call(n,n[u],u))&&e>=e);)e=void 0;for(;++u<i;)null!=(r=t.call(n,n[u],u))&&r>e&&(e=r)}return e},Bo.extent=function(n,t){var e,r,u,i=-1,o=n.length;if(1===arguments.length){for(;++i<o&&!(null!=(e=u=n[i])&&e>=e);)e=u=void 0;for(;++i<o;)null!=(r=n[i])&&(e>r&&(e=r),r>u&&(u=r))}else{for(;++i<o&&!(null!=(e=u=t.call(n,n[i],i))&&e>=e);)e=void 0;for(;++i<o;)null!=(r=t.call(n,n[i],i))&&(e>r&&(e=r),r>u&&(u=r))}return[e,u]},Bo.sum=function(n,t){var r,u=0,i=n.length,o=-1;if(1===arguments.length)for(;++o<i;)e(r=+n[o])&&(u+=r);else for(;++o<i;)e(r=+t.call(n,n[o],o))&&(u+=r);return u},Bo.mean=function(n,r){var u,i=0,o=n.length,a=-1,c=o;if(1===arguments.length)for(;++a<o;)e(u=t(n[a]))?i+=u:--c;else for(;++a<o;)e(u=t(r.call(n,n[a],a)))?i+=u:--c;return c?i/c:void 0},Bo.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),u=+n[r-1],i=e-r;return i?u+i*(n[r]-u):u},Bo.median=function(r,u){var i,o=[],a=r.length,c=-1;if(1===arguments.length)for(;++c<a;)e(i=t(r[c]))&&o.push(i);else for(;++c<a;)e(i=t(u.call(r,r[c],c)))&&o.push(i);return o.length?Bo.quantile(o.sort(n),.5):void 0};var aa=r(n);Bo.bisectLeft=aa.left,Bo.bisect=Bo.bisectRight=aa.right,Bo.bisector=function(t){return r(1===t.length?function(e,r){return n(t(e),r)}:t)},Bo.shuffle=function(n){for(var t,e,r=n.length;r;)e=0|Math.random()*r--,t=n[r],n[r]=n[e],n[e]=t;return n},Bo.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},Bo.pairs=function(n){for(var t,e=0,r=n.length-1,u=n[0],i=new Array(0>r?0:r);r>e;)i[e]=[t=u,u=n[++e]];return i},Bo.zip=function(){if(!(r=arguments.length))return[];for(var n=-1,t=Bo.min(arguments,u),e=new Array(t);++n<t;)for(var r,i=-1,o=e[n]=new Array(r);++i<r;)o[i]=arguments[i][n];return e},Bo.transpose=function(n){return Bo.zip.apply(Bo,n)},Bo.keys=function(n){var t=[];for(var e in n)t.push(e);return t},Bo.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},Bo.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},Bo.merge=function(n){for(var t,e,r,u=n.length,i=-1,o=0;++i<u;)o+=n[i].length;for(e=new Array(o);--u>=0;)for(r=n[u],t=r.length;--t>=0;)e[--o]=r[t];return e};var ca=Math.abs;Bo.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),1/0===(t-n)/e)throw new Error("infinite range");var r,u=[],o=i(ca(e)),a=-1;if(n*=o,t*=o,e*=o,0>e)for(;(r=n+e*++a)>t;)u.push(r/o);else for(;(r=n+e*++a)<t;)u.push(r/o);return u},Bo.map=function(n){var t=new a;if(n instanceof a)n.forEach(function(n,e){t.set(n,e)});else for(var e in n)t.set(e,n[e]);return t};var la="__proto__",sa="\x00";o(a,{has:s,get:function(n){return this._[c(n)]},set:function(n,t){return this._[c(n)]=t},remove:f,keys:h,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:l(t),value:this._[t]});return n},size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t),this._[t])}}),Bo.nest=function(){function n(t,o,c){if(c>=i.length)return r?r.call(u,o):e?o.sort(e):o;for(var l,s,f,h,g=-1,p=o.length,v=i[c++],d=new a;++g<p;)(h=d.get(l=v(s=o[g])))?h.push(s):d.set(l,[s]);return t?(s=t(),f=function(e,r){s.set(e,n(t,r,c))}):(s={},f=function(e,r){s[e]=n(t,r,c)}),d.forEach(f),s}function t(n,e){if(e>=i.length)return n;var r=[],u=o[e++];return n.forEach(function(n,u){r.push({key:n,values:t(u,e)})}),u?r.sort(function(n,t){return u(n.key,t.key)}):r}var e,r,u={},i=[],o=[];return u.map=function(t,e){return n(e,t,0)},u.entries=function(e){return t(n(Bo.map,e,0),0)},u.key=function(n){return i.push(n),u},u.sortKeys=function(n){return o[i.length-1]=n,u},u.sortValues=function(n){return e=n,u},u.rollup=function(n){return r=n,u},u},Bo.set=function(n){var t=new v;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},o(v,{has:s,add:function(n){return this._[c(n+="")]=!0,n},remove:f,values:h,size:g,empty:p,forEach:function(n){for(var t in this._)n.call(this,l(t))}}),Bo.behavior={},Bo.rebind=function(n,t){for(var e,r=1,u=arguments.length;++r<u;)n[e=arguments[r]]=d(n,t,t[e]);return n};var fa=["webkit","ms","moz","Moz","o","O"];Bo.dispatch=function(){for(var n=new x,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=M(n);return n},x.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},Bo.event=null,Bo.requote=function(n){return n.replace(ha,"\\$&")};var ha=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ga={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},pa=function(n,t){return t.querySelector(n)},va=function(n,t){return t.querySelectorAll(n)},da=Ko.matches||Ko[m(Ko,"matchesSelector")],ma=function(n,t){return da.call(n,t)};"function"==typeof Sizzle&&(pa=function(n,t){return Sizzle(n,t)[0]||null},va=Sizzle,ma=Sizzle.matchesSelector),Bo.selection=function(){return _a};var ya=Bo.selection.prototype=[];ya.select=function(n){var t,e,r,u,i=[];n=k(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var c=-1,l=r.length;++c<l;)(u=r[c])?(t.push(e=n.call(u,u.__data__,c,o)),e&&"__data__"in u&&(e.__data__=u.__data__)):t.push(null)}return S(i)},ya.selectAll=function(n){var t,e,r=[];n=E(n);for(var u=-1,i=this.length;++u<i;)for(var o=this[u],a=-1,c=o.length;++a<c;)(e=o[a])&&(r.push(t=Jo(n.call(e,e.__data__,a,u))),t.parentNode=e);return S(r)};var xa={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};Bo.ns={prefix:xa,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&(e=n.slice(0,t),n=n.slice(t+1)),xa.hasOwnProperty(e)?{space:xa[e],local:n}:n}},ya.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=Bo.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(A(t,n[t]));return this}return this.each(A(n,t))},ya.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=z(n)).length,u=-1;if(t=e.classList){for(;++u<r;)if(!t.contains(n[u]))return!1}else for(t=e.getAttribute("class");++u<r;)if(!N(n[u]).test(t))return!1;return!0}for(t in n)this.each(L(t,n[t]));return this}return this.each(L(n,t))},ya.style=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t="");for(e in n)this.each(q(e,n[e],t));return this}if(2>r)return Qo.getComputedStyle(this.node(),null).getPropertyValue(n);e=""}return this.each(q(n,t,e))},ya.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},ya.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},ya.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},ya.append=function(n){return n=D(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},ya.insert=function(n,t){return n=D(n),t=k(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},ya.remove=function(){return this.each(function(){var n=this.parentNode;n&&n.removeChild(this)})},ya.data=function(n,t){function e(n,e){var r,u,i,o=n.length,f=e.length,h=Math.min(o,f),g=new Array(f),p=new Array(f),v=new Array(o);if(t){var d,m=new a,y=new Array(o);for(r=-1;++r<o;)m.has(d=t.call(u=n[r],u.__data__,r))?v[r]=u:m.set(d,u),y[r]=d;for(r=-1;++r<f;)(u=m.get(d=t.call(e,i=e[r],r)))?u!==!0&&(g[r]=u,u.__data__=i):p[r]=P(i),m.set(d,!0);for(r=-1;++r<o;)m.get(y[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)u=n[r],i=e[r],u?(u.__data__=i,g[r]=u):p[r]=P(i);for(;f>r;++r)p[r]=P(e[r]);for(;o>r;++r)v[r]=n[r]}p.update=g,p.parentNode=g.parentNode=v.parentNode=n.parentNode,c.push(p),l.push(g),s.push(v)}var r,u,i=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++i<o;)(u=r[i])&&(n[i]=u.__data__);return n}var c=H([]),l=S([]),s=S([]);if("function"==typeof n)for(;++i<o;)e(r=this[i],n.call(r,r.parentNode.__data__,i));else for(;++i<o;)e(r=this[i],n);return l.enter=function(){return c},l.exit=function(){return s},l},ya.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},ya.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=U(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]),t.parentNode=(e=this[i]).parentNode;for(var a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return S(u)},ya.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],u=r.length-1,i=r[u];--u>=0;)(e=r[u])&&(i&&i!==e.nextSibling&&i.parentNode.insertBefore(e,i),i=e);return this},ya.sort=function(n){n=j.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},ya.each=function(n){return F(this,function(t,e,r){n.call(t,t.__data__,e,r)})},ya.call=function(n){var t=Jo(arguments);return n.apply(t[0]=this,t),this},ya.empty=function(){return!this.node()},ya.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,u=e.length;u>r;r++){var i=e[r];if(i)return i}return null},ya.size=function(){var n=0;return F(this,function(){++n}),n};var Ma=[];Bo.selection.enter=H,Bo.selection.enter.prototype=Ma,Ma.append=ya.append,Ma.empty=ya.empty,Ma.node=ya.node,Ma.call=ya.call,Ma.size=ya.size,Ma.select=function(n){for(var t,e,r,u,i,o=[],a=-1,c=this.length;++a<c;){r=(u=this[a]).update,o.push(t=[]),t.parentNode=u.parentNode;for(var l=-1,s=u.length;++l<s;)(i=u[l])?(t.push(r[l]=e=n.call(u.parentNode,i.__data__,l,a)),e.__data__=i.__data__):t.push(null)}return S(o)},Ma.insert=function(n,t){return arguments.length<2&&(t=O(this)),ya.insert.call(this,n,t)},ya.transition=function(){for(var n,t,e=Cl||++ql,r=[],u=Nl||{time:Date.now(),ease:wu,delay:0,duration:250},i=-1,o=this.length;++i<o;){r.push(n=[]);for(var a=this[i],c=-1,l=a.length;++c<l;)(t=a[c])&&Ho(t,c,e,u),n.push(t)}return Uo(r,e)},ya.interrupt=function(){return this.each(Y)},Bo.select=function(n){var t=["string"==typeof n?pa(n,Go):n];return t.parentNode=Ko,S([t])},Bo.selectAll=function(n){var t=Jo("string"==typeof n?va(n,Go):n);return t.parentNode=Ko,S([t])};var _a=Bo.select(Ko);ya.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(I(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(I(n,t,e))};var ba=Bo.map({mouseenter:"mouseover",mouseleave:"mouseout"});ba.forEach(function(n){"on"+n in Go&&ba.remove(n)});var wa="onselectstart"in Go?null:m(Ko.style,"userSelect"),Sa=0;Bo.mouse=function(n){return $(n,b())};var ka=/WebKit/.test(Qo.navigator.userAgent)?-1:0;Bo.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=b().changedTouches),t)for(var r,u=0,i=t.length;i>u;++u)if((r=t[u]).identifier===e)return $(n,r)},Bo.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",i)}function t(n,t,u,i,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-x[0],e=r[1]-x[1],p|=n|e,x=r,g({type:"drag",x:r[0]+l[0],y:r[1]+l[1],dx:n,dy:e}))}function c(){t(h,v)&&(m.on(i+d,null).on(o+d,null),y(p&&Bo.event.target===f),g({type:"dragend"}))}var l,s=this,f=Bo.event.target,h=s.parentNode,g=e.of(s,arguments),p=0,v=n(),d=".drag"+(null==v?"":"-"+v),m=Bo.select(u()).on(i+d,a).on(o+d,c),y=X(),x=t(h,v);r?(l=r.apply(s,arguments),l=[l.x-x[0],l.y-x[1]]):l=[0,0],g({type:"dragstart"})}}var e=w(n,"drag","dragstart","dragend"),r=null,u=t(y,Bo.mouse,J,"mousemove","mouseup"),i=t(B,Bo.touch,W,"touchmove","touchend");return n.origin=function(t){return arguments.length?(r=t,n):r},Bo.rebind(n,e,"on")},Bo.touches=function(n,t){return arguments.length<2&&(t=b().touches),t?Jo(t).map(function(t){var e=$(n,t);return e.identifier=t.identifier,e}):[]};var Ea=Math.PI,Aa=2*Ea,Ca=Ea/2,Na=1e-6,za=Na*Na,La=Ea/180,Ta=180/Ea,qa=Math.SQRT2,Ra=2,Da=4;Bo.interpolateZoom=function(n,t){function e(n){var t=n*y;if(m){var e=et(v),o=i/(Ra*h)*(e*rt(qa*t+v)-tt(v));return[r+o*l,u+o*s,i*e/et(qa*t+v)]}return[r+n*l,u+n*s,i*Math.exp(qa*t)]}var r=n[0],u=n[1],i=n[2],o=t[0],a=t[1],c=t[2],l=o-r,s=a-u,f=l*l+s*s,h=Math.sqrt(f),g=(c*c-i*i+Da*f)/(2*i*Ra*h),p=(c*c-i*i-Da*f)/(2*c*Ra*h),v=Math.log(Math.sqrt(g*g+1)-g),d=Math.log(Math.sqrt(p*p+1)-p),m=d-v,y=(m||Math.log(c/i))/qa;return e.duration=1e3*y,e},Bo.behavior.zoom=function(){function n(n){n.on(A,l).on(ja+".zoom",f).on("dblclick.zoom",h).on(z,s)}function t(n){return[(n[0]-S.x)/S.k,(n[1]-S.y)/S.k]}function e(n){return[n[0]*S.k+S.x,n[1]*S.k+S.y]}function r(n){S.k=Math.max(E[0],Math.min(E[1],n))}function u(n,t){t=e(t),S.x+=n[0]-t[0],S.y+=n[1]-t[1]}function i(){x&&x.domain(y.range().map(function(n){return(n-S.x)/S.k}).map(y.invert)),b&&b.domain(M.range().map(function(n){return(n-S.y)/S.k}).map(M.invert))}function o(n){n({type:"zoomstart"})}function a(n){i(),n({type:"zoom",scale:S.k,translate:[S.x,S.y]})}function c(n){n({type:"zoomend"})}function l(){function n(){s=1,u(Bo.mouse(r),h),a(l)}function e(){f.on(C,null).on(N,null),g(s&&Bo.event.target===i),c(l)}var r=this,i=Bo.event.target,l=L.of(r,arguments),s=0,f=Bo.select(Qo).on(C,n).on(N,e),h=t(Bo.mouse(r)),g=X();Y.call(r),o(l)}function s(){function n(){var n=Bo.touches(g);return h=S.k,n.forEach(function(n){n.identifier in v&&(v[n.identifier]=t(n))}),n}function e(){var t=Bo.event.target;Bo.select(t).on(x,i).on(M,f),b.push(t);for(var e=Bo.event.changedTouches,o=0,c=e.length;c>o;++o)v[e[o].identifier]=null;var l=n(),s=Date.now();if(1===l.length){if(500>s-m){var h=l[0],g=v[h.identifier];r(2*S.k),u(h,g),_(),a(p)}m=s}else if(l.length>1){var h=l[0],y=l[1],w=h[0]-y[0],k=h[1]-y[1];d=w*w+k*k}}function i(){for(var n,t,e,i,o=Bo.touches(g),c=0,l=o.length;l>c;++c,i=null)if(e=o[c],i=v[e.identifier]){if(t)break;n=e,t=i}if(i){var s=(s=e[0]-n[0])*s+(s=e[1]-n[1])*s,f=d&&Math.sqrt(s/d);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+i[0])/2,(t[1]+i[1])/2],r(f*h)}m=null,u(n,t),a(p)}function f(){if(Bo.event.touches.length){for(var t=Bo.event.changedTouches,e=0,r=t.length;r>e;++e)delete v[t[e].identifier];for(var u in v)return void n()}Bo.selectAll(b).on(y,null),w.on(A,l).on(z,s),k(),c(p)}var h,g=this,p=L.of(g,arguments),v={},d=0,y=".zoom-"+Bo.event.changedTouches[0].identifier,x="touchmove"+y,M="touchend"+y,b=[],w=Bo.select(g),k=X();Y.call(g),e(),o(p),w.on(A,null).on(z,e)}function f(){var n=L.of(this,arguments);d?clearTimeout(d):(g=t(p=v||Bo.mouse(this)),Y.call(this),o(n)),d=setTimeout(function(){d=null,c(n)},50),_(),r(Math.pow(2,.002*Pa())*S.k),u(p,g),a(n)}function h(){var n=L.of(this,arguments),e=Bo.mouse(this),i=t(e),l=Math.log(S.k)/Math.LN2;o(n),r(Math.pow(2,Bo.event.shiftKey?Math.ceil(l)-1:Math.floor(l)+1)),u(e,i),a(n),c(n)}var g,p,v,d,m,y,x,M,b,S={x:0,y:0,k:1},k=[960,500],E=Ua,A="mousedown.zoom",C="mousemove.zoom",N="mouseup.zoom",z="touchstart.zoom",L=w(n,"zoomstart","zoom","zoomend");return n.event=function(n){n.each(function(){var n=L.of(this,arguments),t=S;Cl?Bo.select(this).transition().each("start.zoom",function(){S=this.__chart__||{x:0,y:0,k:1},o(n)}).tween("zoom:zoom",function(){var e=k[0],r=k[1],u=e/2,i=r/2,o=Bo.interpolateZoom([(u-S.x)/S.k,(i-S.y)/S.k,e/S.k],[(u-t.x)/t.k,(i-t.y)/t.k,e/t.k]);return function(t){var r=o(t),c=e/r[2];this.__chart__=S={x:u-r[0]*c,y:i-r[1]*c,k:c},a(n)}}).each("end.zoom",function(){c(n)}):(this.__chart__=S,o(n),a(n),c(n))})},n.translate=function(t){return arguments.length?(S={x:+t[0],y:+t[1],k:S.k},i(),n):[S.x,S.y]},n.scale=function(t){return arguments.length?(S={x:S.x,y:S.y,k:+t},i(),n):S.k},n.scaleExtent=function(t){return arguments.length?(E=null==t?Ua:[+t[0],+t[1]],n):E},n.center=function(t){return arguments.length?(v=t&&[+t[0],+t[1]],n):v},n.size=function(t){return arguments.length?(k=t&&[+t[0],+t[1]],n):k},n.x=function(t){return arguments.length?(x=t,y=t.copy(),S={x:0,y:0,k:1},n):x},n.y=function(t){return arguments.length?(b=t,M=t.copy(),S={x:0,y:0,k:1},n):b},Bo.rebind(n,L,"on")};var Pa,Ua=[0,1/0],ja="onwheel"in Go?(Pa=function(){return-Bo.event.deltaY*(Bo.event.deltaMode?120:1)},"wheel"):"onmousewheel"in Go?(Pa=function(){return Bo.event.wheelDelta},"mousewheel"):(Pa=function(){return-Bo.event.detail},"MozMousePixelScroll");Bo.color=it,it.prototype.toString=function(){return this.rgb()+""},Bo.hsl=ot;var Fa=ot.prototype=new it;Fa.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,this.l/n)},Fa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ot(this.h,this.s,n*this.l)},Fa.rgb=function(){return at(this.h,this.s,this.l)},Bo.hcl=ct;var Ha=ct.prototype=new it;Ha.brighter=function(n){return new ct(this.h,this.c,Math.min(100,this.l+Oa*(arguments.length?n:1)))},Ha.darker=function(n){return new ct(this.h,this.c,Math.max(0,this.l-Oa*(arguments.length?n:1)))},Ha.rgb=function(){return lt(this.h,this.c,this.l).rgb()},Bo.lab=st;var Oa=18,Ya=.95047,Ia=1,Za=1.08883,Va=st.prototype=new it;Va.brighter=function(n){return new st(Math.min(100,this.l+Oa*(arguments.length?n:1)),this.a,this.b)},Va.darker=function(n){return new st(Math.max(0,this.l-Oa*(arguments.length?n:1)),this.a,this.b)},Va.rgb=function(){return ft(this.l,this.a,this.b)},Bo.rgb=dt;var Xa=dt.prototype=new it;Xa.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,u=30;return t||e||r?(t&&u>t&&(t=u),e&&u>e&&(e=u),r&&u>r&&(r=u),new dt(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new dt(u,u,u)},Xa.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new dt(n*this.r,n*this.g,n*this.b)},Xa.hsl=function(){return _t(this.r,this.g,this.b)},Xa.toString=function(){return"#"+xt(this.r)+xt(this.g)+xt(this.b)};var $a=Bo.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});$a.forEach(function(n,t){$a.set(n,mt(t))}),Bo.functor=kt,Bo.xhr=At(Et),Bo.dsv=function(n,t){function e(n,e,i){arguments.length<3&&(i=e,e=null);var o=Ct(n,t,null==e?r:u(e),i);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:u(n)):e},o}function r(n){return e.parse(n.responseText)}function u(n){return function(t){return e.parse(t.responseText,n)}}function i(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),c=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var u=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(u(n),e)}:u})},e.parseRows=function(n,t){function e(){if(s>=l)return o;if(u)return u=!1,i;var t=s;if(34===n.charCodeAt(t)){for(var e=t;e++<l;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}s=e+2;var r=n.charCodeAt(e+1);return 13===r?(u=!0,10===n.charCodeAt(e+2)&&++s):10===r&&(u=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;l>s;){var r=n.charCodeAt(s++),a=1;if(10===r)u=!0;else if(13===r)u=!0,10===n.charCodeAt(s)&&(++s,++a);else if(r!==c)continue;return n.slice(t,s-a)}return n.slice(t)}for(var r,u,i={},o={},a=[],l=n.length,s=0,f=0;(r=e())!==o;){for(var h=[];r!==i&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,f++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new v,u=[];return t.forEach(function(n){for(var t in n)r.has(t)||u.push(r.add(t))}),[u.map(o).join(n)].concat(t.map(function(t){return u.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(i).join("\n")},e},Bo.csv=Bo.dsv(",","text/csv"),Bo.tsv=Bo.dsv(" ","text/tab-separated-values");var Ba,Wa,Ja,Ga,Ka,Qa=Qo[m(Qo,"requestAnimationFrame")]||function(n){setTimeout(n,17)};Bo.timer=function(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var u=e+t,i={c:n,t:u,f:!1,n:null};Wa?Wa.n=i:Ba=i,Wa=i,Ja||(Ga=clearTimeout(Ga),Ja=1,Qa(Lt))},Bo.timer.flush=function(){Tt(),qt()},Bo.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var nc=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Dt);Bo.formatPrefix=function(n,t){var e=0;return n&&(0>n&&(n*=-1),t&&(n=Bo.round(n,Rt(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),nc[8+e/3]};var tc=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,ec=Bo.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=Bo.round(n,Rt(n,t))).toFixed(Math.max(0,Math.min(20,Rt(n*(1+1e-15),t))))}}),rc=Bo.time={},uc=Date;jt.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){ic.setUTCDate.apply(this._,arguments)},setDay:function(){ic.setUTCDay.apply(this._,arguments)},setFullYear:function(){ic.setUTCFullYear.apply(this._,arguments)},setHours:function(){ic.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){ic.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){ic.setUTCMinutes.apply(this._,arguments)},setMonth:function(){ic.setUTCMonth.apply(this._,arguments)},setSeconds:function(){ic.setUTCSeconds.apply(this._,arguments)},setTime:function(){ic.setTime.apply(this._,arguments)}};var ic=Date.prototype;rc.year=Ft(function(n){return n=rc.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),rc.years=rc.year.range,rc.years.utc=rc.year.utc.range,rc.day=Ft(function(n){var t=new uc(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),rc.days=rc.day.range,rc.days.utc=rc.day.utc.range,rc.dayOfYear=function(n){var t=rc.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=rc[n]=Ft(function(n){return(n=rc.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=rc.year(n).getDay();return Math.floor((rc.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});rc[n+"s"]=e.range,rc[n+"s"].utc=e.utc.range,rc[n+"OfYear"]=function(n){var e=rc.year(n).getDay();return Math.floor((rc.dayOfYear(n)+(e+t)%7)/7)}}),rc.week=rc.sunday,rc.weeks=rc.sunday.range,rc.weeks.utc=rc.sunday.utc.range,rc.weekOfYear=rc.sundayOfYear;var oc={"-":"",_:" ",0:"0"},ac=/^\s*\d+/,cc=/^%/;Bo.locale=function(n){return{numberFormat:Pt(n),timeFormat:Ot(n)}};var lc=Bo.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});Bo.format=lc.numberFormat,Bo.geo={},ce.prototype={s:0,t:0,add:function(n){le(n,this.t,sc),le(sc.s,this.s,this),this.s?this.t+=sc.t:this.s=sc.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var sc=new ce;Bo.geo.stream=function(n,t){n&&fc.hasOwnProperty(n.type)?fc[n.type](n,t):se(n,t)};var fc={Feature:function(n,t){se(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,u=e.length;++r<u;)se(e[r].geometry,t)}},hc={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){fe(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)fe(e[r],t,0)},Polygon:function(n,t){he(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,u=e.length;++r<u;)he(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,u=e.length;++r<u;)se(e[r],t)}};Bo.geo.area=function(n){return gc=0,Bo.geo.stream(n,vc),gc};var gc,pc=new ce,vc={sphere:function(){gc+=4*Ea},point:y,lineStart:y,lineEnd:y,polygonStart:function(){pc.reset(),vc.lineStart=ge},polygonEnd:function(){var n=2*pc;gc+=0>n?4*Ea+n:n,vc.lineStart=vc.lineEnd=vc.point=y}};Bo.geo.bounds=function(){function n(n,t){x.push(M=[s=n,h=n]),f>t&&(f=t),t>g&&(g=t)}function t(t,e){var r=pe([t*La,e*La]);if(m){var u=de(m,r),i=[u[1],-u[0],0],o=de(i,u);xe(o),o=Me(o);var c=t-p,l=c>0?1:-1,v=o[0]*Ta*l,d=ca(c)>180;if(d^(v>l*p&&l*t>v)){var y=o[1]*Ta;y>g&&(g=y)}else if(v=(v+360)%360-180,d^(v>l*p&&l*t>v)){var y=-o[1]*Ta;f>y&&(f=y)}else f>e&&(f=e),e>g&&(g=e);d?p>t?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t):h>=s?(s>t&&(s=t),t>h&&(h=t)):t>p?a(s,t)>a(s,h)&&(h=t):a(t,h)>a(s,h)&&(s=t)}else n(t,e);m=r,p=t}function e(){_.point=t}function r(){M[0]=s,M[1]=h,_.point=n,m=null}function u(n,e){if(m){var r=n-p;y+=ca(r)>180?r+(r>0?360:-360):r}else v=n,d=e;vc.point(n,e),t(n,e)}function i(){vc.lineStart()}function o(){u(v,d),vc.lineEnd(),ca(y)>Na&&(s=-(h=180)),M[0]=s,M[1]=h,m=null}function a(n,t){return(t-=n)<0?t+360:t}function c(n,t){return n[0]-t[0]}function l(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var s,f,h,g,p,v,d,m,y,x,M,_={point:n,lineStart:e,lineEnd:r,polygonStart:function(){_.point=u,_.lineStart=i,_.lineEnd=o,y=0,vc.polygonStart()},polygonEnd:function(){vc.polygonEnd(),_.point=n,_.lineStart=e,_.lineEnd=r,0>pc?(s=-(h=180),f=-(g=90)):y>Na?g=90:-Na>y&&(f=-90),M[0]=s,M[1]=h}};return function(n){g=h=-(s=f=1/0),x=[],Bo.geo.stream(n,_);
var t=x.length;if(t){x.sort(c);for(var e,r=1,u=x[0],i=[u];t>r;++r)e=x[r],l(e[0],u)||l(e[1],u)?(a(u[0],e[1])>a(u[0],u[1])&&(u[1]=e[1]),a(e[0],u[1])>a(u[0],u[1])&&(u[0]=e[0])):i.push(u=e);for(var o,e,p=-1/0,t=i.length-1,r=0,u=i[t];t>=r;u=e,++r)e=i[r],(o=a(u[1],e[0]))>p&&(p=o,s=e[0],h=u[1])}return x=M=null,1/0===s||1/0===f?[[0/0,0/0],[0/0,0/0]]:[[s,f],[h,g]]}}(),Bo.geo.centroid=function(n){dc=mc=yc=xc=Mc=_c=bc=wc=Sc=kc=Ec=0,Bo.geo.stream(n,Ac);var t=Sc,e=kc,r=Ec,u=t*t+e*e+r*r;return za>u&&(t=_c,e=bc,r=wc,Na>mc&&(t=yc,e=xc,r=Mc),u=t*t+e*e+r*r,za>u)?[0/0,0/0]:[Math.atan2(e,t)*Ta,nt(r/Math.sqrt(u))*Ta]};var dc,mc,yc,xc,Mc,_c,bc,wc,Sc,kc,Ec,Ac={sphere:y,point:be,lineStart:Se,lineEnd:ke,polygonStart:function(){Ac.lineStart=Ee},polygonEnd:function(){Ac.lineStart=Se}},Cc=Le(Ae,De,Ue,[-Ea,-Ea/2]),Nc=1e9;Bo.geo.clipExtent=function(){var n,t,e,r,u,i,o={stream:function(n){return u&&(u.valid=!1),u=i(n),u.valid=!0,u},extent:function(a){return arguments.length?(i=Oe(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),u&&(u.valid=!1,u=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(Bo.geo.conicEqualArea=function(){return Ie(Ze)}).raw=Ze,Bo.geo.albers=function(){return Bo.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},Bo.geo.albersUsa=function(){function n(n){var i=n[0],o=n[1];return t=null,e(i,o),t||(r(i,o),t)||u(i,o),t}var t,e,r,u,i=Bo.geo.albers(),o=Bo.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=Bo.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),c={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=i.scale(),e=i.translate(),r=(n[0]-e[0])/t,u=(n[1]-e[1])/t;return(u>=.12&&.234>u&&r>=-.425&&-.214>r?o:u>=.166&&.234>u&&r>=-.214&&-.115>r?a:i).invert(n)},n.stream=function(n){var t=i.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,u){t.point(n,u),e.point(n,u),r.point(n,u)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(i.precision(t),o.precision(t),a.precision(t),n):i.precision()},n.scale=function(t){return arguments.length?(i.scale(t),o.scale(.35*t),a.scale(t),n.translate(i.translate())):i.scale()},n.translate=function(t){if(!arguments.length)return i.translate();var l=i.scale(),s=+t[0],f=+t[1];return e=i.translate(t).clipExtent([[s-.455*l,f-.238*l],[s+.455*l,f+.238*l]]).stream(c).point,r=o.translate([s-.307*l,f+.201*l]).clipExtent([[s-.425*l+Na,f+.12*l+Na],[s-.214*l-Na,f+.234*l-Na]]).stream(c).point,u=a.translate([s-.205*l,f+.212*l]).clipExtent([[s-.214*l+Na,f+.166*l+Na],[s-.115*l-Na,f+.234*l-Na]]).stream(c).point,n},n.scale(1070)};var zc,Lc,Tc,qc,Rc,Dc,Pc={point:y,lineStart:y,lineEnd:y,polygonStart:function(){Lc=0,Pc.lineStart=Ve},polygonEnd:function(){Pc.lineStart=Pc.lineEnd=Pc.point=y,zc+=ca(Lc/2)}},Uc={point:Xe,lineStart:y,lineEnd:y,polygonStart:y,polygonEnd:y},jc={point:We,lineStart:Je,lineEnd:Ge,polygonStart:function(){jc.lineStart=Ke},polygonEnd:function(){jc.point=We,jc.lineStart=Je,jc.lineEnd=Ge}};Bo.geo.path=function(){function n(n){return n&&("function"==typeof a&&i.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=u(i)),Bo.geo.stream(n,o)),i.result()}function t(){return o=null,n}var e,r,u,i,o,a=4.5;return n.area=function(n){return zc=0,Bo.geo.stream(n,u(Pc)),zc},n.centroid=function(n){return yc=xc=Mc=_c=bc=wc=Sc=kc=Ec=0,Bo.geo.stream(n,u(jc)),Ec?[Sc/Ec,kc/Ec]:wc?[_c/wc,bc/wc]:Mc?[yc/Mc,xc/Mc]:[0/0,0/0]},n.bounds=function(n){return Rc=Dc=-(Tc=qc=1/0),Bo.geo.stream(n,u(Uc)),[[Tc,qc],[Rc,Dc]]},n.projection=function(n){return arguments.length?(u=(e=n)?n.stream||tr(n):Et,t()):e},n.context=function(n){return arguments.length?(i=null==(r=n)?new $e:new Qe(n),"function"!=typeof a&&i.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(i.pointRadius(+t),+t),n):a},n.projection(Bo.geo.albersUsa()).context(null)},Bo.geo.transform=function(n){return{stream:function(t){var e=new er(t);for(var r in n)e[r]=n[r];return e}}},er.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},Bo.geo.projection=ur,Bo.geo.projectionMutator=ir,(Bo.geo.equirectangular=function(){return ur(ar)}).raw=ar.invert=ar,Bo.geo.rotation=function(n){function t(t){return t=n(t[0]*La,t[1]*La),t[0]*=Ta,t[1]*=Ta,t}return n=lr(n[0]%360*La,n[1]*La,n.length>2?n[2]*La:0),t.invert=function(t){return t=n.invert(t[0]*La,t[1]*La),t[0]*=Ta,t[1]*=Ta,t},t},cr.invert=ar,Bo.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=lr(-n[0]*La,-n[1]*La,0).invert,u=[];return e(null,null,1,{point:function(n,e){u.push(n=t(n,e)),n[0]*=Ta,n[1]*=Ta}}),{type:"Polygon",coordinates:[u]}}var t,e,r=[0,0],u=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=gr((t=+r)*La,u*La),n):t},n.precision=function(r){return arguments.length?(e=gr(t*La,(u=+r)*La),n):u},n.angle(90)},Bo.geo.distance=function(n,t){var e,r=(t[0]-n[0])*La,u=n[1]*La,i=t[1]*La,o=Math.sin(r),a=Math.cos(r),c=Math.sin(u),l=Math.cos(u),s=Math.sin(i),f=Math.cos(i);return Math.atan2(Math.sqrt((e=f*o)*e+(e=l*s-c*f*a)*e),c*s+l*f*a)},Bo.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return Bo.range(Math.ceil(i/d)*d,u,d).map(h).concat(Bo.range(Math.ceil(l/m)*m,c,m).map(g)).concat(Bo.range(Math.ceil(r/p)*p,e,p).filter(function(n){return ca(n%d)>Na}).map(s)).concat(Bo.range(Math.ceil(a/v)*v,o,v).filter(function(n){return ca(n%m)>Na}).map(f))}var e,r,u,i,o,a,c,l,s,f,h,g,p=10,v=p,d=90,m=360,y=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(i).concat(g(c).slice(1),h(u).reverse().slice(1),g(l).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(i=+t[0][0],u=+t[1][0],l=+t[0][1],c=+t[1][1],i>u&&(t=i,i=u,u=t),l>c&&(t=l,l=c,c=t),n.precision(y)):[[i,l],[u,c]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(y)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],m=+t[1],n):[d,m]},n.minorStep=function(t){return arguments.length?(p=+t[0],v=+t[1],n):[p,v]},n.precision=function(t){return arguments.length?(y=+t,s=vr(a,o,90),f=dr(r,e,y),h=vr(l,c,90),g=dr(i,u,y),n):y},n.majorExtent([[-180,-90+Na],[180,90-Na]]).minorExtent([[-180,-80-Na],[180,80+Na]])},Bo.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||u.apply(this,arguments)]}}var t,e,r=mr,u=yr;return n.distance=function(){return Bo.geo.distance(t||r.apply(this,arguments),e||u.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(u=t,e="function"==typeof t?null:t,n):u},n.precision=function(){return arguments.length?n:0},n},Bo.geo.interpolate=function(n,t){return xr(n[0]*La,n[1]*La,t[0]*La,t[1]*La)},Bo.geo.length=function(n){return Fc=0,Bo.geo.stream(n,Hc),Fc};var Fc,Hc={sphere:y,point:y,lineStart:Mr,lineEnd:y,polygonStart:y,polygonEnd:y},Oc=_r(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(Bo.geo.azimuthalEqualArea=function(){return ur(Oc)}).raw=Oc;var Yc=_r(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},Et);(Bo.geo.azimuthalEquidistant=function(){return ur(Yc)}).raw=Yc,(Bo.geo.conicConformal=function(){return Ie(br)}).raw=br,(Bo.geo.conicEquidistant=function(){return Ie(wr)}).raw=wr;var Ic=_r(function(n){return 1/n},Math.atan);(Bo.geo.gnomonic=function(){return ur(Ic)}).raw=Ic,Sr.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Ca]},(Bo.geo.mercator=function(){return kr(Sr)}).raw=Sr;var Zc=_r(function(){return 1},Math.asin);(Bo.geo.orthographic=function(){return ur(Zc)}).raw=Zc;var Vc=_r(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(Bo.geo.stereographic=function(){return ur(Vc)}).raw=Vc,Er.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Ca]},(Bo.geo.transverseMercator=function(){var n=kr(Er),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Er,Bo.geom={},Bo.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,u=kt(e),i=kt(r),o=n.length,a=[],c=[];for(t=0;o>t;t++)a.push([+u.call(this,n[t],t),+i.call(this,n[t],t),t]);for(a.sort(zr),t=0;o>t;t++)c.push([a[t][0],-a[t][1]]);var l=Nr(a),s=Nr(c),f=s[0]===l[0],h=s[s.length-1]===l[l.length-1],g=[];for(t=l.length-1;t>=0;--t)g.push(n[a[l[t]][2]]);for(t=+f;t<s.length-h;++t)g.push(n[a[s[t]][2]]);return g}var e=Ar,r=Cr;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},Bo.geom.polygon=function(n){return ga(n,Xc),n};var Xc=Bo.geom.polygon.prototype=[];Xc.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],u=0;++t<e;)n=r,r=this[t],u+=n[1]*r[0]-n[0]*r[1];return.5*u},Xc.centroid=function(n){var t,e,r=-1,u=this.length,i=0,o=0,a=this[u-1];for(arguments.length||(n=-1/(6*this.area()));++r<u;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],i+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[i*n,o*n]},Xc.clip=function(n){for(var t,e,r,u,i,o,a=qr(n),c=-1,l=this.length-qr(this),s=this[l-1];++c<l;){for(t=n.slice(),n.length=0,u=this[c],i=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Lr(o,s,u)?(Lr(i,s,u)||n.push(Tr(i,o,s,u)),n.push(o)):Lr(i,s,u)&&n.push(Tr(i,o,s,u)),i=o;a&&n.push(n[0]),s=u}return n};var $c,Bc,Wc,Jc,Gc,Kc=[],Qc=[];Or.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Ir),t.length},Qr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},nu.prototype={insert:function(n,t){var e,r,u;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=uu(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(u=r.R,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.R&&(eu(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ru(this,r))):(u=r.L,u&&u.C?(e.C=u.C=!1,r.C=!0,n=r):(n===e.L&&(ru(this,e),n=e,e=n.U),e.C=!1,r.C=!0,eu(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,u=n.U,i=n.L,o=n.R;if(e=i?o?uu(o):i:o,u?u.L===n?u.L=e:u.R=e:this._=e,i&&o?(r=e.C,e.C=n.C,e.L=i,i.U=e,e!==o?(u=e.U,e.U=n.U,n=e.R,u.L=n,e.R=o,o.U=e):(e.U=u,u=e,n=e.R)):(r=n.C,n=e),n&&(n.U=u),!r){if(n&&n.C)return n.C=!1,void 0;do{if(n===this._)break;if(n===u.L){if(t=u.R,t.C&&(t.C=!1,u.C=!0,eu(this,u),t=u.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ru(this,t),t=u.R),t.C=u.C,u.C=t.R.C=!1,eu(this,u),n=this._;break}}else if(t=u.L,t.C&&(t.C=!1,u.C=!0,ru(this,u),t=u.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,eu(this,t),t=u.L),t.C=u.C,u.C=t.L.C=!1,ru(this,u),n=this._;break}t.C=!0,n=u,u=u.U}while(!n.C);n&&(n.C=!1)}}},Bo.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],u=a[0][1],i=a[1][0],o=a[1][1];return iu(e(n),a).cells.forEach(function(e,a){var c=e.edges,l=e.site,s=t[a]=c.length?c.map(function(n){var t=n.start();return[t.x,t.y]}):l.x>=r&&l.x<=i&&l.y>=u&&l.y<=o?[[r,o],[i,o],[i,u],[r,u]]:[];s.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(i(n,t)/Na)*Na,y:Math.round(o(n,t)/Na)*Na,i:t}})}var r=Ar,u=Cr,i=r,o=u,a=nl;return n?t(n):(t.links=function(n){return iu(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return iu(e(n)).cells.forEach(function(e,r){for(var u,i,o=e.site,a=e.edges.sort(Ir),c=-1,l=a.length,s=a[l-1].edge,f=s.l===o?s.r:s.l;++c<l;)u=s,i=f,s=a[c].edge,f=s.l===o?s.r:s.l,r<i.i&&r<f.i&&au(o,i,f)<0&&t.push([n[r],n[i.i],n[f.i]])}),t},t.x=function(n){return arguments.length?(i=kt(r=n),t):r},t.y=function(n){return arguments.length?(o=kt(u=n),t):u},t.clipExtent=function(n){return arguments.length?(a=null==n?nl:n,t):a===nl?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===nl?null:a&&a[1]},t)};var nl=[[-1e6,-1e6],[1e6,1e6]];Bo.geom.delaunay=function(n){return Bo.geom.voronoi().triangles(n)},Bo.geom.quadtree=function(n,t,e,r,u){function i(n){function i(n,t,e,r,u,i,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var c=n.x,s=n.y;if(null!=c)if(ca(c-e)+ca(s-r)<.01)l(n,t,e,r,u,i,o,a);else{var f=n.point;n.x=n.y=n.point=null,l(n,f,c,s,u,i,o,a),l(n,t,e,r,u,i,o,a)}else n.x=e,n.y=r,n.point=t}else l(n,t,e,r,u,i,o,a)}function l(n,t,e,r,u,o,a,c){var l=.5*(u+a),s=.5*(o+c),f=e>=l,h=r>=s,g=(h<<1)+f;n.leaf=!1,n=n.nodes[g]||(n.nodes[g]=su()),f?u=l:a=l,h?o=s:c=s,i(n,t,e,r,u,o,a,c)}var s,f,h,g,p,v,d,m,y,x=kt(a),M=kt(c);if(null!=t)v=t,d=e,m=r,y=u;else if(m=y=-(v=d=1/0),f=[],h=[],p=n.length,o)for(g=0;p>g;++g)s=n[g],s.x<v&&(v=s.x),s.y<d&&(d=s.y),s.x>m&&(m=s.x),s.y>y&&(y=s.y),f.push(s.x),h.push(s.y);else for(g=0;p>g;++g){var _=+x(s=n[g],g),b=+M(s,g);v>_&&(v=_),d>b&&(d=b),_>m&&(m=_),b>y&&(y=b),f.push(_),h.push(b)}var w=m-v,S=y-d;w>S?y=d+w:m=v+S;var k=su();if(k.add=function(n){i(k,n,+x(n,++g),+M(n,g),v,d,m,y)},k.visit=function(n){fu(n,k,v,d,m,y)},g=-1,null==t){for(;++g<p;)i(k,n[g],f[g],h[g],v,d,m,y);--g}else n.forEach(k.add);return f=h=n=s=null,k}var o,a=Ar,c=Cr;return(o=arguments.length)?(a=cu,c=lu,3===o&&(u=e,r=t,e=t=0),i(n)):(i.x=function(n){return arguments.length?(a=n,i):a},i.y=function(n){return arguments.length?(c=n,i):c},i.extent=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],u=+n[1][1]),i):null==t?null:[[t,e],[r,u]]},i.size=function(n){return arguments.length?(null==n?t=e=r=u=null:(t=e=0,r=+n[0],u=+n[1]),i):null==t?null:[r-t,u-e]},i)},Bo.interpolateRgb=hu,Bo.interpolateObject=gu,Bo.interpolateNumber=pu,Bo.interpolateString=vu;var tl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,el=new RegExp(tl.source,"g");Bo.interpolate=du,Bo.interpolators=[function(n,t){var e=typeof t;return("string"===e?$a.has(t)||/^(#|rgb\(|hsl\()/.test(t)?hu:vu:t instanceof it?hu:Array.isArray(t)?mu:"object"===e&&isNaN(t)?gu:pu)(n,t)}],Bo.interpolateArray=mu;var rl=function(){return Et},ul=Bo.map({linear:rl,poly:Su,quad:function(){return _u},cubic:function(){return bu},sin:function(){return ku},exp:function(){return Eu},circle:function(){return Au},elastic:Cu,back:Nu,bounce:function(){return zu}}),il=Bo.map({"in":Et,out:xu,"in-out":Mu,"out-in":function(n){return Mu(xu(n))}});Bo.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=ul.get(e)||rl,r=il.get(r)||Et,yu(r(e.apply(null,Wo.call(arguments,1))))},Bo.interpolateHcl=Lu,Bo.interpolateHsl=Tu,Bo.interpolateLab=qu,Bo.interpolateRound=Ru,Bo.transform=function(n){var t=Go.createElementNS(Bo.ns.prefix.svg,"g");return(Bo.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new Du(e?e.matrix:ol)})(n)},Du.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var ol={a:1,b:0,c:0,d:1,e:0,f:0};Bo.interpolateTransform=Fu,Bo.layout={},Bo.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Yu(n[e]));return t}},Bo.layout.chord=function(){function n(){var n,l,f,h,g,p={},v=[],d=Bo.range(i),m=[];for(e=[],r=[],n=0,h=-1;++h<i;){for(l=0,g=-1;++g<i;)l+=u[h][g];v.push(l),m.push(Bo.range(i)),n+=l}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&m.forEach(function(n,t){n.sort(function(n,e){return a(u[t][n],u[t][e])})}),n=(Aa-s*i)/n,l=0,h=-1;++h<i;){for(f=l,g=-1;++g<i;){var y=d[h],x=m[y][g],M=u[y][x],_=l,b=l+=M*n;p[y+"-"+x]={index:y,subindex:x,startAngle:_,endAngle:b,value:M}}r[y]={index:y,startAngle:f,endAngle:l,value:(l-f)/n},l+=s}for(h=-1;++h<i;)for(g=h-1;++g<i;){var w=p[h+"-"+g],S=p[g+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}c&&t()}function t(){e.sort(function(n,t){return c((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,u,i,o,a,c,l={},s=0;return l.matrix=function(n){return arguments.length?(i=(u=n)&&u.length,e=r=null,l):u},l.padding=function(n){return arguments.length?(s=n,e=r=null,l):s},l.sortGroups=function(n){return arguments.length?(o=n,e=r=null,l):o},l.sortSubgroups=function(n){return arguments.length?(a=n,e=null,l):a},l.sortChords=function(n){return arguments.length?(c=n,e&&t(),l):c},l.chords=function(){return e||n(),e},l.groups=function(){return r||n(),r},l},Bo.layout.force=function(){function n(n){return function(t,e,r,u){if(t.point!==n){var i=t.cx-n.x,o=t.cy-n.y,a=u-e,c=i*i+o*o;if(c>a*a/d){if(p>c){var l=t.charge/c;n.px-=i*l,n.py-=o*l}return!0}if(t.point&&c&&p>c){var l=t.pointCharge/c;n.px-=i*l,n.py-=o*l}}return!t.charge}}function t(n){n.px=Bo.event.x,n.py=Bo.event.y,a.resume()}var e,r,u,i,o,a={},c=Bo.dispatch("start","tick","end"),l=[1,1],s=.9,f=al,h=cl,g=-30,p=ll,v=.1,d=.64,m=[],y=[];return a.tick=function(){if((r*=.99)<.005)return c.end({type:"end",alpha:r=0}),!0;var t,e,a,f,h,p,d,x,M,_=m.length,b=y.length;for(e=0;b>e;++e)a=y[e],f=a.source,h=a.target,x=h.x-f.x,M=h.y-f.y,(p=x*x+M*M)&&(p=r*i[e]*((p=Math.sqrt(p))-u[e])/p,x*=p,M*=p,h.x-=x*(d=f.weight/(h.weight+f.weight)),h.y-=M*d,f.x+=x*(d=1-d),f.y+=M*d);if((d=r*v)&&(x=l[0]/2,M=l[1]/2,e=-1,d))for(;++e<_;)a=m[e],a.x+=(x-a.x)*d,a.y+=(M-a.y)*d;if(g)for(Wu(t=Bo.geom.quadtree(m),r,o),e=-1;++e<_;)(a=m[e]).fixed||t.visit(n(a));for(e=-1;++e<_;)a=m[e],a.fixed?(a.x=a.px,a.y=a.py):(a.x-=(a.px-(a.px=a.x))*s,a.y-=(a.py-(a.py=a.y))*s);c.tick({type:"tick",alpha:r})},a.nodes=function(n){return arguments.length?(m=n,a):m},a.links=function(n){return arguments.length?(y=n,a):y},a.size=function(n){return arguments.length?(l=n,a):l},a.linkDistance=function(n){return arguments.length?(f="function"==typeof n?n:+n,a):f},a.distance=a.linkDistance,a.linkStrength=function(n){return arguments.length?(h="function"==typeof n?n:+n,a):h},a.friction=function(n){return arguments.length?(s=+n,a):s},a.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,a):g},a.chargeDistance=function(n){return arguments.length?(p=n*n,a):Math.sqrt(p)},a.gravity=function(n){return arguments.length?(v=+n,a):v},a.theta=function(n){return arguments.length?(d=n*n,a):Math.sqrt(d)},a.alpha=function(n){return arguments.length?(n=+n,r?r=n>0?n:0:n>0&&(c.start({type:"start",alpha:r=n}),Bo.timer(a.tick)),a):r},a.start=function(){function n(n,r){if(!e){for(e=new Array(c),a=0;c>a;++a)e[a]=[];for(a=0;l>a;++a){var u=y[a];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var i,o=e[t],a=-1,l=o.length;++a<l;)if(!isNaN(i=o[a][n]))return i;return Math.random()*r}var t,e,r,c=m.length,s=y.length,p=l[0],v=l[1];for(t=0;c>t;++t)(r=m[t]).index=t,r.weight=0;for(t=0;s>t;++t)r=y[t],"number"==typeof r.source&&(r.source=m[r.source]),"number"==typeof r.target&&(r.target=m[r.target]),++r.source.weight,++r.target.weight;for(t=0;c>t;++t)r=m[t],isNaN(r.x)&&(r.x=n("x",p)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof f)for(t=0;s>t;++t)u[t]=+f.call(this,y[t],t);else for(t=0;s>t;++t)u[t]=f;if(i=[],"function"==typeof h)for(t=0;s>t;++t)i[t]=+h.call(this,y[t],t);else for(t=0;s>t;++t)i[t]=h;if(o=[],"function"==typeof g)for(t=0;c>t;++t)o[t]=+g.call(this,m[t],t);else for(t=0;c>t;++t)o[t]=g;return a.resume()},a.resume=function(){return a.alpha(.1)},a.stop=function(){return a.alpha(0)},a.drag=function(){return e||(e=Bo.behavior.drag().origin(Et).on("dragstart.force",Vu).on("drag.force",t).on("dragend.force",Xu)),arguments.length?(this.on("mouseover.force",$u).on("mouseout.force",Bu).call(e),void 0):e},Bo.rebind(a,c,"on")};var al=20,cl=1,ll=1/0;Bo.layout.hierarchy=function(){function n(u){var i,o=[u],a=[];for(u.depth=0;null!=(i=o.pop());)if(a.push(i),(l=e.call(n,i,i.depth))&&(c=l.length)){for(var c,l,s;--c>=0;)o.push(s=l[c]),s.parent=i,s.depth=i.depth+1;r&&(i.value=0),i.children=l}else r&&(i.value=+r.call(n,i,i.depth)||0),delete i.children;return Ku(u,function(n){var e,u;t&&(e=n.children)&&e.sort(t),r&&(u=n.parent)&&(u.value+=n.value)}),a}var t=ti,e=Qu,r=ni;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(Gu(t,function(n){n.children&&(n.value=0)}),Ku(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},Bo.layout.partition=function(){function n(t,e,r,u){var i=t.children;if(t.x=e,t.y=t.depth*u,t.dx=r,t.dy=u,i&&(o=i.length)){var o,a,c,l=-1;for(r=t.value?r/t.value:0;++l<o;)n(a=i[l],e,c=a.value*r,u),e+=c}}function t(n){var e=n.children,r=0;if(e&&(u=e.length))for(var u,i=-1;++i<u;)r=Math.max(r,t(e[i]));return 1+r}function e(e,i){var o=r.call(this,e,i);return n(o[0],0,u[0],u[1]/t(o[0])),o}var r=Bo.layout.hierarchy(),u=[1,1];return e.size=function(n){return arguments.length?(u=n,e):u},Ju(e,r)},Bo.layout.pie=function(){function n(i){var o=i.map(function(e,r){return+t.call(n,e,r)}),a=+("function"==typeof r?r.apply(this,arguments):r),c=(("function"==typeof u?u.apply(this,arguments):u)-a)/Bo.sum(o),l=Bo.range(i.length);null!=e&&l.sort(e===sl?function(n,t){return o[t]-o[n]}:function(n,t){return e(i[n],i[t])});var s=[];return l.forEach(function(n){var t;s[n]={data:i[n],value:t=o[n],startAngle:a,endAngle:a+=t*c}}),s}var t=Number,e=sl,r=0,u=Aa;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(u=t,n):u},n};var sl={};Bo.layout.stack=function(){function n(a,c){if(!(h=a.length))return a;var l=a.map(function(e,r){return t.call(n,e,r)}),s=l.map(function(t){return t.map(function(t,e){return[i.call(n,t,e),o.call(n,t,e)]})}),f=e.call(n,s,c);l=Bo.permute(l,f),s=Bo.permute(s,f);var h,g,p,v,d=r.call(n,s,c),m=l[0].length;for(p=0;m>p;++p)for(u.call(n,l[0][p],v=d[p],s[0][p][1]),g=1;h>g;++g)u.call(n,l[g][p],v+=s[g-1][p][1],s[g][p][1]);return a}var t=Et,e=oi,r=ai,u=ii,i=ri,o=ui;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:fl.get(t)||oi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:hl.get(t)||ai,n):r},n.x=function(t){return arguments.length?(i=t,n):i},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(u=t,n):u},n};var fl=Bo.map({"inside-out":function(n){var t,e,r=n.length,u=n.map(ci),i=n.map(li),o=Bo.range(r).sort(function(n,t){return u[n]-u[t]}),a=0,c=0,l=[],s=[];for(t=0;r>t;++t)e=o[t],c>a?(a+=i[e],l.push(e)):(c+=i[e],s.push(e));return s.reverse().concat(l)},reverse:function(n){return Bo.range(n.length).reverse()},"default":oi}),hl=Bo.map({silhouette:function(n){var t,e,r,u=n.length,i=n[0].length,o=[],a=0,c=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;i>e;++e)c[e]=(a-o[e])/2;return c},wiggle:function(n){var t,e,r,u,i,o,a,c,l,s=n.length,f=n[0],h=f.length,g=[];for(g[0]=c=l=0,e=1;h>e;++e){for(t=0,u=0;s>t;++t)u+=n[t][e][1];for(t=0,i=0,a=f[e][0]-f[e-1][0];s>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;i+=o*n[t][e][1]}g[e]=c-=u?i/u*a:0,l>c&&(l=c)}for(e=0;h>e;++e)g[e]-=l;return g},expand:function(n){var t,e,r,u=n.length,i=n[0].length,o=1/u,a=[];for(e=0;i>e;++e){for(t=0,r=0;u>t;t++)r+=n[t][e][1];if(r)for(t=0;u>t;t++)n[t][e][1]/=r;else for(t=0;u>t;t++)n[t][e][1]=o}for(e=0;i>e;++e)a[e]=0;return a},zero:ai});Bo.layout.histogram=function(){function n(n,i){for(var o,a,c=[],l=n.map(e,this),s=r.call(this,l,i),f=u.call(this,s,l,i),i=-1,h=l.length,g=f.length-1,p=t?1:1/h;++i<g;)o=c[i]=[],o.dx=f[i+1]-(o.x=f[i]),o.y=0;if(g>0)for(i=-1;++i<h;)a=l[i],a>=s[0]&&a<=s[1]&&(o=c[Bo.bisect(f,a,1,g)-1],o.y+=p,o.push(n[i]));return c}var t=!0,e=Number,r=gi,u=fi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=kt(t),n):r},n.bins=function(t){return arguments.length?(u="number"==typeof t?function(n){return hi(n,t)}:kt(t),n):u},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},Bo.layout.pack=function(){function n(n,i){var o=e.call(this,n,i),a=o[0],c=u[0],l=u[1],s=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,Ku(a,function(n){n.r=+s(n.value)}),Ku(a,yi),r){var f=r*(t?1:Math.max(2*a.r/c,2*a.r/l))/2;Ku(a,function(n){n.r+=f}),Ku(a,yi),Ku(a,function(n){n.r-=f})}return _i(a,c/2,l/2,t?1:1/Math.max(2*a.r/c,2*a.r/l)),o}var t,e=Bo.layout.hierarchy().sort(pi),r=0,u=[1,1];return n.size=function(t){return arguments.length?(u=t,n):u},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},Ju(n,e)},Bo.layout.tree=function(){function n(n,u){var s=o.call(this,n,u),f=s[0],h=t(f);if(Ku(h,e),h.parent.m=-h.z,Gu(h,r),l)Gu(f,i);else{var g=f,p=f,v=f;Gu(f,function(n){n.x<g.x&&(g=n),n.x>p.x&&(p=n),n.depth>v.depth&&(v=n)});var d=a(g,p)/2-g.x,m=c[0]/(p.x+a(p,g)/2+d),y=c[1]/(v.depth||1);Gu(f,function(n){n.x=(n.x+d)*m,n.y=n.depth*y})}return s}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var u,i=t.children,o=0,a=i.length;a>o;++o)r.push((i[o]=u={_:i[o],parent:t,children:(u=i[o].children)&&u.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=u);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Ai(n);var i=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-i):n.z=i}else r&&(n.z=r.z+a(n._,r._));n.parent.A=u(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function u(n,t,e){if(t){for(var r,u=n,i=n,o=t,c=u.parent.children[0],l=u.m,s=i.m,f=o.m,h=c.m;o=ki(o),u=Si(u),o&&u;)c=Si(c),i=ki(i),i.a=n,r=o.z+f-u.z-l+a(o._,u._),r>0&&(Ei(Ci(o,n,e),n,r),l+=r,s+=r),f+=o.m,l+=u.m,h+=c.m,s+=i.m;o&&!ki(i)&&(i.t=o,i.m+=f-s),u&&!Si(c)&&(c.t=u,c.m+=l-h,e=n)}return e}function i(n){n.x*=c[0],n.y=n.depth*c[1]}var o=Bo.layout.hierarchy().sort(null).value(null),a=wi,c=[1,1],l=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(l=null==(c=t)?i:null,n):l?null:c},n.nodeSize=function(t){return arguments.length?(l=null==(c=t)?null:i,n):l?c:null},Ju(n,o)},Bo.layout.cluster=function(){function n(n,i){var o,a=t.call(this,n,i),c=a[0],l=0;Ku(c,function(n){var t=n.children;t&&t.length?(n.x=zi(t),n.y=Ni(t)):(n.x=o?l+=e(n,o):0,n.y=0,o=n)});var s=Li(c),f=Ti(c),h=s.x-e(s,f)/2,g=f.x+e(f,s)/2;return Ku(c,u?function(n){n.x=(n.x-c.x)*r[0],n.y=(c.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(g-h)*r[0],n.y=(1-(c.y?n.y/c.y:1))*r[1]}),a}var t=Bo.layout.hierarchy().sort(null).value(null),e=wi,r=[1,1],u=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(u=null==(r=t),n):u?null:r},n.nodeSize=function(t){return arguments.length?(u=null!=(r=t),n):u?r:null},Ju(n,t)},Bo.layout.treemap=function(){function n(n,t){for(var e,r,u=-1,i=n.length;++u<i;)r=(e=n[u]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var i=e.children;if(i&&i.length){var o,a,c,l=f(e),s=[],h=i.slice(),p=1/0,v="slice"===g?l.dx:"dice"===g?l.dy:"slice-dice"===g?1&e.depth?l.dy:l.dx:Math.min(l.dx,l.dy);for(n(h,l.dx*l.dy/e.value),s.area=0;(c=h.length)>0;)s.push(o=h[c-1]),s.area+=o.area,"squarify"!==g||(a=r(s,v))<=p?(h.pop(),p=a):(s.area-=s.pop().area,u(s,v,l,!1),v=Math.min(l.dx,l.dy),s.length=s.area=0,p=1/0);s.length&&(u(s,v,l,!0),s.length=s.area=0),i.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var i,o=f(t),a=r.slice(),c=[];for(n(a,o.dx*o.dy/t.value),c.area=0;i=a.pop();)c.push(i),c.area+=i.area,null!=i.z&&(u(c,i.z?o.dx:o.dy,o,!a.length),c.length=c.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,u=0,i=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(i>e&&(i=e),e>u&&(u=e));return r*=r,t*=t,r?Math.max(t*u*p/r,r/(t*i*p)):1/0}function u(n,t,e,r){var u,i=-1,o=n.length,a=e.x,l=e.y,s=t?c(n.area/t):0;if(t==e.dx){for((r||s>e.dy)&&(s=e.dy);++i<o;)u=n[i],u.x=a,u.y=l,u.dy=s,a+=u.dx=Math.min(e.x+e.dx-a,s?c(u.area/s):0);u.z=!0,u.dx+=e.x+e.dx-a,e.y+=s,e.dy-=s}else{for((r||s>e.dx)&&(s=e.dx);++i<o;)u=n[i],u.x=a,u.y=l,u.dx=s,l+=u.dy=Math.min(e.y+e.dy-l,s?c(u.area/s):0);u.z=!1,u.dy+=e.y+e.dy-l,e.x+=s,e.dx-=s}}function i(r){var u=o||a(r),i=u[0];return i.x=0,i.y=0,i.dx=l[0],i.dy=l[1],o&&a.revalue(i),n([i],i.dx*i.dy/i.value),(o?e:t)(i),h&&(o=u),u}var o,a=Bo.layout.hierarchy(),c=Math.round,l=[1,1],s=null,f=qi,h=!1,g="squarify",p=.5*(1+Math.sqrt(5));return i.size=function(n){return arguments.length?(l=n,i):l},i.padding=function(n){function t(t){var e=n.call(i,t,t.depth);return null==e?qi(t):Ri(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Ri(t,n)}if(!arguments.length)return s;var r;return f=null==(s=n)?qi:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,i},i.round=function(n){return arguments.length?(c=n?Math.round:Number,i):c!=Number},i.sticky=function(n){return arguments.length?(h=n,o=null,i):h},i.ratio=function(n){return arguments.length?(p=n,i):p},i.mode=function(n){return arguments.length?(g=n+"",i):g},Ju(i,a)},Bo.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,u;do e=2*Math.random()-1,r=2*Math.random()-1,u=e*e+r*r;while(!u||u>1);return n+t*e*Math.sqrt(-2*Math.log(u)/u)}},logNormal:function(){var n=Bo.random.normal.apply(Bo,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=Bo.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},Bo.scale={};var gl={floor:Et,ceil:Et};Bo.scale.linear=function(){return Oi([0,1],[0,1],du,!1)};var pl={s:1,g:1,p:1,r:1,e:1};Bo.scale.log=function(){return Wi(Bo.scale.linear().domain([0,1]),10,!0,[1,10])};var vl=Bo.format(".0e"),dl={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};Bo.scale.pow=function(){return Ji(Bo.scale.linear(),1,[0,1])},Bo.scale.sqrt=function(){return Bo.scale.pow().exponent(.5)},Bo.scale.ordinal=function(){return Ki([],{t:"range",a:[[]]})},Bo.scale.category10=function(){return Bo.scale.ordinal().range(ml)},Bo.scale.category20=function(){return Bo.scale.ordinal().range(yl)},Bo.scale.category20b=function(){return Bo.scale.ordinal().range(xl)},Bo.scale.category20c=function(){return Bo.scale.ordinal().range(Ml)};var ml=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(yt),yl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(yt),xl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(yt),Ml=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(yt);Bo.scale.quantile=function(){return Qi([],[])
},Bo.scale.quantize=function(){return no(0,1,[0,1])},Bo.scale.threshold=function(){return to([.5],[0,1])},Bo.scale.identity=function(){return eo([0,1])},Bo.svg={},Bo.svg.arc=function(){function n(){var n=t.apply(this,arguments),i=e.apply(this,arguments),o=r.apply(this,arguments)+_l,a=u.apply(this,arguments)+_l,c=(o>a&&(c=o,o=a,a=c),a-o),l=Ea>c?"0":"1",s=Math.cos(o),f=Math.sin(o),h=Math.cos(a),g=Math.sin(a);return c>=bl?n?"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"M0,"+n+"A"+n+","+n+" 0 1,0 0,"+-n+"A"+n+","+n+" 0 1,0 0,"+n+"Z":"M0,"+i+"A"+i+","+i+" 0 1,1 0,"+-i+"A"+i+","+i+" 0 1,1 0,"+i+"Z":n?"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L"+n*h+","+n*g+"A"+n+","+n+" 0 "+l+",0 "+n*s+","+n*f+"Z":"M"+i*s+","+i*f+"A"+i+","+i+" 0 "+l+",1 "+i*h+","+i*g+"L0,0"+"Z"}var t=ro,e=uo,r=io,u=oo;return n.innerRadius=function(e){return arguments.length?(t=kt(e),n):t},n.outerRadius=function(t){return arguments.length?(e=kt(t),n):e},n.startAngle=function(t){return arguments.length?(r=kt(t),n):r},n.endAngle=function(t){return arguments.length?(u=kt(t),n):u},n.centroid=function(){var n=(t.apply(this,arguments)+e.apply(this,arguments))/2,i=(r.apply(this,arguments)+u.apply(this,arguments))/2+_l;return[Math.cos(i)*n,Math.sin(i)*n]},n};var _l=-Ca,bl=Aa-Na;Bo.svg.line=function(){return ao(Et)};var wl=Bo.map({linear:co,"linear-closed":lo,step:so,"step-before":fo,"step-after":ho,basis:xo,"basis-open":Mo,"basis-closed":_o,bundle:bo,cardinal:vo,"cardinal-open":go,"cardinal-closed":po,monotone:Co});wl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Sl=[0,2/3,1/3,0],kl=[0,1/3,2/3,0],El=[0,1/6,2/3,1/6];Bo.svg.line.radial=function(){var n=ao(No);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},fo.reverse=ho,ho.reverse=fo,Bo.svg.area=function(){return zo(Et)},Bo.svg.area.radial=function(){var n=zo(No);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},Bo.svg.chord=function(){function n(n,a){var c=t(this,i,n,a),l=t(this,o,n,a);return"M"+c.p0+r(c.r,c.p1,c.a1-c.a0)+(e(c,l)?u(c.r,c.p1,c.r,c.p0):u(c.r,c.p1,l.r,l.p0)+r(l.r,l.p1,l.a1-l.a0)+u(l.r,l.p1,c.r,c.p0))+"Z"}function t(n,t,e,r){var u=t.call(n,e,r),i=a.call(n,u,r),o=c.call(n,u,r)+_l,s=l.call(n,u,r)+_l;return{r:i,a0:o,a1:s,p0:[i*Math.cos(o),i*Math.sin(o)],p1:[i*Math.cos(s),i*Math.sin(s)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Ea)+",1 "+t}function u(n,t,e,r){return"Q 0,0 "+r}var i=mr,o=yr,a=Lo,c=io,l=oo;return n.radius=function(t){return arguments.length?(a=kt(t),n):a},n.source=function(t){return arguments.length?(i=kt(t),n):i},n.target=function(t){return arguments.length?(o=kt(t),n):o},n.startAngle=function(t){return arguments.length?(c=kt(t),n):c},n.endAngle=function(t){return arguments.length?(l=kt(t),n):l},n},Bo.svg.diagonal=function(){function n(n,u){var i=t.call(this,n,u),o=e.call(this,n,u),a=(i.y+o.y)/2,c=[i,{x:i.x,y:a},{x:o.x,y:a},o];return c=c.map(r),"M"+c[0]+"C"+c[1]+" "+c[2]+" "+c[3]}var t=mr,e=yr,r=To;return n.source=function(e){return arguments.length?(t=kt(e),n):t},n.target=function(t){return arguments.length?(e=kt(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},Bo.svg.diagonal.radial=function(){var n=Bo.svg.diagonal(),t=To,e=n.projection;return n.projection=function(n){return arguments.length?e(qo(t=n)):t},n},Bo.svg.symbol=function(){function n(n,r){return(Al.get(t.call(this,n,r))||Po)(e.call(this,n,r))}var t=Do,e=Ro;return n.type=function(e){return arguments.length?(t=kt(e),n):t},n.size=function(t){return arguments.length?(e=kt(t),n):e},n};var Al=Bo.map({circle:Po,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Ll)),e=t*Ll;return"M0,"+-t+"L"+e+",0"+" 0,"+t+" "+-e+",0"+"Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/zl),e=t*zl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/zl),e=t*zl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});Bo.svg.symbolTypes=Al.keys();var Cl,Nl,zl=Math.sqrt(3),Ll=Math.tan(30*La),Tl=[],ql=0;Tl.call=ya.call,Tl.empty=ya.empty,Tl.node=ya.node,Tl.size=ya.size,Bo.transition=function(n){return arguments.length?Cl?n.transition():n:_a.transition()},Bo.transition.prototype=Tl,Tl.select=function(n){var t,e,r,u=this.id,i=[];n=k(n);for(var o=-1,a=this.length;++o<a;){i.push(t=[]);for(var c=this[o],l=-1,s=c.length;++l<s;)(r=c[l])&&(e=n.call(r,r.__data__,l,o))?("__data__"in r&&(e.__data__=r.__data__),Ho(e,l,u,r.__transition__[u]),t.push(e)):t.push(null)}return Uo(i,u)},Tl.selectAll=function(n){var t,e,r,u,i,o=this.id,a=[];n=E(n);for(var c=-1,l=this.length;++c<l;)for(var s=this[c],f=-1,h=s.length;++f<h;)if(r=s[f]){i=r.__transition__[o],e=n.call(r,r.__data__,f,c),a.push(t=[]);for(var g=-1,p=e.length;++g<p;)(u=e[g])&&Ho(u,g,o,i),t.push(u)}return Uo(a,o)},Tl.filter=function(n){var t,e,r,u=[];"function"!=typeof n&&(n=U(n));for(var i=0,o=this.length;o>i;i++){u.push(t=[]);for(var e=this[i],a=0,c=e.length;c>a;a++)(r=e[a])&&n.call(r,r.__data__,a,i)&&t.push(r)}return Uo(u,this.id)},Tl.tween=function(n,t){var e=this.id;return arguments.length<2?this.node().__transition__[e].tween.get(n):F(this,null==t?function(t){t.__transition__[e].tween.remove(n)}:function(r){r.__transition__[e].tween.set(n,t)})},Tl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function u(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function i(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?Fu:du,a=Bo.ns.qualify(n);return jo(this,"attr."+n,t,a.local?i:u)},Tl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(u));return r&&function(n){this.setAttribute(u,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(u.space,u.local));return r&&function(n){this.setAttributeNS(u.space,u.local,r(n))}}var u=Bo.ns.qualify(n);return this.tween("attr."+n,u.local?r:e)},Tl.style=function(n,t,e){function r(){this.style.removeProperty(n)}function u(t){return null==t?r:(t+="",function(){var r,u=Qo.getComputedStyle(this,null).getPropertyValue(n);return u!==t&&(r=du(u,t),function(t){this.style.setProperty(n,r(t),e)})})}var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(t="");for(e in n)this.style(e,n[e],t);return this}e=""}return jo(this,"style."+n,t,u)},Tl.styleTween=function(n,t,e){function r(r,u){var i=t.call(this,r,u,Qo.getComputedStyle(this,null).getPropertyValue(n));return i&&function(t){this.style.setProperty(n,i(t),e)}}return arguments.length<3&&(e=""),this.tween("style."+n,r)},Tl.text=function(n){return jo(this,"text",n,Fo)},Tl.remove=function(){return this.each("end.transition",function(){var n;this.__transition__.count<2&&(n=this.parentNode)&&n.removeChild(this)})},Tl.ease=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].ease:("function"!=typeof n&&(n=Bo.ease.apply(Bo,arguments)),F(this,function(e){e.__transition__[t].ease=n}))},Tl.delay=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].delay:F(this,"function"==typeof n?function(e,r,u){e.__transition__[t].delay=+n.call(e,e.__data__,r,u)}:(n=+n,function(e){e.__transition__[t].delay=n}))},Tl.duration=function(n){var t=this.id;return arguments.length<1?this.node().__transition__[t].duration:F(this,"function"==typeof n?function(e,r,u){e.__transition__[t].duration=Math.max(1,n.call(e,e.__data__,r,u))}:(n=Math.max(1,n),function(e){e.__transition__[t].duration=n}))},Tl.each=function(n,t){var e=this.id;if(arguments.length<2){var r=Nl,u=Cl;Cl=e,F(this,function(t,r,u){Nl=t.__transition__[e],n.call(t,t.__data__,r,u)}),Nl=r,Cl=u}else F(this,function(r){var u=r.__transition__[e];(u.event||(u.event=Bo.dispatch("start","end"))).on(n,t)});return this},Tl.transition=function(){for(var n,t,e,r,u=this.id,i=++ql,o=[],a=0,c=this.length;c>a;a++){o.push(n=[]);for(var t=this[a],l=0,s=t.length;s>l;l++)(e=t[l])&&(r=Object.create(e.__transition__[u]),r.delay+=r.duration,Ho(e,l,i,r)),n.push(e)}return Uo(o,i)},Bo.svg.axis=function(){function n(n){n.each(function(){var n,l=Bo.select(this),s=this.__chart__||e,f=this.__chart__=e.copy(),h=null==c?f.ticks?f.ticks.apply(f,a):f.domain():c,g=null==t?f.tickFormat?f.tickFormat.apply(f,a):Et:t,p=l.selectAll(".tick").data(h,f),v=p.enter().insert("g",".domain").attr("class","tick").style("opacity",Na),d=Bo.transition(p.exit()).style("opacity",Na).remove(),m=Bo.transition(p.order()).style("opacity",1),y=Math.max(u,0)+o,x=Pi(f),M=l.selectAll(".domain").data([0]),_=(M.enter().append("path").attr("class","domain"),Bo.transition(M));v.append("line"),v.append("text");var b,w,S,k,E=v.select("line"),A=m.select("line"),C=p.select("text").text(g),N=v.select("text"),z=m.select("text"),L="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=Oo,b="x",S="y",w="x2",k="y2",C.attr("dy",0>L?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+L*i+"V0H"+x[1]+"V"+L*i)):(n=Yo,b="y",S="x",w="y2",k="x2",C.attr("dy",".32em").style("text-anchor",0>L?"end":"start"),_.attr("d","M"+L*i+","+x[0]+"H0V"+x[1]+"H"+L*i)),E.attr(k,L*u),N.attr(S,L*y),A.attr(w,0).attr(k,L*u),z.attr(b,0).attr(S,L*y),f.rangeBand){var T=f,q=T.rangeBand()/2;s=f=function(n){return T(n)+q}}else s.rangeBand?s=f:d.call(n,f,s);v.call(n,s,f),m.call(n,f,f)})}var t,e=Bo.scale.linear(),r=Rl,u=6,i=6,o=3,a=[10],c=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Dl?t+"":Rl,n):r},n.ticks=function(){return arguments.length?(a=arguments,n):a},n.tickValues=function(t){return arguments.length?(c=t,n):c},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(u=+t,i=+arguments[e-1],n):u},n.innerTickSize=function(t){return arguments.length?(u=+t,n):u},n.outerTickSize=function(t){return arguments.length?(i=+t,n):i},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Rl="bottom",Dl={top:1,right:1,bottom:1,left:1};Bo.svg.brush=function(){function n(i){i.each(function(){var i=Bo.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=i.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),i.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=i.selectAll(".resize").data(p,Et);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return Pl[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var s,f=Bo.transition(i),h=Bo.transition(o);c&&(s=Pi(c),h.attr("x",s[0]).attr("width",s[1]-s[0]),e(f)),l&&(s=Pi(l),h.attr("y",s[0]).attr("height",s[1]-s[0]),r(f)),t(f)})}function t(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+f[+/^s/.test(n)]+")"})}function e(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function r(n){n.select(".extent").attr("y",f[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",f[1]-f[0])}function u(){function u(){32==Bo.event.keyCode&&(C||(y=null,z[0]-=s[1],z[1]-=f[1],C=2),_())}function p(){32==Bo.event.keyCode&&2==C&&(z[0]+=s[1],z[1]+=f[1],C=0,_())}function v(){var n=Bo.mouse(M),u=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(Bo.event.altKey?(y||(y=[(s[0]+s[1])/2,(f[0]+f[1])/2]),z[0]=s[+(n[0]<y[0])],z[1]=f[+(n[1]<y[1])]):y=null),E&&d(n,c,0)&&(e(S),u=!0),A&&d(n,l,1)&&(r(S),u=!0),u&&(t(S),w({type:"brush",mode:C?"move":"resize"}))}function d(n,t,e){var r,u,a=Pi(t),c=a[0],l=a[1],p=z[e],v=e?f:s,d=v[1]-v[0];return C&&(c-=p,l-=d+p),r=(e?g:h)?Math.max(c,Math.min(l,n[e])):n[e],C?u=(r+=p)+d:(y&&(p=Math.max(c,Math.min(l,2*y[e]-r))),r>p?(u=r,r=p):u=p),v[0]!=r||v[1]!=u?(e?o=null:i=null,v[0]=r,v[1]=u,!0):void 0}function m(){v(),S.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),Bo.select("body").style("cursor",null),L.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),N(),w({type:"brushend"})}var y,x,M=this,b=Bo.select(Bo.event.target),w=a.of(M,arguments),S=Bo.select(M),k=b.datum(),E=!/^(n|s)$/.test(k)&&c,A=!/^(e|w)$/.test(k)&&l,C=b.classed("extent"),N=X(),z=Bo.mouse(M),L=Bo.select(Qo).on("keydown.brush",u).on("keyup.brush",p);if(Bo.event.changedTouches?L.on("touchmove.brush",v).on("touchend.brush",m):L.on("mousemove.brush",v).on("mouseup.brush",m),S.interrupt().selectAll("*").interrupt(),C)z[0]=s[0]-z[0],z[1]=f[0]-z[1];else if(k){var T=+/w$/.test(k),q=+/^n/.test(k);x=[s[1-T]-z[0],f[1-q]-z[1]],z[0]=s[T],z[1]=f[q]}else Bo.event.altKey&&(y=z.slice());S.style("pointer-events","none").selectAll(".resize").style("display",null),Bo.select("body").style("cursor",b.style("cursor")),w({type:"brushstart"}),v()}var i,o,a=w(n,"brushstart","brush","brushend"),c=null,l=null,s=[0,0],f=[0,0],h=!0,g=!0,p=Ul[0];return n.event=function(n){n.each(function(){var n=a.of(this,arguments),t={x:s,y:f,i:i,j:o},e=this.__chart__||t;this.__chart__=t,Cl?Bo.select(this).transition().each("start.brush",function(){i=e.i,o=e.j,s=e.x,f=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=mu(s,t.x),r=mu(f,t.y);return i=o=null,function(u){s=t.x=e(u),f=t.y=r(u),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){i=t.i,o=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,p=Ul[!c<<1|!l],n):c},n.y=function(t){return arguments.length?(l=t,p=Ul[!c<<1|!l],n):l},n.clamp=function(t){return arguments.length?(c&&l?(h=!!t[0],g=!!t[1]):c?h=!!t:l&&(g=!!t),n):c&&l?[h,g]:c?h:l?g:null},n.extent=function(t){var e,r,u,a,h;return arguments.length?(c&&(e=t[0],r=t[1],l&&(e=e[0],r=r[0]),i=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(h=e,e=r,r=h),(e!=s[0]||r!=s[1])&&(s=[e,r])),l&&(u=t[0],a=t[1],c&&(u=u[1],a=a[1]),o=[u,a],l.invert&&(u=l(u),a=l(a)),u>a&&(h=u,u=a,a=h),(u!=f[0]||a!=f[1])&&(f=[u,a])),n):(c&&(i?(e=i[0],r=i[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(h=e,e=r,r=h))),l&&(o?(u=o[0],a=o[1]):(u=f[0],a=f[1],l.invert&&(u=l.invert(u),a=l.invert(a)),u>a&&(h=u,u=a,a=h))),c&&l?[[e,u],[r,a]]:c?[e,r]:l&&[u,a])},n.clear=function(){return n.empty()||(s=[0,0],f=[0,0],i=o=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!l&&f[0]==f[1]},Bo.rebind(n,a,"on")};var Pl={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Ul=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],jl=rc.format=lc.timeFormat,Fl=jl.utc,Hl=Fl("%Y-%m-%dT%H:%M:%S.%LZ");jl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?Io:Hl,Io.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},Io.toString=Hl.toString,rc.second=Ft(function(n){return new uc(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),rc.seconds=rc.second.range,rc.seconds.utc=rc.second.utc.range,rc.minute=Ft(function(n){return new uc(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),rc.minutes=rc.minute.range,rc.minutes.utc=rc.minute.utc.range,rc.hour=Ft(function(n){var t=n.getTimezoneOffset()/60;return new uc(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),rc.hours=rc.hour.range,rc.hours.utc=rc.hour.utc.range,rc.month=Ft(function(n){return n=rc.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),rc.months=rc.month.range,rc.months.utc=rc.month.utc.range;var Ol=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Yl=[[rc.second,1],[rc.second,5],[rc.second,15],[rc.second,30],[rc.minute,1],[rc.minute,5],[rc.minute,15],[rc.minute,30],[rc.hour,1],[rc.hour,3],[rc.hour,6],[rc.hour,12],[rc.day,1],[rc.day,2],[rc.week,1],[rc.month,1],[rc.month,3],[rc.year,1]],Il=jl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",Ae]]),Zl={range:function(n,t,e){return Bo.range(Math.ceil(n/e)*e,+t,e).map(Vo)},floor:Et,ceil:Et};Yl.year=rc.year,rc.scale=function(){return Zo(Bo.scale.linear(),Yl,Il)};var Vl=Yl.map(function(n){return[n[0].utc,n[1]]}),Xl=Fl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",Ae]]);Vl.year=rc.year.utc,rc.scale.utc=function(){return Zo(Bo.scale.linear(),Vl,Xl)},Bo.text=At(function(n){return n.responseText}),Bo.json=function(n,t){return Ct(n,"application/json",Xo,t)},Bo.html=function(n,t){return Ct(n,"text/html",$o,t)},Bo.xml=At(function(n){return n.responseXML}),"function"==typeof define&&define.amd?define(Bo):"object"==typeof module&&module.exports&&(module.exports=Bo),this.d3=Bo}();
var tracks = [
{ trackName: "track1",
trackType: "stranded",
visible: true,
inner_radius: 80,
outer_radius: 120,
trackFeatures: "complex",
featureThreshold: 7000000,
mouseover_callback: 'islandPopup',
mouseout_callback: 'islandPopupClear',
linear_mouseclick: 'linearPopup',
showLabels: true,
showTooltip: true,
linear_mouseclick: 'linearClick',
items: [
{id: 1, start:5000, end:45000, name:"island0", strand: -1},
{id: 2, start:60000,end:100000, name:"island1", strand: 1},
{id: 3, start:800000,end:1000000, name:"island2withavery long name", strand: 1},
{id: 4, start:1200000,end:1500000, name:"island3", strand: 1},
{id: 5, start:1500000,end:1700000, name:"island4",strand: -1, extraclass: "cellwall"},
{id: 6, start:2000000,end:2100000, name:"is", strand: -1, extraclass: "innermembrane"},
{id: 8, start:142000,end:149000, name:"cheeky gene", strand: -1, extraclass: "outermembrane"},
{id: 9, start:3000000,end:3100000, name:"meow meow", strand: 1, extraclass: "innermembrane"},
{id: 10, start:120000,end:136000, name:"turtle power", strand: -1, extraclass: "extrashelluar"},
{id: 11, start:3200000,end:3300000, name:"out of ideas", strand: -1, extraclass: "lostinspace"},
{id: 20, start: 4700, end: 5000, name: "terminator2", strand: -1, feature: "terminator"},
{id: 21, start: 45000, end:50000, name:"promoter", strand: -1, feature:"arrow"},
{id: 22, start: 55000, end:60000, name:"promoter", strand: 1, feature:"arrow"},
{id: 30, start: 100000, end: 100001, name: "terminator3", strand: 1, feature: "terminator"},
{id: 23, start:136000 , end: 139000, name: "promoter", strand: -1, feature: "arrow"},
{id: 24, start:149000 , end: 156000, name: "promoter", strand: -1, feature: "arrow"},
{id: 31, start:149000 , end: 162000, name: "promoter", strand: -1, feature: "arrow"},
{id: 27, start:1000000,end:1200000, name:"intergenic", strand: 0},
{id: 29, start: 119500, end: 120000, name: "terminator", strand: -1, feature: "terminator"},
]
},
{ trackName: "track2",
visible: true,
trackType: "stranded",
inner_radius: 195,
outer_radius: 234,
centre_line_stroke: "grey",
showLabels: true,
items: [
{id: 1, start:483, end:2027, name:"PA0001", strand:1},
{id: 2, start:2056, end:3159, name:"PA0002", strand:1},
{id: 3, start:3169, end:4278, name:"PA0003", strand:1},
{id: 4, start:4275, end:6695, name:"PA0004", strand:1},
{id: 5, start:7018, end:7791, name:"PA0005", strand:-1},
{id: 6, start:7803, end:8339, name:"PA0006", strand:-1},
{id: 7, start:8671, end:10377, name:"PA0007", strand:1},
{id: 8, start:10434, end:12488, name:"PA0008", strand:-1},
{id: 9, start:12488, end:13435, name:"PA0009", strand:-1},
{id: 10, start:13540, end:14091, name:"PA0010", strand:1},
{id: 11, start:14235, end:15122, name:"PA0011", strand:1},
{id: 12, start:15207, end:15473, name:"PA0012", strand:1},
{id: 13, start:15620, end:16273, name:"PA0013", strand:1},
{id: 14, start:16335, end:16607, name:"PA0014", strand:-1},
{id: 15, start:16900, end:17217, name:"PA0015", strand:-1},
{id: 16, start:17366, end:18739, name:"PA0016", strand:-1},
{id: 17, start:18767, end:20071, name:"PA0017", strand:-1},
{id: 18, start:20068, end:21012, name:"PA0018", strand:-1},
{id: 19, start:21067, end:21573, name:"PA0019", strand:-1},
{id: 20, start:21712, end:22737, name:"PA0020", strand:1},
{id: 21, start:22872, end:23960, name:"PA0021", strand:1},
{id: 22, start:24001, end:24558, name:"PA0022", strand:1},
{id: 23, start:24568, end:25545, name:"PA0023", strand:-1},
{id: 24, start:25736, end:26653, name:"PA0024", strand:1},
{id: 25, start:26711, end:27535, name:"PA0025", strand:1},
{id: 26, start:27646, end:28632, name:"PA0026", strand:1},
{id: 27, start:28613, end:29899, name:"PA0027", strand:1},
{id: 28, start:29896, end:30498, name:"PA0028", strand:1},
{id: 29, start:30502, end:32055, name:"PA0029", strand:-1},
{id: 30, start:32060, end:32983, name:"PA0030", strand:-1},
{id: 31, start:33000, end:34511, name:"PA0031", strand:-1},
{id: 32, start:34624, end:35538, name:"PA0032", strand:1},
{id: 33, start:35905, end:36270, name:"PA0033", strand:-1},
{id: 34, start:36278, end:36901, name:"PA0034", strand:-1},
{id: 35, start:37087, end:37893, name:"PA0035", strand:-1},
{id: 36, start:37890, end:39098, name:"PA0036", strand:-1},
{id: 37, start:39202, end:40089, name:"PA0037", strand:1},
{id: 38, start:40190, end:40405, name:"PA0038", strand:1},
{id: 39, start:40589, end:40816, name:"PA0039", strand:1},
{id: 40, start:41113, end:42801, name:"PA0040", strand:1},
{id: 41, start:42914, end:53521, name:"PA0041", strand:1},
{id: 42, start:56546, end:56941, name:"PA0042", strand:1},
{id: 43, start:57212, end:58594, name:"PA0043", strand:-1},
{id: 44, start:58786, end:60159, name:"PA0044", strand:1},
{id: 45, start:60656, end:61342, name:"PA0045", strand:1},
{id: 46, start:61373, end:61726, name:"PA0046", strand:1},
{id: 47, start:61879, end:62388, name:"PA0047", strand:1},
{id: 48, start:62403, end:62786, name:"PA0048", strand:-1},
{id: 49, start:63068, end:64729, name:"PA0049", strand:-1},
{id: 50, start:65339, end:65479, name:"PA0050", strand:1},
{id: 51, start:66303, end:68135, name:"PA0051", strand:1},
{id: 52, start:68188, end:68616, name:"PA0052", strand:-1},
{id: 53, start:69272, end:69526, name:"PA0053", strand:1},
{id: 54, start:69543, end:70091, name:"PA0054", strand:-1},
{id: 55, start:70130, end:70636, name:"PA0055", strand:-1},
{id: 56, start:70702, end:71622, name:"PA0056", strand:-1},
{id: 57, start:71730, end:72617, name:"PA0057", strand:1},
{id: 58, start:72680, end:73384, name:"PA0058", strand:1},
{id: 59, start:73468, end:73923, name:"PA0059", strand:1},
{id: 60, start:74034, end:74267, name:"PA0060", strand:1},
{id: 61, start:74279, end:74716, name:"PA0061", strand:-1},
{id: 62, start:74773, end:75189, name:"PA0062", strand:-1},
{id: 63, start:75281, end:76408, name:"PA0063", strand:1},
{id: 64, start:76416, end:77399, name:"PA0064", strand:-1},
{id: 65, start:77432, end:78097, name:"PA0065", strand:-1},
{id: 66, start:78090, end:78632, name:"PA0066", strand:-1},
{id: 67, start:78710, end:80755, name:"PA0067", strand:1},
{id: 68, start:80752, end:81027, name:"PA0068", strand:1},
{id: 69, start:81116, end:82174, name:"PA0069", strand:1},
{id: 70, start:82404, end:83318, name:"PA0070", strand:-1},
{id: 71, start:83380, end:85092, name:"PA0071", strand:-1},
{id: 72, start:85085, end:86284, name:"PA0072", strand:-1},
{id: 73, start:86284, end:87003, name:"PA0073", strand:-1},
{id: 74, start:87000, end:90098, name:"PA0074", strand:-1},
{id: 75, start:90106, end:90834, name:"PA0075", strand:-1},
{id: 76, start:90844, end:91524, name:"PA0076", strand:-1},
{id: 77, start:91521, end:94826, name:"PA0077", strand:-1},
{id: 78, start:95048, end:96397, name:"PA0078", strand:-1},
{id: 79, start:96404, end:97738, name:"PA0079", strand:-1},
{id: 80, start:97754, end:98218, name:"PA0080", strand:-1},
{id: 81, start:98263, end:99756, name:"PA0081", strand:-1},
{id: 82, start:100124, end:101158, name:"PA0082", strand:1},
{id: 83, start:101247, end:101765, name:"PA0083", strand:1},
{id: 84, start:101778, end:103274, name:"PA0084", strand:1},
{id: 85, start:103350, end:103838, name:"PA0085", strand:1},
{id: 86, start:104006, end:104851, name:"PA0086", strand:1},
{id: 87, start:104853, end:105362, name:"PA0087", strand:1},
{id: 88, start:105359, end:107218, name:"PA0088", strand:1},
{id: 89, start:107182, end:108228, name:"PA0089", strand:1},
{id: 90, start:108221, end:110929, name:"PA0090", strand:1},
{id: 91, start:110976, end:112907, name:"PA0091", strand:1},
{id: 92, start:113022, end:113306, name:"PA0092", strand:-1},
{id: 93, start:113303, end:114595, name:"PA0093", strand:-1},
{id: 94, start:114611, end:115045, name:"PA0094", strand:-1},
{id: 95, start:115299, end:117524, name:"PA0095", strand:1},
{id: 96, start:117552, end:118001, name:"PA0096", strand:1},
{id: 97, start:117931, end:119130, name:"PA0097", strand:1},
{id: 98, start:119127, end:120164, name:"PA0098", strand:1},
{id: 99, start:120164, end:121324, name:"PA0099", strand:1},
{id: 100, start:121346, end:122266, name:"PA0100", strand:1},
{id: 101, start:122248, end:123495, name:"PA0101", strand:1},
{id: 102, start:123871, end:124599, name:"PA0102", strand:1},
{id: 103, start:124810, end:126381, name:"PA0103", strand:1},
{id: 104, start:126518, end:127114, name:"PA0104", strand:1},
{id: 105, start:127378, end:128502, name:"PA0105", strand:1},
{id: 106, start:128512, end:130104, name:"PA0106", strand:1},
{id: 107, start:130115, end:130669, name:"PA0107", strand:1},
{id: 108, start:130680, end:131567, name:"PA0108", strand:1},
{id: 109, start:131583, end:131792, name:"PA0109", strand:-1},
{id: 110, start:131808, end:132602, name:"PA0110", strand:1},
{id: 111, start:132577, end:133155, name:"PA0111", strand:1},
{id: 112, start:133220, end:134293, name:"PA0112", strand:1},
{id: 113, start:134319, end:135233, name:"PA0113", strand:1},
{id: 114, start:135259, end:135894, name:"PA0114", strand:1},
{id: 115, start:135934, end:136386, name:"PA0115", strand:-1},
{id: 116, start:136518, end:136991, name:"PA0116", strand:1},
{id: 117, start:137248, end:137976, name:"PA0117", strand:1},
{id: 118, start:138001, end:138588, name:"PA0118", strand:1},
{id: 119, start:138818, end:140167, name:"PA0119", strand:1},
{id: 120, start:140216, end:140902, name:"PA0120", strand:1},
{id: 121, start:141003, end:141737, name:"PA0121", strand:1},
{id: 122, start:141917, end:142327, name:"PA0122", strand:1},
{id: 123, start:142359, end:143267, name:"PA0123", strand:-1},
{id: 124, start:143567, end:143848, name:"PA0124", strand:-1},
{id: 125, start:143845, end:144072, name:"PA0125", strand:-1},
{id: 126, start:144248, end:144868, name:"PA0126", strand:-1},
{id: 127, start:144969, end:145469, name:"PA0127", strand:1},
{id: 128, start:145542, end:145883, name:"PA0128", strand:1},
{id: 129, start:145965, end:147392, name:"PA0129", strand:-1},
{id: 130, start:147561, end:149054, name:"PA0130", strand:-1},
{id: 131, start:149138, end:149425, name:"PA0131", strand:-1},
{id: 132, start:149425, end:150771, name:"PA0132", strand:-1},
{id: 133, start:150906, end:151823, name:"PA0133", strand:1},
{id: 134, start:151936, end:153306, name:"PA0134", strand:-1},
{id: 135, start:153696, end:153836, name:"PA0135", strand:1},
{id: 136, start:154417, end:155988, name:"PA0136", strand:1},
{id: 137, start:155988, end:157085, name:"PA0137", strand:1},
{id: 138, start:157108, end:158034, name:"PA0138", strand:1},
{id: 139, start:158199, end:158762, name:"PA0139", strand:1},
{id: 140, start:158907, end:160472, name:"PA0140", strand:1},
{id: 141, start:160552, end:161448, name:"PA0141", strand:-1},
{id: 142, start:161906, end:163255, name:"PA0142", strand:1},
{id: 143, start:163363, end:164415, name:"PA0143", strand:1},
{id: 144, start:164443, end:165069, name:"PA0144", strand:-1},
{id: 145, start:165219, end:165737, name:"PA0145", strand:-1},
{id: 146, start:165976, end:167073, name:"PA0146", strand:1},
{id: 147, start:167146, end:168108, name:"PA0147", strand:1},
{id: 148, start:168213, end:169163, name:"PA0148", strand:1},
{id: 149, start:169361, end:169906, name:"PA0149", strand:1},
{id: 150, start:169903, end:170898, name:"PA0150", strand:1},
{id: 151, start:171047, end:173434, name:"PA0151", strand:1},
{id: 152, start:173811, end:174638, name:"PA0152", strand:1},
{id: 153, start:174773, end:175492, name:"PA0153", strand:1},
{id: 154, start:175503, end:176108, name:"PA0154", strand:1},
{id: 155, start:176315, end:177154, name:"PA0155", strand:1},
{id: 156, start:177307, end:178458, name:"PA0156", strand:1},
{id: 157, start:178455, end:179525, name:"PA0157", strand:1},
{id: 158, start:179522, end:182569, name:"PA0158", strand:1},
{id: 159, start:182768, end:183706, name:"PA0159", strand:1},
{id: 160, start:183822, end:184007, name:"PA0160", strand:1},
{id: 161, start:184287, end:184439, name:"PA0161", strand:1},
{id: 162, start:184594, end:185928, name:"PA0162", strand:1},
{id: 163, start:185957, end:186754, name:"PA0163", strand:-1},
{id: 164, start:186832, end:188448, name:"PA0164", strand:1},
{id: 165, start:189120, end:189956, name:"PA0165", strand:1},
{id: 166, start:190198, end:191604, name:"PA0166", strand:1},
{id: 167, start:191697, end:192362, name:"PA0167", strand:1},
{id: 168, start:192368, end:192958, name:"PA0168", strand:1},
{id: 169, start:192965, end:193672, name:"PA0169", strand:-1},
{id: 170, start:193799, end:194179, name:"PA0170", strand:-1},
{id: 171, start:194206, end:194748, name:"PA0171", strand:-1},
{id: 172, start:194757, end:196748, name:"PA0172", strand:-1},
{id: 173, start:197011, end:198060, name:"PA0173", strand:-1},
{id: 174, start:198080, end:198682, name:"PA0174", strand:-1},
{id: 175, start:198688, end:199530, name:"PA0175", strand:-1},
{id: 176, start:199600, end:201639, name:"PA0176", strand:-1},
{id: 177, start:201675, end:202160, name:"PA0177", strand:-1},
{id: 178, start:202147, end:204066, name:"PA0178", strand:-1},
{id: 179, start:204094, end:204459, name:"PA0179", strand:-1},
{id: 180, start:204657, end:205829, name:"PA0180", strand:-1},
{id: 181, start:206022, end:206954, name:"PA0181", strand:-1},
{id: 182, start:207071, end:207823, name:"PA0182", strand:1},
{id: 183, start:207923, end:209533, name:"PA0183", strand:-1},
{id: 184, start:209621, end:210460, name:"PA0184", strand:-1},
{id: 185, start:210457, end:212073, name:"PA0185", strand:-1},
{id: 186, start:212340, end:213401, name:"PA0186", strand:1},
{id: 187, start:213819, end:214634, name:"PA0187", strand:1},
{id: 188, start:214631, end:215512, name:"PA0188", strand:1},
{id: 189, start:215550, end:216908, name:"PA0189", strand:-1},
{id: 190, start:217156, end:217881, name:"PA0190", strand:1},
{id: 191, start:217905, end:218822, name:"PA0191", strand:-1},
{id: 192, start:219172, end:221544, name:"PA0192", strand:1},
{id: 193, start:221585, end:222487, name:"PA0193", strand:1},
{id: 194, start:222555, end:223454, name:"PA0194", strand:1},
{id: 195, start:224101, end:225219, name:"PA0195", strand:1},
{id: 196, start:225295, end:225603, name:"PA0195.1", strand:1},
{id: 197, start:225603, end:227039, name:"PA0196", strand:1},
{id: 198, start:227382, end:228194, name:"PA0197", strand:1},
{id: 199, start:228223, end:228942, name:"PA0198", strand:1},
{id: 200, start:228944, end:229345, name:"PA0199", strand:1},
{id: 201, start:229526, end:229738, name:"PA0200", strand:-1},
{id: 202, start:229954, end:230535, name:"PA0201", strand:1},
{id: 203, start:230543, end:232000, name:"PA0202", strand:-1},
{id: 204, start:232066, end:233100, name:"PA0203", strand:-1},
{id: 205, start:233123, end:233932, name:"PA0204", strand:-1},
{id: 206, start:233929, end:234849, name:"PA0205", strand:-1},
{id: 207, start:234875, end:235987, name:"PA0206", strand:-1},
{id: 208, start:236218, end:237111, name:"PA0207", strand:1},
{id: 209, start:237232, end:238896, name:"PA0208", strand:1},
{id: 210, start:238896, end:239777, name:"PA0209", strand:1},
{id: 211, start:239779, end:240078, name:"PA0210", strand:1},
{id: 212, start:240071, end:240934, name:"PA0211", strand:1},
{id: 213, start:240931, end:241737, name:"PA0212", strand:1},
{id: 214, start:241753, end:242445, name:"PA0213", strand:1},
{id: 215, start:242442, end:243374, name:"PA0214", strand:1},
{id: 216, start:243431, end:243835, name:"PA0215", strand:1},
{id: 217, start:243841, end:244605, name:"PA0216", strand:1},
{id: 218, start:244690, end:245619, name:"PA0217", strand:-1},
{id: 219, start:245948, end:246868, name:"PA0218", strand:-1},
{id: 220, start:247219, end:248709, name:"PA0219", strand:1},
{id: 221, start:248767, end:250200, name:"PA0220", strand:1},
{id: 222, start:250231, end:251613, name:"PA0221", strand:1},
{id: 223, start:251777, end:252835, name:"PA0222", strand:1},
{id: 224, start:252913, end:253794, name:"PA0223", strand:-1},
{id: 225, start:253854, end:254636, name:"PA0224", strand:-1},
{id: 226, start:254791, end:255330, name:"PA0225", strand:1},
{id: 227, start:255481, end:256332, name:"PA0226", strand:1},
{id: 228, start:256329, end:257111, name:"PA0227", strand:1},
{id: 229, start:257108, end:258313, name:"PA0228", strand:1},
{id: 230, start:258463, end:259761, name:"PA0229", strand:1},
{id: 231, start:259784, end:261163, name:"PA0230", strand:1},
{id: 232, start:261179, end:261970, name:"PA0231", strand:1},
{id: 233, start:261981, end:262382, name:"PA0232", strand:1},
{id: 234, start:262557, end:263498, name:"PA0233", strand:1},
{id: 235, start:263689, end:264522, name:"PA0234", strand:1},
{id: 236, start:264964, end:266310, name:"PA0235", strand:-1},
{id: 237, start:266616, end:267395, name:"PA0236", strand:1},
{id: 238, start:267638, end:268681, name:"PA0237", strand:1},
{id: 239, start:268704, end:269519, name:"PA0238", strand:1},
{id: 240, start:269669, end:270547, name:"PA0239", strand:1},
{id: 241, start:270573, end:271838, name:"PA0240", strand:-1},
{id: 242, start:271904, end:273229, name:"PA0241", strand:-1},
{id: 243, start:273775, end:275679, name:"PA0242", strand:1},
{id: 244, start:275772, end:276440, name:"PA0243", strand:1},
{id: 245, start:276480, end:277334, name:"PA0244", strand:-1},
{id: 246, start:277331, end:277777, name:"PA0245", strand:-1},
{id: 247, start:277894, end:279399, name:"PA0246", strand:-1},
{id: 248, start:279574, end:280758, name:"PA0247", strand:-1},
{id: 249, start:280936, end:281802, name:"PA0248", strand:1},
{id: 250, start:281799, end:282245, name:"PA0249", strand:-1},
{id: 251, start:282323, end:282757, name:"PA0250", strand:-1},
{id: 252, start:282912, end:283553, name:"PA0251", strand:-1},
{id: 253, start:283818, end:284105, name:"PA0252", strand:-1},
{id: 254, start:284197, end:284673, name:"PA0253", strand:-1},
{id: 255, start:284714, end:286204, name:"PA0254", strand:-1},
{id: 256, start:286338, end:287024, name:"PA0255", strand:-1},
{id: 257, start:287188, end:288120, name:"PA0256", strand:-1},
{id: 258, start:288384, end:289175, name:"PA0257", strand:-1},
{id: 259, start:289205, end:289390, name:"PA0258", strand:-1},
{id: 260, start:289562, end:291004, name:"PA0259", strand:-1},
{id: 261, start:291154, end:293304, name:"PA0260", strand:-1},
{id: 262, start:293301, end:293798, name:"PA0261", strand:-1},
{id: 263, start:293802, end:296861, name:"PA0262", strand:-1},
{id: 264, start:297043, end:297561, name:"PA0263", strand:-1},
{id: 265, start:299081, end:299497, name:"PA0264", strand:-1},
{id: 266, start:299522, end:300973, name:"PA0265", strand:1},
{id: 267, start:301218, end:302498, name:"PA0266", strand:1},
{id: 268, start:302824, end:304023, name:"PA0267", strand:1},
{id: 269, start:304177, end:305598, name:"PA0268", strand:-1},
{id: 270, start:305725, end:306162, name:"PA0269", strand:1},
{id: 271, start:306174, end:306581, name:"PA0270", strand:1},
{id: 272, start:306615, end:306899, name:"PA0271", strand:1},
{id: 273, start:306896, end:307828, name:"PA0272", strand:-1},
{id: 274, start:307878, end:309092, name:"PA0273", strand:-1},
{id: 275, start:309255, end:310025, name:"PA0274", strand:-1},
{id: 276, start:310134, end:310820, name:"PA0275", strand:-1},
{id: 277, start:310896, end:311411, name:"PA0276", strand:1},
{id: 278, start:311451, end:312209, name:"PA0277", strand:-1},
{id: 279, start:312381, end:313133, name:"PA0278", strand:-1},
{id: 280, start:313227, end:313925, name:"PA0279", strand:1},
{id: 281, start:313938, end:314927, name:"PA0280", strand:-1},
{id: 282, start:314931, end:315800, name:"PA0281", strand:-1},
{id: 283, start:315811, end:316629, name:"PA0282", strand:-1},
{id: 284, start:316791, end:317789, name:"PA0283", strand:-1},
{id: 285, start:317966, end:318148, name:"PA0284", strand:-1},
{id: 286, start:318312, end:320594, name:"PA0285", strand:-1},
{id: 287, start:320766, end:321944, name:"PA0286", strand:1},
{id: 288, start:322175, end:323560, name:"PA0287", strand:1},
{id: 289, start:323616, end:324572, name:"PA0288", strand:1},
{id: 290, start:324625, end:325587, name:"PA0289", strand:1},
{id: 291, start:325700, end:326671, name:"PA0290", strand:1},
{id: 292, start:327284, end:328666, name:"PA0291", strand:1},
{id: 293, start:328801, end:329907, name:"PA0292", strand:-1},
{id: 294, start:329993, end:330871, name:"PA0293", strand:-1},
{id: 295, start:331034, end:331699, name:"PA0294", strand:-1},
{id: 296, start:331762, end:332823, name:"PA0295", strand:-1},
{id: 297, start:333079, end:334455, name:"PA0296", strand:-1},
{id: 298, start:334734, end:335486, name:"PA0297", strand:1},
{id: 299, start:335527, end:336885, name:"PA0298", strand:1},
{id: 300, start:336951, end:338321, name:"PA0299", strand:1},
{id: 301, start:338437, end:339540, name:"PA0300", strand:1},
{id: 302, start:339959, end:341056, name:"PA0301", strand:1},
{id: 303, start:341111, end:342265, name:"PA0302", strand:1},
{id: 304, start:342292, end:343173, name:"PA0303", strand:1},
{id: 305, start:343256, end:344125, name:"PA0304", strand:1},
{id: 306, start:344303, end:346690, name:"PA0305", strand:-1},
{id: 307, start:346801, end:347853, name:"PA0306", strand:1},
{id: 308, start:348440, end:349051, name:"PA0307", strand:-1},
{id: 309, start:349050, end:350069, name:"PA0308", strand:1},
{id: 310, start:350089, end:350841, name:"PA0309", strand:-1},
{id: 311, start:350890, end:351588, name:"PA0310", strand:1},
{id: 312, start:351610, end:352164, name:"PA0311", strand:-1},
{id: 313, start:352430, end:352924, name:"PA0312", strand:1},
{id: 314, start:352927, end:353619, name:"PA0313", strand:-1},
{id: 315, start:353691, end:354461, name:"PA0314", strand:-1},
{id: 316, start:354754, end:355191, name:"PA0315", strand:1},
{id: 317, start:355248, end:356477, name:"PA0316", strand:-1},
{id: 318, start:356681, end:358075, name:"PA0317", strand:1},
{id: 319, start:358167, end:358832, name:"PA0318", strand:1},
{id: 320, start:358931, end:359920, name:"PA0319", strand:1},
{id: 321, start:359982, end:360332, name:"PA0320", strand:1},
{id: 322, start:360413, end:361447, name:"PA0321", strand:-1},
{id: 323, start:361463, end:362857, name:"PA0322", strand:-1},
{id: 324, start:363278, end:364321, name:"PA0323", strand:-1},
{id: 325, start:364369, end:365157, name:"PA0324", strand:-1},
{id: 326, start:365154, end:366083, name:"PA0325", strand:-1},
{id: 327, start:366080, end:367129, name:"PA0326", strand:-1},
{id: 328, start:367457, end:368422, name:"PA0327", strand:1},
{id: 329, start:368462, end:370405, name:"PA0328", strand:-1},
{id: 330, start:370706, end:371038, name:"PA0329", strand:-1},
{id: 331, start:371162, end:371833, name:"PA0330", strand:-1},
{id: 332, start:372091, end:373605, name:"PA0331", strand:1},
{id: 333, start:373725, end:374192, name:"PA0332", strand:1},
{id: 334, start:374243, end:375514, name:"PA0333", strand:1},
{id: 335, start:375951, end:377189, name:"PA0334", strand:-1},
{id: 336, start:377239, end:377892, name:"PA0335", strand:-1},
{id: 337, start:378096, end:378575, name:"PA0336", strand:1},
{id: 338, start:378598, end:380877, name:"PA0337", strand:1},
{id: 339, start:380903, end:382033, name:"PA0338", strand:1},
{id: 340, start:382037, end:382792, name:"PA0339", strand:-1},
{id: 341, start:382914, end:383717, name:"PA0340", strand:1},
{id: 342, start:383727, end:384527, name:"PA0341", strand:1},
{id: 343, start:384733, end:385527, name:"PA0342", strand:1},
{id: 344, start:385554, end:386351, name:"PA0343", strand:-1},
{id: 345, start:386386, end:387765, name:"PA0344", strand:-1},
{id: 346, start:387758, end:389143, name:"PA0345", strand:-1},
{id: 347, start:389334, end:389696, name:"PA0346", strand:1},
{id: 348, start:389733, end:390884, name:"PA0347", strand:-1},
{id: 349, start:391094, end:392188, name:"PA0348", strand:1},
{id: 350, start:392185, end:393225, name:"PA0349", strand:1},
{id: 351, start:393308, end:393814, name:"PA0350", strand:1},
{id: 352, start:393830, end:394303, name:"PA0351", strand:-1},
{id: 353, start:394442, end:395827, name:"PA0352", strand:-1},
{id: 354, start:396057, end:397895, name:"PA0353", strand:-1},
{id: 355, start:398224, end:399420, name:"PA0354", strand:-1},
{id: 356, start:399493, end:400032, name:"PA0355", strand:-1},
{id: 357, start:400248, end:401072, name:"PA0356", strand:1},
{id: 358, start:401131, end:401943, name:"PA0357", strand:1},
{id: 359, start:402020, end:402598, name:"PA0358", strand:1},
{id: 360, start:402681, end:403025, name:"PA0359", strand:1},
{id: 361, start:403295, end:404281, name:"PA0360", strand:1},
{id: 362, start:404386, end:406119, name:"PA0361", strand:-1},
{id: 363, start:406247, end:406498, name:"PA0362", strand:-1},
{id: 364, start:406619, end:407098, name:"PA0363", strand:-1},
{id: 365, start:407250, end:408845, name:"PA0364", strand:-1},
{id: 366, start:408901, end:409449, name:"PA0365", strand:-1},
{id: 367, start:409504, end:410934, name:"PA0366", strand:-1},
{id: 368, start:411224, end:411871, name:"PA0367", strand:1},
{id: 369, start:412329, end:413327, name:"PA0368", strand:-1},
{id: 370, start:413364, end:413654, name:"PA0369", strand:-1},
{id: 371, start:413933, end:414529, name:"PA0370", strand:-1},
{id: 372, start:414529, end:416016, name:"PA0371", strand:-1},
{id: 373, start:416009, end:417406, name:"PA0372", strand:-1},
{id: 374, start:417527, end:418894, name:"PA0373", strand:1},
{id: 375, start:418891, end:419562, name:"PA0374", strand:1},
{id: 376, start:419562, end:420569, name:"PA0375", strand:1},
{id: 377, start:420683, end:421537, name:"PA0376", strand:1},
{id: 378, start:421602, end:422207, name:"PA0377", strand:1},
{id: 379, start:422212, end:422943, name:"PA0378", strand:-1},
{id: 380, start:422980, end:423357, name:"PA0379", strand:1},
{id: 381, start:423460, end:423660, name:"PA0380", strand:1},
{id: 382, start:423719, end:424516, name:"PA0381", strand:1},
{id: 383, start:424670, end:425341, name:"PA0382", strand:1},
{id: 384, start:425504, end:426850, name:"PA0383", strand:1},
{id: 385, start:426863, end:427120, name:"PA0384", strand:-1},
{id: 386, start:427182, end:427505, name:"PA0385", strand:-1},
{id: 387, start:427586, end:428740, name:"PA0386", strand:-1},
{id: 388, start:428861, end:429454, name:"PA0387", strand:-1},
{id: 389, start:429451, end:429870, name:"PA0388", strand:-1},
{id: 390, start:430002, end:430622, name:"PA0389", strand:-1},
{id: 391, start:430630, end:431769, name:"PA0390", strand:-1},
{id: 392, start:431858, end:433825, name:"PA0391", strand:-1},
{id: 393, start:434226, end:434819, name:"PA0392", strand:-1},
{id: 394, start:434830, end:435651, name:"PA0393", strand:-1},
{id: 395, start:435663, end:436355, name:"PA0394", strand:-1},
{id: 396, start:436570, end:437604, name:"PA0395", strand:1},
{id: 397, start:437782, end:438930, name:"PA0396", strand:1},
{id: 398, start:438938, end:439837, name:"PA0397", strand:-1},
{id: 399, start:439991, end:440395, name:"PA0398", strand:1},
{id: 400, start:440638, end:442011, name:"PA0399", strand:1},
{id: 401, start:442008, end:443192, name:"PA0400", strand:1},
{id: 402, start:443419, end:444690, name:"PA0401", strand:-1},
{id: 403, start:444687, end:445691, name:"PA0402", strand:-1},
{id: 404, start:445715, end:446227, name:"PA0403", strand:-1},
{id: 405, start:446339, end:446773, name:"PA0404", strand:-1},
{id: 406, start:446773, end:447342, name:"PA0405", strand:-1},
{id: 407, start:447391, end:448350, name:"PA0406", strand:-1},
{id: 408, start:448431, end:449384, name:"PA0407", strand:-1},
{id: 409, start:449639, end:450046, name:"PA0408", strand:1},
{id: 410, start:450093, end:450458, name:"PA0409", strand:1},
{id: 411, start:450509, end:451045, name:"PA0410", strand:1},
{id: 412, start:451130, end:453178, name:"PA0411", strand:1},
{id: 413, start:453239, end:454114, name:"PA0412", strand:1},
{id: 414, start:454126, end:461544, name:"PA0413", strand:1},
{id: 415, start:461537, end:462568, name:"PA0414", strand:1},
{id: 416, start:462565, end:463071, name:"PA0415", strand:1},
{id: 417, start:463079, end:463873, name:"PA0416", strand:1},
{id: 418, start:463949, end:464560, name:"PA0417", strand:1},
{id: 419, start:464568, end:465983, name:"PA0418", strand:-1},
{id: 420, start:466018, end:466740, name:"PA0419", strand:-1},
{id: 421, start:466833, end:468236, name:"PA0420", strand:-1},
{id: 422, start:468410, end:469900, name:"PA0421", strand:1},
{id: 423, start:470081, end:470650, name:"PA0422", strand:1},
{id: 424, start:470662, end:471237, name:"PA0423", strand:1},
{id: 425, start:471306, end:471749, name:"PA0424", strand:-1},
{id: 426, start:472024, end:473175, name:"PA0425", strand:1},
{id: 427, start:473191, end:476331, name:"PA0426", strand:1},
{id: 428, start:476333, end:477790, name:"PA0427", strand:1},
{id: 429, start:477886, end:479805, name:"PA0428", strand:-1},
{id: 430, start:480056, end:481126, name:"PA0429", strand:-1},
{id: 431, start:481196, end:482068, name:"PA0430", strand:-1},
{id: 432, start:482111, end:482665, name:"PA0431", strand:-1},
{id: 433, start:482706, end:484115, name:"PA0432", strand:-1},
{id: 434, start:484404, end:484838, name:"PA0433", strand:1},
{id: 435, start:484964, end:487156, name:"PA0434", strand:1},
{id: 436, start:487167, end:488645, name:"PA0435", strand:1},
{id: 437, start:488730, end:489350, name:"PA0436", strand:1},
{id: 438, start:489387, end:490658, name:"PA0437", strand:-1},
{id: 439, start:490648, end:491898, name:"PA0438", strand:-1},
{id: 440, start:492080, end:493357, name:"PA0439", strand:-1},
{id: 441, start:493354, end:494721, name:"PA0440", strand:-1},
{id: 442, start:494816, end:496255, name:"PA0441", strand:-1},
{id: 443, start:496362, end:496478, name:"PA0442", strand:-1},
{id: 444, start:496871, end:498361, name:"PA0443", strand:1},
{id: 445, start:498420, end:499703, name:"PA0444", strand:1},
{id: 446, start:500104, end:501120, name:"PA0445", strand:-1},
{id: 447, start:501376, end:502599, name:"PA0446", strand:-1},
{id: 448, start:502719, end:503900, name:"PA0447", strand:-1},
{id: 449, start:504121, end:505029, name:"PA0448", strand:1},
{id: 450, start:505047, end:505586, name:"PA0449", strand:1},
{id: 451, start:505629, end:507251, name:"PA0450", strand:-1},
{id: 452, start:507631, end:508962, name:"PA0451", strand:1},
{id: 453, start:508959, end:509753, name:"PA0452", strand:1},
{id: 454, start:509825, end:510499, name:"PA0453", strand:-1},
{id: 455, start:510589, end:512790, name:"PA0454", strand:-1},
{id: 456, start:513051, end:514427, name:"PA0455", strand:-1},
{id: 457, start:514775, end:514984, name:"PA0456", strand:1},
{id: 458, start:515135, end:515659, name:"PA0457", strand:1},
{id: 459, start:515653, end:516027, name:"PA0457.1", strand:-1},
{id: 460, start:516029, end:517462, name:"PA0458", strand:-1},
{id: 461, start:518083, end:520635, name:"PA0459", strand:1},
{id: 462, start:520737, end:521315, name:"PA0460", strand:1},
{id: 463, start:521630, end:522517, name:"PA0461", strand:-1},
{id: 464, start:522465, end:523169, name:"PA0462", strand:1},
{id: 465, start:523254, end:523943, name:"PA0463", strand:1},
{id: 466, start:523943, end:525367, name:"PA0464", strand:1},
{id: 467, start:525469, end:526827, name:"PA0465", strand:1},
{id: 468, start:526877, end:527179, name:"PA0466", strand:1},
{id: 469, start:527324, end:527944, name:"PA0467", strand:-1},
{id: 470, start:527963, end:528913, name:"PA0468", strand:-1},
{id: 471, start:528999, end:529856, name:"PA0469", strand:1},
{id: 472, start:530029, end:532437, name:"PA0470", strand:-1},
{id: 473, start:532541, end:533512, name:"PA0471", strand:-1},
{id: 474, start:533509, end:534027, name:"PA0472", strand:-1},
{id: 475, start:534196, end:534945, name:"PA0473", strand:1},
{id: 476, start:535085, end:535489, name:"PA0474", strand:1},
{id: 477, start:535539, end:536108, name:"PA0475", strand:1},
{id: 478, start:536142, end:537869, name:"PA0476", strand:-1},
{id: 479, start:538217, end:539143, name:"PA0477", strand:-1},
{id: 480, start:539231, end:539707, name:"PA0478", strand:1},
{id: 481, start:539785, end:540735, name:"PA0479", strand:-1},
{id: 482, start:540839, end:541636, name:"PA0480", strand:1},
{id: 483, start:541679, end:542122, name:"PA0481", strand:1},
{id: 484, start:542170, end:544347, name:"PA0482", strand:-1},
{id: 485, start:544654, end:545097, name:"PA0483", strand:1},
{id: 486, start:545129, end:545644, name:"PA0484", strand:1},
{id: 487, start:546334, end:547230, name:"PA0485", strand:-1},
{id: 488, start:547432, end:548406, name:"PA0486", strand:-1},
{id: 489, start:548468, end:549226, name:"PA0487", strand:-1},
{id: 490, start:549294, end:549614, name:"PA0488", strand:-1},
{id: 491, start:549656, end:550381, name:"PA0489", strand:-1},
{id: 492, start:550520, end:550813, name:"PA0490", strand:-1},
{id: 493, start:550867, end:551793, name:"PA0491", strand:-1},
{id: 494, start:551911, end:552669, name:"PA0492", strand:1},
{id: 495, start:552746, end:552994, name:"PA0493", strand:1},
{id: 496, start:553005, end:554381, name:"PA0494", strand:1},
{id: 497, start:554383, end:555261, name:"PA0495", strand:1},
{id: 498, start:555251, end:556228, name:"PA0496", strand:1},
{id: 499, start:556275, end:557276, name:"PA0497", strand:-1},
{id: 500, start:557354, end:558361, name:"PA0498", strand:-1},
{id: 501, start:558377, end:559078, name:"PA0499", strand:-1},
{id: 502, start:559644, end:560702, name:"PA0500", strand:1},
{id: 503, start:560808, end:562013, name:"PA0501", strand:1},
{id: 504, start:562006, end:562728, name:"PA0502", strand:1},
{id: 505, start:562721, end:563545, name:"PA0503", strand:1},
{id: 506, start:563549, end:564235, name:"PA0504", strand:1},
{id: 507, start:564344, end:564574, name:"PA0505", strand:1},
{id: 508, start:564914, end:566719, name:"PA0506", strand:1},
{id: 509, start:566932, end:568728, name:"PA0507", strand:1},
{id: 510, start:569002, end:570780, name:"PA0508", strand:1},
{id: 511, start:571111, end:572592, name:"PA0509", strand:-1},
{id: 512, start:572583, end:573422, name:"PA0510", strand:-1},
{id: 513, start:573433, end:574596, name:"PA0511", strand:-1},
{id: 514, start:574590, end:575105, name:"PA0512", strand:-1},
{id: 515, start:575080, end:575523, name:"PA0513", strand:-1},
{id: 516, start:575516, end:576040, name:"PA0514", strand:-1},
{id: 517, start:576037, end:576489, name:"PA0515", strand:-1},
{id: 518, start:576498, end:577676, name:"PA0516", strand:-1},
{id: 519, start:577673, end:578032, name:"PA0517", strand:-1},
{id: 520, start:578029, end:578343, name:"PA0518", strand:-1},
{id: 521, start:578394, end:580100, name:"PA0519", strand:-1},
{id: 522, start:580316, end:581098, name:"PA0520", strand:1},
{id: 523, start:581133, end:581660, name:"PA0521", strand:1},
{id: 524, start:581668, end:581925, name:"PA0522", strand:1},
{id: 525, start:582015, end:582455, name:"PA0523", strand:1},
{id: 526, start:582455, end:583855, name:"PA0524", strand:1},
{id: 527, start:583857, end:585695, name:"PA0525", strand:1},
{id: 528, start:585702, end:585896, name:"PA0526", strand:-1},
{id: 529, start:585980, end:586663, name:"PA0527", strand:-1},
{id: 530, start:587017, end:587895, name:"PA0528", strand:-1},
{id: 531, start:587997, end:588698, name:"PA0529", strand:1},
{id: 532, start:588924, end:590105, name:"PA0530", strand:1},
{id: 533, start:590105, end:590821, name:"PA0531", strand:1},
{id: 534, start:590896, end:591402, name:"PA0532", strand:-1},
{id: 535, start:591445, end:592935, name:"PA0533", strand:1},
{id: 536, start:593273, end:594562, name:"PA0534", strand:1},
{id: 537, start:594580, end:595134, name:"PA0535", strand:1},
{id: 538, start:595245, end:596270, name:"PA0536", strand:-1},
{id: 539, start:596274, end:596882, name:"PA0537", strand:-1},
{id: 540, start:596970, end:597479, name:"PA0538", strand:-1},
{id: 541, start:597708, end:598538, name:"PA0539", strand:1},
{id: 542, start:598608, end:598994, name:"PA0540", strand:1},
{id: 543, start:599107, end:599565, name:"PA0541", strand:1},
{id: 544, start:599757, end:600176, name:"PA0542", strand:-1},
{id: 545, start:600426, end:601394, name:"PA0543", strand:1},
{id: 546, start:601398, end:602141, name:"PA0544", strand:-1},
{id: 547, start:602346, end:603650, name:"PA0545", strand:1},
{id: 548, start:603706, end:604896, name:"PA0546", strand:-1},
{id: 549, start:604912, end:605913, name:"PA0547", strand:-1},
{id: 550, start:606160, end:608157, name:"PA0548", strand:1},
{id: 551, start:608157, end:609221, name:"PA0549", strand:1},
{id: 552, start:609202, end:609999, name:"PA0550", strand:-1},
{id: 553, start:610214, end:611275, name:"PA0551", strand:1},
{id: 554, start:611281, end:612444, name:"PA0552", strand:1},
{id: 555, start:612517, end:612717, name:"PA0553", strand:1},
{id: 556, start:612877, end:613218, name:"PA0554", strand:1},
{id: 557, start:613338, end:614402, name:"PA0555", strand:1},
{id: 558, start:614468, end:614950, name:"PA0556", strand:1},
{id: 559, start:614952, end:615608, name:"PA0557", strand:-1},
{id: 560, start:615607, end:616374, name:"PA0558", strand:1},
{id: 561, start:616371, end:617549, name:"PA0559", strand:-1},
{id: 562, start:617662, end:618150, name:"PA0560", strand:1},
{id: 563, start:618176, end:619330, name:"PA0561", strand:1},
{id: 564, start:619332, end:620006, name:"PA0562", strand:-1},
{id: 565, start:620135, end:620488, name:"PA0563", strand:-1},
{id: 566, start:620666, end:621577, name:"PA0564", strand:-1},
{id: 567, start:621695, end:622033, name:"PA0565", strand:1},
{id: 568, start:622023, end:622538, name:"PA0566", strand:-1},
{id: 569, start:622726, end:622884, name:"PA0567", strand:1},
{id: 570, start:622894, end:623352, name:"PA0568", strand:-1},
{id: 571, start:623368, end:623838, name:"PA0569", strand:-1},
{id: 572, start:623852, end:624199, name:"PA0570", strand:-1},
{id: 573, start:624189, end:624803, name:"PA0571", strand:-1},
{id: 574, start:624994, end:627765, name:"PA0572", strand:-1},
{id: 575, start:628335, end:628670, name:"PA0573", strand:-1},
{id: 576, start:628763, end:629884, name:"PA0574", strand:-1},
{id: 577, start:630527, end:634264, name:"PA0575", strand:-1},
{id: 578, start:634371, end:636224, name:"PA0576", strand:-1},
{id: 579, start:636304, end:638298, name:"PA0577", strand:-1},
{id: 580, start:638381, end:638830, name:"PA0578", strand:-1},
{id: 581, start:638900, end:639115, name:"PA0579", strand:-1},
{id: 582, start:639316, end:640341, name:"PA0580", strand:1},
{id: 583, start:640420, end:640989, name:"PA0581", strand:-1},
{id: 584, start:641073, end:641426, name:"PA0582", strand:1},
{id: 585, start:641417, end:641959, name:"PA0583", strand:1},
{id: 586, start:641932, end:643164, name:"PA0584", strand:-1},
{id: 587, start:643208, end:643714, name:"PA0585", strand:-1},
{id: 588, start:643808, end:645361, name:"PA0586", strand:-1},
{id: 589, start:645358, end:646629, name:"PA0587", strand:-1},
{id: 590, start:646730, end:648652, name:"PA0588", strand:-1},
{id: 591, start:648931, end:649263, name:"PA0589", strand:-1},
{id: 592, start:649307, end:650158, name:"PA0590", strand:-1},
{id: 593, start:650158, end:650538, name:"PA0591", strand:-1},
{id: 594, start:650575, end:651381, name:"PA0592", strand:-1},
{id: 595, start:651497, end:652483, name:"PA0593", strand:-1},
{id: 596, start:652480, end:653772, name:"PA0594", strand:-1},
{id: 597, start:653753, end:656527, name:"PA0595", strand:-1},
{id: 598, start:656654, end:657670, name:"PA0596", strand:1},
{id: 599, start:657667, end:658341, name:"PA0597", strand:1},
{id: 600, start:658343, end:659101, name:"PA0598", strand:1},
{id: 601, start:659102, end:660163, name:"PA0599", strand:-1},
{id: 602, start:660315, end:662708, name:"PA0600", strand:1},
{id: 603, start:662754, end:663386, name:"PA0601", strand:1},
{id: 604, start:663515, end:664549, name:"PA0602", strand:1},
{id: 605, start:664783, end:665892, name:"PA0603", strand:1},
{id: 606, start:665948, end:666994, name:"PA0604", strand:1},
{id: 607, start:667108, end:668355, name:"PA0605", strand:1},
{id: 608, start:668461, end:669291, name:"PA0606", strand:1},
{id: 609, start:669415, end:670089, name:"PA0607", strand:1},
{id: 610, start:670089, end:670907, name:"PA0608", strand:1},
{id: 611, start:670980, end:672458, name:"PA0609", strand:1},
{id: 612, start:672777, end:673091, name:"PA0610", strand:-1},
{id: 613, start:673191, end:673961, name:"PA0611", strand:-1},
{id: 614, start:674419, end:674619, name:"PA0612", strand:1},
{id: 615, start:674667, end:675026, name:"PA0613", strand:1},
{id: 616, start:675390, end:675839, name:"PA0614", strand:1},
{id: 617, start:675861, end:676376, name:"PA0615", strand:1},
{id: 618, start:676373, end:676930, name:"PA0616", strand:1},
{id: 619, start:677083, end:677409, name:"PA0617", strand:1},
{id: 620, start:677406, end:678293, name:"PA0618", strand:1},
{id: 621, start:678286, end:678819, name:"PA0619", strand:1},
{id: 622, start:678821, end:680896, name:"PA0620", strand:1},
{id: 623, start:680893, end:681351, name:"PA0621", strand:1},
{id: 624, start:681394, end:682554, name:"PA0622", strand:1},
{id: 625, start:682567, end:683070, name:"PA0623", strand:1},
{id: 626, start:683085, end:683429, name:"PA0624", strand:1},
{id: 627, start:683599, end:685836, name:"PA0625", strand:1},
{id: 628, start:685846, end:686718, name:"PA0626", strand:1},
{id: 629, start:686693, end:686899, name:"PA0627", strand:1},
{id: 630, start:686957, end:687946, name:"PA0628", strand:1},
{id: 631, start:687979, end:688608, name:"PA0629", strand:1},
{id: 632, start:688605, end:688967, name:"PA0630", strand:1},
{id: 633, start:688964, end:689221, name:"PA0631", strand:1},
{id: 634, start:689236, end:689466, name:"PA0632", strand:1},
{id: 635, start:689537, end:690031, name:"PA0633", strand:1},
{id: 636, start:690043, end:690390, name:"PA0634", strand:1},
{id: 637, start:690420, end:690674, name:"PA0635", strand:1},
{id: 638, start:690721, end:692556, name:"PA0636", strand:1},
{id: 639, start:692549, end:692890, name:"PA0637", strand:1},
{id: 640, start:692898, end:693593, name:"PA0638", strand:1},
{id: 641, start:693596, end:694366, name:"PA0639", strand:1},
{id: 642, start:694421, end:695023, name:"PA0640", strand:1},
{id: 643, start:695082, end:698696, name:"PA0641", strand:1},
{id: 644, start:698932, end:699720, name:"PA0642", strand:1},
{id: 645, start:699744, end:700835, name:"PA0643", strand:1},
{id: 646, start:700835, end:701170, name:"PA0644", strand:1},
{id: 647, start:701151, end:701381, name:"PA0645", strand:1},
{id: 648, start:701477, end:702529, name:"PA0646", strand:1},
{id: 649, start:702529, end:702831, name:"PA0647", strand:1},
{id: 650, start:702828, end:703058, name:"PA0648", strand:1},
{id: 651, start:703477, end:704082, name:"PA0649", strand:1},
{id: 652, start:704084, end:705133, name:"PA0650", strand:1},
{id: 653, start:705130, end:705966, name:"PA0651", strand:1},
{id: 654, start:706028, end:706672, name:"PA0652", strand:-1},
{id: 655, start:706944, end:707366, name:"PA0653", strand:1},
{id: 656, start:707686, end:708480, name:"PA0654", strand:1},
{id: 657, start:708535, end:709182, name:"PA0655", strand:-1},
{id: 658, start:709282, end:709620, name:"PA0656", strand:-1},
{id: 659, start:709699, end:711180, name:"PA0657", strand:1},
{id: 660, start:711220, end:712020, name:"PA0658", strand:-1},
{id: 661, start:712081, end:713157, name:"PA0659", strand:-1},
{id: 662, start:713279, end:714247, name:"PA0660", strand:-1},
{id: 663, start:714264, end:714686, name:"PA0661", strand:-1},
{id: 664, start:714977, end:716011, name:"PA0662", strand:1},
{id: 665, start:716011, end:716730, name:"PA0663", strand:1},
{id: 666, start:716731, end:717153, name:"PA0664", strand:1},
{id: 667, start:717231, end:717581, name:"PA0665", strand:1},
{id: 668, start:717635, end:718726, name:"PA0666", strand:-1},
{id: 669, start:718729, end:720072, name:"PA0667", strand:-1},
{id: 670, start:720357, end:721556, name:"PA0668", strand:1},
{id: 671, start:727608, end:730703, name:"PA0669", strand:-1},
{id: 672, start:730679, end:732094, name:"PA0670", strand:-1},
{id: 673, start:732102, end:732653, name:"PA0671", strand:-1},
{id: 674, start:732959, end:733555, name:"PA0672", strand:1},
{id: 675, start:733673, end:733993, name:"PA0673", strand:-1},
{id: 676, start:734159, end:734875, name:"PA0674", strand:1},
{id: 677, start:734872, end:735417, name:"PA0675", strand:1},
{id: 678, start:735487, end:736446, name:"PA0676", strand:1},
{id: 679, start:736456, end:737097, name:"PA0677", strand:-1},
{id: 680, start:737081, end:737530, name:"PA0678", strand:-1},
{id: 681, start:737677, end:738108, name:"PA0679", strand:1},
{id: 682, start:738111, end:738485, name:"PA0680", strand:-1},
{id: 683, start:738719, end:739168, name:"PA0681", strand:1},
{id: 684, start:739176, end:740141, name:"PA0682", strand:1},
{id: 685, start:740203, end:741348, name:"PA0683", strand:1},
{id: 686, start:741335, end:741928, name:"PA0684", strand:1},
{id: 687, start:741925, end:744336, name:"PA0685", strand:1},
{id: 688, start:744333, end:745742, name:"PA0686", strand:1},
{id: 689, start:745742, end:746956, name:"PA0687", strand:1},
{id: 690, start:747470, end:748576, name:"PA0688", strand:1},
{id: 691, start:748662, end:749774, name:"PA0689", strand:1},
{id: 692, start:749957, end:762499, name:"PA0690", strand:1},
{id: 693, start:762891, end:763493, name:"PA0691", strand:1},
{id: 694, start:763657, end:765291, name:"PA0692", strand:1},
{id: 695, start:765315, end:767162, name:"PA0693", strand:1},
{id: 696, start:767173, end:767592, name:"PA0694", strand:1},
{id: 697, start:767601, end:768347, name:"PA0695", strand:1},
{id: 698, start:768415, end:770121, name:"PA0696", strand:1},
{id: 699, start:770156, end:770818, name:"PA0697", strand:1},
{id: 700, start:770847, end:771326, name:"PA0698", strand:1},
{id: 701, start:771331, end:772275, name:"PA0699", strand:1},
{id: 702, start:772275, end:772700, name:"PA0700", strand:1},
{id: 703, start:772710, end:773696, name:"PA0701", strand:1},
{id: 704, start:774416, end:775321, name:"PA0702", strand:-1},
{id: 705, start:775400, end:776716, name:"PA0703", strand:-1},
{id: 706, start:776787, end:778181, name:"PA0704", strand:-1},
{id: 707, start:778309, end:779208, name:"PA0705", strand:-1},
{id: 708, start:779463, end:780101, name:"PA0706", strand:-1},
{id: 709, start:780194, end:780973, name:"PA0707", strand:-1},
{id: 710, start:781259, end:782113, name:"PA0708", strand:-1},
{id: 711, start:782229, end:782525, name:"PA0709", strand:1},
{id: 712, start:782570, end:782965, name:"PA0710", strand:1},
{id: 713, start:783009, end:783515, name:"PA0711", strand:-1},
{id: 714, start:783576, end:783833, name:"PA0712", strand:-1},
{id: 715, start:784173, end:784466, name:"PA0713", strand:1},
{id: 716, start:784698, end:785174, name:"PA0714", strand:1},
{id: 717, start:785969, end:786925, name:"PA0715", strand:1},
{id: 718, start:786928, end:788253, name:"PA0716", strand:1},
{id: 719, start:789144, end:789356, name:"PA0717", strand:1},
{id: 720, start:789360, end:789650, name:"PA0718", strand:1},
{id: 721, start:789654, end:790031, name:"PA0719", strand:1},
{id: 722, start:790166, end:790600, name:"PA0720", strand:1},
{id: 723, start:790617, end:790709, name:"PA0721", strand:1},
{id: 724, start:790722, end:790973, name:"PA0722", strand:1},
{id: 725, start:790986, end:791234, name:"PA0723", strand:1},
{id: 726, start:791370, end:792632, name:"PA0724", strand:1},
{id: 727, start:792637, end:792993, name:"PA0725", strand:1},
{id: 728, start:792997, end:794271, name:"PA0726", strand:1},
{id: 729, start:794501, end:795793, name:"PA0727", strand:1},
{id: 730, start:795793, end:796776, name:"PA0728", strand:1},
{id: 731, start:797251, end:797598, name:"PA0729", strand:1},
{id: 732, start:797925, end:798827, name:"PA0730", strand:-1},
{id: 733, start:799279, end:800016, name:"PA0731", strand:-1},
{id: 734, start:800096, end:801139, name:"PA0732", strand:-1},
{id: 735, start:801275, end:801967, name:"PA0733", strand:-1},
{id: 736, start:801967, end:802239, name:"PA0734", strand:-1},
{id: 737, start:802260, end:803075, name:"PA0735", strand:-1},
{id: 738, start:803072, end:804148, name:"PA0736", strand:-1},
{id: 739, start:804656, end:805111, name:"PA0737", strand:1},
{id: 740, start:805228, end:805473, name:"PA0738", strand:1},
{id: 741, start:805788, end:806702, name:"PA0739", strand:-1},
{id: 742, start:806805, end:808781, name:"PA0740", strand:1},
{id: 743, start:808816, end:809457, name:"PA0741", strand:-1},
{id: 744, start:809574, end:809882, name:"PA0742", strand:-1},
{id: 745, start:810275, end:811171, name:"PA0743", strand:-1},
{id: 746, start:811283, end:812386, name:"PA0744", strand:-1},
{id: 747, start:812445, end:813263, name:"PA0745", strand:-1},
{id: 748, start:813329, end:814492, name:"PA0746", strand:-1},
{id: 749, start:814504, end:816012, name:"PA0747", strand:-1},
{id: 750, start:817082, end:817903, name:"PA0749", strand:1},
{id: 751, start:818003, end:818698, name:"PA0750", strand:1},
{id: 752, start:818825, end:819862, name:"PA0751", strand:-1},
{id: 753, start:819855, end:821372, name:"PA0752", strand:-1},
{id: 754, start:821383, end:821853, name:"PA0753", strand:-1},
{id: 755, start:821902, end:822885, name:"PA0754", strand:-1},
{id: 756, start:822915, end:824198, name:"PA0755", strand:-1},
{id: 757, start:824409, end:825080, name:"PA0756", strand:1},
{id: 758, start:825073, end:826455, name:"PA0757", strand:1},
{id: 759, start:826463, end:827299, name:"PA0758", strand:-1},
{id: 760, start:827400, end:828344, name:"PA0759", strand:-1},
{id: 761, start:828617, end:828871, name:"PA0760", strand:1},
{id: 762, start:829276, end:830892, name:"PA0761", strand:-1},
{id: 763, start:831301, end:831882, name:"PA0762", strand:1},
{id: 764, start:831914, end:832498, name:"PA0763", strand:1},
{id: 765, start:832507, end:833457, name:"PA0764", strand:1},
{id: 766, start:833454, end:833909, name:"PA0765", strand:1},
{id: 767, start:833949, end:835373, name:"PA0766", strand:1},
{id: 768, start:835523, end:837322, name:"PA0767", strand:1},
{id: 769, start:837328, end:838182, name:"PA0768", strand:1},
{id: 770, start:838351, end:838728, name:"PA0769", strand:1},
{id: 771, start:838725, end:839414, name:"PA0770", strand:1},
{id: 772, start:839407, end:840324, name:"PA0771", strand:1},
{id: 773, start:840385, end:841086, name:"PA0772", strand:1},
{id: 774, start:841079, end:841825, name:"PA0773", strand:1},
{id: 775, start:841913, end:842881, name:"PA0774", strand:-1},
{id: 776, start:842878, end:843618, name:"PA0775", strand:-1},
{id: 777, start:843723, end:844295, name:"PA0776", strand:-1},
{id: 778, start:844427, end:845179, name:"PA0777", strand:-1},
{id: 779, start:845278, end:845682, name:"PA0778", strand:-1},
{id: 780, start:845793, end:848192, name:"PA0779", strand:-1},
{id: 781, start:848383, end:849135, name:"PA0780", strand:1},
{id: 782, start:849256, end:851319, name:"PA0781", strand:-1},
{id: 783, start:851783, end:854965, name:"PA0782", strand:1},
{id: 784, start:855277, end:856797, name:"PA0783", strand:1},
{id: 785, start:856942, end:857871, name:"PA0784", strand:-1},
{id: 786, start:857998, end:858636, name:"PA0785", strand:1},
{id: 787, start:858646, end:858951, name:"PA0786", strand:1},
{id: 788, start:859007, end:860170, name:"PA0787", strand:1},
{id: 789, start:860175, end:863300, name:"PA0788", strand:-1},
{id: 790, start:864095, end:865510, name:"PA0789", strand:1},
{id: 791, start:865636, end:866451, name:"PA0790", strand:-1},
{id: 792, start:866558, end:867346, name:"PA0791", strand:1},
{id: 793, start:867324, end:868808, name:"PA0792", strand:-1},
{id: 794, start:868943, end:870130, name:"PA0793", strand:-1},
{id: 795, start:870249, end:872855, name:"PA0794", strand:-1},
{id: 796, start:872986, end:874113, name:"PA0795", strand:-1},
{id: 797, start:874206, end:875102, name:"PA0796", strand:-1},
{id: 798, start:875113, end:875835, name:"PA0797", strand:-1},
{id: 799, start:875953, end:876603, name:"PA0798", strand:1},
{id: 800, start:876617, end:878608, name:"PA0799", strand:-1},
{id: 801, start:879027, end:879560, name:"PA0800", strand:1},
{id: 802, start:879557, end:881077, name:"PA0801", strand:1},
{id: 803, start:881077, end:881400, name:"PA0802", strand:1},
{id: 804, start:881486, end:881926, name:"PA0803", strand:1},
{id: 805, start:881958, end:882779, name:"PA0804", strand:1},
{id: 806, start:882989, end:883216, name:"PA0805", strand:-1},
{id: 807, start:883777, end:884172, name:"PA0806", strand:1},
{id: 808, start:884799, end:885566, name:"PA0807", strand:1},
{id: 809, start:885635, end:886108, name:"PA0808", strand:1},
{id: 810, start:886160, end:887476, name:"PA0809", strand:-1},
{id: 811, start:887583, end:888284, name:"PA0810", strand:-1},
{id: 812, start:888315, end:889562, name:"PA0811", strand:-1},
{id: 813, start:889559, end:890854, name:"PA0812", strand:-1},
{id: 814, start:891142, end:892389, name:"PA0813", strand:-1},
{id: 815, start:892386, end:892820, name:"PA0814", strand:-1},
{id: 816, start:893041, end:893994, name:"PA0815", strand:1},
{id: 817, start:893967, end:894851, name:"PA0816", strand:-1},
{id: 818, start:894952, end:895377, name:"PA0817", strand:1},
{id: 819, start:895396, end:895668, name:"PA0818", strand:-1},
{id: 820, start:895824, end:896117, name:"PA0819", strand:1},
{id: 821, start:896416, end:897228, name:"PA0820", strand:1},
{id: 822, start:897335, end:898423, name:"PA0821", strand:-1},
{id: 823, start:898440, end:898886, name:"PA0822", strand:-1},
{id: 824, start:898908, end:899141, name:"PA0823", strand:-1},
{id: 825, start:899138, end:899656, name:"PA0824", strand:-1},
{id: 826, start:899830, end:900165, name:"PA0825", strand:-1},
{id: 827, start:900408, end:901046, name:"PA0826", strand:-1},
{id: 828, start:901746, end:901779, name:"PA0826.1", strand:-1},
{id: 829, start:901934, end:902812, name:"PA0827", strand:-1},
{id: 830, start:902900, end:903583, name:"PA0828", strand:1},
{id: 831, start:903692, end:904633, name:"PA0829", strand:1},
{id: 832, start:904768, end:905601, name:"PA0830", strand:-1},
{id: 833, start:905726, end:906745, name:"PA0831", strand:1},
{id: 834, start:906847, end:907488, name:"PA0832", strand:1},
{id: 835, start:907594, end:908307, name:"PA0833", strand:1},
{id: 836, start:908377, end:909291, name:"PA0834", strand:-1},
{id: 837, start:909418, end:911532, name:"PA0835", strand:-1},
{id: 838, start:911595, end:912779, name:"PA0836", strand:-1},
{id: 839, start:913086, end:913571, name:"PA0837", strand:1},
{id: 840, start:913777, end:914259, name:"PA0838", strand:1},
{id: 841, start:914412, end:915002, name:"PA0839", strand:1},
{id: 842, start:915043, end:916155, name:"PA0840", strand:1},
{id: 843, start:916346, end:917305, name:"PA0841", strand:1},
{id: 844, start:917309, end:918529, name:"PA0842", strand:-1},
{id: 845, start:918617, end:919240, name:"PA0843", strand:-1},
{id: 846, start:919258, end:921450, name:"PA0844", strand:-1},
{id: 847, start:921792, end:923804, name:"PA0845", strand:-1},
{id: 848, start:924182, end:924922, name:"PA0846", strand:-1},
{id: 849, start:925007, end:927214, name:"PA0847", strand:-1},
{id: 850, start:927147, end:927746, name:"PA0848", strand:1},
{id: 851, start:927880, end:928830, name:"PA0849", strand:1},
{id: 852, start:929084, end:929503, name:"PA0850", strand:1},
{id: 853, start:929514, end:930476, name:"PA0851", strand:-1},
{id: 854, start:930653, end:931822, name:"PA0852", strand:-1},
{id: 855, start:932102, end:932725, name:"PA0853", strand:-1},
{id: 856, start:932718, end:934112, name:"PA0854", strand:-1},
{id: 857, start:934241, end:935260, name:"PA0855", strand:-1},
{id: 858, start:935427, end:935975, name:"PA0856", strand:1},
{id: 859, start:935989, end:936294, name:"PA0857", strand:1},
{id: 860, start:936459, end:937397, name:"PA0858", strand:1},
{id: 861, start:937437, end:938039, name:"PA0859", strand:1},
{id: 862, start:938032, end:939822, name:"PA0860", strand:1},
{id: 863, start:940117, end:942573, name:"PA0861", strand:1},
{id: 864, start:942648, end:943430, name:"PA0862", strand:1},
{id: 865, start:943482, end:944441, name:"PA0863", strand:-1},
{id: 866, start:944724, end:945512, name:"PA0864", strand:-1},
{id: 867, start:945834, end:946907, name:"PA0865", strand:1},
{id: 868, start:947205, end:948623, name:"PA0866", strand:1},
{id: 869, start:948776, end:949159, name:"PA0867", strand:1},
{id: 870, start:949280, end:949693, name:"PA0868", strand:1},
{id: 871, start:949716, end:950648, name:"PA0869", strand:-1},
{id: 872, start:950962, end:952161, name:"PA0870", strand:-1},
{id: 873, start:952158, end:952514, name:"PA0871", strand:-1},
{id: 874, start:952619, end:953407, name:"PA0872", strand:-1},
{id: 875, start:953691, end:955250, name:"PA0873", strand:1},
{id: 876, start:955456, end:955722, name:"PA0874", strand:-1},
{id: 877, start:955991, end:958186, name:"PA0875", strand:-1},
{id: 878, start:958406, end:959350, name:"PA0876", strand:1},
{id: 879, start:959484, end:960380, name:"PA0877", strand:-1},
{id: 880, start:960497, end:961324, name:"PA0878", strand:1},
{id: 881, start:961370, end:962530, name:"PA0879", strand:1},
{id: 882, start:962545, end:962925, name:"PA0880", strand:1},
{id: 883, start:962964, end:964316, name:"PA0881", strand:1},
{id: 884, start:964372, end:965574, name:"PA0882", strand:1},
{id: 885, start:965585, end:966412, name:"PA0883", strand:1},
{id: 886, start:966526, end:967521, name:"PA0884", strand:1},
{id: 887, start:967570, end:968208, name:"PA0885", strand:1},
{id: 888, start:968205, end:969488, name:"PA0886", strand:1},
{id: 889, start:969670, end:971625, name:"PA0887", strand:1},
{id: 890, start:972166, end:972945, name:"PA0888", strand:1},
{id: 891, start:973064, end:973753, name:"PA0889", strand:1},
{id: 892, start:973770, end:974468, name:"PA0890", strand:1},
{id: 893, start:974482, end:975594, name:"PA0891", strand:1},
{id: 894, start:975613, end:976377, name:"PA0892", strand:1},
{id: 895, start:976410, end:977399, name:"PA0893", strand:1},
{id: 896, start:977420, end:977743, name:"PA0894", strand:-1},
{id: 897, start:977910, end:979130, name:"PA0895", strand:1},
{id: 898, start:979329, end:980345, name:"PA0896", strand:1},
{id: 899, start:980357, end:981379, name:"PA0897", strand:1},
{id: 900, start:981422, end:982888, name:"PA0898", strand:1},
{id: 901, start:982885, end:984231, name:"PA0899", strand:1},
{id: 902, start:984245, end:984535, name:"PA0900", strand:1},
{id: 903, start:984549, end:985547, name:"PA0901", strand:1},
{id: 904, start:985692, end:986696, name:"PA0902", strand:1},
{id: 905, start:986818, end:989442, name:"PA0903", strand:1},
{id: 906, start:989590, end:990828, name:"PA0904", strand:1},
{id: 907, start:991013, end:991198, name:"PA0905", strand:1},
{id: 908, start:991830, end:992543, name:"PA0906", strand:-1},
{id: 909, start:992714, end:993244, name:"PA0907", strand:1},
{id: 910, start:993409, end:993783, name:"PA0908", strand:1},
{id: 911, start:993776, end:994051, name:"PA0909", strand:1},
{id: 912, start:994143, end:994646, name:"PA0910", strand:1},
{id: 913, start:994699, end:995151, name:"PA0911", strand:1},
{id: 914, start:995172, end:995711, name:"PA0912", strand:-1},
{id: 915, start:996038, end:997486, name:"PA0913", strand:1},
{id: 916, start:997536, end:997928, name:"PA0914", strand:-1},
{id: 917, start:997921, end:998382, name:"PA0915", strand:-1},
{id: 918, start:998444, end:999766, name:"PA0916", strand:-1},
{id: 919, start:1000013, end:1001917, name:"PA0917", strand:1},
{id: 920, start:1001972, end:1002520, name:"PA0918", strand:-1},
{id: 921, start:1002681, end:1003964, name:"PA0919", strand:-1},
{id: 922, start:1003966, end:1006611, name:"PA0920", strand:-1},
{id: 923, start:1006860, end:1007219, name:"PA0921", strand:1},
{id: 924, start:1007234, end:1007548, name:"PA0922", strand:-1},
{id: 925, start:1007950, end:1008999, name:"PA0923", strand:1},
{id: 926, start:1009006, end:1010934, name:"PA0924", strand:-1},
{id: 927, start:1011047, end:1011454, name:"PA0925", strand:-1},
{id: 928, start:1011522, end:1011947, name:"PA0926", strand:-1},
{id: 929, start:1011983, end:1012972, name:"PA0927", strand:-1},
{id: 930, start:1012975, end:1015752, name:"PA0928", strand:-1},
{id: 931, start:1015938, end:1016657, name:"PA0929", strand:1},
{id: 932, start:1016657, end:1017994, name:"PA0930", strand:1},
{id: 933, start:1018230, end:1020458, name:"PA0931", strand:1},
{id: 934, start:1020708, end:1021607, name:"PA0932", strand:1},
{id: 935, start:1021616, end:1022968, name:"PA0933", strand:1},
{id: 936, start:1023053, end:1025296, name:"PA0934", strand:1},
{id: 937, start:1025401, end:1026231, name:"PA0935", strand:1},
{id: 938, start:1026274, end:1027212, name:"PA0936", strand:-1},
{id: 939, start:1027445, end:1027984, name:"PA0937", strand:1},
{id: 940, start:1028172, end:1029500, name:"PA0938", strand:1},
{id: 941, start:1029825, end:1030151, name:"PA0939", strand:-1},
{id: 942, start:1030157, end:1030411, name:"PA0940", strand:-1},
{id: 943, start:1030423, end:1030656, name:"PA0941", strand:-1},
{id: 944, start:1030772, end:1031332, name:"PA0942", strand:1},
{id: 945, start:1031386, end:1032102, name:"PA0943", strand:-1},
{id: 946, start:1032095, end:1032763, name:"PA0944", strand:-1},
{id: 947, start:1032763, end:1033824, name:"PA0945", strand:-1},
{id: 948, start:1034038, end:1035075, name:"PA0946", strand:1},
{id: 949, start:1035277, end:1035981, name:"PA0947", strand:1},
{id: 950, start:1036158, end:1036577, name:"PA0948", strand:-1},
{id: 951, start:1036579, end:1037175, name:"PA0949", strand:-1},
{id: 952, start:1037172, end:1037525, name:"PA0950", strand:-1},
{id: 953, start:1037650, end:1038885, name:"PA0951", strand:1},
{id: 954, start:1039240, end:1039623, name:"PA0952", strand:-1},
{id: 955, start:1039968, end:1040432, name:"PA0953", strand:1},
{id: 956, start:1040432, end:1040707, name:"PA0954", strand:1},
{id: 957, start:1040724, end:1041680, name:"PA0955", strand:-1},
{id: 958, start:1041689, end:1043404, name:"PA0956", strand:-1},
{id: 959, start:1043512, end:1043919, name:"PA0957", strand:1},
{id: 960, start:1043983, end:1045314, name:"PA0958", strand:-1},
{id: 961, start:1045832, end:1046461, name:"PA0959", strand:1},
{id: 962, start:1046462, end:1046671, name:"PA0960", strand:1},
{id: 963, start:1046720, end:1046911, name:"PA0961", strand:-1},
{id: 964, start:1047549, end:1048019, name:"PA0962", strand:-1},
{id: 965, start:1048459, end:1050234, name:"PA0963", strand:1},
{id: 966, start:1050301, end:1051047, name:"PA0964", strand:1},
{id: 967, start:1051132, end:1051656, name:"PA0965", strand:1},
{id: 968, start:1051673, end:1052278, name:"PA0966", strand:1},
{id: 969, start:1052289, end:1053347, name:"PA0967", strand:1},
{id: 970, start:1053400, end:1053846, name:"PA0968", strand:1},
{id: 971, start:1053848, end:1054543, name:"PA0969", strand:1},
{id: 972, start:1054566, end:1055006, name:"PA0970", strand:1},
{id: 973, start:1055009, end:1056052, name:"PA0971", strand:1},
{id: 974, start:1056049, end:1057347, name:"PA0972", strand:1},
{id: 975, start:1057400, end:1057906, name:"PA0973", strand:1},
{id: 976, start:1057916, end:1058740, name:"PA0974", strand:1},
{id: 977, start:1058812, end:1059606, name:"PA0975", strand:1},
{id: 978, start:1059622, end:1060296, name:"PA0976", strand:1},
{id: 979, start:1060510, end:1060833, name:"PA0977", strand:-1},
{id: 980, start:1061207, end:1062034, name:"PA0978", strand:-1},
{id: 981, start:1062061, end:1062369, name:"PA0979", strand:-1},
{id: 982, start:1062601, end:1062885, name:"PA0980", strand:1},
{id: 983, start:1062921, end:1063544, name:"PA0981", strand:1},
{id: 984, start:1064555, end:1065103, name:"PA0982", strand:-1},
{id: 985, start:1065138, end:1065425, name:"PA0983", strand:1},
{id: 986, start:1065970, end:1066296, name:"PA0984", strand:1},
{id: 987, start:1066321, end:1067817, name:"PA0985", strand:-1},
{id: 988, start:1068193, end:1068456, name:"PA0986", strand:1},
{id: 989, start:1068489, end:1069331, name:"PA0987", strand:1},
{id: 990, start:1069769, end:1070173, name:"PA0988", strand:1},
{id: 991, start:1070294, end:1070854, name:"PA0989", strand:-1},
{id: 992, start:1071239, end:1071877, name:"PA0990", strand:-1},
{id: 993, start:1072462, end:1072839, name:"PA0991", strand:1},
{id: 994, start:1073285, end:1073902, name:"PA0992", strand:1},
{id: 995, start:1073960, end:1074673, name:"PA0993", strand:1},
{id: 996, start:1074784, end:1077303, name:"PA0994", strand:1},
{id: 997, start:1077383, end:1077904, name:"PA0995", strand:-1},
{id: 998, start:1078462, end:1080015, name:"PA0996", strand:1},
{id: 999, start:1080009, end:1080860, name:"PA0997", strand:1},
{id: 1000, start:1080853, end:1081899, name:"PA0998", strand:1},
{id: 1001, start:1081942, end:1082955, name:"PA0999", strand:1},
{id: 1002, start:1082949, end:1083854, name:"PA1000", strand:1},
{id: 1003, start:1083972, end:1085564, name:"PA1001", strand:1},
{id: 1004, start:1085542, end:1086144, name:"PA1002", strand:1},
{id: 1005, start:1086097, end:1087095, name:"PA1003", strand:-1},
{id: 1006, start:1087843, end:1088901, name:"PA1004", strand:1},
{id: 1007, start:1089010, end:1090443, name:"PA1005", strand:-1},
{id: 1008, start:1090606, end:1090857, name:"PA1006", strand:1},
{id: 1009, start:1090891, end:1091964, name:"PA1007", strand:1},
{id: 1010, start:1092025, end:1092498, name:"PA1008", strand:-1},
{id: 1011, start:1092510, end:1093067, name:"PA1009", strand:-1},
{id: 1012, start:1093251, end:1094129, name:"PA1010", strand:1},
{id: 1013, start:1094147, end:1095337, name:"PA1011", strand:1},
{id: 1014, start:1095276, end:1096034, name:"PA1012", strand:1},
{id: 1015, start:1096063, end:1096773, name:"PA1013", strand:1},
{id: 1016, start:1097296, end:1098288, name:"PA1014", strand:1},
{id: 1017, start:1098328, end:1099128, name:"PA1015", strand:-1},
{id: 1018, start:1099669, end:1100820, name:"PA1016", strand:1},
{id: 1019, start:1100930, end:1103077, name:"PA1017", strand:1},
{id: 1020, start:1103061, end:1103927, name:"PA1018", strand:1},
{id: 1021, start:1104009, end:1105364, name:"PA1019", strand:1},
{id: 1022, start:1105888, end:1107000, name:"PA1020", strand:1},
{id: 1023, start:1107000, end:1107761, name:"PA1021", strand:1},
{id: 1024, start:1107763, end:1108908, name:"PA1022", strand:1},
{id: 1025, start:1108949, end:1109866, name:"PA1023", strand:1},
{id: 1026, start:1109882, end:1110868, name:"PA1024", strand:1},
{id: 1027, start:1110947, end:1112197, name:"PA1025", strand:1},
{id: 1028, start:1112574, end:1113050, name:"PA1026", strand:-1},
{id: 1029, start:1113129, end:1114718, name:"PA1027", strand:1},
{id: 1030, start:1114774, end:1116060, name:"PA1028", strand:1},
{id: 1031, start:1116213, end:1116500, name:"PA1029", strand:1},
{id: 1032, start:1116635, end:1117390, name:"PA1030", strand:1},
{id: 1033, start:1118158, end:1119519, name:"PA1031", strand:1},
{id: 1034, start:1119674, end:1122217, name:"PA1032", strand:-1},
{id: 1035, start:1122340, end:1122981, name:"PA1033", strand:-1},
{id: 1036, start:1123148, end:1123348, name:"PA1034", strand:-1},
{id: 1037, start:1123356, end:1123850, name:"PA1035", strand:-1},
{id: 1038, start:1124165, end:1124725, name:"PA1036", strand:1},
{id: 1039, start:1124845, end:1125465, name:"PA1037", strand:-1},
{id: 1040, start:1125548, end:1125865, name:"PA1038", strand:-1},
{id: 1041, start:1125865, end:1126338, name:"PA1039", strand:-1},
{id: 1042, start:1126341, end:1126838, name:"PA1040", strand:-1},
{id: 1043, start:1126969, end:1127601, name:"PA1041", strand:1},
{id: 1044, start:1127717, end:1128016, name:"PA1042", strand:1},
{id: 1045, start:1128009, end:1128818, name:"PA1043", strand:1},
{id: 1046, start:1128857, end:1129321, name:"PA1044", strand:-1},
{id: 1047, start:1129451, end:1131595, name:"PA1045", strand:1},
{id: 1048, start:1131674, end:1133947, name:"PA1046", strand:1},
{id: 1049, start:1134024, end:1135202, name:"PA1047", strand:1},
{id: 1050, start:1135408, end:1136289, name:"PA1048", strand:1},
{id: 1051, start:1136388, end:1137035, name:"PA1049", strand:1},
{id: 1052, start:1137043, end:1138155, name:"PA1050", strand:1},
{id: 1053, start:1138314, end:1139672, name:"PA1051", strand:1},
{id: 1054, start:1139714, end:1140859, name:"PA1052", strand:1},
{id: 1055, start:1141268, end:1141732, name:"PA1053", strand:1},
{id: 1056, start:1142061, end:1144862, name:"PA1054", strand:1},
{id: 1057, start:1144862, end:1145200, name:"PA1055", strand:1},
{id: 1058, start:1145197, end:1146696, name:"PA1056", strand:1},
{id: 1059, start:1146693, end:1147217, name:"PA1057", strand:1},
{id: 1060, start:1147202, end:1147471, name:"PA1058", strand:1},
{id: 1061, start:1147468, end:1147815, name:"PA1059", strand:1},
{id: 1062, start:1147928, end:1148833, name:"PA1060", strand:1},
{id: 1063, start:1148844, end:1149941, name:"PA1061", strand:1},
{id: 1064, start:1149952, end:1150473, name:"PA1062", strand:1},
{id: 1065, start:1150470, end:1150721, name:"PA1063", strand:1},
{id: 1066, start:1150750, end:1151415, name:"PA1064", strand:-1},
{id: 1067, start:1151435, end:1151908, name:"PA1065", strand:1},
{id: 1068, start:1151919, end:1152575, name:"PA1066", strand:-1},
{id: 1069, start:1152624, end:1153538, name:"PA1067", strand:1},
{id: 1070, start:1153637, end:1155547, name:"PA1068", strand:1},
{id: 1071, start:1155584, end:1157878, name:"PA1069", strand:1},
{id: 1072, start:1157954, end:1158655, name:"PA1070", strand:-1},
{id: 1073, start:1158658, end:1159425, name:"PA1071", strand:-1},
{id: 1074, start:1159422, end:1160675, name:"PA1072", strand:-1},
{id: 1075, start:1160672, end:1161595, name:"PA1073", strand:-1},
{id: 1076, start:1161856, end:1162977, name:"PA1074", strand:-1},
{id: 1077, start:1163276, end:1163593, name:"PA1075", strand:1},
{id: 1078, start:1163660, end:1164022, name:"PA1076", strand:1},
{id: 1079, start:1164275, end:1164682, name:"PA1077", strand:1},
{id: 1080, start:1164688, end:1165128, name:"PA1078", strand:1},
{id: 1081, start:1165141, end:1165854, name:"PA1079", strand:1},
{id: 1082, start:1165882, end:1167270, name:"PA1080", strand:1},
{id: 1083, start:1167488, end:1168237, name:"PA1081", strand:1},
{id: 1084, start:1168284, end:1169069, name:"PA1082", strand:1},
{id: 1085, start:1169115, end:1169810, name:"PA1083", strand:1},
{id: 1086, start:1169822, end:1170931, name:"PA1084", strand:1},
{id: 1087, start:1170942, end:1172144, name:"PA1085", strand:1},
{id: 1088, start:1172163, end:1174214, name:"PA1086", strand:1},
{id: 1089, start:1174240, end:1175559, name:"PA1087", strand:1},
{id: 1090, start:1175614, end:1176375, name:"PA1088", strand:1},
{id: 1091, start:1176380, end:1176982, name:"PA1089", strand:1},
{id: 1092, start:1176958, end:1177620, name:"PA1090", strand:1},
{id: 1093, start:1177613, end:1182697, name:"PA1091", strand:1},
{id: 1094, start:1183058, end:1184524, name:"PA1092", strand:1},
{id: 1095, start:1184603, end:1184974, name:"PA1093", strand:1},
{id: 1096, start:1185060, end:1186484, name:"PA1094", strand:1},
{id: 1097, start:1186606, end:1186986, name:"PA1095", strand:1},
{id: 1098, start:1187009, end:1187305, name:"PA1096", strand:1},
{id: 1099, start:1187587, end:1189059, name:"PA1097", strand:1},
{id: 1100, start:1189172, end:1190380, name:"PA1098", strand:1},
{id: 1101, start:1190385, end:1191806, name:"PA1099", strand:1},
{id: 1102, start:1192053, end:1192382, name:"PA1100", strand:1},
{id: 1103, start:1192405, end:1194201, name:"PA1101", strand:1},
{id: 1104, start:1194207, end:1195223, name:"PA1102", strand:1},
{id: 1105, start:1195225, end:1196031, name:"PA1103", strand:1},
{id: 1106, start:1196021, end:1197376, name:"PA1104", strand:1},
{id: 1107, start:1197390, end:1197833, name:"PA1105", strand:1},
{id: 1108, start:1197838, end:1198551, name:"PA1106", strand:-1},
{id: 1109, start:1198750, end:1199946, name:"PA1107", strand:-1},
{id: 1110, start:1200063, end:1201220, name:"PA1108", strand:-1},
{id: 1111, start:1201310, end:1202089, name:"PA1109", strand:1},
{id: 1112, start:1202094, end:1202804, name:"PA1110", strand:-1},
{id: 1113, start:1202917, end:1203540, name:"PA1111", strand:1},
{id: 1114, start:1203633, end:1204781, name:"PA1112", strand:1},
{id: 1115, start:1205771, end:1207537, name:"PA1113", strand:1},
{id: 1116, start:1207540, end:1207875, name:"PA1114", strand:-1},
{id: 1117, start:1207979, end:1210303, name:"PA1115", strand:-1},
{id: 1118, start:1210558, end:1211397, name:"PA1116", strand:1},
{id: 1119, start:1211407, end:1211781, name:"PA1117", strand:-1},
{id: 1120, start:1211888, end:1212571, name:"PA1118", strand:-1},
{id: 1121, start:1212717, end:1213223, name:"PA1119", strand:-1},
{id: 1122, start:1213195, end:1214502, name:"PA1120", strand:-1},
{id: 1123, start:1214502, end:1215074, name:"PA1121", strand:-1},
{id: 1124, start:1215284, end:1215727, name:"PA1122", strand:1},
{id: 1125, start:1216120, end:1216440, name:"PA1123", strand:-1},
{id: 1126, start:1216671, end:1218167, name:"PA1124", strand:1},
{id: 1127, start:1218181, end:1218933, name:"PA1125", strand:1},
{id: 1128, start:1218940, end:1219527, name:"PA1126", strand:-1},
{id: 1129, start:1219621, end:1220610, name:"PA1127", strand:-1},
{id: 1130, start:1220745, end:1221656, name:"PA1128", strand:1},
{id: 1131, start:1221691, end:1222098, name:"PA1129", strand:1},
{id: 1132, start:1222095, end:1223072, name:"PA1130", strand:-1},
{id: 1133, start:1223060, end:1224328, name:"PA1131", strand:-1},
{id: 1134, start:1224641, end:1225330, name:"PA1132", strand:1},
{id: 1135, start:1225340, end:1225690, name:"PA1133", strand:-1},
{id: 1136, start:1225757, end:1226278, name:"PA1134", strand:-1},
{id: 1137, start:1226427, end:1227302, name:"PA1135", strand:-1},
{id: 1138, start:1227474, end:1228205, name:"PA1136", strand:1},
{id: 1139, start:1228212, end:1229198, name:"PA1137", strand:-1},
{id: 1140, start:1229344, end:1230219, name:"PA1138", strand:1},
{id: 1141, start:1230310, end:1231158, name:"PA1139", strand:1},
{id: 1142, start:1231256, end:1232092, name:"PA1140", strand:-1},
{id: 1143, start:1232229, end:1233131, name:"PA1141", strand:-1},
{id: 1144, start:1233297, end:1234013, name:"PA1142", strand:-1},
{id: 1145, start:1234095, end:1234748, name:"PA1143", strand:-1},
{id: 1146, start:1234816, end:1236150, name:"PA1144", strand:-1},
{id: 1147, start:1236644, end:1237546, name:"PA1145", strand:1},
{id: 1148, start:1237551, end:1238732, name:"PA1146", strand:-1},
{id: 1149, start:1238834, end:1240324, name:"PA1147", strand:-1},
{id: 1150, start:1240584, end:1242500, name:"PA1148", strand:-1},
{id: 1151, start:1242750, end:1243118, name:"PA1149", strand:-1},
{id: 1152, start:1243594, end:1245663, name:"PA1150", strand:1},
{id: 1153, start:1245665, end:1245928, name:"PA1151", strand:1},
{id: 1154, start:1246444, end:1246788, name:"PA1152", strand:1},
{id: 1155, start:1247932, end:1248486, name:"PA1153", strand:-1},
{id: 1156, start:1249019, end:1249552, name:"PA1154", strand:-1},
{id: 1157, start:1249907, end:1251154, name:"PA1155", strand:-1},
{id: 1158, start:1251418, end:1254309, name:"PA1156", strand:-1},
{id: 1159, start:1255042, end:1255752, name:"PA1157", strand:1},
{id: 1160, start:1256094, end:1257452, name:"PA1158", strand:1},
{id: 1161, start:1257772, end:1257981, name:"PA1159", strand:1},
{id: 1162, start:1258087, end:1258470, name:"PA1160", strand:-1},
{id: 1163, start:1258488, end:1259291, name:"PA1161", strand:-1},
{id: 1164, start:1259291, end:1260442, name:"PA1162", strand:-1},
{id: 1165, start:1260557, end:1263166, name:"PA1163", strand:-1},
{id: 1166, start:1263378, end:1264190, name:"PA1164", strand:1},
{id: 1167, start:1264191, end:1264919, name:"PA1165", strand:-1},
{id: 1168, start:1265147, end:1265935, name:"PA1166", strand:-1},
{id: 1169, start:1266111, end:1266782, name:"PA1167", strand:1},
{id: 1170, start:1267282, end:1267602, name:"PA1168", strand:1},
{id: 1171, start:1267680, end:1269737, name:"PA1169", strand:1},
{id: 1172, start:1269781, end:1270515, name:"PA1170", strand:-1},
{id: 1173, start:1270972, end:1272168, name:"PA1171", strand:1},
{id: 1174, start:1272200, end:1272796, name:"PA1172", strand:-1},
{id: 1175, start:1272807, end:1273298, name:"PA1173", strand:-1},
{id: 1176, start:1273309, end:1275798, name:"PA1174", strand:-1},
{id: 1177, start:1275795, end:1276124, name:"PA1175", strand:-1},
{id: 1178, start:1276117, end:1276608, name:"PA1176", strand:-1},
{id: 1179, start:1276617, end:1276784, name:"PA1177", strand:-1},
{id: 1180, start:1277006, end:1277608, name:"PA1178", strand:1},
{id: 1181, start:1277688, end:1278365, name:"PA1179", strand:1},
{id: 1182, start:1278362, end:1279708, name:"PA1180", strand:1},
{id: 1183, start:1279810, end:1283172, name:"PA1181", strand:1},
{id: 1184, start:1283176, end:1284177, name:"PA1182", strand:-1},
{id: 1185, start:1284513, end:1285823, name:"PA1183", strand:1},
{id: 1186, start:1285898, end:1286788, name:"PA1184", strand:-1},
{id: 1187, start:1286990, end:1287619, name:"PA1185", strand:1},
{id: 1188, start:1287616, end:1288635, name:"PA1186", strand:1},
{id: 1189, start:1288737, end:1289876, name:"PA1187", strand:1},
{id: 1190, start:1289965, end:1291146, name:"PA1188", strand:1},
{id: 1191, start:1291148, end:1291645, name:"PA1189", strand:-1},
{id: 1192, start:1291813, end:1292412, name:"PA1190", strand:-1},
{id: 1193, start:1292571, end:1293164, name:"PA1191", strand:-1},
{id: 1194, start:1293267, end:1294091, name:"PA1192", strand:1},
{id: 1195, start:1294138, end:1294809, name:"PA1193", strand:1},
{id: 1196, start:1294811, end:1296229, name:"PA1194", strand:-1},
{id: 1197, start:1296334, end:1297098, name:"PA1195", strand:-1},
{id: 1198, start:1297309, end:1298709, name:"PA1196", strand:1},
{id: 1199, start:1298722, end:1299492, name:"PA1197", strand:1},
{id: 1200, start:1299558, end:1300175, name:"PA1198", strand:1},
{id: 1201, start:1300258, end:1300791, name:"PA1199", strand:1},
{id: 1202, start:1300811, end:1301473, name:"PA1200", strand:1},
{id: 1203, start:1301481, end:1302395, name:"PA1201", strand:-1},
{id: 1204, start:1302696, end:1303313, name:"PA1202", strand:1},
{id: 1205, start:1303457, end:1303864, name:"PA1203", strand:1},
{id: 1206, start:1303892, end:1304449, name:"PA1204", strand:1},
{id: 1207, start:1304476, end:1305423, name:"PA1205", strand:1},
{id: 1208, start:1305583, end:1306056, name:"PA1206", strand:1},
{id: 1209, start:1306059, end:1307900, name:"PA1207", strand:1},
{id: 1210, start:1308067, end:1309566, name:"PA1208", strand:1},
{id: 1211, start:1309583, end:1310518, name:"PA1209", strand:-1},
{id: 1212, start:1310688, end:1311386, name:"PA1210", strand:-1},
{id: 1213, start:1311504, end:1312139, name:"PA1211", strand:-1},
{id: 1214, start:1312136, end:1313365, name:"PA1212", strand:-1},
{id: 1215, start:1313362, end:1314321, name:"PA1213", strand:-1},
{id: 1216, start:1314318, end:1315916, name:"PA1214", strand:-1},
{id: 1217, start:1315916, end:1317202, name:"PA1215", strand:-1},
{id: 1218, start:1317404, end:1318150, name:"PA1216", strand:-1},
{id: 1219, start:1318147, end:1319514, name:"PA1217", strand:-1},
{id: 1220, start:1319511, end:1320389, name:"PA1218", strand:-1},
{id: 1221, start:1320386, end:1321000, name:"PA1219", strand:-1},
{id: 1222, start:1320994, end:1322256, name:"PA1220", strand:-1},
{id: 1223, start:1322253, end:1324109, name:"PA1221", strand:-1},
{id: 1224, start:1324793, end:1325950, name:"PA1222", strand:-1},
{id: 1225, start:1326046, end:1326939, name:"PA1223", strand:-1},
{id: 1226, start:1327024, end:1327803, name:"PA1224", strand:1},
{id: 1227, start:1327813, end:1328439, name:"PA1225", strand:-1},
{id: 1228, start:1328545, end:1329153, name:"PA1226", strand:1},
{id: 1229, start:1329192, end:1330040, name:"PA1227", strand:1},
{id: 1230, start:1330117, end:1330467, name:"PA1228", strand:-1},
{id: 1231, start:1330577, end:1331383, name:"PA1229", strand:-1},
{id: 1232, start:1331517, end:1331714, name:"PA1230", strand:1},
{id: 1233, start:1331727, end:1332635, name:"PA1231", strand:1},
{id: 1234, start:1332635, end:1334674, name:"PA1232", strand:1},
{id: 1235, start:1334671, end:1334928, name:"PA1233", strand:1},
{id: 1236, start:1334950, end:1335453, name:"PA1234", strand:-1},
{id: 1237, start:1335645, end:1336427, name:"PA1235", strand:1},
{id: 1238, start:1336430, end:1337941, name:"PA1236", strand:-1},
{id: 1239, start:1337931, end:1339082, name:"PA1237", strand:-1},
{id: 1240, start:1339079, end:1340527, name:"PA1238", strand:-1},
{id: 1241, start:1340910, end:1341794, name:"PA1239", strand:-1},
{id: 1242, start:1341851, end:1342648, name:"PA1240", strand:-1},
{id: 1243, start:1342813, end:1343373, name:"PA1241", strand:1},
{id: 1244, start:1343453, end:1345225, name:"PA1242", strand:1},
{id: 1245, start:1345248, end:1347824, name:"PA1243", strand:-1},
{id: 1246, start:1348060, end:1348401, name:"PA1244", strand:-1},
{id: 1247, start:1349416, end:1350660, name:"PA1245", strand:1},
{id: 1248, start:1350747, end:1352528, name:"PA1246", strand:1},
{id: 1249, start:1352525, end:1353823, name:"PA1247", strand:1},
{id: 1250, start:1353827, end:1355272, name:"PA1248", strand:1},
{id: 1251, start:1355631, end:1357070, name:"PA1249", strand:1},
{id: 1252, start:1357317, end:1357712, name:"PA1250", strand:1},
{id: 1253, start:1357725, end:1359350, name:"PA1251", strand:-1},
{id: 1254, start:1359590, end:1360594, name:"PA1252", strand:1},
{id: 1255, start:1360698, end:1362278, name:"PA1253", strand:-1},
{id: 1256, start:1362371, end:1363288, name:"PA1254", strand:-1},
{id: 1257, start:1363439, end:1364473, name:"PA1255", strand:-1},
{id: 1258, start:1364499, end:1365221, name:"PA1256", strand:-1},
{id: 1259, start:1365218, end:1365862, name:"PA1257", strand:-1},
{id: 1260, start:1365873, end:1366538, name:"PA1258", strand:-1},
{id: 1261, start:1366538, end:1368280, name:"PA1259", strand:-1},
{id: 1262, start:1368339, end:1369160, name:"PA1260", strand:-1},
{id: 1263, start:1369418, end:1370092, name:"PA1261", strand:-1},
{id: 1264, start:1370257, end:1371699, name:"PA1262", strand:-1},
{id: 1265, start:1371738, end:1372682, name:"PA1263", strand:1},
{id: 1266, start:1372979, end:1373845, name:"PA1264", strand:-1},
{id: 1267, start:1373945, end:1374847, name:"PA1265", strand:1},
{id: 1268, start:1374844, end:1376097, name:"PA1266", strand:-1},
{id: 1269, start:1376327, end:1377442, name:"PA1267", strand:-1},
{id: 1270, start:1377439, end:1378383, name:"PA1268", strand:-1},
{id: 1271, start:1378500, end:1379168, name:"PA1269", strand:-1},
{id: 1272, start:1379413, end:1381452, name:"PA1270", strand:1},
{id: 1273, start:1381804, end:1383654, name:"PA1271", strand:1},
{id: 1274, start:1383718, end:1384329, name:"PA1272", strand:1},
{id: 1275, start:1384361, end:1385668, name:"PA1273", strand:1},
{id: 1276, start:1385670, end:1386326, name:"PA1274", strand:1},
{id: 1277, start:1386323, end:1387261, name:"PA1275", strand:1},
{id: 1278, start:1387254, end:1388249, name:"PA1276", strand:1},
{id: 1279, start:1388242, end:1389714, name:"PA1277", strand:1},
{id: 1280, start:1389707, end:1390228, name:"PA1278", strand:1},
{id: 1281, start:1390225, end:1391280, name:"PA1279", strand:1},
{id: 1282, start:1391277, end:1391861, name:"PA1280", strand:1},
{id: 1283, start:1391864, end:1392601, name:"PA1281", strand:1},
{id: 1284, start:1392564, end:1394069, name:"PA1282", strand:-1},
{id: 1285, start:1394188, end:1394748, name:"PA1283", strand:1},
{id: 1286, start:1394779, end:1396599, name:"PA1284", strand:-1},
{id: 1287, start:1396731, end:1397180, name:"PA1285", strand:1},
{id: 1288, start:1397254, end:1398453, name:"PA1286", strand:1},
{id: 1289, start:1398618, end:1399172, name:"PA1287", strand:1},
{id: 1290, start:1399231, end:1400505, name:"PA1288", strand:-1},
{id: 1291, start:1400711, end:1401190, name:"PA1289", strand:-1},
{id: 1292, start:1401412, end:1402005, name:"PA1290", strand:-1},
{id: 1293, start:1402117, end:1402956, name:"PA1291", strand:1},
{id: 1294, start:1402981, end:1403835, name:"PA1292", strand:-1},
{id: 1295, start:1404136, end:1405197, name:"PA1293", strand:-1},
{id: 1296, start:1405338, end:1406462, name:"PA1294", strand:1},
{id: 1297, start:1406459, end:1406752, name:"PA1295", strand:1},
{id: 1298, start:1407007, end:1407939, name:"PA1296", strand:1},
{id: 1299, start:1407951, end:1408931, name:"PA1297", strand:-1},
{id: 1300, start:1408999, end:1409274, name:"PA1298", strand:1},
{id: 1301, start:1409351, end:1409800, name:"PA1299", strand:1},
{id: 1302, start:1409949, end:1410476, name:"PA1300", strand:1},
{id: 1303, start:1410473, end:1411456, name:"PA1301", strand:1},
{id: 1304, start:1411585, end:1414140, name:"PA1302", strand:1},
{id: 1305, start:1414147, end:1414686, name:"PA1303", strand:-1},
{id: 1306, start:1414763, end:1416814, name:"PA1304", strand:-1},
{id: 1307, start:1416963, end:1417436, name:"PA1305", strand:1},
{id: 1308, start:1417500, end:1417961, name:"PA1306", strand:1},
{id: 1309, start:1417965, end:1418738, name:"PA1307", strand:1},
{id: 1310, start:1418765, end:1419289, name:"PA1308", strand:1},
{id: 1311, start:1419298, end:1420158, name:"PA1309", strand:-1},
{id: 1312, start:1420326, end:1421441, name:"PA1310", strand:1},
{id: 1313, start:1421477, end:1422304, name:"PA1311", strand:1},
{id: 1314, start:1422355, end:1423266, name:"PA1312", strand:-1},
{id: 1315, start:1423374, end:1424732, name:"PA1313", strand:1},
{id: 1316, start:1424746, end:1425132, name:"PA1314", strand:1},
{id: 1317, start:1425140, end:1425754, name:"PA1315", strand:-1},
{id: 1318, start:1425912, end:1427453, name:"PA1316", strand:1},
{id: 1319, start:1428080, end:1429075, name:"PA1317", strand:1},
{id: 1320, start:1429082, end:1431058, name:"PA1318", strand:1},
{id: 1321, start:1431062, end:1431691, name:"PA1319", strand:1},
{id: 1322, start:1431691, end:1432026, name:"PA1320", strand:1},
{id: 1323, start:1432037, end:1432927, name:"PA1321", strand:1},
{id: 1324, start:1433166, end:1435364, name:"PA1322", strand:1},
{id: 1325, start:1435493, end:1435825, name:"PA1323", strand:1},
{id: 1326, start:1435885, end:1436397, name:"PA1324", strand:1},
{id: 1327, start:1436663, end:1437070, name:"PA1325", strand:1},
{id: 1328, start:1437067, end:1438614, name:"PA1326", strand:1},
{id: 1329, start:1438706, end:1440676, name:"PA1327", strand:1},
{id: 1330, start:1440639, end:1441547, name:"PA1328", strand:-1},
{id: 1331, start:1441632, end:1442063, name:"PA1329", strand:1},
{id: 1332, start:1442069, end:1442848, name:"PA1330", strand:1},
{id: 1333, start:1442904, end:1444451, name:"PA1331", strand:-1},
{id: 1334, start:1444720, end:1445271, name:"PA1332", strand:-1},
{id: 1335, start:1445405, end:1445611, name:"PA1333", strand:-1},
{id: 1336, start:1445806, end:1446918, name:"PA1334", strand:-1},
{id: 1337, start:1447226, end:1448503, name:"PA1335", strand:-1},
{id: 1338, start:1448548, end:1450449, name:"PA1336", strand:-1},
{id: 1339, start:1450545, end:1451633, name:"PA1337", strand:-1},
{id: 1340, start:1451719, end:1453392, name:"PA1338", strand:-1},
{id: 1341, start:1453470, end:1454204, name:"PA1339", strand:-1},
{id: 1342, start:1454201, end:1454869, name:"PA1340", strand:-1},
{id: 1343, start:1454866, end:1455612, name:"PA1341", strand:-1},
{id: 1344, start:1455815, end:1456723, name:"PA1342", strand:-1},
{id: 1345, start:1457175, end:1457633, name:"PA1343", strand:1},
{id: 1346, start:1457729, end:1458523, name:"PA1344", strand:1},
{id: 1347, start:1458707, end:1460296, name:"PA1345", strand:1},
{id: 1348, start:1460307, end:1461854, name:"PA1346", strand:-1},
{id: 1349, start:1461938, end:1462630, name:"PA1347", strand:-1},
{id: 1350, start:1462696, end:1463403, name:"PA1348", strand:1},
{id: 1351, start:1463586, end:1463936, name:"PA1349", strand:1},
{id: 1352, start:1464111, end:1464860, name:"PA1350", strand:1},
{id: 1353, start:1464878, end:1466101, name:"PA1351", strand:1},
{id: 1354, start:1466109, end:1467320, name:"PA1352", strand:-1},
{id: 1355, start:1467488, end:1467901, name:"PA1353", strand:-1},
{id: 1356, start:1467938, end:1468363, name:"PA1354", strand:-1},
{id: 1357, start:1468510, end:1468890, name:"PA1355", strand:1},
{id: 1358, start:1468913, end:1470019, name:"PA1356", strand:1},
{id: 1359, start:1470088, end:1470564, name:"PA1357", strand:1},
{id: 1360, start:1470580, end:1470978, name:"PA1358", strand:-1},
{id: 1361, start:1471016, end:1471672, name:"PA1359", strand:-1},
{id: 1362, start:1471671, end:1472564, name:"PA1360", strand:1},
{id: 1363, start:1472547, end:1473980, name:"PA1361", strand:-1},
{id: 1364, start:1474391, end:1474714, name:"PA1362", strand:1},
{id: 1365, start:1474727, end:1475467, name:"PA1363", strand:1},
{id: 1366, start:1475464, end:1476306, name:"PA1364", strand:1},
{id: 1367, start:1476384, end:1478825, name:"PA1365", strand:1},
{id: 1368, start:1479021, end:1479791, name:"PA1366", strand:-1},
{id: 1369, start:1480215, end:1481051, name:"PA1367", strand:-1},
{id: 1370, start:1481334, end:1482758, name:"PA1368", strand:-1},
{id: 1371, start:1483123, end:1483875, name:"PA1369", strand:1},
{id: 1372, start:1483898, end:1485763, name:"PA1370", strand:1},
{id: 1373, start:1486266, end:1486967, name:"PA1371", strand:-1},
{id: 1374, start:1486960, end:1489095, name:"PA1372", strand:-1},
{id: 1375, start:1489815, end:1491083, name:"PA1373", strand:-1},
{id: 1376, start:1491192, end:1491698, name:"PA1374", strand:1},
{id: 1377, start:1491913, end:1493055, name:"PA1375", strand:1},
{id: 1378, start:1493090, end:1494823, name:"PA1376", strand:-1},
{id: 1379, start:1494959, end:1495492, name:"PA1377", strand:1},
{id: 1380, start:1495635, end:1495997, name:"PA1378", strand:1},
{id: 1381, start:1496087, end:1496920, name:"PA1379", strand:-1},
{id: 1382, start:1497012, end:1497977, name:"PA1380", strand:1},
{id: 1383, start:1498338, end:1498829, name:"PA1381", strand:1},
{id: 1384, start:1498813, end:1501092, name:"PA1382", strand:1},
{id: 1385, start:1501611, end:1503416, name:"PA1383", strand:1},
{id: 1386, start:1503568, end:1504581, name:"PA1384", strand:1},
{id: 1387, start:1504605, end:1505729, name:"PA1385", strand:1},
{id: 1388, start:1505749, end:1507017, name:"PA1386", strand:1},
{id: 1389, start:1507164, end:1508720, name:"PA1387", strand:1},
{id: 1390, start:1508737, end:1509465, name:"PA1388", strand:1},
{id: 1391, start:1509562, end:1511046, name:"PA1389", strand:1},
{id: 1392, start:1511232, end:1512266, name:"PA1390", strand:1},
{id: 1393, start:1512260, end:1514035, name:"PA1391", strand:1},
{id: 1394, start:1514036, end:1515280, name:"PA1392", strand:1},
{id: 1395, start:1515337, end:1515927, name:"PA1393", strand:-1},
{id: 1396, start:1516433, end:1516687, name:"PA1394", strand:1},
{id: 1397, start:1516703, end:1517119, name:"PA1395", strand:1},
{id: 1398, start:1517146, end:1518768, name:"PA1396", strand:-1},
{id: 1399, start:1518914, end:1519546, name:"PA1397", strand:1},
{id: 1400, start:1519627, end:1519968, name:"PA1398", strand:1},
{id: 1401, start:1519984, end:1520904, name:"PA1399", strand:-1},
{id: 1402, start:1521109, end:1524396, name:"PA1400", strand:1},
{id: 1403, start:1524424, end:1524831, name:"PA1401", strand:-1},
{id: 1404, start:1524909, end:1525574, name:"PA1402", strand:-1},
{id: 1405, start:1525667, end:1526299, name:"PA1403", strand:1},
{id: 1406, start:1526430, end:1526657, name:"PA1404", strand:-1},
{id: 1407, start:1527191, end:1528783, name:"PA1405", strand:1},
{id: 1408, start:1528803, end:1529561, name:"PA1406", strand:-1},
{id: 1409, start:1529597, end:1530538, name:"PA1407", strand:-1},
{id: 1410, start:1530605, end:1533028, name:"PA1408", strand:-1},
{id: 1411, start:1533238, end:1534278, name:"PA1409", strand:1},
{id: 1412, start:1534289, end:1535380, name:"PA1410", strand:1},
{id: 1413, start:1535586, end:1536497, name:"PA1411", strand:1},
{id: 1414, start:1536457, end:1537650, name:"PA1412", strand:-1},
{id: 1415, start:1537755, end:1538627, name:"PA1413", strand:1},
{id: 1416, start:1538683, end:1538916, name:"PA1414", strand:1},
{id: 1417, start:1538976, end:1539704, name:"PA1415", strand:-1},
{id: 1418, start:1539749, end:1541131, name:"PA1416", strand:-1},
{id: 1419, start:1541145, end:1542746, name:"PA1417", strand:-1},
{id: 1420, start:1542822, end:1544213, name:"PA1418", strand:-1},
{id: 1421, start:1544307, end:1545818, name:"PA1419", strand:-1},
{id: 1422, start:1545837, end:1546256, name:"PA1420", strand:-1},
{id: 1423, start:1546271, end:1547230, name:"PA1421", strand:-1},
{id: 1424, start:1547437, end:1548330, name:"PA1422", strand:1},
{id: 1425, start:1548334, end:1549587, name:"PA1423", strand:-1},
{id: 1426, start:1549883, end:1550494, name:"PA1424", strand:1},
{id: 1427, start:1550984, end:1552600, name:"PA1425", strand:1},
{id: 1428, start:1552641, end:1552997, name:"PA1426", strand:1},
{id: 1429, start:1553112, end:1553675, name:"PA1427", strand:1},
{id: 1430, start:1554415, end:1554846, name:"PA1428", strand:1},
{id: 1431, start:1555012, end:1557720, name:"PA1429", strand:1},
{id: 1432, start:1558171, end:1558890, name:"PA1430", strand:1},
{id: 1433, start:1558880, end:1559122, name:"PA1431", strand:-1},
{id: 1434, start:1559254, end:1559859, name:"PA1432", strand:1},
{id: 1435, start:1559966, end:1561918, name:"PA1433", strand:-1},
{id: 1436, start:1561919, end:1562632, name:"PA1434", strand:-1},
{id: 1437, start:1562813, end:1563970, name:"PA1435", strand:1},
{id: 1438, start:1563967, end:1567077, name:"PA1436", strand:1},
{id: 1439, start:1567181, end:1567870, name:"PA1437", strand:1},
{id: 1440, start:1567848, end:1569293, name:"PA1438", strand:1},
{id: 1441, start:1569302, end:1569709, name:"PA1439", strand:-1},
{id: 1442, start:1569721, end:1570308, name:"PA1440", strand:-1},
{id: 1443, start:1570496, end:1571779, name:"PA1441", strand:1},
{id: 1444, start:1572023, end:1572544, name:"PA1442", strand:1},
{id: 1445, start:1572552, end:1573523, name:"PA1443", strand:1},
{id: 1446, start:1573551, end:1574024, name:"PA1444", strand:1},
{id: 1447, start:1574026, end:1574478, name:"PA1445", strand:1},
{id: 1448, start:1574475, end:1575242, name:"PA1446", strand:1},
{id: 1449, start:1575290, end:1575559, name:"PA1447", strand:1},
{id: 1450, start:1575559, end:1576335, name:"PA1448", strand:1},
{id: 1451, start:1576338, end:1577474, name:"PA1449", strand:1},
{id: 1452, start:1577547, end:1578806, name:"PA1450", strand:1},
{id: 1453, start:1578839, end:1580182, name:"PA1451", strand:1},
{id: 1454, start:1580321, end:1582444, name:"PA1452", strand:1},
{id: 1455, start:1582528, end:1583817, name:"PA1453", strand:1},
{id: 1456, start:1583956, end:1584798, name:"PA1454", strand:1},
{id: 1457, start:1584795, end:1585538, name:"PA1455", strand:1},
{id: 1458, start:1585640, end:1586014, name:"PA1456", strand:1},
{id: 1459, start:1586034, end:1586822, name:"PA1457", strand:1},
{id: 1460, start:1587023, end:1589284, name:"PA1458", strand:1},
{id: 1461, start:1589338, end:1590444, name:"PA1459", strand:1},
{id: 1462, start:1590533, end:1591273, name:"PA1460", strand:1},
{id: 1463, start:1591286, end:1592176, name:"PA1461", strand:1},
{id: 1464, start:1592271, end:1593059, name:"PA1462", strand:1},
{id: 1465, start:1593151, end:1594041, name:"PA1463", strand:1},
{id: 1466, start:1594087, end:1594566, name:"PA1464", strand:1},
{id: 1467, start:1594597, end:1595004, name:"PA1465", strand:1},
{id: 1468, start:1595032, end:1595718, name:"PA1466", strand:-1},
{id: 1469, start:1595827, end:1596798, name:"PA1467", strand:1},
{id: 1470, start:1596889, end:1597305, name:"PA1468", strand:1},
{id: 1471, start:1597365, end:1598087, name:"PA1469", strand:1},
{id: 1472, start:1598221, end:1598958, name:"PA1470", strand:1},
{id: 1473, start:1599024, end:1599320, name:"PA1471", strand:-1},
{id: 1474, start:1599428, end:1599982, name:"PA1472", strand:-1},
{id: 1475, start:1600083, end:1600418, name:"PA1473", strand:-1},
{id: 1476, start:1600415, end:1601893, name:"PA1474", strand:-1},
{id: 1477, start:1602179, end:1602880, name:"PA1475", strand:1},
{id: 1478, start:1602877, end:1603548, name:"PA1476", strand:1},
{id: 1479, start:1603671, end:1604429, name:"PA1477", strand:1},
{id: 1480, start:1604426, end:1604602, name:"PA1478", strand:1},
{id: 1481, start:1604599, end:1605087, name:"PA1479", strand:1},
{id: 1482, start:1605088, end:1607061, name:"PA1480", strand:1},
{id: 1483, start:1607065, end:1607607, name:"PA1481", strand:1},
{id: 1484, start:1607604, end:1608071, name:"PA1482", strand:1},
{id: 1485, start:1608068, end:1609291, name:"PA1483", strand:1},
{id: 1486, start:1609738, end:1610544, name:"PA1484", strand:-1},
{id: 1487, start:1610745, end:1612112, name:"PA1485", strand:1},
{id: 1488, start:1612126, end:1613226, name:"PA1486", strand:1},
{id: 1489, start:1613234, end:1614649, name:"PA1487", strand:-1},
{id: 1490, start:1614670, end:1615908, name:"PA1488", strand:-1},
{id: 1491, start:1615895, end:1617085, name:"PA1489", strand:-1},
{id: 1492, start:1617489, end:1618265, name:"PA1490", strand:-1},
{id: 1493, start:1618612, end:1619847, name:"PA1491", strand:1},
{id: 1494, start:1619907, end:1620263, name:"PA1492", strand:1},
{id: 1495, start:1620345, end:1621343, name:"PA1493", strand:-1},
{id: 1496, start:1621472, end:1623127, name:"PA1494", strand:-1},
{id: 1497, start:1623251, end:1623877, name:"PA1495", strand:-1},
{id: 1498, start:1623864, end:1624715, name:"PA1496", strand:-1},
{id: 1499, start:1624781, end:1625695, name:"PA1497", strand:-1},
{id: 1500, start:1626062, end:1627495, name:"PA1498", strand:-1},
{id: 1501, start:1627497, end:1628762, name:"PA1499", strand:-1},
{id: 1502, start:1629059, end:1629949, name:"PA1500", strand:-1},
{id: 1503, start:1630024, end:1630806, name:"PA1501", strand:-1},
{id: 1504, start:1630902, end:1632677, name:"PA1502", strand:-1},
{id: 1505, start:1633006, end:1633437, name:"PA1503", strand:1},
{id: 1506, start:1633842, end:1634492, name:"PA1504", strand:-1},
{id: 1507, start:1634728, end:1635723, name:"PA1505", strand:1},
{id: 1508, start:1635908, end:1636237, name:"PA1506", strand:1},
{id: 1509, start:1636329, end:1637696, name:"PA1507", strand:-1},
{id: 1510, start:1638379, end:1638639, name:"PA1508", strand:-1},
{id: 1511, start:1638652, end:1639794, name:"PA1509", strand:-1},
{id: 1512, start:1639791, end:1641500, name:"PA1510", strand:-1},
{id: 1513, start:1641497, end:1644025, name:"PA1511", strand:-1},
{id: 1514, start:1644207, end:1644725, name:"PA1512", strand:-1},
{id: 1515, start:1645211, end:1646488, name:"PA1513", strand:-1},
{id: 1516, start:1646537, end:1647046, name:"PA1514", strand:-1},
{id: 1517, start:1647101, end:1648099, name:"PA1515", strand:-1},
{id: 1518, start:1648117, end:1648632, name:"PA1516", strand:-1},
{id: 1519, start:1648629, end:1649555, name:"PA1517", strand:-1},
{id: 1520, start:1649928, end:1650308, name:"PA1518", strand:1},
{id: 1521, start:1650549, end:1651898, name:"PA1519", strand:-1},
{id: 1522, start:1652273, end:1653052, name:"PA1520", strand:1},
{id: 1523, start:1653106, end:1654410, name:"PA1521", strand:-1},
{id: 1524, start:1654480, end:1655319, name:"PA1522", strand:-1},
{id: 1525, start:1655346, end:1657745, name:"PA1523", strand:-1},
{id: 1526, start:1657738, end:1659192, name:"PA1524", strand:-1},
{id: 1527, start:1659413, end:1660546, name:"PA1525", strand:-1},
{id: 1528, start:1660727, end:1661386, name:"PA1526", strand:1},
{id: 1529, start:1661412, end:1664900, name:"PA1527", strand:1},
{id: 1530, start:1665065, end:1665934, name:"PA1528", strand:1},
{id: 1531, start:1666025, end:1668409, name:"PA1529", strand:1},
{id: 1532, start:1668455, end:1668832, name:"PA1530", strand:1},
{id: 1533, start:1669086, end:1669952, name:"PA1531", strand:-1},
{id: 1534, start:1669989, end:1672034, name:"PA1532", strand:1},
{id: 1535, start:1672080, end:1672406, name:"PA1533", strand:1},
{id: 1536, start:1672485, end:1673081, name:"PA1534", strand:1},
{id: 1537, start:1673204, end:1674352, name:"PA1535", strand:1},
{id: 1538, start:1674365, end:1674904, name:"PA1536", strand:-1},
{id: 1539, start:1674978, end:1675865, name:"PA1537", strand:-1},
{id: 1540, start:1675862, end:1677445, name:"PA1538", strand:-1},
{id: 1541, start:1677559, end:1678407, name:"PA1539", strand:1},
{id: 1542, start:1678261, end:1678590, name:"PA1540", strand:-1},
{id: 1543, start:1678584, end:1678952, name:"PA1541", strand:-1},
{id: 1544, start:1679361, end:1680197, name:"PA1542", strand:-1},
{id: 1545, start:1680437, end:1680985, name:"PA1543", strand:-1},
{id: 1546, start:1681071, end:1681805, name:"PA1544", strand:-1},
{id: 1547, start:1682051, end:1682518, name:"PA1545", strand:1},
{id: 1548, start:1682567, end:1683949, name:"PA1546", strand:-1},
{id: 1549, start:1684077, end:1684760, name:"PA1547", strand:-1},
{id: 1550, start:1684753, end:1684962, name:"PA1548", strand:-1},
{id: 1551, start:1684941, end:1687376, name:"PA1549", strand:-1},
{id: 1552, start:1687373, end:1687912, name:"PA1550", strand:-1},
{id: 1553, start:1687924, end:1689339, name:"PA1551", strand:-1},
{id: 1554, start:1689557, end:1690513, name:"PA1552", strand:-1},
{id: 1555, start:1690510, end:1690695, name:"PA1552.1", strand:-1},
{id: 1556, start:1690701, end:1691312, name:"PA1553", strand:-1},
{id: 1557, start:1691327, end:1692754, name:"PA1554", strand:-1},
{id: 1558, start:1693119, end:1694045, name:"PA1555", strand:-1},
{id: 1559, start:1694042, end:1694227, name:"PA1555.1", strand:-1},
{id: 1560, start:1694233, end:1694841, name:"PA1556", strand:-1},
{id: 1561, start:1694852, end:1696279, name:"PA1557", strand:-1},
{id: 1562, start:1696467, end:1697099, name:"PA1558", strand:1},
{id: 1563, start:1697188, end:1697919, name:"PA1559", strand:1},
{id: 1564, start:1697916, end:1698344, name:"PA1560", strand:1},
{id: 1565, start:1698382, end:1699947, name:"PA1561", strand:-1},
{id: 1566, start:1700320, end:1703052, name:"PA1562", strand:-1},
{id: 1567, start:1703379, end:1704437, name:"PA1563", strand:1},
{id: 1568, start:1704522, end:1704761, name:"PA1564", strand:1},
{id: 1569, start:1704793, end:1706103, name:"PA1565", strand:-1},
{id: 1570, start:1706172, end:1707536, name:"PA1566", strand:-1},
{id: 1571, start:1708004, end:1709401, name:"PA1567", strand:-1},
{id: 1572, start:1709412, end:1709765, name:"PA1568", strand:-1},
{id: 1573, start:1709821, end:1711191, name:"PA1569", strand:-1},
{id: 1574, start:1711569, end:1712450, name:"PA1570", strand:1},
{id: 1575, start:1712519, end:1712698, name:"PA1571", strand:-1},
{id: 1576, start:1712908, end:1714053, name:"PA1572", strand:1},
{id: 1577, start:1714064, end:1714660, name:"PA1573", strand:1},
{id: 1578, start:1714778, end:1715059, name:"PA1574", strand:-1},
{id: 1579, start:1715154, end:1715705, name:"PA1575", strand:-1},
{id: 1580, start:1715809, end:1716675, name:"PA1576", strand:1},
{id: 1581, start:1716682, end:1717023, name:"PA1577", strand:-1},
{id: 1582, start:1717139, end:1717894, name:"PA1578", strand:1},
{id: 1583, start:1718386, end:1718994, name:"PA1579", strand:1},
{id: 1584, start:1719109, end:1720395, name:"PA1580", strand:-1},
{id: 1585, start:1720744, end:1721130, name:"PA1581", strand:1},
{id: 1586, start:1721124, end:1721492, name:"PA1582", strand:1},
{id: 1587, start:1721496, end:1723268, name:"PA1583", strand:1},
{id: 1588, start:1723280, end:1723987, name:"PA1584", strand:1},
{id: 1589, start:1724244, end:1727075, name:"PA1585", strand:1},
{id: 1590, start:1727118, end:1728347, name:"PA1586", strand:1},
{id: 1591, start:1728416, end:1729852, name:"PA1587", strand:1},
{id: 1592, start:1730181, end:1731347, name:"PA1588", strand:1},
{id: 1593, start:1731347, end:1732234, name:"PA1589", strand:1},
{id: 1594, start:1732545, end:1733858, name:"PA1590", strand:1},
{id: 1595, start:1734004, end:1734768, name:"PA1591", strand:1},
{id: 1596, start:1734827, end:1735063, name:"PA1592", strand:-1},
{id: 1597, start:1735236, end:1735709, name:"PA1593", strand:1},
{id: 1598, start:1735706, end:1736152, name:"PA1594", strand:1},
{id: 1599, start:1736189, end:1737418, name:"PA1595", strand:1},
{id: 1600, start:1737536, end:1739440, name:"PA1596", strand:1},
{id: 1601, start:1739508, end:1740233, name:"PA1597", strand:1},
{id: 1602, start:1740244, end:1741065, name:"PA1598", strand:-1},
{id: 1603, start:1741146, end:1741928, name:"PA1599", strand:1},
{id: 1604, start:1741939, end:1743240, name:"PA1600", strand:-1},
{id: 1605, start:1743290, end:1745536, name:"PA1601", strand:-1},
{id: 1606, start:1745533, end:1746024, name:"PA1602", strand:-1},
{id: 1607, start:1746231, end:1746653, name:"PA1603", strand:-1},
{id: 1608, start:1746692, end:1747597, name:"PA1604", strand:-1},
{id: 1609, start:1747596, end:1748630, name:"PA1605", strand:1},
{id: 1610, start:1748699, end:1749175, name:"PA1606", strand:1},
{id: 1611, start:1749349, end:1749789, name:"PA1607", strand:-1},
{id: 1612, start:1749895, end:1751520, name:"PA1608", strand:-1},
{id: 1613, start:1751674, end:1752891, name:"PA1609", strand:-1},
{id: 1614, start:1752903, end:1753418, name:"PA1610", strand:-1},
{id: 1615, start:1753607, end:1755562, name:"PA1611", strand:-1},
{id: 1616, start:1755559, end:1756317, name:"PA1612", strand:-1},
{id: 1617, start:1756489, end:1758597, name:"PA1613", strand:-1},
{id: 1618, start:1758748, end:1759770, name:"PA1614", strand:1},
{id: 1619, start:1759784, end:1760125, name:"PA1615", strand:1},
{id: 1620, start:1760122, end:1760586, name:"PA1616", strand:1},
{id: 1621, start:1760713, end:1762380, name:"PA1617", strand:1},
{id: 1622, start:1762433, end:1762870, name:"PA1618", strand:1},
{id: 1623, start:1762928, end:1763752, name:"PA1619", strand:1},
{id: 1624, start:1763793, end:1764434, name:"PA1620", strand:1},
{id: 1625, start:1764536, end:1765348, name:"PA1621", strand:1},
{id: 1626, start:1765345, end:1766205, name:"PA1622", strand:1},
{id: 1627, start:1766285, end:1766947, name:"PA1623", strand:1},
{id: 1628, start:1766956, end:1767762, name:"PA1624", strand:1},
{id: 1629, start:1767928, end:1768995, name:"PA1625", strand:1},
{id: 1630, start:1769047, end:1770321, name:"PA1626", strand:-1},
{id: 1631, start:1770337, end:1770984, name:"PA1627", strand:-1},
{id: 1632, start:1771122, end:1772651, name:"PA1628", strand:-1},
{id: 1633, start:1772655, end:1773440, name:"PA1629", strand:-1},
{id: 1634, start:1773682, end:1774548, name:"PA1630", strand:1},
{id: 1635, start:1774603, end:1775757, name:"PA1631", strand:1},
{id: 1636, start:1775945, end:1776034, name:"PA1632", strand:1},
{id: 1637, start:1776045, end:1777739, name:"PA1633", strand:1},
{id: 1638, start:1777751, end:1779823, name:"PA1634", strand:1},
{id: 1639, start:1779877, end:1780428, name:"PA1635", strand:1},
{id: 1640, start:1780536, end:1783193, name:"PA1636", strand:1},
{id: 1641, start:1783294, end:1783986, name:"PA1637", strand:1},
{id: 1642, start:1784108, end:1785016, name:"PA1638", strand:1},
{id: 1643, start:1785127, end:1785732, name:"PA1639", strand:1},
{id: 1644, start:1785736, end:1786773, name:"PA1640", strand:-1},
{id: 1645, start:1786888, end:1787166, name:"PA1641", strand:1},
{id: 1646, start:1787250, end:1788284, name:"PA1642", strand:1},
{id: 1647, start:1788284, end:1789393, name:"PA1643", strand:1},
{id: 1648, start:1789857, end:1790465, name:"PA1644", strand:1},
{id: 1649, start:1790472, end:1790879, name:"PA1645", strand:-1},
{id: 1650, start:1791080, end:1793038, name:"PA1646", strand:1},
{id: 1651, start:1793019, end:1794740, name:"PA1647", strand:-1},
{id: 1652, start:1794883, end:1795887, name:"PA1648", strand:-1},
{id: 1653, start:1796138, end:1796899, name:"PA1649", strand:1},
{id: 1654, start:1797058, end:1797951, name:"PA1650", strand:1},
{id: 1655, start:1797958, end:1799154, name:"PA1651", strand:-1},
{id: 1656, start:1799385, end:1800020, name:"PA1652", strand:1},
{id: 1657, start:1800071, end:1800547, name:"PA1653", strand:-1},
{id: 1658, start:1800629, end:1801795, name:"PA1654", strand:1},
{id: 1659, start:1801851, end:1802453, name:"PA1655", strand:1},
{id: 1660, start:1803626, end:1805182, name:"PA1656", strand:1},
{id: 1661, start:1805218, end:1805724, name:"PA1657", strand:1},
{id: 1662, start:1805753, end:1807228, name:"PA1658", strand:1},
{id: 1663, start:1807241, end:1807648, name:"PA1659", strand:1},
{id: 1664, start:1808193, end:1809773, name:"PA1660", strand:1},
{id: 1665, start:1809737, end:1810744, name:"PA1661", strand:1},
{id: 1666, start:1810751, end:1813384, name:"PA1662", strand:1},
{id: 1667, start:1813395, end:1814906, name:"PA1663", strand:1},
{id: 1668, start:1814995, end:1815135, name:"PA1664", strand:1},
{id: 1669, start:1815153, end:1816346, name:"PA1665", strand:1},
{id: 1670, start:1816352, end:1816858, name:"PA1666", strand:1},
{id: 1671, start:1816855, end:1818186, name:"PA1667", strand:1},
{id: 1672, start:1818189, end:1819058, name:"PA1668", strand:1},
{id: 1673, start:1819074, end:1822601, name:"PA1669", strand:1},
{id: 1674, start:1822601, end:1823329, name:"PA1670", strand:1},
{id: 1675, start:1823326, end:1824315, name:"PA1671", strand:1},
{id: 1676, start:1824343, end:1824723, name:"PA1672", strand:-1},
{id: 1677, start:1824969, end:1825430, name:"PA1673", strand:1},
{id: 1678, start:1825495, end:1826040, name:"PA1674", strand:-1},
{id: 1679, start:1826118, end:1826675, name:"PA1675", strand:-1},
{id: 1680, start:1826732, end:1827052, name:"PA1676", strand:-1},
{id: 1681, start:1827225, end:1827821, name:"PA1677", strand:-1},
{id: 1682, start:1827992, end:1828906, name:"PA1678", strand:1},
{id: 1683, start:1828931, end:1829710, name:"PA1679", strand:-1},
{id: 1684, start:1829788, end:1830771, name:"PA1680", strand:-1},
{id: 1685, start:1830879, end:1831970, name:"PA1681", strand:1},
{id: 1686, start:1832014, end:1833165, name:"PA1682", strand:1},
{id: 1687, start:1833162, end:1833779, name:"PA1683", strand:1},
{id: 1688, start:1833776, end:1834321, name:"PA1684", strand:1},
{id: 1689, start:1834393, end:1835142, name:"PA1685", strand:1},
{id: 1690, start:1835325, end:1836218, name:"PA1686", strand:-1},
{id: 1691, start:1836367, end:1837227, name:"PA1687", strand:1},
{id: 1692, start:1837388, end:1838257, name:"PA1688", strand:1},
{id: 1693, start:1838260, end:1840362, name:"PA1689", strand:1},
{id: 1694, start:1840468, end:1841517, name:"PA1690", strand:-1},
{id: 1695, start:1841514, end:1842302, name:"PA1691", strand:-1},
{id: 1696, start:1842299, end:1842565, name:"PA1692", strand:-1},
{id: 1697, start:1842568, end:1843221, name:"PA1693", strand:-1},
{id: 1698, start:1843218, end:1844147, name:"PA1694", strand:-1},
{id: 1699, start:1844144, end:1845253, name:"PA1695", strand:-1},
{id: 1700, start:1845241, end:1845717, name:"PA1696", strand:-1},
{id: 1701, start:1845714, end:1847036, name:"PA1697", strand:-1},
{id: 1702, start:1847227, end:1848093, name:"PA1698", strand:1},
{id: 1703, start:1848074, end:1848352, name:"PA1699", strand:1},
{id: 1704, start:1848339, end:1848710, name:"PA1700", strand:1},
{id: 1705, start:1848707, end:1849072, name:"PA1701", strand:1},
{id: 1706, start:1849077, end:1849406, name:"PA1702", strand:1},
{id: 1707, start:1849403, end:1851523, name:"PA1703", strand:1},
{id: 1708, start:1851520, end:1851954, name:"PA1704", strand:1},
{id: 1709, start:1851982, end:1852278, name:"PA1705", strand:1},
{id: 1710, start:1852288, end:1853172, name:"PA1706", strand:1},
{id: 1711, start:1853181, end:1853684, name:"PA1707", strand:1},
{id: 1712, start:1853665, end:1854837, name:"PA1708", strand:1},
{id: 1713, start:1854849, end:1855736, name:"PA1709", strand:1},
{id: 1714, start:1855862, end:1856299, name:"PA1710", strand:1},
{id: 1715, start:1856308, end:1856553, name:"PA1711", strand:1},
{id: 1716, start:1856562, end:1856975, name:"PA1712", strand:1},
{id: 1717, start:1857273, end:1858109, name:"PA1713", strand:1},
{id: 1718, start:1858207, end:1859037, name:"PA1714", strand:1},
{id: 1719, start:1859071, end:1859493, name:"PA1715", strand:1},
{id: 1720, start:1859493, end:1861295, name:"PA1716", strand:1},
{id: 1721, start:1861297, end:1862595, name:"PA1717", strand:1},
{id: 1722, start:1862558, end:1862761, name:"PA1718", strand:1},
{id: 1723, start:1862764, end:1863021, name:"PA1719", strand:1},
{id: 1724, start:1863024, end:1863371, name:"PA1720", strand:1},
{id: 1725, start:1863368, end:1863799, name:"PA1721", strand:1},
{id: 1726, start:1863799, end:1864137, name:"PA1722", strand:1},
{id: 1727, start:1864134, end:1864880, name:"PA1723", strand:1},
{id: 1728, start:1864889, end:1865515, name:"PA1724", strand:1},
{id: 1729, start:1865494, end:1866138, name:"PA1725", strand:1},
{id: 1730, start:1866241, end:1868535, name:"PA1726", strand:-1},
{id: 1731, start:1868706, end:1870763, name:"PA1727", strand:-1},
{id: 1732, start:1871116, end:1871457, name:"PA1728", strand:1},
{id: 1733, start:1871555, end:1872202, name:"PA1729", strand:1},
{id: 1734, start:1872602, end:1874014, name:"PA1730", strand:1},
{id: 1735, start:1874017, end:1874970, name:"PA1731", strand:1},
{id: 1736, start:1874967, end:1875767, name:"PA1732", strand:1},
{id: 1737, start:1875849, end:1876580, name:"PA1733", strand:1},
{id: 1738, start:1876588, end:1877409, name:"PA1734", strand:-1},
{id: 1739, start:1877522, end:1878409, name:"PA1735", strand:1},
{id: 1740, start:1878980, end:1880185, name:"PA1736", strand:1},
{id: 1741, start:1880199, end:1882343, name:"PA1737", strand:1},
{id: 1742, start:1882595, end:1883509, name:"PA1738", strand:-1},
{id: 1743, start:1883661, end:1884632, name:"PA1739", strand:1},
{id: 1744, start:1884655, end:1885653, name:"PA1740", strand:1},
{id: 1745, start:1885662, end:1886033, name:"PA1741", strand:-1},
{id: 1746, start:1886278, end:1887000, name:"PA1742", strand:1},
{id: 1747, start:1887058, end:1887297, name:"PA1743", strand:-1},
{id: 1748, start:1887325, end:1887543, name:"PA1744", strand:-1},
{id: 1749, start:1887698, end:1888186, name:"PA1745", strand:-1},
{id: 1750, start:1888407, end:1888913, name:"PA1746", strand:1},
{id: 1751, start:1888985, end:1889173, name:"PA1747", strand:-1},
{id: 1752, start:1889323, end:1890012, name:"PA1748", strand:-1},
{id: 1753, start:1890196, end:1890681, name:"PA1749", strand:1},
{id: 1754, start:1890739, end:1891815, name:"PA1750", strand:-1},
{id: 1755, start:1892133, end:1892510, name:"PA1751", strand:1},
{id: 1756, start:1892510, end:1893457, name:"PA1752", strand:1},
{id: 1757, start:1893620, end:1894117, name:"PA1753", strand:1},
{id: 1758, start:1894249, end:1895223, name:"PA1754", strand:1},
{id: 1759, start:1895280, end:1895627, name:"PA1755", strand:-1},
{id: 1760, start:1895692, end:1896495, name:"PA1756", strand:-1},
{id: 1761, start:1896630, end:1897247, name:"PA1757", strand:1},
{id: 1762, start:1897290, end:1898651, name:"PA1758", strand:-1},
{id: 1763, start:1898816, end:1901521, name:"PA1759", strand:1},
{id: 1764, start:1901524, end:1904247, name:"PA1760", strand:1},
{id: 1765, start:1904479, end:1904916, name:"PA1761", strand:1},
{id: 1766, start:1904995, end:1905756, name:"PA1762", strand:1},
{id: 1767, start:1905797, end:1906822, name:"PA1763", strand:1},
{id: 1768, start:1906842, end:1908440, name:"PA1764", strand:1},
{id: 1769, start:1908454, end:1909641, name:"PA1765", strand:1},
{id: 1770, start:1909698, end:1910681, name:"PA1766", strand:-1},
{id: 1771, start:1910685, end:1912211, name:"PA1767", strand:-1},
{id: 1772, start:1912217, end:1912756, name:"PA1768", strand:-1},
{id: 1773, start:1913047, end:1913871, name:"PA1769", strand:-1},
{id: 1774, start:1914037, end:1916412, name:"PA1770", strand:1},
{id: 1775, start:1916482, end:1917492, name:"PA1771", strand:1},
{id: 1776, start:1917599, end:1918087, name:"PA1772", strand:1},
{id: 1777, start:1918275, end:1919273, name:"PA1773", strand:1},
{id: 1778, start:1919322, end:1919576, name:"PA1774", strand:1},
{id: 1779, start:1919579, end:1920403, name:"PA1775", strand:1},
{id: 1780, start:1920568, end:1921065, name:"PA1776", strand:1},
{id: 1781, start:1921174, end:1922226, name:"PA1777", strand:1},
{id: 1782, start:1922295, end:1923032, name:"PA1778", strand:-1},
{id: 1783, start:1923044, end:1925770, name:"PA1779", strand:-1},
{id: 1784, start:1925797, end:1926123, name:"PA1780", strand:-1},
{id: 1785, start:1926176, end:1928626, name:"PA1781", strand:-1},
{id: 1786, start:1928894, end:1930489, name:"PA1782", strand:-1},
{id: 1787, start:1930564, end:1931775, name:"PA1783", strand:-1},
{id: 1788, start:1932129, end:1932824, name:"PA1784", strand:-1},
{id: 1789, start:1933054, end:1933632, name:"PA1785", strand:-1},
{id: 1790, start:1933649, end:1934857, name:"PA1786", strand:-1},
{id: 1791, start:1935035, end:1937644, name:"PA1787", strand:-1},
{id: 1792, start:1938026, end:1938493, name:"PA1788", strand:1},
{id: 1793, start:1938549, end:1939412, name:"PA1789", strand:-1},
{id: 1794, start:1939583, end:1940206, name:"PA1790", strand:1},
{id: 1795, start:1940255, end:1941586, name:"PA1791", strand:-1},
{id: 1796, start:1941720, end:1942442, name:"PA1792", strand:-1},
{id: 1797, start:1942447, end:1942944, name:"PA1793", strand:-1},
{id: 1798, start:1943067, end:1944737, name:"PA1794", strand:1},
{id: 1799, start:1944747, end:1946129, name:"PA1795", strand:1},
{id: 1800, start:1946187, end:1947041, name:"PA1796", strand:-1},
{id: 1801, start:1948502, end:1950334, name:"PA1797", strand:-1},
{id: 1802, start:1950439, end:1951725, name:"PA1798", strand:-1},
{id: 1803, start:1951726, end:1952433, name:"PA1799", strand:-1},
{id: 1804, start:1952665, end:1953975, name:"PA1800", strand:1},
{id: 1805, start:1954069, end:1954710, name:"PA1801", strand:1},
{id: 1806, start:1954815, end:1956095, name:"PA1802", strand:1},
{id: 1807, start:1956227, end:1958623, name:"PA1803", strand:1},
{id: 1808, start:1958759, end:1959031, name:"PA1804", strand:1},
{id: 1809, start:1959263, end:1961128, name:"PA1805", strand:1},
{id: 1810, start:1961227, end:1962024, name:"PA1806", strand:-1},
{id: 1811, start:1962046, end:1963656, name:"PA1807", strand:-1},
{id: 1812, start:1963658, end:1964677, name:"PA1808", strand:-1},
{id: 1813, start:1964682, end:1965764, name:"PA1809", strand:-1},
{id: 1814, start:1965771, end:1967618, name:"PA1810", strand:-1},
{id: 1815, start:1967615, end:1969444, name:"PA1811", strand:-1},
{id: 1816, start:1969635, end:1971239, name:"PA1812", strand:-1},
{id: 1817, start:1971317, end:1972093, name:"PA1813", strand:-1},
{id: 1818, start:1972195, end:1972956, name:"PA1814", strand:1},
{id: 1819, start:1972959, end:1973405, name:"PA1815", strand:1},
{id: 1820, start:1973470, end:1974210, name:"PA1816", strand:1},
{id: 1821, start:1974238, end:1974627, name:"PA1817", strand:-1},
{id: 1822, start:1974821, end:1977076, name:"PA1818", strand:1},
{id: 1823, start:1977100, end:1978455, name:"PA1819", strand:1},
{id: 1824, start:1978439, end:1979941, name:"PA1820", strand:-1},
{id: 1825, start:1980165, end:1980977, name:"PA1821", strand:1},
{id: 1826, start:1981017, end:1982705, name:"PA1822", strand:1},
{id: 1827, start:1982705, end:1983541, name:"PA1823", strand:1},
{id: 1828, start:1983509, end:1984288, name:"PA1824", strand:-1},
{id: 1829, start:1984389, end:1985033, name:"PA1825", strand:1},
{id: 1830, start:1985030, end:1985935, name:"PA1826", strand:-1},
{id: 1831, start:1986067, end:1986828, name:"PA1827", strand:1},
{id: 1832, start:1986989, end:1987756, name:"PA1828", strand:-1},
{id: 1833, start:1987781, end:1988851, name:"PA1829", strand:-1},
{id: 1834, start:1989109, end:1989423, name:"PA1830", strand:-1},
{id: 1835, start:1989484, end:1990194, name:"PA1831", strand:-1},
{id: 1836, start:1990428, end:1991453, name:"PA1832", strand:1},
{id: 1837, start:1991512, end:1992504, name:"PA1833", strand:1},
{id: 1838, start:1992584, end:1993474, name:"PA1834", strand:1},
{id: 1839, start:1993461, end:1993898, name:"PA1835", strand:-1},
{id: 1840, start:1994021, end:1994602, name:"PA1836", strand:1},
{id: 1841, start:1994667, end:1995164, name:"PA1837", strand:-1},
{id: 1842, start:1995148, end:1996806, name:"PA1838", strand:-1},
{id: 1843, start:1997509, end:1998549, name:"PA1839", strand:-1},
{id: 1844, start:1998587, end:1998949, name:"PA1840", strand:1},
{id: 1845, start:1998963, end:1999460, name:"PA1841", strand:1},
{id: 1846, start:1999512, end:1999874, name:"PA1842", strand:-1},
{id: 1847, start:1999889, end:2003593, name:"PA1843", strand:-1},
{id: 1848, start:2003868, end:2004332, name:"PA1844", strand:-1},
{id: 1849, start:2004374, end:2004892, name:"PA1845", strand:-1},
{id: 1850, start:2005254, end:2007542, name:"PA1846", strand:1},
{id: 1851, start:2007665, end:2008249, name:"PA1847", strand:1},
{id: 1852, start:2008308, end:2009477, name:"PA1848", strand:-1},
{id: 1853, start:2009482, end:2009724, name:"PA1849", strand:-1},
{id: 1854, start:2009747, end:2010751, name:"PA1850", strand:-1},
{id: 1855, start:2011000, end:2012205, name:"PA1851", strand:1},
{id: 1856, start:2012255, end:2012530, name:"PA1852", strand:-1},
{id: 1857, start:2012815, end:2013678, name:"PA1853", strand:1},
{id: 1858, start:2013666, end:2014823, name:"PA1854", strand:-1},
{id: 1859, start:2014915, end:2015136, name:"PA1855", strand:-1},
{id: 1860, start:2015139, end:2016581, name:"PA1856", strand:-1},
{id: 1861, start:2016928, end:2017851, name:"PA1857", strand:-1},
{id: 1862, start:2017967, end:2018794, name:"PA1858", strand:-1},
{id: 1863, start:2018803, end:2019690, name:"PA1859", strand:-1},
{id: 1864, start:2019776, end:2020603, name:"PA1860", strand:1},
{id: 1865, start:2020625, end:2021710, name:"PA1861", strand:-1},
{id: 1866, start:2021712, end:2022398, name:"PA1862", strand:-1},
{id: 1867, start:2022411, end:2023166, name:"PA1863", strand:-1},
{id: 1868, start:2023281, end:2023931, name:"PA1864", strand:-1},
{id: 1869, start:2024065, end:2025744, name:"PA1865", strand:1},
{id: 1870, start:2025737, end:2028013, name:"PA1866", strand:1},
{id: 1871, start:2028454, end:2028981, name:"PA1867", strand:1},
{id: 1872, start:2028968, end:2031298, name:"PA1868", strand:1},
{id: 1873, start:2031466, end:2031705, name:"PA1869", strand:1},
{id: 1874, start:2031988, end:2032413, name:"PA1870", strand:1},
{id: 1875, start:2032695, end:2033951, name:"PA1871", strand:1},
{id: 1876, start:2034066, end:2034857, name:"PA1872", strand:-1},
{id: 1877, start:2034918, end:2035940, name:"PA1873", strand:-1},
{id: 1878, start:2036441, end:2043847, name:"PA1874", strand:1},
{id: 1879, start:2043847, end:2045124, name:"PA1875", strand:1},
{id: 1880, start:2045114, end:2047285, name:"PA1876", strand:1},
{id: 1881, start:2047275, end:2048462, name:"PA1877", strand:1},
{id: 1882, start:2048570, end:2049148, name:"PA1878", strand:-1},
{id: 1883, start:2049237, end:2049791, name:"PA1879", strand:-1},
{id: 1884, start:2049949, end:2052144, name:"PA1880", strand:-1},
{id: 1885, start:2052149, end:2052610, name:"PA1881", strand:-1},
{id: 1886, start:2052941, end:2053264, name:"PA1882", strand:1},
{id: 1887, start:2053277, end:2053675, name:"PA1883", strand:1},
{id: 1888, start:2053672, end:2054223, name:"PA1884", strand:-1},
{id: 1889, start:2054309, end:2054842, name:"PA1885", strand:1},
{id: 1890, start:2054911, end:2057274, name:"PA1886", strand:1},
{id: 1891, start:2057278, end:2057946, name:"PA1887", strand:-1},
{id: 1892, start:2057930, end:2059339, name:"PA1888", strand:-1},
{id: 1893, start:2059569, end:2060552, name:"PA1889", strand:1},
{id: 1894, start:2060566, end:2061189, name:"PA1890", strand:-1},
{id: 1895, start:2061278, end:2061667, name:"PA1891", strand:-1},
{id: 1896, start:2061664, end:2062401, name:"PA1892", strand:-1},
{id: 1897, start:2062398, end:2064827, name:"PA1893", strand:-1},
{id: 1898, start:2064853, end:2065545, name:"PA1894", strand:-1},
{id: 1899, start:2065493, end:2066767, name:"PA1895", strand:-1},
{id: 1900, start:2066786, end:2067955, name:"PA1896", strand:-1},
{id: 1901, start:2067961, end:2068728, name:"PA1897", strand:-1},
{id: 1902, start:2069490, end:2070203, name:"PA1898", strand:1},
{id: 1903, start:2070685, end:2071173, name:"PA1899", strand:1},
{id: 1904, start:2071209, end:2071697, name:"PA1900", strand:1},
{id: 1905, start:2071721, end:2072938, name:"PA1901", strand:1},
{id: 1906, start:2072935, end:2073558, name:"PA1902", strand:1},
{id: 1907, start:2073555, end:2075438, name:"PA1903", strand:1},
{id: 1908, start:2075452, end:2076288, name:"PA1904", strand:1},
{id: 1909, start:2076311, end:2076958, name:"PA1905", strand:1},
{id: 1910, start:2077047, end:2077583, name:"PA1906", strand:-1},
{id: 1911, start:2077626, end:2079266, name:"PA1907", strand:-1},
{id: 1912, start:2079263, end:2080474, name:"PA1908", strand:-1},
{id: 1913, start:2080661, end:2081812, name:"PA1909", strand:-1},
{id: 1914, start:2081853, end:2084267, name:"PA1910", strand:-1},
{id: 1915, start:2084476, end:2085426, name:"PA1911", strand:-1},
{id: 1916, start:2085423, end:2085929, name:"PA1912", strand:-1},
{id: 1917, start:2086021, end:2086701, name:"PA1913", strand:-1},
{id: 1918, start:2086808, end:2088034, name:"PA1914", strand:-1},
{id: 1919, start:2088602, end:2090149, name:"PA1915", strand:-1},
{id: 1920, start:2090213, end:2091445, name:"PA1916", strand:-1},
{id: 1921, start:2091490, end:2091837, name:"PA1917", strand:-1},
{id: 1922, start:2091850, end:2093250, name:"PA1918", strand:-1},
{id: 1923, start:2093444, end:2094142, name:"PA1919", strand:-1},
{id: 1924, start:2094329, end:2096356, name:"PA1920", strand:-1},
{id: 1925, start:2096514, end:2097323, name:"PA1921", strand:-1},
{id: 1926, start:2097491, end:2099452, name:"PA1922", strand:1},
{id: 1927, start:2099452, end:2103297, name:"PA1923", strand:1},
{id: 1928, start:2103294, end:2103770, name:"PA1924", strand:1},
{id: 1929, start:2103770, end:2104096, name:"PA1925", strand:1},
{id: 1930, start:2104597, end:2106447, name:"PA1926", strand:1},
{id: 1931, start:2106580, end:2108880, name:"PA1927", strand:1},
{id: 1932, start:2108942, end:2109511, name:"PA1928", strand:-1},
{id: 1933, start:2109558, end:2109854, name:"PA1929", strand:-1},
{id: 1934, start:2110226, end:2111521, name:"PA1930", strand:1},
{id: 1935, start:2111691, end:2112203, name:"PA1931", strand:1},
{id: 1936, start:2112200, end:2113189, name:"PA1932", strand:1},
{id: 1937, start:2113186, end:2115390, name:"PA1933", strand:1},
{id: 1938, start:2115885, end:2116265, name:"PA1934", strand:1},
{id: 1939, start:2117030, end:2117734, name:"PA1935", strand:-1},
{id: 1940, start:2117897, end:2118097, name:"PA1936", strand:1},
{id: 1941, start:2118585, end:2118893, name:"PA1937", strand:1},
{id: 1942, start:2118926, end:2119747, name:"PA1938", strand:1},
{id: 1943, start:2120225, end:2122222, name:"PA1939", strand:-1},
{id: 1944, start:2122579, end:2123718, name:"PA1940", strand:-1},
{id: 1945, start:2123897, end:2125792, name:"PA1941", strand:-1},
{id: 1946, start:2126104, end:2126334, name:"PA1942", strand:-1},
{id: 1947, start:2126396, end:2127493, name:"PA1943", strand:-1},
{id: 1948, start:2127684, end:2129171, name:"PA1944", strand:1},
{id: 1949, start:2129307, end:2130635, name:"PA1945", strand:1},
{id: 1950, start:2130854, end:2131813, name:"PA1946", strand:1},
{id: 1951, start:2131835, end:2133367, name:"PA1947", strand:1},
{id: 1952, start:2133391, end:2134389, name:"PA1948", strand:1},
{id: 1953, start:2134393, end:2135406, name:"PA1949", strand:1},
{id: 1954, start:2135460, end:2136386, name:"PA1950", strand:1},
{id: 1955, start:2136520, end:2137785, name:"PA1951", strand:-1},
{id: 1956, start:2137846, end:2138598, name:"PA1952", strand:-1},
{id: 1957, start:2138612, end:2139292, name:"PA1953", strand:-1},
{id: 1958, start:2139354, end:2140376, name:"PA1954", strand:-1},
{id: 1959, start:2140433, end:2141002, name:"PA1955", strand:-1},
{id: 1960, start:2140999, end:2141487, name:"PA1956", strand:-1},
{id: 1961, start:2141790, end:2142317, name:"PA1957", strand:-1},
{id: 1962, start:2142314, end:2142889, name:"PA1958", strand:-1},
{id: 1963, start:2143173, end:2144006, name:"PA1959", strand:1},
{id: 1964, start:2144077, end:2144799, name:"PA1960", strand:1},
{id: 1965, start:2144810, end:2145745, name:"PA1961", strand:-1},
{id: 1966, start:2145894, end:2146502, name:"PA1962", strand:1},
{id: 1967, start:2146609, end:2146875, name:"PA1963", strand:1},
{id: 1968, start:2146961, end:2148526, name:"PA1964", strand:-1},
{id: 1969, start:2148854, end:2149189, name:"PA1965", strand:1},
{id: 1970, start:2149472, end:2149843, name:"PA1966", strand:1},
{id: 1971, start:2149864, end:2150364, name:"PA1967", strand:-1},
{id: 1972, start:2150524, end:2150781, name:"PA1968", strand:1},
{id: 1973, start:2150828, end:2151220, name:"PA1969", strand:1},
{id: 1974, start:2151287, end:2151526, name:"PA1970", strand:-1},
{id: 1975, start:2151755, end:2153068, name:"PA1971", strand:-1},
{id: 1976, start:2153594, end:2155297, name:"PA1972", strand:1},
{id: 1977, start:2155374, end:2157701, name:"PA1973", strand:1},
{id: 1978, start:2157968, end:2159167, name:"PA1974", strand:1},
{id: 1979, start:2159270, end:2160433, name:"PA1975", strand:1},
{id: 1980, start:2160363, end:2163008, name:"PA1976", strand:1},
{id: 1981, start:2163010, end:2163873, name:"PA1977", strand:-1},
{id: 1982, start:2163883, end:2164548, name:"PA1978", strand:-1},
{id: 1983, start:2165213, end:2165863, name:"PA1979", strand:1},
{id: 1984, start:2165876, end:2166553, name:"PA1980", strand:1},
{id: 1985, start:2166580, end:2167227, name:"PA1981", strand:-1},
{id: 1986, start:2167281, end:2169152, name:"PA1982", strand:-1},
{id: 1987, start:2169464, end:2169901, name:"PA1983", strand:1},
{id: 1988, start:2169988, end:2171508, name:"PA1984", strand:1},
{id: 1989, start:2171865, end:2171936, name:"PA1985", strand:1},
{id: 1990, start:2171989, end:2172903, name:"PA1986", strand:1},
{id: 1991, start:2172913, end:2173665, name:"PA1987", strand:1},
{id: 1992, start:2173662, end:2173940, name:"PA1988", strand:1},
{id: 1993, start:2173912, end:2175057, name:"PA1989", strand:1},
{id: 1994, start:2175062, end:2176888, name:"PA1990", strand:1},
{id: 1995, start:2176974, end:2178137, name:"PA1991", strand:1},
{id: 1996, start:2178121, end:2179815, name:"PA1992", strand:1},
{id: 1997, start:2179848, end:2181056, name:"PA1993", strand:-1},
{id: 1998, start:2181181, end:2181744, name:"PA1994", strand:-1},
{id: 1999, start:2181741, end:2182097, name:"PA1995", strand:-1},
{id: 2000, start:2182116, end:2182394, name:"PA1996", strand:-1},
{id: 2001, start:2182452, end:2184407, name:"PA1997", strand:-1},
{id: 2002, start:2184475, end:2185395, name:"PA1998", strand:-1},
{id: 2003, start:2185527, end:2186225, name:"PA1999", strand:1},
{id: 2004, start:2186260, end:2186916, name:"PA2000", strand:1},
{id: 2005, start:2187065, end:2188246, name:"PA2001", strand:1},
{id: 2006, start:2188459, end:2189883, name:"PA2002", strand:1},
{id: 2007, start:2190084, end:2190854, name:"PA2003", strand:-1},
{id: 2008, start:2190891, end:2192282, name:"PA2004", strand:-1},
{id: 2009, start:2192544, end:2193989, name:"PA2005", strand:-1},
{id: 2010, start:2194058, end:2195410, name:"PA2006", strand:-1},
{id: 2011, start:2195494, end:2196132, name:"PA2007", strand:-1},
{id: 2012, start:2196129, end:2197427, name:"PA2008", strand:-1},
{id: 2013, start:2197432, end:2198730, name:"PA2009", strand:-1},
{id: 2014, start:2198891, end:2199694, name:"PA2010", strand:1},
{id: 2015, start:2199762, end:2200664, name:"PA2011", strand:-1},
{id: 2016, start:2200685, end:2202652, name:"PA2012", strand:-1},
{id: 2017, start:2202649, end:2203446, name:"PA2013", strand:-1},
{id: 2018, start:2203460, end:2205067, name:"PA2014", strand:-1},
{id: 2019, start:2205190, end:2206353, name:"PA2015", strand:-1},
{id: 2020, start:2206402, end:2206806, name:"PA2016", strand:-1},
{id: 2021, start:2206999, end:2207928, name:"PA2017", strand:1},
{id: 2022, start:2208169, end:2211306, name:"PA2018", strand:-1},
{id: 2023, start:2211322, end:2212512, name:"PA2019", strand:-1},
{id: 2024, start:2212677, end:2213309, name:"PA2020", strand:1},
{id: 2025, start:2213315, end:2213539, name:"PA2021", strand:-1},
{id: 2026, start:2213693, end:2215054, name:"PA2022", strand:1},
{id: 2027, start:2215102, end:2215941, name:"PA2023", strand:1},
{id: 2028, start:2216121, end:2216543, name:"PA2024", strand:-1},
{id: 2029, start:2216688, end:2218043, name:"PA2025", strand:1},
{id: 2030, start:2218098, end:2219099, name:"PA2026", strand:-1},
{id: 2031, start:2219253, end:2219645, name:"PA2027", strand:-1},
{id: 2032, start:2219778, end:2220251, name:"PA2028", strand:1},
{id: 2033, start:2220275, end:2220574, name:"PA2029", strand:1},
{id: 2034, start:2220649, end:2220906, name:"PA2030", strand:-1},
{id: 2035, start:2220903, end:2221157, name:"PA2031", strand:-1},
{id: 2036, start:2221337, end:2222761, name:"PA2032", strand:1},
{id: 2037, start:2222896, end:2223804, name:"PA2033", strand:1},
{id: 2038, start:2223804, end:2224478, name:"PA2034", strand:1},
{id: 2039, start:2224486, end:2226144, name:"PA2035", strand:-1},
{id: 2040, start:2226879, end:2227400, name:"PA2036", strand:1},
{id: 2041, start:2227541, end:2229001, name:"PA2037", strand:1},
{id: 2042, start:2229126, end:2229440, name:"PA2038", strand:-1},
{id: 2043, start:2229425, end:2230183, name:"PA2039", strand:-1},
{id: 2044, start:2230689, end:2232065, name:"PA2040", strand:1},
{id: 2045, start:2232222, end:2233592, name:"PA2041", strand:1},
{id: 2046, start:2234080, end:2235309, name:"PA2042", strand:1},
{id: 2047, start:2235430, end:2236332, name:"PA2043", strand:1},
{id: 2048, start:2236492, end:2238366, name:"PA2044", strand:-1},
{id: 2049, start:2238541, end:2238801, name:"PA2045", strand:-1},
{id: 2050, start:2238860, end:2239267, name:"PA2046", strand:-1},
{id: 2051, start:2240302, end:2241291, name:"PA2047", strand:-1},
{id: 2052, start:2241705, end:2242112, name:"PA2048", strand:1},
{id: 2053, start:2242170, end:2243603, name:"PA2049", strand:-1},
{id: 2054, start:2244492, end:2244998, name:"PA2050", strand:1},
{id: 2055, start:2244995, end:2245948, name:"PA2051", strand:1},
{id: 2056, start:2245986, end:2246456, name:"PA2052", strand:-1},
{id: 2057, start:2246496, end:2247158, name:"PA2053", strand:-1},
{id: 2058, start:2247273, end:2248160, name:"PA2054", strand:1},
{id: 2059, start:2248167, end:2249582, name:"PA2055", strand:-1},
{id: 2060, start:2249693, end:2250595, name:"PA2056", strand:1},
{id: 2061, start:2251275, end:2253815, name:"PA2057", strand:1},
{id: 2062, start:2253819, end:2255627, name:"PA2058", strand:1},
{id: 2063, start:2255629, end:2256702, name:"PA2059", strand:1},
{id: 2064, start:2256704, end:2257720, name:"PA2060", strand:1},
{id: 2065, start:2257722, end:2259332, name:"PA2061", strand:1},
{id: 2066, start:2259478, end:2260659, name:"PA2062", strand:1},
{id: 2067, start:2260862, end:2262085, name:"PA2063", strand:1},
{id: 2068, start:2262105, end:2263082, name:"PA2064", strand:-1},
{id: 2069, start:2263079, end:2264977, name:"PA2065", strand:-1},
{id: 2070, start:2265126, end:2265764, name:"PA2066", strand:-1},
{id: 2071, start:2265761, end:2266429, name:"PA2067", strand:-1},
{id: 2072, start:2266431, end:2267594, name:"PA2068", strand:-1},
{id: 2073, start:2267638, end:2269362, name:"PA2069", strand:-1},
{id: 2074, start:2269542, end:2272184, name:"PA2070", strand:-1},
{id: 2075, start:2272460, end:2274568, name:"PA2071", strand:1},
{id: 2076, start:2274740, end:2277334, name:"PA2072", strand:1},
{id: 2077, start:2277552, end:2278982, name:"PA2073", strand:1},
{id: 2078, start:2278982, end:2279794, name:"PA2074", strand:1},
{id: 2079, start:2279917, end:2281578, name:"PA2075", strand:-1},
{id: 2080, start:2282480, end:2283382, name:"PA2076", strand:1},
{id: 2081, start:2283419, end:2285323, name:"PA2077", strand:-1},
{id: 2082, start:2285363, end:2287237, name:"PA2078", strand:-1},
{id: 2083, start:2287523, end:2288929, name:"PA2079", strand:-1},
{id: 2084, start:2289085, end:2290335, name:"PA2080", strand:-1},
{id: 2085, start:2290339, end:2290980, name:"PA2081", strand:-1},
{id: 2086, start:2291113, end:2291589, name:"PA2082", strand:1},
{id: 2087, start:2291791, end:2293065, name:"PA2083", strand:1},
{id: 2088, start:2293153, end:2294985, name:"PA2084", strand:1},
{id: 2089, start:2295013, end:2295522, name:"PA2085", strand:1},
{id: 2090, start:2295533, end:2296435, name:"PA2086", strand:1},
{id: 2091, start:2296432, end:2297088, name:"PA2087", strand:1},
{id: 2092, start:2297072, end:2297920, name:"PA2088", strand:1},
{id: 2093, start:2298012, end:2300663, name:"PA2089", strand:1},
{id: 2094, start:2300676, end:2301755, name:"PA2090", strand:1},
{id: 2095, start:2301752, end:2303035, name:"PA2091", strand:1},
{id: 2096, start:2303022, end:2304215, name:"PA2092", strand:1},
{id: 2097, start:2304318, end:2304827, name:"PA2093", strand:1},
{id: 2098, start:2304824, end:2305780, name:"PA2094", strand:1},
{id: 2099, start:2305782, end:2306627, name:"PA2095", strand:-1},
{id: 2100, start:2306776, end:2307810, name:"PA2096", strand:-1},
{id: 2101, start:2307957, end:2309432, name:"PA2097", strand:1},
{id: 2102, start:2309443, end:2310372, name:"PA2098", strand:1},
{id: 2103, start:2310357, end:2311112, name:"PA2099", strand:1},
{id: 2104, start:2311333, end:2312766, name:"PA2100", strand:-1},
{id: 2105, start:2312899, end:2313789, name:"PA2101", strand:1},
{id: 2106, start:2313791, end:2314249, name:"PA2102", strand:1},
{id: 2107, start:2314512, end:2315690, name:"PA2103", strand:1},
{id: 2108, start:2315709, end:2316626, name:"PA2104", strand:1},
{id: 2109, start:2316708, end:2317403, name:"PA2105", strand:1},
{id: 2110, start:2317400, end:2318134, name:"PA2106", strand:1},
{id: 2111, start:2318226, end:2318624, name:"PA2107", strand:-1},
{id: 2112, start:2318795, end:2320567, name:"PA2108", strand:1},
{id: 2113, start:2320586, end:2321062, name:"PA2109", strand:-1},
{id: 2114, start:2321130, end:2322071, name:"PA2110", strand:-1},
{id: 2115, start:2322068, end:2322781, name:"PA2111", strand:-1},
{id: 2116, start:2322778, end:2323521, name:"PA2112", strand:-1},
{id: 2117, start:2323554, end:2324783, name:"PA2113", strand:-1},
{id: 2118, start:2324808, end:2326079, name:"PA2114", strand:-1},
{id: 2119, start:2326334, end:2327287, name:"PA2115", strand:1},
{id: 2120, start:2327394, end:2328191, name:"PA2116", strand:1},
{id: 2121, start:2328176, end:2329156, name:"PA2117", strand:-1},
{id: 2122, start:2329348, end:2330424, name:"PA2118", strand:1},
{id: 2123, start:2330959, end:2332059, name:"PA2119", strand:-1},
{id: 2124, start:2332392, end:2332820, name:"PA2120", strand:-1},
{id: 2125, start:2332968, end:2333873, name:"PA2121", strand:-1},
{id: 2126, start:2333999, end:2335135, name:"PA2122", strand:1},
{id: 2127, start:2335172, end:2336104, name:"PA2123", strand:1},
{id: 2128, start:2336209, end:2337846, name:"PA2124", strand:1},
{id: 2129, start:2337868, end:2339316, name:"PA2125", strand:1},
{id: 2130, start:2339352, end:2339987, name:"PA2126", strand:-1},
{id: 2131, start:2340414, end:2341640, name:"PA2127", strand:-1},
{id: 2132, start:2342493, end:2343044, name:"PA2128", strand:1},
{id: 2133, start:2343132, end:2343878, name:"PA2129", strand:1},
{id: 2134, start:2343862, end:2346480, name:"PA2130", strand:1},
{id: 2135, start:2346477, end:2347838, name:"PA2131", strand:1},
{id: 2136, start:2347828, end:2348541, name:"PA2132", strand:1},
{id: 2137, start:2348538, end:2349395, name:"PA2133", strand:1},
{id: 2138, start:2349488, end:2350060, name:"PA2134", strand:1},
{id: 2139, start:2350089, end:2351453, name:"PA2135", strand:1},
{id: 2140, start:2351906, end:2352430, name:"PA2136", strand:-1},
{id: 2141, start:2352532, end:2353068, name:"PA2137", strand:1},
{id: 2142, start:2353086, end:2355608, name:"PA2138", strand:1},
{id: 2143, start:2355684, end:2355806, name:"PA2139", strand:1},
{id: 2144, start:2355918, end:2356157, name:"PA2140", strand:1},
{id: 2145, start:2356168, end:2356716, name:"PA2141", strand:1},
{id: 2146, start:2356713, end:2357573, name:"PA2142", strand:1},
{id: 2147, start:2358024, end:2358311, name:"PA2143", strand:1},
{id: 2148, start:2358364, end:2360802, name:"PA2144", strand:1},
{id: 2149, start:2360809, end:2361207, name:"PA2145", strand:-1},
{id: 2150, start:2361706, end:2361873, name:"PA2146", strand:1},
{id: 2151, start:2361954, end:2364083, name:"PA2147", strand:1},
{id: 2152, start:2364311, end:2364802, name:"PA2148", strand:1},
{id: 2153, start:2364816, end:2365058, name:"PA2149", strand:1},
{id: 2154, start:2365081, end:2365962, name:"PA2150", strand:1},
{id: 2155, start:2366106, end:2368100, name:"PA2151", strand:1},
{id: 2156, start:2368111, end:2371413, name:"PA2152", strand:1},
{id: 2157, start:2371410, end:2373608, name:"PA2153", strand:1},
{id: 2158, start:2373610, end:2374605, name:"PA2154", strand:-1},
{id: 2159, start:2374602, end:2375807, name:"PA2155", strand:-1},
{id: 2160, start:2375804, end:2376541, name:"PA2156", strand:-1},
{id: 2161, start:2376538, end:2377476, name:"PA2157", strand:-1},
{id: 2162, start:2377480, end:2378727, name:"PA2158", strand:-1},
{id: 2163, start:2378794, end:2379210, name:"PA2159", strand:-1},
{id: 2164, start:2379310, end:2381460, name:"PA2160", strand:-1},
{id: 2165, start:2381473, end:2381778, name:"PA2161", strand:-1},
{id: 2166, start:2381775, end:2384555, name:"PA2162", strand:-1},
{id: 2167, start:2384548, end:2386602, name:"PA2163", strand:-1},
{id: 2168, start:2386595, end:2388346, name:"PA2164", strand:-1},
{id: 2169, start:2388346, end:2389887, name:"PA2165", strand:-1},
{id: 2170, start:2390255, end:2390620, name:"PA2166", strand:1},
{id: 2171, start:2390949, end:2392046, name:"PA2167", strand:1},
{id: 2172, start:2392043, end:2392819, name:"PA2168", strand:1},
{id: 2173, start:2392945, end:2393397, name:"PA2169", strand:1},
{id: 2174, start:2393424, end:2393633, name:"PA2170", strand:1},
{id: 2175, start:2393708, end:2394178, name:"PA2171", strand:1},
{id: 2176, start:2394182, end:2395258, name:"PA2172", strand:1},
{id: 2177, start:2395285, end:2395635, name:"PA2173", strand:1},
{id: 2178, start:2395944, end:2396252, name:"PA2174", strand:-1},
{id: 2179, start:2396536, end:2396883, name:"PA2175", strand:-1},
{id: 2180, start:2396896, end:2397486, name:"PA2176", strand:-1},
{id: 2181, start:2397569, end:2399668, name:"PA2177", strand:1},
{id: 2182, start:2399672, end:2400280, name:"PA2178", strand:-1},
{id: 2183, start:2400655, end:2401605, name:"PA2179", strand:-1},
{id: 2184, start:2401589, end:2402965, name:"PA2180", strand:-1},
{id: 2185, start:2403151, end:2404284, name:"PA2181", strand:1},
{id: 2186, start:2404386, end:2404655, name:"PA2182", strand:-1},
{id: 2187, start:2404949, end:2405233, name:"PA2183", strand:-1},
{id: 2188, start:2405230, end:2405739, name:"PA2184", strand:-1},
{id: 2189, start:2405993, end:2406877, name:"PA2185", strand:1},
{id: 2190, start:2406961, end:2407131, name:"PA2186", strand:1},
{id: 2191, start:2407236, end:2407661, name:"PA2187", strand:1},
{id: 2192, start:2407681, end:2408847, name:"PA2188", strand:-1},
{id: 2193, start:2409107, end:2409661, name:"PA2189", strand:1},
{id: 2194, start:2409837, end:2410181, name:"PA2190", strand:1},
{id: 2195, start:2410344, end:2411480, name:"PA2191", strand:-1},
{id: 2196, start:2411709, end:2412122, name:"PA2192", strand:1},
{id: 2197, start:2412546, end:2412860, name:"PA2193", strand:1},
{id: 2198, start:2412857, end:2414251, name:"PA2194", strand:1},
{id: 2199, start:2414254, end:2415507, name:"PA2195", strand:1},
{id: 2200, start:2415661, end:2416245, name:"PA2196", strand:1},
{id: 2201, start:2416376, end:2417413, name:"PA2197", strand:1},
{id: 2202, start:2417410, end:2417754, name:"PA2198", strand:1},
{id: 2203, start:2417760, end:2418635, name:"PA2199", strand:1},
{id: 2204, start:2418723, end:2420318, name:"PA2200", strand:1},
{id: 2205, start:2420443, end:2421327, name:"PA2201", strand:1},
{id: 2206, start:2421343, end:2422020, name:"PA2202", strand:-1},
{id: 2207, start:2422022, end:2422738, name:"PA2203", strand:-1},
{id: 2208, start:2422819, end:2423625, name:"PA2204", strand:-1},
{id: 2209, start:2423924, end:2424400, name:"PA2205", strand:-1},
{id: 2210, start:2424482, end:2425429, name:"PA2206", strand:-1},
{id: 2211, start:2425497, end:2427017, name:"PA2207", strand:-1},
{id: 2212, start:2427014, end:2427544, name:"PA2208", strand:-1},
{id: 2213, start:2427572, end:2428669, name:"PA2209", strand:-1},
{id: 2214, start:2428852, end:2430177, name:"PA2210", strand:1},
{id: 2215, start:2430170, end:2431129, name:"PA2211", strand:1},
{id: 2216, start:2431126, end:2432139, name:"PA2212", strand:1},
{id: 2217, start:2432312, end:2433562, name:"PA2213", strand:1},
{id: 2218, start:2433748, end:2435070, name:"PA2214", strand:1},
{id: 2219, start:2435101, end:2436276, name:"PA2215", strand:1},
{id: 2220, start:2436304, end:2437299, name:"PA2216", strand:1},
{id: 2221, start:2437428, end:2439011, name:"PA2217", strand:1},
{id: 2222, start:2439150, end:2440253, name:"PA2218", strand:-1},
{id: 2223, start:2440347, end:2441555, name:"PA2219", strand:-1},
{id: 2224, start:2441771, end:2442691, name:"PA2220", strand:1},
{id: 2225, start:2443161, end:2444366, name:"PA2221", strand:1},
{id: 2226, start:2444886, end:2445533, name:"PA2222", strand:-1},
{id: 2227, start:2445545, end:2446564, name:"PA2223", strand:-1},
{id: 2228, start:2446597, end:2447325, name:"PA2224", strand:-1},
{id: 2229, start:2447573, end:2447989, name:"PA2225", strand:-1},
{id: 2230, start:2448033, end:2448533, name:"PA2226", strand:-1},
{id: 2231, start:2448568, end:2449545, name:"PA2227", strand:-1},
{id: 2232, start:2449554, end:2450765, name:"PA2228", strand:-1},
{id: 2233, start:2451707, end:2452426, name:"PA2229", strand:1},
{id: 2234, start:2452469, end:2453140, name:"PA2230", strand:1},
{id: 2235, start:2453667, end:2455103, name:"PA2231", strand:1},
{id: 2236, start:2455103, end:2456569, name:"PA2232", strand:1},
{id: 2237, start:2456569, end:2457480, name:"PA2233", strand:1},
{id: 2238, start:2457510, end:2458280, name:"PA2234", strand:1},
{id: 2239, start:2458295, end:2460283, name:"PA2235", strand:1},
{id: 2240, start:2460283, end:2461470, name:"PA2236", strand:1},
{id: 2241, start:2461460, end:2462788, name:"PA2237", strand:1},
{id: 2242, start:2462797, end:2464005, name:"PA2238", strand:1},
{id: 2243, start:2463996, end:2465099, name:"PA2239", strand:1},
{id: 2244, start:2465102, end:2466538, name:"PA2240", strand:1},
{id: 2245, start:2466540, end:2467949, name:"PA2241", strand:1},
{id: 2246, start:2468032, end:2469099, name:"PA2242", strand:1},
{id: 2247, start:2469286, end:2471019, name:"PA2243", strand:1},
{id: 2248, start:2471075, end:2472076, name:"PA2244", strand:1},
{id: 2249, start:2472104, end:2472409, name:"PA2245", strand:1},
{id: 2250, start:2472442, end:2472903, name:"PA2246", strand:-1},
{id: 2251, start:2473213, end:2474445, name:"PA2247", strand:1},
{id: 2252, start:2474442, end:2475494, name:"PA2248", strand:1},
{id: 2253, start:2475495, end:2476781, name:"PA2249", strand:1},
{id: 2254, start:2476785, end:2478179, name:"PA2250", strand:1},
{id: 2255, start:2478312, end:2479130, name:"PA2251", strand:-1},
{id: 2256, start:2479299, end:2480744, name:"PA2252", strand:1},
{id: 2257, start:2480844, end:2481830, name:"PA2253", strand:1},
{id: 2258, start:2482045, end:2483031, name:"PA2254", strand:1},
{id: 2259, start:2483049, end:2483924, name:"PA2255", strand:1},
{id: 2260, start:2483976, end:2485478, name:"PA2256", strand:1},
{id: 2261, start:2485471, end:2486118, name:"PA2257", strand:1},
{id: 2262, start:2486355, end:2487293, name:"PA2258", strand:-1},
{id: 2263, start:2487856, end:2488878, name:"PA2259", strand:1},
{id: 2264, start:2488950, end:2489732, name:"PA2260", strand:1},
{id: 2265, start:2489725, end:2490675, name:"PA2261", strand:1},
{id: 2266, start:2490738, end:2492045, name:"PA2262", strand:1},
{id: 2267, start:2492064, end:2493050, name:"PA2263", strand:1},
{id: 2268, start:2493218, end:2493934, name:"PA2264", strand:1},
{id: 2269, start:2493937, end:2495712, name:"PA2265", strand:1},
{id: 2270, start:2495724, end:2497043, name:"PA2266", strand:1},
{id: 2271, start:2497116, end:2498012, name:"PA2267", strand:-1},
{id: 2272, start:2498099, end:2499169, name:"PA2268", strand:1},
{id: 2273, start:2499133, end:2500338, name:"PA2269", strand:-1},
{id: 2274, start:2500485, end:2501075, name:"PA2270", strand:1},
{id: 2275, start:2501083, end:2501598, name:"PA2271", strand:1},
{id: 2276, start:2501720, end:2503417, name:"PA2272", strand:1},
{id: 2277, start:2503425, end:2503895, name:"PA2273", strand:-1},
{id: 2278, start:2503973, end:2504350, name:"PA2274", strand:1},
{id: 2279, start:2504375, end:2505436, name:"PA2275", strand:-1},
{id: 2280, start:2505645, end:2506535, name:"PA2276", strand:1},
{id: 2281, start:2506614, end:2506964, name:"PA2277", strand:1},
{id: 2282, start:2506978, end:2508261, name:"PA2278", strand:1},
{id: 2283, start:2508293, end:2508763, name:"PA2279", strand:1},
{id: 2284, start:2508775, end:2509467, name:"PA2280", strand:1},
{id: 2285, start:2509480, end:2510334, name:"PA2281", strand:-1},
{id: 2286, start:2510622, end:2511050, name:"PA2282", strand:1},
{id: 2287, start:2511057, end:2512514, name:"PA2283", strand:1},
{id: 2288, start:2512511, end:2513182, name:"PA2284", strand:1},
{id: 2289, start:2513179, end:2513841, name:"PA2285", strand:1},
{id: 2290, start:2513842, end:2515386, name:"PA2286", strand:1},
{id: 2291, start:2515373, end:2516008, name:"PA2287", strand:1},
{id: 2292, start:2516021, end:2516308, name:"PA2288", strand:-1},
{id: 2293, start:2516429, end:2518561, name:"PA2289", strand:-1},
{id: 2294, start:2518693, end:2521104, name:"PA2290", strand:-1},
{id: 2295, start:2521258, end:2522616, name:"PA2291", strand:-1},
{id: 2296, start:2522958, end:2523239, name:"PA2292", strand:-1},
{id: 2297, start:2523236, end:2524201, name:"PA2293", strand:-1},
{id: 2298, start:2524198, end:2525052, name:"PA2294", strand:-1},
{id: 2299, start:2525049, end:2525846, name:"PA2295", strand:-1},
{id: 2300, start:2525871, end:2527277, name:"PA2296", strand:-1},
{id: 2301, start:2527412, end:2527657, name:"PA2297", strand:-1},
{id: 2302, start:2527743, end:2529467, name:"PA2298", strand:-1},
{id: 2303, start:2529464, end:2530213, name:"PA2299", strand:-1},
{id: 2304, start:2530389, end:2531840, name:"PA2300", strand:-1},
{id: 2305, start:2532059, end:2532601, name:"PA2301", strand:-1},
{id: 2306, start:2532669, end:2539043, name:"PA2302", strand:-1},
{id: 2307, start:2539063, end:2540082, name:"PA2303", strand:-1},
{id: 2308, start:2540079, end:2541167, name:"PA2304", strand:-1},
{id: 2309, start:2541197, end:2544946, name:"PA2305", strand:-1},
{id: 2310, start:2545042, end:2545659, name:"PA2306", strand:-1},
{id: 2311, start:2545769, end:2546635, name:"PA2307", strand:-1},
{id: 2312, start:2546652, end:2547500, name:"PA2308", strand:-1},
{id: 2313, start:2547508, end:2548530, name:"PA2309", strand:-1},
{id: 2314, start:2548571, end:2549458, name:"PA2310", strand:-1},
{id: 2315, start:2549748, end:2549906, name:"PA2311", strand:1},
{id: 2316, start:2549961, end:2550542, name:"PA2312", strand:1},
{id: 2317, start:2550626, end:2551240, name:"PA2313", strand:1},
{id: 2318, start:2551422, end:2552675, name:"PA2314", strand:-1},
{id: 2319, start:2552675, end:2553850, name:"PA2315", strand:-1},
{id: 2320, start:2553965, end:2554858, name:"PA2316", strand:1},
{id: 2321, start:2554962, end:2556260, name:"PA2317", strand:1},
{id: 2322, start:2556293, end:2556658, name:"PA2318", strand:1},
{id: 2323, start:2556948, end:2557964, name:"PA2319", strand:1},
{id: 2324, start:2558918, end:2559949, name:"PA2320", strand:-1},
{id: 2325, start:2560144, end:2560665, name:"PA2321", strand:1},
{id: 2326, start:2560762, end:2562114, name:"PA2322", strand:1},
{id: 2327, start:2562447, end:2564072, name:"PA2323", strand:1},
{id: 2328, start:2564290, end:2565549, name:"PA2324", strand:1},
{id: 2329, start:2565580, end:2566815, name:"PA2325", strand:1},
{id: 2330, start:2566875, end:2568284, name:"PA2326", strand:-1},
{id: 2331, start:2568929, end:2569693, name:"PA2327", strand:-1},
{id: 2332, start:2569690, end:2570889, name:"PA2328", strand:-1},
{id: 2333, start:2570855, end:2571691, name:"PA2329", strand:-1},
{id: 2334, start:2571688, end:2572755, name:"PA2330", strand:-1},
{id: 2335, start:2572805, end:2573365, name:"PA2331", strand:-1},
{id: 2336, start:2573470, end:2574375, name:"PA2332", strand:1},
{id: 2337, start:2574376, end:2575992, name:"PA2333", strand:-1},
{id: 2338, start:2576089, end:2577000, name:"PA2334", strand:-1},
{id: 2339, start:2577150, end:2579519, name:"PA2335", strand:1},
{id: 2340, start:2579542, end:2580882, name:"PA2336", strand:1},
{id: 2341, start:2581034, end:2581939, name:"PA2337", strand:1},
{id: 2342, start:2582097, end:2583407, name:"PA2338", strand:1},
{id: 2343, start:2583483, end:2584415, name:"PA2339", strand:1},
{id: 2344, start:2584426, end:2585259, name:"PA2340", strand:1},
{id: 2345, start:2585299, end:2586411, name:"PA2341", strand:1},
{id: 2346, start:2586434, end:2587909, name:"PA2342", strand:1},
{id: 2347, start:2587906, end:2589414, name:"PA2343", strand:1},
{id: 2348, start:2589455, end:2590387, name:"PA2344", strand:1},
{id: 2349, start:2590430, end:2591665, name:"PA2345", strand:-1},
{id: 2350, start:2592084, end:2593319, name:"PA2346", strand:1},
{id: 2351, start:2593330, end:2594547, name:"PA2347", strand:1},
{id: 2352, start:2594565, end:2595953, name:"PA2348", strand:1},
{id: 2353, start:2595985, end:2596779, name:"PA2349", strand:1},
{id: 2354, start:2596776, end:2597885, name:"PA2350", strand:1},
{id: 2355, start:2597869, end:2598522, name:"PA2351", strand:1},
{id: 2356, start:2598700, end:2599827, name:"PA2352", strand:1},
{id: 2357, start:2599893, end:2601047, name:"PA2353", strand:-1},
{id: 2358, start:2601219, end:2602349, name:"PA2354", strand:-1},
{id: 2359, start:2602346, end:2603530, name:"PA2355", strand:-1},
{id: 2360, start:2603560, end:2604705, name:"PA2356", strand:-1},
{id: 2361, start:2604715, end:2605275, name:"PA2357", strand:-1},
{id: 2362, start:2605435, end:2605824, name:"PA2358", strand:-1},
{id: 2363, start:2605937, end:2607022, name:"PA2359", strand:-1},
{id: 2364, start:2607132, end:2608232, name:"PA2360", strand:-1},
{id: 2365, start:2608229, end:2612044, name:"PA2361", strand:-1},
{id: 2366, start:2612041, end:2612799, name:"PA2362", strand:-1},
{id: 2367, start:2612817, end:2614148, name:"PA2363", strand:-1},
{id: 2368, start:2614208, end:2614684, name:"PA2364", strand:-1},
{id: 2369, start:2614893, end:2615438, name:"PA2365", strand:1},
{id: 2370, start:2615461, end:2616945, name:"PA2366", strand:1},
{id: 2371, start:2617019, end:2617516, name:"PA2367", strand:1},
{id: 2372, start:2617529, end:2617954, name:"PA2368", strand:1},
{id: 2373, start:2617938, end:2619731, name:"PA2369", strand:1},
{id: 2374, start:2619695, end:2620711, name:"PA2370", strand:1},
{id: 2375, start:2620713, end:2623262, name:"PA2371", strand:1},
{id: 2376, start:2623284, end:2623856, name:"PA2372", strand:1},
{id: 2377, start:2624204, end:2626210, name:"PA2373", strand:1},
{id: 2378, start:2626221, end:2626757, name:"PA2374", strand:1},
{id: 2379, start:2626780, end:2627175, name:"PA2375", strand:-1},
{id: 2380, start:2627452, end:2628093, name:"PA2376", strand:1},
{id: 2381, start:2628225, end:2629499, name:"PA2377", strand:1},
{id: 2382, start:2629916, end:2632231, name:"PA2378", strand:-1},
{id: 2383, start:2632228, end:2632698, name:"PA2379", strand:-1},
{id: 2384, start:2632963, end:2633199, name:"PA2380", strand:-1},
{id: 2385, start:2633494, end:2633736, name:"PA2381", strand:1},
{id: 2386, start:2633803, end:2634954, name:"PA2382", strand:-1},
{id: 2387, start:2635051, end:2635971, name:"PA2383", strand:-1},
{id: 2388, start:2636013, end:2636336, name:"PA2384", strand:-1},
{id: 2389, start:2636517, end:2638805, name:"PA2385", strand:-1},
{id: 2390, start:2638928, end:2640259, name:"PA2386", strand:-1},
{id: 2391, start:2640392, end:2640871, name:"PA2387", strand:-1},
{id: 2392, start:2641035, end:2642030, name:"PA2388", strand:1},
{id: 2393, start:2642131, end:2643306, name:"PA2389", strand:1},
{id: 2394, start:2643306, end:2645297, name:"PA2390", strand:1},
{id: 2395, start:2645303, end:2646727, name:"PA2391", strand:1},
{id: 2396, start:2646776, end:2648410, name:"PA2392", strand:-1},
{id: 2397, start:2648626, end:2649972, name:"PA2393", strand:1},
{id: 2398, start:2649995, end:2651278, name:"PA2394", strand:1},
{id: 2399, start:2651307, end:2652161, name:"PA2395", strand:1},
{id: 2400, start:2652230, end:2653057, name:"PA2396", strand:-1},
{id: 2401, start:2653435, end:2655084, name:"PA2397", strand:1},
{id: 2402, start:2655187, end:2657634, name:"PA2398", strand:1},
{id: 2403, start:2657798, end:2665144, name:"PA2399", strand:-1},
{id: 2404, start:2665156, end:2671629, name:"PA2400", strand:-1},
{id: 2405, start:2671729, end:2687178, name:"PA2402", strand:-1},
{id: 2406, start:2687497, end:2688708, name:"PA2403", strand:1},
{id: 2407, start:2688705, end:2689244, name:"PA2404", strand:1},
{id: 2408, start:2689241, end:2689570, name:"PA2405", strand:1},
{id: 2409, start:2689567, end:2690127, name:"PA2406", strand:1},
{id: 2410, start:2690160, end:2691113, name:"PA2407", strand:1},
{id: 2411, start:2691110, end:2691865, name:"PA2408", strand:1},
{id: 2412, start:2691862, end:2692767, name:"PA2409", strand:1},
{id: 2413, start:2692764, end:2693681, name:"PA2410", strand:1},
{id: 2414, start:2693781, end:2694545, name:"PA2411", strand:-1},
{id: 2415, start:2694546, end:2694764, name:"PA2412", strand:-1},
{id: 2416, start:2694842, end:2696251, name:"PA2413", strand:-1},
{id: 2417, start:2696430, end:2697749, name:"PA2414", strand:-1},
{id: 2418, start:2697742, end:2698167, name:"PA2415", strand:-1},
{id: 2419, start:2698526, end:2700163, name:"PA2416", strand:1},
{id: 2420, start:2700167, end:2701105, name:"PA2417", strand:-1},
{id: 2421, start:2701206, end:2702066, name:"PA2418", strand:1},
{id: 2422, start:2702164, end:2702844, name:"PA2419", strand:1},
{id: 2423, start:2702926, end:2704344, name:"PA2420", strand:1},
{id: 2424, start:2704377, end:2705297, name:"PA2421", strand:1},
{id: 2425, start:2705773, end:2706087, name:"PA2422", strand:1},
{id: 2426, start:2706387, end:2707181, name:"PA2423", strand:1},
{id: 2427, start:2707666, end:2720694, name:"PA2424", strand:-1},
{id: 2428, start:2720767, end:2721531, name:"PA2425", strand:-1},
{id: 2429, start:2722175, end:2722738, name:"PA2426", strand:1},
{id: 2430, start:2722755, end:2723222, name:"PA2427", strand:-1},
{id: 2431, start:2723309, end:2724223, name:"PA2428", strand:-1},
{id: 2432, start:2724485, end:2724730, name:"PA2429", strand:1},
{id: 2433, start:2724767, end:2725771, name:"PA2430", strand:-1},
{id: 2434, start:2725967, end:2728141, name:"PA2431", strand:-1},
{id: 2435, start:2728542, end:2729456, name:"PA2432", strand:1},
{id: 2436, start:2729571, end:2729840, name:"PA2433", strand:1},
{id: 2437, start:2729976, end:2730521, name:"PA2434", strand:-1},
{id: 2438, start:2730518, end:2732503, name:"PA2435", strand:-1},
{id: 2439, start:2732532, end:2732966, name:"PA2436", strand:-1},
{id: 2440, start:2733120, end:2734160, name:"PA2437", strand:-1},
{id: 2441, start:2734157, end:2735182, name:"PA2438", strand:-1},
{id: 2442, start:2735194, end:2737194, name:"PA2439", strand:-1},
{id: 2443, start:2737882, end:2738844, name:"PA2440", strand:1},
{id: 2444, start:2738841, end:2739716, name:"PA2441", strand:1},
{id: 2445, start:2739762, end:2740883, name:"PA2442", strand:-1},
{id: 2446, start:2740977, end:2742353, name:"PA2443", strand:-1},
{id: 2447, start:2742401, end:2743657, name:"PA2444", strand:-1},
{id: 2448, start:2743800, end:2746679, name:"PA2445", strand:-1},
{id: 2449, start:2746690, end:2747073, name:"PA2446", strand:-1},
{id: 2450, start:2747332, end:2748255, name:"PA2447", strand:-1},
{id: 2451, start:2748378, end:2750120, name:"PA2448", strand:1},
{id: 2452, start:2750128, end:2751663, name:"PA2449", strand:-1},
{id: 2453, start:2751745, end:2752662, name:"PA2450", strand:-1},
{id: 2454, start:2752866, end:2753465, name:"PA2451", strand:-1},
{id: 2455, start:2753519, end:2754445, name:"PA2452", strand:-1},
{id: 2456, start:2754602, end:2754823, name:"PA2453", strand:1},
{id: 2457, start:2754877, end:2755728, name:"PA2454", strand:1},
{id: 2458, start:2755725, end:2756252, name:"PA2455", strand:1},
{id: 2459, start:2756309, end:2756650, name:"PA2456", strand:1},
{id: 2460, start:2756918, end:2757898, name:"PA2457", strand:1},
{id: 2461, start:2758061, end:2759182, name:"PA2458", strand:1},
{id: 2462, start:2759482, end:2760087, name:"PA2459", strand:-1},
{id: 2463, start:2760323, end:2760619, name:"PA2460", strand:-1},
{id: 2464, start:2760872, end:2761351, name:"PA2461", strand:-1},
{id: 2465, start:2761921, end:2778804, name:"PA2462", strand:-1},
{id: 2466, start:2778917, end:2780614, name:"PA2463", strand:-1},
{id: 2467, start:2780927, end:2781451, name:"PA2464", strand:-1},
{id: 2468, start:2781498, end:2782646, name:"PA2465", strand:-1},
{id: 2469, start:2782764, end:2785226, name:"PA2466", strand:-1},
{id: 2470, start:2785370, end:2786356, name:"PA2467", strand:-1},
{id: 2471, start:2786365, end:2786883, name:"PA2468", strand:-1},
{id: 2472, start:2786972, end:2787886, name:"PA2469", strand:-1},
{id: 2473, start:2788011, end:2789072, name:"PA2470", strand:1},
{id: 2474, start:2789085, end:2789783, name:"PA2471", strand:1},
{id: 2475, start:2789861, end:2791207, name:"PA2472", strand:1},
{id: 2476, start:2791220, end:2791864, name:"PA2473", strand:1},
{id: 2477, start:2791906, end:2792817, name:"PA2474", strand:1},
{id: 2478, start:2792799, end:2794133, name:"PA2475", strand:-1},
{id: 2479, start:2794206, end:2794976, name:"PA2476", strand:-1},
{id: 2480, start:2794973, end:2795809, name:"PA2477", strand:-1},
{id: 2481, start:2795809, end:2797572, name:"PA2478", strand:-1},
{id: 2482, start:2797735, end:2798415, name:"PA2479", strand:1},
{id: 2483, start:2798412, end:2799734, name:"PA2480", strand:1},
{id: 2484, start:2799910, end:2800785, name:"PA2481", strand:-1},
{id: 2485, start:2800782, end:2801435, name:"PA2482", strand:-1},
{id: 2486, start:2801550, end:2802551, name:"PA2483", strand:-1},
{id: 2487, start:2802702, end:2803316, name:"PA2484", strand:-1},
{id: 2488, start:2803345, end:2803623, name:"PA2485", strand:1},
{id: 2489, start:2803640, end:2803834, name:"PA2486", strand:1},
{id: 2490, start:2803860, end:2804132, name:"PA2487", strand:-1},
{id: 2491, start:2804230, end:2804994, name:"PA2488", strand:1},
{id: 2492, start:2805021, end:2805836, name:"PA2489", strand:1},
{id: 2493, start:2805917, end:2806291, name:"PA2490", strand:1},
{id: 2494, start:2806350, end:2807369, name:"PA2491", strand:-1},
{id: 2495, start:2807469, end:2808512, name:"PA2492", strand:1},
{id: 2496, start:2808743, end:2809987, name:"PA2493", strand:1},
{id: 2497, start:2810009, end:2813197, name:"PA2494", strand:1},
{id: 2498, start:2813194, end:2814612, name:"PA2495", strand:1},
{id: 2499, start:2814767, end:2815282, name:"PA2496", strand:-1},
{id: 2500, start:2815341, end:2816219, name:"PA2497", strand:-1},
{id: 2501, start:2816347, end:2816979, name:"PA2498", strand:1},
{id: 2502, start:2816997, end:2817452, name:"PA2499", strand:1},
{id: 2503, start:2817449, end:2818675, name:"PA2500", strand:1},
{id: 2504, start:2818719, end:2818886, name:"PA2501", strand:-1},
{id: 2505, start:2818990, end:2820489, name:"PA2502", strand:-1},
{id: 2506, start:2820448, end:2821701, name:"PA2503", strand:1},
{id: 2507, start:2821705, end:2822322, name:"PA2504", strand:-1},
{id: 2508, start:2822574, end:2823920, name:"PA2505", strand:-1},
{id: 2509, start:2824283, end:2824501, name:"PA2506", strand:1},
{id: 2510, start:2824659, end:2825591, name:"PA2507", strand:-1},
{id: 2511, start:2825636, end:2825926, name:"PA2508", strand:-1},
{id: 2512, start:2825958, end:2827079, name:"PA2509", strand:-1},
{id: 2513, start:2827241, end:2828113, name:"PA2510", strand:1},
{id: 2514, start:2828122, end:2829123, name:"PA2511", strand:-1},
{id: 2515, start:2829440, end:2830834, name:"PA2512", strand:1},
{id: 2516, start:2830831, end:2831322, name:"PA2513", strand:1},
{id: 2517, start:2831341, end:2832363, name:"PA2514", strand:1},
{id: 2518, start:2832369, end:2833130, name:"PA2515", strand:-1},
{id: 2519, start:2833155, end:2834168, name:"PA2516", strand:-1},
{id: 2520, start:2834202, end:2834690, name:"PA2517", strand:-1},
{id: 2521, start:2834687, end:2836054, name:"PA2518", strand:-1},
{id: 2522, start:2836171, end:2837127, name:"PA2519", strand:-1},
{id: 2523, start:2837334, end:2840489, name:"PA2520", strand:-1},
{id: 2524, start:2840512, end:2841966, name:"PA2521", strand:-1},
{id: 2525, start:2842019, end:2843305, name:"PA2522", strand:-1},
{id: 2526, start:2843818, end:2844492, name:"PA2523", strand:1},
{id: 2527, start:2844489, end:2845907, name:"PA2524", strand:1},
{id: 2528, start:2846283, end:2847779, name:"PA2525", strand:-1},
{id: 2529, start:2847776, end:2850886, name:"PA2526", strand:-1},
{id: 2530, start:2850883, end:2854014, name:"PA2527", strand:-1},
{id: 2531, start:2854011, end:2855291, name:"PA2528", strand:-1},
{id: 2532, start:2855548, end:2856981, name:"PA2529", strand:1},
{id: 2533, start:2856981, end:2858306, name:"PA2530", strand:1},
{id: 2534, start:2858503, end:2859627, name:"PA2531", strand:1},
{id: 2535, start:2859777, end:2860274, name:"PA2532", strand:-1},
{id: 2536, start:2860409, end:2861758, name:"PA2533", strand:-1},
{id: 2537, start:2861914, end:2862825, name:"PA2534", strand:-1},
{id: 2538, start:2862944, end:2863939, name:"PA2535", strand:1},
{id: 2539, start:2864170, end:2865105, name:"PA2536", strand:-1},
{id: 2540, start:2865107, end:2865736, name:"PA2537", strand:-1},
{id: 2541, start:2865748, end:2866200, name:"PA2538", strand:-1},
{id: 2542, start:2866193, end:2867506, name:"PA2539", strand:-1},
{id: 2543, start:2867542, end:2869302, name:"PA2540", strand:-1},
{id: 2544, start:2869392, end:2870027, name:"PA2541", strand:-1},
{id: 2545, start:2870162, end:2873827, name:"PA2542", strand:-1},
{id: 2546, start:2873824, end:2875563, name:"PA2543", strand:-1},
{id: 2547, start:2875697, end:2876410, name:"PA2544", strand:-1},
{id: 2548, start:2876555, end:2877367, name:"PA2545", strand:1},
{id: 2549, start:2877477, end:2877908, name:"PA2546", strand:-1},
{id: 2550, start:2877999, end:2878916, name:"PA2547", strand:1},
{id: 2551, start:2878976, end:2880370, name:"PA2548", strand:1},
{id: 2552, start:2880520, end:2881563, name:"PA2549", strand:1},
{id: 2553, start:2881754, end:2882983, name:"PA2550", strand:-1},
{id: 2554, start:2883157, end:2884089, name:"PA2551", strand:1},
{id: 2555, start:2884206, end:2885333, name:"PA2552", strand:-1},
{id: 2556, start:2885362, end:2886552, name:"PA2553", strand:-1},
{id: 2557, start:2886570, end:2887337, name:"PA2554", strand:-1},
{id: 2558, start:2887357, end:2889024, name:"PA2555", strand:-1},
{id: 2559, start:2889202, end:2890287, name:"PA2556", strand:-1},
{id: 2560, start:2890356, end:2892050, name:"PA2557", strand:-1},
{id: 2561, start:2892271, end:2892963, name:"PA2558", strand:1},
{id: 2562, start:2893286, end:2893828, name:"PA2559", strand:-1},
{id: 2563, start:2894452, end:2894739, name:"PA2560", strand:-1},
{id: 2564, start:2894908, end:2896614, name:"PA2561", strand:1},
{id: 2565, start:2896741, end:2897253, name:"PA2562", strand:-1},
{id: 2566, start:2897610, end:2899097, name:"PA2563", strand:1},
{id: 2567, start:2899107, end:2899934, name:"PA2564", strand:-1},
{id: 2568, start:2899924, end:2900349, name:"PA2565", strand:-1},
{id: 2569, start:2900372, end:2901559, name:"PA2566", strand:-1},
{id: 2570, start:2902218, end:2903981, name:"PA2567", strand:1},
{id: 2571, start:2904040, end:2904447, name:"PA2568", strand:-1},
{id: 2572, start:2904566, end:2904907, name:"PA2569", strand:-1},
{id: 2573, start:2905182, end:2905550, name:"PA2570", strand:-1},
{id: 2574, start:2906166, end:2907578, name:"PA2571", strand:-1},
{id: 2575, start:2907656, end:2908999, name:"PA2572", strand:1},
{id: 2576, start:2909010, end:2910617, name:"PA2573", strand:-1},
{id: 2577, start:2910729, end:2911877, name:"PA2574", strand:-1},
{id: 2578, start:2912225, end:2912827, name:"PA2575", strand:1},
{id: 2579, start:2912890, end:2913789, name:"PA2576", strand:-1},
{id: 2580, start:2913922, end:2914359, name:"PA2577", strand:1},
{id: 2581, start:2914374, end:2914934, name:"PA2578", strand:1},
{id: 2582, start:2914966, end:2915832, name:"PA2579", strand:-1},
{id: 2583, start:2916158, end:2916748, name:"PA2580", strand:-1},
{id: 2584, start:2917172, end:2918212, name:"PA2581", strand:1},
{id: 2585, start:2918967, end:2919500, name:"PA2582", strand:-1},
{id: 2586, start:2919591, end:2922569, name:"PA2583", strand:-1},
{id: 2587, start:2923367, end:2923927, name:"PA2584", strand:-1},
{id: 2588, start:2923961, end:2925787, name:"PA2585", strand:-1},
{id: 2589, start:2925788, end:2926432, name:"PA2586", strand:-1},
{id: 2590, start:2926773, end:2927921, name:"PA2587", strand:-1},
{id: 2591, start:2928539, end:2929567, name:"PA2588", strand:1},
{id: 2592, start:2929583, end:2930797, name:"PA2589", strand:-1},
{id: 2593, start:2930808, end:2933462, name:"PA2590", strand:-1},
{id: 2594, start:2933582, end:2934388, name:"PA2591", strand:-1},
{id: 2595, start:2934541, end:2935644, name:"PA2592", strand:1},
{id: 2596, start:2935851, end:2936423, name:"PA2593", strand:1},
{id: 2597, start:2936490, end:2937449, name:"PA2594", strand:-1},
{id: 2598, start:2937585, end:2938541, name:"PA2595", strand:-1},
{id: 2599, start:2938553, end:2939539, name:"PA2596", strand:-1},
{id: 2600, start:2939646, end:2940797, name:"PA2597", strand:-1},
{id: 2601, start:2940802, end:2941884, name:"PA2598", strand:-1},
{id: 2602, start:2941894, end:2942838, name:"PA2599", strand:-1},
{id: 2603, start:2942848, end:2943915, name:"PA2600", strand:-1},
{id: 2604, start:2944255, end:2945151, name:"PA2601", strand:-1},
{id: 2605, start:2945264, end:2945869, name:"PA2602", strand:1},
{id: 2606, start:2945866, end:2947449, name:"PA2603", strand:1},
{id: 2607, start:2947803, end:2948471, name:"PA2604", strand:1},
{id: 2608, start:2948582, end:2948977, name:"PA2605", strand:1},
{id: 2609, start:2948974, end:2949333, name:"PA2606", strand:1},
{id: 2610, start:2949333, end:2949638, name:"PA2607", strand:1},
{id: 2611, start:2949635, end:2949970, name:"PA2608", strand:1},
{id: 2612, start:2949967, end:2950950, name:"PA2609", strand:1},
{id: 2613, start:2951038, end:2952012, name:"PA2610", strand:1},
{id: 2614, start:2952017, end:2953414, name:"PA2611", strand:-1},
{id: 2615, start:2953416, end:2954696, name:"PA2612", strand:-1},
{id: 2616, start:2954818, end:2956143, name:"PA2613", strand:-1},
{id: 2617, start:2956153, end:2956779, name:"PA2614", strand:-1},
{id: 2618, start:2956805, end:2959240, name:"PA2615", strand:-1},
{id: 2619, start:2959468, end:2960418, name:"PA2616", strand:1},
{id: 2620, start:2960456, end:2961136, name:"PA2617", strand:1},
{id: 2621, start:2961191, end:2961898, name:"PA2618", strand:1},
{id: 2622, start:2962003, end:2962221, name:"PA2619", strand:1},
{id: 2623, start:2962303, end:2964579, name:"PA2620", strand:-1},
{id: 2624, start:2964607, end:2964843, name:"PA2621", strand:-1},
{id: 2625, start:2965201, end:2965473, name:"PA2622", strand:1},
{id: 2626, start:2965546, end:2966802, name:"PA2623", strand:-1},
{id: 2627, start:2967161, end:2969386, name:"PA2624", strand:1},
{id: 2628, start:2969473, end:2969943, name:"PA2625", strand:1},
{id: 2629, start:2969987, end:2971114, name:"PA2626", strand:1},
{id: 2630, start:2971111, end:2971731, name:"PA2627", strand:1},
{id: 2631, start:2971734, end:2972624, name:"PA2628", strand:1},
{id: 2632, start:2972699, end:2974069, name:"PA2629", strand:1},
{id: 2633, start:2974129, end:2975298, name:"PA2630", strand:1},
{id: 2634, start:2975291, end:2975716, name:"PA2631", strand:1},
{id: 2635, start:2975723, end:2976343, name:"PA2632", strand:1},
{id: 2636, start:2976340, end:2977161, name:"PA2633", strand:1},
{id: 2637, start:2977756, end:2979351, name:"PA2634", strand:1},
{id: 2638, start:2979530, end:2981548, name:"PA2635", strand:1},
{id: 2639, start:2981627, end:2982181, name:"PA2636", strand:1},
{id: 2640, start:2982781, end:2983194, name:"PA2637", strand:1},
{id: 2641, start:2983205, end:2983882, name:"PA2638", strand:1},
{id: 2642, start:2983963, end:2985744, name:"PA2639", strand:1},
{id: 2643, start:2985746, end:2986246, name:"PA2640", strand:1},
{id: 2644, start:2986243, end:2987589, name:"PA2641", strand:1},
{id: 2645, start:2987721, end:2990438, name:"PA2642", strand:1},
{id: 2646, start:2990435, end:2991430, name:"PA2643", strand:1},
{id: 2647, start:2991442, end:2991990, name:"PA2644", strand:1},
{id: 2648, start:2992002, end:2992502, name:"PA2645", strand:1},
{id: 2649, start:2992548, end:2992856, name:"PA2646", strand:1},
{id: 2650, start:2992853, end:2994700, name:"PA2647", strand:1},
{id: 2651, start:2994728, end:2996257, name:"PA2648", strand:1},
{id: 2652, start:2996265, end:2997725, name:"PA2649", strand:1},
{id: 2653, start:2997840, end:2998649, name:"PA2650", strand:1},
{id: 2654, start:2998856, end:2999914, name:"PA2651", strand:-1},
{id: 2655, start:3000074, end:3001759, name:"PA2652", strand:-1},
{id: 2656, start:3001873, end:3003198, name:"PA2653", strand:-1},
{id: 2657, start:3003457, end:3005601, name:"PA2654", strand:1},
{id: 2658, start:3005606, end:3005914, name:"PA2655", strand:-1},
{id: 2659, start:3006005, end:3007342, name:"PA2656", strand:-1},
{id: 2660, start:3007339, end:3008010, name:"PA2657", strand:-1},
{id: 2661, start:3008010, end:3008324, name:"PA2658", strand:-1},
{id: 2662, start:3008324, end:3008632, name:"PA2659", strand:-1},
{id: 2663, start:3008847, end:3009929, name:"PA2660", strand:1},
{id: 2664, start:3009956, end:3010849, name:"PA2661", strand:1},
{id: 2665, start:3011100, end:3012293, name:"PA2662", strand:-1},
{id: 2666, start:3012280, end:3012537, name:"PA2663", strand:-1},
{id: 2667, start:3012592, end:3013773, name:"PA2664", strand:-1},
{id: 2668, start:3013928, end:3015481, name:"PA2665", strand:1},
{id: 2669, start:3015582, end:3015938, name:"PA2666", strand:1},
{id: 2670, start:3016246, end:3016599, name:"PA2667", strand:1},
{id: 2671, start:3016675, end:3016884, name:"PA2668", strand:-1},
{id: 2672, start:3017234, end:3017818, name:"PA2669", strand:-1},
{id: 2673, start:3017818, end:3018804, name:"PA2670", strand:-1},
{id: 2674, start:3018848, end:3019927, name:"PA2671", strand:-1},
{id: 2675, start:3019917, end:3020507, name:"PA2672", strand:-1},
{id: 2676, start:3020504, end:3020929, name:"PA2673", strand:-1},
{id: 2677, start:3020929, end:3021339, name:"PA2674", strand:-1},
{id: 2678, start:3021308, end:3021742, name:"PA2675", strand:-1},
{id: 2679, start:3021796, end:3022983, name:"PA2676", strand:-1},
{id: 2680, start:3022988, end:3024715, name:"PA2677", strand:-1},
{id: 2681, start:3024705, end:3025508, name:"PA2678", strand:-1},
{id: 2682, start:3026100, end:3026852, name:"PA2679", strand:-1},
{id: 2683, start:3027078, end:3028052, name:"PA2680", strand:1},
{id: 2684, start:3028075, end:3029004, name:"PA2681", strand:1},
{id: 2685, start:3029187, end:3030428, name:"PA2682", strand:1},
{id: 2686, start:3030436, end:3031398, name:"PA2683", strand:-1},
{id: 2687, start:3031749, end:3035702, name:"PA2684", strand:-1},
{id: 2688, start:3035752, end:3037932, name:"PA2685", strand:-1},
{id: 2689, start:3037886, end:3038803, name:"PA2686", strand:1},
{id: 2690, start:3038803, end:3040143, name:"PA2687", strand:1},
{id: 2691, start:3040242, end:3042482, name:"PA2688", strand:1},
{id: 2692, start:3042502, end:3043416, name:"PA2689", strand:1},
{id: 2693, start:3043750, end:3044766, name:"PA2690", strand:-1},
{id: 2694, start:3044947, end:3046152, name:"PA2691", strand:-1},
{id: 2695, start:3046421, end:3046945, name:"PA2692", strand:1},
{id: 2696, start:3047116, end:3047616, name:"PA2693", strand:1},
{id: 2697, start:3047644, end:3047970, name:"PA2694", strand:-1},
{id: 2698, start:3048051, end:3049154, name:"PA2695", strand:-1},
{id: 2699, start:3049268, end:3050161, name:"PA2696", strand:-1},
{id: 2700, start:3050331, end:3050612, name:"PA2697", strand:-1},
{id: 2701, start:3050669, end:3051349, name:"PA2698", strand:-1},
{id: 2702, start:3051957, end:3053795, name:"PA2699", strand:1},
{id: 2703, start:3053844, end:3055151, name:"PA2700", strand:1},
{id: 2704, start:3055154, end:3056743, name:"PA2701", strand:1},
{id: 2705, start:3056890, end:3057366, name:"PA2702", strand:1},
{id: 2706, start:3057376, end:3057609, name:"PA2703", strand:1},
{id: 2707, start:3057902, end:3058921, name:"PA2704", strand:-1},
{id: 2708, start:3059035, end:3060216, name:"PA2705", strand:-1},
{id: 2709, start:3060265, end:3060660, name:"PA2706", strand:-1},
{id: 2710, start:3060725, end:3061570, name:"PA2707", strand:-1},
{id: 2711, start:3061733, end:3062818, name:"PA2708", strand:-1},
{id: 2712, start:3062939, end:3063913, name:"PA2709", strand:1},
{id: 2713, start:3063972, end:3064586, name:"PA2710", strand:1},
{id: 2714, start:3064785, end:3065876, name:"PA2711", strand:1},
{id: 2715, start:3066296, end:3067159, name:"PA2712", strand:1},
{id: 2716, start:3067207, end:3067686, name:"PA2713", strand:-1},
{id: 2717, start:3068040, end:3070349, name:"PA2714", strand:1},
{id: 2718, start:3070366, end:3070704, name:"PA2715", strand:1},
{id: 2719, start:3070719, end:3071954, name:"PA2716", strand:-1},
{id: 2720, start:3072081, end:3072911, name:"PA2717", strand:-1},
{id: 2721, start:3073144, end:3073632, name:"PA2718", strand:1},
{id: 2722, start:3073732, end:3074418, name:"PA2719", strand:1},
{id: 2723, start:3074580, end:3075218, name:"PA2720", strand:-1},
{id: 2724, start:3075411, end:3075890, name:"PA2721", strand:1},
{id: 2725, start:3075922, end:3076314, name:"PA2722", strand:1},
{id: 2726, start:3076344, end:3076622, name:"PA2723", strand:1},
{id: 2727, start:3076697, end:3077236, name:"PA2724", strand:1},
{id: 2728, start:3077312, end:3079195, name:"PA2725", strand:1},
{id: 2729, start:3079197, end:3079835, name:"PA2726", strand:1},
{id: 2730, start:3079850, end:3083482, name:"PA2727", strand:1},
{id: 2731, start:3083485, end:3086145, name:"PA2728", strand:1},
{id: 2732, start:3086142, end:3087491, name:"PA2729", strand:1},
{id: 2733, start:3088660, end:3089613, name:"PA2730", strand:-1},
{id: 2734, start:3089644, end:3090108, name:"PA2731", strand:-1},
{id: 2735, start:3090221, end:3093661, name:"PA2732", strand:-1},
{id: 2736, start:3093658, end:3094185, name:"PA2733", strand:-1},
{id: 2737, start:3094757, end:3096052, name:"PA2734", strand:-1},
{id: 2738, start:3096130, end:3098508, name:"PA2735", strand:-1},
{id: 2739, start:3098626, end:3098979, name:"PA2736", strand:-1},
{id: 2740, start:3099473, end:3099730, name:"PA2737", strand:-1},
{id: 2741, start:3099810, end:3100112, name:"PA2738", strand:-1},
{id: 2742, start:3100116, end:3102494, name:"PA2739", strand:-1},
{id: 2743, start:3102529, end:3103545, name:"PA2740", strand:-1},
{id: 2744, start:3103643, end:3103999, name:"PA2741", strand:-1},
{id: 2745, start:3104023, end:3104217, name:"PA2742", strand:-1},
{id: 2746, start:3104279, end:3104830, name:"PA2743", strand:-1},
{id: 2747, start:3104830, end:3106752, name:"PA2744", strand:-1},
{id: 2748, start:3107002, end:3107865, name:"PA2745", strand:-1},
{id: 2749, start:3108057, end:3108383, name:"PA2746", strand:1},
{id: 2750, start:3108970, end:3109257, name:"PA2747", strand:-1},
{id: 2751, start:3109743, end:3110525, name:"PA2748", strand:-1},
{id: 2752, start:3110901, end:3111614, name:"PA2749", strand:1},
{id: 2753, start:3111633, end:3112151, name:"PA2750", strand:1},
{id: 2754, start:3112878, end:3113777, name:"PA2751", strand:1},
{id: 2755, start:3114240, end:3114683, name:"PA2752", strand:-1},
{id: 2756, start:3114819, end:3115193, name:"PA2753", strand:1},
{id: 2757, start:3115304, end:3115633, name:"PA2754", strand:1},
{id: 2758, start:3116654, end:3117124, name:"PA2755", strand:1},
{id: 2759, start:3117177, end:3117611, name:"PA2756", strand:-1},
{id: 2760, start:3117750, end:3118193, name:"PA2757", strand:-1},
{id: 2761, start:3118296, end:3119183, name:"PA2758", strand:1},
{id: 2762, start:3119394, end:3119708, name:"PA2759", strand:-1},
{id: 2763, start:3120073, end:3121350, name:"PA2760", strand:1},
{id: 2764, start:3121462, end:3121878, name:"PA2761", strand:1},
{id: 2765, start:3121921, end:3122265, name:"PA2762", strand:-1},
{id: 2766, start:3122377, end:3122586, name:"PA2763", strand:-1},
{id: 2767, start:3123599, end:3124294, name:"PA2764", strand:1},
{id: 2768, start:3124342, end:3125241, name:"PA2765", strand:-1},
{id: 2769, start:3125583, end:3126164, name:"PA2766", strand:-1},
{id: 2770, start:3126252, end:3127220, name:"PA2767", strand:1},
{id: 2771, start:3127226, end:3127708, name:"PA2768", strand:1},
{id: 2772, start:3127860, end:3128270, name:"PA2769", strand:-1},
{id: 2773, start:3128292, end:3129071, name:"PA2770", strand:-1},
{id: 2774, start:3129729, end:3130754, name:"PA2771", strand:1},
{id: 2775, start:3130761, end:3131159, name:"PA2772", strand:-1},
{id: 2776, start:3131509, end:3132030, name:"PA2773", strand:-1},
{id: 2777, start:3132229, end:3132816, name:"PA2774", strand:-1},
{id: 2778, start:3132821, end:3133258, name:"PA2775", strand:-1},
{id: 2779, start:3133710, end:3134993, name:"PA2776", strand:1},
{id: 2780, start:3135044, end:3136000, name:"PA2777", strand:-1},
{id: 2781, start:3136082, end:3136963, name:"PA2778", strand:-1},
{id: 2782, start:3137044, end:3137442, name:"PA2779", strand:-1},
{id: 2783, start:3137850, end:3138194, name:"PA2780", strand:1},
{id: 2784, start:3138191, end:3138532, name:"PA2781", strand:1},
{id: 2785, start:3139011, end:3139670, name:"PA2782", strand:1},
{id: 2786, start:3139748, end:3141547, name:"PA2783", strand:1},
{id: 2787, start:3141719, end:3142276, name:"PA2784", strand:1},
{id: 2788, start:3142285, end:3142503, name:"PA2785", strand:1},
{id: 2789, start:3142618, end:3143085, name:"PA2786", strand:1},
{id: 2790, start:3143152, end:3144390, name:"PA2787", strand:1},
{id: 2791, start:3144412, end:3146007, name:"PA2788", strand:-1},
{id: 2792, start:3146251, end:3147330, name:"PA2789", strand:1},
{id: 2793, start:3147765, end:3148250, name:"PA2790", strand:1},
{id: 2794, start:3148339, end:3148629, name:"PA2791", strand:-1},
{id: 2795, start:3148723, end:3149319, name:"PA2792", strand:-1},
{id: 2796, start:3149400, end:3150434, name:"PA2793", strand:-1},
{id: 2797, start:3150886, end:3152202, name:"PA2794", strand:-1},
{id: 2798, start:3152504, end:3153502, name:"PA2795", strand:1},
{id: 2799, start:3153582, end:3154505, name:"PA2796", strand:1},
{id: 2800, start:3154593, end:3155075, name:"PA2797", strand:-1},
{id: 2801, start:3155072, end:3156256, name:"PA2798", strand:-1},
{id: 2802, start:3156503, end:3156802, name:"PA2799", strand:1},
{id: 2803, start:3156860, end:3157564, name:"PA2800", strand:-1},
{id: 2804, start:3157667, end:3158071, name:"PA2801", strand:1},
{id: 2805, start:3158073, end:3158792, name:"PA2802", strand:-1},
{id: 2806, start:3158926, end:3159669, name:"PA2803", strand:1},
{id: 2807, start:3159666, end:3160247, name:"PA2804", strand:1},
{id: 2808, start:3160321, end:3160584, name:"PA2805", strand:1},
{id: 2809, start:3160651, end:3161481, name:"PA2806", strand:-1},
{id: 2810, start:3161599, end:3162216, name:"PA2807", strand:-1},
{id: 2811, start:3162388, end:3162579, name:"PA2808", strand:-1},
{id: 2812, start:3162705, end:3163385, name:"PA2809", strand:1},
{id: 2813, start:3163382, end:3164713, name:"PA2810", strand:1},
{id: 2814, start:3164763, end:3165542, name:"PA2811", strand:-1},
{id: 2815, start:3165539, end:3166471, name:"PA2812", strand:-1},
{id: 2816, start:3166547, end:3167167, name:"PA2813", strand:-1},
{id: 2817, start:3167282, end:3167953, name:"PA2814", strand:-1},
{id: 2818, start:3168106, end:3170553, name:"PA2815", strand:1},
{id: 2819, start:3170682, end:3171062, name:"PA2816", strand:1},
{id: 2820, start:3171121, end:3171531, name:"PA2817", strand:1},
{id: 2821, start:3171598, end:3173175, name:"PA2818", strand:-1},
{id: 2822, start:3173244, end:3173723, name:"PA2819", strand:1},
{id: 2823, start:3174131, end:3174904, name:"PA2820", strand:1},
{id: 2824, start:3174966, end:3175628, name:"PA2821", strand:1},
{id: 2825, start:3175638, end:3176120, name:"PA2822", strand:-1},
{id: 2826, start:3176117, end:3177007, name:"PA2823", strand:-1},
{id: 2827, start:3177090, end:3179450, name:"PA2824", strand:1},
{id: 2828, start:3179469, end:3179960, name:"PA2825", strand:-1},
{id: 2829, start:3179957, end:3180442, name:"PA2826", strand:-1},
{id: 2830, start:3180554, end:3180952, name:"PA2827", strand:-1},
{id: 2831, start:3181137, end:3182348, name:"PA2828", strand:1},
{id: 2832, start:3182400, end:3182852, name:"PA2829", strand:1},
{id: 2833, start:3182986, end:3183861, name:"PA2830", strand:1},
{id: 2834, start:3184002, end:3185129, name:"PA2831", strand:1},
{id: 2835, start:3185161, end:3185817, name:"PA2832", strand:-1},
{id: 2836, start:3185873, end:3186319, name:"PA2833", strand:-1},
{id: 2837, start:3186449, end:3187408, name:"PA2834", strand:1},
{id: 2838, start:3187546, end:3189138, name:"PA2835", strand:1},
{id: 2839, start:3189150, end:3190214, name:"PA2836", strand:1},
{id: 2840, start:3190211, end:3191650, name:"PA2837", strand:1},
{id: 2841, start:3191687, end:3192658, name:"PA2838", strand:1},
{id: 2842, start:3192749, end:3193519, name:"PA2839", strand:1},
{id: 2843, start:3193886, end:3195589, name:"PA2840", strand:-1},
{id: 2844, start:3195900, end:3196691, name:"PA2841", strand:1},
{id: 2845, start:3196717, end:3197466, name:"PA2842", strand:-1},
{id: 2846, start:3197642, end:3198988, name:"PA2843", strand:1},
{id: 2847, start:3199029, end:3200237, name:"PA2844", strand:-1},
{id: 2848, start:3200320, end:3200553, name:"PA2845", strand:-1},
{id: 2849, start:3200650, end:3201504, name:"PA2846", strand:1},
{id: 2850, start:3201506, end:3202255, name:"PA2847", strand:-1},
{id: 2851, start:3202293, end:3203312, name:"PA2848", strand:1},
{id: 2852, start:3203398, end:3203853, name:"PA2849", strand:1},
{id: 2853, start:3203998, end:3204426, name:"PA2850", strand:1},
{id: 2854, start:3204514, end:3205080, name:"PA2851", strand:-1},
{id: 2855, start:3205123, end:3206253, name:"PA2852", strand:-1},
{id: 2856, start:3206915, end:3207166, name:"PA2853", strand:1},
{id: 2857, start:3207290, end:3208261, name:"PA2854", strand:-1},
{id: 2858, start:3208339, end:3208617, name:"PA2855", strand:-1},
{id: 2859, start:3208673, end:3209278, name:"PA2856", strand:-1},
{id: 2860, start:3209289, end:3209972, name:"PA2857", strand:1},
{id: 2861, start:3209981, end:3212473, name:"PA2858", strand:1},
{id: 2862, start:3212525, end:3213031, name:"PA2859", strand:1},
{id: 2863, start:3213044, end:3213484, name:"PA2860", strand:-1},
{id: 2864, start:3213538, end:3214086, name:"PA2861", strand:1},
{id: 2865, start:3214282, end:3215217, name:"PA2862", strand:1},
{id: 2866, start:3215423, end:3216289, name:"PA2863", strand:1},
{id: 2867, start:3216456, end:3216890, name:"PA2864", strand:-1},
{id: 2868, start:3216989, end:3218419, name:"PA2865", strand:-1},
{id: 2869, start:3218666, end:3219469, name:"PA2866", strand:1},
{id: 2870, start:3219608, end:3221080, name:"PA2867", strand:1},
{id: 2871, start:3221206, end:3221565, name:"PA2868", strand:1},
{id: 2872, start:3221652, end:3222140, name:"PA2869", strand:1},
{id: 2873, start:3222150, end:3223727, name:"PA2870", strand:1},
{id: 2874, start:3223736, end:3224533, name:"PA2871", strand:-1},
{id: 2875, start:3224614, end:3225384, name:"PA2872", strand:-1},
{id: 2876, start:3225381, end:3227387, name:"PA2873", strand:-1},
{id: 2877, start:3227384, end:3228337, name:"PA2874", strand:-1},
{id: 2878, start:3228337, end:3229254, name:"PA2875", strand:-1},
{id: 2879, start:3229484, end:3230182, name:"PA2876", strand:-1},
{id: 2880, start:3230279, end:3231172, name:"PA2877", strand:-1},
{id: 2881, start:3231218, end:3231859, name:"PA2878", strand:1},
{id: 2882, start:3231882, end:3232772, name:"PA2879", strand:-1},
{id: 2883, start:3232819, end:3233334, name:"PA2880", strand:1},
{id: 2884, start:3233343, end:3234254, name:"PA2881", strand:-1},
{id: 2885, start:3234256, end:3235371, name:"PA2882", strand:-1},
{id: 2886, start:3235794, end:3235961, name:"PA2883", strand:1},
{id: 2887, start:3236194, end:3236958, name:"PA2884", strand:1},
{id: 2888, start:3236959, end:3237555, name:"PA2885", strand:-1},
{id: 2889, start:3237836, end:3239638, name:"PA2886", strand:1},
{id: 2890, start:3239711, end:3240589, name:"PA2887", strand:1},
{id: 2891, start:3240591, end:3242207, name:"PA2888", strand:1},
{id: 2892, start:3242324, end:3243484, name:"PA2889", strand:1},
{id: 2893, start:3243505, end:3244299, name:"PA2890", strand:1},
{id: 2894, start:3244345, end:3246330, name:"PA2891", strand:1},
{id: 2895, start:3246382, end:3247206, name:"PA2892", strand:1},
{id: 2896, start:3247369, end:3249195, name:"PA2893", strand:1},
{id: 2897, start:3249209, end:3249631, name:"PA2894", strand:-1},
{id: 2898, start:3249977, end:3250741, name:"PA2895", strand:-1},
{id: 2899, start:3250738, end:3251322, name:"PA2896", strand:-1},
{id: 2900, start:3251651, end:3253090, name:"PA2897", strand:-1},
{id: 2901, start:3253312, end:3253680, name:"PA2898", strand:-1},
{id: 2902, start:3253766, end:3254404, name:"PA2899", strand:-1},
{id: 2903, start:3254598, end:3255407, name:"PA2900", strand:-1},
{id: 2904, start:3255407, end:3255766, name:"PA2901", strand:-1},
{id: 2905, start:3255763, end:3256611, name:"PA2902", strand:-1},
{id: 2906, start:3256681, end:3258360, name:"PA2903", strand:-1},
{id: 2907, start:3258353, end:3259105, name:"PA2904", strand:-1},
{id: 2908, start:3259102, end:3259728, name:"PA2905", strand:-1},
{id: 2909, start:3259725, end:3261185, name:"PA2906", strand:-1},
{id: 2910, start:3261522, end:3262769, name:"PA2907", strand:1},
{id: 2911, start:3262762, end:3263862, name:"PA2908", strand:1},
{id: 2912, start:3263859, end:3264587, name:"PA2909", strand:1},
{id: 2913, start:3264642, end:3265211, name:"PA2910", strand:-1},
{id: 2914, start:3265848, end:3268004, name:"PA2911", strand:1},
{id: 2915, start:3268057, end:3268830, name:"PA2912", strand:1},
{id: 2916, start:3268827, end:3269798, name:"PA2913", strand:1},
{id: 2917, start:3269795, end:3270826, name:"PA2914", strand:1},
{id: 2918, start:3270827, end:3271693, name:"PA2915", strand:-1},
{id: 2919, start:3271813, end:3272406, name:"PA2916", strand:-1},
{id: 2920, start:3272457, end:3273293, name:"PA2917", strand:-1},
{id: 2921, start:3273504, end:3274277, name:"PA2918", strand:1},
{id: 2922, start:3274328, end:3274585, name:"PA2919", strand:1},
{id: 2923, start:3274597, end:3276234, name:"PA2920", strand:-1},
{id: 2924, start:3276319, end:3277308, name:"PA2921", strand:-1},
{id: 2925, start:3277409, end:3278578, name:"PA2922", strand:1},
{id: 2926, start:3278638, end:3279423, name:"PA2923", strand:1},
{id: 2927, start:3279479, end:3280168, name:"PA2924", strand:1},
{id: 2928, start:3280165, end:3280878, name:"PA2925", strand:1},
{id: 2929, start:3280899, end:3281666, name:"PA2926", strand:1},
{id: 2930, start:3281988, end:3283319, name:"PA2927", strand:1},
{id: 2931, start:3283375, end:3284598, name:"PA2928", strand:-1},
{id: 2932, start:3285007, end:3285621, name:"PA2929", strand:-1},
{id: 2933, start:3285687, end:3286613, name:"PA2930", strand:1},
{id: 2934, start:3286624, end:3287214, name:"PA2931", strand:-1},
{id: 2935, start:3287340, end:3288449, name:"PA2932", strand:1},
{id: 2936, start:3288515, end:3289693, name:"PA2933", strand:1},
{id: 2937, start:3289715, end:3290674, name:"PA2934", strand:1},
{id: 2938, start:3290694, end:3291173, name:"PA2935", strand:-1},
{id: 2939, start:3291283, end:3291864, name:"PA2936", strand:1},
{id: 2940, start:3291960, end:3292268, name:"PA2937", strand:1},
{id: 2941, start:3292324, end:3293781, name:"PA2938", strand:-1},
{id: 2942, start:3294282, end:3295892, name:"PA2939", strand:1},
{id: 2943, start:3295979, end:3297118, name:"PA2940", strand:-1},
{id: 2944, start:3297240, end:3297884, name:"PA2941", strand:-1},
{id: 2945, start:3297905, end:3298921, name:"PA2942", strand:-1},
{id: 2946, start:3299492, end:3300586, name:"PA2943", strand:1},
{id: 2947, start:3300615, end:3304361, name:"PA2944", strand:-1},
{id: 2948, start:3304437, end:3305564, name:"PA2945", strand:-1},
{id: 2949, start:3305919, end:3307013, name:"PA2946", strand:1},
{id: 2950, start:3307085, end:3307513, name:"PA2947", strand:1},
{id: 2951, start:3307510, end:3308262, name:"PA2948", strand:1},
{id: 2952, start:3308391, end:3309338, name:"PA2949", strand:1},
{id: 2953, start:3309411, end:3310607, name:"PA2950", strand:-1},
{id: 2954, start:3310792, end:3311721, name:"PA2951", strand:-1},
{id: 2955, start:3311721, end:3312470, name:"PA2952", strand:-1},
{id: 2956, start:3312791, end:3314446, name:"PA2953", strand:1},
{id: 2957, start:3314495, end:3315064, name:"PA2954", strand:-1},
{id: 2958, start:3315057, end:3315689, name:"PA2955", strand:-1},
{id: 2959, start:3315754, end:3316650, name:"PA2956", strand:-1},
{id: 2960, start:3316800, end:3317438, name:"PA2957", strand:-1},
{id: 2961, start:3317524, end:3318657, name:"PA2958", strand:1},
{id: 2962, start:3318883, end:3319659, name:"PA2959", strand:-1},
{id: 2963, start:3319674, end:3320030, name:"PA2960", strand:-1},
{id: 2964, start:3320064, end:3321050, name:"PA2961", strand:-1},
{id: 2965, start:3321043, end:3321675, name:"PA2962", strand:-1},
{id: 2966, start:3321704, end:3322753, name:"PA2963", strand:-1},
{id: 2967, start:3322759, end:3323574, name:"PA2964", strand:-1},
{id: 2968, start:3323574, end:3324818, name:"PA2965", strand:-1},
{id: 2969, start:3324947, end:3325183, name:"PA2966", strand:-1},
{id: 2970, start:3325379, end:3326122, name:"PA2967", strand:-1},
{id: 2971, start:3326145, end:3327083, name:"PA2968", strand:-1},
{id: 2972, start:3327189, end:3328169, name:"PA2969", strand:-1},
{id: 2973, start:3328203, end:3328385, name:"PA2970", strand:-1},
{id: 2974, start:3328399, end:3328935, name:"PA2971", strand:-1},
{id: 2975, start:3329045, end:3329623, name:"PA2972", strand:1},
{id: 2976, start:3329690, end:3330670, name:"PA2973", strand:-1},
{id: 2977, start:3330663, end:3331355, name:"PA2974", strand:-1},
{id: 2978, start:3331348, end:3332304, name:"PA2975", strand:-1},
{id: 2979, start:3332881, end:3336054, name:"PA2976", strand:1},
{id: 2980, start:3336212, end:3337231, name:"PA2977", strand:-1},
{id: 2981, start:3337228, end:3337692, name:"PA2978", strand:-1},
{id: 2982, start:3337692, end:3338456, name:"PA2979", strand:-1},
{id: 2983, start:3338456, end:3338641, name:"PA2980", strand:-1},
{id: 2984, start:3338679, end:3339677, name:"PA2981", strand:-1},
{id: 2985, start:3339677, end:3340117, name:"PA2982", strand:-1},
{id: 2986, start:3340114, end:3340749, name:"PA2983", strand:-1},
{id: 2987, start:3340822, end:3343047, name:"PA2984", strand:-1},
{id: 2988, start:3343178, end:3343711, name:"PA2985", strand:1},
{id: 2989, start:3343799, end:3345100, name:"PA2986", strand:-1},
{id: 2990, start:3345113, end:3345796, name:"PA2987", strand:-1},
{id: 2991, start:3345789, end:3347039, name:"PA2988", strand:-1},
{id: 2992, start:3346977, end:3347741, name:"PA2989", strand:1},
{id: 2993, start:3348073, end:3348795, name:"PA2990", strand:1},
{id: 2994, start:3348838, end:3350232, name:"PA2991", strand:-1},
{id: 2995, start:3350411, end:3350638, name:"PA2992", strand:-1},
{id: 2996, start:3350635, end:3351663, name:"PA2993", strand:-1},
{id: 2997, start:3351656, end:3352879, name:"PA2994", strand:-1},
{id: 2998, start:3352890, end:3353498, name:"PA2995", strand:-1},
{id: 2999, start:3353498, end:3354172, name:"PA2996", strand:-1},
{id: 3000, start:3354169, end:3354954, name:"PA2997", strand:-1},
{id: 3001, start:3354947, end:3356158, name:"PA2998", strand:-1},
{id: 3002, start:3356162, end:3357499, name:"PA2999", strand:-1},
{id: 3003, start:3357758, end:3359167, name:"PA3000", strand:-1},
{id: 3004, start:3359269, end:3360654, name:"PA3001", strand:-1},
{id: 3005, start:3360875, end:3364321, name:"PA3002", strand:1},
{id: 3006, start:3364332, end:3364961, name:"PA3003", strand:1},
{id: 3007, start:3365007, end:3365744, name:"PA3004", strand:-1},
{id: 3008, start:3365756, end:3366754, name:"PA3005", strand:-1},
{id: 3009, start:3366970, end:3367671, name:"PA3006", strand:-1},
{id: 3010, start:3367903, end:3368517, name:"PA3007", strand:1},
{id: 3011, start:3368529, end:3369014, name:"PA3008", strand:1},
{id: 3012, start:3369036, end:3369269, name:"PA3009", strand:-1},
{id: 3013, start:3369475, end:3369993, name:"PA3010", strand:-1},
{id: 3014, start:3370100, end:3372706, name:"PA3011", strand:-1},
{id: 3015, start:3372797, end:3373171, name:"PA3012", strand:-1},
{id: 3016, start:3373254, end:3374429, name:"PA3013", strand:-1},
{id: 3017, start:3374460, end:3376607, name:"PA3014", strand:-1},
{id: 3018, start:3377035, end:3377853, name:"PA3015", strand:1},
{id: 3019, start:3377870, end:3378304, name:"PA3016", strand:-1},
{id: 3020, start:3378512, end:3378949, name:"PA3017", strand:1},
{id: 3021, start:3378979, end:3379665, name:"PA3018", strand:-1},
{id: 3022, start:3379815, end:3381737, name:"PA3019", strand:-1},
{id: 3023, start:3381963, end:3383891, name:"PA3020", strand:1},
{id: 3024, start:3383948, end:3384334, name:"PA3021", strand:1},
{id: 3025, start:3384378, end:3385184, name:"PA3022", strand:-1},
{id: 3026, start:3385287, end:3386195, name:"PA3023", strand:-1},
{id: 3027, start:3386270, end:3387829, name:"PA3024", strand:-1},
{id: 3028, start:3387850, end:3389430, name:"PA3025", strand:-1},
{id: 3029, start:3389436, end:3391031, name:"PA3026", strand:-1},
{id: 3030, start:3391208, end:3392239, name:"PA3027", strand:1},
{id: 3031, start:3392268, end:3393485, name:"PA3028", strand:-1},
{id: 3032, start:3393482, end:3394021, name:"PA3029", strand:-1},
{id: 3033, start:3394088, end:3394684, name:"PA3030", strand:1},
{id: 3034, start:3394816, end:3395037, name:"PA3031", strand:1},
{id: 3035, start:3395325, end:3396728, name:"PA3032", strand:-1},
{id: 3036, start:3397096, end:3397374, name:"PA3033", strand:-1},
{id: 3037, start:3397381, end:3397938, name:"PA3034", strand:-1},
{id: 3038, start:3398104, end:3398700, name:"PA3035", strand:1},
{id: 3039, start:3398717, end:3399649, name:"PA3036", strand:1},
{id: 3040, start:3399649, end:3400515, name:"PA3037", strand:1},
{id: 3041, start:3400684, end:3401949, name:"PA3038", strand:1},
{id: 3042, start:3402134, end:3403516, name:"PA3039", strand:-1},
{id: 3043, start:3403812, end:3404141, name:"PA3040", strand:1},
{id: 3044, start:3404145, end:3404525, name:"PA3041", strand:1},
{id: 3045, start:3404539, end:3404862, name:"PA3042", strand:1},
{id: 3046, start:3404979, end:3406310, name:"PA3043", strand:1},
{id: 3047, start:3406321, end:3408546, name:"PA3044", strand:-1},
{id: 3048, start:3408560, end:3409183, name:"PA3045", strand:-1},
{id: 3049, start:3409609, end:3409953, name:"PA3046", strand:-1},
{id: 3050, start:3410264, end:3411694, name:"PA3047", strand:1},
{id: 3051, start:3411763, end:3413940, name:"PA3048", strand:-1},
{id: 3052, start:3414401, end:3414613, name:"PA3049", strand:1},
{id: 3053, start:3414701, end:3415729, name:"PA3050", strand:-1},
{id: 3054, start:3415786, end:3416067, name:"PA3051", strand:-1},
{id: 3055, start:3416061, end:3417041, name:"PA3052", strand:1},
{id: 3056, start:3417113, end:3418120, name:"PA3053", strand:1},
{id: 3057, start:3418288, end:3420192, name:"PA3054", strand:1},
{id: 3058, start:3420309, end:3420785, name:"PA3055", strand:-1},
{id: 3059, start:3420823, end:3421299, name:"PA3056", strand:-1},
{id: 3060, start:3421425, end:3421655, name:"PA3057", strand:1},
{id: 3061, start:3421696, end:3423066, name:"PA3058", strand:-1},
{id: 3062, start:3423068, end:3424591, name:"PA3059", strand:-1},
{id: 3063, start:3424588, end:3425577, name:"PA3060", strand:-1},
{id: 3064, start:3425555, end:3426922, name:"PA3061", strand:-1},
{id: 3065, start:3426928, end:3427446, name:"PA3062", strand:-1},
{id: 3066, start:3427486, end:3431067, name:"PA3063", strand:-1},
{id: 3067, start:3431045, end:3433891, name:"PA3064", strand:-1},
{id: 3068, start:3434373, end:3435359, name:"PA3065", strand:-1},
{id: 3069, start:3435372, end:3435944, name:"PA3066", strand:-1},
{id: 3070, start:3435987, end:3436430, name:"PA3067", strand:-1},
{id: 3071, start:3436578, end:3441440, name:"PA3068", strand:-1},
{id: 3072, start:3441713, end:3442330, name:"PA3069", strand:-1},
{id: 3073, start:3442823, end:3443803, name:"PA3070", strand:1},
{id: 3074, start:3443814, end:3444752, name:"PA3071", strand:1},
{id: 3075, start:3444749, end:3445243, name:"PA3072", strand:1},
{id: 3076, start:3445236, end:3446258, name:"PA3073", strand:1},
{id: 3077, start:3446255, end:3448015, name:"PA3074", strand:1},
{id: 3078, start:3448012, end:3449643, name:"PA3075", strand:1},
{id: 3079, start:3449697, end:3450776, name:"PA3076", strand:1},
{id: 3080, start:3450838, end:3451509, name:"PA3077", strand:1},
{id: 3081, start:3451506, end:3452801, name:"PA3078", strand:1},
{id: 3082, start:3452872, end:3455253, name:"PA3079", strand:-1},
{id: 3083, start:3455266, end:3456363, name:"PA3080", strand:-1},
{id: 3084, start:3456543, end:3457910, name:"PA3081", strand:-1},
{id: 3085, start:3457969, end:3459933, name:"PA3082", strand:-1},
{id: 3086, start:3460380, end:3463037, name:"PA3083", strand:-1},
{id: 3087, start:3463056, end:3463856, name:"PA3084", strand:-1},
{id: 3088, start:3463889, end:3464152, name:"PA3085", strand:-1},
{id: 3089, start:3464236, end:3465096, name:"PA3086", strand:-1},
{id: 3090, start:3465093, end:3466073, name:"PA3087", strand:-1},
{id: 3091, start:3466073, end:3466960, name:"PA3088", strand:-1},
{id: 3092, start:3467085, end:3468050, name:"PA3089", strand:1},
{id: 3093, start:3468108, end:3468965, name:"PA3090", strand:1},
{id: 3094, start:3468988, end:3470427, name:"PA3091", strand:-1},
{id: 3095, start:3470764, end:3472803, name:"PA3092", strand:-1},
{id: 3096, start:3473018, end:3474136, name:"PA3093", strand:1},
{id: 3097, start:3474133, end:3475170, name:"PA3094", strand:1},
{id: 3098, start:3475956, end:3476480, name:"PA3095", strand:-1},
{id: 3099, start:3476482, end:3477630, name:"PA3096", strand:-1},
{id: 3100, start:3477627, end:3478628, name:"PA3097", strand:-1},
{id: 3101, start:3478625, end:3479338, name:"PA3098", strand:-1},
{id: 3102, start:3479335, end:3479724, name:"PA3099", strand:-1},
{id: 3103, start:3479721, end:3480239, name:"PA3100", strand:-1},
{id: 3104, start:3480246, end:3480692, name:"PA3101", strand:-1},
{id: 3105, start:3480697, end:3481914, name:"PA3102", strand:-1},
{id: 3106, start:3481914, end:3483422, name:"PA3103", strand:-1},
{id: 3107, start:3483642, end:3484349, name:"PA3104", strand:1},
{id: 3108, start:3484354, end:3486330, name:"PA3105", strand:1},
{id: 3109, start:3486417, end:3487184, name:"PA3106", strand:-1},
{id: 3110, start:3487181, end:3488392, name:"PA3107", strand:-1},
{id: 3111, start:3488409, end:3489914, name:"PA3108", strand:-1},
{id: 3112, start:3490136, end:3490678, name:"PA3109", strand:-1},
{id: 3113, start:3490752, end:3491411, name:"PA3110", strand:-1},
{id: 3114, start:3491415, end:3492704, name:"PA3111", strand:-1},
{id: 3115, start:3492701, end:3493573, name:"PA3112", strand:-1},
{id: 3116, start:3493842, end:3494477, name:"PA3113", strand:-1},
{id: 3117, start:3494567, end:3495424, name:"PA3114", strand:-1},
{id: 3118, start:3495446, end:3498205, name:"PA3115", strand:-1},
{id: 3119, start:3498374, end:3499384, name:"PA3116", strand:-1},
{id: 3120, start:3499486, end:3500598, name:"PA3117", strand:-1},
{id: 3121, start:3500668, end:3501750, name:"PA3118", strand:-1},
{id: 3122, start:3501809, end:3502372, name:"PA3119", strand:-1},
{id: 3123, start:3502642, end:3503280, name:"PA3120", strand:-1},
{id: 3124, start:3503292, end:3504716, name:"PA3121", strand:-1},
{id: 3125, start:3504879, end:3505772, name:"PA3122", strand:1},
{id: 3126, start:3505865, end:3506242, name:"PA3123", strand:-1},
{id: 3127, start:3506322, end:3507233, name:"PA3124", strand:-1},
{id: 3128, start:3507345, end:3508673, name:"PA3125", strand:1},
{id: 3129, start:3508717, end:3509166, name:"PA3126", strand:-1},
{id: 3130, start:3509324, end:3510127, name:"PA3127", strand:1},
{id: 3131, start:3510144, end:3510890, name:"PA3128", strand:1},
{id: 3132, start:3510905, end:3511864, name:"PA3129", strand:-1},
{id: 3133, start:3511957, end:3512394, name:"PA3130", strand:-1},
{id: 3134, start:3512394, end:3513041, name:"PA3131", strand:-1},
{id: 3135, start:3513154, end:3514011, name:"PA3132", strand:-1},
{id: 3136, start:3514023, end:3514565, name:"PA3133", strand:-1},
{id: 3137, start:3515416, end:3516900, name:"PA3134", strand:-1},
{id: 3138, start:3516938, end:3517858, name:"PA3135", strand:-1},
{id: 3139, start:3517928, end:3518995, name:"PA3136", strand:1},
{id: 3140, start:3519045, end:3520544, name:"PA3137", strand:1},
{id: 3141, start:3520548, end:3522560, name:"PA3138", strand:-1},
{id: 3142, start:3522748, end:3523944, name:"PA3139", strand:1},
{id: 3143, start:3524161, end:3524490, name:"PA3140", strand:-1},
{id: 3144, start:3524681, end:3526678, name:"PA3141", strand:-1},
{id: 3145, start:3527429, end:3527734, name:"PA3142", strand:-1},
{id: 3146, start:3527670, end:3528212, name:"PA3143", strand:-1},
{id: 3147, start:3528231, end:3528350, name:"PA3144", strand:-1},
{id: 3148, start:3528428, end:3529447, name:"PA3145", strand:-1},
{id: 3149, start:3529508, end:3530458, name:"PA3146", strand:-1},
{id: 3150, start:3530467, end:3531708, name:"PA3147", strand:-1},
{id: 3151, start:3531751, end:3532815, name:"PA3148", strand:-1},
{id: 3152, start:3532812, end:3533933, name:"PA3149", strand:-1},
{id: 3153, start:3533948, end:3535081, name:"PA3150", strand:-1},
{id: 3154, start:3535216, end:3535971, name:"PA3151", strand:-1},
{id: 3155, start:3535971, end:3536579, name:"PA3152", strand:-1},
{id: 3156, start:3536576, end:3537811, name:"PA3153", strand:-1},
{id: 3157, start:3537808, end:3539124, name:"PA3154", strand:-1},
{id: 3158, start:3539128, end:3540207, name:"PA3155", strand:-1},
{id: 3159, start:3540210, end:3540785, name:"PA3156", strand:-1},
{id: 3160, start:3540782, end:3542671, name:"PA3157", strand:-1},
{id: 3161, start:3542740, end:3543690, name:"PA3158", strand:-1},
{id: 3162, start:3543764, end:3545074, name:"PA3159", strand:-1},
{id: 3163, start:3545881, end:3546927, name:"PA3160", strand:-1},
{id: 3164, start:3547689, end:3547973, name:"PA3161", strand:-1},
{id: 3165, start:3548110, end:3549789, name:"PA3162", strand:-1},
{id: 3166, start:3550057, end:3550746, name:"PA3163", strand:-1},
{id: 3167, start:3552979, end:3554088, name:"PA3165", strand:-1},
{id: 3168, start:3554157, end:3555254, name:"PA3166", strand:-1},
{id: 3169, start:3555254, end:3556339, name:"PA3167", strand:-1},
{id: 3170, start:3556427, end:3559198, name:"PA3168", strand:-1},
{id: 3171, start:3559435, end:3560511, name:"PA3169", strand:-1},
{id: 3172, start:3560621, end:3561955, name:"PA3170", strand:1},
{id: 3173, start:3562106, end:3562804, name:"PA3171", strand:1},
{id: 3174, start:3562801, end:3563481, name:"PA3172", strand:1},
{id: 3175, start:3563546, end:3564286, name:"PA3173", strand:1},
{id: 3176, start:3564445, end:3565173, name:"PA3174", strand:1},
{id: 3177, start:3565189, end:3566124, name:"PA3175", strand:1},
{id: 3178, start:3566163, end:3567377, name:"PA3176", strand:1},
{id: 3179, start:3567606, end:3568529, name:"PA3177", strand:1},
{id: 3180, start:3568636, end:3569013, name:"PA3178", strand:-1},
{id: 3181, start:3569106, end:3570266, name:"PA3179", strand:-1},
{id: 3182, start:3570414, end:3570851, name:"PA3180", strand:1},
{id: 3183, start:3570941, end:3571603, name:"PA3181", strand:-1},
{id: 3184, start:3571621, end:3572337, name:"PA3182", strand:-1},
{id: 3185, start:3572324, end:3573793, name:"PA3183", strand:-1},
{id: 3186, start:3573980, end:3574837, name:"PA3184", strand:1},
{id: 3187, start:3574846, end:3575697, name:"PA3185", strand:-1},
{id: 3188, start:3575912, end:3577276, name:"PA3186", strand:-1},
{id: 3189, start:3577320, end:3578480, name:"PA3187", strand:-1},
{id: 3190, start:3578513, end:3579358, name:"PA3188", strand:-1},
{id: 3191, start:3579351, end:3580283, name:"PA3189", strand:-1},
{id: 3192, start:3580384, end:3581646, name:"PA3190", strand:-1},
{id: 3193, start:3582171, end:3583592, name:"PA3191", strand:-1},
{id: 3194, start:3583616, end:3584344, name:"PA3192", strand:-1},
{id: 3195, start:3584379, end:3585374, name:"PA3193", strand:-1},
{id: 3196, start:3585477, end:3587303, name:"PA3194", strand:-1},
{id: 3197, start:3587433, end:3588437, name:"PA3195", strand:1},
{id: 3198, start:3588741, end:3589271, name:"PA3196", strand:-1},
{id: 3199, start:3589352, end:3590350, name:"PA3197", strand:-1},
{id: 3200, start:3590490, end:3591242, name:"PA3198", strand:-1},
{id: 3201, start:3591415, end:3592044, name:"PA3199", strand:-1},
{id: 3202, start:3592041, end:3592928, name:"PA3200", strand:-1},
{id: 3203, start:3593144, end:3593731, name:"PA3201", strand:1},
{id: 3204, start:3593733, end:3594032, name:"PA3202", strand:1},
{id: 3205, start:3594208, end:3594570, name:"PA3203", strand:1},
{id: 3206, start:3594581, end:3595258, name:"PA3204", strand:1},
{id: 3207, start:3595387, end:3595827, name:"PA3205", strand:1},
{id: 3208, start:3595942, end:3597279, name:"PA3206", strand:1},
{id: 3209, start:3597319, end:3597798, name:"PA3207", strand:1},
{id: 3210, start:3597779, end:3598339, name:"PA3208", strand:-1},
{id: 3211, start:3598404, end:3598775, name:"PA3209", strand:-1},
{id: 3212, start:3598933, end:3600387, name:"PA3210", strand:1},
{id: 3213, start:3600454, end:3601599, name:"PA3211", strand:1},
{id: 3214, start:3601596, end:3602390, name:"PA3212", strand:1},
{id: 3215, start:3602392, end:3603330, name:"PA3213", strand:1},
{id: 3216, start:3603327, end:3603971, name:"PA3214", strand:1},
{id: 3217, start:3603994, end:3605007, name:"PA3215", strand:-1},
{id: 3218, start:3605150, end:3605467, name:"PA3216", strand:1},
{id: 3219, start:3605684, end:3607075, name:"PA3217", strand:1},
{id: 3220, start:3607617, end:3608090, name:"PA3218", strand:1},
{id: 3221, start:3608117, end:3608929, name:"PA3219", strand:-1},
{id: 3222, start:3609076, end:3609840, name:"PA3220", strand:1},
{id: 3223, start:3609905, end:3610240, name:"PA3221", strand:1},
{id: 3224, start:3610250, end:3611149, name:"PA3222", strand:1},
{id: 3225, start:3611254, end:3611895, name:"PA3223", strand:-1},
{id: 3226, start:3612042, end:3612359, name:"PA3224", strand:-1},
{id: 3227, start:3612559, end:3613488, name:"PA3225", strand:1},
{id: 3228, start:3613495, end:3614322, name:"PA3226", strand:1},
{id: 3229, start:3614304, end:3614867, name:"PA3227", strand:1},
{id: 3230, start:3614930, end:3616762, name:"PA3228", strand:1},
{id: 3231, start:3617044, end:3617310, name:"PA3229", strand:1},
{id: 3232, start:3617343, end:3618467, name:"PA3230", strand:-1},
{id: 3233, start:3618726, end:3618884, name:"PA3231", strand:-1},
{id: 3234, start:3618993, end:3619619, name:"PA3232", strand:-1},
{id: 3235, start:3619616, end:3621415, name:"PA3233", strand:-1},
{id: 3236, start:3621505, end:3623160, name:"PA3234", strand:-1},
{id: 3237, start:3623157, end:3623468, name:"PA3235", strand:-1},
{id: 3238, start:3623686, end:3624543, name:"PA3236", strand:-1},
{id: 3239, start:3624837, end:3625058, name:"PA3237", strand:1},
{id: 3240, start:3625201, end:3626562, name:"PA3238", strand:1},
{id: 3241, start:3626566, end:3627369, name:"PA3239", strand:1},
{id: 3242, start:3627509, end:3628366, name:"PA3240", strand:1},
{id: 3243, start:3628430, end:3629599, name:"PA3241", strand:-1},
{id: 3244, start:3629667, end:3630605, name:"PA3242", strand:-1},
{id: 3245, start:3630765, end:3631556, name:"PA3243", strand:1},
{id: 3246, start:3631618, end:3632433, name:"PA3244", strand:1},
{id: 3247, start:3632430, end:3632684, name:"PA3245", strand:1},
{id: 3248, start:3632788, end:3633423, name:"PA3246", strand:1},
{id: 3249, start:3633592, end:3634881, name:"PA3247", strand:1},
{id: 3250, start:3634924, end:3635475, name:"PA3248", strand:-1},
{id: 3251, start:3635541, end:3636257, name:"PA3249", strand:-1},
{id: 3252, start:3636621, end:3637679, name:"PA3250", strand:1},
{id: 3253, start:3637734, end:3638543, name:"PA3251", strand:1},
{id: 3254, start:3638540, end:3639379, name:"PA3252", strand:1},
{id: 3255, start:3639366, end:3640163, name:"PA3253", strand:1},
{id: 3256, start:3640166, end:3641161, name:"PA3254", strand:1},
{id: 3257, start:3641233, end:3641811, name:"PA3255", strand:1},
{id: 3258, start:3641872, end:3642834, name:"PA3256", strand:-1},
{id: 3259, start:3642964, end:3645060, name:"PA3257", strand:1},
{id: 3260, start:3645099, end:3646904, name:"PA3258", strand:1},
{id: 3261, start:3646918, end:3647397, name:"PA3259", strand:-1},
{id: 3262, start:3647755, end:3648066, name:"PA3260", strand:-1},
{id: 3263, start:3648170, end:3648916, name:"PA3261", strand:1},
{id: 3264, start:3649705, end:3650466, name:"PA3262", strand:-1},
{id: 3265, start:3651056, end:3651976, name:"PA3263", strand:1},
{id: 3266, start:3652063, end:3652998, name:"PA3264", strand:1},
{id: 3267, start:3653138, end:3653452, name:"PA3265", strand:1},
{id: 3268, start:3653667, end:3653876, name:"PA3266", strand:1},
{id: 3269, start:3653937, end:3655811, name:"PA3267", strand:-1},
{id: 3270, start:3655986, end:3658151, name:"PA3268", strand:-1},
{id: 3271, start:3658248, end:3659102, name:"PA3269", strand:-1},
{id: 3272, start:3659169, end:3659756, name:"PA3270", strand:-1},
{id: 3273, start:3660022, end:3663501, name:"PA3271", strand:1},
{id: 3274, start:3663509, end:3667855, name:"PA3272", strand:-1},
{id: 3275, start:3667924, end:3668523, name:"PA3273", strand:-1},
{id: 3276, start:3668474, end:3668761, name:"PA3274", strand:1},
{id: 3277, start:3668840, end:3669169, name:"PA3275", strand:-1},
{id: 3278, start:3669166, end:3669588, name:"PA3276", strand:-1},
{id: 3279, start:3669821, end:3670633, name:"PA3277", strand:-1},
{id: 3280, start:3670759, end:3671058, name:"PA3278", strand:-1},
{id: 3281, start:3671227, end:3672549, name:"PA3279", strand:-1},
{id: 3282, start:3673008, end:3674324, name:"PA3280", strand:-1},
{id: 3283, start:3674570, end:3675160, name:"PA3281", strand:-1},
{id: 3284, start:3675163, end:3675897, name:"PA3282", strand:-1},
{id: 3285, start:3675894, end:3676748, name:"PA3283", strand:-1},
{id: 3286, start:3676767, end:3677081, name:"PA3284", strand:-1},
{id: 3287, start:3677720, end:3678331, name:"PA3285", strand:-1},
{id: 3288, start:3678334, end:3679386, name:"PA3286", strand:-1},
{id: 3289, start:3679946, end:3680461, name:"PA3287", strand:1},
{id: 3290, start:3680465, end:3680968, name:"PA3288", strand:-1},
{id: 3291, start:3681048, end:3681461, name:"PA3289", strand:1},
{id: 3292, start:3681500, end:3684148, name:"PA3290", strand:-1},
{id: 3293, start:3684163, end:3684717, name:"PA3291", strand:-1},
{id: 3294, start:3684905, end:3685762, name:"PA3292", strand:-1},
{id: 3295, start:3685759, end:3686574, name:"PA3293", strand:-1},
{id: 3296, start:3686584, end:3688650, name:"PA3294", strand:-1},
{id: 3297, start:3688879, end:3689316, name:"PA3295", strand:-1},
{id: 3298, start:3689521, end:3690951, name:"PA3296", strand:1},
{id: 3299, start:3691024, end:3695004, name:"PA3297", strand:-1},
{id: 3300, start:3695179, end:3695481, name:"PA3298", strand:-1},
{id: 3301, start:3695511, end:3697199, name:"PA3299", strand:-1},
{id: 3302, start:3697434, end:3699122, name:"PA3300", strand:-1},
{id: 3303, start:3699369, end:3700319, name:"PA3301", strand:1},
{id: 3304, start:3700316, end:3700786, name:"PA3302", strand:1},
{id: 3305, start:3700937, end:3702112, name:"PA3303", strand:1},
{id: 3306, start:3702093, end:3702950, name:"PA3304", strand:-1},
{id: 3307, start:3703167, end:3705161, name:"PA3305", strand:-1},
{id: 3308, start:3705890, end:3706492, name:"PA3306", strand:-1},
{id: 3309, start:3706546, end:3706854, name:"PA3307", strand:-1},
{id: 3310, start:3707090, end:3709942, name:"PA3308", strand:1},
{id: 3311, start:3710225, end:3710680, name:"PA3309", strand:1},
{id: 3312, start:3710749, end:3712404, name:"PA3310", strand:-1},
{id: 3313, start:3712560, end:3714911, name:"PA3311", strand:1},
{id: 3314, start:3714915, end:3715805, name:"PA3312", strand:-1},
{id: 3315, start:3715804, end:3716811, name:"PA3313", strand:1},
{id: 3316, start:3716808, end:3717611, name:"PA3314", strand:1},
{id: 3317, start:3717605, end:3718438, name:"PA3315", strand:1},
{id: 3318, start:3718435, end:3719205, name:"PA3316", strand:1},
{id: 3319, start:3719329, end:3720057, name:"PA3317", strand:1},
{id: 3320, start:3720123, end:3720623, name:"PA3318", strand:1},
{id: 3321, start:3720681, end:3722759, name:"PA3319", strand:-1},
{id: 3322, start:3722990, end:3723445, name:"PA3320", strand:-1},
{id: 3323, start:3723534, end:3724448, name:"PA3321", strand:1},
{id: 3324, start:3724456, end:3725154, name:"PA3322", strand:-1},
{id: 3325, start:3725580, end:3726455, name:"PA3323", strand:1},
{id: 3326, start:3726452, end:3728230, name:"PA3324", strand:1},
{id: 3327, start:3728240, end:3729127, name:"PA3325", strand:1},
{id: 3328, start:3729471, end:3730076, name:"PA3326", strand:-1},
{id: 3329, start:3730557, end:3737615, name:"PA3327", strand:1},
{id: 3330, start:3737612, end:3738778, name:"PA3328", strand:1},
{id: 3331, start:3738775, end:3740103, name:"PA3329", strand:1},
{id: 3332, start:3740105, end:3741019, name:"PA3330", strand:1},
{id: 3333, start:3741012, end:3742268, name:"PA3331", strand:1},
{id: 3334, start:3742265, end:3742690, name:"PA3332", strand:1},
{id: 3335, start:3742694, end:3743686, name:"PA3333", strand:1},
{id: 3336, start:3743700, end:3743939, name:"PA3334", strand:1},
{id: 3337, start:3744057, end:3744809, name:"PA3335", strand:1},
{id: 3338, start:3744901, end:3746067, name:"PA3336", strand:1},
{id: 3339, start:3746078, end:3747076, name:"PA3337", strand:-1},
{id: 3340, start:3747166, end:3747456, name:"PA3338", strand:-1},
{id: 3341, start:3747525, end:3749711, name:"PA3339", strand:1},
{id: 3342, start:3749719, end:3751767, name:"PA3340", strand:-1},
{id: 3343, start:3752044, end:3752478, name:"PA3341", strand:-1},
{id: 3344, start:3752596, end:3753612, name:"PA3342", strand:-1},
{id: 3345, start:3753763, end:3754932, name:"PA3343", strand:-1},
{id: 3346, start:3755021, end:3757159, name:"PA3344", strand:-1},
{id: 3347, start:3757243, end:3757593, name:"PA3345", strand:-1},
{id: 3348, start:3757659, end:3759374, name:"PA3346", strand:-1},
{id: 3349, start:3759376, end:3759681, name:"PA3347", strand:-1},
{id: 3350, start:3759996, end:3760820, name:"PA3348", strand:-1},
{id: 3351, start:3760897, end:3761829, name:"PA3349", strand:-1},
{id: 3352, start:3761961, end:3762659, name:"PA3350", strand:1},
{id: 3353, start:3762804, end:3763127, name:"PA3351", strand:1},
{id: 3354, start:3763182, end:3763652, name:"PA3352", strand:1},
{id: 3355, start:3763681, end:3764472, name:"PA3353", strand:1},
{id: 3356, start:3764476, end:3765087, name:"PA3354", strand:-1},
{id: 3357, start:3765129, end:3766433, name:"PA3355", strand:-1},
{id: 3358, start:3766617, end:3767858, name:"PA3356", strand:-1},
{id: 3359, start:3768184, end:3769530, name:"PA3357", strand:1},
{id: 3360, start:3769587, end:3770465, name:"PA3358", strand:1},
{id: 3361, start:3770470, end:3771480, name:"PA3359", strand:-1},
{id: 3362, start:3771503, end:3772561, name:"PA3360", strand:-1},
{id: 3363, start:3773029, end:3773376, name:"PA3361", strand:1},
{id: 3364, start:3773430, end:3773948, name:"PA3362", strand:-1},
{id: 3365, start:3773991, end:3774581, name:"PA3363", strand:-1},
{id: 3366, start:3774578, end:3775735, name:"PA3364", strand:-1},
{id: 3367, start:3775761, end:3776876, name:"PA3365", strand:-1},
{id: 3368, start:3776959, end:3777999, name:"PA3366", strand:-1},
{id: 3369, start:3778266, end:3778604, name:"PA3367", strand:1},
{id: 3370, start:3778704, end:3779369, name:"PA3368", strand:1},
{id: 3371, start:3779562, end:3779840, name:"PA3369", strand:1},
{id: 3372, start:3779930, end:3780076, name:"PA3370", strand:1},
{id: 3373, start:3780128, end:3780313, name:"PA3371", strand:1},
{id: 3374, start:3780362, end:3781132, name:"PA3372", strand:-1},
{id: 3375, start:3781123, end:3781680, name:"PA3373", strand:-1},
{id: 3376, start:3781680, end:3782843, name:"PA3374", strand:-1},
{id: 3377, start:3782833, end:3783549, name:"PA3375", strand:-1},
{id: 3378, start:3783599, end:3784414, name:"PA3376", strand:-1},
{id: 3379, start:3784411, end:3785295, name:"PA3377", strand:-1},
{id: 3380, start:3785292, end:3786392, name:"PA3378", strand:-1},
{id: 3381, start:3786392, end:3787021, name:"PA3379", strand:-1},
{id: 3382, start:3787021, end:3787479, name:"PA3380", strand:-1},
{id: 3383, start:3787489, end:3788211, name:"PA3381", strand:-1},
{id: 3384, start:3788232, end:3789026, name:"PA3382", strand:-1},
{id: 3385, start:3789093, end:3790097, name:"PA3383", strand:-1},
{id: 3386, start:3790150, end:3790986, name:"PA3384", strand:-1},
{id: 3387, start:3791347, end:3791673, name:"PA3385", strand:1},
{id: 3388, start:3791827, end:3792192, name:"PA3386", strand:1},
{id: 3389, start:3792290, end:3793060, name:"PA3387", strand:1},
{id: 3390, start:3793113, end:3793808, name:"PA3388", strand:1},
{id: 3391, start:3793815, end:3794117, name:"PA3390", strand:-1},
{id: 3392, start:3794178, end:3794591, name:"PA3389", strand:1},
{id: 3393, start:3794819, end:3796966, name:"PA3391", strand:1},
{id: 3394, start:3797009, end:3798919, name:"PA3392", strand:1},
{id: 3395, start:3798916, end:3800202, name:"PA3393", strand:1},
{id: 3396, start:3800199, end:3801113, name:"PA3394", strand:1},
{id: 3397, start:3801104, end:3801931, name:"PA3395", strand:1},
{id: 3398, start:3801948, end:3802484, name:"PA3396", strand:1},
{id: 3399, start:3802567, end:3803343, name:"PA3397", strand:-1},
{id: 3400, start:3803617, end:3804543, name:"PA3398", strand:1},
{id: 3401, start:3804545, end:3804886, name:"PA3399", strand:-1},
{id: 3402, start:3804940, end:3806073, name:"PA3400", strand:-1},
{id: 3403, start:3806070, end:3807242, name:"PA3401", strand:-1},
{id: 3404, start:3807246, end:3808217, name:"PA3402", strand:-1},
{id: 3405, start:3808318, end:3808803, name:"PA3403", strand:-1},
{id: 3406, start:3809258, end:3810613, name:"PA3404", strand:-1},
{id: 3407, start:3810610, end:3811941, name:"PA3405", strand:-1},
{id: 3408, start:3811938, end:3813740, name:"PA3406", strand:-1},
{id: 3409, start:3813958, end:3814575, name:"PA3407", strand:-1},
{id: 3410, start:3814661, end:3817336, name:"PA3408", strand:-1},
{id: 3411, start:3817546, end:3818532, name:"PA3409", strand:-1},
{id: 3412, start:3818597, end:3819112, name:"PA3410", strand:-1},
{id: 3413, start:3819189, end:3819407, name:"PA3411", strand:-1},
{id: 3414, start:3819527, end:3819796, name:"PA3412", strand:-1},
{id: 3415, start:3820006, end:3820272, name:"PA3413", strand:1},
{id: 3416, start:3820308, end:3820892, name:"PA3414", strand:1},
{id: 3417, start:3821385, end:3822497, name:"PA3415", strand:-1},
{id: 3418, start:3822515, end:3823516, name:"PA3416", strand:-1},
{id: 3419, start:3823509, end:3824606, name:"PA3417", strand:-1},
{id: 3420, start:3824748, end:3825773, name:"PA3418", strand:-1},
{id: 3421, start:3826019, end:3826831, name:"PA3419", strand:1},
{id: 3422, start:3826838, end:3829321, name:"PA3420", strand:-1},
{id: 3423, start:3829471, end:3830841, name:"PA3421", strand:-1},
{id: 3424, start:3830898, end:3832655, name:"PA3422", strand:-1},
{id: 3425, start:3832940, end:3833683, name:"PA3423", strand:1},
{id: 3426, start:3833774, end:3835180, name:"PA3424", strand:1},
{id: 3427, start:3835215, end:3835559, name:"PA3425", strand:1},
{id: 3428, start:3835579, end:3836349, name:"PA3426", strand:-1},
{id: 3429, start:3836466, end:3837377, name:"PA3427", strand:-1},
{id: 3430, start:3837493, end:3837786, name:"PA3428", strand:-1},
{id: 3431, start:3837885, end:3838781, name:"PA3429", strand:-1},
{id: 3432, start:3838778, end:3839557, name:"PA3430", strand:-1},
{id: 3433, start:3839686, end:3840372, name:"PA3431", strand:-1},
{id: 3434, start:3840359, end:3840748, name:"PA3432", strand:-1},
{id: 3435, start:3840844, end:3841737, name:"PA3433", strand:1},
{id: 3436, start:3842274, end:3843290, name:"PA3434", strand:-1},
{id: 3437, start:3843653, end:3844105, name:"PA3435", strand:-1},
{id: 3438, start:3844385, end:3844942, name:"PA3436", strand:1},
{id: 3439, start:3845053, end:3845757, name:"PA3437", strand:1},
{id: 3440, start:3845775, end:3846335, name:"PA3438", strand:1},
{id: 3441, start:3846337, end:3846708, name:"PA3439", strand:1},
{id: 3442, start:3846837, end:3847148, name:"PA3440", strand:1},
{id: 3443, start:3847718, end:3847933, name:"PA3441", strand:-1},
{id: 3444, start:3847974, end:3848798, name:"PA3442", strand:-1},
{id: 3445, start:3848795, end:3849583, name:"PA3443", strand:-1},
{id: 3446, start:3849604, end:3850752, name:"PA3444", strand:-1},
{id: 3447, start:3850830, end:3851801, name:"PA3445", strand:-1},
{id: 3448, start:3851920, end:3852513, name:"PA3446", strand:-1},
{id: 3449, start:3852667, end:3853416, name:"PA3447", strand:-1},
{id: 3450, start:3853413, end:3854237, name:"PA3448", strand:-1},
{id: 3451, start:3854241, end:3855242, name:"PA3449", strand:-1},
{id: 3452, start:3855493, end:3856131, name:"PA3450", strand:-1},
{id: 3453, start:3856337, end:3856546, name:"PA3451", strand:1},
{id: 3454, start:3856749, end:3858320, name:"PA3452", strand:1},
{id: 3455, start:3858544, end:3859209, name:"PA3453", strand:-1},
{id: 3456, start:3859338, end:3860522, name:"PA3454", strand:-1},
{id: 3457, start:3860675, end:3862165, name:"PA3455", strand:-1},
{id: 3458, start:3862309, end:3864273, name:"PA3456", strand:1},
{id: 3459, start:3864374, end:3865126, name:"PA3457", strand:1},
{id: 3460, start:3865281, end:3865754, name:"PA3458", strand:-1},
{id: 3461, start:3865897, end:3867666, name:"PA3459", strand:1},
{id: 3462, start:3867707, end:3869464, name:"PA3460", strand:1},
{id: 3463, start:3869461, end:3870657, name:"PA3461", strand:1},
{id: 3464, start:3870795, end:3873554, name:"PA3462", strand:1},
{id: 3465, start:3873606, end:3873836, name:"PA3463", strand:1},
{id: 3466, start:3874654, end:3875979, name:"PA3464", strand:-1},
{id: 3467, start:3876196, end:3877911, name:"PA3465", strand:1},
{id: 3468, start:3878033, end:3879373, name:"PA3466", strand:-1},
{id: 3469, start:3879559, end:3880926, name:"PA3467", strand:1},
{id: 3470, start:3881093, end:3882421, name:"PA3468", strand:1},
{id: 3471, start:3882441, end:3882983, name:"PA3469", strand:1},
{id: 3472, start:3882980, end:3883438, name:"PA3470", strand:1},
{id: 3473, start:3883560, end:3885254, name:"PA3471", strand:-1},
{id: 3474, start:3885711, end:3886307, name:"PA3472", strand:1},
{id: 3475, start:3886328, end:3887227, name:"PA3473", strand:-1},
{id: 3476, start:3887224, end:3888084, name:"PA3474", strand:-1},
{id: 3477, start:3888178, end:3888984, name:"PA3475", strand:-1},
{id: 3478, start:3889139, end:3889744, name:"PA3476", strand:-1},
{id: 3479, start:3889925, end:3890650, name:"PA3477", strand:-1},
{id: 3480, start:3890775, end:3892055, name:"PA3478", strand:-1},
{id: 3481, start:3892121, end:3893008, name:"PA3479", strand:-1},
{id: 3482, start:3893432, end:3893998, name:"PA3480", strand:-1},
{id: 3483, start:3894099, end:3895193, name:"PA3481", strand:-1},
{id: 3484, start:3895324, end:3897357, name:"PA3482", strand:1},
{id: 3485, start:3897391, end:3898191, name:"PA3483", strand:1},
{id: 3486, start:3898278, end:3899504, name:"PA3484", strand:1},
{id: 3487, start:3899501, end:3899938, name:"PA3485", strand:1},
{id: 3488, start:3900233, end:3902659, name:"PA3486", strand:1},
{id: 3489, start:3902663, end:3905962, name:"PA3487", strand:1},
{id: 3490, start:3906391, end:3907089, name:"PA3488", strand:1},
{id: 3491, start:3907268, end:3907852, name:"PA3489", strand:1},
{id: 3492, start:3907849, end:3908415, name:"PA3490", strand:1},
{id: 3493, start:3908412, end:3910736, name:"PA3491", strand:1},
{id: 3494, start:3910739, end:3911773, name:"PA3492", strand:1},
{id: 3495, start:3911773, end:3912417, name:"PA3493", strand:1},
{id: 3496, start:3912410, end:3913132, name:"PA3494", strand:1},
{id: 3497, start:3913129, end:3913767, name:"PA3495", strand:1},
{id: 3498, start:3913876, end:3914055, name:"PA3496", strand:1},
{id: 3499, start:3914117, end:3915337, name:"PA3497", strand:-1},
{id: 3500, start:3915807, end:3916763, name:"PA3498", strand:-1},
{id: 3501, start:3916778, end:3917212, name:"PA3499", strand:-1},
{id: 3502, start:3917209, end:3918228, name:"PA3500", strand:-1},
{id: 3503, start:3918251, end:3918469, name:"PA3501", strand:-1},
{id: 3504, start:3918471, end:3918788, name:"PA3502", strand:-1},
{id: 3505, start:3918796, end:3919431, name:"PA3503", strand:-1},
{id: 3506, start:3919774, end:3921258, name:"PA3504", strand:-1},
{id: 3507, start:3921270, end:3922073, name:"PA3505", strand:-1},
{id: 3508, start:3922084, end:3923766, name:"PA3506", strand:-1},
{id: 3509, start:3923759, end:3924556, name:"PA3507", strand:-1},
{id: 3510, start:3924543, end:3925376, name:"PA3508", strand:-1},
{id: 3511, start:3925369, end:3926238, name:"PA3509", strand:-1},
{id: 3512, start:3926247, end:3926777, name:"PA3510", strand:-1},
{id: 3513, start:3926791, end:3927552, name:"PA3511", strand:-1},
{id: 3514, start:3927558, end:3928334, name:"PA3512", strand:-1},
{id: 3515, start:3928331, end:3929338, name:"PA3513", strand:-1},
{id: 3516, start:3929379, end:3930230, name:"PA3514", strand:-1},
{id: 3517, start:3930743, end:3931816, name:"PA3515", strand:-1},
{id: 3518, start:3931866, end:3933317, name:"PA3516", strand:-1},
{id: 3519, start:3933317, end:3934750, name:"PA3517", strand:-1},
{id: 3520, start:3934781, end:3935767, name:"PA3518", strand:-1},
{id: 3521, start:3935800, end:3936837, name:"PA3519", strand:-1},
{id: 3522, start:3937238, end:3937432, name:"PA3520", strand:-1},
{id: 3523, start:3938020, end:3939495, name:"PA3521", strand:-1},
{id: 3524, start:3939492, end:3942653, name:"PA3522", strand:-1},
{id: 3525, start:3942650, end:3943807, name:"PA3523", strand:-1},
{id: 3526, start:3944184, end:3944570, name:"PA3524", strand:1},
{id: 3527, start:3944662, end:3945879, name:"PA3525", strand:-1},
{id: 3528, start:3945997, end:3946962, name:"PA3526", strand:-1},
{id: 3529, start:3947095, end:3948141, name:"PA3527", strand:1},
{id: 3530, start:3948138, end:3948812, name:"PA3528", strand:1},
{id: 3531, start:3948991, end:3949593, name:"PA3529", strand:-1},
{id: 3532, start:3949853, end:3950074, name:"PA3530", strand:1},
{id: 3533, start:3950284, end:3950760, name:"PA3531", strand:1},
{id: 3534, start:3950827, end:3951978, name:"PA3532", strand:-1},
{id: 3535, start:3952061, end:3952387, name:"PA3533", strand:-1},
{id: 3536, start:3952500, end:3954608, name:"PA3534", strand:-1},
{id: 3537, start:3954907, end:3957894, name:"PA3535", strand:1},
{id: 3538, start:3958288, end:3958755, name:"PA3536", strand:-1},
{id: 3539, start:3959033, end:3959950, name:"PA3537", strand:1},
{id: 3540, start:3959955, end:3961037, name:"PA3538", strand:1},
{id: 3541, start:3961144, end:3961923, name:"PA3539", strand:1},
{id: 3542, start:3962825, end:3964135, name:"PA3540", strand:1},
{id: 3543, start:3964275, end:3965759, name:"PA3541", strand:1},
{id: 3544, start:3965842, end:3967011, name:"PA3542", strand:1},
{id: 3545, start:3967025, end:3968452, name:"PA3543", strand:1},
{id: 3546, start:3968449, end:3969921, name:"PA3544", strand:1},
{id: 3547, start:3969942, end:3971573, name:"PA3545", strand:1},
{id: 3548, start:3971586, end:3973010, name:"PA3546", strand:1},
{id: 3549, start:3973014, end:3974117, name:"PA3547", strand:1},
{id: 3550, start:3974359, end:3975921, name:"PA3548", strand:1},
{id: 3551, start:3975936, end:3977111, name:"PA3549", strand:1},
{id: 3552, start:3977184, end:3977834, name:"PA3550", strand:1},
{id: 3553, start:3978031, end:3979476, name:"PA3551", strand:1},
{id: 3554, start:3979860, end:3981008, name:"PA3552", strand:1},
{id: 3555, start:3981005, end:3982024, name:"PA3553", strand:1},
{id: 3556, start:3982021, end:3984009, name:"PA3554", strand:1},
{id: 3557, start:3984006, end:3984893, name:"PA3555", strand:1},
{id: 3558, start:3984890, end:3986539, name:"PA3556", strand:1},
{id: 3559, start:3986536, end:3986883, name:"PA3557", strand:1},
{id: 3560, start:3986880, end:3987293, name:"PA3558", strand:1},
{id: 3561, start:3987290, end:3988684, name:"PA3559", strand:1},
{id: 3562, start:3988838, end:3990595, name:"PA3560", strand:-1},
{id: 3563, start:3990597, end:3991541, name:"PA3561", strand:-1},
{id: 3564, start:3991541, end:3994411, name:"PA3562", strand:-1},
{id: 3565, start:3994739, end:3995728, name:"PA3563", strand:1},
{id: 3566, start:3995841, end:3996518, name:"PA3564", strand:1},
{id: 3567, start:3996806, end:3997726, name:"PA3565", strand:-1},
{id: 3568, start:3997822, end:3998115, name:"PA3566", strand:1},
{id: 3569, start:3998137, end:3999150, name:"PA3567", strand:1},
{id: 3570, start:3999208, end:4001094, name:"PA3568", strand:-1},
{id: 3571, start:4001196, end:4002092, name:"PA3569", strand:-1},
{id: 3572, start:4002108, end:4003601, name:"PA3570", strand:-1},
{id: 3573, start:4003733, end:4004656, name:"PA3571", strand:1},
{id: 3574, start:4004783, end:4004959, name:"PA3572", strand:1},
{id: 3575, start:4004967, end:4006145, name:"PA3573", strand:-1},
{id: 3576, start:4006510, end:4007148, name:"PA3574", strand:1},
{id: 3577, start:4007507, end:4008037, name:"PA3575", strand:1},
{id: 3578, start:4008136, end:4008558, name:"PA3576", strand:1},
{id: 3579, start:4008938, end:4009051, name:"PA3577", strand:-1},
{id: 3580, start:4009542, end:4010327, name:"PA3578", strand:-1},
{id: 3581, start:4010523, end:4012007, name:"PA3579", strand:-1},
{id: 3582, start:4012071, end:4012541, name:"PA3580", strand:-1},
{id: 3583, start:4012806, end:4013645, name:"PA3581", strand:1},
{id: 3584, start:4013685, end:4015202, name:"PA3582", strand:1},
{id: 3585, start:4015408, end:4016163, name:"PA3583", strand:1},
{id: 3586, start:4016441, end:4017979, name:"PA3584", strand:1},
{id: 3587, start:4018112, end:4018441, name:"PA3585", strand:1},
{id: 3588, start:4018458, end:4019444, name:"PA3586", strand:-1},
{id: 3589, start:4019743, end:4020663, name:"PA3587", strand:1},
{id: 3590, start:4020669, end:4021919, name:"PA3588", strand:-1},
{id: 3591, start:4021972, end:4023177, name:"PA3589", strand:-1},
{id: 3592, start:4023200, end:4024732, name:"PA3590", strand:-1},
{id: 3593, start:4024729, end:4025526, name:"PA3591", strand:-1},
{id: 3594, start:4025586, end:4026773, name:"PA3592", strand:-1},
{id: 3595, start:4026812, end:4028539, name:"PA3593", strand:-1},
{id: 3596, start:4028653, end:4029540, name:"PA3594", strand:1},
{id: 3597, start:4029759, end:4031168, name:"PA3595", strand:1},
{id: 3598, start:4031165, end:4032238, name:"PA3596", strand:-1},
{id: 3599, start:4032328, end:4033650, name:"PA3597", strand:-1},
{id: 3600, start:4033850, end:4034665, name:"PA3598", strand:-1},
{id: 3601, start:4034793, end:4035578, name:"PA3599", strand:1},
{id: 3602, start:4035606, end:4035758, name:"PA3600", strand:-1},
{id: 3603, start:4035758, end:4036021, name:"PA3601", strand:-1},
{id: 3604, start:4036265, end:4037875, name:"PA3602", strand:1},
{id: 3605, start:4037945, end:4038316, name:"PA3603", strand:-1},
{id: 3606, start:4038388, end:4039041, name:"PA3604", strand:-1},
{id: 3607, start:4039174, end:4040100, name:"PA3605", strand:1},
{id: 3608, start:4040104, end:4040820, name:"PA3606", strand:-1},
{id: 3609, start:4041079, end:4042170, name:"PA3607", strand:1},
{id: 3610, start:4042175, end:4043068, name:"PA3608", strand:1},
{id: 3611, start:4043061, end:4043831, name:"PA3609", strand:1},
{id: 3612, start:4043920, end:4044984, name:"PA3610", strand:1},
{id: 3613, start:4045160, end:4045570, name:"PA3611", strand:1},
{id: 3614, start:4045589, end:4045810, name:"PA3612", strand:1},
{id: 3615, start:4045934, end:4048339, name:"PA3613", strand:-1},
{id: 3616, start:4048519, end:4049922, name:"PA3614", strand:1},
{id: 3617, start:4050005, end:4051075, name:"PA3615", strand:1},
{id: 3618, start:4051097, end:4051558, name:"PA3616", strand:-1},
{id: 3619, start:4051564, end:4052604, name:"PA3617", strand:-1},
{id: 3620, start:4052738, end:4053244, name:"PA3618", strand:-1},
{id: 3621, start:4053392, end:4054399, name:"PA3619", strand:1},
{id: 3622, start:4054525, end:4057092, name:"PA3620", strand:1},
{id: 3623, start:4057159, end:4057482, name:"PA3621", strand:1},
{id: 3624, start:4057909, end:4058913, name:"PA3622", strand:-1},
{id: 3625, start:4059018, end:4059911, name:"PA3623", strand:-1},
{id: 3626, start:4059957, end:4060592, name:"PA3624", strand:-1},
{id: 3627, start:4060625, end:4061374, name:"PA3625", strand:-1},
{id: 3628, start:4061362, end:4062429, name:"PA3626", strand:-1},
{id: 3629, start:4062426, end:4062899, name:"PA3627", strand:-1},
{id: 3630, start:4062970, end:4063821, name:"PA3628", strand:-1},
{id: 3631, start:4063875, end:4064987, name:"PA3629", strand:-1},
{id: 3632, start:4065119, end:4066027, name:"PA3630", strand:1},
{id: 3633, start:4066103, end:4067329, name:"PA3631", strand:1},
{id: 3634, start:4067295, end:4067543, name:"PA3632", strand:1},
{id: 3635, start:4067604, end:4068308, name:"PA3633", strand:-1},
{id: 3636, start:4068328, end:4068612, name:"PA3634", strand:-1},
{id: 3637, start:4068677, end:4069966, name:"PA3635", strand:-1},
{id: 3638, start:4070012, end:4070857, name:"PA3636", strand:-1},
{id: 3639, start:4070860, end:4072488, name:"PA3637", strand:-1},
{id: 3640, start:4072659, end:4073987, name:"PA3638", strand:-1},
{id: 3641, start:4074057, end:4075007, name:"PA3639", strand:-1},
{id: 3642, start:4075157, end:4078678, name:"PA3640", strand:-1},
{id: 3643, start:4078808, end:4080223, name:"PA3641", strand:-1},
{id: 3644, start:4080440, end:4081045, name:"PA3642", strand:-1},
{id: 3645, start:4081045, end:4082181, name:"PA3643", strand:-1},
{id: 3646, start:4082185, end:4082961, name:"PA3644", strand:-1},
{id: 3647, start:4082958, end:4083398, name:"PA3645", strand:-1},
{id: 3648, start:4083444, end:4084505, name:"PA3646", strand:-1},
{id: 3649, start:4084505, end:4085011, name:"PA3647", strand:-1},
{id: 3650, start:4085062, end:4087455, name:"PA3648", strand:-1},
{id: 3651, start:4087526, end:4088878, name:"PA3649", strand:-1},
{id: 3652, start:4088904, end:4090094, name:"PA3650", strand:-1},
{id: 3653, start:4090091, end:4090906, name:"PA3651", strand:-1},
{id: 3654, start:4090900, end:4091655, name:"PA3652", strand:-1},
{id: 3655, start:4091671, end:4092228, name:"PA3653", strand:-1},
{id: 3656, start:4092231, end:4092968, name:"PA3654", strand:-1},
{id: 3657, start:4093167, end:4094036, name:"PA3655", strand:-1},
{id: 3658, start:4094167, end:4094907, name:"PA3656", strand:-1},
{id: 3659, start:4095172, end:4095957, name:"PA3657", strand:1},
{id: 3660, start:4096124, end:4098826, name:"PA3658", strand:1},
{id: 3661, start:4098844, end:4100052, name:"PA3659", strand:1},
{id: 3662, start:4100104, end:4101849, name:"PA3660", strand:-1},
{id: 3663, start:4102087, end:4102446, name:"PA3661", strand:1},
{id: 3664, start:4102768, end:4103061, name:"PA3662", strand:1},
{id: 3665, start:4103076, end:4103429, name:"PA3663", strand:-1},
{id: 3666, start:4103732, end:4104079, name:"PA3664", strand:1},
{id: 3667, start:4104092, end:4104715, name:"PA3665", strand:1},
{id: 3668, start:4104745, end:4105779, name:"PA3666", strand:1},
{id: 3669, start:4105874, end:4107079, name:"PA3667", strand:1},
{id: 3670, start:4107076, end:4107498, name:"PA3668", strand:1},
{id: 3671, start:4107505, end:4108485, name:"PA3669", strand:-1},
{id: 3672, start:4108489, end:4110336, name:"PA3670", strand:-1},
{id: 3673, start:4110347, end:4111081, name:"PA3671", strand:-1},
{id: 3674, start:4111078, end:4112001, name:"PA3672", strand:-1},
{id: 3675, start:4112285, end:4114789, name:"PA3673", strand:1},
{id: 3676, start:4114933, end:4115331, name:"PA3674", strand:1},
{id: 3677, start:4115468, end:4116148, name:"PA3675", strand:1},
{id: 3678, start:4116188, end:4119265, name:"PA3676", strand:-1},
{id: 3679, start:4119270, end:4120373, name:"PA3677", strand:-1},
{id: 3680, start:4120469, end:4121107, name:"PA3678", strand:1},
{id: 3681, start:4121114, end:4122391, name:"PA3679", strand:-1},
{id: 3682, start:4122420, end:4123205, name:"PA3680", strand:-1},
{id: 3683, start:4123261, end:4123956, name:"PA3681", strand:-1},
{id: 3684, start:4123961, end:4124785, name:"PA3682", strand:-1},
{id: 3685, start:4124858, end:4125724, name:"PA3683", strand:-1},
{id: 3686, start:4125743, end:4126090, name:"PA3684", strand:-1},
{id: 3687, start:4126164, end:4126844, name:"PA3685", strand:-1},
{id: 3688, start:4126948, end:4127595, name:"PA3686", strand:-1},
{id: 3689, start:4127756, end:4130392, name:"PA3687", strand:-1},
{id: 3690, start:4130599, end:4130943, name:"PA3688", strand:1},
{id: 3691, start:4130952, end:4131422, name:"PA3689", strand:-1},
{id: 3692, start:4131536, end:4133758, name:"PA3690", strand:1},
{id: 3693, start:4134138, end:4134542, name:"PA3691", strand:1},
{id: 3694, start:4134591, end:4135376, name:"PA3692", strand:1},
{id: 3695, start:4135452, end:4135973, name:"PA3693", strand:-1},
{id: 3696, start:4135970, end:4136293, name:"PA3694", strand:-1},
{id: 3697, start:4136290, end:4137195, name:"PA3695", strand:-1},
{id: 3698, start:4137192, end:4137938, name:"PA3696", strand:-1},
{id: 3699, start:4138007, end:4139302, name:"PA3697", strand:-1},
{id: 3700, start:4139311, end:4139862, name:"PA3698", strand:-1},
{id: 3701, start:4139959, end:4140672, name:"PA3699", strand:-1},
{id: 3702, start:4140884, end:4142389, name:"PA3700", strand:-1},
{id: 3703, start:4142570, end:4143665, name:"PA3701", strand:-1},
{id: 3704, start:4143788, end:4144831, name:"PA3702", strand:-1},
{id: 3705, start:4144939, end:4145946, name:"PA3703", strand:-1},
{id: 3706, start:4145943, end:4148252, name:"PA3704", strand:-1},
{id: 3707, start:4148249, end:4148938, name:"PA3705", strand:-1},
{id: 3708, start:4148931, end:4150199, name:"PA3706", strand:-1},
{id: 3709, start:4150196, end:4150711, name:"PA3707", strand:-1},
{id: 3710, start:4150716, end:4152344, name:"PA3708", strand:-1},
{id: 3711, start:4152611, end:4154230, name:"PA3709", strand:-1},
{id: 3712, start:4154339, end:4156012, name:"PA3710", strand:-1},
{id: 3713, start:4156184, end:4157089, name:"PA3711", strand:1},
{id: 3714, start:4157126, end:4157821, name:"PA3712", strand:-1},
{id: 3715, start:4158143, end:4160005, name:"PA3713", strand:1},
{id: 3716, start:4160329, end:4160970, name:"PA3714", strand:1},
{id: 3717, start:4161091, end:4161894, name:"PA3715", strand:1},
{id: 3718, start:4161973, end:4163679, name:"PA3716", strand:-1},
{id: 3719, start:4163890, end:4164231, name:"PA3717", strand:1},
{id: 3720, start:4164330, end:4165571, name:"PA3718", strand:-1},
{id: 3721, start:4165719, end:4165880, name:"PA3719", strand:-1},
{id: 3722, start:4165888, end:4166313, name:"PA3720", strand:-1},
{id: 3723, start:4166518, end:4167159, name:"PA3721", strand:1},
{id: 3724, start:4167172, end:4167522, name:"PA3722", strand:-1},
{id: 3725, start:4167711, end:4168817, name:"PA3723", strand:-1},
{id: 3726, start:4168987, end:4170483, name:"PA3724", strand:-1},
{id: 3727, start:4170770, end:4172485, name:"PA3725", strand:-1},
{id: 3728, start:4172529, end:4173068, name:"PA3726", strand:-1},
{id: 3729, start:4173175, end:4173867, name:"PA3727", strand:-1},
{id: 3730, start:4173886, end:4179126, name:"PA3728", strand:-1},
{id: 3731, start:4179276, end:4181342, name:"PA3729", strand:-1},
{id: 3732, start:4181378, end:4182019, name:"PA3730", strand:-1},
{id: 3733, start:4182075, end:4182770, name:"PA3731", strand:-1},
{id: 3734, start:4182785, end:4183228, name:"PA3732", strand:-1},
{id: 3735, start:4183710, end:4184939, name:"PA3733", strand:1},
{id: 3736, start:4185522, end:4186727, name:"PA3734", strand:1},
{id: 3737, start:4186781, end:4188190, name:"PA3735", strand:-1},
{id: 3738, start:4188243, end:4189547, name:"PA3736", strand:-1},
{id: 3739, start:4189761, end:4190489, name:"PA3737", strand:-1},
{id: 3740, start:4190616, end:4191512, name:"PA3738", strand:-1},
{id: 3741, start:4191727, end:4193562, name:"PA3739", strand:1},
{id: 3742, start:4193675, end:4194361, name:"PA3740", strand:1},
{id: 3743, start:4194431, end:4194856, name:"PA3741", strand:-1},
{id: 3744, start:4195008, end:4195358, name:"PA3742", strand:-1},
{id: 3745, start:4195400, end:4196158, name:"PA3743", strand:-1},
{id: 3746, start:4196165, end:4196692, name:"PA3744", strand:-1},
{id: 3747, start:4196708, end:4196959, name:"PA3745", strand:-1},
{id: 3748, start:4197169, end:4198542, name:"PA3746", strand:-1},
{id: 3749, start:4198843, end:4199643, name:"PA3747", strand:1},
{id: 3750, start:4199656, end:4200948, name:"PA3748", strand:1},
{id: 3751, start:4201252, end:4202565, name:"PA3749", strand:1},
{id: 3752, start:4202573, end:4203322, name:"PA3750", strand:-1},
{id: 3753, start:4203324, end:4204505, name:"PA3751", strand:-1},
{id: 3754, start:4204543, end:4204737, name:"PA3752", strand:-1},
{id: 3755, start:4204734, end:4205258, name:"PA3753", strand:-1},
{id: 3756, start:4205296, end:4205907, name:"PA3754", strand:-1},
{id: 3757, start:4206048, end:4206602, name:"PA3755", strand:1},
{id: 3758, start:4206665, end:4207165, name:"PA3756", strand:1},
{id: 3759, start:4207408, end:4208151, name:"PA3757", strand:1},
{id: 3760, start:4208168, end:4209259, name:"PA3758", strand:1},
{id: 3761, start:4209256, end:4210278, name:"PA3759", strand:1},
{id: 3762, start:4210295, end:4212823, name:"PA3760", strand:1},
{id: 3763, start:4212848, end:4214560, name:"PA3761", strand:1},
{id: 3764, start:4214762, end:4215079, name:"PA3762", strand:-1},
{id: 3765, start:4215544, end:4219440, name:"PA3763", strand:-1},
{id: 3766, start:4219841, end:4221199, name:"PA3764", strand:1},
{id: 3767, start:4221213, end:4221797, name:"PA3765", strand:-1},
{id: 3768, start:4221923, end:4223179, name:"PA3766", strand:-1},
{id: 3769, start:4223568, end:4224116, name:"PA3767", strand:-1},
{id: 3770, start:4224107, end:4225498, name:"PA3768", strand:-1},
{id: 3771, start:4225660, end:4227237, name:"PA3769", strand:-1},
{id: 3772, start:4227317, end:4228786, name:"PA3770", strand:-1},
{id: 3773, start:4229050, end:4230027, name:"PA3771", strand:1},
{id: 3774, start:4230162, end:4231058, name:"PA3772", strand:1},
{id: 3775, start:4231071, end:4232228, name:"PA3773", strand:1},
{id: 3776, start:4232258, end:4233400, name:"PA3774", strand:1},
{id: 3777, start:4233385, end:4234167, name:"PA3775", strand:-1},
{id: 3778, start:4234275, end:4235183, name:"PA3776", strand:1},
{id: 3779, start:4235220, end:4236599, name:"PA3777", strand:1},
{id: 3780, start:4236606, end:4237541, name:"PA3778", strand:1},
{id: 3781, start:4237693, end:4238733, name:"PA3779", strand:1},
{id: 3782, start:4238808, end:4239302, name:"PA3780", strand:1},
{id: 3783, start:4239299, end:4240579, name:"PA3781", strand:1},
{id: 3784, start:4241342, end:4242295, name:"PA3782", strand:-1},
{id: 3785, start:4242416, end:4243045, name:"PA3783", strand:1},
{id: 3786, start:4243080, end:4243652, name:"PA3784", strand:-1},
{id: 3787, start:4243709, end:4244185, name:"PA3785", strand:-1},
{id: 3788, start:4244315, end:4244704, name:"PA3786", strand:-1},
{id: 3789, start:4244876, end:4245724, name:"PA3787", strand:1},
{id: 3790, start:4245810, end:4246205, name:"PA3788", strand:1},
{id: 3791, start:4246223, end:4247638, name:"PA3789", strand:-1},
{id: 3792, start:4247703, end:4249874, name:"PA3790", strand:-1},
{id: 3793, start:4249995, end:4250456, name:"PA3791", strand:-1},
{id: 3794, start:4250828, end:4252606, name:"PA3792", strand:1},
{id: 3795, start:4252677, end:4253009, name:"PA3793", strand:-1},
{id: 3796, start:4253063, end:4253518, name:"PA3794", strand:-1},
{id: 3797, start:4253699, end:4254649, name:"PA3795", strand:1},
{id: 3798, start:4254737, end:4255324, name:"PA3796", strand:-1},
{id: 3799, start:4255458, end:4256252, name:"PA3797", strand:-1},
{id: 3800, start:4256240, end:4257388, name:"PA3798", strand:-1},
{id: 3801, start:4257696, end:4259177, name:"PA3799", strand:-1},
{id: 3802, start:4259255, end:4260397, name:"PA3800", strand:-1},
{id: 3803, start:4260399, end:4261043, name:"PA3801", strand:-1},
{id: 3804, start:4261070, end:4262359, name:"PA3802", strand:-1},
{id: 3805, start:4262378, end:4263493, name:"PA3803", strand:-1},
{id: 3806, start:4263490, end:4264533, name:"PA3804", strand:-1},
{id: 3807, start:4264530, end:4265288, name:"PA3805", strand:-1},
{id: 3808, start:4265306, end:4266445, name:"PA3806", strand:-1},
{id: 3809, start:4266470, end:4266901, name:"PA3807", strand:-1},
{id: 3810, start:4267145, end:4267345, name:"PA3808", strand:-1},
{id: 3811, start:4267372, end:4267710, name:"PA3809", strand:-1},
{id: 3812, start:4267717, end:4269576, name:"PA3810", strand:-1},
{id: 3813, start:4269619, end:4270140, name:"PA3811", strand:-1},
{id: 3814, start:4270148, end:4270471, name:"PA3812", strand:-1},
{id: 3815, start:4270499, end:4270885, name:"PA3813", strand:-1},
{id: 3816, start:4270921, end:4272135, name:"PA3814", strand:-1},
{id: 3817, start:4272165, end:4272656, name:"PA3815", strand:-1},
{id: 3818, start:4272801, end:4273577, name:"PA3816", strand:-1},
{id: 3819, start:4273577, end:4274350, name:"PA3817", strand:-1},
{id: 3820, start:4274502, end:4275317, name:"PA3818", strand:1},
{id: 3821, start:4275422, end:4275970, name:"PA3819", strand:-1},
{id: 3822, start:4276154, end:4277074, name:"PA3820", strand:-1},
{id: 3823, start:4277085, end:4278947, name:"PA3821", strand:-1},
{id: 3824, start:4279007, end:4279345, name:"PA3822", strand:-1},
{id: 3825, start:4279389, end:4280507, name:"PA3823", strand:-1},
{id: 3826, start:4280520, end:4281563, name:"PA3824", strand:-1},
{id: 3827, start:4282078, end:4283658, name:"PA3825", strand:-1},
{id: 3828, start:4283788, end:4284285, name:"PA3826", strand:1},
{id: 3829, start:4284417, end:4285484, name:"PA3827", strand:-1},
{id: 3830, start:4285477, end:4286595, name:"PA3828", strand:-1},
{id: 3831, start:4286787, end:4287710, name:"PA3829", strand:-1},
{id: 3832, start:4287794, end:4288606, name:"PA3830", strand:-1},
{id: 3833, start:4288943, end:4290430, name:"PA3831", strand:1},
{id: 3834, start:4290427, end:4290855, name:"PA3832", strand:1},
{id: 3835, start:4290867, end:4291235, name:"PA3833", strand:1},
{id: 3836, start:4291356, end:4294208, name:"PA3834", strand:1},
{id: 3837, start:4294255, end:4294605, name:"PA3835", strand:-1},
{id: 3838, start:4297250, end:4298227, name:"PA3836", strand:1},
{id: 3839, start:4298311, end:4299201, name:"PA3837", strand:1},
{id: 3840, start:4299204, end:4299998, name:"PA3838", strand:1},
{id: 3841, start:4300117, end:4301949, name:"PA3839", strand:1},
{id: 3842, start:4302041, end:4303051, name:"PA3840", strand:1},
{id: 3843, start:4303141, end:4304502, name:"PA3841", strand:-1},
{id: 3844, start:4304690, end:4305040, name:"PA3842", strand:1},
{id: 3845, start:4305064, end:4305426, name:"PA3843", strand:1},
{id: 3846, start:4305645, end:4306256, name:"PA3844", strand:-1},
{id: 3847, start:4306380, end:4307276, name:"PA3845", strand:1},
{id: 3848, start:4307266, end:4307808, name:"PA3846", strand:-1},
{id: 3849, start:4307912, end:4308382, name:"PA3847", strand:1},
{id: 3850, start:4308456, end:4309811, name:"PA3848", strand:1},
{id: 3851, start:4309904, end:4310908, name:"PA3849", strand:1},
{id: 3852, start:4310951, end:4311862, name:"PA3850", strand:-1},
{id: 3853, start:4311951, end:4312703, name:"PA3851", strand:-1},
{id: 3854, start:4312707, end:4313642, name:"PA3852", strand:-1},
{id: 3855, start:4313763, end:4314452, name:"PA3853", strand:-1},
{id: 3856, start:4314481, end:4314795, name:"PA3854", strand:-1},
{id: 3857, start:4314788, end:4315489, name:"PA3855", strand:-1},
{id: 3858, start:4315556, end:4316038, name:"PA3856", strand:-1},
{id: 3859, start:4316109, end:4316825, name:"PA3857", strand:-1},
{id: 3860, start:4316937, end:4317962, name:"PA3858", strand:-1},
{id: 3861, start:4318259, end:4318906, name:"PA3859", strand:1},
{id: 3862, start:4318922, end:4320820, name:"PA3860", strand:-1},
{id: 3863, start:4321434, end:4322627, name:"PA3861", strand:1},
{id: 3864, start:4322788, end:4323735, name:"PA3862", strand:1},
{id: 3865, start:4323758, end:4324885, name:"PA3863", strand:1},
{id: 3866, start:4324948, end:4325580, name:"PA3864", strand:1},
{id: 3867, start:4325604, end:4326395, name:"PA3865", strand:-1},
{id: 3868, start:4327697, end:4329991, name:"PA3866", strand:-1},
{id: 3869, start:4330321, end:4330896, name:"PA3867", strand:1},
{id: 3870, start:4331452, end:4332462, name:"PA3868", strand:1},
{id: 3871, start:4332653, end:4333036, name:"PA3869", strand:1},
{id: 3872, start:4333357, end:4334346, name:"PA3870", strand:-1},
{id: 3873, start:4334403, end:4335221, name:"PA3871", strand:-1},
{id: 3874, start:4335276, end:4335959, name:"PA3872", strand:-1},
{id: 3875, start:4335962, end:4336702, name:"PA3873", strand:-1},
{id: 3876, start:4336708, end:4338249, name:"PA3874", strand:-1},
{id: 3877, start:4338261, end:4342046, name:"PA3875", strand:-1},
{id: 3878, start:4342122, end:4343528, name:"PA3876", strand:-1},
{id: 3879, start:4343540, end:4344835, name:"PA3877", strand:-1},
{id: 3880, start:4345010, end:4346878, name:"PA3878", strand:1},
{id: 3881, start:4346875, end:4347534, name:"PA3879", strand:1},
{id: 3882, start:4347619, end:4348014, name:"PA3880", strand:1},
{id: 3883, start:4348186, end:4348650, name:"PA3881", strand:1},
{id: 3884, start:4348666, end:4349415, name:"PA3882", strand:1},
{id: 3885, start:4349502, end:4350332, name:"PA3883", strand:1},
{id: 3886, start:4350353, end:4350739, name:"PA3884", strand:1},
{id: 3887, start:4350834, end:4351490, name:"PA3885", strand:1},
{id: 3888, start:4351595, end:4352494, name:"PA3886", strand:1},
{id: 3889, start:4352828, end:4354102, name:"PA3887", strand:-1},
{id: 3890, start:4354544, end:4355266, name:"PA3888", strand:1},
{id: 3891, start:4355266, end:4356201, name:"PA3889", strand:1},
{id: 3892, start:4356201, end:4356863, name:"PA3890", strand:1},
{id: 3893, start:4356876, end:4358039, name:"PA3891", strand:1},
{id: 3894, start:4358167, end:4359075, name:"PA3892", strand:-1},
{id: 3895, start:4359302, end:4361497, name:"PA3893", strand:-1},
{id: 3896, start:4361494, end:4362984, name:"PA3894", strand:-1},
{id: 3897, start:4363230, end:4364183, name:"PA3895", strand:1},
{id: 3898, start:4364278, end:4365255, name:"PA3896", strand:1},
{id: 3899, start:4365273, end:4366175, name:"PA3897", strand:-1},
{id: 3900, start:4366301, end:4367182, name:"PA3898", strand:1},
{id: 3901, start:4367283, end:4367792, name:"PA3899", strand:1},
{id: 3902, start:4367789, end:4368742, name:"PA3900", strand:1},
{id: 3903, start:4368837, end:4371191, name:"PA3901", strand:1},
{id: 3904, start:4371287, end:4371748, name:"PA3902", strand:-1},
{id: 3905, start:4371969, end:4373552, name:"PA3903", strand:1},
{id: 3906, start:4373938, end:4374333, name:"PA3904", strand:1},
{id: 3907, start:4374330, end:4374857, name:"PA3905", strand:1},
{id: 3908, start:4374850, end:4375233, name:"PA3906", strand:1},
{id: 3909, start:4375230, end:4376015, name:"PA3907", strand:1},
{id: 3910, start:4376012, end:4376731, name:"PA3908", strand:1},
{id: 3911, start:4377311, end:4379650, name:"PA3909", strand:-1},
{id: 3912, start:4379687, end:4381249, name:"PA3910", strand:-1},
{id: 3913, start:4381501, end:4382016, name:"PA3911", strand:-1},
{id: 3914, start:4382010, end:4382900, name:"PA3912", strand:-1},
{id: 3915, start:4382912, end:4383907, name:"PA3913", strand:-1},
{id: 3916, start:4384022, end:4385245, name:"PA3914", strand:-1},
{id: 3917, start:4385242, end:4385799, name:"PA3915", strand:-1},
{id: 3918, start:4385900, end:4386352, name:"PA3916", strand:-1},
{id: 3919, start:4386357, end:4386608, name:"PA3917", strand:-1},
{id: 3920, start:4386605, end:4387087, name:"PA3918", strand:-1},
{id: 3921, start:4387336, end:4388727, name:"PA3919", strand:-1},
{id: 3922, start:4389231, end:4391609, name:"PA3920", strand:1},
{id: 3923, start:4391641, end:4394361, name:"PA3921", strand:-1},
{id: 3924, start:4394694, end:4396061, name:"PA3922", strand:-1},
{id: 3925, start:4396122, end:4398047, name:"PA3923", strand:-1},
{id: 3926, start:4398259, end:4399941, name:"PA3924", strand:-1},
{id: 3927, start:4400123, end:4401298, name:"PA3925", strand:1},
{id: 3928, start:4401355, end:4402536, name:"PA3926", strand:-1},
{id: 3929, start:4402638, end:4403426, name:"PA3927", strand:1},
{id: 3930, start:4403707, end:4403877, name:"PA3928", strand:-1},
{id: 3931, start:4403891, end:4404898, name:"PA3929", strand:-1},
{id: 3932, start:4404902, end:4406368, name:"PA3930", strand:-1},
{id: 3933, start:4406806, end:4407585, name:"PA3931", strand:1},
{id: 3934, start:4407760, end:4408734, name:"PA3932", strand:1},
{id: 3935, start:4408924, end:4410885, name:"PA3933", strand:1},
{id: 3936, start:4410993, end:4413029, name:"PA3934", strand:-1},
{id: 3937, start:4413192, end:4414025, name:"PA3935", strand:-1},
{id: 3938, start:4414132, end:4414950, name:"PA3936", strand:-1},
{id: 3939, start:4414940, end:4415731, name:"PA3937", strand:-1},
{id: 3940, start:4415796, end:4416809, name:"PA3938", strand:-1},
{id: 3941, start:4417014, end:4417934, name:"PA3939", strand:-1},
{id: 3942, start:4418303, end:4418584, name:"PA3940", strand:1},
{id: 3943, start:4418708, end:4419304, name:"PA3941", strand:-1},
{id: 3944, start:4419301, end:4420170, name:"PA3942", strand:-1},
{id: 3945, start:4420204, end:4421799, name:"PA3943", strand:-1},
{id: 3946, start:4421802, end:4422380, name:"PA3944", strand:-1},
{id: 3947, start:4422407, end:4422997, name:"PA3945", strand:-1},
{id: 3948, start:4423212, end:4426850, name:"PA3946", strand:-1},
{id: 3949, start:4426952, end:4428130, name:"PA3947", strand:-1},
{id: 3950, start:4428412, end:4429041, name:"PA3948", strand:1},
{id: 3951, start:4429401, end:4430576, name:"PA3949", strand:1},
{id: 3952, start:4430599, end:4431948, name:"PA3950", strand:-1},
{id: 3953, start:4432026, end:4432529, name:"PA3951", strand:-1},
{id: 3954, start:4432595, end:4433170, name:"PA3952", strand:-1},
{id: 3955, start:4433411, end:4433992, name:"PA3953", strand:1},
{id: 3956, start:4434150, end:4435244, name:"PA3954", strand:1},
{id: 3957, start:4435328, end:4435984, name:"PA3955", strand:1},
{id: 3958, start:4436051, end:4436485, name:"PA3956", strand:1},
{id: 3959, start:4436492, end:4437328, name:"PA3957", strand:-1},
{id: 3960, start:4437390, end:4438529, name:"PA3958", strand:1},
{id: 3961, start:4438619, end:4439353, name:"PA3959", strand:1},
{id: 3962, start:4439377, end:4439784, name:"PA3960", strand:1},
{id: 3963, start:4439795, end:4442311, name:"PA3961", strand:-1},
{id: 3964, start:4442453, end:4442869, name:"PA3962", strand:1},
{id: 3965, start:4442958, end:4443854, name:"PA3963", strand:1},
{id: 3966, start:4443811, end:4444596, name:"PA3964", strand:1},
{id: 3967, start:4444978, end:4445487, name:"PA3965", strand:1},
{id: 3968, start:4445689, end:4445898, name:"PA3966", strand:1},
{id: 3969, start:4445999, end:4446391, name:"PA3967", strand:1},
{id: 3970, start:4446425, end:4446994, name:"PA3968", strand:-1},
{id: 3971, start:4447133, end:4448218, name:"PA3969", strand:1},
{id: 3972, start:4448893, end:4450392, name:"PA3970", strand:-1},
{id: 3973, start:4450447, end:4450878, name:"PA3971", strand:-1},
{id: 3974, start:4450890, end:4452539, name:"PA3972", strand:-1},
{id: 3975, start:4452536, end:4453183, name:"PA3973", strand:-1},
{id: 3976, start:4453289, end:4455676, name:"PA3974", strand:-1},
{id: 3977, start:4455887, end:4456684, name:"PA3975", strand:1},
{id: 3978, start:4456695, end:4457324, name:"PA3976", strand:1},
{id: 3979, start:4457362, end:4458645, name:"PA3977", strand:1},
{id: 3980, start:4458854, end:4459402, name:"PA3978", strand:1},
{id: 3981, start:4459418, end:4459750, name:"PA3979", strand:-1},
{id: 3982, start:4459879, end:4461219, name:"PA3980", strand:1},
{id: 3983, start:4461388, end:4462410, name:"PA3981", strand:1},
{id: 3984, start:4462400, end:4462882, name:"PA3982", strand:1},
{id: 3985, start:4462879, end:4463718, name:"PA3983", strand:1},
{id: 3986, start:4463904, end:4465439, name:"PA3984", strand:1},
{id: 3987, start:4465489, end:4466250, name:"PA3985", strand:-1},
{id: 3988, start:4466323, end:4466754, name:"PA3986", strand:-1},
{id: 3989, start:4466925, end:4469546, name:"PA3987", strand:1},
{id: 3990, start:4469613, end:4470236, name:"PA3988", strand:1},
{id: 3991, start:4470274, end:4471311, name:"PA3989", strand:1},
{id: 3992, start:4471403, end:4471555, name:"PA3990", strand:1},
{id: 3993, start:4471671, end:4472198, name:"PA3991", strand:-1},
{id: 3994, start:4472131, end:4473477, name:"PA3992", strand:1},
{id: 3995, start:4473623, end:4474639, name:"PA3993", strand:1},
{id: 3996, start:4474959, end:4475849, name:"PA3994", strand:-1},
{id: 3997, start:4475955, end:4476848, name:"PA3995", strand:1},
{id: 3998, start:4476994, end:4477977, name:"PA3996", strand:-1},
{id: 3999, start:4477974, end:4478627, name:"PA3997", strand:-1},
{id: 4000, start:4478627, end:4478908, name:"PA3998", strand:-1},
{id: 4001, start:4478979, end:4480139, name:"PA3999", strand:-1},
{id: 4002, start:4480205, end:4481233, name:"PA4000", strand:-1},
{id: 4003, start:4481230, end:4482252, name:"PA4001", strand:-1},
{id: 4004, start:4482261, end:4483364, name:"PA4002", strand:-1},
{id: 4005, start:4483396, end:4485336, name:"PA4003", strand:-1},
{id: 4006, start:4485349, end:4485816, name:"PA4004", strand:-1},
{id: 4007, start:4485824, end:4486180, name:"PA4005", strand:-1},
{id: 4008, start:4486203, end:4486847, name:"PA4006", strand:-1},
{id: 4009, start:4486847, end:4488112, name:"PA4007", strand:-1},
{id: 4010, start:4488410, end:4489633, name:"PA4008", strand:1},
{id: 4011, start:4489641, end:4490498, name:"PA4009", strand:-1},
{id: 4012, start:4490562, end:4491281, name:"PA4010", strand:1},
{id: 4013, start:4491278, end:4492591, name:"PA4011", strand:1},
{id: 4014, start:4492602, end:4493195, name:"PA4012", strand:-1},
{id: 4015, start:4493215, end:4493925, name:"PA4013", strand:-1},
{id: 4016, start:4493925, end:4494335, name:"PA4014", strand:-1},
{id: 4017, start:4494481, end:4494936, name:"PA4015", strand:1},
{id: 4018, start:4495126, end:4496865, name:"PA4016", strand:1},
{id: 4019, start:4496912, end:4497553, name:"PA4017", strand:1},
{id: 4020, start:4497573, end:4497848, name:"PA4018", strand:-1},
{id: 4021, start:4497850, end:4498479, name:"PA4019", strand:-1},
{id: 4022, start:4498488, end:4499843, name:"PA4020", strand:-1},
{id: 4023, start:4500001, end:4501932, name:"PA4021", strand:-1},
{id: 4024, start:4502271, end:4503791, name:"PA4022", strand:1},
{id: 4025, start:4504001, end:4505449, name:"PA4023", strand:1},
{id: 4026, start:4505508, end:4506902, name:"PA4024", strand:1},
{id: 4027, start:4506913, end:4507734, name:"PA4025", strand:1},
{id: 4028, start:4507897, end:4508358, name:"PA4026", strand:1},
{id: 4029, start:4508408, end:4509301, name:"PA4027", strand:1},
{id: 4030, start:4509776, end:4509997, name:"PA4028", strand:1},
{id: 4031, start:4510971, end:4511636, name:"PA4029", strand:1},
{id: 4032, start:4511639, end:4512469, name:"PA4030", strand:1},
{id: 4033, start:4512549, end:4513076, name:"PA4031", strand:1},
{id: 4034, start:4513168, end:4513884, name:"PA4032", strand:-1},
{id: 4035, start:4514079, end:4514348, name:"PA4033", strand:1},
{id: 4036, start:4514695, end:4515384, name:"PA4034", strand:1},
{id: 4037, start:4515550, end:4516551, name:"PA4035", strand:1},
{id: 4038, start:4516570, end:4518870, name:"PA4036", strand:1},
{id: 4039, start:4519275, end:4520201, name:"PA4037", strand:1},
{id: 4040, start:4520198, end:4520932, name:"PA4038", strand:1},
{id: 4041, start:4520942, end:4522744, name:"PA4039", strand:1},
{id: 4042, start:4522746, end:4523753, name:"PA4040", strand:1},
{id: 4043, start:4523985, end:4525154, name:"PA4041", strand:-1},
{id: 4044, start:4525312, end:4525554, name:"PA4042", strand:1},
{id: 4045, start:4525551, end:4526438, name:"PA4043", strand:1},
{id: 4046, start:4526547, end:4528430, name:"PA4044", strand:1},
{id: 4047, start:4528782, end:4529579, name:"PA4045", strand:-1},
{id: 4048, start:4529579, end:4529998, name:"PA4046", strand:-1},
{id: 4049, start:4529995, end:4530612, name:"PA4047", strand:-1},
{id: 4050, start:4530743, end:4531387, name:"PA4048", strand:-1},
{id: 4051, start:4531390, end:4532136, name:"PA4049", strand:-1},
{id: 4052, start:4532145, end:4532660, name:"PA4050", strand:-1},
{id: 4053, start:4532653, end:4533621, name:"PA4051", strand:-1},
{id: 4054, start:4533640, end:4534119, name:"PA4052", strand:-1},
{id: 4055, start:4534116, end:4534592, name:"PA4053", strand:-1},
{id: 4056, start:4534710, end:4535807, name:"PA4054", strand:-1},
{id: 4057, start:4535834, end:4536493, name:"PA4055", strand:-1},
{id: 4058, start:4536921, end:4538042, name:"PA4056", strand:-1},
{id: 4059, start:4538039, end:4538503, name:"PA4057", strand:-1},
{id: 4060, start:4538689, end:4539159, name:"PA4058", strand:1},
{id: 4061, start:4539156, end:4539533, name:"PA4059", strand:1},
{id: 4062, start:4539539, end:4539817, name:"PA4060", strand:1},
{id: 4063, start:4539889, end:4540758, name:"PA4061", strand:1},
{id: 4064, start:4540783, end:4541139, name:"PA4062", strand:-1},
{id: 4065, start:4541272, end:4541862, name:"PA4063", strand:1},
{id: 4066, start:4541951, end:4542655, name:"PA4064", strand:1},
{id: 4067, start:4542658, end:4543923, name:"PA4065", strand:1},
{id: 4068, start:4543941, end:4544459, name:"PA4066", strand:1},
{id: 4069, start:4544607, end:4545305, name:"PA4067", strand:1},
{id: 4070, start:4545746, end:4546675, name:"PA4068", strand:-1},
{id: 4071, start:4546668, end:4547552, name:"PA4069", strand:-1},
{id: 4072, start:4547821, end:4548771, name:"PA4070", strand:-1},
{id: 4073, start:4548932, end:4549510, name:"PA4071", strand:-1},
{id: 4074, start:4549485, end:4550975, name:"PA4072", strand:-1},
{id: 4075, start:4551143, end:4552630, name:"PA4073", strand:-1},
{id: 4076, start:4552859, end:4553527, name:"PA4074", strand:1},
{id: 4077, start:4553524, end:4554360, name:"PA4075", strand:-1},
{id: 4078, start:4554467, end:4554841, name:"PA4076", strand:1},
{id: 4079, start:4554838, end:4555044, name:"PA4077", strand:1},
{id: 4080, start:4555254, end:4558229, name:"PA4078", strand:1},
{id: 4081, start:4558302, end:4558991, name:"PA4079", strand:1},
{id: 4082, start:4559006, end:4559650, name:"PA4080", strand:-1},
{id: 4083, start:4560295, end:4561440, name:"PA4081", strand:-1},
{id: 4084, start:4561540, end:4564596, name:"PA4082", strand:-1},
{id: 4085, start:4564684, end:4565424, name:"PA4083", strand:-1},
{id: 4086, start:4565421, end:4567955, name:"PA4084", strand:-1},
{id: 4087, start:4568277, end:4569023, name:"PA4085", strand:-1},
{id: 4088, start:4569054, end:4569623, name:"PA4086", strand:-1},
{id: 4089, start:4570096, end:4570920, name:"PA4087", strand:1},
{id: 4090, start:4570929, end:4572314, name:"PA4088", strand:1},
{id: 4091, start:4572311, end:4573072, name:"PA4089", strand:1},
{id: 4092, start:4573285, end:4573575, name:"PA4090", strand:1},
{id: 4093, start:4573741, end:4575303, name:"PA4091", strand:1},
{id: 4094, start:4575332, end:4575844, name:"PA4092", strand:1},
{id: 4095, start:4575908, end:4576324, name:"PA4093", strand:-1},
{id: 4096, start:4576372, end:4577331, name:"PA4094", strand:-1},
{id: 4097, start:4577650, end:4578183, name:"PA4095", strand:1},
{id: 4098, start:4578254, end:4579513, name:"PA4096", strand:1},
{id: 4099, start:4579510, end:4580568, name:"PA4097", strand:1},
{id: 4100, start:4580583, end:4581308, name:"PA4098", strand:1},
{id: 4101, start:4581393, end:4582697, name:"PA4099", strand:1},
{id: 4102, start:4582852, end:4584531, name:"PA4100", strand:1},
{id: 4103, start:4585149, end:4585889, name:"PA4101", strand:1},
{id: 4104, start:4585886, end:4587190, name:"PA4102", strand:1},
{id: 4105, start:4587320, end:4587949, name:"PA4103", strand:1},
{id: 4106, start:4587981, end:4588490, name:"PA4104", strand:1},
{id: 4107, start:4588743, end:4589498, name:"PA4105", strand:-1},
{id: 4108, start:4589491, end:4590321, name:"PA4106", strand:-1},
{id: 4109, start:4590396, end:4590863, name:"PA4107", strand:-1},
{id: 4110, start:4591187, end:4592431, name:"PA4108", strand:1},
{id: 4111, start:4592990, end:4593880, name:"PA4109", strand:-1},
{id: 4112, start:4594029, end:4595222, name:"PA4110", strand:1},
{id: 4113, start:4595287, end:4595685, name:"PA4111", strand:1},
{id: 4114, start:4595849, end:4600102, name:"PA4112", strand:-1},
{id: 4115, start:4600230, end:4601420, name:"PA4113", strand:-1},
{id: 4116, start:4601574, end:4602083, name:"PA4114", strand:-1},
{id: 4117, start:4602503, end:4603888, name:"PA4115", strand:1},
{id: 4118, start:4604006, end:4604593, name:"PA4116", strand:1},
{id: 4119, start:4604621, end:4606807, name:"PA4117", strand:1},
{id: 4120, start:4606885, end:4607454, name:"PA4118", strand:1},
{id: 4121, start:4607578, end:4608384, name:"PA4119", strand:-1},
{id: 4122, start:4608436, end:4609347, name:"PA4120", strand:-1},
{id: 4123, start:4609567, end:4610226, name:"PA4121", strand:1},
{id: 4124, start:4610237, end:4611016, name:"PA4122", strand:1},
{id: 4125, start:4611013, end:4612473, name:"PA4123", strand:1},
{id: 4126, start:4612605, end:4613528, name:"PA4124", strand:1},
{id: 4127, start:4613539, end:4613931, name:"PA4125", strand:1},
{id: 4128, start:4614024, end:4615328, name:"PA4126", strand:1},
{id: 4129, start:4615346, end:4616149, name:"PA4127", strand:1},
{id: 4130, start:4616162, end:4616968, name:"PA4128", strand:1},
{id: 4131, start:4617050, end:4617538, name:"PA4129", strand:-1},
{id: 4132, start:4617535, end:4619208, name:"PA4130", strand:-1},
{id: 4133, start:4619314, end:4621035, name:"PA4131", strand:1},
{id: 4134, start:4621133, end:4622548, name:"PA4132", strand:1},
{id: 4135, start:4622812, end:4624239, name:"PA4133", strand:1},
{id: 4136, start:4624323, end:4624565, name:"PA4134", strand:1},
{id: 4137, start:4624581, end:4625003, name:"PA4135", strand:-1},
{id: 4138, start:4625089, end:4626297, name:"PA4136", strand:-1},
{id: 4139, start:4626662, end:4627918, name:"PA4137", strand:1},
{id: 4140, start:4627947, end:4629185, name:"PA4138", strand:-1},
{id: 4141, start:4629944, end:4630243, name:"PA4139", strand:1},
{id: 4142, start:4630375, end:4632168, name:"PA4140", strand:1},
{id: 4143, start:4632477, end:4632776, name:"PA4141", strand:1},
{id: 4144, start:4632873, end:4634129, name:"PA4142", strand:1},
{id: 4145, start:4634139, end:4636298, name:"PA4143", strand:1},
{id: 4146, start:4636298, end:4637713, name:"PA4144", strand:1},
{id: 4147, start:4637809, end:4638699, name:"PA4145", strand:1},
{id: 4148, start:4638887, end:4639291, name:"PA4146", strand:1},
{id: 4149, start:4639502, end:4641379, name:"PA4147", strand:-1},
{id: 4150, start:4641711, end:4642511, name:"PA4148", strand:1},
{id: 4151, start:4642508, end:4643548, name:"PA4149", strand:1},
{id: 4152, start:4643571, end:4644545, name:"PA4150", strand:1},
{id: 4153, start:4644578, end:4645597, name:"PA4151", strand:1},
{id: 4154, start:4645594, end:4646706, name:"PA4152", strand:1},
{id: 4155, start:4646720, end:4647811, name:"PA4153", strand:1},
{id: 4156, start:4647895, end:4648563, name:"PA4154", strand:-1},
{id: 4157, start:4648999, end:4650306, name:"PA4155", strand:-1},
{id: 4158, start:4650374, end:4652458, name:"PA4156", strand:-1},
{id: 4159, start:4652714, end:4653502, name:"PA4157", strand:1},
{id: 4160, start:4653509, end:4654306, name:"PA4158", strand:-1},
{id: 4161, start:4654432, end:4655337, name:"PA4159", strand:1},
{id: 4162, start:4655368, end:4656390, name:"PA4160", strand:1},
{id: 4163, start:4656387, end:4657418, name:"PA4161", strand:1},
{id: 4164, start:4657429, end:4658145, name:"PA4162", strand:-1},
{id: 4165, start:4658450, end:4660159, name:"PA4163", strand:1},
{id: 4166, start:4660221, end:4660547, name:"PA4164", strand:1},
{id: 4167, start:4660563, end:4662053, name:"PA4165", strand:-1},
{id: 4168, start:4662185, end:4662643, name:"PA4166", strand:1},
{id: 4169, start:4662693, end:4663511, name:"PA4167", strand:-1},
{id: 4170, start:4663854, end:4666262, name:"PA4168", strand:1},
{id: 4171, start:4666327, end:4666755, name:"PA4169", strand:-1},
{id: 4172, start:4666836, end:4667768, name:"PA4170", strand:1},
{id: 4173, start:4667904, end:4668467, name:"PA4171", strand:1},
{id: 4174, start:4668490, end:4669290, name:"PA4172", strand:1},
{id: 4175, start:4669322, end:4669720, name:"PA4173", strand:-1},
{id: 4176, start:4669861, end:4670784, name:"PA4174", strand:1},
{id: 4177, start:4671319, end:4672707, name:"PA4175", strand:1},
{id: 4178, start:4673038, end:4673319, name:"PA4176", strand:-1},
{id: 4179, start:4673462, end:4673863, name:"PA4177", strand:1},
{id: 4180, start:4673963, end:4674706, name:"PA4178", strand:1},
{id: 4181, start:4674944, end:4676239, name:"PA4179", strand:1},
{id: 4182, start:4676282, end:4677925, name:"PA4180", strand:-1},
{id: 4183, start:4678210, end:4678929, name:"PA4181", strand:1},
{id: 4184, start:4678957, end:4679595, name:"PA4182", strand:1},
{id: 4185, start:4679599, end:4680066, name:"PA4183", strand:-1},
{id: 4186, start:4680092, end:4681114, name:"PA4184", strand:-1},
{id: 4187, start:4681421, end:4682149, name:"PA4185", strand:1},
{id: 4188, start:4682242, end:4683561, name:"PA4186", strand:1},
{id: 4189, start:4683697, end:4685025, name:"PA4187", strand:1},
{id: 4190, start:4685090, end:4686001, name:"PA4188", strand:1},
{id: 4191, start:4685994, end:4687484, name:"PA4189", strand:1},
{id: 4192, start:4687652, end:4688848, name:"PA4190", strand:1},
{id: 4193, start:4688889, end:4689893, name:"PA4191", strand:-1},
{id: 4194, start:4689902, end:4690645, name:"PA4192", strand:-1},
{id: 4195, start:4690642, end:4691346, name:"PA4193", strand:-1},
{id: 4196, start:4691343, end:4692041, name:"PA4194", strand:-1},
{id: 4197, start:4692126, end:4692956, name:"PA4195", strand:-1},
{id: 4198, start:4693112, end:4693756, name:"PA4196", strand:-1},
{id: 4199, start:4693759, end:4696035, name:"PA4197", strand:-1},
{id: 4200, start:4696281, end:4697903, name:"PA4198", strand:1},
{id: 4201, start:4698021, end:4699802, name:"PA4199", strand:1},
{id: 4202, start:4700000, end:4700866, name:"PA4200", strand:1},
{id: 4203, start:4700906, end:4701946, name:"PA4201", strand:-1},
{id: 4204, start:4702042, end:4703097, name:"PA4202", strand:-1},
{id: 4205, start:4703205, end:4704059, name:"PA4203", strand:1},
{id: 4206, start:4704139, end:4705305, name:"PA4204", strand:1},
{id: 4207, start:4705956, end:4706402, name:"PA4205", strand:1},
{id: 4208, start:4706410, end:4707522, name:"PA4206", strand:1},
{id: 4209, start:4707535, end:4710624, name:"PA4207", strand:1},
{id: 4210, start:4710621, end:4712084, name:"PA4208", strand:1},
{id: 4211, start:4712095, end:4713099, name:"PA4209", strand:-1},
{id: 4212, start:4713796, end:4714284, name:"PA4210", strand:1},
{id: 4213, start:4714314, end:4714802, name:"PA4211", strand:1},
{id: 4214, start:4714826, end:4716043, name:"PA4212", strand:1},
{id: 4215, start:4716040, end:4716663, name:"PA4213", strand:1},
{id: 4216, start:4716660, end:4718543, name:"PA4214", strand:1},
{id: 4217, start:4718557, end:4719393, name:"PA4215", strand:1},
{id: 4218, start:4719419, end:4720063, name:"PA4216", strand:1},
{id: 4219, start:4720301, end:4721509, name:"PA4217", strand:1},
{id: 4220, start:4721614, end:4722858, name:"PA4218", strand:-1},
{id: 4221, start:4722851, end:4724035, name:"PA4219", strand:-1},
{id: 4222, start:4724358, end:4724639, name:"PA4220", strand:-1},
{id: 4223, start:4724639, end:4726801, name:"PA4221", strand:-1},
{id: 4224, start:4726893, end:4728617, name:"PA4222", strand:-1},
{id: 4225, start:4728614, end:4730326, name:"PA4223", strand:-1},
{id: 4226, start:4730323, end:4731372, name:"PA4224", strand:-1},
{id: 4227, start:4731369, end:4736798, name:"PA4225", strand:-1},
{id: 4228, start:4736795, end:4741111, name:"PA4226", strand:-1},
{id: 4229, start:4741305, end:4742195, name:"PA4227", strand:-1},
{id: 4230, start:4742424, end:4744067, name:"PA4228", strand:1},
{id: 4231, start:4744064, end:4744819, name:"PA4229", strand:1},
{id: 4232, start:4744819, end:4745124, name:"PA4230", strand:1},
{id: 4233, start:4745121, end:4746551, name:"PA4231", strand:1},
{id: 4234, start:4746640, end:4747137, name:"PA4232", strand:-1},
{id: 4235, start:4747154, end:4748542, name:"PA4233", strand:-1},
{id: 4236, start:4748756, end:4751593, name:"PA4234", strand:1},
{id: 4237, start:4751665, end:4752129, name:"PA4235", strand:-1},
{id: 4238, start:4752260, end:4753708, name:"PA4236", strand:-1},
{id: 4239, start:4753990, end:4754379, name:"PA4237", strand:-1},
{id: 4240, start:4754423, end:4755424, name:"PA4238", strand:-1},
{id: 4241, start:4755447, end:4756067, name:"PA4239", strand:-1},
{id: 4242, start:4756084, end:4756473, name:"PA4240", strand:-1},
{id: 4243, start:4756492, end:4756848, name:"PA4241", strand:-1},
{id: 4244, start:4756979, end:4757095, name:"PA4242", strand:-1},
{id: 4245, start:4757124, end:4758452, name:"PA4243", strand:-1},
{id: 4246, start:4758453, end:4758887, name:"PA4244", strand:-1},
{id: 4247, start:4758891, end:4759067, name:"PA4245", strand:-1},
{id: 4248, start:4759070, end:4759570, name:"PA4246", strand:-1},
{id: 4249, start:4759574, end:4759924, name:"PA4247", strand:-1},
{id: 4250, start:4759935, end:4760468, name:"PA4248", strand:-1},
{id: 4251, start:4760480, end:4760872, name:"PA4249", strand:-1},
{id: 4252, start:4761062, end:4761367, name:"PA4250", strand:-1},
{id: 4253, start:4761381, end:4761920, name:"PA4251", strand:-1},
{id: 4254, start:4761940, end:4762254, name:"PA4252", strand:-1},
{id: 4255, start:4762267, end:4762635, name:"PA4253", strand:-1},
{id: 4256, start:4762659, end:4762925, name:"PA4254", strand:-1},
{id: 4257, start:4762928, end:4763119, name:"PA4255", strand:-1},
{id: 4258, start:4763119, end:4763532, name:"PA4256", strand:-1},
{id: 4259, start:4763544, end:4764230, name:"PA4257", strand:-1},
{id: 4260, start:4764243, end:4764575, name:"PA4258", strand:-1},
{id: 4261, start:4764588, end:4764863, name:"PA4259", strand:-1},
{id: 4262, start:4764880, end:4765701, name:"PA4260", strand:-1},
{id: 4263, start:4765713, end:4766012, name:"PA4261", strand:-1},
{id: 4264, start:4766009, end:4766611, name:"PA4262", strand:-1},
{id: 4265, start:4766625, end:4767260, name:"PA4263", strand:-1},
{id: 4266, start:4767343, end:4767654, name:"PA4264", strand:-1},
{id: 4267, start:4767811, end:4769004, name:"PA4265", strand:-1},
{id: 4268, start:4769035, end:4771155, name:"PA4266", strand:-1},
{id: 4269, start:4771186, end:4771656, name:"PA4267", strand:-1},
{id: 4270, start:4771756, end:4772127, name:"PA4268", strand:-1},
{id: 4271, start:4772279, end:4776478, name:"PA4269", strand:-1},
{id: 4272, start:4776544, end:4780617, name:"PA4270", strand:-1},
{id: 4273, start:4780839, end:4781207, name:"PA4271", strand:-1},
{id: 4274, start:4781286, end:4781786, name:"PA4272", strand:-1},
{id: 4275, start:4781985, end:4782680, name:"PA4273", strand:-1},
{id: 4276, start:4782680, end:4783111, name:"PA4274", strand:-1},
{id: 4277, start:4783228, end:4783761, name:"PA4275", strand:-1},
{id: 4278, start:4783771, end:4784139, name:"PA4276", strand:-1},
{id: 4279, start:4784316, end:4785509, name:"PA4277", strand:-1},
{id: 4280, start:4786021, end:4786725, name:"PA4278", strand:-1},
{id: 4281, start:4786734, end:4787480, name:"PA4279", strand:-1},
{id: 4282, start:4787477, end:4788415, name:"PA4280", strand:-1},
{id: 4283, start:4794404, end:4795633, name:"PA4281", strand:1},
{id: 4284, start:4795642, end:4799277, name:"PA4282", strand:1},
{id: 4285, start:4799299, end:4801464, name:"PA4283", strand:-1},
{id: 4286, start:4801461, end:4805198, name:"PA4284", strand:-1},
{id: 4287, start:4805195, end:4808710, name:"PA4285", strand:-1},
{id: 4288, start:4808751, end:4809434, name:"PA4286", strand:-1},
{id: 4289, start:4809547, end:4810437, name:"PA4287", strand:-1},
{id: 4290, start:4810538, end:4811341, name:"PA4288", strand:1},
{id: 4291, start:4811396, end:4812601, name:"PA4289", strand:1},
{id: 4292, start:4812598, end:4814214, name:"PA4290", strand:-1},
{id: 4293, start:4814213, end:4814899, name:"PA4291", strand:1},
{id: 4294, start:4815043, end:4816512, name:"PA4292", strand:1},
{id: 4295, start:4816580, end:4819348, name:"PA4293", strand:-1},
{id: 4296, start:4819358, end:4819864, name:"PA4294", strand:-1},
{id: 4297, start:4819928, end:4820410, name:"PA4295", strand:1},
{id: 4298, start:4820532, end:4821359, name:"PA4296", strand:1},
{id: 4299, start:4821385, end:4823055, name:"PA4297", strand:-1},
{id: 4300, start:4823080, end:4823364, name:"PA4298", strand:-1},
{id: 4301, start:4823387, end:4824124, name:"PA4299", strand:-1},
{id: 4302, start:4824121, end:4825032, name:"PA4300", strand:-1},
{id: 4303, start:4825042, end:4825926, name:"PA4301", strand:-1},
{id: 4304, start:4825923, end:4827188, name:"PA4302", strand:-1},
{id: 4305, start:4827185, end:4828369, name:"PA4303", strand:-1},
{id: 4306, start:4828379, end:4829629, name:"PA4304", strand:-1},
{id: 4307, start:4829643, end:4830554, name:"PA4305", strand:-1},
{id: 4308, start:4830964, end:4831182, name:"PA4306", strand:1},
{id: 4309, start:4831372, end:4833270, name:"PA4307", strand:1},
{id: 4310, start:4833374, end:4834864, name:"PA4308", strand:-1},
{id: 4311, start:4835264, end:4837153, name:"PA4309", strand:1},
{id: 4312, start:4837390, end:4839279, name:"PA4310", strand:1},
{id: 4313, start:4839597, end:4840712, name:"PA4311", strand:1},
{id: 4314, start:4840705, end:4841466, name:"PA4312", strand:1},
{id: 4315, start:4841463, end:4842464, name:"PA4313", strand:1},
{id: 4316, start:4842701, end:4843552, name:"PA4314", strand:-1},
{id: 4317, start:4843812, end:4844186, name:"PA4315", strand:1},
{id: 4318, start:4844271, end:4845713, name:"PA4316", strand:-1},
{id: 4319, start:4845938, end:4846675, name:"PA4317", strand:1},
{id: 4320, start:4846713, end:4847510, name:"PA4318", strand:1},
{id: 4321, start:4847507, end:4848487, name:"PA4319", strand:1},
{id: 4322, start:4848474, end:4850045, name:"PA4320", strand:1},
{id: 4323, start:4850042, end:4851313, name:"PA4321", strand:1},
{id: 4324, start:4851310, end:4852317, name:"PA4322", strand:1},
{id: 4325, start:4852314, end:4853645, name:"PA4323", strand:1},
{id: 4326, start:4853650, end:4854009, name:"PA4324", strand:-1},
{id: 4327, start:4854070, end:4854492, name:"PA4325", strand:-1},
{id: 4328, start:4854595, end:4854978, name:"PA4326", strand:-1},
{id: 4329, start:4855072, end:4855878, name:"PA4327", strand:1},
{id: 4330, start:4855963, end:4856877, name:"PA4328", strand:1},
{id: 4331, start:4856960, end:4858411, name:"PA4329", strand:1},
{id: 4332, start:4858490, end:4859263, name:"PA4330", strand:-1},
{id: 4333, start:4859329, end:4860255, name:"PA4331", strand:-1},
{id: 4334, start:4860248, end:4861711, name:"PA4332", strand:-1},
{id: 4335, start:4861653, end:4863176, name:"PA4333", strand:1},
{id: 4336, start:4863273, end:4864529, name:"PA4334", strand:-1},
{id: 4337, start:4864665, end:4864973, name:"PA4335", strand:-1},
{id: 4338, start:4864994, end:4865578, name:"PA4336", strand:-1},
{id: 4339, start:4865682, end:4866293, name:"PA4337", strand:-1},
{id: 4340, start:4866387, end:4867667, name:"PA4338", strand:-1},
{id: 4341, start:4867767, end:4868846, name:"PA4339", strand:-1},
{id: 4342, start:4868921, end:4869493, name:"PA4340", strand:-1},
{id: 4343, start:4869558, end:4870328, name:"PA4341", strand:-1},
{id: 4344, start:4870428, end:4871912, name:"PA4342", strand:-1},
{id: 4345, start:4871913, end:4873232, name:"PA4343", strand:-1},
{id: 4346, start:4873270, end:4874490, name:"PA4344", strand:-1},
{id: 4347, start:4874655, end:4875245, name:"PA4345", strand:-1},
{id: 4348, start:4875306, end:4875641, name:"PA4346", strand:-1},
{id: 4349, start:4875638, end:4876792, name:"PA4347", strand:-1},
{id: 4350, start:4876821, end:4877606, name:"PA4348", strand:-1},
{id: 4351, start:4877691, end:4878587, name:"PA4349", strand:-1},
{id: 4352, start:4878790, end:4879545, name:"PA4350", strand:1},
{id: 4353, start:4879545, end:4880321, name:"PA4351", strand:1},
{id: 4354, start:4880318, end:4881178, name:"PA4352", strand:-1},
{id: 4355, start:4881328, end:4881900, name:"PA4353", strand:-1},
{id: 4356, start:4882053, end:4882355, name:"PA4354", strand:1},
{id: 4357, start:4882404, end:4883570, name:"PA4355", strand:1},
{id: 4358, start:4883607, end:4884659, name:"PA4356", strand:1},
{id: 4359, start:4884719, end:4884961, name:"PA4357", strand:-1},
{id: 4360, start:4884961, end:4887261, name:"PA4358", strand:-1},
{id: 4361, start:4887279, end:4887506, name:"PA4359", strand:-1},
{id: 4362, start:4887722, end:4888195, name:"PA4360", strand:-1},
{id: 4363, start:4889112, end:4890101, name:"PA4361", strand:-1},
{id: 4364, start:4890286, end:4891344, name:"PA4362", strand:1},
{id: 4365, start:4891345, end:4892247, name:"PA4363", strand:-1},
{id: 4366, start:4892345, end:4892746, name:"PA4364", strand:1},
{id: 4367, start:4892748, end:4893350, name:"PA4365", strand:1},
{id: 4368, start:4893697, end:4894278, name:"PA4366", strand:1},
{id: 4369, start:4894459, end:4896522, name:"PA4367", strand:1},
{id: 4370, start:4896523, end:4897425, name:"PA4368", strand:-1},
{id: 4371, start:4897427, end:4897999, name:"PA4369", strand:-1},
{id: 4372, start:4898193, end:4899533, name:"PA4370", strand:1},
{id: 4373, start:4899696, end:4901117, name:"PA4371", strand:1},
{id: 4374, start:4901127, end:4902191, name:"PA4372", strand:1},
{id: 4375, start:4902202, end:4903296, name:"PA4373", strand:1},
{id: 4376, start:4903466, end:4904596, name:"PA4374", strand:1},
{id: 4377, start:4904647, end:4907703, name:"PA4375", strand:1},
{id: 4378, start:4907841, end:4909037, name:"PA4376", strand:1},
{id: 4379, start:4909162, end:4909404, name:"PA4377", strand:-1},
{id: 4380, start:4909401, end:4910105, name:"PA4378", strand:-1},
{id: 4381, start:4910108, end:4910791, name:"PA4379", strand:-1},
{id: 4382, start:4910871, end:4912151, name:"PA4380", strand:-1},
{id: 4383, start:4912141, end:4912824, name:"PA4381", strand:-1},
{id: 4384, start:4913041, end:4913835, name:"PA4382", strand:1},
{id: 4385, start:4914127, end:4914510, name:"PA4383", strand:-1},
{id: 4386, start:4914739, end:4915425, name:"PA4384", strand:1},
{id: 4387, start:4915481, end:4917124, name:"PA4385", strand:-1},
{id: 4388, start:4917175, end:4917468, name:"PA4386", strand:-1},
{id: 4389, start:4917663, end:4918130, name:"PA4387", strand:-1},
{id: 4390, start:4918199, end:4918933, name:"PA4388", strand:-1},
{id: 4391, start:4919042, end:4919800, name:"PA4389", strand:1},
{id: 4392, start:4919859, end:4920866, name:"PA4390", strand:-1},
{id: 4393, start:4920981, end:4921982, name:"PA4391", strand:-1},
{id: 4394, start:4921981, end:4922364, name:"PA4392", strand:1},
{id: 4395, start:4922407, end:4924191, name:"PA4393", strand:1},
{id: 4396, start:4924247, end:4925083, name:"PA4394", strand:-1},
{id: 4397, start:4925316, end:4925795, name:"PA4395", strand:-1},
{id: 4398, start:4925899, end:4926999, name:"PA4396", strand:1},
{id: 4399, start:4927036, end:4927947, name:"PA4397", strand:1},
{id: 4400, start:4927998, end:4930094, name:"PA4398", strand:1},
{id: 4401, start:4930099, end:4930677, name:"PA4399", strand:1},
{id: 4402, start:4930748, end:4931695, name:"PA4400", strand:-1},
{id: 4403, start:4931746, end:4932381, name:"PA4401", strand:-1},
{id: 4404, start:4932502, end:4933719, name:"PA4402", strand:-1},
{id: 4405, start:4933866, end:4936616, name:"PA4403", strand:-1},
{id: 4406, start:4936750, end:4937673, name:"PA4404", strand:-1},
{id: 4407, start:4937820, end:4938215, name:"PA4405", strand:1},
{id: 4408, start:4938276, end:4939187, name:"PA4406", strand:-1},
{id: 4409, start:4939300, end:4940484, name:"PA4407", strand:-1},
{id: 4410, start:4940535, end:4941788, name:"PA4408", strand:-1},
{id: 4411, start:4941810, end:4942673, name:"PA4409", strand:-1},
{id: 4412, start:4942677, end:4943636, name:"PA4410", strand:-1},
{id: 4413, start:4943633, end:4945075, name:"PA4411", strand:-1},
{id: 4414, start:4945068, end:4946141, name:"PA4412", strand:-1},
{id: 4415, start:4946131, end:4947330, name:"PA4413", strand:-1},
{id: 4416, start:4947330, end:4948676, name:"PA4414", strand:-1},
{id: 4417, start:4948690, end:4949772, name:"PA4415", strand:-1},
{id: 4418, start:4949772, end:4951148, name:"PA4416", strand:-1},
{id: 4419, start:4951141, end:4952604, name:"PA4417", strand:-1},
{id: 4420, start:4952604, end:4954343, name:"PA4418", strand:-1},
{id: 4421, start:4954340, end:4954633, name:"PA4419", strand:-1},
{id: 4422, start:4954630, end:4955571, name:"PA4420", strand:-1},
{id: 4423, start:4955574, end:4956029, name:"PA4421", strand:-1},
{id: 4424, start:4956734, end:4957582, name:"PA4422", strand:-1},
{id: 4425, start:4957709, end:4959523, name:"PA4423", strand:1},
{id: 4426, start:4959520, end:4959897, name:"PA4424", strand:1},
{id: 4427, start:4959926, end:4960519, name:"PA4425", strand:1},
{id: 4428, start:4960516, end:4961094, name:"PA4426", strand:1},
{id: 4429, start:4961151, end:4961558, name:"PA4427", strand:-1},
{id: 4430, start:4961570, end:4962187, name:"PA4428", strand:-1},
{id: 4431, start:4962273, end:4963055, name:"PA4429", strand:-1},
{id: 4432, start:4963055, end:4964266, name:"PA4430", strand:-1},
{id: 4433, start:4964266, end:4964859, name:"PA4431", strand:-1},
{id: 4434, start:4965109, end:4965501, name:"PA4432", strand:-1},
{id: 4435, start:4965516, end:4965944, name:"PA4433", strand:-1},
{id: 4436, start:4966190, end:4967227, name:"PA4434", strand:1},
{id: 4437, start:4967313, end:4968458, name:"PA4435", strand:-1},
{id: 4438, start:4968712, end:4969611, name:"PA4436", strand:1},
{id: 4439, start:4969770, end:4970732, name:"PA4437", strand:1},
{id: 4440, start:4970797, end:4971891, name:"PA4438", strand:-1},
{id: 4441, start:4971986, end:4973332, name:"PA4439", strand:-1},
{id: 4442, start:4973400, end:4974029, name:"PA4440", strand:-1},
{id: 4443, start:4974174, end:4974620, name:"PA4441", strand:1},
{id: 4444, start:4974694, end:4976595, name:"PA4442", strand:-1},
{id: 4445, start:4976607, end:4977524, name:"PA4443", strand:-1},
{id: 4446, start:4977869, end:4978972, name:"PA4444", strand:1},
{id: 4447, start:4978959, end:4979717, name:"PA4445", strand:-1},
{id: 4448, start:4979834, end:4981003, name:"PA4446", strand:1},
{id: 4449, start:4981046, end:4982101, name:"PA4447", strand:-1},
{id: 4450, start:4982104, end:4983426, name:"PA4448", strand:-1},
{id: 4451, start:4983552, end:4984187, name:"PA4449", strand:-1},
{id: 4452, start:4984205, end:4985470, name:"PA4450", strand:-1},
{id: 4453, start:4985491, end:4985730, name:"PA4451", strand:-1},
{id: 4454, start:4985847, end:4986155, name:"PA4452", strand:-1},
{id: 4455, start:4986152, end:4986799, name:"PA4453", strand:-1},
{id: 4456, start:4986811, end:4987284, name:"PA4454", strand:-1},
{id: 4457, start:4987285, end:4988082, name:"PA4455", strand:-1},
{id: 4458, start:4988082, end:4988891, name:"PA4456", strand:-1},
{id: 4459, start:4989305, end:4990285, name:"PA4457", strand:1},
{id: 4460, start:4990285, end:4990824, name:"PA4458", strand:1},
{id: 4461, start:4990833, end:4991405, name:"PA4459", strand:1},
{id: 4462, start:4991392, end:4991919, name:"PA4460", strand:1},
{id: 4463, start:4991919, end:4992644, name:"PA4461", strand:1},
{id: 4464, start:4992870, end:4994363, name:"PA4462", strand:1},
{id: 4465, start:4994441, end:4994749, name:"PA4463", strand:1},
{id: 4466, start:4994763, end:4995227, name:"PA4464", strand:1},
{id: 4467, start:4995229, end:4996089, name:"PA4465", strand:1},
{id: 4468, start:4996119, end:4996391, name:"PA4466", strand:1},
{id: 4469, start:4996488, end:4997420, name:"PA4467", strand:-1},
{id: 4470, start:4997439, end:4998050, name:"PA4468", strand:-1},
{id: 4471, start:4998063, end:4998512, name:"PA4469", strand:-1},
{id: 4472, start:4998540, end:4999916, name:"PA4470", strand:-1},
{id: 4473, start:4999909, end:5000304, name:"PA4471", strand:-1},
{id: 4474, start:5000452, end:5001801, name:"PA4472", strand:-1},
{id: 4475, start:5001822, end:5002424, name:"PA4473", strand:1},
{id: 4476, start:5002455, end:5003897, name:"PA4474", strand:-1},
{id: 4477, start:5003900, end:5004748, name:"PA4475", strand:-1},
{id: 4478, start:5004798, end:5008628, name:"PA4476", strand:-1},
{id: 4479, start:5008643, end:5010100, name:"PA4477", strand:-1},
{id: 4480, start:5010134, end:5010739, name:"PA4478", strand:-1},
{id: 4481, start:5010828, end:5011322, name:"PA4479", strand:-1},
{id: 4482, start:5011322, end:5012314, name:"PA4480", strand:-1},
{id: 4483, start:5012394, end:5013431, name:"PA4481", strand:-1},
{id: 4484, start:5013671, end:5013961, name:"PA4482", strand:1},
{id: 4485, start:5013974, end:5015428, name:"PA4483", strand:1},
{id: 4486, start:5015535, end:5016980, name:"PA4484", strand:1},
{id: 4487, start:5017040, end:5017417, name:"PA4485", strand:1},
{id: 4488, start:5017449, end:5017835, name:"PA4486", strand:1},
{id: 4489, start:5017960, end:5018751, name:"PA4487", strand:-1},
{id: 4490, start:5018756, end:5020405, name:"PA4488", strand:-1},
{id: 4491, start:5020402, end:5024952, name:"PA4489", strand:-1},
{id: 4492, start:5024979, end:5025617, name:"PA4490", strand:-1},
{id: 4493, start:5025614, end:5027383, name:"PA4491", strand:-1},
{id: 4494, start:5027422, end:5028231, name:"PA4492", strand:-1},
{id: 4495, start:5028394, end:5028954, name:"PA4493", strand:-1},
{id: 4496, start:5028980, end:5030248, name:"PA4494", strand:-1},
{id: 4497, start:5030525, end:5031235, name:"PA4495", strand:1},
{id: 4498, start:5031488, end:5033101, name:"PA4496", strand:1},
{id: 4499, start:5033194, end:5034792, name:"PA4497", strand:1},
{id: 4500, start:5034860, end:5036077, name:"PA4498", strand:-1},
{id: 4501, start:5036245, end:5036808, name:"PA4499", strand:1},
{id: 4502, start:5037074, end:5038675, name:"PA4500", strand:1},
{id: 4503, start:5038901, end:5040355, name:"PA4501", strand:1},
{id: 4504, start:5040405, end:5042000, name:"PA4502", strand:1},
{id: 4505, start:5042068, end:5043078, name:"PA4503", strand:1},
{id: 4506, start:5043090, end:5044001, name:"PA4504", strand:1},
{id: 4507, start:5044054, end:5045028, name:"PA4505", strand:1},
{id: 4508, start:5045028, end:5045999, name:"PA4506", strand:1},
{id: 4509, start:5046032, end:5046664, name:"PA4507", strand:-1},
{id: 4510, start:5046806, end:5047279, name:"PA4508", strand:1},
{id: 4511, start:5047284, end:5048213, name:"PA4509", strand:-1},
{id: 4512, start:5048210, end:5048887, name:"PA4510", strand:-1},
{id: 4513, start:5048884, end:5049639, name:"PA4511", strand:-1},
{id: 4514, start:5049769, end:5050668, name:"PA4512", strand:1},
{id: 4515, start:5050848, end:5053400, name:"PA4513", strand:-1},
{id: 4516, start:5053616, end:5055877, name:"PA4514", strand:-1},
{id: 4517, start:5056095, end:5056775, name:"PA4515", strand:1},
{id: 4518, start:5056778, end:5057593, name:"PA4516", strand:1},
{id: 4519, start:5057716, end:5059518, name:"PA4517", strand:1},
{id: 4520, start:5059574, end:5059999, name:"PA4518", strand:-1},
{id: 4521, start:5060115, end:5061278, name:"PA4519", strand:-1},
{id: 4522, start:5061730, end:5063751, name:"PA4520", strand:-1},
{id: 4523, start:5063941, end:5064777, name:"PA4521", strand:-1},
{id: 4524, start:5064774, end:5065340, name:"PA4522", strand:-1},
{id: 4525, start:5065491, end:5067746, name:"PA4523", strand:-1},
{id: 4526, start:5068032, end:5068880, name:"PA4524", strand:1},
{id: 4527, start:5069082, end:5069531, name:"PA4525", strand:-1},
{id: 4528, start:5069763, end:5071463, name:"PA4526", strand:1},
{id: 4529, start:5072695, end:5073567, name:"PA4528", strand:1},
{id: 4530, start:5073564, end:5074175, name:"PA4529", strand:1},
{id: 4531, start:5074172, end:5074372, name:"PA4530", strand:1},
{id: 4532, start:5074409, end:5074618, name:"PA4531", strand:-1},
{id: 4533, start:5074724, end:5075413, name:"PA4532", strand:-1},
{id: 4534, start:5075410, end:5075880, name:"PA4533", strand:-1},
{id: 4535, start:5075877, end:5076302, name:"PA4534", strand:-1},
{id: 4536, start:5076435, end:5077064, name:"PA4535", strand:1},
{id: 4537, start:5077061, end:5077510, name:"PA4536", strand:1},
{id: 4538, start:5077536, end:5077706, name:"PA4537", strand:1},
{id: 4539, start:5077770, end:5079077, name:"PA4538", strand:1},
{id: 4540, start:5079117, end:5080208, name:"PA4539", strand:-1},
{id: 4541, start:5080757, end:5082394, name:"PA4540", strand:1},
{id: 4542, start:5082443, end:5086696, name:"PA4541", strand:1},
{id: 4543, start:5087408, end:5089972, name:"PA4542", strand:-1},
{id: 4544, start:5090128, end:5090856, name:"PA4543", strand:-1},
{id: 4545, start:5090853, end:5091815, name:"PA4544", strand:-1},
{id: 4546, start:5091961, end:5092986, name:"PA4545", strand:1},
{id: 4547, start:5093378, end:5094970, name:"PA4546", strand:1},
{id: 4548, start:5094985, end:5096322, name:"PA4547", strand:1},
{id: 4549, start:5096368, end:5097462, name:"PA4548", strand:-1},
{id: 4550, start:5097597, end:5098106, name:"PA4549", strand:1},
{id: 4551, start:5098212, end:5098718, name:"PA4550", strand:1},
{id: 4552, start:5098709, end:5099266, name:"PA4551", strand:1},
{id: 4553, start:5099263, end:5100087, name:"PA4552", strand:1},
{id: 4554, start:5100084, end:5100671, name:"PA4553", strand:1},
{id: 4555, start:5100683, end:5104168, name:"PA4554", strand:1},
{id: 4556, start:5104170, end:5104517, name:"PA4555", strand:1},
{id: 4557, start:5104514, end:5104939, name:"PA4556", strand:1},
{id: 4558, start:5104986, end:5105930, name:"PA4557", strand:-1},
{id: 4559, start:5106016, end:5106456, name:"PA4558", strand:-1},
{id: 4560, start:5106449, end:5106958, name:"PA4559", strand:-1},
{id: 4561, start:5106951, end:5109782, name:"PA4560", strand:-1},
{id: 4562, start:5109806, end:5110744, name:"PA4561", strand:-1},
{id: 4563, start:5110841, end:5112379, name:"PA4562", strand:-1},
{id: 4564, start:5112663, end:5112938, name:"PA4563", strand:1},
{id: 4565, start:5113005, end:5113469, name:"PA4564", strand:-1},
{id: 4566, start:5113481, end:5114599, name:"PA4565", strand:-1},
{id: 4567, start:5114670, end:5115890, name:"PA4566", strand:-1},
{id: 4568, start:5116032, end:5116289, name:"PA4567", strand:-1},
{id: 4569, start:5116313, end:5116624, name:"PA4568", strand:-1},
{id: 4570, start:5116865, end:5117833, name:"PA4569", strand:1},
{id: 4571, start:5117971, end:5118195, name:"PA4570", strand:1},
{id: 4572, start:5118538, end:5120565, name:"PA4571", strand:1},
{id: 4573, start:5120635, end:5121252, name:"PA4572", strand:-1},
{id: 4574, start:5121337, end:5121642, name:"PA4573", strand:-1},
{id: 4575, start:5121899, end:5122387, name:"PA4574", strand:-1},
{id: 4576, start:5122561, end:5122902, name:"PA4575", strand:-1},
{id: 4577, start:5123053, end:5125506, name:"PA4576", strand:-1},
{id: 4578, start:5125605, end:5125931, name:"PA4577", strand:-1},
{id: 4579, start:5126166, end:5126654, name:"PA4578", strand:1},
{id: 4580, start:5126713, end:5128569, name:"PA4579", strand:1},
{id: 4581, start:5128563, end:5129117, name:"PA4580", strand:-1},
{id: 4582, start:5129173, end:5130768, name:"PA4581", strand:-1},
{id: 4583, start:5131428, end:5132573, name:"PA4582", strand:1},
{id: 4584, start:5132629, end:5133843, name:"PA4583", strand:1},
{id: 4585, start:5133880, end:5134692, name:"PA4584", strand:1},
{id: 4586, start:5134689, end:5135714, name:"PA4585", strand:1},
{id: 4587, start:5135816, end:5136193, name:"PA4586", strand:1},
{id: 4588, start:5136317, end:5137357, name:"PA4587", strand:1},
{id: 4589, start:5137417, end:5138754, name:"PA4588", strand:-1},
{id: 4590, start:5139050, end:5140441, name:"PA4589", strand:-1},
{id: 4591, start:5140701, end:5141189, name:"PA4590", strand:-1},
{id: 4592, start:5141786, end:5143063, name:"PA4591", strand:-1},
{id: 4593, start:5143053, end:5144534, name:"PA4592", strand:-1},
{id: 4594, start:5144527, end:5145720, name:"PA4593", strand:-1},
{id: 4595, start:5145717, end:5146403, name:"PA4594", strand:-1},
{id: 4596, start:5146907, end:5148571, name:"PA4595", strand:-1},
{id: 4597, start:5149064, end:5149582, name:"PA4596", strand:1},
{id: 4598, start:5149633, end:5151072, name:"PA4597", strand:-1},
{id: 4599, start:5151078, end:5154209, name:"PA4598", strand:-1},
{id: 4600, start:5154237, end:5155400, name:"PA4599", strand:-1},
{id: 4601, start:5155561, end:5156124, name:"PA4600", strand:1},
{id: 4602, start:5156368, end:5160615, name:"PA4601", strand:1},
{id: 4603, start:5160738, end:5161991, name:"PA4602", strand:1},
{id: 4604, start:5162069, end:5162449, name:"PA4603", strand:-1},
{id: 4605, start:5162472, end:5163476, name:"PA4604", strand:-1},
{id: 4606, start:5163536, end:5163739, name:"PA4605", strand:-1},
{id: 4607, start:5163788, end:5165854, name:"PA4606", strand:-1},
{id: 4608, start:5166191, end:5166697, name:"PA4607", strand:-1},
{id: 4609, start:5166900, end:5167277, name:"PA4608", strand:1},
{id: 4610, start:5167284, end:5168645, name:"PA4609", strand:-1},
{id: 4611, start:5168755, end:5169189, name:"PA4610", strand:1},
{id: 4612, start:5169251, end:5169505, name:"PA4611", strand:-1},
{id: 4613, start:5169580, end:5170131, name:"PA4612", strand:-1},
{id: 4614, start:5170185, end:5171726, name:"PA4613", strand:-1},
{id: 4615, start:5172253, end:5172666, name:"PA4614", strand:1},
{id: 4616, start:5172771, end:5173547, name:"PA4615", strand:-1},
{id: 4617, start:5173654, end:5174652, name:"PA4616", strand:-1},
{id: 4618, start:5174980, end:5176104, name:"PA4617", strand:1},
{id: 4619, start:5176680, end:5177651, name:"PA4618", strand:-1},
{id: 4620, start:5177655, end:5178902, name:"PA4619", strand:-1},
{id: 4621, start:5178905, end:5179444, name:"PA4620", strand:-1},
{id: 4622, start:5179437, end:5182268, name:"PA4621", strand:-1},
{id: 4623, start:5182579, end:5183790, name:"PA4622", strand:1},
{id: 4624, start:5183950, end:5184339, name:"PA4623", strand:-1},
{id: 4625, start:5184642, end:5186348, name:"PA4624", strand:-1},
{id: 4626, start:5186411, end:5192875, name:"PA4625", strand:-1},
{id: 4627, start:5193196, end:5194167, name:"PA4626", strand:1},
{id: 4628, start:5194277, end:5195275, name:"PA4627", strand:1},
{id: 4629, start:5195370, end:5196833, name:"PA4628", strand:1},
{id: 4630, start:5197186, end:5197764, name:"PA4629", strand:1},
{id: 4631, start:5197881, end:5198324, name:"PA4630", strand:1},
{id: 4632, start:5198334, end:5199359, name:"PA4631", strand:-1},
{id: 4633, start:5199503, end:5200324, name:"PA4632", strand:-1},
{id: 4634, start:5200487, end:5202625, name:"PA4633", strand:1},
{id: 4635, start:5202628, end:5203242, name:"PA4634", strand:-1},
{id: 4636, start:5203668, end:5204372, name:"PA4635", strand:1},
{id: 4637, start:5204928, end:5206088, name:"PA4636", strand:1},
{id: 4638, start:5206209, end:5206487, name:"PA4637", strand:-1},
{id: 4639, start:5206720, end:5207007, name:"PA4638", strand:-1},
{id: 4640, start:5207035, end:5207622, name:"PA4639", strand:-1},
{id: 4641, start:5208464, end:5209987, name:"PA4640", strand:1},
{id: 4642, start:5210706, end:5210996, name:"PA4642", strand:-1},
{id: 4643, start:5211079, end:5211564, name:"PA4643", strand:-1},
{id: 4644, start:5211632, end:5212105, name:"PA4644", strand:-1},
{id: 4645, start:5212107, end:5212664, name:"PA4645", strand:-1},
{id: 4646, start:5212833, end:5213471, name:"PA4646", strand:1},
{id: 4647, start:5213474, end:5214757, name:"PA4647", strand:1},
{id: 4648, start:5215091, end:5215639, name:"PA4648", strand:1},
{id: 4649, start:5215670, end:5216203, name:"PA4649", strand:1},
{id: 4650, start:5216203, end:5216745, name:"PA4650", strand:1},
{id: 4651, start:5216764, end:5217552, name:"PA4651", strand:1},
{id: 4652, start:5217569, end:5219941, name:"PA4652", strand:1},
{id: 4653, start:5219938, end:5220885, name:"PA4653", strand:1},
{id: 4654, start:5220887, end:5222260, name:"PA4654", strand:-1},
{id: 4655, start:5222540, end:5223562, name:"PA4655", strand:-1},
{id: 4656, start:5223559, end:5224476, name:"PA4656", strand:-1},
{id: 4657, start:5224890, end:5225873, name:"PA4657", strand:1},
{id: 4658, start:5226026, end:5226982, name:"PA4658", strand:1},
{id: 4659, start:5226992, end:5227891, name:"PA4659", strand:1},
{id: 4660, start:5227888, end:5229333, name:"PA4660", strand:1},
{id: 4661, start:5229459, end:5229980, name:"PA4661", strand:-1},
{id: 4662, start:5230114, end:5230911, name:"PA4662", strand:-1},
{id: 4663, start:5230901, end:5231659, name:"PA4663", strand:-1},
{id: 4664, start:5231653, end:5232483, name:"PA4664", strand:-1},
{id: 4665, start:5232485, end:5233567, name:"PA4665", strand:-1},
{id: 4666, start:5233585, end:5234853, name:"PA4666", strand:-1},
{id: 4667, start:5234997, end:5236769, name:"PA4667", strand:1},
{id: 4668, start:5236774, end:5237391, name:"PA4668", strand:1},
{id: 4669, start:5237393, end:5238241, name:"PA4669", strand:1},
{id: 4670, start:5238408, end:5239349, name:"PA4670", strand:1},
{id: 4671, start:5239466, end:5240080, name:"PA4671", strand:1},
{id: 4672, start:5240122, end:5240706, name:"PA4672", strand:1},
{id: 4673, start:5240747, end:5241847, name:"PA4673", strand:1},
{id: 4674, start:5242254, end:5242559, name:"PA4674", strand:-1},
{id: 4675, start:5243178, end:5245406, name:"PA4675", strand:1},
{id: 4676, start:5245476, end:5246123, name:"PA4676", strand:-1},
{id: 4677, start:5246185, end:5247423, name:"PA4677", strand:-1},
{id: 4678, start:5247622, end:5248074, name:"PA4678", strand:-1},
{id: 4679, start:5248071, end:5248772, name:"PA4679", strand:-1},
{id: 4680, start:5249032, end:5249568, name:"PA4680", strand:-1},
{id: 4681, start:5249599, end:5250618, name:"PA4681", strand:-1},
{id: 4682, start:5250620, end:5251666, name:"PA4682", strand:-1},
{id: 4683, start:5251871, end:5252473, name:"PA4683", strand:-1},
{id: 4684, start:5252758, end:5254056, name:"PA4684", strand:1},
{id: 4685, start:5254046, end:5254741, name:"PA4685", strand:1},
{id: 4686, start:5254738, end:5257584, name:"PA4686", strand:1},
{id: 4687, start:5257696, end:5258703, name:"PA4687", strand:1},
{id: 4688, start:5258724, end:5260262, name:"PA4688", strand:1},
{id: 4689, start:5260343, end:5262649, name:"PA4689", strand:-1},
{id: 4690, start:5269803, end:5270411, name:"PA4691", strand:-1},
{id: 4691, start:5270411, end:5271424, name:"PA4692", strand:-1},
{id: 4692, start:5271485, end:5272300, name:"PA4693", strand:-1},
{id: 4693, start:5272455, end:5273471, name:"PA4694", strand:-1},
{id: 4694, start:5273514, end:5274005, name:"PA4695", strand:-1},
{id: 4695, start:5274008, end:5275732, name:"PA4696", strand:-1},
{id: 4696, start:5276283, end:5276735, name:"PA4697", strand:1},
{id: 4697, start:5276843, end:5277172, name:"PA4698", strand:-1},
{id: 4698, start:5277172, end:5277951, name:"PA4699", strand:-1},
{id: 4699, start:5277968, end:5280292, name:"PA4700", strand:-1},
{id: 4700, start:5280505, end:5282067, name:"PA4701", strand:1},
{id: 4701, start:5282159, end:5282506, name:"PA4702", strand:1},
{id: 4702, start:5282732, end:5283004, name:"PA4703", strand:1},
{id: 4703, start:5283109, end:5283906, name:"PA4704", strand:1},
{id: 4704, start:5284370, end:5285257, name:"PA4705", strand:-1},
{id: 4705, start:5285268, end:5286035, name:"PA4706", strand:-1},
{id: 4706, start:5286035, end:5287018, name:"PA4707", strand:-1},
{id: 4707, start:5287069, end:5287962, name:"PA4708", strand:-1},
{id: 4708, start:5287972, end:5289036, name:"PA4709", strand:-1},
{id: 4709, start:5289217, end:5291511, name:"PA4710", strand:1},
{id: 4710, start:5291614, end:5291961, name:"PA4711", strand:1},
{id: 4711, start:5292042, end:5292554, name:"PA4712", strand:1},
{id: 4712, start:5292558, end:5293007, name:"PA4713", strand:-1},
{id: 4713, start:5293257, end:5293706, name:"PA4714", strand:1},
{id: 4714, start:5293765, end:5295000, name:"PA4715", strand:-1},
{id: 4715, start:5295170, end:5296024, name:"PA4716", strand:1},
{id: 4716, start:5296092, end:5296985, name:"PA4717", strand:1},
{id: 4717, start:5297007, end:5297483, name:"PA4718", strand:-1},
{id: 4718, start:5297897, end:5299192, name:"PA4719", strand:1},
{id: 4719, start:5299189, end:5300280, name:"PA4720", strand:1},
{id: 4720, start:5300314, end:5301021, name:"PA4721", strand:-1},
{id: 4721, start:5301021, end:5302193, name:"PA4722", strand:-1},
{id: 4722, start:5302386, end:5302832, name:"PA4723", strand:1},
{id: 4723, start:5302900, end:5303781, name:"PA4724", strand:1},
{id: 4724, start:5303851, end:5304027, name:"PA4724.1", strand:1},
{id: 4725, start:5304011, end:5306962, name:"PA4725", strand:1},
{id: 4726, start:5306989, end:5308425, name:"PA4726", strand:1},
{id: 4727, start:5309326, end:5310729, name:"PA4727", strand:1},
{id: 4728, start:5310726, end:5311214, name:"PA4728", strand:1},
{id: 4729, start:5311464, end:5312264, name:"PA4729", strand:1},
{id: 4730, start:5312261, end:5313112, name:"PA4730", strand:1},
{id: 4731, start:5313206, end:5313586, name:"PA4731", strand:1},
{id: 4732, start:5313676, end:5315340, name:"PA4732", strand:1},
{id: 4733, start:5315534, end:5317471, name:"PA4733", strand:1},
{id: 4734, start:5317569, end:5318450, name:"PA4734", strand:1},
{id: 4735, start:5318575, end:5321841, name:"PA4735", strand:1},
{id: 4736, start:5321846, end:5322139, name:"PA4736", strand:1},
{id: 4737, start:5322235, end:5322450, name:"PA4737", strand:1},
{id: 4738, start:5322510, end:5322707, name:"PA4738", strand:-1},
{id: 4739, start:5322757, end:5323101, name:"PA4739", strand:-1},
{id: 4740, start:5323374, end:5325479, name:"PA4740", strand:-1},
{id: 4741, start:5325653, end:5325922, name:"PA4741", strand:-1},
{id: 4742, start:5326018, end:5326932, name:"PA4742", strand:-1},
{id: 4743, start:5326935, end:5327324, name:"PA4743", strand:-1},
{id: 4744, start:5327427, end:5329949, name:"PA4744", strand:-1},
{id: 4745, start:5329977, end:5331458, name:"PA4745", strand:-1},
{id: 4746, start:5331503, end:5331961, name:"PA4746", strand:-1},
{id: 4747, start:5332354, end:5332743, name:"PA4747", strand:-1},
{id: 4748, start:5332746, end:5333501, name:"PA4748", strand:-1},
{id: 4749, start:5333567, end:5334904, name:"PA4749", strand:-1},
{id: 4750, start:5334921, end:5335772, name:"PA4750", strand:-1},
{id: 4751, start:5335782, end:5337701, name:"PA4751", strand:-1},
{id: 4752, start:5337900, end:5338523, name:"PA4752", strand:-1},
{id: 4753, start:5338618, end:5338932, name:"PA4753", strand:1},
{id: 4754, start:5338973, end:5339380, name:"PA4754", strand:-1},
{id: 4755, start:5339391, end:5339867, name:"PA4755", strand:-1},
{id: 4756, start:5339864, end:5343085, name:"PA4756", strand:-1},
{id: 4757, start:5343105, end:5343755, name:"PA4757", strand:-1},
{id: 4758, start:5343767, end:5344903, name:"PA4758", strand:-1},
{id: 4759, start:5345086, end:5345892, name:"PA4759", strand:-1},
{id: 4760, start:5345949, end:5347082, name:"PA4760", strand:-1},
{id: 4761, start:5347198, end:5349111, name:"PA4761", strand:-1},
{id: 4762, start:5349201, end:5349761, name:"PA4762", strand:-1},
{id: 4763, start:5349929, end:5351605, name:"PA4763", strand:1},
{id: 4764, start:5351675, end:5352079, name:"PA4764", strand:-1},
{id: 4765, start:5352177, end:5352707, name:"PA4765", strand:1},
{id: 4766, start:5352775, end:5353080, name:"PA4766", strand:-1},
{id: 4767, start:5353073, end:5353507, name:"PA4767", strand:-1},
{id: 4768, start:5353783, end:5354262, name:"PA4768", strand:1},
{id: 4769, start:5354285, end:5355058, name:"PA4769", strand:-1},
{id: 4770, start:5355387, end:5357075, name:"PA4770", strand:1},
{id: 4771, start:5357230, end:5358375, name:"PA4771", strand:1},
{id: 4772, start:5358442, end:5361258, name:"PA4772", strand:1},
{id: 4773, start:5361586, end:5362068, name:"PA4773", strand:1},
{id: 4774, start:5362146, end:5363195, name:"PA4774", strand:1},
{id: 4775, start:5363198, end:5364058, name:"PA4775", strand:1},
{id: 4776, start:5364071, end:5364736, name:"PA4776", strand:1},
{id: 4777, start:5364760, end:5366193, name:"PA4777", strand:1},
{id: 4778, start:5366257, end:5366655, name:"PA4778", strand:1},
{id: 4779, start:5367187, end:5368080, name:"PA4779", strand:-1},
{id: 4780, start:5368170, end:5369063, name:"PA4780", strand:-1},
{id: 4781, start:5369187, end:5370368, name:"PA4781", strand:-1},
{id: 4782, start:5370476, end:5370721, name:"PA4782", strand:-1},
{id: 4783, start:5370755, end:5371645, name:"PA4783", strand:-1},
{id: 4784, start:5371800, end:5372267, name:"PA4784", strand:1},
{id: 4785, start:5372591, end:5373868, name:"PA4785", strand:-1},
{id: 4786, start:5374123, end:5375478, name:"PA4786", strand:1},
{id: 4787, start:5375590, end:5376591, name:"PA4787", strand:-1},
{id: 4788, start:5376852, end:5377709, name:"PA4788", strand:1},
{id: 4789, start:5377791, end:5378096, name:"PA4789", strand:1},
{id: 4790, start:5378093, end:5378842, name:"PA4790", strand:1},
{id: 4791, start:5378908, end:5379528, name:"PA4791", strand:1},
{id: 4792, start:5379513, end:5380448, name:"PA4792", strand:-1},
{id: 4793, start:5380580, end:5381143, name:"PA4793", strand:1},
{id: 4794, start:5381145, end:5381627, name:"PA4794", strand:1},
{id: 4795, start:5381617, end:5381994, name:"PA4795", strand:1},
{id: 4796, start:5381991, end:5382458, name:"PA4796", strand:1},
{id: 4797, start:5382796, end:5383812, name:"PA4797", strand:-1},
{id: 4798, start:5383947, end:5384675, name:"PA4798", strand:1},
{id: 4799, start:5384698, end:5385276, name:"PA4799", strand:-1},
{id: 4800, start:5385273, end:5386073, name:"PA4800", strand:-1},
{id: 4801, start:5386369, end:5386737, name:"PA4801", strand:-1},
{id: 4802, start:5387000, end:5387722, name:"PA4802", strand:1},
{id: 4803, start:5387990, end:5388607, name:"PA4803", strand:-1},
{id: 4804, start:5388702, end:5390099, name:"PA4804", strand:-1},
{id: 4805, start:5390148, end:5391554, name:"PA4805", strand:-1},
{id: 4806, start:5391836, end:5392519, name:"PA4806", strand:1},
{id: 4807, start:5392523, end:5394448, name:"PA4807", strand:-1},
{id: 4808, start:5394445, end:5395851, name:"PA4808", strand:-1},
{id: 4809, start:5395930, end:5396859, name:"PA4809", strand:-1},
{id: 4810, start:5396992, end:5397618, name:"PA4810", strand:-1},
{id: 4811, start:5397690, end:5398619, name:"PA4811", strand:-1},
{id: 4812, start:5398628, end:5401708, name:"PA4812", strand:-1},
{id: 4813, start:5402016, end:5402945, name:"PA4813", strand:-1},
{id: 4814, start:5403305, end:5405350, name:"PA4814", strand:1},
{id: 4815, start:5405559, end:5406008, name:"PA4815", strand:1},
{id: 4816, start:5406165, end:5407400, name:"PA4816", strand:1},
{id: 4817, start:5407376, end:5407870, name:"PA4817", strand:1},
{id: 4818, start:5407873, end:5409309, name:"PA4818", strand:-1},
{id: 4819, start:5409306, end:5410280, name:"PA4819", strand:-1},
{id: 4820, start:5410277, end:5410639, name:"PA4820", strand:-1},
{id: 4821, start:5410876, end:5412237, name:"PA4821", strand:1},
{id: 4822, start:5412569, end:5414236, name:"PA4822", strand:-1},
{id: 4823, start:5414279, end:5414488, name:"PA4823", strand:-1},
{id: 4824, start:5414539, end:5415315, name:"PA4824", strand:-1},
{id: 4825, start:5415413, end:5418124, name:"PA4825", strand:-1},
{id: 4826, start:5418351, end:5418569, name:"PA4826", strand:-1},
{id: 4827, start:5418899, end:5419738, name:"PA4827", strand:-1},
{id: 4828, start:5419863, end:5420318, name:"PA4828", strand:1},
{id: 4829, start:5420323, end:5421726, name:"PA4829", strand:-1},
{id: 4830, start:5421899, end:5422438, name:"PA4830", strand:1},
{id: 4831, start:5422506, end:5423066, name:"PA4831", strand:1},
{id: 4832, start:5423071, end:5423868, name:"PA4832", strand:-1},
{id: 4833, start:5424099, end:5424716, name:"PA4833", strand:1},
{id: 4834, start:5424761, end:5425615, name:"PA4834", strand:-1},
{id: 4835, start:5425597, end:5426898, name:"PA4835", strand:-1},
{id: 4836, start:5426895, end:5427686, name:"PA4836", strand:-1},
{id: 4837, start:5427716, end:5429842, name:"PA4837", strand:-1},
{id: 4838, start:5429984, end:5431138, name:"PA4838", strand:1},
{id: 4839, start:5431381, end:5433291, name:"PA4839", strand:-1},
{id: 4840, start:5433541, end:5433912, name:"PA4840", strand:-1},
{id: 4841, start:5434116, end:5434652, name:"PA4841", strand:-1},
{id: 4842, start:5434656, end:5435726, name:"PA4842", strand:-1},
{id: 4843, start:5436079, end:5437707, name:"PA4843", strand:1},
{id: 4844, start:5437785, end:5439758, name:"PA4844", strand:1},
{id: 4845, start:5439918, end:5441693, name:"PA4845", strand:1},
{id: 4846, start:5441837, end:5442280, name:"PA4846", strand:1},
{id: 4847, start:5442304, end:5442774, name:"PA4847", strand:1},
{id: 4848, start:5442792, end:5444141, name:"PA4848", strand:1},
{id: 4849, start:5444252, end:5445118, name:"PA4849", strand:1},
{id: 4850, start:5445199, end:5446083, name:"PA4850", strand:1},
{id: 4851, start:5446179, end:5447444, name:"PA4851", strand:1},
{id: 4852, start:5447648, end:5448646, name:"PA4852", strand:1},
{id: 4853, start:5448643, end:5448966, name:"PA4853", strand:1},
{id: 4854, start:5449046, end:5450653, name:"PA4854", strand:1},
{id: 4855, start:5450757, end:5452046, name:"PA4855", strand:1},
{id: 4856, start:5452150, end:5454978, name:"PA4856", strand:1},
{id: 4857, start:5455434, end:5456027, name:"PA4857", strand:1},
{id: 4858, start:5456452, end:5457717, name:"PA4858", strand:1},
{id: 4859, start:5458500, end:5459453, name:"PA4859", strand:1},
{id: 4860, start:5459450, end:5460529, name:"PA4860", strand:1},
{id: 4861, start:5460526, end:5461383, name:"PA4861", strand:1},
{id: 4862, start:5461520, end:5462218, name:"PA4862", strand:1},
{id: 4863, start:5462302, end:5462754, name:"PA4863", strand:1},
{id: 4864, start:5462763, end:5463605, name:"PA4864", strand:1},
{id: 4865, start:5463607, end:5463909, name:"PA4865", strand:1},
{id: 4866, start:5463918, end:5464436, name:"PA4866", strand:1},
{id: 4867, start:5464453, end:5464758, name:"PA4867", strand:1},
{id: 4868, start:5464821, end:5466521, name:"PA4868", strand:1},
{id: 4869, start:5466790, end:5468007, name:"PA4869", strand:1},
{id: 4870, start:5468017, end:5468283, name:"PA4870", strand:-1},
{id: 4871, start:5468409, end:5469023, name:"PA4871", strand:1},
{id: 4872, start:5469115, end:5469978, name:"PA4872", strand:-1},
{id: 4873, start:5470186, end:5471451, name:"PA4873", strand:1},
{id: 4874, start:5471626, end:5472042, name:"PA4874", strand:-1},
{id: 4875, start:5472439, end:5472735, name:"PA4875", strand:1},
{id: 4876, start:5472824, end:5473168, name:"PA4876", strand:1},
{id: 4877, start:5473212, end:5473619, name:"PA4877", strand:-1},
{id: 4878, start:5473766, end:5474578, name:"PA4878", strand:1},
{id: 4879, start:5474580, end:5476649, name:"PA4879", strand:-1},
{id: 4880, start:5476945, end:5477478, name:"PA4880", strand:1},
{id: 4881, start:5477754, end:5478095, name:"PA4881", strand:1},
{id: 4882, start:5478209, end:5478976, name:"PA4882", strand:-1},
{id: 4883, start:5478973, end:5479587, name:"PA4883", strand:-1},
{id: 4884, start:5479641, end:5480264, name:"PA4884", strand:-1},
{id: 4885, start:5480402, end:5481091, name:"PA4885", strand:1},
{id: 4886, start:5481070, end:5482461, name:"PA4886", strand:1},
{id: 4887, start:5482452, end:5483768, name:"PA4887", strand:-1},
{id: 4888, start:5483988, end:5485100, name:"PA4888", strand:-1},
{id: 4889, start:5485097, end:5486197, name:"PA4889", strand:-1},
{id: 4890, start:5486356, end:5486985, name:"PA4890", strand:1},
{id: 4891, start:5487215, end:5487718, name:"PA4891", strand:1},
{id: 4892, start:5487715, end:5488386, name:"PA4892", strand:1},
{id: 4893, start:5488397, end:5489011, name:"PA4893", strand:1},
{id: 4894, start:5489041, end:5489613, name:"PA4894", strand:1},
{id: 4895, start:5489630, end:5490652, name:"PA4895", strand:-1},
{id: 4896, start:5490645, end:5491181, name:"PA4896", strand:-1},
{id: 4897, start:5491346, end:5494315, name:"PA4897", strand:1},
{id: 4898, start:5494460, end:5495713, name:"PA4898", strand:-1},
{id: 4899, start:5495821, end:5497290, name:"PA4899", strand:-1},
{id: 4900, start:5497313, end:5498653, name:"PA4900", strand:-1},
{id: 4901, start:5498740, end:5500326, name:"PA4901", strand:-1},
{id: 4902, start:5500427, end:5501323, name:"PA4902", strand:1},
{id: 4903, start:5501338, end:5502672, name:"PA4903", strand:-1},
{id: 4904, start:5503051, end:5504106, name:"PA4904", strand:1},
{id: 4905, start:5504121, end:5505074, name:"PA4905", strand:1},
{id: 4906, start:5505071, end:5505784, name:"PA4906", strand:-1},
{id: 4907, start:5505848, end:5506609, name:"PA4907", strand:-1},
{id: 4908, start:5506966, end:5507898, name:"PA4908", strand:-1},
{id: 4909, start:5507969, end:5508685, name:"PA4909", strand:-1},
{id: 4910, start:5508682, end:5509554, name:"PA4910", strand:-1},
{id: 4911, start:5509551, end:5510828, name:"PA4911", strand:-1},
{id: 4912, start:5510839, end:5511753, name:"PA4912", strand:-1},
{id: 4913, start:5511988, end:5513112, name:"PA4913", strand:-1},
{id: 4914, start:5513732, end:5514670, name:"PA4914", strand:1},
{id: 4915, start:5514727, end:5516352, name:"PA4915", strand:1},
{id: 4916, start:5516399, end:5517094, name:"PA4916", strand:-1},
{id: 4917, start:5517109, end:5517711, name:"PA4917", strand:-1},
{id: 4918, start:5517821, end:5518480, name:"PA4918", strand:1},
{id: 4919, start:5518483, end:5519682, name:"PA4919", strand:1},
{id: 4920, start:5519711, end:5520538, name:"PA4920", strand:1},
{id: 4921, start:5520672, end:5521595, name:"PA4921", strand:1},
{id: 4922, start:5521664, end:5522110, name:"PA4922", strand:-1},
{id: 4923, start:5522386, end:5522973, name:"PA4923", strand:1},
{id: 4924, start:5522986, end:5523681, name:"PA4924", strand:-1},
{id: 4925, start:5523868, end:5524719, name:"PA4925", strand:-1},
{id: 4926, start:5524970, end:5525905, name:"PA4926", strand:-1},
{id: 4927, start:5525905, end:5528397, name:"PA4927", strand:-1},
{id: 4928, start:5528659, end:5530902, name:"PA4928", strand:-1},
{id: 4929, start:5530973, end:5533015, name:"PA4929", strand:1},
{id: 4930, start:5533017, end:5534093, name:"PA4930", strand:-1},
{id: 4931, start:5534162, end:5535556, name:"PA4931", strand:-1},
{id: 4932, start:5535685, end:5536131, name:"PA4932", strand:-1},
{id: 4933, start:5536153, end:5537022, name:"PA4933", strand:-1},
{id: 4934, start:5537059, end:5537289, name:"PA4934", strand:-1},
{id: 4935, start:5537319, end:5537738, name:"PA4935", strand:-1},
{id: 4936, start:5537953, end:5538699, name:"PA4936", strand:-1},
{id: 4937, start:5538696, end:5541410, name:"PA4937", strand:-1},
{id: 4938, start:5542073, end:5543365, name:"PA4938", strand:-1},
{id: 4939, start:5543417, end:5544601, name:"PA4939", strand:-1},
{id: 4940, start:5544636, end:5544821, name:"PA4940", strand:-1},
{id: 4941, start:5544917, end:5545786, name:"PA4941", strand:-1},
{id: 4942, start:5545786, end:5546988, name:"PA4942", strand:-1},
{id: 4943, start:5547083, end:5548384, name:"PA4943", strand:-1},
{id: 4944, start:5548397, end:5548645, name:"PA4944", strand:-1},
{id: 4945, start:5548751, end:5549722, name:"PA4945", strand:-1},
{id: 4946, start:5549780, end:5551681, name:"PA4946", strand:-1},
{id: 4947, start:5551681, end:5553108, name:"PA4947", strand:-1},
{id: 4948, start:5553117, end:5553584, name:"PA4948", strand:-1},
{id: 4949, start:5553572, end:5555080, name:"PA4949", strand:-1},
{id: 4950, start:5555162, end:5556247, name:"PA4950", strand:1},
{id: 4951, start:5556281, end:5556823, name:"PA4951", strand:-1},
{id: 4952, start:5556935, end:5557954, name:"PA4952", strand:1},
{id: 4953, start:5557958, end:5559001, name:"PA4953", strand:-1},
{id: 4954, start:5559021, end:5559872, name:"PA4954", strand:-1},
{id: 4955, start:5560013, end:5561524, name:"PA4955", strand:1},
{id: 4956, start:5561599, end:5562414, name:"PA4956", strand:1},
{id: 4957, start:5562418, end:5563287, name:"PA4957", strand:1},
{id: 4958, start:5563965, end:5565428, name:"PA4958", strand:1},
{id: 4959, start:5565493, end:5567568, name:"PA4959", strand:1},
{id: 4960, start:5567655, end:5568944, name:"PA4960", strand:-1},
{id: 4961, start:5569090, end:5570628, name:"PA4961", strand:1},
{id: 4962, start:5570625, end:5571161, name:"PA4962", strand:1},
{id: 4963, start:5571219, end:5571929, name:"PA4963", strand:-1},
{id: 4964, start:5572222, end:5574486, name:"PA4964", strand:-1},
{id: 4965, start:5574494, end:5575018, name:"PA4965", strand:-1},
{id: 4966, start:5575015, end:5576028, name:"PA4966", strand:-1},
{id: 4967, start:5576028, end:5577917, name:"PA4967", strand:-1},
{id: 4968, start:5577929, end:5578549, name:"PA4968", strand:-1},
{id: 4969, start:5578681, end:5579499, name:"PA4969", strand:-1},
{id: 4970, start:5579653, end:5580111, name:"PA4970", strand:-1},
{id: 4971, start:5580102, end:5580719, name:"PA4971", strand:-1},
{id: 4972, start:5580962, end:5581708, name:"PA4972", strand:1},
{id: 4973, start:5581762, end:5583645, name:"PA4973", strand:-1},
{id: 4974, start:5584101, end:5585549, name:"PA4974", strand:1},
{id: 4975, start:5585615, end:5586319, name:"PA4975", strand:-1},
{id: 4976, start:5586370, end:5587551, name:"PA4976", strand:-1},
{id: 4977, start:5587574, end:5589253, name:"PA4977", strand:-1},
{id: 4978, start:5589295, end:5591385, name:"PA4978", strand:-1},
{id: 4979, start:5591452, end:5592612, name:"PA4979", strand:-1},
{id: 4980, start:5592633, end:5593424, name:"PA4980", strand:-1},
{id: 4981, start:5593683, end:5595095, name:"PA4981", strand:-1},
{id: 4982, start:5595279, end:5598275, name:"PA4982", strand:-1},
{id: 4983, start:5598308, end:5599042, name:"PA4983", strand:-1},
{id: 4984, start:5599160, end:5599807, name:"PA4984", strand:-1},
{id: 4985, start:5599884, end:5600975, name:"PA4985", strand:-1},
{id: 4986, start:5601149, end:5603095, name:"PA4986", strand:1},
{id: 4987, start:5603173, end:5603772, name:"PA4987", strand:1},
{id: 4988, start:5603821, end:5605098, name:"PA4988", strand:-1},
{id: 4989, start:5605134, end:5606018, name:"PA4989", strand:-1},
{id: 4990, start:5606103, end:5606435, name:"PA4990", strand:1},
{id: 4991, start:5606496, end:5607671, name:"PA4991", strand:1},
{id: 4992, start:5607668, end:5608480, name:"PA4992", strand:1},
{id: 4993, start:5608649, end:5609569, name:"PA4993", strand:1},
{id: 4994, start:5609594, end:5610802, name:"PA4994", strand:-1},
{id: 4995, start:5610851, end:5612140, name:"PA4995", strand:-1},
{id: 4996, start:5612268, end:5613692, name:"PA4996", strand:-1},
{id: 4997, start:5613733, end:5615544, name:"PA4997", strand:-1},
{id: 4998, start:5615652, end:5616302, name:"PA4998", strand:1},
{id: 4999, start:5616310, end:5617515, name:"PA4999", strand:1},
{id: 5000, start:5617534, end:5618418, name:"PA5000", strand:-1},
{id: 5001, start:5618579, end:5619535, name:"PA5001", strand:-1},
{id: 5002, start:5619608, end:5621026, name:"PA5002", strand:-1},
{id: 5003, start:5621030, end:5621926, name:"PA5003", strand:-1},
{id: 5004, start:5621920, end:5623056, name:"PA5004", strand:-1},
{id: 5005, start:5623040, end:5624797, name:"PA5005", strand:-1},
{id: 5006, start:5624901, end:5626379, name:"PA5006", strand:-1},
{id: 5007, start:5626376, end:5627134, name:"PA5007", strand:-1},
{id: 5008, start:5627131, end:5627865, name:"PA5008", strand:-1},
{id: 5009, start:5627865, end:5628671, name:"PA5009", strand:-1},
{id: 5010, start:5628668, end:5629789, name:"PA5010", strand:-1},
{id: 5011, start:5629786, end:5630853, name:"PA5011", strand:-1},
{id: 5012, start:5630850, end:5631887, name:"PA5012", strand:-1},
{id: 5013, start:5631947, end:5632870, name:"PA5013", strand:-1},
{id: 5014, start:5632926, end:5635874, name:"PA5014", strand:-1},
{id: 5015, start:5636156, end:5638804, name:"PA5015", strand:1},
{id: 5016, start:5638949, end:5640592, name:"PA5016", strand:1},
{id: 5017, start:5641010, end:5643709, name:"PA5017", strand:1},
{id: 5018, start:5643803, end:5644450, name:"PA5018", strand:1},
{id: 5019, start:5644454, end:5645290, name:"PA5019", strand:-1},
{id: 5020, start:5645593, end:5647395, name:"PA5020", strand:1},
{id: 5021, start:5647814, end:5649430, name:"PA5021", strand:1},
{id: 5022, start:5649522, end:5652878, name:"PA5022", strand:1},
{id: 5023, start:5652945, end:5654405, name:"PA5023", strand:1},
{id: 5024, start:5654811, end:5655527, name:"PA5024", strand:1},
{id: 5025, start:5655648, end:5656925, name:"PA5025", strand:1},
{id: 5026, start:5657016, end:5657468, name:"PA5026", strand:1},
{id: 5027, start:5657581, end:5658396, name:"PA5027", strand:1},
{id: 5028, start:5658418, end:5659185, name:"PA5028", strand:-1},
{id: 5029, start:5659276, end:5660181, name:"PA5029", strand:-1},
{id: 5030, start:5660357, end:5661673, name:"PA5030", strand:1},
{id: 5031, start:5661701, end:5662630, name:"PA5031", strand:-1},
{id: 5032, start:5662742, end:5663815, name:"PA5032", strand:1},
{id: 5033, start:5663889, end:5664869, name:"PA5033", strand:1},
{id: 5034, start:5664990, end:5666057, name:"PA5034", strand:-1},
{id: 5035, start:5666234, end:5667667, name:"PA5035", strand:-1},
{id: 5036, start:5667696, end:5672141, name:"PA5036", strand:-1},
{id: 5037, start:5672366, end:5674021, name:"PA5037", strand:-1},
{id: 5038, start:5674028, end:5675134, name:"PA5038", strand:-1},
{id: 5039, start:5675184, end:5675702, name:"PA5039", strand:-1},
{id: 5040, start:5675714, end:5677858, name:"PA5040", strand:-1},
{id: 5041, start:5677912, end:5678436, name:"PA5041", strand:-1},
{id: 5042, start:5678433, end:5679056, name:"PA5042", strand:-1},
{id: 5043, start:5679053, end:5679649, name:"PA5043", strand:-1},
{id: 5044, start:5679649, end:5680713, name:"PA5044", strand:-1},
{id: 5045, start:5680898, end:5683366, name:"PA5045", strand:1},
{id: 5046, start:5683471, end:5684739, name:"PA5046", strand:-1},
{id: 5047, start:5684842, end:5686281, name:"PA5047", strand:-1},
{id: 5048, start:5686278, end:5687045, name:"PA5048", strand:-1},
{id: 5049, start:5687105, end:5687320, name:"PA5049", strand:-1},
{id: 5050, start:5687496, end:5689715, name:"PA5050", strand:1},
{id: 5051, start:5689964, end:5691727, name:"PA5051", strand:1},
{id: 5052, start:5691762, end:5692457, name:"PA5052", strand:1},
{id: 5053, start:5692576, end:5693109, name:"PA5053", strand:1},
{id: 5054, start:5693138, end:5694481, name:"PA5054", strand:1},
{id: 5055, start:5694576, end:5694947, name:"PA5055", strand:1},
{id: 5056, start:5695366, end:5697045, name:"PA5056", strand:1},
{id: 5057, start:5697198, end:5698055, name:"PA5057", strand:1},
{id: 5058, start:5698359, end:5700041, name:"PA5058", strand:1},
{id: 5059, start:5700097, end:5700714, name:"PA5059", strand:1},
{id: 5060, start:5700758, end:5701687, name:"PA5060", strand:-1},
{id: 5061, start:5701698, end:5702114, name:"PA5061", strand:-1},
{id: 5062, start:5702258, end:5702533, name:"PA5062", strand:-1},
{id: 5063, start:5702669, end:5703439, name:"PA5063", strand:1},
{id: 5064, start:5703454, end:5704080, name:"PA5064", strand:1},
{id: 5065, start:5704077, end:5705678, name:"PA5065", strand:1},
{id: 5066, start:5705794, end:5706198, name:"PA5066", strand:1},
{id: 5067, start:5706191, end:5706526, name:"PA5067", strand:1},
{id: 5068, start:5706552, end:5706800, name:"PA5068", strand:1},
{id: 5069, start:5706814, end:5707239, name:"PA5069", strand:1},
{id: 5070, start:5707236, end:5708039, name:"PA5070", strand:1},
{id: 5071, start:5708036, end:5708743, name:"PA5071", strand:1},
{id: 5072, start:5708955, end:5710898, name:"PA5072", strand:1},
{id: 5073, start:5711008, end:5711469, name:"PA5073", strand:1},
{id: 5074, start:5711477, end:5712211, name:"PA5074", strand:-1},
{id: 5075, start:5712204, end:5713166, name:"PA5075", strand:-1},
{id: 5076, start:5713232, end:5714032, name:"PA5076", strand:-1},
{id: 5077, start:5714270, end:5716855, name:"PA5077", strand:-1},
{id: 5078, start:5716848, end:5718425, name:"PA5078", strand:-1},
{id: 5079, start:5718882, end:5719319, name:"PA5079", strand:-1},
{id: 5080, start:5719316, end:5720287, name:"PA5080", strand:-1},
{id: 5081, start:5720469, end:5720945, name:"PA5081", strand:1},
{id: 5082, start:5720950, end:5721849, name:"PA5082", strand:-1},
{id: 5083, start:5721892, end:5722242, name:"PA5083", strand:-1},
{id: 5084, start:5722267, end:5723517, name:"PA5084", strand:-1},
{id: 5085, start:5723582, end:5724538, name:"PA5085", strand:1},
{id: 5086, start:5724601, end:5725242, name:"PA5086", strand:-1},
{id: 5087, start:5725479, end:5726348, name:"PA5087", strand:-1},
{id: 5088, start:5726357, end:5727238, name:"PA5088", strand:-1},
{id: 5089, start:5727239, end:5729476, name:"PA5089", strand:-1},
{id: 5090, start:5729473, end:5731845, name:"PA5090", strand:-1},
{id: 5091, start:5732116, end:5732916, name:"PA5091", strand:-1},
{id: 5092, start:5732909, end:5734117, name:"PA5092", strand:-1},
{id: 5093, start:5734114, end:5735646, name:"PA5093", strand:-1},
{id: 5094, start:5735643, end:5736473, name:"PA5094", strand:-1},
{id: 5095, start:5736470, end:5737321, name:"PA5095", strand:-1},
{id: 5096, start:5737346, end:5738314, name:"PA5096", strand:-1},
{id: 5097, start:5738432, end:5739835, name:"PA5097", strand:-1},
{id: 5098, start:5739898, end:5741427, name:"PA5098", strand:-1},
{id: 5099, start:5741524, end:5742966, name:"PA5099", strand:-1},
{id: 5100, start:5743074, end:5744753, name:"PA5100", strand:-1},
{id: 5101, start:5745079, end:5745876, name:"PA5101", strand:-1},
{id: 5102, start:5745895, end:5746833, name:"PA5102", strand:-1},
{id: 5103, start:5746849, end:5747871, name:"PA5103", strand:-1},
{id: 5104, start:5748013, end:5748603, name:"PA5104", strand:-1},
{id: 5105, start:5748600, end:5749352, name:"PA5105", strand:-1},
{id: 5106, start:5749453, end:5750814, name:"PA5106", strand:1},
{id: 5107, start:5750961, end:5751530, name:"PA5107", strand:-1},
{id: 5108, start:5751527, end:5751784, name:"PA5108", strand:-1},
{id: 5109, start:5751857, end:5752459, name:"PA5109", strand:-1},
{id: 5110, start:5752464, end:5753474, name:"PA5110", strand:-1},
{id: 5111, start:5753614, end:5754144, name:"PA5111", strand:-1},
{id: 5112, start:5754298, end:5756238, name:"PA5112", strand:-1},
{id: 5113, start:5756347, end:5757741, name:"PA5113", strand:-1},
{id: 5114, start:5757738, end:5761343, name:"PA5114", strand:-1},
{id: 5115, start:5761482, end:5762066, name:"PA5115", strand:-1},
{id: 5116, start:5762150, end:5762575, name:"PA5116", strand:1},
{id: 5117, start:5762659, end:5764476, name:"PA5117", strand:-1},
{id: 5118, start:5764693, end:5766147, name:"PA5118", strand:-1},
{id: 5119, start:5766484, end:5767893, name:"PA5119", strand:1},
{id: 5120, start:5768041, end:5768445, name:"PA5120", strand:1},
{id: 5121, start:5768442, end:5770649, name:"PA5121", strand:-1},
{id: 5122, start:5770937, end:5771458, name:"PA5122", strand:1},
{id: 5123, start:5771455, end:5772027, name:"PA5123", strand:1},
{id: 5124, start:5772298, end:5773374, name:"PA5124", strand:1},
{id: 5125, start:5773377, end:5774807, name:"PA5125", strand:1},
{id: 5126, start:5775620, end:5776087, name:"PA5126", strand:-1},
{id: 5127, start:5776086, end:5776547, name:"PA5127", strand:1},
{id: 5128, start:5776606, end:5777097, name:"PA5128", strand:-1},
{id: 5129, start:5777134, end:5777388, name:"PA5129", strand:-1},
{id: 5130, start:5777390, end:5777809, name:"PA5130", strand:-1},
{id: 5131, start:5778134, end:5779681, name:"PA5131", strand:1},
{id: 5132, start:5779995, end:5780813, name:"PA5132", strand:1},
{id: 5133, start:5780963, end:5782249, name:"PA5133", strand:1},
{id: 5134, start:5782278, end:5783588, name:"PA5134", strand:1},
{id: 5135, start:5783588, end:5784361, name:"PA5135", strand:1},
{id: 5136, start:5784430, end:5785911, name:"PA5136", strand:1},
{id: 5137, start:5785948, end:5786703, name:"PA5137", strand:-1},
{id: 5138, start:5786853, end:5787605, name:"PA5138", strand:-1},
{id: 5139, start:5787696, end:5788442, name:"PA5139", strand:-1},
{id: 5140, start:5788614, end:5789384, name:"PA5140", strand:-1},
{id: 5141, start:5789395, end:5790132, name:"PA5141", strand:-1},
{id: 5142, start:5790445, end:5791086, name:"PA5142", strand:-1},
{id: 5143, start:5791083, end:5791676, name:"PA5143", strand:-1},
{id: 5144, start:5791837, end:5792235, name:"PA5144", strand:1},
{id: 5145, start:5792505, end:5793611, name:"PA5145", strand:1},
{id: 5146, start:5793705, end:5795957, name:"PA5146", strand:1},
{id: 5147, start:5795954, end:5797021, name:"PA5147", strand:1},
{id: 5148, start:5797065, end:5797337, name:"PA5148", strand:1},
{id: 5149, start:5797365, end:5798447, name:"PA5149", strand:1},
{id: 5150, start:5798693, end:5799430, name:"PA5150", strand:-1},
{id: 5151, start:5799589, end:5800278, name:"PA5151", strand:1},
{id: 5152, start:5800527, end:5801300, name:"PA5152", strand:1},
{id: 5153, start:5801315, end:5802067, name:"PA5153", strand:1},
{id: 5154, start:5802129, end:5802824, name:"PA5154", strand:1},
{id: 5155, start:5802821, end:5803513, name:"PA5155", strand:1},
{id: 5156, start:5803867, end:5804802, name:"PA5156", strand:1},
{id: 5157, start:5805206, end:5805676, name:"PA5157", strand:1},
{id: 5158, start:5805680, end:5807158, name:"PA5158", strand:1},
{id: 5159, start:5807173, end:5808357, name:"PA5159", strand:1},
{id: 5160, start:5808368, end:5809897, name:"PA5160", strand:1},
{id: 5161, start:5810281, end:5811339, name:"PA5161", strand:1},
{id: 5162, start:5811336, end:5812244, name:"PA5162", strand:1},
{id: 5163, start:5812241, end:5813122, name:"PA5163", strand:1},
{id: 5164, start:5813122, end:5813667, name:"PA5164", strand:1},
{id: 5165, start:5813727, end:5815565, name:"PA5165", strand:1},
{id: 5166, start:5815562, end:5816950, name:"PA5166", strand:1},
{id: 5167, start:5817191, end:5818186, name:"PA5167", strand:1},
{id: 5168, start:5818202, end:5818834, name:"PA5168", strand:1},
{id: 5169, start:5818831, end:5820114, name:"PA5169", strand:1},
{id: 5170, start:5820910, end:5822358, name:"PA5170", strand:1},
{id: 5171, start:5822380, end:5823636, name:"PA5171", strand:1},
{id: 5172, start:5823716, end:5824726, name:"PA5172", strand:1},
{id: 5173, start:5824787, end:5825719, name:"PA5173", strand:1},
{id: 5174, start:5826135, end:5828039, name:"PA5174", strand:1},
{id: 5175, start:5828086, end:5828907, name:"PA5175", strand:-1},
{id: 5176, start:5828904, end:5829470, name:"PA5176", strand:-1},
{id: 5177, start:5829596, end:5830261, name:"PA5177", strand:1},
{id: 5178, start:5830313, end:5830750, name:"PA5178", strand:-1},
{id: 5179, start:5830924, end:5831805, name:"PA5179", strand:1},
{id: 5180, start:5831902, end:5832741, name:"PA5180", strand:1},
{id: 5181, start:5832749, end:5835070, name:"PA5181", strand:1},
{id: 5182, start:5835482, end:5835895, name:"PA5182", strand:1},
{id: 5183, start:5835994, end:5836401, name:"PA5183", strand:1},
{id: 5184, start:5836910, end:5837467, name:"PA5184", strand:1},
{id: 5185, start:5837449, end:5837892, name:"PA5185", strand:-1},
{id: 5186, start:5837915, end:5839078, name:"PA5186", strand:-1},
{id: 5187, start:5839105, end:5840895, name:"PA5187", strand:-1},
{id: 5188, start:5840897, end:5842132, name:"PA5188", strand:-1},
{id: 5189, start:5842275, end:5843183, name:"PA5189", strand:1},
{id: 5190, start:5843198, end:5843800, name:"PA5190", strand:-1},
{id: 5191, start:5844054, end:5844410, name:"PA5191", strand:1},
{id: 5192, start:5844468, end:5846009, name:"PA5192", strand:-1},
{id: 5193, start:5846125, end:5847018, name:"PA5193", strand:-1},
{id: 5194, start:5847131, end:5847934, name:"PA5194", strand:1},
{id: 5195, start:5847972, end:5848367, name:"PA5195", strand:-1},
{id: 5196, start:5848577, end:5849011, name:"PA5196", strand:1},
{id: 5197, start:5849143, end:5850048, name:"PA5197", strand:1},
{id: 5198, start:5850239, end:5851162, name:"PA5198", strand:1},
{id: 5199, start:5851239, end:5852558, name:"PA5199", strand:-1},
{id: 5200, start:5852653, end:5853396, name:"PA5200", strand:-1},
{id: 5201, start:5853585, end:5855924, name:"PA5201", strand:1},
{id: 5202, start:5855936, end:5856325, name:"PA5202", strand:1},
{id: 5203, start:5856532, end:5858115, name:"PA5203", strand:1},
{id: 5204, start:5858158, end:5859456, name:"PA5204", strand:-1},
{id: 5205, start:5859793, end:5860494, name:"PA5205", strand:1},
{id: 5206, start:5860467, end:5861621, name:"PA5206", strand:-1},
{id: 5207, start:5861721, end:5862989, name:"PA5207", strand:-1},
{id: 5208, start:5863034, end:5863711, name:"PA5208", strand:-1},
{id: 5209, start:5863825, end:5865189, name:"PA5209", strand:1},
{id: 5210, start:5865227, end:5867011, name:"PA5210", strand:1},
{id: 5211, start:5867233, end:5867685, name:"PA5211", strand:1},
{id: 5212, start:5867817, end:5868146, name:"PA5212", strand:1},
{id: 5213, start:5868181, end:5871057, name:"PA5213", strand:-1},
{id: 5214, start:5871231, end:5871620, name:"PA5214", strand:-1},
{id: 5215, start:5871667, end:5872749, name:"PA5215", strand:-1},
{id: 5216, start:5872900, end:5874519, name:"PA5216", strand:-1},
{id: 5217, start:5874587, end:5875585, name:"PA5217", strand:-1},
{id: 5218, start:5875653, end:5876567, name:"PA5218", strand:-1},
{id: 5219, start:5876664, end:5877857, name:"PA5219", strand:1},
{id: 5220, start:5877896, end:5878717, name:"PA5220", strand:1},
{id: 5221, start:5878754, end:5879971, name:"PA5221", strand:-1},
{id: 5222, start:5880000, end:5880482, name:"PA5222", strand:-1},
{id: 5223, start:5880487, end:5881671, name:"PA5223", strand:-1},
{id: 5224, start:5881679, end:5883013, name:"PA5224", strand:-1},
{id: 5225, start:5883023, end:5883577, name:"PA5225", strand:-1},
{id: 5226, start:5883664, end:5883975, name:"PA5226", strand:1},
{id: 5227, start:5883972, end:5884286, name:"PA5227", strand:1},
{id: 5228, start:5884508, end:5885119, name:"PA5228", strand:1},
{id: 5229, start:5885486, end:5885944, name:"PA5229", strand:1},
{id: 5230, start:5885954, end:5887078, name:"PA5230", strand:-1},
{id: 5231, start:5887082, end:5889832, name:"PA5231", strand:-1},
{id: 5232, start:5889829, end:5890902, name:"PA5232", strand:-1},
{id: 5233, start:5891109, end:5891528, name:"PA5233", strand:-1},
{id: 5234, start:5891683, end:5892660, name:"PA5234", strand:1},
{id: 5235, start:5892910, end:5894256, name:"PA5235", strand:1},
{id: 5236, start:5894293, end:5895261, name:"PA5236", strand:-1},
{id: 5237, start:5895261, end:5896727, name:"PA5237", strand:-1},
{id: 5238, start:5896806, end:5898794, name:"PA5238", strand:-1},
{id: 5239, start:5898865, end:5900124, name:"PA5239", strand:-1},
{id: 5240, start:5900369, end:5900695, name:"PA5240", strand:-1},
{id: 5241, start:5900879, end:5902399, name:"PA5241", strand:1},
{id: 5242, start:5902386, end:5904596, name:"PA5242", strand:-1},
{id: 5243, start:5904614, end:5905627, name:"PA5243", strand:-1},
{id: 5244, start:5905871, end:5906461, name:"PA5244", strand:1},
{id: 5245, start:5906626, end:5907294, name:"PA5245", strand:1},
{id: 5246, start:5907390, end:5907863, name:"PA5246", strand:1},
{id: 5247, start:5907848, end:5908330, name:"PA5247", strand:-1},
{id: 5248, start:5908397, end:5910298, name:"PA5248", strand:-1},
{id: 5249, start:5910403, end:5911032, name:"PA5249", strand:-1},
{id: 5250, start:5911262, end:5912020, name:"PA5250", strand:-1},
{id: 5251, start:5912027, end:5912605, name:"PA5251", strand:-1},
{id: 5252, start:5912605, end:5914521, name:"PA5252", strand:-1},
{id: 5253, start:5915043, end:5916101, name:"PA5253", strand:-1},
{id: 5254, start:5916227, end:5916856, name:"PA5254", strand:1},
{id: 5255, start:5916918, end:5917400, name:"PA5255", strand:-1},
{id: 5256, start:5917680, end:5918171, name:"PA5256", strand:-1},
{id: 5257, start:5918350, end:5919588, name:"PA5257", strand:-1},
{id: 5258, start:5919585, end:5920715, name:"PA5258", strand:-1},
{id: 5259, start:5920742, end:5921497, name:"PA5259", strand:-1},
{id: 5260, start:5921494, end:5922435, name:"PA5260", strand:-1},
{id: 5261, start:5922544, end:5923290, name:"PA5261", strand:-1},
{id: 5262, start:5923295, end:5924371, name:"PA5262", strand:-1},
{id: 5263, start:5924596, end:5925990, name:"PA5263", strand:1},
{id: 5264, start:5926134, end:5927105, name:"PA5264", strand:-1},
{id: 5265, start:5927336, end:5930605, name:"PA5265", strand:-1},
{id: 5266, start:5930602, end:5932677, name:"PA5266", strand:-1},
{id: 5267, start:5932877, end:5933395, name:"PA5267", strand:-1},
{id: 5268, start:5933688, end:5934668, name:"PA5268", strand:-1},
{id: 5269, start:5934770, end:5935045, name:"PA5269", strand:1},
{id: 5270, start:5935064, end:5935945, name:"PA5270", strand:1},
{id: 5271, start:5935988, end:5936221, name:"PA5271", strand:1},
{id: 5272, start:5936370, end:5939222, name:"PA5272", strand:1},
{id: 5273, start:5939263, end:5939976, name:"PA5273", strand:1},
{id: 5274, start:5940020, end:5940424, name:"PA5274", strand:-1},
{id: 5275, start:5940747, end:5941082, name:"PA5275", strand:-1},
{id: 5276, start:5941336, end:5941476, name:"PA5276", strand:1},
{id: 5277, start:5941487, end:5942734, name:"PA5277", strand:1},
{id: 5278, start:5942745, end:5943575, name:"PA5278", strand:1},
{id: 5279, start:5943606, end:5944307, name:"PA5279", strand:1},
{id: 5280, start:5944327, end:5945238, name:"PA5280", strand:1},
{id: 5281, start:5945235, end:5945933, name:"PA5281", strand:1},
{id: 5282, start:5945963, end:5947132, name:"PA5282", strand:-1},
{id: 5283, start:5947295, end:5948671, name:"PA5283", strand:1},
{id: 5284, start:5948696, end:5949610, name:"PA5284", strand:-1},
{id: 5285, start:5950034, end:5950351, name:"PA5285", strand:-1},
{id: 5286, start:5950429, end:5950854, name:"PA5286", strand:-1},
{id: 5287, start:5951115, end:5952443, name:"PA5287", strand:-1},
{id: 5288, start:5952483, end:5952821, name:"PA5288", strand:-1},
{id: 5289, start:5953261, end:5953521, name:"PA5289", strand:1},
{id: 5290, start:5953562, end:5955055, name:"PA5290", strand:1},
{id: 5291, start:5955180, end:5957165, name:"PA5291", strand:1},
{id: 5292, start:5957208, end:5958257, name:"PA5292", strand:-1},
{id: 5293, start:5958408, end:5959325, name:"PA5293", strand:-1},
{id: 5294, start:5959474, end:5960940, name:"PA5294", strand:1},
{id: 5295, start:5960852, end:5962528, name:"PA5295", strand:-1},
{id: 5296, start:5962716, end:5964725, name:"PA5296", strand:1},
{id: 5297, start:5964859, end:5966577, name:"PA5297", strand:1},
{id: 5298, start:5966706, end:5967278, name:"PA5298", strand:1},
{id: 5299, start:5967286, end:5969145, name:"PA5299", strand:-1},
{id: 5300, start:5969355, end:5969765, name:"PA5300", strand:-1},
{id: 5301, start:5969987, end:5970535, name:"PA5301", strand:-1},
{id: 5302, start:5970686, end:5971759, name:"PA5302", strand:-1},
{id: 5303, start:5971850, end:5972203, name:"PA5303", strand:-1},
{id: 5304, start:5972178, end:5973476, name:"PA5304", strand:-1},
{id: 5305, start:5973833, end:5974177, name:"PA5305", strand:-1},
{id: 5306, start:5974190, end:5974381, name:"PA5306", strand:-1},
{id: 5307, start:5974402, end:5976969, name:"PA5307", strand:-1},
{id: 5308, start:5977123, end:5977611, name:"PA5308", strand:1},
{id: 5309, start:5977789, end:5979108, name:"PA5309", strand:1},
{id: 5310, start:5979194, end:5980783, name:"PA5310", strand:1},
{id: 5311, start:5980787, end:5981950, name:"PA5311", strand:-1},
{id: 5312, start:5982097, end:5983590, name:"PA5312", strand:-1},
{id: 5313, start:5983820, end:5985154, name:"PA5313", strand:1},
{id: 5314, start:5985219, end:5985581, name:"PA5314", strand:1},
{id: 5315, start:5985716, end:5985871, name:"PA5315", strand:-1},
{id: 5316, start:5985883, end:5986119, name:"PA5316", strand:-1},
{id: 5317, start:5986475, end:5988055, name:"PA5317", strand:1},
{id: 5318, start:5988081, end:5988629, name:"PA5318", strand:1},
{id: 5319, start:5988646, end:5989320, name:"PA5319", strand:-1},
{id: 5320, start:5989460, end:5990668, name:"PA5320", strand:1},
{id: 5321, start:5990676, end:5991131, name:"PA5321", strand:1},
{id: 5322, start:5992383, end:5993774, name:"PA5322", strand:1},
{id: 5323, start:5993791, end:5994696, name:"PA5323", strand:1},
{id: 5324, start:5994741, end:5995811, name:"PA5324", strand:-1},
{id: 5325, start:5996036, end:5996986, name:"PA5325", strand:1},
{id: 5326, start:5997057, end:5998265, name:"PA5326", strand:-1},
{id: 5327, start:5998348, end:5999676, name:"PA5327", strand:-1},
{id: 5328, start:5999754, end:6000143, name:"PA5328", strand:-1},
{id: 5329, start:6000317, end:6000781, name:"PA5329", strand:1},
{id: 5330, start:6000761, end:6001378, name:"PA5330", strand:-1},
{id: 5331, start:6001399, end:6002040, name:"PA5331", strand:-1},
{id: 5332, start:6002121, end:6002900, name:"PA5332", strand:1},
{id: 5333, start:6002959, end:6003330, name:"PA5333", strand:-1},
{id: 5334, start:6003377, end:6004096, name:"PA5334", strand:-1},
{id: 5335, start:6004277, end:6005140, name:"PA5335", strand:1},
{id: 5336, start:6005199, end:6005810, name:"PA5336", strand:1},
{id: 5337, start:6005899, end:6006165, name:"PA5337", strand:1},
{id: 5338, start:6006231, end:6008336, name:"PA5338", strand:1},
{id: 5339, start:6008398, end:6008778, name:"PA5339", strand:1},
{id: 5340, start:6008833, end:6009564, name:"PA5340", strand:1},
{id: 5341, start:6009571, end:6010191, name:"PA5341", strand:-1},
{id: 5342, start:6010258, end:6011058, name:"PA5342", strand:-1},
{id: 5343, start:6011058, end:6011909, name:"PA5343", strand:-1},
{id: 5344, start:6012047, end:6012979, name:"PA5344", strand:1},
{id: 5345, start:6012976, end:6015051, name:"PA5345", strand:1},
{id: 5346, start:6015141, end:6016550, name:"PA5346", strand:1},
{id: 5347, start:6016622, end:6017014, name:"PA5347", strand:-1},
{id: 5348, start:6017150, end:6017422, name:"PA5348", strand:-1},
{id: 5349, start:6017624, end:6018778, name:"PA5349", strand:-1},
{id: 5350, start:6018830, end:6018997, name:"PA5350", strand:-1},
{id: 5351, start:6019181, end:6019348, name:"PA5351", strand:-1},
{id: 5352, start:6019482, end:6019883, name:"PA5352", strand:-1},
{id: 5353, start:6019888, end:6021114, name:"PA5353", strand:-1},
{id: 5354, start:6021124, end:6022203, name:"PA5354", strand:-1},
{id: 5355, start:6022203, end:6023702, name:"PA5355", strand:-1},
{id: 5356, start:6023907, end:6024662, name:"PA5356", strand:1},
{id: 5357, start:6024742, end:6025278, name:"PA5357", strand:1},
{id: 5358, start:6025305, end:6026195, name:"PA5358", strand:1},
{id: 5359, start:6026219, end:6026674, name:"PA5359", strand:-1},
{id: 5360, start:6026779, end:6027468, name:"PA5360", strand:1},
{id: 5361, start:6027542, end:6028873, name:"PA5361", strand:1},
{id: 5362, start:6028976, end:6030316, name:"PA5362", strand:1},
{id: 5363, start:6030351, end:6031250, name:"PA5363", strand:-1},
{id: 5364, start:6031366, end:6032268, name:"PA5364", strand:-1},
{id: 5365, start:6032387, end:6033115, name:"PA5365", strand:-1},
{id: 5366, start:6033211, end:6034044, name:"PA5366", strand:-1},
{id: 5367, start:6034060, end:6035736, name:"PA5367", strand:-1},
{id: 5368, start:6035756, end:6037789, name:"PA5368", strand:-1},
{id: 5369, start:6038212, end:6039183, name:"PA5369", strand:-1},
{id: 5370, start:6045310, end:6046626, name:"PA5370", strand:-1},
{id: 5371, start:6046914, end:6047318, name:"PA5371", strand:1},
{id: 5372, start:6047364, end:6049049, name:"PA5372", strand:-1},
{id: 5373, start:6049185, end:6050657, name:"PA5373", strand:-1},
{id: 5374, start:6050718, end:6051311, name:"PA5374", strand:-1},
{id: 5375, start:6051644, end:6053194, name:"PA5375", strand:1},
{id: 5376, start:6053412, end:6054590, name:"PA5376", strand:-1},
{id: 5377, start:6054594, end:6055433, name:"PA5377", strand:-1},
{id: 5378, start:6055475, end:6056413, name:"PA5378", strand:-1},
{id: 5379, start:6056877, end:6058253, name:"PA5379", strand:1},
{id: 5380, start:6058673, end:6059776, name:"PA5380", strand:1},
{id: 5381, start:6059823, end:6060200, name:"PA5381", strand:-1},
{id: 5382, start:6060340, end:6061233, name:"PA5382", strand:-1},
{id: 5383, start:6061341, end:6062408, name:"PA5383", strand:1},
{id: 5384, start:6062352, end:6063347, name:"PA5384", strand:-1},
{id: 5385, start:6063353, end:6063832, name:"PA5385", strand:-1},
{id: 5386, start:6063883, end:6064848, name:"PA5386", strand:-1},
{id: 5387, start:6064899, end:6065783, name:"PA5387", strand:-1},
{id: 5388, start:6065856, end:6066794, name:"PA5388", strand:-1},
{id: 5389, start:6067005, end:6068015, name:"PA5389", strand:1},
{id: 5390, start:6067945, end:6069099, name:"PA5390", strand:-1},
{id: 5391, start:6069156, end:6069830, name:"PA5391", strand:-1},
{id: 5392, start:6069844, end:6070266, name:"PA5392", strand:-1},
{id: 5393, start:6070266, end:6071618, name:"PA5393", strand:-1},
{id: 5394, start:6071912, end:6073384, name:"PA5394", strand:-1},
{id: 5395, start:6073538, end:6074008, name:"PA5395", strand:1},
{id: 5396, start:6074230, end:6075207, name:"PA5396", strand:1},
{id: 5397, start:6075334, end:6075864, name:"PA5397", strand:1},
{id: 5398, start:6075880, end:6077940, name:"PA5398", strand:1},
{id: 5399, start:6078044, end:6080005, name:"PA5399", strand:1},
{id: 5400, start:6080370, end:6081356, name:"PA5400", strand:1},
{id: 5401, start:6081392, end:6082165, name:"PA5401", strand:1},
{id: 5402, start:6082290, end:6082859, name:"PA5402", strand:1},
{id: 5403, start:6082867, end:6083073, name:"PA5403", strand:1},
{id: 5404, start:6083105, end:6083509, name:"PA5404", strand:1},
{id: 5405, start:6083523, end:6083756, name:"PA5405", strand:1},
{id: 5406, start:6083753, end:6084085, name:"PA5406", strand:1},
{id: 5407, start:6084082, end:6084372, name:"PA5407", strand:1},
{id: 5408, start:6084369, end:6084545, name:"PA5408", strand:-1},
{id: 5409, start:6084550, end:6085110, name:"PA5409", strand:-1},
{id: 5410, start:6085385, end:6086674, name:"PA5410", strand:-1},
{id: 5411, start:6087099, end:6088199, name:"PA5411", strand:1},
{id: 5412, start:6088193, end:6090706, name:"PA5412", strand:-1},
{id: 5413, start:6092046, end:6093086, name:"PA5413", strand:-1},
{id: 5414, start:6093167, end:6093808, name:"PA5414", strand:-1},
{id: 5415, start:6094024, end:6095277, name:"PA5415", strand:1},
{id: 5416, start:6095363, end:6096613, name:"PA5416", strand:1},
{id: 5417, start:6096707, end:6097027, name:"PA5417", strand:1},
{id: 5418, start:6097024, end:6100041, name:"PA5418", strand:1},
{id: 5419, start:6100135, end:6100770, name:"PA5419", strand:1},
{id: 5420, start:6100820, end:6101677, name:"PA5420", strand:1},
{id: 5421, start:6101884, end:6103083, name:"PA5421", strand:1},
{id: 5422, start:6103167, end:6104123, name:"PA5422", strand:1},
{id: 5423, start:6104189, end:6104737, name:"PA5423", strand:-1},
{id: 5424, start:6104799, end:6105044, name:"PA5424", strand:-1},
{id: 5425, start:6105159, end:6106241, name:"PA5425", strand:-1},
{id: 5426, start:6106272, end:6106763, name:"PA5426", strand:-1},
{id: 5427, start:6107111, end:6108139, name:"PA5427", strand:1},
{id: 5428, start:6108176, end:6109084, name:"PA5428", strand:-1},
{id: 5429, start:6109260, end:6110684, name:"PA5429", strand:1},
{id: 5430, start:6111048, end:6112262, name:"PA5430", strand:-1},
{id: 5431, start:6112299, end:6113774, name:"PA5431", strand:-1},
{id: 5432, start:6113902, end:6114351, name:"PA5432", strand:1},
{id: 5433, start:6114360, end:6115034, name:"PA5433", strand:1},
{id: 5434, start:6115059, end:6116312, name:"PA5434", strand:-1},
{id: 5435, start:6116493, end:6118316, name:"PA5435", strand:-1},
{id: 5436, start:6118332, end:6119747, name:"PA5436", strand:-1},
{id: 5437, start:6119961, end:6120896, name:"PA5437", strand:1},
{id: 5438, start:6121172, end:6122053, name:"PA5438", strand:-1},
{id: 5439, start:6122139, end:6123605, name:"PA5439", strand:1},
{id: 5440, start:6123686, end:6125080, name:"PA5440", strand:1},
{id: 5441, start:6125796, end:6127997, name:"PA5441", strand:-1},
{id: 5442, start:6128056, end:6130911, name:"PA5442", strand:-1},
{id: 5443, start:6131088, end:6133274, name:"PA5443", strand:1},
{id: 5444, start:6133312, end:6133740, name:"PA5444", strand:1},
{id: 5445, start:6133838, end:6135331, name:"PA5445", strand:1},
{id: 5446, start:6135709, end:6135912, name:"PA5446", strand:1},
{id: 5447, start:6135968, end:6137113, name:"PA5447", strand:-1},
{id: 5448, start:6137114, end:6138241, name:"PA5448", strand:-1},
{id: 5449, start:6138225, end:6139607, name:"PA5449", strand:-1},
{id: 5450, start:6139604, end:6140869, name:"PA5450", strand:-1},
{id: 5451, start:6140869, end:6141666, name:"PA5451", strand:-1},
{id: 5452, start:6141666, end:6143105, name:"PA5452", strand:-1},
{id: 5453, start:6143109, end:6144080, name:"PA5453", strand:-1},
{id: 5454, start:6144077, end:6144991, name:"PA5454", strand:-1},
{id: 5455, start:6145399, end:6147027, name:"PA5455", strand:1},
{id: 5456, start:6147021, end:6148322, name:"PA5456", strand:1},
{id: 5457, start:6148319, end:6149182, name:"PA5457", strand:1},
{id: 5458, start:6149179, end:6150321, name:"PA5458", strand:1},
{id: 5459, start:6150315, end:6151151, name:"PA5459", strand:1},
{id: 5460, start:6151314, end:6151526, name:"PA5460", strand:1},
{id: 5461, start:6151622, end:6151939, name:"PA5461", strand:1},
{id: 5462, start:6152064, end:6152357, name:"PA5462", strand:1},
{id: 5463, start:6152386, end:6152721, name:"PA5463", strand:1},
{id: 5464, start:6152718, end:6154676, name:"PA5464", strand:1},
{id: 5465, start:6154784, end:6155203, name:"PA5465", strand:-1},
{id: 5466, start:6155271, end:6156215, name:"PA5466", strand:1},
{id: 5467, start:6156212, end:6156574, name:"PA5467", strand:1},
{id: 5468, start:6156854, end:6158158, name:"PA5468", strand:1},
{id: 5469, start:6158179, end:6158943, name:"PA5469", strand:1},
{id: 5470, start:6158949, end:6159563, name:"PA5470", strand:-1},
{id: 5471, start:6159560, end:6160699, name:"PA5471", strand:-1},
{id: 5472, start:6160912, end:6160953, name:"PA5471.1", strand:-1},
{id: 5473, start:6161067, end:6161867, name:"PA5472", strand:-1},
{id: 5474, start:6162221, end:6163969, name:"PA5473", strand:1},
{id: 5475, start:6164038, end:6165411, name:"PA5474", strand:1},
{id: 5476, start:6165417, end:6165977, name:"PA5475", strand:-1},
{id: 5477, start:6166120, end:6167409, name:"PA5476", strand:-1},
{id: 5478, start:6167783, end:6168823, name:"PA5477", strand:1},
{id: 5479, start:6168842, end:6170071, name:"PA5478", strand:-1},
{id: 5480, start:6170176, end:6171510, name:"PA5479", strand:-1},
{id: 5481, start:6171733, end:6171927, name:"PA5480", strand:1},
{id: 5482, start:6172223, end:6172690, name:"PA5481", strand:-1},
{id: 5483, start:6172712, end:6172873, name:"PA5482", strand:-1},
{id: 5484, start:6173348, end:6174697, name:"PA5483", strand:1},
{id: 5485, start:6174694, end:6176481, name:"PA5484", strand:1},
{id: 5486, start:6176516, end:6177295, name:"PA5485", strand:-1},
{id: 5487, start:6177325, end:6177918, name:"PA5486", strand:-1},
{id: 5488, start:6178036, end:6180051, name:"PA5487", strand:-1},
{id: 5489, start:6180048, end:6180926, name:"PA5488", strand:-1},
{id: 5490, start:6180942, end:6181577, name:"PA5489", strand:-1},
{id: 5491, start:6181745, end:6182350, name:"PA5490", strand:-1},
{id: 5492, start:6182396, end:6182689, name:"PA5491", strand:-1},
{id: 5493, start:6182873, end:6183520, name:"PA5492", strand:1},
{id: 5494, start:6183784, end:6186525, name:"PA5493", strand:-1},
{id: 5495, start:6186603, end:6186893, name:"PA5494", strand:1},
{id: 5496, start:6186927, end:6187877, name:"PA5495", strand:1},
{id: 5497, start:6188166, end:6188855, name:"PA5496", strand:-1},
{id: 5498, start:6188872, end:6191076, name:"PA5497", strand:-1},
{id: 5499, start:6191186, end:6192109, name:"PA5498", strand:-1},
{id: 5500, start:6192179, end:6192682, name:"PA5499", strand:1},
{id: 5501, start:6192682, end:6193491, name:"PA5500", strand:1},
{id: 5502, start:6193484, end:6194272, name:"PA5501", strand:1},
{id: 5503, start:6194314, end:6195102, name:"PA5502", strand:1},
{id: 5504, start:6195309, end:6196316, name:"PA5503", strand:1},
{id: 5505, start:6196316, end:6196993, name:"PA5504", strand:1},
{id: 5506, start:6197070, end:6197852, name:"PA5505", strand:1},
{id: 5507, start:6198055, end:6198912, name:"PA5506", strand:1},
{id: 5508, start:6198917, end:6199570, name:"PA5507", strand:1},
{id: 5509, start:6199567, end:6200898, name:"PA5508", strand:1},
{id: 5510, start:6200966, end:6201634, name:"PA5509", strand:1},
{id: 5511, start:6201736, end:6203085, name:"PA5510", strand:1},
{id: 5512, start:6203104, end:6204447, name:"PA5511", strand:-1},
{id: 5513, start:6204444, end:6206210, name:"PA5512", strand:-1},
{id: 5514, start:6206292, end:6207170, name:"PA5513", strand:1},
{id: 5515, start:6207241, end:6208029, name:"PA5514", strand:1},
{id: 5516, start:6208042, end:6208542, name:"PA5515", strand:-1},
{id: 5517, start:6208575, end:6209441, name:"PA5516", strand:1},
{id: 5518, start:6209479, end:6210063, name:"PA5517", strand:-1},
{id: 5519, start:6210065, end:6211768, name:"PA5518", strand:-1},
{id: 5520, start:6212147, end:6212713, name:"PA5519", strand:-1},
{id: 5521, start:6212790, end:6213533, name:"PA5520", strand:1},
{id: 5522, start:6213581, end:6214339, name:"PA5521", strand:-1},
{id: 5523, start:6214434, end:6215801, name:"PA5522", strand:-1},
{id: 5524, start:6215803, end:6217155, name:"PA5523", strand:-1},
{id: 5525, start:6217313, end:6218095, name:"PA5524", strand:1},
{id: 5526, start:6218100, end:6218840, name:"PA5525", strand:1},
{id: 5527, start:6218857, end:6219069, name:"PA5526", strand:-1},
{id: 5528, start:6219287, end:6219688, name:"PA5527", strand:-1},
{id: 5529, start:6219885, end:6220739, name:"PA5528", strand:-1},
{id: 5530, start:6221101, end:6222858, name:"PA5529", strand:1},
{id: 5531, start:6223174, end:6224481, name:"PA5530", strand:1},
{id: 5532, start:6224897, end:6225925, name:"PA5531", strand:-1},
{id: 5533, start:6226221, end:6226979, name:"PA5532", strand:-1},
{id: 5534, start:6227082, end:6227450, name:"PA5533", strand:1},
{id: 5535, start:6227603, end:6228244, name:"PA5534", strand:-1},
{id: 5536, start:6228241, end:6229443, name:"PA5535", strand:-1},
{id: 5537, start:6229458, end:6229862, name:"PA5536", strand:-1},
{id: 5538, start:6229975, end:6230391, name:"PA5537", strand:1},
{id: 5539, start:6230369, end:6231562, name:"PA5538", strand:-1},
{id: 5540, start:6231662, end:6232558, name:"PA5539", strand:1},
{id: 5541, start:6232555, end:6233115, name:"PA5540", strand:1},
{id: 5542, start:6233118, end:6234455, name:"PA5541", strand:1},
{id: 5543, start:6234500, end:6235744, name:"PA5542", strand:-1},
{id: 5544, start:6235831, end:6236229, name:"PA5543", strand:-1},
{id: 5545, start:6236226, end:6238250, name:"PA5544", strand:-1},
{id: 5546, start:6238325, end:6239284, name:"PA5545", strand:-1},
{id: 5547, start:6239448, end:6240632, name:"PA5546", strand:-1},
{id: 5548, start:6240870, end:6241493, name:"PA5547", strand:1},
{id: 5549, start:6241851, end:6243056, name:"PA5548", strand:1},
{id: 5550, start:6243111, end:6244946, name:"PA5549", strand:-1},
{id: 5551, start:6244962, end:6245735, name:"PA5550", strand:-1},
{id: 5552, start:6245803, end:6246312, name:"PA5551", strand:-1},
{id: 5553, start:6246326, end:6247690, name:"PA5552", strand:-1},
{id: 5554, start:6247811, end:6248236, name:"PA5553", strand:-1},
{id: 5555, start:6248278, end:6249654, name:"PA5554", strand:-1},
{id: 5556, start:6249685, end:6250545, name:"PA5555", strand:-1},
{id: 5557, start:6250596, end:6252140, name:"PA5556", strand:-1},
{id: 5558, start:6252159, end:6252695, name:"PA5557", strand:-1},
{id: 5559, start:6252707, end:6253177, name:"PA5558", strand:-1},
{id: 5560, start:6253235, end:6253492, name:"PA5559", strand:-1},
{id: 5561, start:6253542, end:6254411, name:"PA5560", strand:-1},
{id: 5562, start:6254428, end:6254808, name:"PA5561", strand:-1},
{id: 5563, start:6254972, end:6255844, name:"PA5562", strand:-1},
{id: 5564, start:6255854, end:6256642, name:"PA5563", strand:-1},
{id: 5565, start:6256661, end:6257305, name:"PA5564", strand:-1},
{id: 5566, start:6257305, end:6259197, name:"PA5565", strand:-1},
{id: 5567, start:6259671, end:6260054, name:"PA5566", strand:-1},
{id: 5568, start:6260390, end:6261757, name:"PA5567", strand:-1},
{id: 5569, start:6261828, end:6263564, name:"PA5568", strand:-1},
{id: 5570, start:6263805, end:6264212, name:"PA5569", strand:-1},
{id: 5571, start:6264227, end:6264361, name:"PA5570", strand:-1},
]
},
{ trackName: "track3",
trackType: "track",
trackFeatures: "complex",
visible: true,
min_slice: true,
inner_radius: 165,
outer_radius: 190,
linear_mouseclick: 'linearPopup',
mouseclick: 'islandPopup',
showLabels: true,
showTooltip: true,
items: [
{id: 462, start:1562, end:3798, name:"PA0260"},
{id: 463, start:4562, end:5798, name:"PA0261"},
{id: 464, start:7083, end:8351, name:"PA0617"},
{id: 465, start:12083, end:13451, name:"PA0618"},
{id: 466, start:17083, end:29351, name:"PA0619"},
{id: 467, start:55083, end:68351, name:"PA0620"},
{id: 468, start:77083, end:80351, name:"PA0621"},
{id: 469, start:81009, end:81993, name:"PA0711"},
{id: 470, start:120009, end:135993, name:"PA0712"},
{id: 471, start:200009, end:229093, name:"PA0713"},
{id: 1, start:289562, end:293798, name:"PA0259"},
{id: 2, start:289562, end:293798, name:"PA0260"},
{id: 3, start:289562, end:293798, name:"PA0261"},
{id: 4, start:677083, end:681351, name:"PA0617"},
{id: 5, start:677083, end:681351, name:"PA0618"},
{id: 6, start:677083, end:681351, name:"PA0619"},
{id: 7, start:677083, end:681351, name:"PA0620"},
{id: 8, start:677083, end:681351, name:"PA0621"},
{id: 9, start:783009, end:792993, name:"PA0711"},
{id: 10, start:783009, end:792993, name:"PA0712"},
{id: 11, start:783009, end:792993, name:"PA0713"},
{id: 12, start:783009, end:792993, name:"PA0714"},
{id: 13, start:783009, end:792993, name:"PA0714.1"},
{id: 14, start:783009, end:792993, name:"PA0715"},
{id: 15, start:783009, end:792993, name:"PA0716"},
{id: 16, start:783009, end:792993, name:"PA0717"},
{id: 17, start:783009, end:792993, name:"PA0718"},
{id: 18, start:783009, end:792993, name:"PA0719"},
{id: 19, start:783009, end:792993, name:"PA0720"},
{id: 20, start:783009, end:792993, name:"PA0721"},
{id: 21, start:783009, end:792993, name:"PA0722"},
{id: 22, start:783009, end:792993, name:"PA0723"},
{id: 23, start:783009, end:792993, name:"PA0724"},
{id: 24, start:783009, end:792993, name:"PA0725"},
{id: 25, start:783012, end:792990, name:"PA0711"},
{id: 26, start:783012, end:792990, name:"PA0712"},
{id: 27, start:783012, end:792990, name:"PA0713"},
{id: 28, start:783012, end:792990, name:"PA0714"},
{id: 29, start:783012, end:792990, name:"PA0714.1"},
{id: 30, start:783012, end:792990, name:"PA0715"},
{id: 31, start:783012, end:792990, name:"PA0716"},
{id: 32, start:783012, end:792990, name:"PA0717"},
{id: 33, start:783012, end:792990, name:"PA0718"},
{id: 34, start:783012, end:792990, name:"PA0719"},
{id: 35, start:783012, end:792990, name:"PA0720"},
{id: 36, start:783012, end:792990, name:"PA0721"},
{id: 37, start:783012, end:792990, name:"PA0722"},
{id: 38, start:783012, end:792990, name:"PA0723"},
{id: 39, start:783012, end:792990, name:"PA0724"},
{id: 40, start:783012, end:792990, name:"PA0725"},
{id: 41, start:1060510, end:1080015, name:"PA0977"},
{id: 42, start:1060510, end:1080015, name:"PA0978"},
{id: 43, start:1060510, end:1080015, name:"PA0979"},
{id: 44, start:1060510, end:1080015, name:"PA0980"},
{id: 45, start:1060510, end:1080015, name:"PA0981"},
{id: 46, start:1060510, end:1080015, name:"PA0982"},
{id: 47, start:1060510, end:1080015, name:"PA0983"},
{id: 48, start:1060510, end:1080015, name:"PA0984"},
{id: 49, start:1060510, end:1080015, name:"PA0985"},
{id: 50, start:1060510, end:1080015, name:"PA0986"},
{id: 51, start:1060510, end:1080015, name:"PA0987"},
{id: 52, start:1060510, end:1080015, name:"PA0988"},
{id: 53, start:1060510, end:1080015, name:"PA0989"},
{id: 54, start:1060510, end:1080015, name:"PA0990"},
{id: 55, start:1060510, end:1080015, name:"PA0991"},
{id: 56, start:1060510, end:1080015, name:"PA0992"},
{id: 57, start:1060510, end:1080015, name:"PA0993"},
{id: 58, start:1060510, end:1080015, name:"PA0994"},
{id: 59, start:1060510, end:1080015, name:"PA0995"},
{id: 60, start:1060510, end:1080015, name:"PA0996"},
{id: 61, start:1060510, end:1080015, name:"PA0997"},
{id: 62, start:1060513, end:1080012, name:"PA0977"},
{id: 63, start:1060513, end:1080012, name:"PA0978"},
{id: 64, start:1060513, end:1080012, name:"PA0979"},
{id: 65, start:1060513, end:1080012, name:"PA0980"},
{id: 66, start:1060513, end:1080012, name:"PA0981"},
{id: 67, start:1060513, end:1080012, name:"PA0982"},
{id: 68, start:1060513, end:1080012, name:"PA0983"},
{id: 69, start:1060513, end:1080012, name:"PA0984"},
{id: 70, start:1060513, end:1080012, name:"PA0985"},
{id: 71, start:1060513, end:1080012, name:"PA0986"},
{id: 72, start:1060513, end:1080012, name:"PA0987"},
{id: 73, start:1060513, end:1080012, name:"PA0988"},
{id: 74, start:1060513, end:1080012, name:"PA0989"},
{id: 75, start:1060513, end:1080012, name:"PA0990"},
{id: 76, start:1060513, end:1080012, name:"PA0991"},
{id: 77, start:1060513, end:1080012, name:"PA0992"},
{id: 78, start:1060513, end:1080012, name:"PA0993"},
{id: 79, start:1060513, end:1080012, name:"PA0994"},
{id: 80, start:1060513, end:1080012, name:"PA0995"},
{id: 81, start:1060513, end:1080012, name:"PA0996"},
{id: 82, start:1060513, end:1080012, name:"PA0997"},
{id: 83, start:1311423, end:1324804, name:"PA1211"},
{id: 84, start:1311423, end:1324804, name:"PA1212"},
{id: 85, start:1311423, end:1324804, name:"PA1213"},
{id: 86, start:1311423, end:1324804, name:"PA1214"},
{id: 87, start:1311423, end:1324804, name:"PA1215"},
{id: 88, start:1311423, end:1324804, name:"PA1216"},
{id: 89, start:1311423, end:1324804, name:"PA1217"},
{id: 90, start:1311423, end:1324804, name:"PA1218"},
{id: 91, start:1311423, end:1324804, name:"PA1219"},
{id: 92, start:1311423, end:1324804, name:"PA1220"},
{id: 93, start:1311423, end:1324804, name:"PA1221"},
{id: 94, start:1311423, end:1324804, name:"PA1222"},
{id: 95, start:1480215, end:1495492, name:"PA1367"},
{id: 96, start:1480215, end:1495492, name:"PA1368"},
{id: 97, start:1480215, end:1495492, name:"PA1369"},
{id: 98, start:1480215, end:1495492, name:"PA1370"},
{id: 99, start:1480215, end:1495492, name:"PA1371"},
{id: 100, start:1480215, end:1495492, name:"PA1372"},
{id: 101, start:1480215, end:1495492, name:"PA1373"},
{id: 102, start:1480215, end:1495492, name:"PA1374"},
{id: 103, start:1480215, end:1495492, name:"PA1375"},
{id: 104, start:1480215, end:1495492, name:"PA1376"},
{id: 105, start:1480215, end:1495492, name:"PA1377"},
{id: 106, start:1480218, end:1495489, name:"PA1367"},
{id: 107, start:1480218, end:1495489, name:"PA1368"},
{id: 108, start:1480218, end:1495489, name:"PA1369"},
{id: 109, start:1480218, end:1495489, name:"PA1370"},
{id: 110, start:1480218, end:1495489, name:"PA1371"},
{id: 111, start:1480218, end:1495489, name:"PA1372"},
{id: 112, start:1480218, end:1495489, name:"PA1373"},
{id: 113, start:1480218, end:1495489, name:"PA1374"},
{id: 114, start:1480218, end:1495489, name:"PA1375"},
{id: 115, start:1480218, end:1495489, name:"PA1376"},
{id: 116, start:1480218, end:1495489, name:"PA1377"},
{id: 117, start:1496897, end:1516701, name:"PA1379"},
{id: 118, start:1496897, end:1516701, name:"PA1380"},
{id: 119, start:1496897, end:1516701, name:"PA1381"},
{id: 120, start:1496897, end:1516701, name:"PA1382"},
{id: 121, start:1496897, end:1516701, name:"PA1383"},
{id: 122, start:1496897, end:1516701, name:"PA1384"},
{id: 123, start:1496897, end:1516701, name:"PA1385"},
{id: 124, start:1496897, end:1516701, name:"PA1386"},
{id: 125, start:1496897, end:1516701, name:"PA1387"},
{id: 126, start:1496897, end:1516701, name:"PA1388"},
{id: 127, start:1496897, end:1516701, name:"PA1389"},
{id: 128, start:1496897, end:1516701, name:"PA1390"},
{id: 129, start:1496897, end:1516701, name:"PA1391"},
{id: 130, start:1496897, end:1516701, name:"PA1392"},
{id: 131, start:1496897, end:1516701, name:"PA1393"},
{id: 132, start:1496897, end:1516701, name:"PA1394"},
{id: 133, start:1840403, end:1849943, name:"PA1690"},
{id: 134, start:1840403, end:1849943, name:"PA1691"},
{id: 135, start:1840403, end:1849943, name:"PA1692"},
{id: 136, start:1840403, end:1849943, name:"PA1693"},
{id: 137, start:1840403, end:1849943, name:"PA1694"},
{id: 138, start:1840403, end:1849943, name:"PA1695"},
{id: 139, start:1840403, end:1849943, name:"PA1696"},
{id: 140, start:1840403, end:1849943, name:"PA1697"},
{id: 141, start:1840403, end:1849943, name:"PA1698"},
{id: 142, start:1840403, end:1849943, name:"PA1699"},
{id: 143, start:1840403, end:1849943, name:"PA1700"},
{id: 144, start:1840403, end:1849943, name:"PA1701"},
{id: 145, start:1840403, end:1849943, name:"PA1702"},
{id: 146, start:1840403, end:1849943, name:"PA1703"},
{id: 147, start:1850184, end:1866278, name:"PA1703"},
{id: 148, start:1850184, end:1866278, name:"PA1704"},
{id: 149, start:1850184, end:1866278, name:"PA1705"},
{id: 150, start:1850184, end:1866278, name:"PA1706"},
{id: 151, start:1850184, end:1866278, name:"PA1707"},
{id: 152, start:1850184, end:1866278, name:"PA1708"},
{id: 153, start:1850184, end:1866278, name:"PA1709"},
{id: 154, start:1850184, end:1866278, name:"PA1710"},
{id: 155, start:1850184, end:1866278, name:"PA1711"},
{id: 156, start:1850184, end:1866278, name:"PA1712"},
{id: 157, start:1850184, end:1866278, name:"PA1713"},
{id: 158, start:1850184, end:1866278, name:"PA1714"},
{id: 159, start:1850184, end:1866278, name:"PA1715"},
{id: 160, start:1850184, end:1866278, name:"PA1716"},
{id: 161, start:1850184, end:1866278, name:"PA1717"},
{id: 162, start:1850184, end:1866278, name:"PA1718"},
{id: 163, start:1850184, end:1866278, name:"PA1719"},
{id: 164, start:1850184, end:1866278, name:"PA1720"},
{id: 165, start:1850184, end:1866278, name:"PA1721"},
{id: 166, start:1850184, end:1866278, name:"PA1722"},
{id: 167, start:1850184, end:1866278, name:"PA1723"},
{id: 168, start:1850184, end:1866278, name:"PA1724"},
{id: 169, start:1850184, end:1866278, name:"PA1725"},
{id: 170, start:1850184, end:1866278, name:"PA1726"},
{id: 171, start:2117897, end:2122222, name:"PA1936"},
{id: 172, start:2117897, end:2122222, name:"PA1937"},
{id: 173, start:2117897, end:2122222, name:"PA1938"},
{id: 174, start:2117897, end:2122222, name:"PA1939"},
{id: 175, start:2310357, end:2317403, name:"PA2098"},
{id: 176, start:2310357, end:2317403, name:"PA2099"},
{id: 177, start:2310357, end:2317403, name:"PA2100"},
{id: 178, start:2310357, end:2317403, name:"PA2101"},
{id: 179, start:2310357, end:2317403, name:"PA2102"},
{id: 180, start:2310357, end:2317403, name:"PA2103"},
{id: 181, start:2310357, end:2317403, name:"PA2104"},
{id: 182, start:2310357, end:2317403, name:"PA2105"},
{id: 183, start:2310357, end:2317403, name:"PA2106"},
{id: 184, start:2765408, end:2779414, name:"PA2462"},
{id: 185, start:2765408, end:2779414, name:"PA2463"},
{id: 186, start:2916158, end:2922569, name:"PA2580"},
{id: 187, start:2916158, end:2922569, name:"PA2581"},
{id: 188, start:2916158, end:2922569, name:"PA2581.1"},
{id: 189, start:2916158, end:2922569, name:"PA2582"},
{id: 190, start:2916158, end:2922569, name:"PA2583"},
{id: 191, start:3016675, end:3025508, name:"PA2668"},
{id: 192, start:3016675, end:3025508, name:"PA2669"},
{id: 193, start:3016675, end:3025508, name:"PA2670"},
{id: 194, start:3016675, end:3025508, name:"PA2671"},
{id: 195, start:3016675, end:3025508, name:"PA2672"},
{id: 196, start:3016675, end:3025508, name:"PA2673"},
{id: 197, start:3016675, end:3025508, name:"PA2674"},
{id: 198, start:3016675, end:3025508, name:"PA2675"},
{id: 199, start:3016675, end:3025508, name:"PA2676"},
{id: 200, start:3016675, end:3025508, name:"PA2677"},
{id: 201, start:3016675, end:3025508, name:"PA2678"},
{id: 202, start:3020504, end:3024715, name:"PA2672"},
{id: 203, start:3020504, end:3024715, name:"PA2673"},
{id: 204, start:3020504, end:3024715, name:"PA2674"},
{id: 205, start:3020504, end:3024715, name:"PA2675"},
{id: 206, start:3020504, end:3024715, name:"PA2676"},
{id: 207, start:3020504, end:3024715, name:"PA2677"},
{id: 208, start:3020504, end:3024715, name:"PA2678"},
{id: 209, start:3524161, end:3528350, name:"PA3140"},
{id: 210, start:3524161, end:3528350, name:"PA3141"},
{id: 211, start:3524161, end:3528350, name:"PA3142"},
{id: 212, start:3524161, end:3528350, name:"PA3143"},
{id: 213, start:3524161, end:3528350, name:"PA3144"},
{id: 214, start:3681500, end:3685762, name:"PA3290"},
{id: 215, start:3681500, end:3685762, name:"PA3291"},
{id: 216, start:3681500, end:3685762, name:"PA3292"},
{id: 217, start:3681500, end:3685762, name:"PA3293"},
{id: 218, start:5926134, end:5930605, name:"PA5264"},
{id: 219, start:5926134, end:5930605, name:"PA5265"},
{id: 220, start:5926134, end:5930605, name:"PA5266"},
{id: 221, start:1311423, end:1324804, name:"PA1211"},
{id: 222, start:1311423, end:1324804, name:"PA1212"},
{id: 223, start:1311423, end:1324804, name:"PA1213"},
{id: 224, start:1311423, end:1324804, name:"PA1214"},
{id: 225, start:1311423, end:1324804, name:"PA1215"},
{id: 226, start:1311423, end:1324804, name:"PA1216"},
{id: 227, start:1311423, end:1324804, name:"PA1217"},
{id: 228, start:1311423, end:1324804, name:"PA1218"},
{id: 229, start:1311423, end:1324804, name:"PA1219"},
{id: 230, start:1311423, end:1324804, name:"PA1220"},
{id: 231, start:1311423, end:1324804, name:"PA1221"},
{id: 232, start:1311423, end:1324804, name:"PA1222"},
{id: 233, start:1496897, end:1516701, name:"PA1379"},
{id: 234, start:1496897, end:1516701, name:"PA1380"},
{id: 235, start:1496897, end:1516701, name:"PA1381"},
{id: 236, start:1496897, end:1516701, name:"PA1382"},
{id: 237, start:1496897, end:1516701, name:"PA1383"},
{id: 238, start:1496897, end:1516701, name:"PA1384"},
{id: 239, start:1496897, end:1516701, name:"PA1385"},
{id: 240, start:1496897, end:1516701, name:"PA1386"},
{id: 241, start:1496897, end:1516701, name:"PA1387"},
{id: 242, start:1496897, end:1516701, name:"PA1388"},
{id: 243, start:1496897, end:1516701, name:"PA1389"},
{id: 244, start:1496897, end:1516701, name:"PA1390"},
{id: 245, start:1496897, end:1516701, name:"PA1391"},
{id: 246, start:1496897, end:1516701, name:"PA1392"},
{id: 247, start:1496897, end:1516701, name:"PA1393"},
{id: 248, start:1496897, end:1516701, name:"PA1394"},
{id: 249, start:1840403, end:1849943, name:"PA1690"},
{id: 250, start:1840403, end:1849943, name:"PA1691"},
{id: 251, start:1840403, end:1849943, name:"PA1692"},
{id: 252, start:1840403, end:1849943, name:"PA1693"},
{id: 253, start:1840403, end:1849943, name:"PA1694"},
{id: 254, start:1840403, end:1849943, name:"PA1695"},
{id: 255, start:1840403, end:1849943, name:"PA1696"},
{id: 256, start:1840403, end:1849943, name:"PA1697"},
{id: 257, start:1840403, end:1849943, name:"PA1698"},
{id: 258, start:1840403, end:1849943, name:"PA1699"},
{id: 259, start:1840403, end:1849943, name:"PA1700"},
{id: 260, start:1840403, end:1849943, name:"PA1701"},
{id: 261, start:1840403, end:1849943, name:"PA1702"},
{id: 262, start:1840403, end:1849943, name:"PA1703"},
{id: 263, start:1850184, end:1866278, name:"PA1703"},
{id: 264, start:1850184, end:1866278, name:"PA1704"},
{id: 265, start:1850184, end:1866278, name:"PA1705"},
{id: 266, start:1850184, end:1866278, name:"PA1706"},
{id: 267, start:1850184, end:1866278, name:"PA1707"},
{id: 268, start:1850184, end:1866278, name:"PA1708"},
{id: 269, start:1850184, end:1866278, name:"PA1709"},
{id: 270, start:1850184, end:1866278, name:"PA1710"},
{id: 271, start:1850184, end:1866278, name:"PA1711"},
{id: 272, start:1850184, end:1866278, name:"PA1712"},
{id: 273, start:1850184, end:1866278, name:"PA1713"},
{id: 274, start:1850184, end:1866278, name:"PA1714"},
{id: 275, start:1850184, end:1866278, name:"PA1715"},
{id: 276, start:1850184, end:1866278, name:"PA1716"},
{id: 277, start:1850184, end:1866278, name:"PA1717"},
{id: 278, start:1850184, end:1866278, name:"PA1718"},
{id: 279, start:1850184, end:1866278, name:"PA1719"},
{id: 280, start:1850184, end:1866278, name:"PA1720"},
{id: 281, start:1850184, end:1866278, name:"PA1721"},
{id: 282, start:1850184, end:1866278, name:"PA1722"},
{id: 283, start:1850184, end:1866278, name:"PA1723"},
{id: 284, start:1850184, end:1866278, name:"PA1724"},
{id: 285, start:1850184, end:1866278, name:"PA1725"},
{id: 286, start:1850184, end:1866278, name:"PA1726"},
{id: 287, start:2765408, end:2779414, name:"PA2462"},
{id: 288, start:2765408, end:2779414, name:"PA2463"},
{id: 289, start:289562, end:293798, name:"PA0259"},
{id: 290, start:289562, end:293798, name:"PA0260"},
{id: 291, start:289562, end:293798, name:"PA0261"},
{id: 292, start:677083, end:681351, name:"PA0617"},
{id: 293, start:677083, end:681351, name:"PA0618"},
{id: 294, start:677083, end:681351, name:"PA0619"},
{id: 295, start:677083, end:681351, name:"PA0620"},
{id: 296, start:677083, end:681351, name:"PA0621"},
{id: 297, start:1068193, end:1072839, name:"PA0986"},
{id: 298, start:1068193, end:1072839, name:"PA0987"},
{id: 299, start:1068193, end:1072839, name:"PA0988"},
{id: 300, start:1068193, end:1072839, name:"PA0989"},
{id: 301, start:1068193, end:1072839, name:"PA0990"},
{id: 302, start:1068193, end:1072839, name:"PA0991"},
{id: 303, start:1483123, end:1489095, name:"PA1369"},
{id: 304, start:1483123, end:1489095, name:"PA1370"},
{id: 305, start:1483123, end:1489095, name:"PA1371"},
{id: 306, start:1483123, end:1489095, name:"PA1372"},
{id: 307, start:1503568, end:1516687, name:"PA1384"},
{id: 308, start:1503568, end:1516687, name:"PA1385"},
{id: 309, start:1503568, end:1516687, name:"PA1386"},
{id: 310, start:1503568, end:1516687, name:"PA1387"},
{id: 311, start:1503568, end:1516687, name:"PA1388"},
{id: 312, start:1503568, end:1516687, name:"PA1389"},
{id: 313, start:1503568, end:1516687, name:"PA1390"},
{id: 314, start:1503568, end:1516687, name:"PA1391"},
{id: 315, start:1503568, end:1516687, name:"PA1392"},
{id: 316, start:1503568, end:1516687, name:"PA1393"},
{id: 317, start:1503568, end:1516687, name:"PA1394"},
{id: 318, start:2117897, end:2122222, name:"PA1936"},
{id: 319, start:2117897, end:2122222, name:"PA1937"},
{id: 320, start:2117897, end:2122222, name:"PA1938"},
{id: 321, start:2117897, end:2122222, name:"PA1939"},
{id: 322, start:2310357, end:2317403, name:"PA2098"},
{id: 323, start:2310357, end:2317403, name:"PA2099"},
{id: 324, start:2310357, end:2317403, name:"PA2100"},
{id: 325, start:2310357, end:2317403, name:"PA2101"},
{id: 326, start:2310357, end:2317403, name:"PA2102"},
{id: 327, start:2310357, end:2317403, name:"PA2103"},
{id: 328, start:2310357, end:2317403, name:"PA2104"},
{id: 329, start:2310357, end:2317403, name:"PA2105"},
{id: 330, start:2310357, end:2317403, name:"PA2106"},
{id: 331, start:2916158, end:2922569, name:"PA2580"},
{id: 332, start:2916158, end:2922569, name:"PA2581"},
{id: 333, start:2916158, end:2922569, name:"PA2581.1"},
{id: 334, start:2916158, end:2922569, name:"PA2582"},
{id: 335, start:2916158, end:2922569, name:"PA2583"},
{id: 336, start:3016675, end:3025508, name:"PA2668"},
{id: 337, start:3016675, end:3025508, name:"PA2669"},
{id: 338, start:3016675, end:3025508, name:"PA2670"},
{id: 339, start:3016675, end:3025508, name:"PA2671"},
{id: 340, start:3016675, end:3025508, name:"PA2672"},
{id: 341, start:3016675, end:3025508, name:"PA2673"},
{id: 342, start:3016675, end:3025508, name:"PA2674"},
{id: 343, start:3016675, end:3025508, name:"PA2675"},
{id: 344, start:3016675, end:3025508, name:"PA2676"},
{id: 345, start:3016675, end:3025508, name:"PA2677"},
{id: 346, start:3016675, end:3025508, name:"PA2678"},
{id: 347, start:3020504, end:3024715, name:"PA2672"},
{id: 348, start:3020504, end:3024715, name:"PA2673"},
{id: 349, start:3020504, end:3024715, name:"PA2674"},
{id: 350, start:3020504, end:3024715, name:"PA2675"},
{id: 351, start:3020504, end:3024715, name:"PA2676"},
{id: 352, start:3020504, end:3024715, name:"PA2677"},
{id: 353, start:3020504, end:3024715, name:"PA2678"},
{id: 354, start:3524161, end:3528350, name:"PA3140"},
{id: 355, start:3524161, end:3528350, name:"PA3141"},
{id: 356, start:3524161, end:3528350, name:"PA3142"},
{id: 357, start:3524161, end:3528350, name:"PA3143"},
{id: 358, start:3524161, end:3528350, name:"PA3144"},
{id: 359, start:3681500, end:3685762, name:"PA3290"},
{id: 360, start:3681500, end:3685762, name:"PA3291"},
{id: 361, start:3681500, end:3685762, name:"PA3292"},
{id: 362, start:3681500, end:3685762, name:"PA3293"},
{id: 363, start:5926134, end:5930605, name:"PA5264"},
{id: 364, start:5926134, end:5930605, name:"PA5265"},
{id: 365, start:5926134, end:5930605, name:"PA5266"},
{id: 366, start:783009, end:792993, name:"PA0711"},
{id: 367, start:783009, end:792993, name:"PA0712"},
{id: 368, start:783009, end:792993, name:"PA0713"},
{id: 369, start:783009, end:792993, name:"PA0714"},
{id: 370, start:783009, end:792993, name:"PA0714.1"},
{id: 371, start:783009, end:792993, name:"PA0715"},
{id: 372, start:783009, end:792993, name:"PA0716"},
{id: 373, start:783009, end:792993, name:"PA0717"},
{id: 374, start:783009, end:792993, name:"PA0718"},
{id: 375, start:783009, end:792993, name:"PA0719"},
{id: 376, start:783009, end:792993, name:"PA0720"},
{id: 377, start:783009, end:792993, name:"PA0721"},
{id: 378, start:783009, end:792993, name:"PA0722"},
{id: 379, start:783009, end:792993, name:"PA0723"},
{id: 380, start:783009, end:792993, name:"PA0724"},
{id: 381, start:783009, end:792993, name:"PA0725"},
{id: 382, start:783012, end:792990, name:"PA0711"},
{id: 383, start:783012, end:792990, name:"PA0712"},
{id: 384, start:783012, end:792990, name:"PA0713"},
{id: 385, start:783012, end:792990, name:"PA0714"},
{id: 386, start:783012, end:792990, name:"PA0714.1"},
{id: 387, start:783012, end:792990, name:"PA0715"},
{id: 388, start:783012, end:792990, name:"PA0716"},
{id: 389, start:783012, end:792990, name:"PA0717"},
{id: 390, start:783012, end:792990, name:"PA0718"},
{id: 391, start:783012, end:792990, name:"PA0719"},
{id: 392, start:783012, end:792990, name:"PA0720"},
{id: 393, start:783012, end:792990, name:"PA0721"},
{id: 394, start:783012, end:792990, name:"PA0722"},
{id: 395, start:783012, end:792990, name:"PA0723"},
{id: 396, start:783012, end:792990, name:"PA0724"},
{id: 397, start:783012, end:792990, name:"PA0725"},
{id: 398, start:1060510, end:1080015, name:"PA0977"},
{id: 399, start:1060510, end:1080015, name:"PA0978"},
{id: 400, start:1060510, end:1080015, name:"PA0979"},
{id: 401, start:1060510, end:1080015, name:"PA0980"},
{id: 402, start:1060510, end:1080015, name:"PA0981"},
{id: 403, start:1060510, end:1080015, name:"PA0982"},
{id: 404, start:1060510, end:1080015, name:"PA0983"},
{id: 405, start:1060510, end:1080015, name:"PA0984"},
{id: 406, start:1060510, end:1080015, name:"PA0985"},
{id: 407, start:1060510, end:1080015, name:"PA0986"},
{id: 408, start:1060510, end:1080015, name:"PA0987"},
{id: 409, start:1060510, end:1080015, name:"PA0988"},
{id: 410, start:1060510, end:1080015, name:"PA0989"},
{id: 411, start:1060510, end:1080015, name:"PA0990"},
{id: 412, start:1060510, end:1080015, name:"PA0991"},
{id: 413, start:1060510, end:1080015, name:"PA0992"},
{id: 414, start:1060510, end:1080015, name:"PA0993"},
{id: 415, start:1060510, end:1080015, name:"PA0994"},
{id: 416, start:1060510, end:1080015, name:"PA0995"},
{id: 417, start:1060510, end:1080015, name:"PA0996"},
{id: 418, start:1060510, end:1080015, name:"PA0997"},
{id: 419, start:1060513, end:1080012, name:"PA0977"},
{id: 420, start:1060513, end:1080012, name:"PA0978"},
{id: 421, start:1060513, end:1080012, name:"PA0979"},
{id: 422, start:1060513, end:1080012, name:"PA0980"},
{id: 423, start:1060513, end:1080012, name:"PA0981"},
{id: 424, start:1060513, end:1080012, name:"PA0982"},
{id: 425, start:1060513, end:1080012, name:"PA0983"},
{id: 426, start:1060513, end:1080012, name:"PA0984"},
{id: 427, start:1060513, end:1080012, name:"PA0985"},
{id: 428, start:1060513, end:1080012, name:"PA0986"},
{id: 429, start:1060513, end:1080012, name:"PA0987"},
{id: 430, start:1060513, end:1080012, name:"PA0988"},
{id: 431, start:1060513, end:1080012, name:"PA0989"},
{id: 432, start:1060513, end:1080012, name:"PA0990"},
{id: 433, start:1060513, end:1080012, name:"PA0991"},
{id: 434, start:1060513, end:1080012, name:"PA0992"},
{id: 435, start:1060513, end:1080012, name:"PA0993"},
{id: 436, start:1060513, end:1080012, name:"PA0994"},
{id: 437, start:1060513, end:1080012, name:"PA0995"},
{id: 438, start:1060513, end:1080012, name:"PA0996"},
{id: 439, start:1060513, end:1080012, name:"PA0997"},
{id: 440, start:1480215, end:1495492, name:"PA1367"},
{id: 441, start:1480215, end:1495492, name:"PA1368"},
{id: 442, start:1480215, end:1495492, name:"PA1369"},
{id: 443, start:1480215, end:1495492, name:"PA1370"},
{id: 444, start:1480215, end:1495492, name:"PA1371"},
{id: 445, start:1480215, end:1495492, name:"PA1372"},
{id: 446, start:1480215, end:1495492, name:"PA1373"},
{id: 447, start:1480215, end:1495492, name:"PA1374"},
{id: 448, start:1480215, end:1495492, name:"PA1375"},
{id: 449, start:1480215, end:1495492, name:"PA1376"},
{id: 450, start:1480215, end:1495492, name:"PA1377"},
{id: 451, start:1480218, end:1495489, name:"PA1367"},
{id: 452, start:1480218, end:1495489, name:"PA1368"},
{id: 453, start:1480218, end:1495489, name:"PA1369"},
{id: 454, start:1480218, end:1495489, name:"PA1370"},
{id: 455, start:1480218, end:1495489, name:"PA1371"},
{id: 456, start:1480218, end:1495489, name:"PA1372"},
{id: 457, start:1480218, end:1495489, name:"PA1373"},
{id: 458, start:1480218, end:1495489, name:"PA1374"},
{id: 459, start:1480218, end:1495489, name:"PA1375"},
{id: 460, start:1480218, end:1495489, name:"PA1376"},
{id: 461, start:1480218, end:1495489, name:"PA1377"},
{id: 500, start: 1409000, end: 1503991, name: "terminator2", feature: "terminator"},
{id: 501, start:1550000 , end: 2250000, name: "promoter", feature: "arrow"},
{id: 502, start:1700000 , end: 2250000, name: "promoter", feature: "arrow"},
]
},
{ trackName: "track4",
trackType: "plot",
visible: true,
plot_min: 0.4891,
plot_max: 0.7274,
plot_mean: 0.66558768401076,
bp_per_element: 10000,
plot_width: 75,
plot_radius: 130,
linear_plot_width: 100,
linear_plot_height: 285,
items: [
0.6271,0.6505,0.6809,0.6823,0.6971,0.608,0.6569,0.6855,0.6987,0.7005,0.6847,0.672,0.6525,0.6726,0.6595,0.6722,0.6874,0.6891,0.6571,0.69,0.6798,0.6787,0.6701,0.6893,0.6923,0.675,0.6876,0.6837,0.657,0.6285,0.6911,0.6765,0.6637,0.6409,0.6623,0.6571,0.6623,0.6836,0.6887,0.6778,0.6667,0.6816,0.6756,0.666,0.6741,0.6804,0.6876,0.6527,0.6679,0.6728,0.6707,0.6741,0.6834,0.6711,0.6654,0.6407,0.6792,0.6875,0.6758,0.6722,0.68,0.6599,0.6538,0.6489,0.6489,0.6538,0.653,0.6498,0.6478,0.639,0.6189,0.6574,0.5658,0.6861,0.6817,0.6776,0.6653,0.6869,0.5688,0.6159,0.6745,0.6826,0.674,0.6433,0.6687,0.6766,0.6766,0.686,0.6749,0.6484,0.6397,0.6765,0.6506,0.6759,0.6621,0.6607,0.6786,0.6596,0.6702,0.6345,0.6596,0.6633,0.635,0.6369,0.6262,0.6238,0.5394,0.5977,0.6546,0.6383,0.6877,0.6583,0.6614,0.6783,0.6763,0.6687,0.6415,0.6622,0.6385,0.6755,0.6786,0.6623,0.6795,0.6896,0.5812,0.6631,0.668,0.674,0.6691,0.6668,0.6702,0.6843,0.6835,0.7062,0.6774,0.6727,0.6982,0.7156,0.7131,0.6945,0.6612,0.6763,0.6644,0.6629,0.6856,0.6564,0.6875,0.6689,0.5174,0.6622,0.5647,0.6357,0.6966,0.6834,0.677,0.6617,0.6854,0.6694,0.659,0.6761,0.6824,0.6763,0.6812,0.6366,0.6322,0.663,0.6524,0.6552,0.6619,0.6461,0.6781,0.6635,0.6299,0.648,0.6815,0.6614,0.6887,0.6722,0.6853,0.6804,0.6312,0.6687,0.6689,0.6718,0.6804,0.6535,0.6749,0.6697,0.6575,0.6427,0.6504,0.634,0.6523,0.6651,0.6445,0.6127,0.6446,0.663,0.6632,0.6589,0.6604,0.6705,0.6873,0.6749,0.6867,0.6749,0.6576,0.6877,0.6852,0.6867,0.6831,0.6473,0.6322,0.679,0.6689,0.6855,0.6902,0.6882,0.685,0.6887,0.6794,0.667,0.6226,0.659,0.6923,0.688,0.695,0.6673,0.6794,0.6869,0.7054,0.6175,0.6943,0.6876,0.6752,0.6868,0.6589,0.6945,0.7036,0.6647,0.6687,0.6717,0.6733,0.6786,0.5441,0.6301,0.6943,0.6814,0.6881,0.6897,0.6819,0.6889,0.6844,0.706,0.693,0.6747,0.6859,0.6924,0.6893,0.6973,0.686,0.6859,0.6614,0.6824,0.6663,0.6333,0.6609,0.6639,0.677,0.6963,0.6677,0.7077,0.6648,0.7085,0.6899,0.6475,0.6029,0.6649,0.6824,0.7044,0.6782,0.6846,0.6818,0.684,0.6791,0.6833,0.6784,0.6781,0.6756,0.663,0.6285,0.6259,0.6455,0.6601,0.6669,0.6565,0.6336,0.6545,0.6517,0.6589,0.6751,0.6549,0.6609,0.6833,0.6658,0.6671,0.6661,0.687,0.6612,0.5835,0.64,0.6455,0.6481,0.656,0.6682,0.6206,0.6617,0.6588,0.6619,0.6886,0.6518,0.6827,0.6951,0.6765,0.6854,0.6919,0.7068,0.6939,0.6928,0.6639,0.6969,0.6415,0.6525,0.6624,0.6646,0.6417,0.6553,0.6382,0.684,0.6657,0.6451,0.6635,0.6739,0.6729,0.691,0.6639,0.6751,0.6832,0.6663,0.669,0.6629,0.658,0.6103,0.4891,0.54,0.6586,0.6784,0.6636,0.6719,0.6743,0.6786,0.6647,0.6544,0.666,0.6574,0.6512,0.6938,0.642,0.6264,0.6614,0.6785,0.6831,0.667,0.6974,0.6865,0.6645,0.6683,0.6611,0.6905,0.663,0.6827,0.695,0.7113,0.6775,0.672,0.6666,0.6897,0.6859,0.6689,0.661,0.6515,0.6654,0.6937,0.6495,0.6608,0.6709,0.6547,0.6633,0.6997,0.7091,0.6726,0.6702,0.688,0.6654,0.6678,0.6465,0.6651,0.6535,0.6417,0.6465,0.6804,0.668,0.6921,0.6685,0.672,0.6683,0.6604,0.6696,0.6501,0.6487,0.6798,0.6887,0.6601,0.6958,0.6848,0.6515,0.6513,0.6373,0.6599,0.6111,0.6705,0.6783,0.6289,0.6466,0.6792,0.6793,0.69,0.6703,0.6861,0.6741,0.66,0.6797,0.6562,0.6831,0.6875,0.6799,0.6619,0.6657,0.6746,0.6869,0.683,0.6666,0.6757,0.6845,0.6774,0.672,0.655,0.6804,0.6905,0.6849,0.6724,0.6826,0.6594,0.6823,0.6956,0.7,0.6754,0.6728,0.6851,0.68,0.6897,0.6785,0.7062,0.7274,0.6908,0.6096,0.5816,0.6208,0.584,0.604,0.7012,0.6747,0.6671,0.6511,0.6553,0.6829,0.6761,0.6931,0.6813,0.6719,0.6608,0.648,0.6591,0.6509,0.6624,0.6564,0.6237,0.65,0.6491,0.6371,0.6673,0.6718,0.6789,0.644,0.6745,0.6461,0.6323,0.6408,0.6467,0.659,0.6368,0.6457,0.6642,0.6622,0.6665,0.6745,0.6635,0.6591,0.6444,0.668,0.6628,0.6636,0.6729,0.6589,0.6463,0.6608,0.5708,0.6337,0.6646,0.666,0.6576,0.663,0.6352,0.6256,0.6479,0.6601,0.6879,0.6896,0.6741,0.693,0.6898,0.6845,0.6733,0.676,0.6692,0.6765,0.687,0.6611,0.6988,0.689,0.6786,0.652,0.6805,0.6603,0.6437,0.6768,0.6745,0.6731,0.683,0.6892,0.6965,0.6473,0.6686,0.6641,0.6686,0.667,0.6677,0.6417,0.6528,0.6662,0.6662,0.6584,0.6307,0.679,0.676,0.6842,0.6633,0.6627,0.677,0.6791,0.6633,0.6607,0.6492,0.671,0.6556,0.6738,0.6819,0.6823,0.6681,0.6545,0.6497,0.6554,0.6411,0.6652,0.6715,0.6633,0.6645,0.6629,0.6667,0.6657,0.6591,0.6739,0.6872,0.6448,0.5838,0.6587,0.6973,0.6726,0.6766,0.6637,0.6758,0.6794,0.6792,0.6606,0.6627,0.6832,0.6666,0.6583,0.6503,0.6679,0.6768,0.6609,0.6553,0.6706,0.6447,0.6162,0.630790190735695
]
},
{ trackName: "track5",
trackType: 'glyph',
glyphType: 'circle',
radius: 155,
pixel_spacing: 5,
linear_pixel_spacing: 5,
glyph_buffer: 5,
linear_glyph_buffer: 5,
glyphSize: 20,
linear_glyphSize: 20,
linear_height: 100,
showTooltip: true,
items: [
{id: 1, bp: 1000, type: 'vfdb', name: 'vfdb1'},
{id: 2, bp: 50000, type: 'adb', name: 'adb1'},
{id: 3, bp: 51000, type: 'adb', name: 'adb2'},
{id: 4, bp: 52000, type: 'vfdb', name: 'vfdb2'},
{id: 5, bp: 53000, type: 'adb', name: 'adb3'},
{id: 6, bp: 54000, type: 'vfdb', name: 'vfdb4'},
{id: 7, bp: 55000, type: 'adb', name: 'adb4'},
{id: 8, bp: 56000, type: 'adb', name: 'adb5'},
{id: 9, bp: 156000, type: 'adb', name: 'adb6'},
{id: 10, bp: 256000, type: 'adb', name: 'adb7'},
{id: 11, bp: 3560000, type: 'adb', name: 'db8'},
{id: 12, bp: 3560005, type: 'adb', name: 'adb9'},
{id: 13, bp: 556000, type: 'adb', name: 'adb10'},
{id: 14, bp: 556000, type: 'adb', name: 'adb11'},
{id: 15, bp: 5560000, type: 'adb', name: 'db12'},
{id: 16, bp: 5560005, type: 'adb', name: 'adb13'},
{id: 14, bp: 557000, type: 'adb', name: 'adb14'},
{id: 15, bp: 5560000, type: 'adb', name: 'db15'},
{id: 16, bp: 100000, type: 'adb', name: 'adb16'},
{id: 17, bp: 101000, type: 'vfdb', name: 'adb17'},
{id: 18, bp: 5000000, type: 'adb', name: 'adb18'},
{id: 19, bp: 5005000, type: 'vfdb', name: 'db19'},
{id: 20, bp: 5006005, type: 'vfdb', name: 'adb20'},
]
},
{
trackName: "gapTrack",
trackType: "gap",
inner_radius: 25,
outer_radius: 235,
showTooltip: true,
items: [
{id: 1, start: 6150000, end: 6160000, name: 'contig_gap1'},
{id: 2, start: 5350000, end: 5360000, name: 'contig_gap2'},
{id: 3, start: 2050000, end: 2060000, name: 'contig_gap3'},
{id: 4, start: 3250000, end: 3260000, name: 'contig_gap4'},
]
}
];
/* FileSaver.js
* A saveAs() FileSaver implementation.
* 2013-10-21
*
* By Eli Grey, http://eligrey.com
* License: X11/MIT
* See LICENSE.md
*/
/*global self */
/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,
plusplus: true */
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var saveAs = saveAs
|| (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator))
|| (function(view) {
"use strict";
var
doc = view.document
// only get URL when necessary in case BlobBuilder.js hasn't overridden it yet
, get_URL = function() {
return view.URL || view.webkitURL || view;
}
, URL = view.URL || view.webkitURL || view
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
, can_use_save_link = !view.externalHost && "download" in save_link
, click = function(node) {
var event = doc.createEvent("MouseEvents");
event.initMouseEvent(
"click", true, false, view, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
node.dispatchEvent(event);
}
, webkit_req_fs = view.webkitRequestFileSystem
, req_fs = view.requestFileSystem || webkit_req_fs || view.mozRequestFileSystem
, throw_outside = function (ex) {
(view.setImmediate || view.setTimeout)(function() {
throw ex;
}, 0);
}
, force_saveable_type = "application/octet-stream"
, fs_min_size = 0
, deletion_queue = []
, process_deletion_queue = function() {
var i = deletion_queue.length;
while (i--) {
var file = deletion_queue[i];
if (typeof file === "string") { // file is an object URL
URL.revokeObjectURL(file);
} else { // file is a File
file.remove();
}
}
deletion_queue.length = 0; // clear queue
}
, dispatch = function(filesaver, event_types, event) {
event_types = [].concat(event_types);
var i = event_types.length;
while (i--) {
var listener = filesaver["on" + event_types[i]];
if (typeof listener === "function") {
try {
listener.call(filesaver, event || filesaver);
} catch (ex) {
throw_outside(ex);
}
}
}
}
, FileSaver = function(blob, name) {
// First try a.download, then web filesystem, then object URLs
var
filesaver = this
, type = blob.type
, blob_changed = false
, object_url
, target_view
, get_object_url = function() {
var object_url = get_URL().createObjectURL(blob);
deletion_queue.push(object_url);
return object_url;
}
, dispatch_all = function() {
dispatch(filesaver, "writestart progress write writeend".split(" "));
}
// on any filesys errors revert to saving with object URLs
, fs_error = function() {
// don't create more object URLs than needed
if (blob_changed || !object_url) {
object_url = get_object_url(blob);
}
if (target_view) {
target_view.location.href = object_url;
} else {
window.open(object_url, "_blank");
}
filesaver.readyState = filesaver.DONE;
dispatch_all();
}
, abortable = function(func) {
return function() {
if (filesaver.readyState !== filesaver.DONE) {
return func.apply(this, arguments);
}
};
}
, create_if_not_found = {create: true, exclusive: false}
, slice
;
filesaver.readyState = filesaver.INIT;
if (!name) {
name = "download";
}
if (can_use_save_link) {
object_url = get_object_url(blob);
// FF for Android has a nasty garbage collection mechanism
// that turns all objects that are not pure javascript into 'deadObject'
// this means `doc` and `save_link` are unusable and need to be recreated
// `view` is usable though:
doc = view.document;
save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a");
save_link.href = object_url;
save_link.download = name;
var event = doc.createEvent("MouseEvents");
event.initMouseEvent(
"click", true, false, view, 0, 0, 0, 0, 0
, false, false, false, false, 0, null
);
save_link.dispatchEvent(event);
filesaver.readyState = filesaver.DONE;
dispatch_all();
return;
}
// Object and web filesystem URLs have a problem saving in Google Chrome when
// viewed in a tab, so I force save with application/octet-stream
// http://code.google.com/p/chromium/issues/detail?id=91158
if (view.chrome && type && type !== force_saveable_type) {
slice = blob.slice || blob.webkitSlice;
blob = slice.call(blob, 0, blob.size, force_saveable_type);
blob_changed = true;
}
// Since I can't be sure that the guessed media type will trigger a download
// in WebKit, I append .download to the filename.
// https://bugs.webkit.org/show_bug.cgi?id=65440
if (webkit_req_fs && name !== "download") {
name += ".download";
}
if (type === force_saveable_type || webkit_req_fs) {
target_view = view;
}
if (!req_fs) {
fs_error();
return;
}
fs_min_size += blob.size;
req_fs(view.TEMPORARY, fs_min_size, abortable(function(fs) {
fs.root.getDirectory("saved", create_if_not_found, abortable(function(dir) {
var save = function() {
dir.getFile(name, create_if_not_found, abortable(function(file) {
file.createWriter(abortable(function(writer) {
writer.onwriteend = function(event) {
target_view.location.href = file.toURL();
deletion_queue.push(file);
filesaver.readyState = filesaver.DONE;
dispatch(filesaver, "writeend", event);
};
writer.onerror = function() {
var error = writer.error;
if (error.code !== error.ABORT_ERR) {
fs_error();
}
};
"writestart progress write abort".split(" ").forEach(function(event) {
writer["on" + event] = filesaver["on" + event];
});
writer.write(blob);
filesaver.abort = function() {
writer.abort();
filesaver.readyState = filesaver.DONE;
};
filesaver.readyState = filesaver.WRITING;
}), fs_error);
}), fs_error);
};
dir.getFile(name, {create: false}, abortable(function(file) {
// delete file if it already exists
file.remove();
save();
}), abortable(function(ex) {
if (ex.code === ex.NOT_FOUND_ERR) {
save();
} else {
fs_error();
}
}));
}), fs_error);
}), fs_error);
}
, FS_proto = FileSaver.prototype
, saveAs = function(blob, name) {
return new FileSaver(blob, name);
}
;
FS_proto.abort = function() {
var filesaver = this;
filesaver.readyState = filesaver.DONE;
dispatch(filesaver, "abort");
};
FS_proto.readyState = FS_proto.INIT = 0;
FS_proto.WRITING = 1;
FS_proto.DONE = 2;
FS_proto.error =
FS_proto.onwritestart =
FS_proto.onprogress =
FS_proto.onwrite =
FS_proto.onabort =
FS_proto.onerror =
FS_proto.onwriteend =
null;
view.addEventListener("unload", process_deletion_queue, false);
return saveAs;
}(this.self || this.window || this.content));
// `self` is undefined in Firefox for Android content script context
// while `this` is nsIContentFrameMessageManager
// with an attribute `content` that corresponds to the window
if (typeof module !== 'undefined') module.exports = saveAs;
/*
StackBlur - a fast almost Gaussian Blur For Canvas
Version: 0.5
Author: Mario Klingemann
Contact: mario@quasimondo.com
Website: http://www.quasimondo.com/StackBlurForCanvas
Twitter: @quasimondo
In case you find this class useful - especially in commercial projects -
I am not totally unhappy for a small donation to my PayPal account
mario@quasimondo.de
Or support me on flattr:
https://flattr.com/thing/72791/StackBlur-a-fast-almost-Gaussian-Blur-Effect-for-CanvasJavascript
Copyright (c) 2010 Mario Klingemann
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
*/
var mul_table = [
512,512,456,512,328,456,335,512,405,328,271,456,388,335,292,512,
454,405,364,328,298,271,496,456,420,388,360,335,312,292,273,512,
482,454,428,405,383,364,345,328,312,298,284,271,259,496,475,456,
437,420,404,388,374,360,347,335,323,312,302,292,282,273,265,512,
497,482,468,454,441,428,417,405,394,383,373,364,354,345,337,328,
320,312,305,298,291,284,278,271,265,259,507,496,485,475,465,456,
446,437,428,420,412,404,396,388,381,374,367,360,354,347,341,335,
329,323,318,312,307,302,297,292,287,282,278,273,269,265,261,512,
505,497,489,482,475,468,461,454,447,441,435,428,422,417,411,405,
399,394,389,383,378,373,368,364,359,354,350,345,341,337,332,328,
324,320,316,312,309,305,301,298,294,291,287,284,281,278,274,271,
268,265,262,259,257,507,501,496,491,485,480,475,470,465,460,456,
451,446,442,437,433,428,424,420,416,412,408,404,400,396,392,388,
385,381,377,374,370,367,363,360,357,354,350,347,344,341,338,335,
332,329,326,323,320,318,315,312,310,307,304,302,299,297,294,292,
289,287,285,282,280,278,275,273,271,269,267,265,263,261,259];
var shg_table = [
9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17,
17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,
19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24 ];
function stackBlurImage( imageID, canvasID, radius, blurAlphaChannel )
{
var img = document.getElementById( imageID );
var w = img.naturalWidth;
var h = img.naturalHeight;
var canvas = document.getElementById( canvasID );
canvas.style.width = w + "px";
canvas.style.height = h + "px";
canvas.width = w;
canvas.height = h;
var context = canvas.getContext("2d");
context.clearRect( 0, 0, w, h );
context.drawImage( img, 0, 0 );
if ( isNaN(radius) || radius < 1 ) return;
if ( blurAlphaChannel )
stackBlurCanvasRGBA( canvasID, 0, 0, w, h, radius );
else
stackBlurCanvasRGB( canvasID, 0, 0, w, h, radius );
}
function stackBlurCanvasRGBA( id, top_x, top_y, width, height, radius )
{
if ( isNaN(radius) || radius < 1 ) return;
radius |= 0;
var canvas = document.getElementById( id );
var context = canvas.getContext("2d");
var imageData;
try {
try {
imageData = context.getImageData( top_x, top_y, width, height );
} catch(e) {
// NOTE: this part is supposedly only needed if you want to work with local files
// so it might be okay to remove the whole try/catch block and just use
// imageData = context.getImageData( top_x, top_y, width, height );
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
imageData = context.getImageData( top_x, top_y, width, height );
} catch(e) {
alert("Cannot access local image");
throw new Error("unable to access local image data: " + e);
return;
}
}
} catch(e) {
alert("Cannot access image");
throw new Error("unable to access image data: " + e);
}
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum, a_sum,
r_out_sum, g_out_sum, b_out_sum, a_out_sum,
r_in_sum, g_in_sum, b_in_sum, a_in_sum,
pr, pg, pb, pa, rbs;
var div = radius + radius + 1;
var w4 = width << 2;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
var radiusPlus1 = radius + 1;
var sumFactor = radiusPlus1 * ( radiusPlus1 + 1 ) / 2;
var stackStart = new BlurStack();
var stack = stackStart;
for ( i = 1; i < div; i++ )
{
stack = stack.next = new BlurStack();
if ( i == radiusPlus1 ) var stackEnd = stack;
}
stack.next = stackStart;
var stackIn = null;
var stackOut = null;
yw = yi = 0;
var mul_sum = mul_table[radius];
var shg_sum = shg_table[radius];
for ( y = 0; y < height; y++ )
{
r_in_sum = g_in_sum = b_in_sum = a_in_sum = r_sum = g_sum = b_sum = a_sum = 0;
r_out_sum = radiusPlus1 * ( pr = pixels[yi] );
g_out_sum = radiusPlus1 * ( pg = pixels[yi+1] );
b_out_sum = radiusPlus1 * ( pb = pixels[yi+2] );
a_out_sum = radiusPlus1 * ( pa = pixels[yi+3] );
r_sum += sumFactor * pr;
g_sum += sumFactor * pg;
b_sum += sumFactor * pb;
a_sum += sumFactor * pa;
stack = stackStart;
for( i = 0; i < radiusPlus1; i++ )
{
stack.r = pr;
stack.g = pg;
stack.b = pb;
stack.a = pa;
stack = stack.next;
}
for( i = 1; i < radiusPlus1; i++ )
{
p = yi + (( widthMinus1 < i ? widthMinus1 : i ) << 2 );
r_sum += ( stack.r = ( pr = pixels[p])) * ( rbs = radiusPlus1 - i );
g_sum += ( stack.g = ( pg = pixels[p+1])) * rbs;
b_sum += ( stack.b = ( pb = pixels[p+2])) * rbs;
a_sum += ( stack.a = ( pa = pixels[p+3])) * rbs;
r_in_sum += pr;
g_in_sum += pg;
b_in_sum += pb;
a_in_sum += pa;
stack = stack.next;
}
stackIn = stackStart;
stackOut = stackEnd;
for ( x = 0; x < width; x++ )
{
pixels[yi+3] = pa = (a_sum * mul_sum) >> shg_sum;
if ( pa != 0 )
{
pa = 255 / pa;
pixels[yi] = ((r_sum * mul_sum) >> shg_sum) * pa;
pixels[yi+1] = ((g_sum * mul_sum) >> shg_sum) * pa;
pixels[yi+2] = ((b_sum * mul_sum) >> shg_sum) * pa;
} else {
pixels[yi] = pixels[yi+1] = pixels[yi+2] = 0;
}
r_sum -= r_out_sum;
g_sum -= g_out_sum;
b_sum -= b_out_sum;
a_sum -= a_out_sum;
r_out_sum -= stackIn.r;
g_out_sum -= stackIn.g;
b_out_sum -= stackIn.b;
a_out_sum -= stackIn.a;
p = ( yw + ( ( p = x + radius + 1 ) < widthMinus1 ? p : widthMinus1 ) ) << 2;
r_in_sum += ( stackIn.r = pixels[p]);
g_in_sum += ( stackIn.g = pixels[p+1]);
b_in_sum += ( stackIn.b = pixels[p+2]);
a_in_sum += ( stackIn.a = pixels[p+3]);
r_sum += r_in_sum;
g_sum += g_in_sum;
b_sum += b_in_sum;
a_sum += a_in_sum;
stackIn = stackIn.next;
r_out_sum += ( pr = stackOut.r );
g_out_sum += ( pg = stackOut.g );
b_out_sum += ( pb = stackOut.b );
a_out_sum += ( pa = stackOut.a );
r_in_sum -= pr;
g_in_sum -= pg;
b_in_sum -= pb;
a_in_sum -= pa;
stackOut = stackOut.next;
yi += 4;
}
yw += width;
}
for ( x = 0; x < width; x++ )
{
g_in_sum = b_in_sum = a_in_sum = r_in_sum = g_sum = b_sum = a_sum = r_sum = 0;
yi = x << 2;
r_out_sum = radiusPlus1 * ( pr = pixels[yi]);
g_out_sum = radiusPlus1 * ( pg = pixels[yi+1]);
b_out_sum = radiusPlus1 * ( pb = pixels[yi+2]);
a_out_sum = radiusPlus1 * ( pa = pixels[yi+3]);
r_sum += sumFactor * pr;
g_sum += sumFactor * pg;
b_sum += sumFactor * pb;
a_sum += sumFactor * pa;
stack = stackStart;
for( i = 0; i < radiusPlus1; i++ )
{
stack.r = pr;
stack.g = pg;
stack.b = pb;
stack.a = pa;
stack = stack.next;
}
yp = width;
for( i = 1; i <= radius; i++ )
{
yi = ( yp + x ) << 2;
r_sum += ( stack.r = ( pr = pixels[yi])) * ( rbs = radiusPlus1 - i );
g_sum += ( stack.g = ( pg = pixels[yi+1])) * rbs;
b_sum += ( stack.b = ( pb = pixels[yi+2])) * rbs;
a_sum += ( stack.a = ( pa = pixels[yi+3])) * rbs;
r_in_sum += pr;
g_in_sum += pg;
b_in_sum += pb;
a_in_sum += pa;
stack = stack.next;
if( i < heightMinus1 )
{
yp += width;
}
}
yi = x;
stackIn = stackStart;
stackOut = stackEnd;
for ( y = 0; y < height; y++ )
{
p = yi << 2;
pixels[p+3] = pa = (a_sum * mul_sum) >> shg_sum;
if ( pa > 0 )
{
pa = 255 / pa;
pixels[p] = ((r_sum * mul_sum) >> shg_sum ) * pa;
pixels[p+1] = ((g_sum * mul_sum) >> shg_sum ) * pa;
pixels[p+2] = ((b_sum * mul_sum) >> shg_sum ) * pa;
} else {
pixels[p] = pixels[p+1] = pixels[p+2] = 0;
}
r_sum -= r_out_sum;
g_sum -= g_out_sum;
b_sum -= b_out_sum;
a_sum -= a_out_sum;
r_out_sum -= stackIn.r;
g_out_sum -= stackIn.g;
b_out_sum -= stackIn.b;
a_out_sum -= stackIn.a;
p = ( x + (( ( p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1 ) * width )) << 2;
r_sum += ( r_in_sum += ( stackIn.r = pixels[p]));
g_sum += ( g_in_sum += ( stackIn.g = pixels[p+1]));
b_sum += ( b_in_sum += ( stackIn.b = pixels[p+2]));
a_sum += ( a_in_sum += ( stackIn.a = pixels[p+3]));
stackIn = stackIn.next;
r_out_sum += ( pr = stackOut.r );
g_out_sum += ( pg = stackOut.g );
b_out_sum += ( pb = stackOut.b );
a_out_sum += ( pa = stackOut.a );
r_in_sum -= pr;
g_in_sum -= pg;
b_in_sum -= pb;
a_in_sum -= pa;
stackOut = stackOut.next;
yi += width;
}
}
context.putImageData( imageData, top_x, top_y );
}
function stackBlurCanvasRGB( id, top_x, top_y, width, height, radius )
{
if ( isNaN(radius) || radius < 1 ) return;
radius |= 0;
var canvas = document.getElementById( id );
var context = canvas.getContext("2d");
var imageData;
try {
try {
imageData = context.getImageData( top_x, top_y, width, height );
} catch(e) {
// NOTE: this part is supposedly only needed if you want to work with local files
// so it might be okay to remove the whole try/catch block and just use
// imageData = context.getImageData( top_x, top_y, width, height );
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
imageData = context.getImageData( top_x, top_y, width, height );
} catch(e) {
alert("Cannot access local image");
throw new Error("unable to access local image data: " + e);
return;
}
}
} catch(e) {
alert("Cannot access image");
throw new Error("unable to access image data: " + e);
}
var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum,
r_out_sum, g_out_sum, b_out_sum,
r_in_sum, g_in_sum, b_in_sum,
pr, pg, pb, rbs;
var div = radius + radius + 1;
var w4 = width << 2;
var widthMinus1 = width - 1;
var heightMinus1 = height - 1;
var radiusPlus1 = radius + 1;
var sumFactor = radiusPlus1 * ( radiusPlus1 + 1 ) / 2;
var stackStart = new BlurStack();
var stack = stackStart;
for ( i = 1; i < div; i++ )
{
stack = stack.next = new BlurStack();
if ( i == radiusPlus1 ) var stackEnd = stack;
}
stack.next = stackStart;
var stackIn = null;
var stackOut = null;
yw = yi = 0;
var mul_sum = mul_table[radius];
var shg_sum = shg_table[radius];
for ( y = 0; y < height; y++ )
{
r_in_sum = g_in_sum = b_in_sum = r_sum = g_sum = b_sum = 0;
r_out_sum = radiusPlus1 * ( pr = pixels[yi] );
g_out_sum = radiusPlus1 * ( pg = pixels[yi+1] );
b_out_sum = radiusPlus1 * ( pb = pixels[yi+2] );
r_sum += sumFactor * pr;
g_sum += sumFactor * pg;
b_sum += sumFactor * pb;
stack = stackStart;
for( i = 0; i < radiusPlus1; i++ )
{
stack.r = pr;
stack.g = pg;
stack.b = pb;
stack = stack.next;
}
for( i = 1; i < radiusPlus1; i++ )
{
p = yi + (( widthMinus1 < i ? widthMinus1 : i ) << 2 );
r_sum += ( stack.r = ( pr = pixels[p])) * ( rbs = radiusPlus1 - i );
g_sum += ( stack.g = ( pg = pixels[p+1])) * rbs;
b_sum += ( stack.b = ( pb = pixels[p+2])) * rbs;
r_in_sum += pr;
g_in_sum += pg;
b_in_sum += pb;
stack = stack.next;
}
stackIn = stackStart;
stackOut = stackEnd;
for ( x = 0; x < width; x++ )
{
pixels[yi] = (r_sum * mul_sum) >> shg_sum;
pixels[yi+1] = (g_sum * mul_sum) >> shg_sum;
pixels[yi+2] = (b_sum * mul_sum) >> shg_sum;
r_sum -= r_out_sum;
g_sum -= g_out_sum;
b_sum -= b_out_sum;
r_out_sum -= stackIn.r;
g_out_sum -= stackIn.g;
b_out_sum -= stackIn.b;
p = ( yw + ( ( p = x + radius + 1 ) < widthMinus1 ? p : widthMinus1 ) ) << 2;
r_in_sum += ( stackIn.r = pixels[p]);
g_in_sum += ( stackIn.g = pixels[p+1]);
b_in_sum += ( stackIn.b = pixels[p+2]);
r_sum += r_in_sum;
g_sum += g_in_sum;
b_sum += b_in_sum;
stackIn = stackIn.next;
r_out_sum += ( pr = stackOut.r );
g_out_sum += ( pg = stackOut.g );
b_out_sum += ( pb = stackOut.b );
r_in_sum -= pr;
g_in_sum -= pg;
b_in_sum -= pb;
stackOut = stackOut.next;
yi += 4;
}
yw += width;
}
for ( x = 0; x < width; x++ )
{
g_in_sum = b_in_sum = r_in_sum = g_sum = b_sum = r_sum = 0;
yi = x << 2;
r_out_sum = radiusPlus1 * ( pr = pixels[yi]);
g_out_sum = radiusPlus1 * ( pg = pixels[yi+1]);
b_out_sum = radiusPlus1 * ( pb = pixels[yi+2]);
r_sum += sumFactor * pr;
g_sum += sumFactor * pg;
b_sum += sumFactor * pb;
stack = stackStart;
for( i = 0; i < radiusPlus1; i++ )
{
stack.r = pr;
stack.g = pg;
stack.b = pb;
stack = stack.next;
}
yp = width;
for( i = 1; i <= radius; i++ )
{
yi = ( yp + x ) << 2;
r_sum += ( stack.r = ( pr = pixels[yi])) * ( rbs = radiusPlus1 - i );
g_sum += ( stack.g = ( pg = pixels[yi+1])) * rbs;
b_sum += ( stack.b = ( pb = pixels[yi+2])) * rbs;
r_in_sum += pr;
g_in_sum += pg;
b_in_sum += pb;
stack = stack.next;
if( i < heightMinus1 )
{
yp += width;
}
}
yi = x;
stackIn = stackStart;
stackOut = stackEnd;
for ( y = 0; y < height; y++ )
{
p = yi << 2;
pixels[p] = (r_sum * mul_sum) >> shg_sum;
pixels[p+1] = (g_sum * mul_sum) >> shg_sum;
pixels[p+2] = (b_sum * mul_sum) >> shg_sum;
r_sum -= r_out_sum;
g_sum -= g_out_sum;
b_sum -= b_out_sum;
r_out_sum -= stackIn.r;
g_out_sum -= stackIn.g;
b_out_sum -= stackIn.b;
p = ( x + (( ( p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1 ) * width )) << 2;
r_sum += ( r_in_sum += ( stackIn.r = pixels[p]));
g_sum += ( g_in_sum += ( stackIn.g = pixels[p+1]));
b_sum += ( b_in_sum += ( stackIn.b = pixels[p+2]));
stackIn = stackIn.next;
r_out_sum += ( pr = stackOut.r );
g_out_sum += ( pg = stackOut.g );
b_out_sum += ( pb = stackOut.b );
r_in_sum -= pr;
g_in_sum -= pg;
b_in_sum -= pb;
stackOut = stackOut.next;
yi += width;
}
}
context.putImageData( imageData, top_x, top_y );
}
function BlurStack()
{
this.r = 0;
this.g = 0;
this.b = 0;
this.a = 0;
this.next = null;
}
This file has been truncated, but you can view the full file.
var tracks = [
{ trackName: "track1",
trackType: "stranded",
visible: true,
inner_radius: 130,
outer_radius: 185,
trackFeatures: "complex",
featureThreshold: 7000000,
mouseclick: 'islandPopup',
mouseover_callback: 'islandPopup',
mouseout_callback: 'islandPopupClear',
linear_mouseclick: 'linearPopup',
showLabels: true,
showTooltip: true,
linear_mouseclick: 'linearClick',
items: [
{id: 1, start:0, end:30000, name:"island0", strand: -1},
{id: 2, start:60000,end:100000, name:"island1", strand: -1},
{id: 3, start:800000,end:1000000, name:"island with a very long name", strand: 1},
{id: 7, start:1000000,end:1200000, name:"intergenic", strand: 0},
{id: 4, start:1200000,end:1500000, name:"island3", strand: 1},
{id: 5, start:1500000,end:1700000, name:"island4",strand: -1, extraclass: "cellwall"},
{id: 6, start:2000000,end:2100000, name:"the tasty gene", strand: -1, extraclass: "innermembrane"},
{id: 5, start:4500000,end:4700000, name:"an interesting region",strand: -1, extraclass: "cellwall"},
{id: 6, start:5000000,end:5100000, name:"causes bad things", strand: 1, extraclass: "innermembrane"},
{id: 7, start:5100000,end:5300000, name:"cures bad hair days", strand: -1, extraclass: "extracelluar"},
{id: 8, start:100000,end:115000, name:"cheeky gene", strand: 1, extraclass: "outermembrane"},
{id: 9, start:3000000,end:3100000, name:"meow meow", strand: 1, extraclass: "innermembrane"},
{id: 10, start:120000,end:136000, name:"turtle power", strand: -1, extraclass: "extrashelluar"},
{id: 11, start:3200000,end:3300000, name:"out of ideas", strand: -1, extraclass: "lostinspace"},
]
},
{ trackName: "track2",
visible: true,
trackType: "stranded",
inner_radius: 215,
outer_radius: 265,
centre_line_stroke: "grey",
showLabels: true,
items: [
{id: 1, start:483, end:2027, name:"PA0001", strand:1},
{id: 2, start:2056, end:3159, name:"PA0002", strand:1},
{id: 3, start:3169, end:4278, name:"PA0003", strand:1},
{id: 4, start:4275, end:6695, name:"PA0004", strand:1},
{id: 5, start:7018, end:7791, name:"PA0005", strand:-1},
{id: 6, start:7803, end:8339, name:"PA0006", strand:-1},
{id: 7, start:8671, end:10377, name:"PA0007", strand:1},
{id: 8, start:10434, end:12488, name:"PA0008", strand:-1},
{id: 9, start:12488, end:13435, name:"PA0009", strand:-1},
{id: 10, start:13540, end:14091, name:"PA0010", strand:1},
{id: 11, start:14235, end:15122, name:"PA0011", strand:1},
{id: 12, start:15207, end:15473, name:"PA0012", strand:1},
{id: 13, start:15620, end:16273, name:"PA0013", strand:1},
{id: 14, start:16335, end:16607, name:"PA0014", strand:-1},
{id: 15, start:16900, end:17217, name:"PA0015", strand:-1},
{id: 16, start:17366, end:18739, name:"PA0016", strand:-1},
{id: 17, start:18767, end:20071, name:"PA0017", strand:-1},
{id: 18, start:20068, end:21012, name:"PA0018", strand:-1},
{id: 19, start:21067, end:21573, name:"PA0019", strand:-1},
{id: 20, start:21712, end:22737, name:"PA0020", strand:1},
{id: 21, start:22872, end:23960, name:"PA0021", strand:1},
{id: 22, start:24001, end:24558, name:"PA0022", strand:1},
{id: 23, start:24568, end:25545, name:"PA0023", strand:-1},
{id: 24, start:25736, end:26653, name:"PA0024", strand:1},
{id: 25, start:26711, end:27535, name:"PA0025", strand:1},
{id: 26, start:27646, end:28632, name:"PA0026", strand:1},
{id: 27, start:28613, end:29899, name:"PA0027", strand:1},
{id: 28, start:29896, end:30498, name:"PA0028", strand:1},
{id: 29, start:30502, end:32055, name:"PA0029", strand:-1},
{id: 30, start:32060, end:32983, name:"PA0030", strand:-1},
{id: 31, start:33000, end:34511, name:"PA0031", strand:-1},
{id: 32, start:34624, end:35538, name:"PA0032", strand:1},
{id: 33, start:35905, end:36270, name:"PA0033", strand:-1},
{id: 34, start:36278, end:36901, name:"PA0034", strand:-1},
{id: 35, start:37087, end:37893, name:"PA0035", strand:-1},
{id: 36, start:37890, end:39098, name:"PA0036", strand:-1},
{id: 37, start:39202, end:40089, name:"PA0037", strand:1},
{id: 38, start:40190, end:40405, name:"PA0038", strand:1},
{id: 39, start:40589, end:40816, name:"PA0039", strand:1},
{id: 40, start:41113, end:42801, name:"PA0040", strand:1},
{id: 41, start:42914, end:53521, name:"PA0041", strand:1},
{id: 42, start:56546, end:56941, name:"PA0042", strand:1},
{id: 43, start:57212, end:58594, name:"PA0043", strand:-1},
{id: 44, start:58786, end:60159, name:"PA0044", strand:1},
{id: 45, start:60656, end:61342, name:"PA0045", strand:1},
{id: 46, start:61373, end:61726, name:"PA0046", strand:1},
{id: 47, start:61879, end:62388, name:"PA0047", strand:1},
{id: 48, start:62403, end:62786, name:"PA0048", strand:-1},
{id: 49, start:63068, end:64729, name:"PA0049", strand:-1},
{id: 50, start:65339, end:65479, name:"PA0050", strand:1},
{id: 51, start:66303, end:68135, name:"PA0051", strand:1},
{id: 52, start:68188, end:68616, name:"PA0052", strand:-1},
{id: 53, start:69272, end:69526, name:"PA0053", strand:1},
{id: 54, start:69543, end:70091, name:"PA0054", strand:-1},
{id: 55, start:70130, end:70636, name:"PA0055", strand:-1},
{id: 56, start:70702, end:71622, name:"PA0056", strand:-1},
{id: 57, start:71730, end:72617, name:"PA0057", strand:1},
{id: 58, start:72680, end:73384, name:"PA0058", strand:1},
{id: 59, start:73468, end:73923, name:"PA0059", strand:1},
{id: 60, start:74034, end:74267, name:"PA0060", strand:1},
{id: 61, start:74279, end:74716, name:"PA0061", strand:-1},
{id: 62, start:74773, end:75189, name:"PA0062", strand:-1},
{id: 63, start:75281, end:76408, name:"PA0063", strand:1},
{id: 64, start:76416, end:77399, name:"PA0064", strand:-1},
{id: 65, start:77432, end:78097, name:"PA0065", strand:-1},
{id: 66, start:78090, end:78632, name:"PA0066", strand:-1},
{id: 67, start:78710, end:80755, name:"PA0067", strand:1},
{id: 68, start:80752, end:81027, name:"PA0068", strand:1},
{id: 69, start:81116, end:82174, name:"PA0069", strand:1},
{id: 70, start:82404, end:83318, name:"PA0070", strand:-1},
{id: 71, start:83380, end:85092, name:"PA0071", strand:-1},
{id: 72, start:85085, end:86284, name:"PA0072", strand:-1},
{id: 73, start:86284, end:87003, name:"PA0073", strand:-1},
{id: 74, start:87000, end:90098, name:"PA0074", strand:-1},
{id: 75, start:90106, end:90834, name:"PA0075", strand:-1},
{id: 76, start:90844, end:91524, name:"PA0076", strand:-1},
{id: 77, start:91521, end:94826, name:"PA0077", strand:-1},
{id: 78, start:95048, end:96397, name:"PA0078", strand:-1},
{id: 79, start:96404, end:97738, name:"PA0079", strand:-1},
{id: 80, start:97754, end:98218, name:"PA0080", strand:-1},
{id: 81, start:98263, end:99756, name:"PA0081", strand:-1},
{id: 82, start:100124, end:101158, name:"PA0082", strand:1},
{id: 83, start:101247, end:101765, name:"PA0083", strand:1},
{id: 84, start:101778, end:103274, name:"PA0084", strand:1},
{id: 85, start:103350, end:103838, name:"PA0085", strand:1},
{id: 86, start:104006, end:104851, name:"PA0086", strand:1},
{id: 87, start:104853, end:105362, name:"PA0087", strand:1},
{id: 88, start:105359, end:107218, name:"PA0088", strand:1},
{id: 89, start:107182, end:108228, name:"PA0089", strand:1},
{id: 90, start:108221, end:110929, name:"PA0090", strand:1},
{id: 91, start:110976, end:112907, name:"PA0091", strand:1},
{id: 92, start:113022, end:113306, name:"PA0092", strand:-1},
{id: 93, start:113303, end:114595, name:"PA0093", strand:-1},
{id: 94, start:114611, end:115045, name:"PA0094", strand:-1},
{id: 95, start:115299, end:117524, name:"PA0095", strand:1},
{id: 96, start:117552, end:118001, name:"PA0096", strand:1},
{id: 97, start:117931, end:119130, name:"PA0097", strand:1},
{id: 98, start:119127, end:120164, name:"PA0098", strand:1},
{id: 99, start:120164, end:121324, name:"PA0099", strand:1},
{id: 100, start:121346, end:122266, name:"PA0100", strand:1},
{id: 101, start:122248, end:123495, name:"PA0101", strand:1},
{id: 102, start:123871, end:124599, name:"PA0102", strand:1},
{id: 103, start:124810, end:126381, name:"PA0103", strand:1},
{id: 104, start:126518, end:127114, name:"PA0104", strand:1},
{id: 105, start:127378, end:128502, name:"PA0105", strand:1},
{id: 106, start:128512, end:130104, name:"PA0106", strand:1},
{id: 107, start:130115, end:130669, name:"PA0107", strand:1},
{id: 108, start:130680, end:131567, name:"PA0108", strand:1},
{id: 109, start:131583, end:131792, name:"PA0109", strand:-1},
{id: 110, start:131808, end:132602, name:"PA0110", strand:1},
{id: 111, start:132577, end:133155, name:"PA0111", strand:1},
{id: 112, start:133220, end:134293, name:"PA0112", strand:1},
{id: 113, start:134319, end:135233, name:"PA0113", strand:1},
{id: 114, start:135259, end:135894, name:"PA0114", strand:1},
{id: 115, start:135934, end:136386, name:"PA0115", strand:-1},
{id: 116, start:136518, end:136991, name:"PA0116", strand:1},
{id: 117, start:137248, end:137976, name:"PA0117", strand:1},
{id: 118, start:138001, end:138588, name:"PA0118", strand:1},
{id: 119, start:138818, end:140167, name:"PA0119", strand:1},
{id: 120, start:140216, end:140902, name:"PA0120", strand:1},
{id: 121, start:141003, end:141737, name:"PA0121", strand:1},
{id: 122, start:141917, end:142327, name:"PA0122", strand:1},
{id: 123, start:142359, end:143267, name:"PA0123", strand:-1},
{id: 124, start:143567, end:143848, name:"PA0124", strand:-1},
{id: 125, start:143845, end:144072, name:"PA0125", strand:-1},
{id: 126, start:144248, end:144868, name:"PA0126", strand:-1},
{id: 127, start:144969, end:145469, name:"PA0127", strand:1},
{id: 128, start:145542, end:145883, name:"PA0128", strand:1},
{id: 129, start:145965, end:147392, name:"PA0129", strand:-1},
{id: 130, start:147561, end:149054, name:"PA0130", strand:-1},
{id: 131, start:149138, end:149425, name:"PA0131", strand:-1},
{id: 132, start:149425, end:150771, name:"PA0132", strand:-1},
{id: 133, start:150906, end:151823, name:"PA0133", strand:1},
{id: 134, start:151936, end:153306, name:"PA0134", strand:-1},
{id: 135, start:153696, end:153836, name:"PA0135", strand:1},
{id: 136, start:154417, end:155988, name:"PA0136", strand:1},
{id: 137, start:155988, end:157085, name:"PA0137", strand:1},
{id: 138, start:157108, end:158034, name:"PA0138", strand:1},
{id: 139, start:158199, end:158762, name:"PA0139", strand:1},
{id: 140, start:158907, end:160472, name:"PA0140", strand:1},
{id: 141, start:160552, end:161448, name:"PA0141", strand:-1},
{id: 142, start:161906, end:163255, name:"PA0142", strand:1},
{id: 143, start:163363, end:164415, name:"PA0143", strand:1},
{id: 144, start:164443, end:165069, name:"PA0144", strand:-1},
{id: 145, start:165219, end:165737, name:"PA0145", strand:-1},
{id: 146, start:165976, end:167073, name:"PA0146", strand:1},
{id: 147, start:167146, end:168108, name:"PA0147", strand:1},
{id: 148, start:168213, end:169163, name:"PA0148", strand:1},
{id: 149, start:169361, end:169906, name:"PA0149", strand:1},
{id: 150, start:169903, end:170898, name:"PA0150", strand:1},
{id: 151, start:171047, end:173434, name:"PA0151", strand:1},
{id: 152, start:173811, end:174638, name:"PA0152", strand:1},
{id: 153, start:174773, end:175492, name:"PA0153", strand:1},
{id: 154, start:175503, end:176108, name:"PA0154", strand:1},
{id: 155, start:176315, end:177154, name:"PA0155", strand:1},
{id: 156, start:177307, end:178458, name:"PA0156", strand:1},
{id: 157, start:178455, end:179525, name:"PA0157", strand:1},
{id: 158, start:179522, end:182569, name:"PA0158", strand:1},
{id: 159, start:182768, end:183706, name:"PA0159", strand:1},
{id: 160, start:183822, end:184007, name:"PA0160", strand:1},
{id: 161, start:184287, end:184439, name:"PA0161", strand:1},
{id: 162, start:184594, end:185928, name:"PA0162", strand:1},
{id: 163, start:185957, end:186754, name:"PA0163", strand:-1},
{id: 164, start:186832, end:188448, name:"PA0164", strand:1},
{id: 165, start:189120, end:189956, name:"PA0165", strand:1},
{id: 166, start:190198, end:191604, name:"PA0166", strand:1},
{id: 167, start:191697, end:192362, name:"PA0167", strand:1},
{id: 168, start:192368, end:192958, name:"PA0168", strand:1},
{id: 169, start:192965, end:193672, name:"PA0169", strand:-1},
{id: 170, start:193799, end:194179, name:"PA0170", strand:-1},
{id: 171, start:194206, end:194748, name:"PA0171", strand:-1},
{id: 172, start:194757, end:196748, name:"PA0172", strand:-1},
{id: 173, start:197011, end:198060, name:"PA0173", strand:-1},
{id: 174, start:198080, end:198682, name:"PA0174", strand:-1},
{id: 175, start:198688, end:199530, name:"PA0175", strand:-1},
{id: 176, start:199600, end:201639, name:"PA0176", strand:-1},
{id: 177, start:201675, end:202160, name:"PA0177", strand:-1},
{id: 178, start:202147, end:204066, name:"PA0178", strand:-1},
{id: 179, start:204094, end:204459, name:"PA0179", strand:-1},
{id: 180, start:204657, end:205829, name:"PA0180", strand:-1},
{id: 181, start:206022, end:206954, name:"PA0181", strand:-1},
{id: 182, start:207071, end:207823, name:"PA0182", strand:1},
{id: 183, start:207923, end:209533, name:"PA0183", strand:-1},
{id: 184, start:209621, end:210460, name:"PA0184", strand:-1},
{id: 185, start:210457, end:212073, name:"PA0185", strand:-1},
{id: 186, start:212340, end:213401, name:"PA0186", strand:1},
{id: 187, start:213819, end:214634, name:"PA0187", strand:1},
{id: 188, start:214631, end:215512, name:"PA0188", strand:1},
{id: 189, start:215550, end:216908, name:"PA0189", strand:-1},
{id: 190, start:217156, end:217881, name:"PA0190", strand:1},
{id: 191, start:217905, end:218822, name:"PA0191", strand:-1},
{id: 192, start:219172, end:221544, name:"PA0192", strand:1},
{id: 193, start:221585, end:222487, name:"PA0193", strand:1},
{id: 194, start:222555, end:223454, name:"PA0194", strand:1},
{id: 195, start:224101, end:225219, name:"PA0195", strand:1},
{id: 196, start:225295, end:225603, name:"PA0195.1", strand:1},
{id: 197, start:225603, end:227039, name:"PA0196", strand:1},
{id: 198, start:227382, end:228194, name:"PA0197", strand:1},
{id: 199, start:228223, end:228942, name:"PA0198", strand:1},
{id: 200, start:228944, end:229345, name:"PA0199", strand:1},
{id: 201, start:229526, end:229738, name:"PA0200", strand:-1},
{id: 202, start:229954, end:230535, name:"PA0201", strand:1},
{id: 203, start:230543, end:232000, name:"PA0202", strand:-1},
{id: 204, start:232066, end:233100, name:"PA0203", strand:-1},
{id: 205, start:233123, end:233932, name:"PA0204", strand:-1},
{id: 206, start:233929, end:234849, name:"PA0205", strand:-1},
{id: 207, start:234875, end:235987, name:"PA0206", strand:-1},
{id: 208, start:236218, end:237111, name:"PA0207", strand:1},
{id: 209, start:237232, end:238896, name:"PA0208", strand:1},
{id: 210, start:238896, end:239777, name:"PA0209", strand:1},
{id: 211, start:239779, end:240078, name:"PA0210", strand:1},
{id: 212, start:240071, end:240934, name:"PA0211", strand:1},
{id: 213, start:240931, end:241737, name:"PA0212", strand:1},
{id: 214, start:241753, end:242445, name:"PA0213", strand:1},
{id: 215, start:242442, end:243374, name:"PA0214", strand:1},
{id: 216, start:243431, end:243835, name:"PA0215", strand:1},
{id: 217, start:243841, end:244605, name:"PA0216", strand:1},
{id: 218, start:244690, end:245619, name:"PA0217", strand:-1},
{id: 219, start:245948, end:246868, name:"PA0218", strand:-1},
{id: 220, start:247219, end:248709, name:"PA0219", strand:1},
{id: 221, start:248767, end:250200, name:"PA0220", strand:1},
{id: 222, start:250231, end:251613, name:"PA0221", strand:1},
{id: 223, start:251777, end:252835, name:"PA0222", strand:1},
{id: 224, start:252913, end:253794, name:"PA0223", strand:-1},
{id: 225, start:253854, end:254636, name:"PA0224", strand:-1},
{id: 226, start:254791, end:255330, name:"PA0225", strand:1},
{id: 227, start:255481, end:256332, name:"PA0226", strand:1},
{id: 228, start:256329, end:257111, name:"PA0227", strand:1},
{id: 229, start:257108, end:258313, name:"PA0228", strand:1},
{id: 230, start:258463, end:259761, name:"PA0229", strand:1},
{id: 231, start:259784, end:261163, name:"PA0230", strand:1},
{id: 232, start:261179, end:261970, name:"PA0231", strand:1},
{id: 233, start:261981, end:262382, name:"PA0232", strand:1},
{id: 234, start:262557, end:263498, name:"PA0233", strand:1},
{id: 235, start:263689, end:264522, name:"PA0234", strand:1},
{id: 236, start:264964, end:266310, name:"PA0235", strand:-1},
{id: 237, start:266616, end:267395, name:"PA0236", strand:1},
{id: 238, start:267638, end:268681, name:"PA0237", strand:1},
{id: 239, start:268704, end:269519, name:"PA0238", strand:1},
{id: 240, start:269669, end:270547, name:"PA0239", strand:1},
{id: 241, start:270573, end:271838, name:"PA0240", strand:-1},
{id: 242, start:271904, end:273229, name:"PA0241", strand:-1},
{id: 243, start:273775, end:275679, name:"PA0242", strand:1},
{id: 244, start:275772, end:276440, name:"PA0243", strand:1},
{id: 245, start:276480, end:277334, name:"PA0244", strand:-1},
{id: 246, start:277331, end:277777, name:"PA0245", strand:-1},
{id: 247, start:277894, end:279399, name:"PA0246", strand:-1},
{id: 248, start:279574, end:280758, name:"PA0247", strand:-1},
{id: 249, start:280936, end:281802, name:"PA0248", strand:1},
{id: 250, start:281799, end:282245, name:"PA0249", strand:-1},
{id: 251, start:282323, end:282757, name:"PA0250", strand:-1},
{id: 252, start:282912, end:283553, name:"PA0251", strand:-1},
{id: 253, start:283818, end:284105, name:"PA0252", strand:-1},
{id: 254, start:284197, end:284673, name:"PA0253", strand:-1},
{id: 255, start:284714, end:286204, name:"PA0254", strand:-1},
{id: 256, start:286338, end:287024, name:"PA0255", strand:-1},
{id: 257, start:287188, end:288120, name:"PA0256", strand:-1},
{id: 258, start:288384, end:289175, name:"PA0257", strand:-1},
{id: 259, start:289205, end:289390, name:"PA0258", strand:-1},
{id: 260, start:289562, end:291004, name:"PA0259", strand:-1},
{id: 261, start:291154, end:293304, name:"PA0260", strand:-1},
{id: 262, start:293301, end:293798, name:"PA0261", strand:-1},
{id: 263, start:293802, end:296861, name:"PA0262", strand:-1},
{id: 264, start:297043, end:297561, name:"PA0263", strand:-1},
{id: 265, start:299081, end:299497, name:"PA0264", strand:-1},
{id: 266, start:299522, end:300973, name:"PA0265", strand:1},
{id: 267, start:301218, end:302498, name:"PA0266", strand:1},
{id: 268, start:302824, end:304023, name:"PA0267", strand:1},
{id: 269, start:304177, end:305598, name:"PA0268", strand:-1},
{id: 270, start:305725, end:306162, name:"PA0269", strand:1},
{id: 271, start:306174, end:306581, name:"PA0270", strand:1},
{id: 272, start:306615, end:306899, name:"PA0271", strand:1},
{id: 273, start:306896, end:307828, name:"PA0272", strand:-1},
{id: 274, start:307878, end:309092, name:"PA0273", strand:-1},
{id: 275, start:309255, end:310025, name:"PA0274", strand:-1},
{id: 276, start:310134, end:310820, name:"PA0275", strand:-1},
{id: 277, start:310896, end:311411, name:"PA0276", strand:1},
{id: 278, start:311451, end:312209, name:"PA0277", strand:-1},
{id: 279, start:312381, end:313133, name:"PA0278", strand:-1},
{id: 280, start:313227, end:313925, name:"PA0279", strand:1},
{id: 281, start:313938, end:314927, name:"PA0280", strand:-1},
{id: 282, start:314931, end:315800, name:"PA0281", strand:-1},
{id: 283, start:315811, end:316629, name:"PA0282", strand:-1},
{id: 284, start:316791, end:317789, name:"PA0283", strand:-1},
{id: 285, start:317966, end:318148, name:"PA0284", strand:-1},
{id: 286, start:318312, end:320594, name:"PA0285", strand:-1},
{id: 287, start:320766, end:321944, name:"PA0286", strand:1},
{id: 288, start:322175, end:323560, name:"PA0287", strand:1},
{id: 289, start:323616, end:324572, name:"PA0288", strand:1},
{id: 290, start:324625, end:325587, name:"PA0289", strand:1},
{id: 291, start:325700, end:326671, name:"PA0290", strand:1},
{id: 292, start:327284, end:328666, name:"PA0291", strand:1},
{id: 293, start:328801, end:329907, name:"PA0292", strand:-1},
{id: 294, start:329993, end:330871, name:"PA0293", strand:-1},
{id: 295, start:331034, end:331699, name:"PA0294", strand:-1},
{id: 296, start:331762, end:332823, name:"PA0295", strand:-1},
{id: 297, start:333079, end:334455, name:"PA0296", strand:-1},
{id: 298, start:334734, end:335486, name:"PA0297", strand:1},
{id: 299, start:335527, end:336885, name:"PA0298", strand:1},
{id: 300, start:336951, end:338321, name:"PA0299", strand:1},
{id: 301, start:338437, end:339540, name:"PA0300", strand:1},
{id: 302, start:339959, end:341056, name:"PA0301", strand:1},
{id: 303, start:341111, end:342265, name:"PA0302", strand:1},
{id: 304, start:342292, end:343173, name:"PA0303", strand:1},
{id: 305, start:343256, end:344125, name:"PA0304", strand:1},
{id: 306, start:344303, end:346690, name:"PA0305", strand:-1},
{id: 307, start:346801, end:347853, name:"PA0306", strand:1},
{id: 308, start:348440, end:349051, name:"PA0307", strand:-1},
{id: 309, start:349050, end:350069, name:"PA0308", strand:1},
{id: 310, start:350089, end:350841, name:"PA0309", strand:-1},
{id: 311, start:350890, end:351588, name:"PA0310", strand:1},
{id: 312, start:351610, end:352164, name:"PA0311", strand:-1},
{id: 313, start:352430, end:352924, name:"PA0312", strand:1},
{id: 314, start:352927, end:353619, name:"PA0313", strand:-1},
{id: 315, start:353691, end:354461, name:"PA0314", strand:-1},
{id: 316, start:354754, end:355191, name:"PA0315", strand:1},
{id: 317, start:355248, end:356477, name:"PA0316", strand:-1},
{id: 318, start:356681, end:358075, name:"PA0317", strand:1},
{id: 319, start:358167, end:358832, name:"PA0318", strand:1},
{id: 320, start:358931, end:359920, name:"PA0319", strand:1},
{id: 321, start:359982, end:360332, name:"PA0320", strand:1},
{id: 322, start:360413, end:361447, name:"PA0321", strand:-1},
{id: 323, start:361463, end:362857, name:"PA0322", strand:-1},
{id: 324, start:363278, end:364321, name:"PA0323", strand:-1},
{id: 325, start:364369, end:365157, name:"PA0324", strand:-1},
{id: 326, start:365154, end:366083, name:"PA0325", strand:-1},
{id: 327, start:366080, end:367129, name:"PA0326", strand:-1},
{id: 328, start:367457, end:368422, name:"PA0327", strand:1},
{id: 329, start:368462, end:370405, name:"PA0328", strand:-1},
{id: 330, start:370706, end:371038, name:"PA0329", strand:-1},
{id: 331, start:371162, end:371833, name:"PA0330", strand:-1},
{id: 332, start:372091, end:373605, name:"PA0331", strand:1},
{id: 333, start:373725, end:374192, name:"PA0332", strand:1},
{id: 334, start:374243, end:375514, name:"PA0333", strand:1},
{id: 335, start:375951, end:377189, name:"PA0334", strand:-1},
{id: 336, start:377239, end:377892, name:"PA0335", strand:-1},
{id: 337, start:378096, end:378575, name:"PA0336", strand:1},
{id: 338, start:378598, end:380877, name:"PA0337", strand:1},
{id: 339, start:380903, end:382033, name:"PA0338", strand:1},
{id: 340, start:382037, end:382792, name:"PA0339", strand:-1},
{id: 341, start:382914, end:383717, name:"PA0340", strand:1},
{id: 342, start:383727, end:384527, name:"PA0341", strand:1},
{id: 343, start:384733, end:385527, name:"PA0342", strand:1},
{id: 344, start:385554, end:386351, name:"PA0343", strand:-1},
{id: 345, start:386386, end:387765, name:"PA0344", strand:-1},
{id: 346, start:387758, end:389143, name:"PA0345", strand:-1},
{id: 347, start:389334, end:389696, name:"PA0346", strand:1},
{id: 348, start:389733, end:390884, name:"PA0347", strand:-1},
{id: 349, start:391094, end:392188, name:"PA0348", strand:1},
{id: 350, start:392185, end:393225, name:"PA0349", strand:1},
{id: 351, start:393308, end:393814, name:"PA0350", strand:1},
{id: 352, start:393830, end:394303, name:"PA0351", strand:-1},
{id: 353, start:394442, end:395827, name:"PA0352", strand:-1},
{id: 354, start:396057, end:397895, name:"PA0353", strand:-1},
{id: 355, start:398224, end:399420, name:"PA0354", strand:-1},
{id: 356, start:399493, end:400032, name:"PA0355", strand:-1},
{id: 357, start:400248, end:401072, name:"PA0356", strand:1},
{id: 358, start:401131, end:401943, name:"PA0357", strand:1},
{id: 359, start:402020, end:402598, name:"PA0358", strand:1},
{id: 360, start:402681, end:403025, name:"PA0359", strand:1},
{id: 361, start:403295, end:404281, name:"PA0360", strand:1},
{id: 362, start:404386, end:406119, name:"PA0361", strand:-1},
{id: 363, start:406247, end:406498, name:"PA0362", strand:-1},
{id: 364, start:406619, end:407098, name:"PA0363", strand:-1},
{id: 365, start:407250, end:408845, name:"PA0364", strand:-1},
{id: 366, start:408901, end:409449, name:"PA0365", strand:-1},
{id: 367, start:409504, end:410934, name:"PA0366", strand:-1},
{id: 368, start:411224, end:411871, name:"PA0367", strand:1},
{id: 369, start:412329, end:413327, name:"PA0368", strand:-1},
{id: 370, start:413364, end:413654, name:"PA0369", strand:-1},
{id: 371, start:413933, end:414529, name:"PA0370", strand:-1},
{id: 372, start:414529, end:416016, name:"PA0371", strand:-1},
{id: 373, start:416009, end:417406, name:"PA0372", strand:-1},
{id: 374, start:417527, end:418894, name:"PA0373", strand:1},
{id: 375, start:418891, end:419562, name:"PA0374", strand:1},
{id: 376, start:419562, end:420569, name:"PA0375", strand:1},
{id: 377, start:420683, end:421537, name:"PA0376", strand:1},
{id: 378, start:421602, end:422207, name:"PA0377", strand:1},
{id: 379, start:422212, end:422943, name:"PA0378", strand:-1},
{id: 380, start:422980, end:423357, name:"PA0379", strand:1},
{id: 381, start:423460, end:423660, name:"PA0380", strand:1},
{id: 382, start:423719, end:424516, name:"PA0381", strand:1},
{id: 383, start:424670, end:425341, name:"PA0382", strand:1},
{id: 384, start:425504, end:426850, name:"PA0383", strand:1},
{id: 385, start:426863, end:427120, name:"PA0384", strand:-1},
{id: 386, start:427182, end:427505, name:"PA0385", strand:-1},
{id: 387, start:427586, end:428740, name:"PA0386", strand:-1},
{id: 388, start:428861, end:429454, name:"PA0387", strand:-1},
{id: 389, start:429451, end:429870, name:"PA0388", strand:-1},
{id: 390, start:430002, end:430622, name:"PA0389", strand:-1},
{id: 391, start:430630, end:431769, name:"PA0390", strand:-1},
{id: 392, start:431858, end:433825, name:"PA0391", strand:-1},
{id: 393, start:434226, end:434819, name:"PA0392", strand:-1},
{id: 394, start:434830, end:435651, name:"PA0393", strand:-1},
{id: 395, start:435663, end:436355, name:"PA0394", strand:-1},
{id: 396, start:436570, end:437604, name:"PA0395", strand:1},
{id: 397, start:437782, end:438930, name:"PA0396", strand:1},
{id: 398, start:438938, end:439837, name:"PA0397", strand:-1},
{id: 399, start:439991, end:440395, name:"PA0398", strand:1},
{id: 400, start:440638, end:442011, name:"PA0399", strand:1},
{id: 401, start:442008, end:443192, name:"PA0400", strand:1},
{id: 402, start:443419, end:444690, name:"PA0401", strand:-1},
{id: 403, start:444687, end:445691, name:"PA0402", strand:-1},
{id: 404, start:445715, end:446227, name:"PA0403", strand:-1},
{id: 405, start:446339, end:446773, name:"PA0404", strand:-1},
{id: 406, start:446773, end:447342, name:"PA0405", strand:-1},
{id: 407, start:447391, end:448350, name:"PA0406", strand:-1},
{id: 408, start:448431, end:449384, name:"PA0407", strand:-1},
{id: 409, start:449639, end:450046, name:"PA0408", strand:1},
{id: 410, start:450093, end:450458, name:"PA0409", strand:1},
{id: 411, start:450509, end:451045, name:"PA0410", strand:1},
{id: 412, start:451130, end:453178, name:"PA0411", strand:1},
{id: 413, start:453239, end:454114, name:"PA0412", strand:1},
{id: 414, start:454126, end:461544, name:"PA0413", strand:1},
{id: 415, start:461537, end:462568, name:"PA0414", strand:1},
{id: 416, start:462565, end:463071, name:"PA0415", strand:1},
{id: 417, start:463079, end:463873, name:"PA0416", strand:1},
{id: 418, start:463949, end:464560, name:"PA0417", strand:1},
{id: 419, start:464568, end:465983, name:"PA0418", strand:-1},
{id: 420, start:466018, end:466740, name:"PA0419", strand:-1},
{id: 421, start:466833, end:468236, name:"PA0420", strand:-1},
{id: 422, start:468410, end:469900, name:"PA0421", strand:1},
{id: 423, start:470081, end:470650, name:"PA0422", strand:1},
{id: 424, start:470662, end:471237, name:"PA0423", strand:1},
{id: 425, start:471306, end:471749, name:"PA0424", strand:-1},
{id: 426, start:472024, end:473175, name:"PA0425", strand:1},
{id: 427, start:473191, end:476331, name:"PA0426", strand:1},
{id: 428, start:476333, end:477790, name:"PA0427", strand:1},
{id: 429, start:477886, end:479805, name:"PA0428", strand:-1},
{id: 430, start:480056, end:481126, name:"PA0429", strand:-1},
{id: 431, start:481196, end:482068, name:"PA0430", strand:-1},
{id: 432, start:482111, end:482665, name:"PA0431", strand:-1},
{id: 433, start:482706, end:484115, name:"PA0432", strand:-1},
{id: 434, start:484404, end:484838, name:"PA0433", strand:1},
{id: 435, start:484964, end:487156, name:"PA0434", strand:1},
{id: 436, start:487167, end:488645, name:"PA0435", strand:1},
{id: 437, start:488730, end:489350, name:"PA0436", strand:1},
{id: 438, start:489387, end:490658, name:"PA0437", strand:-1},
{id: 439, start:490648, end:491898, name:"PA0438", strand:-1},
{id: 440, start:492080, end:493357, name:"PA0439", strand:-1},
{id: 441, start:493354, end:494721, name:"PA0440", strand:-1},
{id: 442, start:494816, end:496255, name:"PA0441", strand:-1},
{id: 443, start:496362, end:496478, name:"PA0442", strand:-1},
{id: 444, start:496871, end:498361, name:"PA0443", strand:1},
{id: 445, start:498420, end:499703, name:"PA0444", strand:1},
{id: 446, start:500104, end:501120, name:"PA0445", strand:-1},
{id: 447, start:501376, end:502599, name:"PA0446", strand:-1},
{id: 448, start:502719, end:503900, name:"PA0447", strand:-1},
{id: 449, start:504121, end:505029, name:"PA0448", strand:1},
{id: 450, start:505047, end:505586, name:"PA0449", strand:1},
{id: 451, start:505629, end:507251, name:"PA0450", strand:-1},
{id: 452, start:507631, end:508962, name:"PA0451", strand:1},
{id: 453, start:508959, end:509753, name:"PA0452", strand:1},
{id: 454, start:509825, end:510499, name:"PA0453", strand:-1},
{id: 455, start:510589, end:512790, name:"PA0454", strand:-1},
{id: 456, start:513051, end:514427, name:"PA0455", strand:-1},
{id: 457, start:514775, end:514984, name:"PA0456", strand:1},
{id: 458, start:515135, end:515659, name:"PA0457", strand:1},
{id: 459, start:515653, end:516027, name:"PA0457.1", strand:-1},
{id: 460, start:516029, end:517462, name:"PA0458", strand:-1},
{id: 461, start:518083, end:520635, name:"PA0459", strand:1},
{id: 462, start:520737, end:521315, name:"PA0460", strand:1},
{id: 463, start:521630, end:522517, name:"PA0461", strand:-1},
{id: 464, start:522465, end:523169, name:"PA0462", strand:1},
{id: 465, start:523254, end:523943, name:"PA0463", strand:1},
{id: 466, start:523943, end:525367, name:"PA0464", strand:1},
{id: 467, start:525469, end:526827, name:"PA0465", strand:1},
{id: 468, start:526877, end:527179, name:"PA0466", strand:1},
{id: 469, start:527324, end:527944, name:"PA0467", strand:-1},
{id: 470, start:527963, end:528913, name:"PA0468", strand:-1},
{id: 471, start:528999, end:529856, name:"PA0469", strand:1},
{id: 472, start:530029, end:532437, name:"PA0470", strand:-1},
{id: 473, start:532541, end:533512, name:"PA0471", strand:-1},
{id: 474, start:533509, end:534027, name:"PA0472", strand:-1},
{id: 475, start:534196, end:534945, name:"PA0473", strand:1},
{id: 476, start:535085, end:535489, name:"PA0474", strand:1},
{id: 477, start:535539, end:536108, name:"PA0475", strand:1},
{id: 478, start:536142, end:537869, name:"PA0476", strand:-1},
{id: 479, start:538217, end:539143, name:"PA0477", strand:-1},
{id: 480, start:539231, end:539707, name:"PA0478", strand:1},
{id: 481, start:539785, end:540735, name:"PA0479", strand:-1},
{id: 482, start:540839, end:541636, name:"PA0480", strand:1},
{id: 483, start:541679, end:542122, name:"PA0481", strand:1},
{id: 484, start:542170, end:544347, name:"PA0482", strand:-1},
{id: 485, start:544654, end:545097, name:"PA0483", strand:1},
{id: 486, start:545129, end:545644, name:"PA0484", strand:1},
{id: 487, start:546334, end:547230, name:"PA0485", strand:-1},
{id: 488, start:547432, end:548406, name:"PA0486", strand:-1},
{id: 489, start:548468, end:549226, name:"PA0487", strand:-1},
{id: 490, start:549294, end:549614, name:"PA0488", strand:-1},
{id: 491, start:549656, end:550381, name:"PA0489", strand:-1},
{id: 492, start:550520, end:550813, name:"PA0490", strand:-1},
{id: 493, start:550867, end:551793, name:"PA0491", strand:-1},
{id: 494, start:551911, end:552669, name:"PA0492", strand:1},
{id: 495, start:552746, end:552994, name:"PA0493", strand:1},
{id: 496, start:553005, end:554381, name:"PA0494", strand:1},
{id: 497, start:554383, end:555261, name:"PA0495", strand:1},
{id: 498, start:555251, end:556228, name:"PA0496", strand:1},
{id: 499, start:556275, end:557276, name:"PA0497", strand:-1},
{id: 500, start:557354, end:558361, name:"PA0498", strand:-1},
{id: 501, start:558377, end:559078, name:"PA0499", strand:-1},
{id: 502, start:559644, end:560702, name:"PA0500", strand:1},
{id: 503, start:560808, end:562013, name:"PA0501", strand:1},
{id: 504, start:562006, end:562728, name:"PA0502", strand:1},
{id: 505, start:562721, end:563545, name:"PA0503", strand:1},
{id: 506, start:563549, end:564235, name:"PA0504", strand:1},
{id: 507, start:564344, end:564574, name:"PA0505", strand:1},
{id: 508, start:564914, end:566719, name:"PA0506", strand:1},
{id: 509, start:566932, end:568728, name:"PA0507", strand:1},
{id: 510, start:569002, end:570780, name:"PA0508", strand:1},
{id: 511, start:571111, end:572592, name:"PA0509", strand:-1},
{id: 512, start:572583, end:573422, name:"PA0510", strand:-1},
{id: 513, start:573433, end:574596, name:"PA0511", strand:-1},
{id: 514, start:574590, end:575105, name:"PA0512", strand:-1},
{id: 515, start:575080, end:575523, name:"PA0513", strand:-1},
{id: 516, start:575516, end:576040, name:"PA0514", strand:-1},
{id: 517, start:576037, end:576489, name:"PA0515", strand:-1},
{id: 518, start:576498, end:577676, name:"PA0516", strand:-1},
{id: 519, start:577673, end:578032, name:"PA0517", strand:-1},
{id: 520, start:578029, end:578343, name:"PA0518", strand:-1},
{id: 521, start:578394, end:580100, name:"PA0519", strand:-1},
{id: 522, start:580316, end:581098, name:"PA0520", strand:1},
{id: 523, start:581133, end:581660, name:"PA0521", strand:1},
{id: 524, start:581668, end:581925, name:"PA0522", strand:1},
{id: 525, start:582015, end:582455, name:"PA0523", strand:1},
{id: 526, start:582455, end:583855, name:"PA0524", strand:1},
{id: 527, start:583857, end:585695, name:"PA0525", strand:1},
{id: 528, start:585702, end:585896, name:"PA0526", strand:-1},
{id: 529, start:585980, end:586663, name:"PA0527", strand:-1},
{id: 530, start:587017, end:587895, name:"PA0528", strand:-1},
{id: 531, start:587997, end:588698, name:"PA0529", strand:1},
{id: 532, start:588924, end:590105, name:"PA0530", strand:1},
{id: 533, start:590105, end:590821, name:"PA0531", strand:1},
{id: 534, start:590896, end:591402, name:"PA0532", strand:-1},
{id: 535, start:591445, end:592935, name:"PA0533", strand:1},
{id: 536, start:593273, end:594562, name:"PA0534", strand:1},
{id: 537, start:594580, end:595134, name:"PA0535", strand:1},
{id: 538, start:595245, end:596270, name:"PA0536", strand:-1},
{id: 539, start:596274, end:596882, name:"PA0537", strand:-1},
{id: 540, start:596970, end:597479, name:"PA0538", strand:-1},
{id: 541, start:597708, end:598538, name:"PA0539", strand:1},
{id: 542, start:598608, end:598994, name:"PA0540", strand:1},
{id: 543, start:599107, end:599565, name:"PA0541", strand:1},
{id: 544, start:599757, end:600176, name:"PA0542", strand:-1},
{id: 545, start:600426, end:601394, name:"PA0543", strand:1},
{id: 546, start:601398, end:602141, name:"PA0544", strand:-1},
{id: 547, start:602346, end:603650, name:"PA0545", strand:1},
{id: 548, start:603706, end:604896, name:"PA0546", strand:-1},
{id: 549, start:604912, end:605913, name:"PA0547", strand:-1},
{id: 550, start:606160, end:608157, name:"PA0548", strand:1},
{id: 551, start:608157, end:609221, name:"PA0549", strand:1},
{id: 552, start:609202, end:609999, name:"PA0550", strand:-1},
{id: 553, start:610214, end:611275, name:"PA0551", strand:1},
{id: 554, start:611281, end:612444, name:"PA0552", strand:1},
{id: 555, start:612517, end:612717, name:"PA0553", strand:1},
{id: 556, start:612877, end:613218, name:"PA0554", strand:1},
{id: 557, start:613338, end:614402, name:"PA0555", strand:1},
{id: 558, start:614468, end:614950, name:"PA0556", strand:1},
{id: 559, start:614952, end:615608, name:"PA0557", strand:-1},
{id: 560, start:615607, end:616374, name:"PA0558", strand:1},
{id: 561, start:616371, end:617549, name:"PA0559", strand:-1},
{id: 562, start:617662, end:618150, name:"PA0560", strand:1},
{id: 563, start:618176, end:619330, name:"PA0561", strand:1},
{id: 564, start:619332, end:620006, name:"PA0562", strand:-1},
{id: 565, start:620135, end:620488, name:"PA0563", strand:-1},
{id: 566, start:620666, end:621577, name:"PA0564", strand:-1},
{id: 567, start:621695, end:622033, name:"PA0565", strand:1},
{id: 568, start:622023, end:622538, name:"PA0566", strand:-1},
{id: 569, start:622726, end:622884, name:"PA0567", strand:1},
{id: 570, start:622894, end:623352, name:"PA0568", strand:-1},
{id: 571, start:623368, end:623838, name:"PA0569", strand:-1},
{id: 572, start:623852, end:624199, name:"PA0570", strand:-1},
{id: 573, start:624189, end:624803, name:"PA0571", strand:-1},
{id: 574, start:624994, end:627765, name:"PA0572", strand:-1},
{id: 575, start:628335, end:628670, name:"PA0573", strand:-1},
{id: 576, start:628763, end:629884, name:"PA0574", strand:-1},
{id: 577, start:630527, end:634264, name:"PA0575", strand:-1},
{id: 578, start:634371, end:636224, name:"PA0576", strand:-1},
{id: 579, start:636304, end:638298, name:"PA0577", strand:-1},
{id: 580, start:638381, end:638830, name:"PA0578", strand:-1},
{id: 581, start:638900, end:639115, name:"PA0579", strand:-1},
{id: 582, start:639316, end:640341, name:"PA0580", strand:1},
{id: 583, start:640420, end:640989, name:"PA0581", strand:-1},
{id: 584, start:641073, end:641426, name:"PA0582", strand:1},
{id: 585, start:641417, end:641959, name:"PA0583", strand:1},
{id: 586, start:641932, end:643164, name:"PA0584", strand:-1},
{id: 587, start:643208, end:643714, name:"PA0585", strand:-1},
{id: 588, start:643808, end:645361, name:"PA0586", strand:-1},
{id: 589, start:645358, end:646629, name:"PA0587", strand:-1},
{id: 590, start:646730, end:648652, name:"PA0588", strand:-1},
{id: 591, start:648931, end:649263, name:"PA0589", strand:-1},
{id: 592, start:649307, end:650158, name:"PA0590", strand:-1},
{id: 593, start:650158, end:650538, name:"PA0591", strand:-1},
{id: 594, start:650575, end:651381, name:"PA0592", strand:-1},
{id: 595, start:651497, end:652483, name:"PA0593", strand:-1},
{id: 596, start:652480, end:653772, name:"PA0594", strand:-1},
{id: 597, start:653753, end:656527, name:"PA0595", strand:-1},
{id: 598, start:656654, end:657670, name:"PA0596", strand:1},
{id: 599, start:657667, end:658341, name:"PA0597", strand:1},
{id: 600, start:658343, end:659101, name:"PA0598", strand:1},
{id: 601, start:659102, end:660163, name:"PA0599", strand:-1},
{id: 602, start:660315, end:662708, name:"PA0600", strand:1},
{id: 603, start:662754, end:663386, name:"PA0601", strand:1},
{id: 604, start:663515, end:664549, name:"PA0602", strand:1},
{id: 605, start:664783, end:665892, name:"PA0603", strand:1},
{id: 606, start:665948, end:666994, name:"PA0604", strand:1},
{id: 607, start:667108, end:668355, name:"PA0605", strand:1},
{id: 608, start:668461, end:669291, name:"PA0606", strand:1},
{id: 609, start:669415, end:670089, name:"PA0607", strand:1},
{id: 610, start:670089, end:670907, name:"PA0608", strand:1},
{id: 611, start:670980, end:672458, name:"PA0609", strand:1},
{id: 612, start:672777, end:673091, name:"PA0610", strand:-1},
{id: 613, start:673191, end:673961, name:"PA0611", strand:-1},
{id: 614, start:674419, end:674619, name:"PA0612", strand:1},
{id: 615, start:674667, end:675026, name:"PA0613", strand:1},
{id: 616, start:675390, end:675839, name:"PA0614", strand:1},
{id: 617, start:675861, end:676376, name:"PA0615", strand:1},
{id: 618, start:676373, end:676930, name:"PA0616", strand:1},
{id: 619, start:677083, end:677409, name:"PA0617", strand:1},
{id: 620, start:677406, end:678293, name:"PA0618", strand:1},
{id: 621, start:678286, end:678819, name:"PA0619", strand:1},
{id: 622, start:678821, end:680896, name:"PA0620", strand:1},
{id: 623, start:680893, end:681351, name:"PA0621", strand:1},
{id: 624, start:681394, end:682554, name:"PA0622", strand:1},
{id: 625, start:682567, end:683070, name:"PA0623", strand:1},
{id: 626, start:683085, end:683429, name:"PA0624", strand:1},
{id: 627, start:683599, end:685836, name:"PA0625", strand:1},
{id: 628, start:685846, end:686718, name:"PA0626", strand:1},
{id: 629, start:686693, end:686899, name:"PA0627", strand:1},
{id: 630, start:686957, end:687946, name:"PA0628", strand:1},
{id: 631, start:687979, end:688608, name:"PA0629", strand:1},
{id: 632, start:688605, end:688967, name:"PA0630", strand:1},
{id: 633, start:688964, end:689221, name:"PA0631", strand:1},
{id: 634, start:689236, end:689466, name:"PA0632", strand:1},
{id: 635, start:689537, end:690031, name:"PA0633", strand:1},
{id: 636, start:690043, end:690390, name:"PA0634", strand:1},
{id: 637, start:690420, end:690674, name:"PA0635", strand:1},
{id: 638, start:690721, end:692556, name:"PA0636", strand:1},
{id: 639, start:692549, end:692890, name:"PA0637", strand:1},
{id: 640, start:692898, end:693593, name:"PA0638", strand:1},
{id: 641, start:693596, end:694366, name:"PA0639", strand:1},
{id: 642, start:694421, end:695023, name:"PA0640", strand:1},
{id: 643, start:695082, end:698696, name:"PA0641", strand:1},
{id: 644, start:698932, end:699720, name:"PA0642", strand:1},
{id: 645, start:699744, end:700835, name:"PA0643", strand:1},
{id: 646, start:700835, end:701170, name:"PA0644", strand:1},
{id: 647, start:701151, end:701381, name:"PA0645", strand:1},
{id: 648, start:701477, end:702529, name:"PA0646", strand:1},
{id: 649, start:702529, end:702831, name:"PA0647", strand:1},
{id: 650, start:702828, end:703058, name:"PA0648", strand:1},
{id: 651, start:703477, end:704082, name:"PA0649", strand:1},
{id: 652, start:704084, end:705133, name:"PA0650", strand:1},
{id: 653, start:705130, end:705966, name:"PA0651", strand:1},
{id: 654, start:706028, end:706672, name:"PA0652", strand:-1},
{id: 655, start:706944, end:707366, name:"PA0653", strand:1},
{id: 656, start:707686, end:708480, name:"PA0654", strand:1},
{id: 657, start:708535, end:709182, name:"PA0655", strand:-1},
{id: 658, start:709282, end:709620, name:"PA0656", strand:-1},
{id: 659, start:709699, end:711180, name:"PA0657", strand:1},
{id: 660, start:711220, end:712020, name:"PA0658", strand:-1},
{id: 661, start:712081, end:713157, name:"PA0659", strand:-1},
{id: 662, start:713279, end:714247, name:"PA0660", strand:-1},
{id: 663, start:714264, end:714686, name:"PA0661", strand:-1},
{id: 664, start:714977, end:716011, name:"PA0662", strand:1},
{id: 665, start:716011, end:716730, name:"PA0663", strand:1},
{id: 666, start:716731, end:717153, name:"PA0664", strand:1},
{id: 667, start:717231, end:717581, name:"PA0665", strand:1},
{id: 668, start:717635, end:718726, name:"PA0666", strand:-1},
{id: 669, start:718729, end:720072, name:"PA0667", strand:-1},
{id: 670, start:720357, end:721556, name:"PA0668", strand:1},
{id: 671, start:727608, end:730703, name:"PA0669", strand:-1},
{id: 672, start:730679, end:732094, name:"PA0670", strand:-1},
{id: 673, start:732102, end:732653, name:"PA0671", strand:-1},
{id: 674, start:732959, end:733555, name:"PA0672", strand:1},
{id: 675, start:733673, end:733993, name:"PA0673", strand:-1},
{id: 676, start:734159, end:734875, name:"PA0674", strand:1},
{id: 677, start:734872, end:735417, name:"PA0675", strand:1},
{id: 678, start:735487, end:736446, name:"PA0676", strand:1},
{id: 679, start:736456, end:737097, name:"PA0677", strand:-1},
{id: 680, start:737081, end:737530, name:"PA0678", strand:-1},
{id: 681, start:737677, end:738108, name:"PA0679", strand:1},
{id: 682, start:738111, end:738485, name:"PA0680", strand:-1},
{id: 683, start:738719, end:739168, name:"PA0681", strand:1},
{id: 684, start:739176, end:740141, name:"PA0682", strand:1},
{id: 685, start:740203, end:741348, name:"PA0683", strand:1},
{id: 686, start:741335, end:741928, name:"PA0684", strand:1},
{id: 687, start:741925, end:744336, name:"PA0685", strand:1},
{id: 688, start:744333, end:745742, name:"PA0686", strand:1},
{id: 689, start:745742, end:746956, name:"PA0687", strand:1},
{id: 690, start:747470, end:748576, name:"PA0688", strand:1},
{id: 691, start:748662, end:749774, name:"PA0689", strand:1},
{id: 692, start:749957, end:762499, name:"PA0690", strand:1},
{id: 693, start:762891, end:763493, name:"PA0691", strand:1},
{id: 694, start:763657, end:765291, name:"PA0692", strand:1},
{id: 695, start:765315, end:767162, name:"PA0693", strand:1},
{id: 696, start:767173, end:767592, name:"PA0694", strand:1},
{id: 697, start:767601, end:768347, name:"PA0695", strand:1},
{id: 698, start:768415, end:770121, name:"PA0696", strand:1},
{id: 699, start:770156, end:770818, name:"PA0697", strand:1},
{id: 700, start:770847, end:771326, name:"PA0698", strand:1},
{id: 701, start:771331, end:772275, name:"PA0699", strand:1},
{id: 702, start:772275, end:772700, name:"PA0700", strand:1},
{id: 703, start:772710, end:773696, name:"PA0701", strand:1},
{id: 704, start:774416, end:775321, name:"PA0702", strand:-1},
{id: 705, start:775400, end:776716, name:"PA0703", strand:-1},
{id: 706, start:776787, end:778181, name:"PA0704", strand:-1},
{id: 707, start:778309, end:779208, name:"PA0705", strand:-1},
{id: 708, start:779463, end:780101, name:"PA0706", strand:-1},
{id: 709, start:780194, end:780973, name:"PA0707", strand:-1},
{id: 710, start:781259, end:782113, name:"PA0708", strand:-1},
{id: 711, start:782229, end:782525, name:"PA0709", strand:1},
{id: 712, start:782570, end:782965, name:"PA0710", strand:1},
{id: 713, start:783009, end:783515, name:"PA0711", strand:-1},
{id: 714, start:783576, end:783833, name:"PA0712", strand:-1},
{id: 715, start:784173, end:784466, name:"PA0713", strand:1},
{id: 716, start:784698, end:785174, name:"PA0714", strand:1},
{id: 717, start:785969, end:786925, name:"PA0715", strand:1},
{id: 718, start:786928, end:788253, name:"PA0716", strand:1},
{id: 719, start:789144, end:789356, name:"PA0717", strand:1},
{id: 720, start:789360, end:789650, name:"PA0718", strand:1},
{id: 721, start:789654, end:790031, name:"PA0719", strand:1},
{id: 722, start:790166, end:790600, name:"PA0720", strand:1},
{id: 723, start:790617, end:790709, name:"PA0721", strand:1},
{id: 724, start:790722, end:790973, name:"PA0722", strand:1},
{id: 725, start:790986, end:791234, name:"PA0723", strand:1},
{id: 726, start:791370, end:792632, name:"PA0724", strand:1},
{id: 727, start:792637, end:792993, name:"PA0725", strand:1},
{id: 728, start:792997, end:794271, name:"PA0726", strand:1},
{id: 729, start:794501, end:795793, name:"PA0727", strand:1},
{id: 730, start:795793, end:796776, name:"PA0728", strand:1},
{id: 731, start:797251, end:797598, name:"PA0729", strand:1},
{id: 732, start:797925, end:798827, name:"PA0730", strand:-1},
{id: 733, start:799279, end:800016, name:"PA0731", strand:-1},
{id: 734, start:800096, end:801139, name:"PA0732", strand:-1},
{id: 735, start:801275, end:801967, name:"PA0733", strand:-1},
{id: 736, start:801967, end:802239, name:"PA0734", strand:-1},
{id: 737, start:802260, end:803075, name:"PA0735", strand:-1},
{id: 738, start:803072, end:804148, name:"PA0736", strand:-1},
{id: 739, start:804656, end:805111, name:"PA0737", strand:1},
{id: 740, start:805228, end:805473, name:"PA0738", strand:1},
{id: 741, start:805788, end:806702, name:"PA0739", strand:-1},
{id: 742, start:806805, end:808781, name:"PA0740", strand:1},
{id: 743, start:808816, end:809457, name:"PA0741", strand:-1},
{id: 744, start:809574, end:809882, name:"PA0742", strand:-1},
{id: 745, start:810275, end:811171, name:"PA0743", strand:-1},
{id: 746, start:811283, end:812386, name:"PA0744", strand:-1},
{id: 747, start:812445, end:813263, name:"PA0745", strand:-1},
{id: 748, start:813329, end:814492, name:"PA0746", strand:-1},
{id: 749, start:814504, end:816012, name:"PA0747", strand:-1},
{id: 750, start:817082, end:817903, name:"PA0749", strand:1},
{id: 751, start:818003, end:818698, name:"PA0750", strand:1},
{id: 752, start:818825, end:819862, name:"PA0751", strand:-1},
{id: 753, start:819855, end:821372, name:"PA0752", strand:-1},
{id: 754, start:821383, end:821853, name:"PA0753", strand:-1},
{id: 755, start:821902, end:822885, name:"PA0754", strand:-1},
{id: 756, start:822915, end:824198, name:"PA0755", strand:-1},
{id: 757, start:824409, end:825080, name:"PA0756", strand:1},
{id: 758, start:825073, end:826455, name:"PA0757", strand:1},
{id: 759, start:826463, end:827299, name:"PA0758", strand:-1},
{id: 760, start:827400, end:828344, name:"PA0759", strand:-1},
{id: 761, start:828617, end:828871, name:"PA0760", strand:1},
{id: 762, start:829276, end:830892, name:"PA0761", strand:-1},
{id: 763, start:831301, end:831882, name:"PA0762", strand:1},
{id: 764, start:831914, end:832498, name:"PA0763", strand:1},
{id: 765, start:832507, end:833457, name:"PA0764", strand:1},
{id: 766, start:833454, end:833909, name:"PA0765", strand:1},
{id: 767, start:833949, end:835373, name:"PA0766", strand:1},
{id: 768, start:835523, end:837322, name:"PA0767", strand:1},
{id: 769, start:837328, end:838182, name:"PA0768", strand:1},
{id: 770, start:838351, end:838728, name:"PA0769", strand:1},
{id: 771, start:838725, end:839414, name:"PA0770", strand:1},
{id: 772, start:839407, end:840324, name:"PA0771", strand:1},
{id: 773, start:840385, end:841086, name:"PA0772", strand:1},
{id: 774, start:841079, end:841825, name:"PA0773", strand:1},
{id: 775, start:841913, end:842881, name:"PA0774", strand:-1},
{id: 776, start:842878, end:843618, name:"PA0775", strand:-1},
{id: 777, start:843723, end:844295, name:"PA0776", strand:-1},
{id: 778, start:844427, end:845179, name:"PA0777", strand:-1},
{id: 779, start:845278, end:845682, name:"PA0778", strand:-1},
{id: 780, start:845793, end:848192, name:"PA0779", strand:-1},
{id: 781, start:848383, end:849135, name:"PA0780", strand:1},
{id: 782, start:849256, end:851319, name:"PA0781", strand:-1},
{id: 783, start:851783, end:854965, name:"PA0782", strand:1},
{id: 784, start:855277, end:856797, name:"PA0783", strand:1},
{id: 785, start:856942, end:857871, name:"PA0784", strand:-1},
{id: 786, start:857998, end:858636, name:"PA0785", strand:1},
{id: 787, start:858646, end:858951, name:"PA0786", strand:1},
{id: 788, start:859007, end:860170, name:"PA0787", strand:1},
{id: 789, start:860175, end:863300, name:"PA0788", strand:-1},
{id: 790, start:864095, end:865510, name:"PA0789", strand:1},
{id: 791, start:865636, end:866451, name:"PA0790", strand:-1},
{id: 792, start:866558, end:867346, name:"PA0791", strand:1},
{id: 793, start:867324, end:868808, name:"PA0792", strand:-1},
{id: 794, start:868943, end:870130, name:"PA0793", strand:-1},
{id: 795, start:870249, end:872855, name:"PA0794", strand:-1},
{id: 796, start:872986, end:874113, name:"PA0795", strand:-1},
{id: 797, start:874206, end:875102, name:"PA0796", strand:-1},
{id: 798, start:875113, end:875835, name:"PA0797", strand:-1},
{id: 799, start:875953, end:876603, name:"PA0798", strand:1},
{id: 800, start:876617, end:878608, name:"PA0799", strand:-1},
{id: 801, start:879027, end:879560, name:"PA0800", strand:1},
{id: 802, start:879557, end:881077, name:"PA0801", strand:1},
{id: 803, start:881077, end:881400, name:"PA0802", strand:1},
{id: 804, start:881486, end:881926, name:"PA0803", strand:1},
{id: 805, start:881958, end:882779, name:"PA0804", strand:1},
{id: 806, start:882989, end:883216, name:"PA0805", strand:-1},
{id: 807, start:883777, end:884172, name:"PA0806", strand:1},
{id: 808, start:884799, end:885566, name:"PA0807", strand:1},
{id: 809, start:885635, end:886108, name:"PA0808", strand:1},
{id: 810, start:886160, end:887476, name:"PA0809", strand:-1},
{id: 811, start:887583, end:888284, name:"PA0810", strand:-1},
{id: 812, start:888315, end:889562, name:"PA0811", strand:-1},
{id: 813, start:889559, end:890854, name:"PA0812", strand:-1},
{id: 814, start:891142, end:892389, name:"PA0813", strand:-1},
{id: 815, start:892386, end:892820, name:"PA0814", strand:-1},
{id: 816, start:893041, end:893994, name:"PA0815", strand:1},
{id: 817, start:893967, end:894851, name:"PA0816", strand:-1},
{id: 818, start:894952, end:895377, name:"PA0817", strand:1},
{id: 819, start:895396, end:895668, name:"PA0818", strand:-1},
{id: 820, start:895824, end:896117, name:"PA0819", strand:1},
{id: 821, start:896416, end:897228, name:"PA0820", strand:1},
{id: 822, start:897335, end:898423, name:"PA0821", strand:-1},
{id: 823, start:898440, end:898886, name:"PA0822", strand:-1},
{id: 824, start:898908, end:899141, name:"PA0823", strand:-1},
{id: 825, start:899138, end:899656, name:"PA0824", strand:-1},
{id: 826, start:899830, end:900165, name:"PA0825", strand:-1},
{id: 827, start:900408, end:901046, name:"PA0826", strand:-1},
{id: 828, start:901746, end:901779, name:"PA0826.1", strand:-1},
{id: 829, start:901934, end:902812, name:"PA0827", strand:-1},
{id: 830, start:902900, end:903583, name:"PA0828", strand:1},
{id: 831, start:903692, end:904633, name:"PA0829", strand:1},
{id: 832, start:904768, end:905601, name:"PA0830", strand:-1},
{id: 833, start:905726, end:906745, name:"PA0831", strand:1},
{id: 834, start:906847, end:907488, name:"PA0832", strand:1},
{id: 835, start:907594, end:908307, name:"PA0833", strand:1},
{id: 836, start:908377, end:909291, name:"PA0834", strand:-1},
{id: 837, start:909418, end:911532, name:"PA0835", strand:-1},
{id: 838, start:911595, end:912779, name:"PA0836", strand:-1},
{id: 839, start:913086, end:913571, name:"PA0837", strand:1},
{id: 840, start:913777, end:914259, name:"PA0838", strand:1},
{id: 841, start:914412, end:915002, name:"PA0839", strand:1},
{id: 842, start:915043, end:916155, name:"PA0840", strand:1},
{id: 843, start:916346, end:917305, name:"PA0841", strand:1},
{id: 844, start:917309, end:918529, name:"PA0842", strand:-1},
{id: 845, start:918617, end:919240, name:"PA0843", strand:-1},
{id: 846, start:919258, end:921450, name:"PA0844", strand:-1},
{id: 847, start:921792, end:923804, name:"PA0845", strand:-1},
{id: 848, start:924182, end:924922, name:"PA0846", strand:-1},
{id: 849, start:925007, end:927214, name:"PA0847", strand:-1},
{id: 850, start:927147, end:927746, name:"PA0848", strand:1},
{id: 851, start:927880, end:928830, name:"PA0849", strand:1},
{id: 852, start:929084, end:929503, name:"PA0850", strand:1},
{id: 853, start:929514, end:930476, name:"PA0851", strand:-1},
{id: 854, start:930653, end:931822, name:"PA0852", strand:-1},
{id: 855, start:932102, end:932725, name:"PA0853", strand:-1},
{id: 856, start:932718, end:934112, name:"PA0854", strand:-1},
{id: 857, start:934241, end:935260, name:"PA0855", strand:-1},
{id: 858, start:935427, end:935975, name:"PA0856", strand:1},
{id: 859, start:935989, end:936294, name:"PA0857", strand:1},
{id: 860, start:936459, end:937397, name:"PA0858", strand:1},
{id: 861, start:937437, end:938039, name:"PA0859", strand:1},
{id: 862, start:938032, end:939822, name:"PA0860", strand:1},
{id: 863, start:940117, end:942573, name:"PA0861", strand:1},
{id: 864, start:942648, end:943430, name:"PA0862", strand:1},
{id: 865, start:943482, end:944441, name:"PA0863", strand:-1},
{id: 866, start:944724, end:945512, name:"PA0864", strand:-1},
{id: 867, start:945834, end:946907, name:"PA0865", strand:1},
{id: 868, start:947205, end:948623, name:"PA0866", strand:1},
{id: 869, start:948776, end:949159, name:"PA0867", strand:1},
{id: 870, start:949280, end:949693, name:"PA0868", strand:1},
{id: 871, start:949716, end:950648, name:"PA0869", strand:-1},
{id: 872, start:950962, end:952161, name:"PA0870", strand:-1},
{id: 873, start:952158, end:952514, name:"PA0871", strand:-1},
{id: 874, start:952619, end:953407, name:"PA0872", strand:-1},
{id: 875, start:953691, end:955250, name:"PA0873", strand:1},
{id: 876, start:955456, end:955722, name:"PA0874", strand:-1},
{id: 877, start:955991, end:958186, name:"PA0875", strand:-1},
{id: 878, start:958406, end:959350, name:"PA0876", strand:1},
{id: 879, start:959484, end:960380, name:"PA0877", strand:-1},
{id: 880, start:960497, end:961324, name:"PA0878", strand:1},
{id: 881, start:961370, end:962530, name:"PA0879", strand:1},
{id: 882, start:962545, end:962925, name:"PA0880", strand:1},
{id: 883, start:962964, end:964316, name:"PA0881", strand:1},
{id: 884, start:964372, end:965574, name:"PA0882", strand:1},
{id: 885, start:965585, end:966412, name:"PA0883", strand:1},
{id: 886, start:966526, end:967521, name:"PA0884", strand:1},
{id: 887, start:967570, end:968208, name:"PA0885", strand:1},
{id: 888, start:968205, end:969488, name:"PA0886", strand:1},
{id: 889, start:969670, end:971625, name:"PA0887", strand:1},
{id: 890, start:972166, end:972945, name:"PA0888", strand:1},
{id: 891, start:973064, end:973753, name:"PA0889", strand:1},
{id: 892, start:973770, end:974468, name:"PA0890", strand:1},
{id: 893, start:974482, end:975594, name:"PA0891", strand:1},
{id: 894, start:975613, end:976377, name:"PA0892", strand:1},
{id: 895, start:976410, end:977399, name:"PA0893", strand:1},
{id: 896, start:977420, end:977743, name:"PA0894", strand:-1},
{id: 897, start:977910, end:979130, name:"PA0895", strand:1},
{id: 898, start:979329, end:980345, name:"PA0896", strand:1},
{id: 899, start:980357, end:981379, name:"PA0897", strand:1},
{id: 900, start:981422, end:982888, name:"PA0898", strand:1},
{id: 901, start:982885, end:984231, name:"PA0899", strand:1},
{id: 902, start:984245, end:984535, name:"PA0900", strand:1},
{id: 903, start:984549, end:985547, name:"PA0901", strand:1},
{id: 904, start:985692, end:986696, name:"PA0902", strand:1},
{id: 905, start:986818, end:989442, name:"PA0903", strand:1},
{id: 906, start:989590, end:990828, name:"PA0904", strand:1},
{id: 907, start:991013, end:991198, name:"PA0905", strand:1},
{id: 908, start:991830, end:992543, name:"PA0906", strand:-1},
{id: 909, start:992714, end:993244, name:"PA0907", strand:1},
{id: 910, start:993409, end:993783, name:"PA0908", strand:1},
{id: 911, start:993776, end:994051, name:"PA0909", strand:1},
{id: 912, start:994143, end:994646, name:"PA0910", strand:1},
{id: 913, start:994699, end:995151, name:"PA0911", strand:1},
{id: 914, start:995172, end:995711, name:"PA0912", strand:-1},
{id: 915, start:996038, end:997486, name:"PA0913", strand:1},
{id: 916, start:997536, end:997928, name:"PA0914", strand:-1},
{id: 917, start:997921, end:998382, name:"PA0915", strand:-1},
{id: 918, start:998444, end:999766, name:"PA0916", strand:-1},
{id: 919, start:1000013, end:1001917, name:"PA0917", strand:1},
{id: 920, start:1001972, end:1002520, name:"PA0918", strand:-1},
{id: 921, start:1002681, end:1003964, name:"PA0919", strand:-1},
{id: 922, start:1003966, end:1006611, name:"PA0920", strand:-1},
{id: 923, start:1006860, end:1007219, name:"PA0921", strand:1},
{id: 924, start:1007234, end:1007548, name:"PA0922", strand:-1},
{id: 925, start:1007950, end:1008999, name:"PA0923", strand:1},
{id: 926, start:1009006, end:1010934, name:"PA0924", strand:-1},
{id: 927, start:1011047, end:1011454, name:"PA0925", strand:-1},
{id: 928, start:1011522, end:1011947, name:"PA0926", strand:-1},
{id: 929, start:1011983, end:1012972, name:"PA0927", strand:-1},
{id: 930, start:1012975, end:1015752, name:"PA0928", strand:-1},
{id: 931, start:1015938, end:1016657, name:"PA0929", strand:1},
{id: 932, start:1016657, end:1017994, name:"PA0930", strand:1},
{id: 933, start:1018230, end:1020458, name:"PA0931", strand:1},
{id: 934, start:1020708, end:1021607, name:"PA0932", strand:1},
{id: 935, start:1021616, end:1022968, name:"PA0933", strand:1},
{id: 936, start:1023053, end:1025296, name:"PA0934", strand:1},
{id: 937, start:1025401, end:1026231, name:"PA0935", strand:1},
{id: 938, start:1026274, end:1027212, name:"PA0936", strand:-1},
{id: 939, start:1027445, end:1027984, name:"PA0937", strand:1},
{id: 940, start:1028172, end:1029500, name:"PA0938", strand:1},
{id: 941, start:1029825, end:1030151, name:"PA0939", strand:-1},
{id: 942, start:1030157, end:1030411, name:"PA0940", strand:-1},
{id: 943, start:1030423, end:1030656, name:"PA0941", strand:-1},
{id: 944, start:1030772, end:1031332, name:"PA0942", strand:1},
{id: 945, start:1031386, end:1032102, name:"PA0943", strand:-1},
{id: 946, start:1032095, end:1032763, name:"PA0944", strand:-1},
{id: 947, start:1032763, end:1033824, name:"PA0945", strand:-1},
{id: 948, start:1034038, end:1035075, name:"PA0946", strand:1},
{id: 949, start:1035277, end:1035981, name:"PA0947", strand:1},
{id: 950, start:1036158, end:1036577, name:"PA0948", strand:-1},
{id: 951, start:1036579, end:1037175, name:"PA0949", strand:-1},
{id: 952, start:1037172, end:1037525, name:"PA0950", strand:-1},
{id: 953, start:1037650, end:1038885, name:"PA0951", strand:1},
{id: 954, start:1039240, end:1039623, name:"PA0952", strand:-1},
{id: 955, start:1039968, end:1040432, name:"PA0953", strand:1},
{id: 956, start:1040432, end:1040707, name:"PA0954", strand:1},
{id: 957, start:1040724, end:1041680, name:"PA0955", strand:-1},
{id: 958, start:1041689, end:1043404, name:"PA0956", strand:-1},
{id: 959, start:1043512, end:1043919, name:"PA0957", strand:1},
{id: 960, start:1043983, end:1045314, name:"PA0958", strand:-1},
{id: 961, start:1045832, end:1046461, name:"PA0959", strand:1},
{id: 962, start:1046462, end:1046671, name:"PA0960", strand:1},
{id: 963, start:1046720, end:1046911, name:"PA0961", strand:-1},
{id: 964, start:1047549, end:1048019, name:"PA0962", strand:-1},
{id: 965, start:1048459, end:1050234, name:"PA0963", strand:1},
{id: 966, start:1050301, end:1051047, name:"PA0964", strand:1},
{id: 967, start:1051132, end:1051656, name:"PA0965", strand:1},
{id: 968, start:1051673, end:1052278, name:"PA0966", strand:1},
{id: 969, start:1052289, end:1053347, name:"PA0967", strand:1},
{id: 970, start:1053400, end:1053846, name:"PA0968", strand:1},
{id: 971, start:1053848, end:1054543, name:"PA0969", strand:1},
{id: 972, start:1054566, end:1055006, name:"PA0970", strand:1},
{id: 973, start:1055009, end:1056052, name:"PA0971", strand:1},
{id: 974, start:1056049, end:1057347, name:"PA0972", strand:1},
{id: 975, start:1057400, end:1057906, name:"PA0973", strand:1},
{id: 976, start:1057916, end:1058740, name:"PA0974", strand:1},
{id: 977, start:1058812, end:1059606, name:"PA0975", strand:1},
{id: 978, start:1059622, end:1060296, name:"PA0976", strand:1},
{id: 979, start:1060510, end:1060833, name:"PA0977", strand:-1},
{id: 980, start:1061207, end:1062034, name:"PA0978", strand:-1},
{id: 981, start:1062061, end:1062369, name:"PA0979", strand:-1},
{id: 982, start:1062601, end:1062885, name:"PA0980", strand:1},
{id: 983, start:1062921, end:1063544, name:"PA0981", strand:1},
{id: 984, start:1064555, end:1065103, name:"PA0982", strand:-1},
{id: 985, start:1065138, end:1065425, name:"PA0983", strand:1},
{id: 986, start:1065970, end:1066296, name:"PA0984", strand:1},
{id: 987, start:1066321, end:1067817, name:"PA0985", strand:-1},
{id: 988, start:1068193, end:1068456, name:"PA0986", strand:1},
{id: 989, start:1068489, end:1069331, name:"PA0987", strand:1},
{id: 990, start:1069769, end:1070173, name:"PA0988", strand:1},
{id: 991, start:1070294, end:1070854, name:"PA0989", strand:-1},
{id: 992, start:1071239, end:1071877, name:"PA0990", strand:-1},
{id: 993, start:1072462, end:1072839, name:"PA0991", strand:1},
{id: 994, start:1073285, end:1073902, name:"PA0992", strand:1},
{id: 995, start:1073960, end:1074673, name:"PA0993", strand:1},
{id: 996, start:1074784, end:1077303, name:"PA0994", strand:1},
{id: 997, start:1077383, end:1077904, name:"PA0995", strand:-1},
{id: 998, start:1078462, end:1080015, name:"PA0996", strand:1},
{id: 999, start:1080009, end:1080860, name:"PA0997", strand:1},
{id: 1000, start:1080853, end:1081899, name:"PA0998", strand:1},
{id: 1001, start:1081942, end:1082955, name:"PA0999", strand:1},
{id: 1002, start:1082949, end:1083854, name:"PA1000", strand:1},
{id: 1003, start:1083972, end:1085564, name:"PA1001", strand:1},
{id: 1004, start:1085542, end:1086144, name:"PA1002", strand:1},
{id: 1005, start:1086097, end:1087095, name:"PA1003", strand:-1},
{id: 1006, start:1087843, end:1088901, name:"PA1004", strand:1},
{id: 1007, start:1089010, end:1090443, name:"PA1005", strand:-1},
{id: 1008, start:1090606, end:1090857, name:"PA1006", strand:1},
{id: 1009, start:1090891, end:1091964, name:"PA1007", strand:1},
{id: 1010, start:1092025, end:1092498, name:"PA1008", strand:-1},
{id: 1011, start:1092510, end:1093067, name:"PA1009", strand:-1},
{id: 1012, start:1093251, end:1094129, name:"PA1010", strand:1},
{id: 1013, start:1094147, end:1095337, name:"PA1011", strand:1},
{id: 1014, start:1095276, end:1096034, name:"PA1012", strand:1},
{id: 1015, start:1096063, end:1096773, name:"PA1013", strand:1},
{id: 1016, start:1097296, end:1098288, name:"PA1014", strand:1},
{id: 1017, start:1098328, end:1099128, name:"PA1015", strand:-1},
{id: 1018, start:1099669, end:1100820, name:"PA1016", strand:1},
{id: 1019, start:1100930, end:1103077, name:"PA1017", strand:1},
{id: 1020, start:1103061, end:1103927, name:"PA1018", strand:1},
{id: 1021, start:1104009, end:1105364, name:"PA1019", strand:1},
{id: 1022, start:1105888, end:1107000, name:"PA1020", strand:1},
{id: 1023, start:1107000, end:1107761, name:"PA1021", strand:1},
{id: 1024, start:1107763, end:1108908, name:"PA1022", strand:1},
{id: 1025, start:1108949, end:1109866, name:"PA1023", strand:1},
{id: 1026, start:1109882, end:1110868, name:"PA1024", strand:1},
{id: 1027, start:1110947, end:1112197, name:"PA1025", strand:1},
{id: 1028, start:1112574, end:1113050, name:"PA1026", strand:-1},
{id: 1029, start:1113129, end:1114718, name:"PA1027", strand:1},
{id: 1030, start:1114774, end:1116060, name:"PA1028", strand:1},
{id: 1031, start:1116213, end:1116500, name:"PA1029", strand:1},
{id: 1032, start:1116635, end:1117390, name:"PA1030", strand:1},
{id: 1033, start:1118158, end:1119519, name:"PA1031", strand:1},
{id: 1034, start:1119674, end:1122217, name:"PA1032", strand:-1},
{id: 1035, start:1122340, end:1122981, name:"PA1033", strand:-1},
{id: 1036, start:1123148, end:1123348, name:"PA1034", strand:-1},
{id: 1037, start:1123356, end:1123850, name:"PA1035", strand:-1},
{id: 1038, start:1124165, end:1124725, name:"PA1036", strand:1},
{id: 1039, start:1124845, end:1125465, name:"PA1037", strand:-1},
{id: 1040, start:1125548, end:1125865, name:"PA1038", strand:-1},
{id: 1041, start:1125865, end:1126338, name:"PA1039", strand:-1},
{id: 1042, start:1126341, end:1126838, name:"PA1040", strand:-1},
{id: 1043, start:1126969, end:1127601, name:"PA1041", strand:1},
{id: 1044, start:1127717, end:1128016, name:"PA1042", strand:1},
{id: 1045, start:1128009, end:1128818, name:"PA1043", strand:1},
{id: 1046, start:1128857, end:1129321, name:"PA1044", strand:-1},
{id: 1047, start:1129451, end:1131595, name:"PA1045", strand:1},
{id: 1048, start:1131674, end:1133947, name:"PA1046", strand:1},
{id: 1049, start:1134024, end:1135202, name:"PA1047", strand:1},
{id: 1050, start:1135408, end:1136289, name:"PA1048", strand:1},
{id: 1051, start:1136388, end:1137035, name:"PA1049", strand:1},
{id: 1052, start:1137043, end:1138155, name:"PA1050", strand:1},
{id: 1053, start:1138314, end:1139672, name:"PA1051", strand:1},
{id: 1054, start:1139714, end:1140859, name:"PA1052", strand:1},
{id: 1055, start:1141268, end:1141732, name:"PA1053", strand:1},
{id: 1056, start:1142061, end:1144862, name:"PA1054", strand:1},
{id: 1057, start:1144862, end:1145200, name:"PA1055", strand:1},
{id: 1058, start:1145197, end:1146696, name:"PA1056", strand:1},
{id: 1059, start:1146693, end:1147217, name:"PA1057", strand:1},
{id: 1060, start:1147202, end:1147471, name:"PA1058", strand:1},
{id: 1061, start:1147468, end:1147815, name:"PA1059", strand:1},
{id: 1062, start:1147928, end:1148833, name:"PA1060", strand:1},
{id: 1063, start:1148844, end:1149941, name:"PA1061", strand:1},
{id: 1064, start:1149952, end:1150473, name:"PA1062", strand:1},
{id: 1065, start:1150470, end:1150721, name:"PA1063", strand:1},
{id: 1066, start:1150750, end:1151415, name:"PA1064", strand:-1},
{id: 1067, start:1151435, end:1151908, name:"PA1065", strand:1},
{id: 1068, start:1151919, end:1152575, name:"PA1066", strand:-1},
{id: 1069, start:1152624, end:1153538, name:"PA1067", strand:1},
{id: 1070, start:1153637, end:1155547, name:"PA1068", strand:1},
{id: 1071, start:1155584, end:1157878, name:"PA1069", strand:1},
{id: 1072, start:1157954, end:1158655, name:"PA1070", strand:-1},
{id: 1073, start:1158658, end:1159425, name:"PA1071", strand:-1},
{id: 1074, start:1159422, end:1160675, name:"PA1072", strand:-1},
{id: 1075, start:1160672, end:1161595, name:"PA1073", strand:-1},
{id: 1076, start:1161856, end:1162977, name:"PA1074", strand:-1},
{id: 1077, start:1163276, end:1163593, name:"PA1075", strand:1},
{id: 1078, start:1163660, end:1164022, name:"PA1076", strand:1},
{id: 1079, start:1164275, end:1164682, name:"PA1077", strand:1},
{id: 1080, start:1164688, end:1165128, name:"PA1078", strand:1},
{id: 1081, start:1165141, end:1165854, name:"PA1079", strand:1},
{id: 1082, start:1165882, end:1167270, name:"PA1080", strand:1},
{id: 1083, start:1167488, end:1168237, name:"PA1081", strand:1},
{id: 1084, start:1168284, end:1169069, name:"PA1082", strand:1},
{id: 1085, start:1169115, end:1169810, name:"PA1083", strand:1},
{id: 1086, start:1169822, end:1170931, name:"PA1084", strand:1},
{id: 1087, start:1170942, end:1172144, name:"PA1085", strand:1},
{id: 1088, start:1172163, end:1174214, name:"PA1086", strand:1},
{id: 1089, start:1174240, end:1175559, name:"PA1087", strand:1},
{id: 1090, start:1175614, end:1176375, name:"PA1088", strand:1},
{id: 1091, start:1176380, end:1176982, name:"PA1089", strand:1},
{id: 1092, start:1176958, end:1177620, name:"PA1090", strand:1},
{id: 1093, start:1177613, end:1182697, name:"PA1091", strand:1},
{id: 1094, start:1183058, end:1184524, name:"PA1092", strand:1},
{id: 1095, start:1184603, end:1184974, name:"PA1093", strand:1},
{id: 1096, start:1185060, end:1186484, name:"PA1094", strand:1},
{id: 1097, start:1186606, end:1186986, name:"PA1095", strand:1},
{id: 1098, start:1187009, end:1187305, name:"PA1096", strand:1},
{id: 1099, start:1187587, end:1189059, name:"PA1097", strand:1},
{id: 1100, start:1189172, end:1190380, name:"PA1098", strand:1},
{id: 1101, start:1190385, end:1191806, name:"PA1099", strand:1},
{id: 1102, start:1192053, end:1192382, name:"PA1100", strand:1},
{id: 1103, start:1192405, end:1194201, name:"PA1101", strand:1},
{id: 1104, start:1194207, end:1195223, name:"PA1102", strand:1},
{id: 1105, start:1195225, end:1196031, name:"PA1103", strand:1},
{id: 1106, start:1196021, end:1197376, name:"PA1104", strand:1},
{id: 1107, start:1197390, end:1197833, name:"PA1105", strand:1},
{id: 1108, start:1197838, end:1198551, name:"PA1106", strand:-1},
{id: 1109, start:1198750, end:1199946, name:"PA1107", strand:-1},
{id: 1110, start:1200063, end:1201220, name:"PA1108", strand:-1},
{id: 1111, start:1201310, end:1202089, name:"PA1109", strand:1},
{id: 1112, start:1202094, end:1202804, name:"PA1110", strand:-1},
{id: 1113, start:1202917, end:1203540, name:"PA1111", strand:1},
{id: 1114, start:1203633, end:1204781, name:"PA1112", strand:1},
{id: 1115, start:1205771, end:1207537, name:"PA1113", strand:1},
{id: 1116, start:1207540, end:1207875, name:"PA1114", strand:-1},
{id: 1117, start:1207979, end:1210303, name:"PA1115", strand:-1},
{id: 1118, start:1210558, end:1211397, name:"PA1116", strand:1},
{id: 1119, start:1211407, end:1211781, name:"PA1117", strand:-1},
{id: 1120, start:1211888, end:1212571, name:"PA1118", strand:-1},
{id: 1121, start:1212717, end:1213223, name:"PA1119", strand:-1},
{id: 1122, start:1213195, end:1214502, name:"PA1120", strand:-1},
{id: 1123, start:1214502, end:1215074, name:"PA1121", strand:-1},
{id: 1124, start:1215284, end:1215727, name:"PA1122", strand:1},
{id: 1125, start:1216120, end:1216440, name:"PA1123", strand:-1},
{id: 1126, start:1216671, end:1218167, name:"PA1124", strand:1},
{id: 1127, start:1218181, end:1218933, name:"PA1125", strand:1},
{id: 1128, start:1218940, end:1219527, name:"PA1126", strand:-1},
{id: 1129, start:1219621, end:1220610, name:"PA1127", strand:-1},
{id: 1130, start:1220745, end:1221656, name:"PA1128", strand:1},
{id: 1131, start:1221691, end:1222098, name:"PA1129", strand:1},
{id: 1132, start:1222095, end:1223072, name:"PA1130", strand:-1},
{id: 1133, start:1223060, end:1224328, name:"PA1131", strand:-1},
{id: 1134, start:1224641, end:1225330, name:"PA1132", strand:1},
{id: 1135, start:1225340, end:1225690, name:"PA1133", strand:-1},
{id: 1136, start:1225757, end:1226278, name:"PA1134", strand:-1},
{id: 1137, start:1226427, end:1227302, name:"PA1135", strand:-1},
{id: 1138, start:1227474, end:1228205, name:"PA1136", strand:1},
{id: 1139, start:1228212, end:1229198, name:"PA1137", strand:-1},
{id: 1140, start:1229344, end:1230219, name:"PA1138", strand:1},
{id: 1141, start:1230310, end:1231158, name:"PA1139", strand:1},
{id: 1142, start:1231256, end:1232092, name:"PA1140", strand:-1},
{id: 1143, start:1232229, end:1233131, name:"PA1141", strand:-1},
{id: 1144, start:1233297, end:1234013, name:"PA1142", strand:-1},
{id: 1145, start:1234095, end:1234748, name:"PA1143", strand:-1},
{id: 1146, start:1234816, end:1236150, name:"PA1144", strand:-1},
{id: 1147, start:1236644, end:1237546, name:"PA1145", strand:1},
{id: 1148, start:1237551, end:1238732, name:"PA1146", strand:-1},
{id: 1149, start:1238834, end:1240324, name:"PA1147", strand:-1},
{id: 1150, start:1240584, end:1242500, name:"PA1148", strand:-1},
{id: 1151, start:1242750, end:1243118, name:"PA1149", strand:-1},
{id: 1152, start:1243594, end:1245663, name:"PA1150", strand:1},
{id: 1153, start:1245665, end:1245928, name:"PA1151", strand:1},
{id: 1154, start:1246444, end:1246788, name:"PA1152", strand:1},
{id: 1155, start:1247932, end:1248486, name:"PA1153", strand:-1},
{id: 1156, start:1249019, end:1249552, name:"PA1154", strand:-1},
{id: 1157, start:1249907, end:1251154, name:"PA1155", strand:-1},
{id: 1158, start:1251418, end:1254309, name:"PA1156", strand:-1},
{id: 1159, start:1255042, end:1255752, name:"PA1157", strand:1},
{id: 1160, start:1256094, end:1257452, name:"PA1158", strand:1},
{id: 1161, start:1257772, end:1257981, name:"PA1159", strand:1},
{id: 1162, start:1258087, end:1258470, name:"PA1160", strand:-1},
{id: 1163, start:1258488, end:1259291, name:"PA1161", strand:-1},
{id: 1164, start:1259291, end:1260442, name:"PA1162", strand:-1},
{id: 1165, start:1260557, end:1263166, name:"PA1163", strand:-1},
{id: 1166, start:1263378, end:1264190, name:"PA1164", strand:1},
{id: 1167, start:1264191, end:1264919, name:"PA1165", strand:-1},
{id: 1168, start:1265147, end:1265935, name:"PA1166", strand:-1},
{id: 1169, start:1266111, end:1266782, name:"PA1167", strand:1},
{id: 1170, start:1267282, end:1267602, name:"PA1168", strand:1},
{id: 1171, start:1267680, end:1269737, name:"PA1169", strand:1},
{id: 1172, start:1269781, end:1270515, name:"PA1170", strand:-1},
{id: 1173, start:1270972, end:1272168, name:"PA1171", strand:1},
{id: 1174, start:1272200, end:1272796, name:"PA1172", strand:-1},
{id: 1175, start:1272807, end:1273298, name:"PA1173", strand:-1},
{id: 1176, start:1273309, end:1275798, name:"PA1174", strand:-1},
{id: 1177, start:1275795, end:1276124, name:"PA1175", strand:-1},
{id: 1178, start:1276117, end:1276608, name:"PA1176", strand:-1},
{id: 1179, start:1276617, end:1276784, name:"PA1177", strand:-1},
{id: 1180, start:1277006, end:1277608, name:"PA1178", strand:1},
{id: 1181, start:1277688, end:1278365, name:"PA1179", strand:1},
{id: 1182, start:1278362, end:1279708, name:"PA1180", strand:1},
{id: 1183, start:1279810, end:1283172, name:"PA1181", strand:1},
{id: 1184, start:1283176, end:1284177, name:"PA1182", strand:-1},
{id: 1185, start:1284513, end:1285823, name:"PA1183", strand:1},
{id: 1186, start:1285898, end:1286788, name:"PA1184", strand:-1},
{id: 1187, start:1286990, end:1287619, name:"PA1185", strand:1},
{id: 1188, start:1287616, end:1288635, name:"PA1186", strand:1},
{id: 1189, start:1288737, end:1289876, name:"PA1187", strand:1},
{id: 1190, start:1289965, end:1291146, name:"PA1188", strand:1},
{id: 1191, start:1291148, end:1291645, name:"PA1189", strand:-1},
{id: 1192, start:1291813, end:1292412, name:"PA1190", strand:-1},
{id: 1193, start:1292571, end:1293164, name:"PA1191", strand:-1},
{id: 1194, start:1293267, end:1294091, name:"PA1192", strand:1},
{id: 1195, start:1294138, end:1294809, name:"PA1193", strand:1},
{id: 1196, start:1294811, end:1296229, name:"PA1194", strand:-1},
{id: 1197, start:1296334, end:1297098, name:"PA1195", strand:-1},
{id: 1198, start:1297309, end:1298709, name:"PA1196", strand:1},
{id: 1199, start:1298722, end:1299492, name:"PA1197", strand:1},
{id: 1200, start:1299558, end:1300175, name:"PA1198", strand:1},
{id: 1201, start:1300258, end:1300791, name:"PA1199", strand:1},
{id: 1202, start:1300811, end:1301473, name:"PA1200", strand:1},
{id: 1203, start:1301481, end:1302395, name:"PA1201", strand:-1},
{id: 1204, start:1302696, end:1303313, name:"PA1202", strand:1},
{id: 1205, start:1303457, end:1303864, name:"PA1203", strand:1},
{id: 1206, start:1303892, end:1304449, name:"PA1204", strand:1},
{id: 1207, start:1304476, end:1305423, name:"PA1205", strand:1},
{id: 1208, start:1305583, end:1306056, name:"PA1206", strand:1},
{id: 1209, start:1306059, end:1307900, name:"PA1207", strand:1},
{id: 1210, start:1308067, end:1309566, name:"PA1208", strand:1},
{id: 1211, start:1309583, end:1310518, name:"PA1209", strand:-1},
{id: 1212, start:1310688, end:1311386, name:"PA1210", strand:-1},
{id: 1213, start:1311504, end:1312139, name:"PA1211", strand:-1},
{id: 1214, start:1312136, end:1313365, name:"PA1212", strand:-1},
{id: 1215, start:1313362, end:1314321, name:"PA1213", strand:-1},
{id: 1216, start:1314318, end:1315916, name:"PA1214", strand:-1},
{id: 1217, start:1315916, end:1317202, name:"PA1215", strand:-1},
{id: 1218, start:1317404, end:1318150, name:"PA1216", strand:-1},
{id: 1219, start:1318147, end:1319514, name:"PA1217", strand:-1},
{id: 1220, start:1319511, end:1320389, name:"PA1218", strand:-1},
{id: 1221, start:1320386, end:1321000, name:"PA1219", strand:-1},
{id: 1222, start:1320994, end:1322256, name:"PA1220", strand:-1},
{id: 1223, start:1322253, end:1324109, name:"PA1221", strand:-1},
{id: 1224, start:1324793, end:1325950, name:"PA1222", strand:-1},
{id: 1225, start:1326046, end:1326939, name:"PA1223", strand:-1},
{id: 1226, start:1327024, end:1327803, name:"PA1224", strand:1},
{id: 1227, start:1327813, end:1328439, name:"PA1225", strand:-1},
{id: 1228, start:1328545, end:1329153, name:"PA1226", strand:1},
{id: 1229, start:1329192, end:1330040, name:"PA1227", strand:1},
{id: 1230, start:1330117, end:1330467, name:"PA1228", strand:-1},
{id: 1231, start:1330577, end:1331383, name:"PA1229", strand:-1},
{id: 1232, start:1331517, end:1331714, name:"PA1230", strand:1},
{id: 1233, start:1331727, end:1332635, name:"PA1231", strand:1},
{id: 1234, start:1332635, end:1334674, name:"PA1232", strand:1},
{id: 1235, start:1334671, end:1334928, name:"PA1233", strand:1},
{id: 1236, start:1334950, end:1335453, name:"PA1234", strand:-1},
{id: 1237, start:1335645, end:1336427, name:"PA1235", strand:1},
{id: 1238, start:1336430, end:1337941, name:"PA1236", strand:-1},
{id: 1239, start:1337931, end:1339082, name:"PA1237", strand:-1},
{id: 1240, start:1339079, end:1340527, name:"PA1238", strand:-1},
{id: 1241, start:1340910, end:1341794, name:"PA1239", strand:-1},
{id: 1242, start:1341851, end:1342648, name:"PA1240", strand:-1},
{id: 1243, start:1342813, end:1343373, name:"PA1241", strand:1},
{id: 1244, start:1343453, end:1345225, name:"PA1242", strand:1},
{id: 1245, start:1345248, end:1347824, name:"PA1243", strand:-1},
{id: 1246, start:1348060, end:1348401, name:"PA1244", strand:-1},
{id: 1247, start:1349416, end:1350660, name:"PA1245", strand:1},
{id: 1248, start:1350747, end:1352528, name:"PA1246", strand:1},
{id: 1249, start:1352525, end:1353823, name:"PA1247", strand:1},
{id: 1250, start:1353827, end:1355272, name:"PA1248", strand:1},
{id: 1251, start:1355631, end:1357070, name:"PA1249", strand:1},
{id: 1252, start:1357317, end:1357712, name:"PA1250", strand:1},
{id: 1253, start:1357725, end:1359350, name:"PA1251", strand:-1},
{id: 1254, start:1359590, end:1360594, name:"PA1252", strand:1},
{id: 1255, start:1360698, end:1362278, name:"PA1253", strand:-1},
{id: 1256, start:1362371, end:1363288, name:"PA1254", strand:-1},
{id: 1257, start:1363439, end:1364473, name:"PA1255", strand:-1},
{id: 1258, start:1364499, end:1365221, name:"PA1256", strand:-1},
{id: 1259, start:1365218, end:1365862, name:"PA1257", strand:-1},
{id: 1260, start:1365873, end:1366538, name:"PA1258", strand:-1},
{id: 1261, start:1366538, end:1368280, name:"PA1259", strand:-1},
{id: 1262, start:1368339, end:1369160, name:"PA1260", strand:-1},
{id: 1263, start:1369418, end:1370092, name:"PA1261", strand:-1},
{id: 1264, start:1370257, end:1371699, name:"PA1262", strand:-1},
{id: 1265, start:1371738, end:1372682, name:"PA1263", strand:1},
{id: 1266, start:1372979, end:1373845, name:"PA1264", strand:-1},
{id: 1267, start:1373945, end:1374847, name:"PA1265", strand:1},
{id: 1268, start:1374844, end:1376097, name:"PA1266", strand:-1},
{id: 1269, start:1376327, end:1377442, name:"PA1267", strand:-1},
{id: 1270, start:1377439, end:1378383, name:"PA1268", strand:-1},
{id: 1271, start:1378500, end:1379168, name:"PA1269", strand:-1},
{id: 1272, start:1379413, end:1381452, name:"PA1270", strand:1},
{id: 1273, start:1381804, end:1383654, name:"PA1271", strand:1},
{id: 1274, start:1383718, end:1384329, name:"PA1272", strand:1},
{id: 1275, start:1384361, end:1385668, name:"PA1273", strand:1},
{id: 1276, start:1385670, end:1386326, name:"PA1274", strand:1},
{id: 1277, start:1386323, end:1387261, name:"PA1275", strand:1},
{id: 1278, start:1387254, end:1388249, name:"PA1276", strand:1},
{id: 1279, start:1388242, end:1389714, name:"PA1277", strand:1},
{id: 1280, start:1389707, end:1390228, name:"PA1278", strand:1},
{id: 1281, start:1390225, end:1391280, name:"PA1279", strand:1},
{id: 1282, start:1391277, end:1391861, name:"PA1280", strand:1},
{id: 1283, start:1391864, end:1392601, name:"PA1281", strand:1},
{id: 1284, start:1392564, end:1394069, name:"PA1282", strand:-1},
{id: 1285, start:1394188, end:1394748, name:"PA1283", strand:1},
{id: 1286, start:1394779, end:1396599, name:"PA1284", strand:-1},
{id: 1287, start:1396731, end:1397180, name:"PA1285", strand:1},
{id: 1288, start:1397254, end:1398453, name:"PA1286", strand:1},
{id: 1289, start:1398618, end:1399172, name:"PA1287", strand:1},
{id: 1290, start:1399231, end:1400505, name:"PA1288", strand:-1},
{id: 1291, start:1400711, end:1401190, name:"PA1289", strand:-1},
{id: 1292, start:1401412, end:1402005, name:"PA1290", strand:-1},
{id: 1293, start:1402117, end:1402956, name:"PA1291", strand:1},
{id: 1294, start:1402981, end:1403835, name:"PA1292", strand:-1},
{id: 1295, start:1404136, end:1405197, name:"PA1293", strand:-1},
{id: 1296, start:1405338, end:1406462, name:"PA1294", strand:1},
{id: 1297, start:1406459, end:1406752, name:"PA1295", strand:1},
{id: 1298, start:1407007, end:1407939, name:"PA1296", strand:1},
{id: 1299, start:1407951, end:1408931, name:"PA1297", strand:-1},
{id: 1300, start:1408999, end:1409274, name:"PA1298", strand:1},
{id: 1301, start:1409351, end:1409800, name:"PA1299", strand:1},
{id: 1302, start:1409949, end:1410476, name:"PA1300", strand:1},
{id: 1303, start:1410473, end:1411456, name:"PA1301", strand:1},
{id: 1304, start:1411585, end:1414140, name:"PA1302", strand:1},
{id: 1305, start:1414147, end:1414686, name:"PA1303", strand:-1},
{id: 1306, start:1414763, end:1416814, name:"PA1304", strand:-1},
{id: 1307, start:1416963, end:1417436, name:"PA1305", strand:1},
{id: 1308, start:1417500, end:1417961, name:"PA1306", strand:1},
{id: 1309, start:1417965, end:1418738, name:"PA1307", strand:1},
{id: 1310, start:1418765, end:1419289, name:"PA1308", strand:1},
{id: 1311, start:1419298, end:1420158, name:"PA1309", strand:-1},
{id: 1312, start:1420326, end:1421441, name:"PA1310", strand:1},
{id: 1313, start:1421477, end:1422304, name:"PA1311", strand:1},
{id: 1314, start:1422355, end:1423266, name:"PA1312", strand:-1},
{id: 1315, start:1423374, end:1424732, name:"PA1313", strand:1},
{id: 1316, start:1424746, end:1425132, name:"PA1314", strand:1},
{id: 1317, start:1425140, end:1425754, name:"PA1315", strand:-1},
{id: 1318, start:1425912, end:1427453, name:"PA1316", strand:1},
{id: 1319, start:1428080, end:1429075, name:"PA1317", strand:1},
{id: 1320, start:1429082, end:1431058, name:"PA1318", strand:1},
{id: 1321, start:1431062, end:1431691, name:"PA1319", strand:1},
{id: 1322, start:1431691, end:1432026, name:"PA1320", strand:1},
{id: 1323, start:1432037, end:1432927, name:"PA1321", strand:1},
{id: 1324, start:1433166, end:1435364, name:"PA1322", strand:1},
{id: 1325, start:1435493, end:1435825, name:"PA1323", strand:1},
{id: 1326, start:1435885, end:1436397, name:"PA1324", strand:1},
{id: 1327, start:1436663, end:1437070, name:"PA1325", strand:1},
{id: 1328, start:1437067, end:1438614, name:"PA1326", strand:1},
{id: 1329, start:1438706, end:1440676, name:"PA1327", strand:1},
{id: 1330, start:1440639, end:1441547, name:"PA1328", strand:-1},
{id: 1331, start:1441632, end:1442063, name:"PA1329", strand:1},
{id: 1332, start:1442069, end:1442848, name:"PA1330", strand:1},
{id: 1333, start:1442904, end:1444451, name:"PA1331", strand:-1},
{id: 1334, start:1444720, end:1445271, name:"PA1332", strand:-1},
{id: 1335, start:1445405, end:1445611, name:"PA1333", strand:-1},
{id: 1336, start:1445806, end:1446918, name:"PA1334", strand:-1},
{id: 1337, start:1447226, end:1448503, name:"PA1335", strand:-1},
{id: 1338, start:1448548, end:1450449, name:"PA1336", strand:-1},
{id: 1339, start:1450545, end:1451633, name:"PA1337", strand:-1},
{id: 1340, start:1451719, end:1453392, name:"PA1338", strand:-1},
{id: 1341, start:1453470, end:1454204, name:"PA1339", strand:-1},
{id: 1342, start:1454201, end:1454869, name:"PA1340", strand:-1},
{id: 1343, start:1454866, end:1455612, name:"PA1341", strand:-1},
{id: 1344, start:1455815, end:1456723, name:"PA1342", strand:-1},
{id: 1345, start:1457175, end:1457633, name:"PA1343", strand:1},
{id: 1346, start:1457729, end:1458523, name:"PA1344", strand:1},
{id: 1347, start:1458707, end:1460296, name:"PA1345", strand:1},
{id: 1348, start:1460307, end:1461854, name:"PA1346", strand:-1},
{id: 1349, start:1461938, end:1462630, name:"PA1347", strand:-1},
{id: 1350, start:1462696, end:1463403, name:"PA1348", strand:1},
{id: 1351, start:1463586, end:1463936, name:"PA1349", strand:1},
{id: 1352, start:1464111, end:1464860, name:"PA1350", strand:1},
{id: 1353, start:1464878, end:1466101, name:"PA1351", strand:1},
{id: 1354, start:1466109, end:1467320, name:"PA1352", strand:-1},
{id: 1355, start:1467488, end:1467901, name:"PA1353", strand:-1},
{id: 1356, start:1467938, end:1468363, name:"PA1354", strand:-1},
{id: 1357, start:1468510, end:1468890, name:"PA1355", strand:1},
{id: 1358, start:1468913, end:1470019, name:"PA1356", strand:1},
{id: 1359, start:1470088, end:1470564, name:"PA1357", strand:1},
{id: 1360, start:1470580, end:1470978, name:"PA1358", strand:-1},
{id: 1361, start:1471016, end:1471672, name:"PA1359", strand:-1},
{id: 1362, start:1471671, end:1472564, name:"PA1360", strand:1},
{id: 1363, start:1472547, end:1473980, name:"PA1361", strand:-1},
{id: 1364, start:1474391, end:1474714, name:"PA1362", strand:1},
{id: 1365, start:1474727, end:1475467, name:"PA1363", strand:1},
{id: 1366, start:1475464, end:1476306, name:"PA1364", strand:1},
{id: 1367, start:1476384, end:1478825, name:"PA1365", strand:1},
{id: 1368, start:1479021, end:1479791, name:"PA1366", strand:-1},
{id: 1369, start:1480215, end:1481051, name:"PA1367", strand:-1},
{id: 1370, start:1481334, end:1482758, name:"PA1368", strand:-1},
{id: 1371, start:1483123, end:1483875, name:"PA1369", strand:1},
{id: 1372, start:1483898, end:1485763, name:"PA1370", strand:1},
{id: 1373, start:1486266, end:1486967, name:"PA1371", strand:-1},
{id: 1374, start:1486960, end:1489095, name:"PA1372", strand:-1},
{id: 1375, start:1489815, end:1491083, name:"PA1373", strand:-1},
{id: 1376, start:1491192, end:1491698, name:"PA1374", strand:1},
{id: 1377, start:1491913, end:1493055, name:"PA1375", strand:1},
{id: 1378, start:1493090, end:1494823, name:"PA1376", strand:-1},
{id: 1379, start:1494959, end:1495492, name:"PA1377", strand:1},
{id: 1380, start:1495635, end:1495997, name:"PA1378", strand:1},
{id: 1381, start:1496087, end:1496920, name:"PA1379", strand:-1},
{id: 1382, start:1497012, end:1497977, name:"PA1380", strand:1},
{id: 1383, start:1498338, end:1498829, name:"PA1381", strand:1},
{id: 1384, start:1498813, end:1501092, name:"PA1382", strand:1},
{id: 1385, start:1501611, end:1503416, name:"PA1383", strand:1},
{id: 1386, start:1503568, end:1504581, name:"PA1384", strand:1},
{id: 1387, start:1504605, end:1505729, name:"PA1385", strand:1},
{id: 1388, start:1505749, end:1507017, name:"PA1386", strand:1},
{id: 1389, start:1507164, end:1508720, name:"PA1387", strand:1},
{id: 1390, start:1508737, end:1509465, name:"PA1388", strand:1},
{id: 1391, start:1509562, end:1511046, name:"PA1389", strand:1},
{id: 1392, start:1511232, end:1512266, name:"PA1390", strand:1},
{id: 1393, start:1512260, end:1514035, name:"PA1391", strand:1},
{id: 1394, start:1514036, end:1515280, name:"PA1392", strand:1},
{id: 1395, start:1515337, end:1515927, name:"PA1393", strand:-1},
{id: 1396, start:1516433, end:1516687, name:"PA1394", strand:1},
{id: 1397, start:1516703, end:1517119, name:"PA1395", strand:1},
{id: 1398, start:1517146, end:1518768, name:"PA1396", strand:-1},
{id: 1399, start:1518914, end:1519546, name:"PA1397", strand:1},
{id: 1400, start:1519627, end:1519968, name:"PA1398", strand:1},
{id: 1401, start:1519984, end:1520904, name:"PA1399", strand:-1},
{id: 1402, start:1521109, end:1524396, name:"PA1400", strand:1},
{id: 1403, start:1524424, end:1524831, name:"PA1401", strand:-1},
{id: 1404, start:1524909, end:1525574, name:"PA1402", strand:-1},
{id: 1405, start:1525667, end:1526299, name:"PA1403", strand:1},
{id: 1406, start:1526430, end:1526657, name:"PA1404", strand:-1},
{id: 1407, start:1527191, end:1528783, name:"PA1405", strand:1},
{id: 1408, start:1528803, end:1529561, name:"PA1406", strand:-1},
{id: 1409, start:1529597, end:1530538, name:"PA1407", strand:-1},
{id: 1410, start:1530605, end:1533028, name:"PA1408", strand:-1},
{id: 1411, start:1533238, end:1534278, name:"PA1409", strand:1},
{id: 1412, start:1534289, end:1535380, name:"PA1410", strand:1},
{id: 1413, start:1535586, end:1536497, name:"PA1411", strand:1},
{id: 1414, start:1536457, end:1537650, name:"PA1412", strand:-1},
{id: 1415, start:1537755, end:1538627, name:"PA1413", strand:1},
{id: 1416, start:1538683, end:1538916, name:"PA1414", strand:1},
{id: 1417, start:1538976, end:1539704, name:"PA1415", strand:-1},
{id: 1418, start:1539749, end:1541131, name:"PA1416", strand:-1},
{id: 1419, start:1541145, end:1542746, name:"PA1417", strand:-1},
{id: 1420, start:1542822, end:1544213, name:"PA1418", strand:-1},
{id: 1421, start:1544307, end:1545818, name:"PA1419", strand:-1},
{id: 1422, start:1545837, end:1546256, name:"PA1420", strand:-1},
{id: 1423, start:1546271, end:1547230, name:"PA1421", strand:-1},
{id: 1424, start:1547437, end:1548330, name:"PA1422", strand:1},
{id: 1425, start:1548334, end:1549587, name:"PA1423", strand:-1},
{id: 1426, start:1549883, end:1550494, name:"PA1424", strand:1},
{id: 1427, start:1550984, end:1552600, name:"PA1425", strand:1},
{id: 1428, start:1552641, end:1552997, name:"PA1426", strand:1},
{id: 1429, start:1553112, end:1553675, name:"PA1427", strand:1},
{id: 1430, start:1554415, end:1554846, name:"PA1428", strand:1},
{id: 1431, start:1555012, end:1557720, name:"PA1429", strand:1},
{id: 1432, start:1558171, end:1558890, name:"PA1430", strand:1},
{id: 1433, start:1558880, end:1559122, name:"PA1431", strand:-1},
{id: 1434, start:1559254, end:1559859, name:"PA1432", strand:1},
{id: 1435, start:1559966, end:1561918, name:"PA1433", strand:-1},
{id: 1436, start:1561919, end:1562632, name:"PA1434", strand:-1},
{id: 1437, start:1562813, end:1563970, name:"PA1435", strand:1},
{id: 1438, start:1563967, end:1567077, name:"PA1436", strand:1},
{id: 1439, start:1567181, end:1567870, name:"PA1437", strand:1},
{id: 1440, start:1567848, end:1569293, name:"PA1438", strand:1},
{id: 1441, start:1569302, end:1569709, name:"PA1439", strand:-1},
{id: 1442, start:1569721, end:1570308, name:"PA1440", strand:-1},
{id: 1443, start:1570496, end:1571779, name:"PA1441", strand:1},
{id: 1444, start:1572023, end:1572544, name:"PA1442", strand:1},
{id: 1445, start:1572552, end:1573523, name:"PA1443", strand:1},
{id: 1446, start:1573551, end:1574024, name:"PA1444", strand:1},
{id: 1447, start:1574026, end:1574478, name:"PA1445", strand:1},
{id: 1448, start:1574475, end:1575242, name:"PA1446", strand:1},
{id: 1449, start:1575290, end:1575559, name:"PA1447", strand:1},
{id: 1450, start:1575559, end:1576335, name:"PA1448", strand:1},
{id: 1451, start:1576338, end:1577474, name:"PA1449", strand:1},
{id: 1452, start:1577547, end:1578806, name:"PA1450", strand:1},
{id: 1453, start:1578839, end:1580182, name:"PA1451", strand:1},
{id: 1454, start:1580321, end:1582444, name:"PA1452", strand:1},
{id: 1455, start:1582528, end:1583817, name:"PA1453", strand:1},
{id: 1456, start:1583956, end:1584798, name:"PA1454", strand:1},
{id: 1457, start:1584795, end:1585538, name:"PA1455", strand:1},
{id: 1458, start:1585640, end:1586014, name:"PA1456", strand:1},
{id: 1459, start:1586034, end:1586822, name:"PA1457", strand:1},
{id: 1460, start:1587023, end:1589284, name:"PA1458", strand:1},
{id: 1461, start:1589338, end:1590444, name:"PA1459", strand:1},
{id: 1462, start:1590533, end:1591273, name:"PA1460", strand:1},
{id: 1463, start:1591286, end:1592176, name:"PA1461", strand:1},
{id: 1464, start:1592271, end:1593059, name:"PA1462", strand:1},
{id: 1465, start:1593151, end:1594041, name:"PA1463", strand:1},
{id: 1466, start:1594087, end:1594566, name:"PA1464", strand:1},
{id: 1467, start:1594597, end:1595004, name:"PA1465", strand:1},
{id: 1468, start:1595032, end:1595718, name:"PA1466", strand:-1},
{id: 1469, start:1595827, end:1596798, name:"PA1467", strand:1},
{id: 1470, start:1596889, end:1597305, name:"PA1468", strand:1},
{id: 1471, start:1597365, end:1598087, name:"PA1469", strand:1},
{id: 1472, start:1598221, end:1598958, name:"PA1470", strand:1},
{id: 1473, start:1599024, end:1599320, name:"PA1471", strand:-1},
{id: 1474, start:1599428, end:1599982, name:"PA1472", strand:-1},
{id: 1475, start:1600083, end:1600418, name:"PA1473", strand:-1},
{id: 1476, start:1600415, end:1601893, name:"PA1474", strand:-1},
{id: 1477, start:1602179, end:1602880, name:"PA1475", strand:1},
{id: 1478, start:1602877, end:1603548, name:"PA1476", strand:1},
{id: 1479, start:1603671, end:1604429, name:"PA1477", strand:1},
{id: 1480, start:1604426, end:1604602, name:"PA1478", strand:1},
{id: 1481, start:1604599, end:1605087, name:"PA1479", strand:1},
{id: 1482, start:1605088, end:1607061, name:"PA1480", strand:1},
{id: 1483, start:1607065, end:1607607, name:"PA1481", strand:1},
{id: 1484, start:1607604, end:1608071, name:"PA1482", strand:1},
{id: 1485, start:1608068, end:1609291, name:"PA1483", strand:1},
{id: 1486, start:1609738, end:1610544, name:"PA1484", strand:-1},
{id: 1487, start:1610745, end:1612112, name:"PA1485", strand:1},
{id: 1488, start:1612126, end:1613226, name:"PA1486", strand:1},
{id: 1489, start:1613234, end:1614649, name:"PA1487", strand:-1},
{id: 1490, start:1614670, end:1615908, name:"PA1488", strand:-1},
{id: 1491, start:1615895, end:1617085, name:"PA1489", strand:-1},
{id: 1492, start:1617489, end:1618265, name:"PA1490", strand:-1},
{id: 1493, start:1618612, end:1619847, name:"PA1491", strand:1},
{id: 1494, start:1619907, end:1620263, name:"PA1492", strand:1},
{id: 1495, start:1620345, end:1621343, name:"PA1493", strand:-1},
{id: 1496, start:1621472, end:1623127, name:"PA1494", strand:-1},
{id: 1497, start:1623251, end:1623877, name:"PA1495", strand:-1},
{id: 1498, start:1623864, end:1624715, name:"PA1496", strand:-1},
{id: 1499, start:1624781, end:1625695, name:"PA1497", strand:-1},
{id: 1500, start:1626062, end:1627495, name:"PA1498", strand:-1},
{id: 1501, start:1627497, end:1628762, name:"PA1499", strand:-1},
{id: 1502, start:1629059, end:1629949, name:"PA1500", strand:-1},
{id: 1503, start:1630024, end:1630806, name:"PA1501", strand:-1},
{id: 1504, start:1630902, end:1632677, name:"PA1502", strand:-1},
{id: 1505, start:1633006, end:1633437, name:"PA1503", strand:1},
{id: 1506, start:1633842, end:1634492, name:"PA1504", strand:-1},
{id: 1507, start:1634728, end:1635723, name:"PA1505", strand:1},
{id: 1508, start:1635908, end:1636237, name:"PA1506", strand:1},
{id: 1509, start:1636329, end:1637696, name:"PA1507", strand:-1},
{id: 1510, start:1638379, end:1638639, name:"PA1508", strand:-1},
{id: 1511, start:1638652, end:1639794, name:"PA1509", strand:-1},
{id: 1512, start:1639791, end:1641500, name:"PA1510", strand:-1},
{id: 1513, start:1641497, end:1644025, name:"PA1511", strand:-1},
{id: 1514, start:1644207, end:1644725, name:"PA1512", strand:-1},
{id: 1515, start:1645211, end:1646488, name:"PA1513", strand:-1},
{id: 1516, start:1646537, end:1647046, name:"PA1514", strand:-1},
{id: 1517, start:1647101, end:1648099, name:"PA1515", strand:-1},
{id: 1518, start:1648117, end:1648632, name:"PA1516", strand:-1},
{id: 1519, start:1648629, end:1649555, name:"PA1517", strand:-1},
{id: 1520, start:1649928, end:1650308, name:"PA1518", strand:1},
{id: 1521, start:1650549, end:1651898, name:"PA1519", strand:-1},
{id: 1522, start:1652273, end:1653052, name:"PA1520", strand:1},
{id: 1523, start:1653106, end:1654410, name:"PA1521", strand:-1},
{id: 1524, start:1654480, end:1655319, name:"PA1522", strand:-1},
{id: 1525, start:1655346, end:1657745, name:"PA1523", strand:-1},
{id: 1526, start:1657738, end:1659192, name:"PA1524", strand:-1},
{id: 1527, start:1659413, end:1660546, name:"PA1525", strand:-1},
{id: 1528, start:1660727, end:1661386, name:"PA1526", strand:1},
{id: 1529, start:1661412, end:1664900, name:"PA1527", strand:1},
{id: 1530, start:1665065, end:1665934, name:"PA1528", strand:1},
{id: 1531, start:1666025, end:1668409, name:"PA1529", strand:1},
{id: 1532, start:1668455, end:1668832, name:"PA1530", strand:1},
{id: 1533, start:1669086, end:1669952, name:"PA1531", strand:-1},
{id: 1534, start:1669989, end:1672034, name:"PA1532", strand:1},
{id: 1535, start:1672080, end:1672406, name:"PA1533", strand:1},
{id: 1536, start:1672485, end:1673081, name:"PA1534", strand:1},
{id: 1537, start:1673204, end:1674352, name:"PA1535", strand:1},
{id: 1538, start:1674365, end:1674904, name:"PA1536", strand:-1},
{id: 1539, start:1674978, end:1675865, name:"PA1537", strand:-1},
{id: 1540, start:1675862, end:1677445, name:"PA1538", strand:-1},
{id: 1541, start:1677559, end:1678407, name:"PA1539", strand:1},
{id: 1542, start:1678261, end:1678590, name:"PA1540", strand:-1},
{id: 1543, start:1678584, end:1678952, name:"PA1541", strand:-1},
{id: 1544, start:1679361, end:1680197, name:"PA1542", strand:-1},
{id: 1545, start:1680437, end:1680985, name:"PA1543", strand:-1},
{id: 1546, start:1681071, end:1681805, name:"PA1544", strand:-1},
{id: 1547, start:1682051, end:1682518, name:"PA1545", strand:1},
{id: 1548, start:1682567, end:1683949, name:"PA1546", strand:-1},
{id: 1549, start:1684077, end:1684760, name:"PA1547", strand:-1},
{id: 1550, start:1684753, end:1684962, name:"PA1548", strand:-1},
{id: 1551, start:1684941, end:1687376, name:"PA1549", strand:-1},
{id: 1552, start:1687373, end:1687912, name:"PA1550", strand:-1},
{id: 1553, start:1687924, end:1689339, name:"PA1551", strand:-1},
{id: 1554, start:1689557, end:1690513, name:"PA1552", strand:-1},
{id: 1555, start:1690510, end:1690695, name:"PA1552.1", strand:-1},
{id: 1556, start:1690701, end:1691312, name:"PA1553", strand:-1},
{id: 1557, start:1691327, end:1692754, name:"PA1554", strand:-1},
{id: 1558, start:1693119, end:1694045, name:"PA1555", strand:-1},
{id: 1559, start:1694042, end:1694227, name:"PA1555.1", strand:-1},
{id: 1560, start:1694233, end:1694841, name:"PA1556", strand:-1},
{id: 1561, start:1694852, end:1696279, name:"PA1557", strand:-1},
{id: 1562, start:1696467, end:1697099, name:"PA1558", strand:1},
{id: 1563, start:1697188, end:1697919, name:"PA1559", strand:1},
{id: 1564, start:1697916, end:1698344, name:"PA1560", strand:1},
{id: 1565, start:1698382, end:1699947, name:"PA1561", strand:-1},
{id: 1566, start:1700320, end:1703052, name:"PA1562", strand:-1},
{id: 1567, start:1703379, end:1704437, name:"PA1563", strand:1},
{id: 1568, start:1704522, end:1704761, name:"PA1564", strand:1},
{id: 1569, start:1704793, end:1706103, name:"PA1565", strand:-1},
{id: 1570, start:1706172, end:1707536, name:"PA1566", strand:-1},
{id: 1571, start:1708004, end:1709401, name:"PA1567", strand:-1},
{id: 1572, start:1709412, end:1709765, name:"PA1568", strand:-1},
{id: 1573, start:1709821, end:1711191, name:"PA1569", strand:-1},
{id: 1574, start:1711569, end:1712450, name:"PA1570", strand:1},
{id: 1575, start:1712519, end:1712698, name:"PA1571", strand:-1},
{id: 1576, start:1712908, end:1714053, name:"PA1572", strand:1},
{id: 1577, start:1714064, end:1714660, name:"PA1573", strand:1},
{id: 1578, start:1714778, end:1715059, name:"PA1574", strand:-1},
{id: 1579, start:1715154, end:1715705, name:"PA1575", strand:-1},
{id: 1580, start:1715809, end:1716675, name:"PA1576", strand:1},
{id: 1581, start:1716682, end:1717023, name:"PA1577", strand:-1},
{id: 1582, start:1717139, end:1717894, name:"PA1578", strand:1},
{id: 1583, start:1718386, end:1718994, name:"PA1579", strand:1},
{id: 1584, start:1719109, end:1720395, name:"PA1580", strand:-1},
{id: 1585, start:1720744, end:1721130, name:"PA1581", strand:1},
{id: 1586, start:1721124, end:1721492, name:"PA1582", strand:1},
{id: 1587, start:1721496, end:1723268, name:"PA1583", strand:1},
{id: 1588, start:1723280, end:1723987, name:"PA1584", strand:1},
{id: 1589, start:1724244, end:1727075, name:"PA1585", strand:1},
{id: 1590, start:1727118, end:1728347, name:"PA1586", strand:1},
{id: 1591, start:1728416, end:1729852, name:"PA1587", strand:1},
{id: 1592, start:1730181, end:1731347, name:"PA1588", strand:1},
{id: 1593, start:1731347, end:1732234, name:"PA1589", strand:1},
{id: 1594, start:1732545, end:1733858, name:"PA1590", strand:1},
{id: 1595, start:1734004, end:1734768, name:"PA1591", strand:1},
{id: 1596, start:1734827, end:1735063, name:"PA1592", strand:-1},
{id: 1597, start:1735236, end:1735709, name:"PA1593", strand:1},
{id: 1598, start:1735706, end:1736152, name:"PA1594", strand:1},
{id: 1599, start:1736189, end:1737418, name:"PA1595", strand:1},
{id: 1600, start:1737536, end:1739440, name:"PA1596", strand:1},
{id: 1601, start:1739508, end:1740233, name:"PA1597", strand:1},
{id: 1602, start:1740244, end:1741065, name:"PA1598", strand:-1},
{id: 1603, start:1741146, end:1741928, name:"PA1599", strand:1},
{id: 1604, start:1741939, end:1743240, name:"PA1600", strand:-1},
{id: 1605, start:1743290, end:1745536, name:"PA1601", strand:-1},
{id: 1606, start:1745533, end:1746024, name:"PA1602", strand:-1},
{id: 1607, start:1746231, end:1746653, name:"PA1603", strand:-1},
{id: 1608, start:1746692, end:1747597, name:"PA1604", strand:-1},
{id: 1609, start:1747596, end:1748630, name:"PA1605", strand:1},
{id: 1610, start:1748699, end:1749175, name:"PA1606", strand:1},
{id: 1611, start:1749349, end:1749789, name:"PA1607", strand:-1},
{id: 1612, start:1749895, end:1751520, name:"PA1608", strand:-1},
{id: 1613, start:1751674, end:1752891, name:"PA1609", strand:-1},
{id: 1614, start:1752903, end:1753418, name:"PA1610", strand:-1},
{id: 1615, start:1753607, end:1755562, name:"PA1611", strand:-1},
{id: 1616, start:1755559, end:1756317, name:"PA1612", strand:-1},
{id: 1617, start:1756489, end:1758597, name:"PA1613", strand:-1},
{id: 1618, start:1758748, end:1759770, name:"PA1614", strand:1},
{id: 1619, start:1759784, end:1760125, name:"PA1615", strand:1},
{id: 1620, start:1760122, end:1760586, name:"PA1616", strand:1},
{id: 1621, start:1760713, end:1762380, name:"PA1617", strand:1},
{id: 1622, start:1762433, end:1762870, name:"PA1618", strand:1},
{id: 1623, start:1762928, end:1763752, name:"PA1619", strand:1},
{id: 1624, start:1763793, end:1764434, name:"PA1620", strand:1},
{id: 1625, start:1764536, end:1765348, name:"PA1621", strand:1},
{id: 1626, start:1765345, end:1766205, name:"PA1622", strand:1},
{id: 1627, start:1766285, end:1766947, name:"PA1623", strand:1},
{id: 1628, start:1766956, end:1767762, name:"PA1624", strand:1},
{id: 1629, start:1767928, end:1768995, name:"PA1625", strand:1},
{id: 1630, start:1769047, end:1770321, name:"PA1626", strand:-1},
{id: 1631, start:1770337, end:1770984, name:"PA1627", strand:-1},
{id: 1632, start:1771122, end:1772651, name:"PA1628", strand:-1},
{id: 1633, start:1772655, end:1773440, name:"PA1629", strand:-1},
{id: 1634, start:1773682, end:1774548, name:"PA1630", strand:1},
{id: 1635, start:1774603, end:1775757, name:"PA1631", strand:1},
{id: 1636, start:1775945, end:1776034, name:"PA1632", strand:1},
{id: 1637, start:1776045, end:1777739, name:"PA1633", strand:1},
{id: 1638, start:1777751, end:1779823, name:"PA1634", strand:1},
{id: 1639, start:1779877, end:1780428, name:"PA1635", strand:1},
{id: 1640, start:1780536, end:1783193, name:"PA1636", strand:1},
{id: 1641, start:1783294, end:1783986, name:"PA1637", strand:1},
{id: 1642, start:1784108, end:1785016, name:"PA1638", strand:1},
{id: 1643, start:1785127, end:1785732, name:"PA1639", strand:1},
{id: 1644, start:1785736, end:1786773, name:"PA1640", strand:-1},
{id: 1645, start:1786888, end:1787166, name:"PA1641", strand:1},
{id: 1646, start:1787250, end:1788284, name:"PA1642", strand:1},
{id: 1647, start:1788284, end:1789393, name:"PA1643", strand:1},
{id: 1648, start:1789857, end:1790465, name:"PA1644", strand:1},
{id: 1649, start:1790472, end:1790879, name:"PA1645", strand:-1},
{id: 1650, start:1791080, end:1793038, name:"PA1646", strand:1},
{id: 1651, start:1793019, end:1794740, name:"PA1647", strand:-1},
{id: 1652, start:1794883, end:1795887, name:"PA1648", strand:-1},
{id: 1653, start:1796138, end:1796899, name:"PA1649", strand:1},
{id: 1654, start:1797058, end:1797951, name:"PA1650", strand:1},
{id: 1655, start:1797958, end:1799154, name:"PA1651", strand:-1},
{id: 1656, start:1799385, end:1800020, name:"PA1652", strand:1},
{id: 1657, start:1800071, end:1800547, name:"PA1653", strand:-1},
{id: 1658, start:1800629, end:1801795, name:"PA1654", strand:1},
{id: 1659, start:1801851, end:1802453, name:"PA1655", strand:1},
{id: 1660, start:1803626, end:1805182, name:"PA1656", strand:1},
{id: 1661, start:1805218, end:1805724, name:"PA1657", strand:1},
{id: 1662, start:1805753, end:1807228, name:"PA1658", strand:1},
{id: 1663, start:1807241, end:1807648, name:"PA1659", strand:1},
{id: 1664, start:1808193, end:1809773, name:"PA1660", strand:1},
{id: 1665, start:1809737, end:1810744, name:"PA1661", strand:1},
{id: 1666, start:1810751, end:1813384, name:"PA1662", strand:1},
{id: 1667, start:1813395, end:1814906, name:"PA1663", strand:1},
{id: 1668, start:1814995, end:1815135, name:"PA1664", strand:1},
{id: 1669, start:1815153, end:1816346, name:"PA1665", strand:1},
{id: 1670, start:1816352, end:1816858, name:"PA1666", strand:1},
{id: 1671, start:1816855, end:1818186, name:"PA1667", strand:1},
{id: 1672, start:1818189, end:1819058, name:"PA1668", strand:1},
{id: 1673, start:1819074, end:1822601, name:"PA1669", strand:1},
{id: 1674, start:1822601, end:1823329, name:"PA1670", strand:1},
{id: 1675, start:1823326, end:1824315, name:"PA1671", strand:1},
{id: 1676, start:1824343, end:1824723, name:"PA1672", strand:-1},
{id: 1677, start:1824969, end:1825430, name:"PA1673", strand:1},
{id: 1678, start:1825495, end:1826040, name:"PA1674", strand:-1},
{id: 1679, start:1826118, end:1826675, name:"PA1675", strand:-1},
{id: 1680, start:1826732, end:1827052, name:"PA1676", strand:-1},
{id: 1681, start:1827225, end:1827821, name:"PA1677", strand:-1},
{id: 1682, start:1827992, end:1828906, name:"PA1678", strand:1},
{id: 1683, start:1828931, end:1829710, name:"PA1679", strand:-1},
{id: 1684, start:1829788, end:1830771, name:"PA1680", strand:-1},
{id: 1685, start:1830879, end:1831970, name:"PA1681", strand:1},
{id: 1686, start:1832014, end:1833165, name:"PA1682", strand:1},
{id: 1687, start:1833162, end:1833779, name:"PA1683", strand:1},
{id: 1688, start:1833776, end:1834321, name:"PA1684", strand:1},
{id: 1689, start:1834393, end:1835142, name:"PA1685", strand:1},
{id: 1690, start:1835325, end:1836218, name:"PA1686", strand:-1},
{id: 1691, start:1836367, end:1837227, name:"PA1687", strand:1},
{id: 1692, start:1837388, end:1838257, name:"PA1688", strand:1},
{id: 1693, start:1838260, end:1840362, name:"PA1689", strand:1},
{id: 1694, start:1840468, end:1841517, name:"PA1690", strand:-1},
{id: 1695, start:1841514, end:1842302, name:"PA1691", strand:-1},
{id: 1696, start:1842299, end:1842565, name:"PA1692", strand:-1},
{id: 1697, start:1842568, end:1843221, name:"PA1693", strand:-1},
{id: 1698, start:1843218, end:1844147, name:"PA1694", strand:-1},
{id: 1699, start:1844144, end:1845253, name:"PA1695", strand:-1},
{id: 1700, start:1845241, end:1845717, name:"PA1696", strand:-1},
{id: 1701, start:1845714, end:1847036, name:"PA1697", strand:-1},
{id: 1702, start:1847227, end:1848093, name:"PA1698", strand:1},
{id: 1703, start:1848074, end:1848352, name:"PA1699", strand:1},
{id: 1704, start:1848339, end:1848710, name:"PA1700", strand:1},
{id: 1705, start:1848707, end:1849072, name:"PA1701", strand:1},
{id: 1706, start:1849077, end:1849406, name:"PA1702", strand:1},
{id: 1707, start:1849403, end:1851523, name:"PA1703", strand:1},
{id: 1708, start:1851520, end:1851954, name:"PA1704", strand:1},
{id: 1709, start:1851982, end:1852278, name:"PA1705", strand:1},
{id: 1710, start:1852288, end:1853172, name:"PA1706", strand:1},
{id: 1711, start:1853181, end:1853684, name:"PA1707", strand:1},
{id: 1712, start:1853665, end:1854837, name:"PA1708", strand:1},
{id: 1713, start:1854849, end:1855736, name:"PA1709", strand:1},
{id: 1714, start:1855862, end:1856299, name:"PA1710", strand:1},
{id: 1715, start:1856308, end:1856553, name:"PA1711", strand:1},
{id: 1716, start:1856562, end:1856975, name:"PA1712", strand:1},
{id: 1717, start:1857273, end:1858109, name:"PA1713", strand:1},
{id: 1718, start:1858207, end:1859037, name:"PA1714", strand:1},
{id: 1719, start:1859071, end:1859493, name:"PA1715", strand:1},
{id: 1720, start:1859493, end:1861295, name:"PA1716", strand:1},
{id: 1721, start:1861297, end:1862595, name:"PA1717", strand:1},
{id: 1722, start:1862558, end:1862761, name:"PA1718", strand:1},
{id: 1723, start:1862764, end:1863021, name:"PA1719", strand:1},
{id: 1724, start:1863024, end:1863371, name:"PA1720", strand:1},
{id: 1725, start:1863368, end:1863799, name:"PA1721", strand:1},
{id: 1726, start:1863799, end:1864137, name:"PA1722", strand:1},
{id: 1727, start:1864134, end:1864880, name:"PA1723", strand:1},
{id: 1728, start:1864889, end:1865515, name:"PA1724", strand:1},
{id: 1729, start:1865494, end:1866138, name:"PA1725", strand:1},
{id: 1730, start:1866241, end:1868535, name:"PA1726", strand:-1},
{id: 1731, start:1868706, end:1870763, name:"PA1727", strand:-1},
{id: 1732, start:1871116, end:1871457, name:"PA1728", strand:1},
{id: 1733, start:1871555, end:1872202, name:"PA1729", strand:1},
{id: 1734, start:1872602, end:1874014, name:"PA1730", strand:1},
{id: 1735, start:1874017, end:1874970, name:"PA1731", strand:1},
{id: 1736, start:1874967, end:1875767, name:"PA1732", strand:1},
{id: 1737, start:1875849, end:1876580, name:"PA1733", strand:1},
{id: 1738, start:1876588, end:1877409, name:"PA1734", strand:-1},
{id: 1739, start:1877522, end:1878409, name:"PA1735", strand:1},
{id: 1740, start:1878980, end:1880185, name:"PA1736", strand:1},
{id: 1741, start:1880199, end:1882343, name:"PA1737", strand:1},
{id: 1742, start:1882595, end:1883509, name:"PA1738", strand:-1},
{id: 1743, start:1883661, end:1884632, name:"PA1739", strand:1},
{id: 1744, start:1884655, end:1885653, name:"PA1740", strand:1},
{id: 1745, start:1885662, end:1886033, name:"PA1741", strand:-1},
{id: 1746, start:1886278, end:1887000, name:"PA1742", strand:1},
{id: 1747, start:1887058, end:1887297, name:"PA1743", strand:-1},
{id: 1748, start:1887325, end:1887543, name:"PA1744", strand:-1},
{id: 1749, start:1887698, end:1888186, name:"PA1745", strand:-1},
{id: 1750, start:1888407, end:1888913, name:"PA1746", strand:1},
{id: 1751, start:1888985, end:1889173, name:"PA1747", strand:-1},
{id: 1752, start:1889323, end:1890012, name:"PA1748", strand:-1},
{id: 1753, start:1890196, end:1890681, name:"PA1749", strand:1},
{id: 1754, start:1890739, end:1891815, name:"PA1750", strand:-1},
{id: 1755, start:1892133, end:1892510, name:"PA1751", strand:1},
{id: 1756, start:1892510, end:1893457, name:"PA1752", strand:1},
{id: 1757, start:1893620, end:1894117, name:"PA1753", strand:1},
{id: 1758, start:1894249, end:1895223, name:"PA1754", strand:1},
{id: 1759, start:1895280, end:1895627, name:"PA1755", strand:-1},
{id: 1760, start:1895692, end:1896495, name:"PA1756", strand:-1},
{id: 1761, start:1896630, end:1897247, name:"PA1757", strand:1},
{id: 1762, start:1897290, end:1898651, name:"PA1758", strand:-1},
{id: 1763, start:1898816, end:1901521, name:"PA1759", strand:1},
{id: 1764, start:1901524, end:1904247, name:"PA1760", strand:1},
{id: 1765, start:1904479, end:1904916, name:"PA1761", strand:1},
{id: 1766, start:1904995, end:1905756, name:"PA1762", strand:1},
{id: 1767, start:1905797, end:1906822, name:"PA1763", strand:1},
{id: 1768, start:1906842, end:1908440, name:"PA1764", strand:1},
{id: 1769, start:1908454, end:1909641, name:"PA1765", strand:1},
{id: 1770, start:1909698, end:1910681, name:"PA1766", strand:-1},
{id: 1771, start:1910685, end:1912211, name:"PA1767", strand:-1},
{id: 1772, start:1912217, end:1912756, name:"PA1768", strand:-1},
{id: 1773, start:1913047, end:1913871, name:"PA1769", strand:-1},
{id: 1774, start:1914037, end:1916412, name:"PA1770", strand:1},
{id: 1775, start:1916482, end:1917492, name:"PA1771", strand:1},
{id: 1776, start:1917599, end:1918087, name:"PA1772", strand:1},
{id: 1777, start:1918275, end:1919273, name:"PA1773", strand:1},
{id: 1778, start:1919322, end:1919576, name:"PA1774", strand:1},
{id: 1779, start:1919579, end:1920403, name:"PA1775", strand:1},
{id: 1780, start:1920568, end:1921065, name:"PA1776", strand:1},
{id: 1781, start:1921174, end:1922226, name:"PA1777", strand:1},
{id: 1782, start:1922295, end:1923032, name:"PA1778", strand:-1},
{id: 1783, start:1923044, end:1925770, name:"PA1779", strand:-1},
{id: 1784, start:1925797, end:1926123, name:"PA1780", strand:-1},
{id: 1785, start:1926176, end:1928626, name:"PA1781", strand:-1},
{id: 1786, start:1928894, end:1930489, name:"PA1782", strand:-1},
{id: 1787, start:1930564, end:1931775, name:"PA1783", strand:-1},
{id: 1788, start:1932129, end:1932824, name:"PA1784", strand:-1},
{id: 1789, start:1933054, end:1933632, name:"PA1785", strand:-1},
{id: 1790, start:1933649, end:1934857, name:"PA1786", strand:-1},
{id: 1791, start:1935035, end:1937644, name:"PA1787", strand:-1},
{id: 1792, start:1938026, end:1938493, name:"PA1788", strand:1},
{id: 1793, start:1938549, end:1939412, name:"PA1789", strand:-1},
{id: 1794, start:1939583, end:1940206, name:"PA1790", strand:1},
{id: 1795, start:1940255, end:1941586, name:"PA1791", strand:-1},
{id: 1796, start:1941720, end:1942442, name:"PA1792", strand:-1},
{id: 1797, start:1942447, end:1942944, name:"PA1793", strand:-1},
{id: 1798, start:1943067, end:1944737, name:"PA1794", strand:1},
{id: 1799, start:1944747, end:1946129, name:"PA1795", strand:1},
{id: 1800, start:1946187, end:1947041, name:"PA1796", strand:-1},
{id: 1801, start:1948502, end:1950334, name:"PA1797", strand:-1},
{id: 1802, start:1950439, end:1951725, name:"PA1798", strand:-1},
{id: 1803, start:1951726, end:1952433, name:"PA1799", strand:-1},
{id: 1804, start:1952665, end:1953975, name:"PA1800", strand:1},
{id: 1805, start:1954069, end:1954710, name:"PA1801", strand:1},
{id: 1806, start:1954815, end:1956095, name:"PA1802", strand:1},
{id: 1807, start:1956227, end:1958623, name:"PA1803", strand:1},
{id: 1808, start:1958759, end:1959031, name:"PA1804", strand:1},
{id: 1809, start:1959263, end:1961128, name:"PA1805", strand:1},
{id: 1810, start:1961227, end:1962024, name:"PA1806", strand:-1},
{id: 1811, start:1962046, end:1963656, name:"PA1807", strand:-1},
{id: 1812, start:1963658, end:1964677, name:"PA1808", strand:-1},
{id: 1813, start:1964682, end:1965764, name:"PA1809", strand:-1},
{id: 1814, start:1965771, end:1967618, name:"PA1810", strand:-1},
{id: 1815, start:1967615, end:1969444, name:"PA1811", strand:-1},
{id: 1816, start:1969635, end:1971239, name:"PA1812", strand:-1},
{id: 1817, start:1971317, end:1972093, name:"PA1813", strand:-1},
{id: 1818, start:1972195, end:1972956, name:"PA1814", strand:1},
{id: 1819, start:1972959, end:1973405, name:"PA1815", strand:1},
{id: 1820, start:1973470, end:1974210, name:"PA1816", strand:1},
{id: 1821, start:1974238, end:1974627, name:"PA1817", strand:-1},
{id: 1822, start:1974821, end:1977076, name:"PA1818", strand:1},
{id: 1823, start:1977100, end:1978455, name:"PA1819", strand:1},
{id: 1824, start:1978439, end:1979941, name:"PA1820", strand:-1},
{id: 1825, start:1980165, end:1980977, name:"PA1821", strand:1},
{id: 1826, start:1981017, end:1982705, name:"PA1822", strand:1},
{id: 1827, start:1982705, end:1983541, name:"PA1823", strand:1},
{id: 1828, start:1983509, end:1984288, name:"PA1824", strand:-1},
{id: 1829, start:1984389, end:1985033, name:"PA1825", strand:1},
{id: 1830, start:1985030, end:1985935, name:"PA1826", strand:-1},
{id: 1831, start:1986067, end:1986828, name:"PA1827", strand:1},
{id: 1832, start:1986989, end:1987756, name:"PA1828", strand:-1},
{id: 1833, start:1987781, end:1988851, name:"PA1829", strand:-1},
{id: 1834, start:1989109, end:1989423, name:"PA1830", strand:-1},
{id: 1835, start:1989484, end:1990194, name:"PA1831", strand:-1},
{id: 1836, start:1990428, end:1991453, name:"PA1832", strand:1},
{id: 1837, start:1991512, end:1992504, name:"PA1833", strand:1},
{id: 1838, start:1992584, end:1993474, name:"PA1834", strand:1},
{id: 1839, start:1993461, end:1993898, name:"PA1835", strand:-1},
{id: 1840, start:1994021, end:1994602, name:"PA1836", strand:1},
{id: 1841, start:1994667, end:1995164, name:"PA1837", strand:-1},
{id: 1842, start:1995148, end:1996806, name:"PA1838", strand:-1},
{id: 1843, start:1997509, end:1998549, name:"PA1839", strand:-1},
{id: 1844, start:1998587, end:1998949, name:"PA1840", strand:1},
{id: 1845, start:1998963, end:1999460, name:"PA1841", strand:1},
{id: 1846, start:1999512, end:1999874, name:"PA1842", strand:-1},
{id: 1847, start:1999889, end:2003593, name:"PA1843", strand:-1},
{id: 1848, start:2003868, end:2004332, name:"PA1844", strand:-1},
{id: 1849, start:2004374, end:2004892, name:"PA1845", strand:-1},
{id: 1850, start:2005254, end:2007542, name:"PA1846", strand:1},
{id: 1851, start:2007665, end:2008249, name:"PA1847", strand:1},
{id: 1852, start:2008308, end:2009477, name:"PA1848", strand:-1},
{id: 1853, start:2009482, end:2009724, name:"PA1849", strand:-1},
{id: 1854, start:2009747, end:2010751, name:"PA1850", strand:-1},
{id: 1855, start:2011000, end:2012205, name:"PA1851", strand:1},
{id: 1856, start:2012255, end:2012530, name:"PA1852", strand:-1},
{id: 1857, start:2012815, end:2013678, name:"PA1853", strand:1},
{id: 1858, start:2013666, end:2014823, name:"PA1854", strand:-1},
{id: 1859, start:2014915, end:2015136, name:"PA1855", strand:-1},
{id: 1860, start:2015139, end:2016581, name:"PA1856", strand:-1},
{id: 1861, start:2016928, end:2017851, name:"PA1857", strand:-1},
{id: 1862, start:2017967, end:2018794, name:"PA1858", strand:-1},
{id: 1863, start:2018803, end:2019690, name:"PA1859", strand:-1},
{id: 1864, start:2019776, end:2020603, name:"PA1860", strand:1},
{id: 1865, start:2020625, end:2021710, name:"PA1861", strand:-1},
{id: 1866, start:2021712, end:2022398, name:"PA1862", strand:-1},
{id: 1867, start:2022411, end:2023166, name:"PA1863", strand:-1},
{id: 1868, start:2023281, end:2023931, name:"PA1864", strand:-1},
{id: 1869, start:2024065, end:2025744, name:"PA1865", strand:1},
{id: 1870, start:2025737, end:2028013, name:"PA1866", strand:1},
{id: 1871, start:2028454, end:2028981, name:"PA1867", strand:1},
{id: 1872, start:2028968, end:2031298, name:"PA1868", strand:1},
{id: 1873, start:2031466, end:2031705, name:"PA1869", strand:1},
{id: 1874, start:2031988, end:2032413, name:"PA1870", strand:1},
{id: 1875, start:2032695, end:2033951, name:"PA1871", strand:1},
{id: 1876, start:2034066, end:2034857, name:"PA1872", strand:-1},
{id: 1877, start:2034918, end:2035940, name:"PA1873", strand:-1},
{id: 1878, start:2036441, end:2043847, name:"PA1874", strand:1},
{id: 1879, start:2043847, end:2045124, name:"PA1875", strand:1},
{id: 1880, start:2045114, end:2047285, name:"PA1876", strand:1},
{id: 1881, start:2047275, end:2048462, name:"PA1877", strand:1},
{id: 1882, start:2048570, end:2049148, name:"PA1878", strand:-1},
{id: 1883, start:2049237, end:2049791, name:"PA1879", strand:-1},
{id: 1884, start:2049949, end:2052144, name:"PA1880", strand:-1},
{id: 1885, start:2052149, end:2052610, name:"PA1881", strand:-1},
{id: 1886, start:2052941, end:2053264, name:"PA1882", strand:1},
{id: 1887, start:2053277, end:2053675, name:"PA1883", strand:1},
{id: 1888, start:2053672, end:2054223, name:"PA1884", strand:-1},
{id: 1889, start:2054309, end:2054842, name:"PA1885", strand:1},
{id: 1890, start:2054911, end:2057274, name:"PA1886", strand:1},
{id: 1891, start:2057278, end:2057946, name:"PA1887", strand:-1},
{id: 1892, start:2057930, end:2059339, name:"PA1888", strand:-1},
{id: 1893, start:2059569, end:2060552, name:"PA1889", strand:1},
{id: 1894, start:2060566, end:2061189, name:"PA1890", strand:-1},
{id: 1895, start:2061278, end:2061667, name:"PA1891", strand:-1},
{id: 1896, start:2061664, end:2062401, name:"PA1892", strand:-1},
{id: 1897, start:2062398, end:2064827, name:"PA1893", strand:-1},
{id: 1898, start:2064853, end:2065545, name:"PA1894", strand:-1},
{id: 1899, start:2065493, end:2066767, name:"PA1895", strand:-1},
{id: 1900, start:2066786, end:2067955, name:"PA1896", strand:-1},
{id: 1901, start:2067961, end:2068728, name:"PA1897", strand:-1},
{id: 1902, start:2069490, end:2070203, name:"PA1898", strand:1},
{id: 1903, start:2070685, end:2071173, name:"PA1899", strand:1},
{id: 1904, start:2071209, end:2071697, name:"PA1900", strand:1},
{id: 1905, start:2071721, end:2072938, name:"PA1901", strand:1},
{id: 1906, start:2072935, end:2073558, name:"PA1902", strand:1},
{id: 1907, start:2073555, end:2075438, name:"PA1903", strand:1},
{id: 1908, start:2075452, end:2076288, name:"PA1904", strand:1},
{id: 1909, start:2076311, end:2076958, name:"PA1905", strand:1},
{id: 1910, start:2077047, end:2077583, name:"PA1906", strand:-1},
{id: 1911, start:2077626, end:2079266, name:"PA1907", strand:-1},
{id: 1912, start:2079263, end:2080474, name:"PA1908", strand:-1},
{id: 1913, start:2080661, end:2081812, name:"PA1909", strand:-1},
{id: 1914, start:2081853, end:2084267, name:"PA1910", strand:-1},
{id: 1915, start:2084476, end:2085426, name:"PA1911", strand:-1},
{id: 1916, start:2085423, end:2085929, name:"PA1912", strand:-1},
{id: 1917, start:2086021, end:2086701, name:"PA1913", strand:-1},
{id: 1918, start:2086808, end:2088034, name:"PA1914", strand:-1},
{id: 1919, start:2088602, end:2090149, name:"PA1915", strand:-1},
{id: 1920, start:2090213, end:2091445, name:"PA1916", strand:-1},
{id: 1921, start:2091490, end:2091837, name:"PA1917", strand:-1},
{id: 1922, start:2091850, end:2093250, name:"PA1918", strand:-1},
{id: 1923, start:2093444, end:2094142, name:"PA1919", strand:-1},
{id: 1924, start:2094329, end:2096356, name:"PA1920", strand:-1},
{id: 1925, start:2096514, end:2097323, name:"PA1921", strand:-1},
{id: 1926, start:2097491, end:2099452, name:"PA1922", strand:1},
{id: 1927, start:2099452, end:2103297, name:"PA1923", strand:1},
{id: 1928, start:2103294, end:2103770, name:"PA1924", strand:1},
{id: 1929, start:2103770, end:2104096, name:"PA1925", strand:1},
{id: 1930, start:2104597, end:2106447, name:"PA1926", strand:1},
{id: 1931, start:2106580, end:2108880, name:"PA1927", strand:1},
{id: 1932, start:2108942, end:2109511, name:"PA1928", strand:-1},
{id: 1933, start:2109558, end:2109854, name:"PA1929", strand:-1},
{id: 1934, start:2110226, end:2111521, name:"PA1930", strand:1},
{id: 1935, start:2111691, end:2112203, name:"PA1931", strand:1},
{id: 1936, start:2112200, end:2113189, name:"PA1932", strand:1},
{id: 1937, start:2113186, end:2115390, name:"PA1933", strand:1},
{id: 1938, start:2115885, end:2116265, name:"PA1934", strand:1},
{id: 1939, start:2117030, end:2117734, name:"PA1935", strand:-1},
{id: 1940, start:2117897, end:2118097, name:"PA1936", strand:1},
{id: 1941, start:2118585, end:2118893, name:"PA1937", strand:1},
{id: 1942, start:2118926, end:2119747, name:"PA1938", strand:1},
{id: 1943, start:2120225, end:2122222, name:"PA1939", strand:-1},
{id: 1944, start:2122579, end:2123718, name:"PA1940", strand:-1},
{id: 1945, start:2123897, end:2125792, name:"PA1941", strand:-1},
{id: 1946, start:2126104, end:2126334, name:"PA1942", strand:-1},
{id: 1947, start:2126396, end:2127493, name:"PA1943", strand:-1},
{id: 1948, start:2127684, end:2129171, name:"PA1944", strand:1},
{id: 1949, start:2129307, end:2130635, name:"PA1945", strand:1},
{id: 1950, start:2130854, end:2131813, name:"PA1946", strand:1},
{id: 1951, start:2131835, end:2133367, name:"PA1947", strand:1},
{id: 1952, start:2133391, end:2134389, name:"PA1948", strand:1},
{id: 1953, start:2134393, end:2135406, name:"PA1949", strand:1},
{id: 1954, start:2135460, end:2136386, name:"PA1950", strand:1},
{id: 1955, start:2136520, end:2137785, name:"PA1951", strand:-1},
{id: 1956, start:2137846, end:2138598, name:"PA1952", strand:-1},
{id: 1957, start:2138612, end:2139292, name:"PA1953", strand:-1},
{id: 1958, start:2139354, end:2140376, name:"PA1954", strand:-1},
{id: 1959, start:2140433, end:2141002, name:"PA1955", strand:-1},
{id: 1960, start:2140999, end:2141487, name:"PA1956", strand:-1},
{id: 1961, start:2141790, end:2142317, name:"PA1957", strand:-1},
{id: 1962, start:2142314, end:2142889, name:"PA1958", strand:-1},
{id: 1963, start:2143173, end:2144006, name:"PA1959", strand:1},
{id: 1964, start:2144077, end:2144799, name:"PA1960", strand:1},
{id: 1965, start:2144810, end:2145745, name:"PA1961", strand:-1},
{id: 1966, start:2145894, end:2146502, name:"PA1962", strand:1},
{id: 1967, start:2146609, end:2146875, name:"PA1963", strand:1},
{id: 1968, start:2146961, end:2148526, name:"PA1964", strand:-1},
{id: 1969, start:2148854, end:2149189, name:"PA1965", strand:1},
{id: 1970, start:2149472, end:2149843, name:"PA1966", strand:1},
{id: 1971, start:2149864, end:2150364, name:"PA1967", strand:-1},
{id: 1972, start:2150524, end:2150781, name:"PA1968", strand:1},
{id: 1973, start:2150828, end:2151220, name:"PA1969", strand:1},
{id: 1974, start:2151287, end:2151526, name:"PA1970", strand:-1},
{id: 1975, start:2151755, end:2153068, name:"PA1971", strand:-1},
{id: 1976, start:2153594, end:2155297, name:"PA1972", strand:1},
{id: 1977, start:2155374, end:2157701, name:"PA1973", strand:1},
{id: 1978, start:2157968, end:2159167, name:"PA1974", strand:1},
{id: 1979, start:2159270, end:2160433, name:"PA1975", strand:1},
{id: 1980, start:2160363, end:2163008, name:"PA1976", strand:1},
{id: 1981, start:2163010, end:2163873, name:"PA1977", strand:-1},
{id: 1982, start:2163883, end:2164548, name:"PA1978", strand:-1},
{id: 1983, start:2165213, end:2165863, name:"PA1979", strand:1},
{id: 1984, start:2165876, end:2166553, name:"PA1980", strand:1},
{id: 1985, start:2166580, end:2167227, name:"PA1981", strand:-1},
{id: 1986, start:2167281, end:2169152, name:"PA1982", strand:-1},
{id: 1987, start:2169464, end:2169901, name:"PA1983", strand:1},
{id: 1988, start:2169988, end:2171508, name:"PA1984", strand:1},
{id: 1989, start:2171865, end:2171936, name:"PA1985", strand:1},
{id: 1990, start:2171989, end:2172903, name:"PA1986", strand:1},
{id: 1991, start:2172913, end:2173665, name:"PA1987", strand:1},
{id: 1992, start:2173662, end:2173940, name:"PA1988", strand:1},
{id: 1993, start:2173912, end:2175057, name:"PA1989", strand:1},
{id: 1994, start:2175062, end:2176888, name:"PA1990", strand:1},
{id: 1995, start:2176974, end:2178137, name:"PA1991", strand:1},
{id: 1996, start:2178121, end:2179815, name:"PA1992", strand:1},
{id: 1997, start:2179848, end:2181056, name:"PA1993", strand:-1},
{id: 1998, start:2181181, end:2181744, name:"PA1994", strand:-1},
{id: 1999, start:2181741, end:2182097, name:"PA1995", strand:-1},
{id: 2000, start:2182116, end:2182394, name:"PA1996", strand:-1},
{id: 2001, start:2182452, end:2184407, name:"PA1997", strand:-1},
{id: 2002, start:2184475, end:2185395, name:"PA1998", strand:-1},
{id: 2003, start:2185527, end:2186225, name:"PA1999", strand:1},
{id: 2004, start:2186260, end:2186916, name:"PA2000", strand:1},
{id: 2005, start:2187065, end:2188246, name:"PA2001", strand:1},
{id: 2006, start:2188459, end:2189883, name:"PA2002", strand:1},
{id: 2007, start:2190084, end:2190854, name:"PA2003", strand:-1},
{id: 2008, start:2190891, end:2192282, name:"PA2004", strand:-1},
{id: 2009, start:2192544, end:2193989, name:"PA2005", strand:-1},
{id: 2010, start:2194058, end:2195410, name:"PA2006", strand:-1},
{id: 2011, start:2195494, end:2196132, name:"PA2007", strand:-1},
{id: 2012, start:2196129, end:2197427, name:"PA2008", strand:-1},
{id: 2013, start:2197432, end:2198730, name:"PA2009", strand:-1},
{id: 2014, start:2198891, end:2199694, name:"PA2010", strand:1},
{id: 2015, start:2199762, end:2200664, name:"PA2011", strand:-1},
{id: 2016, start:2200685, end:2202652, name:"PA2012", strand:-1},
{id: 2017, start:2202649, end:2203446, name:"PA2013", strand:-1},
{id: 2018, start:2203460, end:2205067, name:"PA2014", strand:-1},
{id: 2019, start:2205190, end:2206353, name:"PA2015", strand:-1},
{id: 2020, start:2206402, end:2206806, name:"PA2016", strand:-1},
{id: 2021, start:2206999, end:2207928, name:"PA2017", strand:1},
{id: 2022, start:2208169, end:2211306, name:"PA2018", strand:-1},
{id: 2023, start:2211322, end:2212512, name:"PA2019", strand:-1},
{id: 2024, start:2212677, end:2213309, name:"PA2020", strand:1},
{id: 2025, start:2213315, end:2213539, name:"PA2021", strand:-1},
{id: 2026, start:2213693, end:2215054, name:"PA2022", strand:1},
{id: 2027, start:2215102, end:2215941, name:"PA2023", strand:1},
{id: 2028, start:2216121, end:2216543, name:"PA2024", strand:-1},
{id: 2029, start:2216688, end:2218043, name:"PA2025", strand:1},
{id: 2030, start:2218098, end:2219099, name:"PA2026", strand:-1},
{id: 2031, start:2219253, end:2219645, name:"PA2027", strand:-1},
{id: 2032, start:2219778, end:2220251, name:"PA2028", strand:1},
{id: 2033, start:2220275, end:2220574, name:"PA2029", strand:1},
{id: 2034, start:2220649, end:2220906, name:"PA2030", strand:-1},
{id: 2035, start:2220903, end:2221157, name:"PA2031", strand:-1},
{id: 2036, start:2221337, end:2222761, name:"PA2032", strand:1},
{id: 2037, start:2222896, end:2223804, name:"PA2033", strand:1},
{id: 2038, start:2223804, end:2224478, name:"PA2034", strand:1},
{id: 2039, start:2224486, end:2226144, name:"PA2035", strand:-1},
{id: 2040, start:2226879, end:2227400, name:"PA2036", strand:1},
{id: 2041, start:2227541, end:2229001, name:"PA2037", strand:1},
{id: 2042, start:2229126, end:2229440, name:"PA2038", strand:-1},
{id: 2043, start:2229425, end:2230183, name:"PA2039", strand:-1},
{id: 2044, start:2230689, end:2232065, name:"PA2040", strand:1},
{id: 2045, start:2232222, end:2233592, name:"PA2041", strand:1},
{id: 2046, start:2234080, end:2235309, name:"PA2042", strand:1},
{id: 2047, start:2235430, end:2236332, name:"PA2043", strand:1},
{id: 2048, start:2236492, end:2238366, name:"PA2044", strand:-1},
{id: 2049, start:2238541, end:2238801, name:"PA2045", strand:-1},
{id: 2050, start:2238860, end:2239267, name:"PA2046", strand:-1},
{id: 2051, start:2240302, end:2241291, name:"PA2047", strand:-1},
{id: 2052, start:2241705, end:2242112, name:"PA2048", strand:1},
{id: 2053, start:2242170, end:2243603, name:"PA2049", strand:-1},
{id: 2054, start:2244492, end:2244998, name:"PA2050", strand:1},
{id: 2055, start:2244995, end:2245948, name:"PA2051", strand:1},
{id: 2056, start:2245986, end:2246456, name:"PA2052", strand:-1},
{id: 2057, start:2246496, end:2247158, name:"PA2053", strand:-1},
{id: 2058, start:2247273, end:2248160, name:"PA2054", strand:1},
{id: 2059, start:2248167, end:2249582, name:"PA2055", strand:-1},
{id: 2060, start:2249693, end:2250595, name:"PA2056", strand:1},
{id: 2061, start:2251275, end:2253815, name:"PA2057", strand:1},
{id: 2062, start:2253819, end:2255627, name:"PA2058", strand:1},
{id: 2063, start:2255629, end:2256702, name:"PA2059", strand:1},
{id: 2064, start:2256704, end:2257720, name:"PA2060", strand:1},
{id: 2065, start:2257722, end:2259332, name:"PA2061", strand:1},
{id: 2066, start:2259478, end:2260659, name:"PA2062", strand:1},
{id: 2067, start:2260862, end:2262085, name:"PA2063", strand:1},
{id: 2068, start:2262105, end:2263082, name:"PA2064", strand:-1},
{id: 2069, start:2263079, end:2264977, name:"PA2065", strand:-1},
{id: 2070, start:2265126, end:2265764, name:"PA2066", strand:-1},
{id: 2071, start:2265761, end:2266429, name:"PA2067", strand:-1},
{id: 2072, start:2266431, end:2267594, name:"PA2068", strand:-1},
{id: 2073, start:2267638, end:2269362, name:"PA2069", strand:-1},
{id: 2074, start:2269542, end:2272184, name:"PA2070", strand:-1},
{id: 2075, start:2272460, end:2274568, name:"PA2071", strand:1},
{id: 2076, start:2274740, end:2277334, name:"PA2072", strand:1},
{id: 2077, start:2277552, end:2278982, name:"PA2073", strand:1},
{id: 2078, start:2278982, end:2279794, name:"PA2074", strand:1},
{id: 2079, start:2279917, end:2281578, name:"PA2075", strand:-1},
{id: 2080, start:2282480, end:2283382, name:"PA2076", strand:1},
{id: 2081, start:2283419, end:2285323, name:"PA2077", strand:-1},
{id: 2082, start:2285363, end:2287237, name:"PA2078", strand:-1},
{id: 2083, start:2287523, end:2288929, name:"PA2079", strand:-1},
{id: 2084, start:2289085, end:2290335, name:"PA2080", strand:-1},
{id: 2085, start:2290339, end:2290980, name:"PA2081", strand:-1},
{id: 2086, start:2291113, end:2291589, name:"PA2082", strand:1},
{id: 2087, start:2291791, end:2293065, name:"PA2083", strand:1},
{id: 2088, start:2293153, end:2294985, name:"PA2084", strand:1},
{id: 2089, start:2295013, end:2295522, name:"PA2085", strand:1},
{id: 2090, start:2295533, end:2296435, name:"PA2086", strand:1},
{id: 2091, start:2296432, end:2297088, name:"PA2087", strand:1},
{id: 2092, start:2297072, end:2297920, name:"PA2088", strand:1},
{id: 2093, start:2298012, end:2300663, name:"PA2089", strand:1},
{id: 2094, start:2300676, end:2301755, name:"PA2090", strand:1},
{id: 2095, start:2301752, end:2303035, name:"PA2091", strand:1},
{id: 2096, start:2303022, end:2304215, name:"PA2092", strand:1},
{id: 2097, start:2304318, end:2304827, name:"PA2093", strand:1},
{id: 2098, start:2304824, end:2305780, name:"PA2094", strand:1},
{id: 2099, start:2305782, end:2306627, name:"PA2095", strand:-1},
{id: 2100, start:2306776, end:2307810, name:"PA2096", strand:-1},
{id: 2101, start:2307957, end:2309432, name:"PA2097", strand:1},
{id: 2102, start:2309443, end:2310372, name:"PA2098", strand:1},
{id: 2103, start:2310357, end:2311112, name:"PA2099", strand:1},
{id: 2104, start:2311333, end:2312766, name:"PA2100", strand:-1},
{id: 2105, start:2312899, end:2313789, name:"PA2101", strand:1},
{id: 2106, start:2313791, end:2314249, name:"PA2102", strand:1},
{id: 2107, start:2314512, end:2315690, name:"PA2103", strand:1},
{id: 2108, start:2315709, end:2316626, name:"PA2104", strand:1},
{id: 2109, start:2316708, end:2317403, name:"PA2105", strand:1},
{id: 2110, start:2317400, end:2318134, name:"PA2106", strand:1},
{id: 2111, start:2318226, end:2318624, name:"PA2107", strand:-1},
{id: 2112, start:2318795, end:2320567, name:"PA2108", strand:1},
{id: 2113, start:2320586, end:2321062, name:"PA2109", strand:-1},
{id: 2114, start:2321130, end:2322071, name:"PA2110", strand:-1},
{id: 2115, start:2322068, end:2322781, name:"PA2111", strand:-1},
{id: 2116, start:2322778, end:2323521, name:"PA2112", strand:-1},
{id: 2117, start:2323554, end:2324783, name:"PA2113", strand:-1},
{id: 2118, start:2324808, end:2326079, name:"PA2114", strand:-1},
{id: 2119, start:2326334, end:2327287, name:"PA2115", strand:1},
{id: 2120, start:2327394, end:2328191, name:"PA2116", strand:1},
{id: 2121, start:2328176, end:2329156, name:"PA2117", strand:-1},
{id: 2122, start:2329348, end:2330424, name:"PA2118", strand:1},
{id: 2123, start:2330959, end:2332059, name:"PA2119", strand:-1},
{id: 2124, start:2332392, end:2332820, name:"PA2120", strand:-1},
{id: 2125, start:2332968, end:2333873, name:"PA2121", strand:-1},
{id: 2126, start:2333999, end:2335135, name:"PA2122", strand:1},
{id: 2127, start:2335172, end:2336104, name:"PA2123", strand:1},
{id: 2128, start:2336209, end:2337846, name:"PA2124", strand:1},
{id: 2129, start:2337868, end:2339316, name:"PA2125", strand:1},
{id: 2130, start:2339352, end:2339987, name:"PA2126", strand:-1},
{id: 2131, start:2340414, end:2341640, name:"PA2127", strand:-1},
{id: 2132, start:2342493, end:2343044, name:"PA2128", strand:1},
{id: 2133, start:2343132, end:2343878, name:"PA2129", strand:1},
{id: 2134, start:2343862, end:2346480, name:"PA2130", strand:1},
{id: 2135, start:2346477, end:2347838, name:"PA2131", strand:1},
{id: 2136, start:2347828, end:2348541, name:"PA2132", strand:1},
{id: 2137, start:2348538, end:2349395, name:"PA2133", strand:1},
{id: 2138, start:2349488, end:2350060, name:"PA2134", strand:1},
{id: 2139, start:2350089, end:2351453, name:"PA2135", strand:1},
{id: 2140, start:2351906, end:2352430, name:"PA2136", strand:-1},
{id: 2141, start:2352532, end:2353068, name:"PA2137", strand:1},
{id: 2142, start:2353086, end:2355608, name:"PA2138", strand:1},
{id: 2143, start:2355684, end:2355806, name:"PA2139", strand:1},
{id: 2144, start:2355918, end:2356157, name:"PA2140", strand:1},
{id: 2145, start:2356168, end:2356716, name:"PA2141", strand:1},
{id: 2146, start:2356713, end:2357573, name:"PA2142", strand:1},
{id: 2147, start:2358024, end:2358311, name:"PA2143", strand:1},
{id: 2148, start:2358364, end:2360802, name:"PA2144", strand:1},
{id: 2149, start:2360809, end:2361207, name:"PA2145", strand:-1},
{id: 2150, start:2361706, end:2361873, name:"PA2146", strand:1},
{id: 2151, start:2361954, end:2364083, name:"PA2147", strand:1},
{id: 2152, start:2364311, end:2364802, name:"PA2148", strand:1},
{id: 2153, start:2364816, end:2365058, name:"PA2149", strand:1},
{id: 2154, start:2365081, end:2365962, name:"PA2150", strand:1},
{id: 2155, start:2366106, end:2368100, name:"PA2151", strand:1},
{id: 2156, start:2368111, end:2371413, name:"PA2152", strand:1},
{id: 2157, start:2371410, end:2373608, name:"PA2153", strand:1},
{id: 2158, start:2373610, end:2374605, name:"PA2154", strand:-1},
{id: 2159, start:2374602, end:2375807, name:"PA2155", strand:-1},
{id: 2160, start:2375804, end:2376541, name:"PA2156", strand:-1},
{id: 2161, start:2376538, end:2377476, name:"PA2157", strand:-1},
{id: 2162, start:2377480, end:2378727, name:"PA2158", strand:-1},
{id: 2163, start:2378794, end:2379210, name:"PA2159", strand:-1},
{id: 2164, start:2379310, end:2381460, name:"PA2160", strand:-1},
{id: 2165, start:2381473, end:2381778, name:"PA2161", strand:-1},
{id: 2166, start:2381775, end:2384555, name:"PA2162", strand:-1},
{id: 2167, start:2384548, end:2386602, name:"PA2163", strand:-1},
{id: 2168, start:2386595, end:2388346, name:"PA2164", strand:-1},
{id: 2169, start:2388346, end:2389887, name:"PA2165", strand:-1},
{id: 2170, start:2390255, end:2390620, name:"PA2166", strand:1},
{id: 2171, start:2390949, end:2392046, name:"PA2167", strand:1},
{id: 2172, start:2392043, end:2392819, name:"PA2168", strand:1},
{id: 2173, start:2392945, end:2393397, name:"PA2169", strand:1},
{id: 2174, start:2393424, end:2393633, name:"PA2170", strand:1},
{id: 2175, start:2393708, end:2394178, name:"PA2171", strand:1},
{id: 2176, start:2394182, end:2395258, name:"PA2172", strand:1},
{id: 2177, start:2395285, end:2395635, name:"PA2173", strand:1},
{id: 2178, start:2395944, end:2396252, name:"PA2174", strand:-1},
{id: 2179, start:2396536, end:2396883, name:"PA2175", strand:-1},
{id: 2180, start:2396896, end:2397486, name:"PA2176", strand:-1},
{id: 2181, start:2397569, end:2399668, name:"PA2177", strand:1},
{id: 2182, start:2399672, end:2400280, name:"PA2178", strand:-1},
{id: 2183, start:2400655, end:2401605, name:"PA2179", strand:-1},
{id: 2184, start:2401589, end:2402965, name:"PA2180", strand:-1},
{id: 2185, start:2403151, end:2404284, name:"PA2181", strand:1},
{id: 2186, start:2404386, end:2404655, name:"PA2182", strand:-1},
{id: 2187, start:2404949, end:2405233, name:"PA2183", strand:-1},
{id: 2188, start:2405230, end:2405739, name:"PA2184", strand:-1},
{id: 2189, start:2405993, end:2406877, name:"PA2185", strand:1},
{id: 2190, start:2406961, end:2407131, name:"PA2186", strand:1},
{id: 2191, start:2407236, end:2407661, name:"PA2187", strand:1},
{id: 2192, start:2407681, end:2408847, name:"PA2188", strand:-1},
{id: 2193, start:2409107, end:2409661, name:"PA2189", strand:1},
{id: 2194, start:2409837, end:2410181, name:"PA2190", strand:1},
{id: 2195, start:2410344, end:2411480, name:"PA2191", strand:-1},
{id: 2196, start:2411709, end:2412122, name:"PA2192", strand:1},
{id: 2197, start:2412546, end:2412860, name:"PA2193", strand:1},
{id: 2198, start:2412857, end:2414251, name:"PA2194", strand:1},
{id: 2199, start:2414254, end:2415507, name:"PA2195", strand:1},
{id: 2200, start:2415661, end:2416245, name:"PA2196", strand:1},
{id: 2201, start:2416376, end:2417413, name:"PA2197", strand:1},
{id: 2202, start:2417410, end:2417754, name:"PA2198", strand:1},
{id: 2203, start:2417760, end:2418635, name:"PA2199", strand:1},
{id: 2204, start:2418723, end:2420318, name:"PA2200", strand:1},
{id: 2205, start:2420443, end:2421327, name:"PA2201", strand:1},
{id: 2206, start:2421343, end:2422020, name:"PA2202", strand:-1},
{id: 2207, start:2422022, end:2422738, name:"PA2203", strand:-1},
{id: 2208, start:2422819, end:2423625, name:"PA2204", strand:-1},
{id: 2209, start:2423924, end:2424400, name:"PA2205", strand:-1},
{id: 2210, start:2424482, end:2425429, name:"PA2206", strand:-1},
{id: 2211, start:2425497, end:2427017, name:"PA2207", strand:-1},
{id: 2212, start:2427014, end:2427544, name:"PA2208", strand:-1},
{id: 2213, start:2427572, end:2428669, name:"PA2209", strand:-1},
{id: 2214, start:2428852, end:2430177, name:"PA2210", strand:1},
{id: 2215, start:2430170, end:2431129, name:"PA2211", strand:1},
{id: 2216, start:2431126, end:2432139, name:"PA2212", strand:1},
{id: 2217, start:2432312, end:2433562, name:"PA2213", strand:1},
{id: 2218, start:2433748, end:2435070, name:"PA2214", strand:1},
{id: 2219, start:2435101, end:2436276, name:"PA2215", strand:1},
{id: 2220, start:2436304, end:2437299, name:"PA2216", strand:1},
{id: 2221, start:2437428, end:2439011, name:"PA2217", strand:1},
{id: 2222, start:2439150, end:2440253, name:"PA2218", strand:-1},
{id: 2223, start:2440347, end:2441555, name:"PA2219", strand:-1},
{id: 2224, start:2441771, end:2442691, name:"PA2220", strand:1},
{id: 2225, start:2443161, end:2444366, name:"PA2221", strand:1},
{id: 2226, start:2444886, end:2445533, name:"PA2222", strand:-1},
{id: 2227, start:2445545, end:2446564, name:"PA2223", strand:-1},
{id: 2228, start:2446597, end:2447325, name:"PA2224", strand:-1},
{id: 2229, start:2447573, end:2447989, name:"PA2225", strand:-1},
{id: 2230, start:2448033, end:2448533, name:"PA2226", strand:-1},
{id: 2231, start:2448568, end:2449545, name:"PA2227", strand:-1},
{id: 2232, start:2449554, end:2450765, name:"PA2228", strand:-1},
{id: 2233, start:2451707, end:2452426, name:"PA2229", strand:1},
{id: 2234, start:2452469, end:2453140, name:"PA2230", strand:1},
{id: 2235, start:2453667, end:2455103, name:"PA2231", strand:1},
{id: 2236, start:2455103, end:2456569, name:"PA2232", strand:1},
{id: 2237, start:2456569, end:2457480, name:"PA2233", strand:1},
{id: 2238, start:2457510, end:2458280, name:"PA2234", strand:1},
{id: 2239, start:2458295, end:2460283, name:"PA2235", strand:1},
{id: 2240, start:2460283, end:2461470, name:"PA2236", strand:1},
{id: 2241, start:2461460, end:2462788, name:"PA2237", strand:1},
{id: 2242, start:2462797, end:2464005, name:"PA2238", strand:1},
{id: 2243, start:2463996, end:2465099, name:"PA2239", strand:1},
{id: 2244, start:2465102, end:2466538, name:"PA2240", strand:1},
{id: 2245, start:2466540, end:2467949, name:"PA2241", strand:1},
{id: 2246, start:2468032, end:2469099, name:"PA2242", strand:1},
{id: 2247, start:2469286, end:2471019, name:"PA2243", strand:1},
{id: 2248, start:2471075, end:2472076, name:"PA2244", strand:1},
{id: 2249, start:2472104, end:2472409, name:"PA2245", strand:1},
{id: 2250, start:2472442, end:2472903, name:"PA2246", strand:-1},
{id: 2251, start:2473213, end:2474445, name:"PA2247", strand:1},
{id: 2252, start:2474442, end:2475494, name:"PA2248", strand:1},
{id: 2253, start:2475495, end:2476781, name:"PA2249", strand:1},
{id: 2254, start:2476785, end:2478179, name:"PA2250", strand:1},
{id: 2255, start:2478312, end:2479130, name:"PA2251", strand:-1},
{id: 2256, start:2479299, end:2480744, name:"PA2252", strand:1},
{id: 2257, start:2480844, end:2481830, name:"PA2253", strand:1},
{id: 2258, start:2482045, end:2483031, name:"PA2254", strand:1},
{id: 2259, start:2483049, end:2483924, name:"PA2255", strand:1},
{id: 2260, start:2483976, end:2485478, name:"PA2256", strand:1},
{id: 2261, start:2485471, end:2486118, name:"PA2257", strand:1},
{id: 2262, start:2486355, end:2487293, name:"PA2258", strand:-1},
{id: 2263, start:2487856, end:2488878, name:"PA2259", strand:1},
{id: 2264, start:2488950, end:2489732, name:"PA2260", strand:1},
{id: 2265, start:2489725, end:2490675, name:"PA2261", strand:1},
{id: 2266, start:2490738, end:2492045, name:"PA2262", strand:1},
{id: 2267, start:2492064, end:2493050, name:"PA2263", strand:1},
{id: 2268, start:2493218, end:2493934, name:"PA2264", strand:1},
{id: 2269, start:2493937, end:2495712, name:"PA2265", strand:1},
{id: 2270, start:2495724, end:2497043, name:"PA2266", strand:1},
{id: 2271, start:2497116, end:2498012, name:"PA2267", strand:-1},
{id: 2272, start:2498099, end:2499169, name:"PA2268", strand:1},
{id: 2273, start:2499133, end:2500338, name:"PA2269", strand:-1},
{id: 2274, start:2500485, end:2501075, name:"PA2270", strand:1},
{id: 2275, start:2501083, end:2501598, name:"PA2271", strand:1},
{id: 2276, start:2501720, end:2503417, name:"PA2272", strand:1},
{id: 2277, start:2503425, end:2503895, name:"PA2273", strand:-1},
{id: 2278, start:2503973, end:2504350, name:"PA2274", strand:1},
{id: 2279, start:2504375, end:2505436, name:"PA2275", strand:-1},
{id: 2280, start:2505645, end:2506535, name:"PA2276", strand:1},
{id: 2281, start:2506614, end:2506964, name:"PA2277", strand:1},
{id: 2282, start:2506978, end:2508261, name:"PA2278", strand:1},
{id: 2283, start:2508293, end:2508763, name:"PA2279", strand:1},
{id: 2284, start:2508775, end:2509467, name:"PA2280", strand:1},
{id: 2285, start:2509480, end:2510334, name:"PA2281", strand:-1},
{id: 2286, start:2510622, end:2511050, name:"PA2282", strand:1},
{id: 2287, start:2511057, end:2512514, name:"PA2283", strand:1},
{id: 2288, start:2512511, end:2513182, name:"PA2284", strand:1},
{id: 2289, start:2513179, end:2513841, name:"PA2285", strand:1},
{id: 2290, start:2513842, end:2515386, name:"PA2286", strand:1},
{id: 2291, start:2515373, end:2516008, name:"PA2287", strand:1},
{id: 2292, start:2516021, end:2516308, name:"PA2288", strand:-1},
{id: 2293, start:2516429, end:2518561, name:"PA2289", strand:-1},
{id: 2294, start:2518693, end:2521104, name:"PA2290", strand:-1},
{id: 2295, start:2521258, end:2522616, name:"PA2291", strand:-1},
{id: 2296, start:2522958, end:2523239, name:"PA2292", strand:-1},
{id: 2297, start:2523236, end:2524201, name:"PA2293", strand:-1},
{id: 2298, start:2524198, end:2525052, name:"PA2294", strand:-1},
{id: 2299, start:2525049, end:2525846, name:"PA2295", strand:-1},
{id: 2300, start:2525871, end:2527277, name:"PA2296", strand:-1},
{id: 2301, start:2527412, end:2527657, name:"PA2297", strand:-1},
{id: 2302, start:2527743, end:2529467, name:"PA2298", strand:-1},
{id: 2303, start:2529464, end:2530213, name:"PA2299", strand:-1},
{id: 2304, start:2530389, end:2531840, name:"PA2300", strand:-1},
{id: 2305, start:2532059, end:2532601, name:"PA2301", strand:-1},
{id: 2306, start:2532669, end:2539043, name:"PA2302", strand:-1},
{id: 2307, start:2539063, end:2540082, name:"PA2303", strand:-1},
{id: 2308, start:2540079, end:2541167, name:"PA2304", strand:-1},
{id: 2309, start:2541197, end:2544946, name:"PA2305", strand:-1},
{id: 2310, start:2545042, end:2545659, name:"PA2306", strand:-1},
{id: 2311, start:2545769, end:2546635, name:"PA2307", strand:-1},
{id: 2312, start:2546652, end:2547500, name:"PA2308", strand:-1},
{id: 2313, start:2547508, end:2548530, name:"PA2309", strand:-1},
{id: 2314, start:2548571, end:2549458, name:"PA2310", strand:-1},
{id: 2315, start:2549748, end:2549906, name:"PA2311", strand:1},
{id: 2316, start:2549961, end:2550542, name:"PA2312", strand:1},
{id: 2317, start:2550626, end:2551240, name:"PA2313", strand:1},
{id: 2318, start:2551422, end:2552675, name:"PA2314", strand:-1},
{id: 2319, start:2552675, end:2553850, name:"PA2315", strand:-1},
{id: 2320, start:2553965, end:2554858, name:"PA2316", strand:1},
{id: 2321, start:2554962, end:2556260, name:"PA2317", strand:1},
{id: 2322, start:2556293, end:2556658, name:"PA2318", strand:1},
{id: 2323, start:2556948, end:2557964, name:"PA2319", strand:1},
{id: 2324, start:2558918, end:2559949, name:"PA2320", strand:-1},
{id: 2325, start:2560144, end:2560665, name:"PA2321", strand:1},
{id: 2326, start:2560762, end:2562114, name:"PA2322", strand:1},
{id: 2327, start:2562447, end:2564072, name:"PA2323", strand:1},
{id: 2328, start:2564290, end:2565549, name:"PA2324", strand:1},
{id: 2329, start:2565580, end:2566815, name:"PA2325", strand:1},
{id: 2330, start:2566875, end:2568284, name:"PA2326", strand:-1},
{id: 2331, start:2568929, end:2569693, name:"PA2327", strand:-1},
{id: 2332, start:2569690, end:2570889, name:"PA2328", strand:-1},
{id: 2333, start:2570855, end:2571691, name:"PA2329", strand:-1},
{id: 2334, start:2571688, end:2572755, name:"PA2330", strand:-1},
{id: 2335, start:2572805, end:2573365, name:"PA2331", strand:-1},
{id: 2336, start:2573470, end:2574375, name:"PA2332", strand:1},
{id: 2337, start:2574376, end:2575992, name:"PA2333", strand:-1},
{id: 2338, start:2576089, end:2577000, name:"PA2334", strand:-1},
{id: 2339, start:2577150, end:2579519, name:"PA2335", strand:1},
{id: 2340, start:2579542, end:2580882, name:"PA2336", strand:1},
{id: 2341, start:2581034, end:2581939, name:"PA2337", strand:1},
{id: 2342, start:2582097, end:2583407, name:"PA2338", strand:1},
{id: 2343, start:2583483, end:2584415, name:"PA2339", strand:1},
{id: 2344, start:2584426, end:2585259, name:"PA2340", strand:1},
{id: 2345, start:2585299, end:2586411, name:"PA2341", strand:1},
{id: 2346, start:2586434, end:2587909, name:"PA2342", strand:1},
{id: 2347, start:2587906, end:2589414, name:"PA2343", strand:1},
{id: 2348, start:2589455, end:2590387, name:"PA2344", strand:1},
{id: 2349, start:2590430, end:2591665, name:"PA2345", strand:-1},
{id: 2350, start:2592084, end:2593319, name:"PA2346", strand:1},
{id: 2351, start:2593330, end:2594547, name:"PA2347", strand:1},
{id: 2352, start:2594565, end:2595953, name:"PA2348", strand:1},
{id: 2353, start:2595985, end:2596779, name:"PA2349", strand:1},
{id: 2354, start:2596776, end:2597885, name:"PA2350", strand:1},
{id: 2355, start:2597869, end:2598522, name:"PA2351", strand:1},
{id: 2356, start:2598700, end:2599827, name:"PA2352", strand:1},
{id: 2357, start:2599893, end:2601047, name:"PA2353", strand:-1},
{id: 2358, start:2601219, end:2602349, name:"PA2354", strand:-1},
{id: 2359, start:2602346, end:2603530, name:"PA2355", strand:-1},
{id: 2360, start:2603560, end:2604705, name:"PA2356", strand:-1},
{id: 2361, start:2604715, end:2605275, name:"PA2357", strand:-1},
{id: 2362, start:2605435, end:2605824, name:"PA2358", strand:-1},
{id: 2363, start:2605937, end:2607022, name:"PA2359", strand:-1},
{id: 2364, start:2607132, end:2608232, name:"PA2360", strand:-1},
{id: 2365, start:2608229, end:2612044, name:"PA2361", strand:-1},
{id: 2366, start:2612041, end:2612799, name:"PA2362", strand:-1},
{id: 2367, start:2612817, end:2614148, name:"PA2363", strand:-1},
{id: 2368, start:2614208, end:2614684, name:"PA2364", strand:-1},
{id: 2369, start:2614893, end:2615438, name:"PA2365", strand:1},
{id: 2370, start:2615461, end:2616945, name:"PA2366", strand:1},
{id: 2371, start:2617019, end:2617516, name:"PA2367", strand:1},
{id: 2372, start:2617529, end:2617954, name:"PA2368", strand:1},
{id: 2373, start:2617938, end:2619731, name:"PA2369", strand:1},
{id: 2374, start:2619695, end:2620711, name:"PA2370", strand:1},
{id: 2375, start:2620713, end:2623262, name:"PA2371", strand:1},
{id: 2376, start:2623284, end:2623856, name:"PA2372", strand:1},
{id: 2377, start:2624204, end:2626210, name:"PA2373", strand:1},
{id: 2378, start:2626221, end:2626757, name:"PA2374", strand:1},
{id: 2379, start:2626780, end:2627175, name:"PA2375", strand:-1},
{id: 2380, start:2627452, end:2628093, name:"PA2376", strand:1},
{id: 2381, start:2628225, end:2629499, name:"PA2377", strand:1},
{id: 2382, start:2629916, end:2632231, name:"PA2378", strand:-1},
{id: 2383, start:2632228, end:2632698, name:"PA2379", strand:-1},
{id: 2384, start:2632963, end:2633199, name:"PA2380", strand:-1},
{id: 2385, start:2633494, end:2633736, name:"PA2381", strand:1},
{id: 2386, start:2633803, end:2634954, name:"PA2382", strand:-1},
{id: 2387, start:2635051, end:2635971, name:"PA2383", strand:-1},
{id: 2388, start:2636013, end:2636336, name:"PA2384", strand:-1},
{id: 2389, start:2636517, end:2638805, name:"PA2385", strand:-1},
{id: 2390, start:2638928, end:2640259, name:"PA2386", strand:-1},
{id: 2391, start:2640392, end:2640871, name:"PA2387", strand:-1},
{id: 2392, start:2641035, end:2642030, name:"PA2388", strand:1},
{id: 2393, start:2642131, end:2643306, name:"PA2389", strand:1},
{id: 2394, start:2643306, end:2645297, name:"PA2390", strand:1},
{id: 2395, start:2645303, end:2646727, name:"PA2391", strand:1},
{id: 2396, start:2646776, end:2648410, name:"PA2392", strand:-1},
{id: 2397, start:2648626, end:2649972, name:"PA2393", strand:1},
{id: 2398, start:2649995, end:2651278, name:"PA2394", strand:1},
{id: 2399, start:2651307, end:2652161, name:"PA2395", strand:1},
{id: 2400, start:2652230, end:2653057, name:"PA2396", strand:-1},
{id: 2401, start:2653435, end:2655084, name:"PA2397", strand:1},
{id: 2402, start:2655187, end:2657634, name:"PA2398", strand:1},
{id: 2403, start:2657798, end:2665144, name:"PA2399", strand:-1},
{id: 2404, start:2665156, end:2671629, name:"PA2400", strand:-1},
{id: 2405, start:2671729, end:2687178, name:"PA2402", strand:-1},
{id: 2406, start:2687497, end:2688708, name:"PA2403", strand:1},
{id: 2407, start:2688705, end:2689244, name:"PA2404", strand:1},
{id: 2408, start:2689241, end:2689570, name:"PA2405", strand:1},
{id: 2409, start:2689567, end:2690127, name:"PA2406", strand:1},
{id: 2410, start:2690160, end:2691113, name:"PA2407", strand:1},
{id: 2411, start:2691110, end:2691865, name:"PA2408", strand:1},
{id: 2412, start:2691862, end:2692767, name:"PA2409", strand:1},
{id: 2413, start:2692764, end:2693681, name:"PA2410", strand:1},
{id: 2414, start:2693781, end:2694545, name:"PA2411", strand:-1},
{id: 2415, start:2694546, end:2694764, name:"PA2412", strand:-1},
{id: 2416, start:2694842, end:2696251, name:"PA2413", strand:-1},
{id: 2417, start:2696430, end:2697749, name:"PA2414", strand:-1},
{id: 2418, start:2697742, end:2698167, name:"PA2415", strand:-1},
{id: 2419, start:2698526, end:2700163, name:"PA2416", strand:1},
{id: 2420, start:2700167, end:2701105, name:"PA2417", strand:-1},
{id: 2421, start:2701206, end:2702066, name:"PA2418", strand:1},
{id: 2422, start:2702164, end:2702844, name:"PA2419", strand:1},
{id: 2423, start:2702926, end:2704344, name:"PA2420", strand:1},
{id: 2424, start:2704377, end:2705297, name:"PA2421", strand:1},
{id: 2425, start:2705773, end:2706087, name:"PA2422", strand:1},
{id: 2426, start:2706387, end:2707181, name:"PA2423", strand:1},
{id: 2427, start:2707666, end:2720694, name:"PA2424", strand:-1},
{id: 2428, start:2720767, end:2721531, name:"PA2425", strand:-1},
{id: 2429, start:2722175, end:2722738, name:"PA2426", strand:1},
{id: 2430, start:2722755, end:2723222, name:"PA2427", strand:-1},
{id: 2431, start:2723309, end:2724223, name:"PA2428", strand:-1},
{id: 2432, start:2724485, end:2724730, name:"PA2429", strand:1},
{id: 2433, start:2724767, end:2725771, name:"PA2430", strand:-1},
{id: 2434, start:2725967, end:2728141, name:"PA2431", strand:-1},
{id: 2435, start:2728542, end:2729456, name:"PA2432", strand:1},
{id: 2436, start:2729571, end:2729840, name:"PA2433", strand:1},
{id: 2437, start:2729976, end:2730521, name:"PA2434", strand:-1},
{id: 2438, start:2730518, end:2732503, name:"PA2435", strand:-1},
{id: 2439, start:2732532, end:2732966, name:"PA2436", strand:-1},
{id: 2440, start:2733120, end:2734160, name:"PA2437", strand:-1},
{id: 2441, start:2734157, end:2735182, name:"PA2438", strand:-1},
{id: 2442, start:2735194, end:2737194, name:"PA2439", strand:-1},
{id: 2443, start:2737882, end:2738844, name:"PA2440", strand:1},
{id: 2444, start:2738841, end:2739716, name:"PA2441", strand:1},
{id: 2445, start:2739762, end:2740883, name:"PA2442", strand:-1},
{id: 2446, start:2740977, end:2742353, name:"PA2443", strand:-1},
{id: 2447, start:2742401, end:2743657, name:"PA2444", strand:-1},
{id: 2448, start:2743800, end:2746679, name:"PA2445", strand:-1},
{id: 2449, start:2746690, end:2747073, name:"PA2446", strand:-1},
{id: 2450, start:2747332, end:2748255, name:"PA2447", strand:-1},
{id: 2451, start:2748378, end:2750120, name:"PA2448", strand:1},
{id: 2452, start:2750128, end:2751663, name:"PA2449", strand:-1},
{id: 2453, start:2751745, end:2752662, name:"PA2450", strand:-1},
{id: 2454, start:2752866, end:2753465, name:"PA2451", strand:-1},
{id: 2455, start:2753519, end:2754445, name:"PA2452", strand:-1},
{id: 2456, start:2754602, end:2754823, name:"PA2453", strand:1},
{id: 2457, start:2754877, end:2755728, name:"PA2454", strand:1},
{id: 2458, start:2755725, end:2756252, name:"PA2455", strand:1},
{id: 2459, start:2756309, end:2756650, name:"PA2456", strand:1},
{id: 2460, start:2756918, end:2757898, name:"PA2457", strand:1},
{id: 2461, start:2758061, end:2759182, name:"PA2458", strand:1},
{id: 2462, start:2759482, end:2760087, name:"PA2459", strand:-1},
{id: 2463, start:2760323, end:2760619, name:"PA2460", strand:-1},
{id: 2464, start:2760872, end:2761351, name:"PA2461", strand:-1},
{id: 2465, start:2761921, end:2778804, name:"PA2462", strand:-1},
{id: 2466, start:2778917, end:2780614, name:"PA2463", strand:-1},
{id: 2467, start:2780927, end:2781451, name:"PA2464", strand:-1},
{id: 2468, start:2781498, end:2782646, name:"PA2465", strand:-1},
{id: 2469, start:2782764, end:2785226, name:"PA2466", strand:-1},
{id: 2470, start:2785370, end:2786356, name:"PA2467", strand:-1},
{id: 2471, start:2786365, end:2786883, name:"PA2468", strand:-1},
{id: 2472, start:2786972, end:2787886, name:"PA2469", strand:-1},
{id: 2473, start:2788011, end:2789072, name:"PA2470", strand:1},
{id: 2474, start:2789085, end:2789783, name:"PA2471", strand:1},
{id: 2475, start:2789861, end:2791207, name:"PA2472", strand:1},
{id: 2476, start:2791220, end:2791864, name:"PA2473", strand:1},
{id: 2477, start:2791906, end:2792817, name:"PA2474", strand:1},
{id: 2478, start:2792799, end:2794133, name:"PA2475", strand:-1},
{id: 2479, start:2794206, end:2794976, name:"PA2476", strand:-1},
{id: 2480, start:2794973, end:2795809, name:"PA2477", strand:-1},
{id: 2481, start:2795809, end:2797572, name:"PA2478", strand:-1},
{id: 2482, start:2797735, end:2798415, name:"PA2479", strand:1},
{id: 2483, start:2798412, end:2799734, name:"PA2480", strand:1},
{id: 2484, start:2799910, end:2800785, name:"PA2481", strand:-1},
{id: 2485, start:2800782, end:2801435, name:"PA2482", strand:-1},
{id: 2486, start:2801550, end:2802551, name:"PA2483", strand:-1},
{id: 2487, start:2802702, end:2803316, name:"PA2484", strand:-1},
{id: 2488, start:2803345, end:2803623, name:"PA2485", strand:1},
{id: 2489, start:2803640, end:2803834, name:"PA2486", strand:1},
{id: 2490, start:2803860, end:2804132, name:"PA2487", strand:-1},
{id: 2491, start:2804230, end:2804994, name:"PA2488", strand:1},
{id: 2492, start:2805021, end:2805836, name:"PA2489", strand:1},
{id: 2493, start:2805917, end:2806291, name:"PA2490", strand:1},
{id: 2494, start:2806350, end:2807369, name:"PA2491", strand:-1},
{id: 2495, start:2807469, end:2808512, name:"PA2492", strand:1},
{id: 2496, start:2808743, end:2809987, name:"PA2493", strand:1},
{id: 2497, start:2810009, end:2813197, name:"PA2494", strand:1},
{id: 2498, start:2813194, end:2814612, name:"PA2495", strand:1},
{id: 2499, start:2814767, end:2815282, name:"PA2496", strand:-1},
{id: 2500, start:2815341, end:2816219, name:"PA2497", strand:-1},
{id: 2501, start:2816347, end:2816979, name:"PA2498", strand:1},
{id: 2502, start:2816997, end:2817452, name:"PA2499", strand:1},
{id: 2503, start:2817449, end:2818675, name:"PA2500", strand:1},
{id: 2504, start:2818719, end:2818886, name:"PA2501", strand:-1},
{id: 2505, start:2818990, end:2820489, name:"PA2502", strand:-1},
{id: 2506, start:2820448, end:2821701, name:"PA2503", strand:1},
{id: 2507, start:2821705, end:2822322, name:"PA2504", strand:-1},
{id: 2508, start:2822574, end:2823920, name:"PA2505", strand:-1},
{id: 2509, start:2824283, end:2824501, name:"PA2506", strand:1},
{id: 2510, start:2824659, end:2825591, name:"PA2507", strand:-1},
{id: 2511, start:2825636, end:2825926, name:"PA2508", strand:-1},
{id: 2512, start:2825958, end:2827079, name:"PA2509", strand:-1},
{id: 2513, start:2827241, end:2828113, name:"PA2510", strand:1},
{id: 2514, start:2828122, end:2829123, name:"PA2511", strand:-1},
{id: 2515, start:2829440, end:2830834, name:"PA2512", strand:1},
{id: 2516, start:2830831, end:2831322, name:"PA2513", strand:1},
{id: 2517, start:2831341, end:2832363, name:"PA2514", strand:1},
{id: 2518, start:2832369, end:2833130, name:"PA2515", strand:-1},
{id: 2519, start:2833155, end:2834168, name:"PA2516", strand:-1},
{id: 2520, start:2834202, end:2834690, name:"PA2517", strand:-1},
{id: 2521, start:2834687, end:2836054, name:"PA2518", strand:-1},
{id: 2522, start:2836171, end:2837127, name:"PA2519", strand:-1},
{id: 2523, start:2837334, end:2840489, name:"PA2520", strand:-1},
{id: 2524, start:2840512, end:2841966, name:"PA2521", strand:-1},
{id: 2525, start:2842019, end:2843305, name:"PA2522", strand:-1},
{id: 2526, start:2843818, end:2844492, name:"PA2523", strand:1},
{id: 2527, start:2844489, end:2845907, name:"PA2524", strand:1},
{id: 2528, start:2846283, end:2847779, name:"PA2525", strand:-1},
{id: 2529, start:2847776, end:2850886, name:"PA2526", strand:-1},
{id: 2530, start:2850883, end:2854014, name:"PA2527", strand:-1},
{id: 2531, start:2854011, end:2855291, name:"PA2528", strand:-1},
{id: 2532, start:2855548, end:2856981, name:"PA2529", strand:1},
{id: 2533, start:2856981, end:2858306, name:"PA2530", strand:1},
{id: 2534, start:2858503, end:2859627, name:"PA2531", strand:1},
{id: 2535, start:2859777, end:2860274, name:"PA2532", strand:-1},
{id: 2536, start:2860409, end:2861758, name:"PA2533", strand:-1},
{id: 2537, start:2861914, end:2862825, name:"PA2534", strand:-1},
{id: 2538, start:2862944, end:2863939, name:"PA2535", strand:1},
{id: 2539, start:2864170, end:2865105, name:"PA2536", strand:-1},
{id: 2540, start:2865107, end:2865736, name:"PA2537", strand:-1},
{id: 2541, start:2865748, end:2866200, name:"PA2538", strand:-1},
{id: 2542, start:2866193, end:2867506, name:"PA2539", strand:-1},
{id: 2543, start:2867542, end:2869302, name:"PA2540", strand:-1},
{id: 2544, start:2869392, end:2870027, name:"PA2541", strand:-1},
{id: 2545, start:2870162, end:2873827, name:"PA2542", strand:-1},
{id: 2546, start:2873824, end:2875563, name:"PA2543", strand:-1},
{id: 2547, start:2875697, end:2876410, name:"PA2544", strand:-1},
{id: 2548, start:2876555, end:2877367, name:"PA2545", strand:1},
{id: 2549, start:2877477, end:2877908, name:"PA2546", strand:-1},
{id: 2550, start:2877999, end:2878916, name:"PA2547", strand:1},
{id: 2551, start:2878976, end:2880370, name:"PA2548", strand:1},
{id: 2552, start:2880520, end:2881563, name:"PA2549", strand:1},
{id: 2553, start:2881754, end:2882983, name:"PA2550", strand:-1},
{id: 2554, start:2883157, end:2884089, name:"PA2551", strand:1},
{id: 2555, start:2884206, end:2885333, name:"PA2552", strand:-1},
{id: 2556, start:2885362, end:2886552, name:"PA2553", strand:-1},
{id: 2557, start:2886570, end:2887337, name:"PA2554", strand:-1},
{id: 2558, start:2887357, end:2889024, name:"PA2555", strand:-1},
{id: 2559, start:2889202, end:2890287, name:"PA2556", strand:-1},
{id: 2560, start:2890356, end:2892050, name:"PA2557", strand:-1},
{id: 2561, start:2892271, end:2892963, name:"PA2558", strand:1},
{id: 2562, start:2893286, end:2893828, name:"PA2559", strand:-1},
{id: 2563, start:2894452, end:2894739, name:"PA2560", strand:-1},
{id: 2564, start:2894908, end:2896614, name:"PA2561", strand:1},
{id: 2565, start:2896741, end:2897253, name:"PA2562", strand:-1},
{id: 2566, start:2897610, end:2899097, name:"PA2563", strand:1},
{id: 2567, start:2899107, end:2899934, name:"PA2564", strand:-1},
{id: 2568, start:2899924, end:2900349, name:"PA2565", strand:-1},
{id: 2569, start:2900372, end:2901559, name:"PA2566", strand:-1},
{id: 2570, start:2902218, end:2903981, name:"PA2567", strand:1},
{id: 2571, start:2904040, end:2904447, name:"PA2568", strand:-1},
{id: 2572, start:2904566, end:2904907, name:"PA2569", strand:-1},
{id: 2573, start:2905182, end:2905550, name:"PA2570", strand:-1},
{id: 2574, start:2906166, end:2907578, name:"PA2571", strand:-1},
{id: 2575, start:2907656, end:2908999, name:"PA2572", strand:1},
{id: 2576, start:2909010, end:2910617, name:"PA2573", strand:-1},
{id: 2577, start:2910729, end:2911877, name:"PA2574", strand:-1},
{id: 2578, start:2912225, end:2912827, name:"PA2575", strand:1},
{id: 2579, start:2912890, end:2913789, name:"PA2576", strand:-1},
{id: 2580, start:2913922, end:2914359, name:"PA2577", strand:1},
{id: 2581, start:2914374, end:2914934, name:"PA2578", strand:1},
{id: 2582, start:2914966, end:2915832, name:"PA2579", strand:-1},
{id: 2583, start:2916158, end:2916748, name:"PA2580", strand:-1},
{id: 2584, start:2917172, end:2918212, name:"PA2581", strand:1},
{id: 2585, start:2918967, end:2919500, name:"PA2582", strand:-1},
{id: 2586, start:2919591, end:2922569, name:"PA2583", strand:-1},
{id: 2587, start:2923367, end:2923927, name:"PA2584", strand:-1},
{id: 2588, start:2923961, end:2925787, name:"PA2585", strand:-1},
{id: 2589, start:2925788, end:2926432, name:"PA2586", strand:-1},
{id: 2590, start:2926773, end:2927921, name:"PA2587", strand:-1},
{id: 2591, start:2928539, end:2929567, name:"PA2588", strand:1},
{id: 2592, start:2929583, end:2930797, name:"PA2589", strand:-1},
{id: 2593, start:2930808, end:2933462, name:"PA2590", strand:-1},
{id: 2594, start:2933582, end:2934388, name:"PA2591", strand:-1},
{id: 2595, start:2934541, end:2935644, name:"PA2592", strand:1},
{id: 2596, start:2935851, end:2936423, name:"PA2593", strand:1},
{id: 2597, start:2936490, end:2937449, name:"PA2594", strand:-1},
{id: 2598, start:2937585, end:2938541, name:"PA2595", strand:-1},
{id: 2599, start:2938553, end:2939539, name:"PA2596", strand:-1},
{id: 2600, start:2939646, end:2940797, name:"PA2597", strand:-1},
{id: 2601, start:2940802, end:2941884, name:"PA2598", strand:-1},
{id: 2602, start:2941894, end:2942838, name:"PA2599", strand:-1},
{id: 2603, start:2942848, end:2943915, name:"PA2600", strand:-1},
{id: 2604, start:2944255, end:2945151, name:"PA2601", strand:-1},
{id: 2605, start:2945264, end:2945869, name:"PA2602", strand:1},
{id: 2606, start:2945866, end:2947449, name:"PA2603", strand:1},
{id: 2607, start:2947803, end:2948471, name:"PA2604", strand:1},
{id: 2608, start:2948582, end:2948977, name:"PA2605", strand:1},
{id: 2609, start:2948974, end:2949333, name:"PA2606", strand:1},
{id: 2610, start:2949333, end:2949638, name:"PA2607", strand:1},
{id: 2611, start:2949635, end:2949970, name:"PA2608", strand:1},
{id: 2612, start:2949967, end:2950950, name:"PA2609", strand:1},
{id: 2613, start:2951038, end:2952012, name:"PA2610", strand:1},
{id: 2614, start:2952017, end:2953414, name:"PA2611", strand:-1},
{id: 2615, start:2953416, end:2954696, name:"PA2612", strand:-1},
{id: 2616, start:2954818, end:2956143, name:"PA2613", strand:-1},
{id: 2617, start:2956153, end:2956779, name:"PA2614", strand:-1},
{id: 2618, start:2956805, end:2959240, name:"PA2615", strand:-1},
{id: 2619, start:2959468, end:2960418, name:"PA2616", strand:1},
{id: 2620, start:2960456, end:2961136, name:"PA2617", strand:1},
{id: 2621, start:2961191, end:2961898, name:"PA2618", strand:1},
{id: 2622, start:2962003, end:2962221, name:"PA2619", strand:1},
{id: 2623, start:2962303, end:2964579, name:"PA2620", strand:-1},
{id: 2624, start:2964607, end:2964843, name:"PA2621", strand:-1},
{id: 2625, start:2965201, end:2965473, name:"PA2622", strand:1},
{id: 2626, start:2965546, end:2966802, name:"PA2623", strand:-1},
{id: 2627, start:2967161, end:2969386, name:"PA2624", strand:1},
{id: 2628, start:2969473, end:2969943, name:"PA2625", strand:1},
{id: 2629, start:2969987, end:2971114, name:"PA2626", strand:1},
{id: 2630, start:2971111, end:2971731, name:"PA2627", strand:1},
{id: 2631, start:2971734, end:2972624, name:"PA2628", strand:1},
{id: 2632, start:2972699, end:2974069, name:"PA2629", strand:1},
{id: 2633, start:2974129, end:2975298, name:"PA2630", strand:1},
{id: 2634, start:2975291, end:2975716, name:"PA2631", strand:1},
{id: 2635, start:2975723, end:2976343, name:"PA2632", strand:1},
{id: 2636, start:2976340, end:2977161, name:"PA2633", strand:1},
{id: 2637, start:2977756, end:2979351, name:"PA2634", strand:1},
{id: 2638, start:2979530, end:2981548, name:"PA2635", strand:1},
{id: 2639, start:2981627, end:2982181, name:"PA2636", strand:1},
{id: 2640, start:2982781, end:2983194, name:"PA2637", strand:1},
{id: 2641, start:2983205, end:2983882, name:"PA2638", strand:1},
{id: 2642, start:2983963, end:2985744, name:"PA2639", strand:1},
{id: 2643, start:2985746, end:2986246, name:"PA2640", strand:1},
{id: 2644, start:2986243, end:2987589, name:"PA2641", strand:1},
{id: 2645, start:2987721, end:2990438, name:"PA2642", strand:1},
{id: 2646, start:2990435, end:2991430, name:"PA2643", strand:1},
{id: 2647, start:2991442, end:2991990, name:"PA2644", strand:1},
{id: 2648, start:2992002, end:2992502, name:"PA2645", strand:1},
{id: 2649, start:2992548, end:2992856, name:"PA2646", strand:1},
{id: 2650, start:2992853, end:2994700, name:"PA2647", strand:1},
{id: 2651, start:2994728, end:2996257, name:"PA2648", strand:1},
{id: 2652, start:2996265, end:2997725, name:"PA2649", strand:1},
{id: 2653, start:2997840, end:2998649, name:"PA2650", strand:1},
{id: 2654, start:2998856, end:2999914, name:"PA2651", strand:-1},
{id: 2655, start:3000074, end:3001759, name:"PA2652", strand:-1},
{id: 2656, start:3001873, end:3003198, name:"PA2653", strand:-1},
{id: 2657, start:3003457, end:3005601, name:"PA2654", strand:1},
{id: 2658, start:3005606, end:3005914, name:"PA2655", strand:-1},
{id: 2659, start:3006005, end:3007342, name:"PA2656", strand:-1},
{id: 2660, start:3007339, end:3008010, name:"PA2657", strand:-1},
{id: 2661, start:3008010, end:3008324, name:"PA2658", strand:-1},
{id: 2662, start:3008324, end:3008632, name:"PA2659", strand:-1},
{id: 2663, start:3008847, end:3009929, name:"PA2660", strand:1},
{id: 2664, start:3009956, end:3010849, name:"PA2661", strand:1},
{id: 2665, start:3011100, end:3012293, name:"PA2662", strand:-1},
{id: 2666, start:3012280, end:3012537, name:"PA2663", strand:-1},
{id: 2667, start:3012592, end:3013773, name:"PA2664", strand:-1},
{id: 2668, start:3013928, end:3015481, name:"PA2665", strand:1},
{id: 2669, start:3015582, end:3015938, name:"PA2666", strand:1},
{id: 2670, start:3016246, end:3016599, name:"PA2667", strand:1},
{id: 2671, start:3016675, end:3016884, name:"PA2668", strand:-1},
{id: 2672, start:3017234, end:3017818, name:"PA2669", strand:-1},
{id: 2673, start:3017818, end:3018804, name:"PA2670", strand:-1},
{id: 2674, start:3018848, end:3019927, name:"PA2671", strand:-1},
{id: 2675, start:3019917, end:3020507, name:"PA2672", strand:-1},
{id: 2676, start:3020504, end:3020929, name:"PA2673", strand:-1},
{id: 2677, start:3020929, end:3021339, name:"PA2674", strand:-1},
{id: 2678, start:3021308, end:3021742, name:"PA2675", strand:-1},
{id: 2679, start:3021796, end:3022983, name:"PA2676", strand:-1},
{id: 2680, start:3022988, end:3024715, name:"PA2677", strand:-1},
{id: 2681, start:3024705, end:3025508, name:"PA2678", strand:-1},
{id: 2682, start:3026100, end:3026852, name:"PA2679", strand:-1},
{id: 2683, start:3027078, end:3028052, name:"PA2680", strand:1},
{id: 2684, start:3028075, end:3029004, name:"PA2681", strand:1},
{id: 2685, start:3029187, end:3030428, name:"PA2682", strand:1},
{id: 2686, start:3030436, end:3031398, name:"PA2683", strand:-1},
{id: 2687, start:3031749, end:3035702, name:"PA2684", strand:-1},
{id: 2688, start:3035752, end:3037932, name:"PA2685", strand:-1},
{id: 2689, start:3037886, end:3038803, name:"PA2686", strand:1},
{id: 2690, start:3038803, end:3040143, name:"PA2687", strand:1},
{id: 2691, start:3040242, end:3042482, name:"PA2688", strand:1},
{id: 2692, start:3042502, end:3043416, name:"PA2689", strand:1},
{id: 2693, start:3043750, end:3044766, name:"PA2690", strand:-1},
{id: 2694, start:3044947, end:3046152, name:"PA2691", strand:-1},
{id: 2695, start:3046421, end:3046945, name:"PA2692", strand:1},
{id: 2696, start:3047116, end:3047616, name:"PA2693", strand:1},
{id: 2697, start:3047644, end:3047970, name:"PA2694", strand:-1},
{id: 2698, start:3048051, end:3049154, name:"PA2695", strand:-1},
{id: 2699, start:3049268, end:3050161, name:"PA2696", strand:-1},
{id: 2700, start:3050331, end:3050612, name:"PA2697", strand:-1},
{id: 2701, start:3050669, end:3051349, name:"PA2698", strand:-1},
{id: 2702, start:3051957, end:3053795, name:"PA2699", strand:1},
{id: 2703, start:3053844, end:3055151, name:"PA2700", strand:1},
{id: 2704, start:3055154, end:3056743, name:"PA2701", strand:1},
{id: 2705, start:3056890, end:3057366, name:"PA2702", strand:1},
{id: 2706, start:3057376, end:3057609, name:"PA2703", strand:1},
{id: 2707, start:3057902, end:3058921, name:"PA2704", strand:-1},
{id: 2708, start:3059035, end:3060216, name:"PA2705", strand:-1},
{id: 2709, start:3060265, end:3060660, name:"PA2706", strand:-1},
{id: 2710, start:3060725, end:3061570, name:"PA2707", strand:-1},
{id: 2711, start:3061733, end:3062818, name:"PA2708", strand:-1},
{id: 2712, start:3062939, end:3063913, name:"PA2709", strand:1},
{id: 2713, start:3063972, end:3064586, name:"PA2710", strand:1},
{id: 2714, start:3064785, end:3065876, name:"PA2711", strand:1},
{id: 2715, start:3066296, end:3067159, name:"PA2712", strand:1},
{id: 2716, start:3067207, end:3067686, name:"PA2713", strand:-1},
{id: 2717, start:3068040, end:3070349, name:"PA2714", strand:1},
{id: 2718, start:3070366, end:3070704, name:"PA2715", strand:1},
{id: 2719, start:3070719, end:3071954, name:"PA2716", strand:-1},
{id: 2720, start:3072081, end:3072911, name:"PA2717", strand:-1},
{id: 2721, start:3073144, end:3073632, name:"PA2718", strand:1},
{id: 2722, start:3073732, end:3074418, name:"PA2719", strand:1},
{id: 2723, start:3074580, end:3075218, name:"PA2720", strand:-1},
{id: 2724, start:3075411, end:3075890, name:"PA2721", strand:1},
{id: 2725, start:3075922, end:3076314, name:"PA2722", strand:1},
{id: 2726, start:3076344, end:3076622, name:"PA2723", strand:1},
{id: 2727, start:3076697, end:3077236, name:"PA2724", strand:1},
{id: 2728, start:3077312, end:3079195, name:"PA2725", strand:1},
{id: 2729, start:3079197, end:3079835, name:"PA2726", strand:1},
{id: 2730, start:3079850, end:3083482, name:"PA2727", strand:1},
{id: 2731, start:3083485, end:3086145, name:"PA2728", strand:1},
{id: 2732, start:3086142, end:3087491, name:"PA2729", strand:1},
{id: 2733, start:3088660, end:3089613, name:"PA2730", strand:-1},
{id: 2734, start:3089644, end:3090108, name:"PA2731", strand:-1},
{id: 2735, start:3090221, end:3093661, name:"PA2732", strand:-1},
{id: 2736, start:3093658, end:3094185, name:"PA2733", strand:-1},
{id: 2737, start:3094757, end:3096052, name:"PA2734", strand:-1},
{id: 2738, start:3096130, end:3098508, name:"PA2735", strand:-1},
{id: 2739, start:3098626, end:3098979, name:"PA2736", strand:-1},
{id: 2740, start:3099473, end:3099730, name:"PA2737", strand:-1},
{id: 2741, start:3099810, end:3100112, name:"PA2738", strand:-1},
{id: 2742, start:3100116, end:3102494, name:"PA2739", strand:-1},
{id: 2743, start:3102529, end:3103545, name:"PA2740", strand:-1},
{id: 2744, start:3103643, end:3103999, name:"PA2741", strand:-1},
{id: 2745, start:3104023, end:3104217, name:"PA2742", strand:-1},
{id: 2746, start:3104279, end:3104830, name:"PA2743", strand:-1},
{id: 2747, start:3104830, end:3106752, name:"PA2744", strand:-1},
{id: 2748, start:3107002, end:3107865, name:"PA2745", strand:-1},
{id: 2749, start:3108057, end:3108383, name:"PA2746", strand:1},
{id: 2750, start:3108970, end:3109257, name:"PA2747", strand:-1},
{id: 2751, start:3109743, end:3110525, name:"PA2748", strand:-1},
{id: 2752, start:3110901, end:3111614, name:"PA2749", strand:1},
{id: 2753, start:3111633, end:3112151, name:"PA2750", strand:1},
{id: 2754, start:3112878, end:3113777, name:"PA2751", strand:1},
{id: 2755, start:3114240, end:3114683, name:"PA2752", strand:-1},
{id: 2756, start:3114819, end:3115193, name:"PA2753", strand:1},
{id: 2757, start:3115304, end:3115633, name:"PA2754", strand:1},
{id: 2758, start:3116654, end:3117124, name:"PA2755", strand:1},
{id: 2759, start:3117177, end:3117611, name:"PA2756", strand:-1},
{id: 2760, start:3117750, end:3118193, name:"PA2757", strand:-1},
{id: 2761, start:3118296, end:3119183, name:"PA2758", strand:1},
{id: 2762, start:3119394, end:3119708, name:"PA2759", strand:-1},
{id: 2763, start:3120073, end:3121350, name:"PA2760", strand:1},
{id: 2764, start:3121462, end:3121878, name:"PA2761", strand:1},
{id: 2765, start:3121921, end:3122265, name:"PA2762", strand:-1},
{id: 2766, start:3122377, end:3122586, name:"PA2763", strand:-1},
{id: 2767, start:3123599, end:3124294, name:"PA2764", strand:1},
{id: 2768, start:3124342, end:3125241, name:"PA2765", strand:-1},
{id: 2769, start:3125583, end:3126164, name:"PA2766", strand:-1},
{id: 2770, start:3126252, end:3127220, name:"PA2767", strand:1},
{id: 2771, start:3127226, end:3127708, name:"PA2768", strand:1},
{id: 2772, start:3127860, end:3128270, name:"PA2769", strand:-1},
{id: 2773, start:3128292, end:3129071, name:"PA2770", strand:-1},
{id: 2774, start:3129729, end:3130754, name:"PA2771", strand:1},
{id: 2775, start:3130761, end:3131159, name:"PA2772", strand:-1},
{id: 2776, start:3131509, end:3132030, name:"PA2773", strand:-1},
{id: 2777, start:3132229, end:3132816, name:"PA2774", strand:-1},
{id: 2778, start:3132821, end:3133258, name:"PA2775", strand:-1},
{id: 2779, start:3133710, end:3134993, name:"PA2776", strand:1},
{id: 2780, start:3135044, end:3136000, name:"PA2777", strand:-1},
{id: 2781, start:3136082, end:3136963, name:"PA2778", strand:-1},
{id: 2782, start:3137044, end:3137442, name:"PA2779", strand:-1},
{id: 2783, start:3137850, end:3138194, name:"PA2780", strand:1},
{id: 2784, start:3138191, end:3138532, name:"PA2781", strand:1},
{id: 2785, start:3139011, end:3139670, name:"PA2782", strand:1},
{id: 2786, start:3139748, end:3141547, name:"PA2783", strand:1},
{id: 2787, start:3141719, end:3142276, name:"PA2784", strand:1},
{id: 2788, start:3142285, end:3142503, name:"PA2785", strand:1},
{id: 2789, start:3142618, end:3143085, name:"PA2786", strand:1},
{id: 2790, start:3143152, end:3144390, name:"PA2787", strand:1},
{id: 2791, start:3144412, end:3146007, name:"PA2788", strand:-1},
{id: 2792, start:3146251, end:3147330, name:"PA2789", strand:1},
{id: 2793, start:3147765, end:3148250, name:"PA2790", strand:1},
{id: 2794, start:3148339, end:3148629, name:"PA2791", strand:-1},
{id: 2795, start:3148723, end:3149319, name:"PA2792", strand:-1},
{id: 2796, start:3149400, end:3150434, name:"PA2793", strand:-1},
{id: 2797, start:3150886, end:3152202, name:"PA2794", strand:-1},
{id: 2798, start:3152504, end:3153502, name:"PA2795", strand:1},
{id: 2799, start:3153582, end:3154505, name:"PA2796", strand:1},
{id: 2800, start:3154593, end:3155075, name:"PA2797", strand:-1},
{id: 2801, start:3155072, end:3156256, name:"PA2798", strand:-1},
{id: 2802, start:3156503, end:3156802, name:"PA2799", strand:1},
{id: 2803, start:3156860, end:3157564, name:"PA2800", strand:-1},
{id: 2804, start:3157667, end:3158071, name:"PA2801", strand:1},
{id: 2805, start:3158073, end:3158792, name:"PA2802", strand:-1},
{id: 2806, start:3158926, end:3159669, name:"PA2803", strand:1},
{id: 2807, start:3159666, end:3160247, name:"PA2804", strand:1},
{id: 2808, start:3160321, end:3160584, name:"PA2805", strand:1},
{id: 2809, start:3160651, end:3161481, name:"PA2806", strand:-1},
{id: 2810, start:3161599, end:3162216, name:"PA2807", strand:-1},
{id: 2811, start:3162388, end:3162579, name:"PA2808", strand:-1},
{id: 2812, start:3162705, end:3163385, name:"PA2809", strand:1},
{id: 2813, start:3163382, end:3164713, name:"PA2810", strand:1},
{id: 2814, start:3164763, end:3165542, name:"PA2811", strand:-1},
{id: 2815, start:3165539, end:3166471, name:"PA2812", strand:-1},
{id: 2816, start:3166547, end:3167167, name:"PA2813", strand:-1},
{id: 2817, start:3167282, end:3167953, name:"PA2814", strand:-1},
{id: 2818, start:3168106, end:3170553, name:"PA2815", strand:1},
{id: 2819, start:3170682, end:3171062, name:"PA2816", strand:1},
{id: 2820, start:3171121, end:3171531, name:"PA2817", strand:1},
{id: 2821, start:3171598, end:3173175, name:"PA2818", strand:-1},
{id: 2822, start:3173244, end:3173723, name:"PA2819", strand:1},
{id: 2823, start:3174131, end:3174904, name:"PA2820", strand:1},
{id: 2824, start:3174966, end:3175628, name:"PA2821", strand:1},
{id: 2825, start:3175638, end:3176120, name:"PA2822", strand:-1},
{id: 2826, start:3176117, end:3177007, name:"PA2823", strand:-1},
{id: 2827, start:3177090, end:3179450, name:"PA2824", strand:1},
{id: 2828, start:3179469, end:3179960, name:"PA2825", strand:-1},
{id: 2829, start:3179957, end:3180442, name:"PA2826", strand:-1},
{id: 2830, start:3180554, end:3180952, name:"PA2827", strand:-1},
{id: 2831, start:3181137, end:3182348, name:"PA2828", strand:1},
{id: 2832, start:3182400, end:3182852, name:"PA2829", strand:1},
{id: 2833, start:3182986, end:3183861, name:"PA2830", strand:1},
{id: 2834, start:3184002, end:3185129, name:"PA2831", strand:1},
{id: 2835, start:3185161, end:3185817, name:"PA2832", strand:-1},
{id: 2836, start:3185873, end:3186319, name:"PA2833", strand:-1},
{id: 2837, start:3186449, end:3187408, name:"PA2834", strand:1},
{id: 2838, start:3187546, end:3189138, name:"PA2835", strand:1},
{id: 2839, start:3189150, end:3190214, name:"PA2836", strand:1},
{id: 2840, start:3190211, end:3191650, name:"PA2837", strand:1},
{id: 2841, start:3191687, end:3192658, name:"PA2838", strand:1},
{id: 2842, start:3192749, end:3193519, name:"PA2839", strand:1},
{id: 2843, start:3193886, end:3195589, name:"PA2840", strand:-1},
{id: 2844, start:3195900, end:3196691, name:"PA2841", strand:1},
{id: 2845, start:3196717, end:3197466, name:"PA2842", strand:-1},
{id: 2846, start:3197642, end:3198988, name:"PA2843", strand:1},
{id: 2847, start:3199029, end:3200237, name:"PA2844", strand:-1},
{id: 2848, start:3200320, end:3200553, name:"PA2845", strand:-1},
{id: 2849, start:3200650, end:3201504, name:"PA2846", strand:1},
{id: 2850, start:3201506, end:3202255, name:"PA2847", strand:-1},
{id: 2851, start:3202293, end:3203312, name:"PA2848", strand:1},
{id: 2852, start:3203398, end:3203853, name:"PA2849", strand:1},
{id: 2853, start:3203998, end:3204426, name:"PA2850", strand:1},
{id: 2854, start:3204514, end:3205080, name:"PA2851", strand:-1},
{id: 2855, start:3205123, end:3206253, name:"PA2852", strand:-1},
{id: 2856, start:3206915, end:3207166, name:"PA2853", strand:1},
{id: 2857, start:3207290, end:3208261, name:"PA2854", strand:-1},
{id: 2858, start:3208339, end:3208617, name:"PA2855", strand:-1},
{id: 2859, start:3208673, end:3209278, name:"PA2856", strand:-1},
{id: 2860, start:3209289, end:3209972, name:"PA2857", strand:1},
{id: 2861, start:3209981, end:3212473, name:"PA2858", strand:1},
{id: 2862, start:3212525, end:3213031, name:"PA2859", strand:1},
{id: 2863, start:3213044, end:3213484, name:"PA2860", strand:-1},
{id: 2864, start:3213538, end:3214086, name:"PA2861", strand:1},
{id: 2865, start:3214282, end:3215217, name:"PA2862", strand:1},
{id: 2866, start:3215423, end:3216289, name:"PA2863", strand:1},
{id: 2867, start:3216456, end:3216890, name:"PA2864", strand:-1},
{id: 2868, start:3216989, end:3218419, name:"PA2865", strand:-1},
{id: 2869, start:3218666, end:3219469, name:"PA2866", strand:1},
{id: 2870, start:3219608, end:3221080, name:"PA2867", strand:1},
{id: 2871, start:3221206, end:3221565, name:"PA2868", strand:1},
{id: 2872, start:3221652, end:3222140, name:"PA2869", strand:1},
{id: 2873, start:3222150, end:3223727, name:"PA2870", strand:1},
{id: 2874, start:3223736, end:3224533, name:"PA2871", strand:-1},
{id: 2875, start:3224614, end:3225384, name:"PA2872", strand:-1},
{id: 2876, start:3225381, end:3227387, name:"PA2873", strand:-1},
{id: 2877, start:3227384, end:3228337, name:"PA2874", strand:-1},
{id: 2878, start:3228337, end:3229254, name:"PA2875", strand:-1},
{id: 2879, start:3229484, end:3230182, name:"PA2876", strand:-1},
{id: 2880, start:3230279, end:3231172, name:"PA2877", strand:-1},
{id: 2881, start:3231218, end:3231859, name:"PA2878", strand:1},
{id: 2882, start:3231882, end:3232772, name:"PA2879", strand:-1},
{id: 2883, start:3232819, end:3233334, name:"PA2880", strand:1},
{id: 2884, start:3233343, end:3234254, name:"PA2881", strand:-1},
{id: 2885, start:3234256, end:3235371, name:"PA2882", strand:-1},
{id: 2886, start:3235794, end:3235961, name:"PA2883", strand:1},
{id: 2887, start:3236194, end:3236958, name:"PA2884", strand:1},
{id: 2888, start:3236959, end:3237555, name:"PA2885", strand:-1},
{id: 2889, start:3237836, end:3239638, name:"PA2886", strand:1},
{id: 2890, start:3239711, end:3240589, name:"PA2887", strand:1},
{id: 2891, start:3240591, end:3242207, name:"PA2888", strand:1},
{id: 2892, start:3242324, end:3243484, name:"PA2889", strand:1},
{id: 2893, start:3243505, end:3244299, name:"PA2890", strand:1},
{id: 2894, start:3244345, end:3246330, name:"PA2891", strand:1},
{id: 2895, start:3246382, end:3247206, name:"PA2892", strand:1},
{id: 2896, start:3247369, end:3249195, name:"PA2893", strand:1},
{id: 2897, start:3249209, end:3249631, name:"PA2894", strand:-1},
{id: 2898, start:3249977, end:3250741, name:"PA2895", strand:-1},
{id: 2899, start:3250738, end:3251322, name:"PA2896", strand:-1},
{id: 2900, start:3251651, end:3253090, name:"PA2897", strand:-1},
{id: 2901, start:3253312, end:3253680, name:"PA2898", strand:-1},
{id: 2902, start:3253766, end:3254404, name:"PA2899", strand:-1},
{id: 2903, start:3254598, end:3255407, name:"PA2900", strand:-1},
{id: 2904, start:3255407, end:3255766, name:"PA2901", strand:-1},
{id: 2905, start:3255763, end:3256611, name:"PA2902", strand:-1},
{id: 2906, start:3256681, end:3258360, name:"PA2903", strand:-1},
{id: 2907, start:3258353, end:3259105, name:"PA2904", strand:-1},
{id: 2908, start:3259102, end:3259728, name:"PA2905", strand:-1},
{id: 2909, start:3259725, end:3261185, name:"PA2906", strand:-1},
{id: 2910, start:3261522, end:3262769, name:"PA2907", strand:1},
{id: 2911, start:3262762, end:3263862, name:"PA2908", strand:1},
{id: 2912, start:3263859, end:3264587, name:"PA2909", strand:1},
{id: 2913, start:3264642, end:3265211, name:"PA2910", strand:-1},
{id: 2914, start:3265848, end:3268004, name:"PA2911", strand:1},
{id: 2915, start:3268057, end:3268830, name:"PA2912", strand:1},
{id: 2916, start:3268827, end:3269798, name:"PA2913", strand:1},
{id: 2917, start:3269795, end:3270826, name:"PA2914", strand:1},
{id: 2918, start:3270827, end:3271693, name:"PA2915", strand:-1},
{id: 2919, start:3271813, end:3272406, name:"PA2916", strand:-1},
{id: 2920, start:3272457, end:3273293, name:"PA2917", strand:-1},
{id: 2921, start:3273504, end:3274277, name:"PA2918", strand:1},
{id: 2922, start:3274328, end:3274585, name:"PA2919", strand:1},
{id: 2923, start:3274597, end:3276234, name:"PA2920", strand:-1},
{id: 2924, start:3276319, end:3277308, name:"PA2921", strand:-1},
{id: 2925, start:3277409, end:3278578, name:"PA2922", strand:1},
{id: 2926, start:3278638, end:3279423, name:"PA2923", strand:1},
{id: 2927, start:3279479, end:3280168, name:"PA2924", strand:1},
{id: 2928, start:3280165, end:3280878, name:"PA2925", strand:1},
{id: 2929, start:3280899, end:3281666, name:"PA2926", strand:1},
{id: 2930, start:3281988, end:3283319, name:"PA2927", strand:1},
{id: 2931, start:3283375, end:3284598, name:"PA2928", strand:-1},
{id: 2932, start:3285007, end:3285621, name:"PA2929", strand:-1},
{id: 2933, start:3285687, end:3286613, name:"PA2930", strand:1},
{id: 2934, start:3286624, end:3287214, name:"PA2931", strand:-1},
{id: 2935, start:3287340, end:3288449, name:"PA2932", strand:1},
{id: 2936, start:3288515, end:3289693, name:"PA2933", strand:1},
{id: 2937, start:3289715, end:3290674, name:"PA2934", strand:1},
{id: 2938, start:3290694, end:3291173, name:"PA2935", strand:-1},
{id: 2939, start:3291283, end:3291864, name:"PA2936", strand:1},
{id: 2940, start:3291960, end:3292268, name:"PA2937", strand:1},
{id: 2941, start:3292324, end:3293781, name:"PA2938", strand:-1},
{id: 2942, start:3294282, end:3295892, name:"PA2939", strand:1},
{id: 2943, start:3295979, end:3297118, name:"PA2940", strand:-1},
{id: 2944, start:3297240, end:3297884, name:"PA2941", strand:-1},
{id: 2945, start:3297905, end:3298921, name:"PA2942", strand:-1},
{id: 2946, start:3299492, end:3300586, name:"PA2943", strand:1},
{id: 2947, start:3300615, end:3304361, name:"PA2944", strand:-1},
{id: 2948, start:3304437, end:3305564, name:"PA2945", strand:-1},
{id: 2949, start:3305919, end:3307013, name:"PA2946", strand:1},
{id: 2950, start:3307085, end:3307513, name:"PA2947", strand:1},
{id: 2951, start:3307510, end:3308262, name:"PA2948", strand:1},
{id: 2952, start:3308391, end:3309338, name:"PA2949", strand:1},
{id: 2953, start:3309411, end:3310607, name:"PA2950", strand:-1},
{id: 2954, start:3310792, end:3311721, name:"PA2951", strand:-1},
{id: 2955, start:3311721, end:3312470, name:"PA2952", strand:-1},
{id: 2956, start:3312791, end:3314446, name:"PA2953", strand:1},
{id: 2957, start:3314495, end:3315064, name:"PA2954", strand:-1},
{id: 2958, start:3315057, end:3315689, name:"PA2955", strand:-1},
{id: 2959, start:3315754, end:3316650, name:"PA2956", strand:-1},
{id: 2960, start:3316800, end:3317438, name:"PA2957", strand:-1},
{id: 2961, start:3317524, end:3318657, name:"PA2958", strand:1},
{id: 2962, start:3318883, end:3319659, name:"PA2959", strand:-1},
{id: 2963, start:3319674, end:3320030, name:"PA2960", strand:-1},
{id: 2964, start:3320064, end:3321050, name:"PA2961", strand:-1},
{id: 2965, start:3321043, end:3321675, name:"PA2962", strand:-1},
{id: 2966, start:3321704, end:3322753, name:"PA2963", strand:-1},
{id: 2967, start:3322759, end:3323574, name:"PA2964", strand:-1},
{id: 2968, start:3323574, end:3324818, name:"PA2965", strand:-1},
{id: 2969, start:3324947, end:3325183, name:"PA2966", strand:-1},
{id: 2970, start:3325379, end:3326122, name:"PA2967", strand:-1},
{id: 2971, start:3326145, end:3327083, name:"PA2968", strand:-1},
{id: 2972, start:3327189, end:3328169, name:"PA2969", strand:-1},
{id: 2973, start:3328203, end:3328385, name:"PA2970", strand:-1},
{id: 2974, start:3328399, end:3328935, name:"PA2971", strand:-1},
{id: 2975, start:3329045, end:3329623, name:"PA2972", strand:1},
{id: 2976, start:3329690, end:3330670, name:"PA2973", strand:-1},
{id: 2977, start:3330663, end:3331355, name:"PA2974", strand:-1},
{id: 2978, start:3331348, end:3332304, name:"PA2975", strand:-1},
{id: 2979, start:3332881, end:3336054, name:"PA2976", strand:1},
{id: 2980, start:3336212, end:3337231, name:"PA2977", strand:-1},
{id: 2981, start:3337228, end:3337692, name:"PA2978", strand:-1},
{id: 2982, start:3337692, end:3338456, name:"PA2979", strand:-1},
{id: 2983, start:3338456, end:3338641, name:"PA2980", strand:-1},
{id: 2984, start:3338679, end:3339677, name:"PA2981", strand:-1},
{id: 2985, start:3339677, end:3340117, name:"PA2982", strand:-1},
{id: 2986, start:3340114, end:3340749, name:"PA2983", strand:-1},
{id: 2987, start:3340822, end:3343047, name:"PA2984", strand:-1},
{id: 2988, start:3343178, end:3343711, name:"PA2985", strand:1},
{id: 2989, start:3343799, end:3345100, name:"PA2986", strand:-1},
{id: 2990, start:3345113, end:3345796, name:"PA2987", strand:-1},
{id: 2991, start:3345789, end:3347039, name:"PA2988", strand:-1},
{id: 2992, start:3346977, end:3347741, name:"PA2989", strand:1},
{id: 2993, start:3348073, end:3348795, name:"PA2990", strand:1},
{id: 2994, start:3348838, end:3350232, name:"PA2991", strand:-1},
{id: 2995, start:3350411, end:3350638, name:"PA2992", strand:-1},
{id: 2996, start:3350635, end:3351663, name:"PA2993", strand:-1},
{id: 2997, start:3351656, end:3352879, name:"PA2994", strand:-1},
{id: 2998, start:3352890, end:3353498, name:"PA2995", strand:-1},
{id: 2999, start:3353498, end:3354172, name:"PA2996", strand:-1},
{id: 3000, start:3354169, end:3354954, name:"PA2997", strand:-1},
{id: 3001, start:3354947, end:3356158, name:"PA2998", strand:-1},
{id: 3002, start:3356162, end:3357499, name:"PA2999", strand:-1},
{id: 3003, start:3357758, end:3359167, name:"PA3000", strand:-1},
{id: 3004, start:3359269, end:3360654, name:"PA3001", strand:-1},
{id: 3005, start:3360875, end:3364321, name:"PA3002", strand:1},
{id: 3006, start:3364332, end:3364961, name:"PA3003", strand:1},
{id: 3007, start:3365007, end:3365744, name:"PA3004", strand:-1},
{id: 3008, start:3365756, end:3366754, name:"PA3005", strand:-1},
{id: 3009, start:3366970, end:3367671, name:"PA3006", strand:-1},
{id: 3010, start:3367903, end:3368517, name:"PA3007", strand:1},
{id: 3011, start:3368529, end:3369014, name:"PA3008", strand:1},
{id: 3012, start:3369036, end:3369269, name:"PA3009", strand:-1},
{id: 3013, start:3369475, end:3369993, name:"PA3010", strand:-1},
{id: 3014, start:3370100, end:3372706, name:"PA3011", strand:-1},
{id: 3015, start:3372797, end:3373171, name:"PA3012", strand:-1},
{id: 3016, start:3373254, end:3374429, name:"PA3013", strand:-1},
{id: 3017, start:3374460, end:3376607, name:"PA3014", strand:-1},
{id: 3018, start:3377035, end:3377853, name:"PA3015", strand:1},
{id: 3019, start:3377870, end:3378304, name:"PA3016", strand:-1},
{id: 3020, start:3378512, end:3378949, name:"PA3017", strand:1},
{id: 3021, start:3378979, end:3379665, name:"PA3018", strand:-1},
{id: 3022, start:3379815, end:3381737, name:"PA3019", strand:-1},
{id: 3023, start:3381963, end:3383891, name:"PA3020", strand:1},
{id: 3024, start:3383948, end:3384334, name:"PA3021", strand:1},
{id: 3025, start:3384378, end:3385184, name:"PA3022", strand:-1},
{id: 3026, start:3385287, end:3386195, name:"PA
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment