{
  "version": 3,
  "sources": ["/cdn/shop/t/26/assets/odin-printable-targets.js?x=1794439272095"],
  "sourcesContent": ["(function(){\n'use strict';\nvar app=document.getElementById('odt-app');\nif(!app||app.getAttribute('data-ready'))return;\napp.setAttribute('data-ready','1');\n\nvar LOGO='data:image/png;base64,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';\nvar K='#151717',RED='#D02E2E',GREEN='#1F9D3A',M=40;\nvar PAPERS={letter:{w:850,h:1100,name:'Letter'},a4:{w:826.8,h:1169.3,name:'A4'}};\nvar COLORS=[['black','Black','#151717'],['red','Red','#D02E2E'],['orange','Blaze Orange','#F25C05'],['green','Green','#1F9D3A'],['blue','Blue','#1D5FBF']];\n\n/* ---------- svg helpers (1 unit = 0.01 inch) ---------- */\nfunction n(v){return Math.round(v*10)/10;}\nfunction esc(s){return String(s).replace(/[&<>\"]/g,function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c];});}\nfunction st(stroke,sw,dash){return stroke?' stroke=\"'+stroke+'\" stroke-width=\"'+(sw||1)+'\"'+(dash?' stroke-dasharray=\"'+dash+'\"':''):'';}\nfunction circ(cx,cy,r,fill,stroke,sw){return '<circle cx=\"'+n(cx)+'\" cy=\"'+n(cy)+'\" r=\"'+n(Math.max(r,0))+'\" fill=\"'+(fill||'none')+'\"'+st(stroke,sw)+'/>';}\nfunction rect(x,y,w,h,fill,stroke,sw,rx,dash){return '<rect x=\"'+n(x)+'\" y=\"'+n(y)+'\" width=\"'+n(w)+'\" height=\"'+n(h)+'\"'+(rx?' rx=\"'+rx+'\"':'')+' fill=\"'+(fill||'none')+'\"'+st(stroke,sw,dash)+'/>';}\nfunction line(x1,y1,x2,y2,stroke,sw,dash){return '<line x1=\"'+n(x1)+'\" y1=\"'+n(y1)+'\" x2=\"'+n(x2)+'\" y2=\"'+n(y2)+'\"'+st(stroke||K,sw||1,dash)+'/>';}\nfunction poly(pts,fill,stroke,sw){return '<polygon points=\"'+pts.map(function(p){return n(p[0])+','+n(p[1]);}).join(' ')+'\" fill=\"'+(fill||'none')+'\"'+st(stroke,sw)+' stroke-linejoin=\"round\"/>';}\nfunction txt(x,y,s,size,o){o=o||{};return '<text x=\"'+n(x)+'\" y=\"'+n(y)+'\" font-size=\"'+n(size)+'\"'+(o.a?' text-anchor=\"'+o.a+'\"':'')+(o.w?' font-weight=\"'+o.w+'\"':'')+' fill=\"'+(o.fill||K)+'\"'+(o.ls?' letter-spacing=\"'+o.ls+'\"':'')+(o.mid?' dominant-baseline=\"central\"':'')+(o.tr?' transform=\"'+o.tr+'\"':'')+'>'+s+'</text>';}\nfunction wrap(s,maxW,size){var words=String(s).split(' '),out=[],cur='',cw=size*0.53;words.forEach(function(w){var t=cur?cur+' '+w:w;if(t.length*cw>maxW&&cur){out.push(cur);cur=w;}else cur=t;});if(cur)out.push(cur);return out;}\nfunction para(x,y,s,size,maxW,o){var ls=wrap(s,maxW,size),out='';ls.forEach(function(l,i){out+=txt(x,y+i*size*1.3,l,size,o);});return {svg:out,h:ls.length*size*1.3};}\nfunction tint(hex,amt){var h=hex.replace('#','');var r=parseInt(h.substr(0,2),16),g=parseInt(h.substr(2,2),16),b=parseInt(h.substr(4,2),16);function m(v){return Math.round(v+(255-v)*amt);}return 'rgb('+m(r)+','+m(g)+','+m(b)+')';}\nfunction rng(seed){var a=seed>>>0;return function(){a|=0;a=a+0x6D2B79F5|0;var t=Math.imul(a^a>>>15,1|a);t=t+Math.imul(t^t>>>7,61|t)^t;return((t^t>>>14)>>>0)/4294967296;};}\nfunction shuffle(arr,r){arr=arr.slice();for(var i=arr.length-1;i>0;i--){var j=Math.floor(r()*(i+1));var t=arr[i];arr[i]=arr[j];arr[j]=t;}return arr;}\nfunction cells(b,cols,rows,gx,gy){gx=gx||0;gy=gy===undefined?gx:gy;var cw=(b.w-gx*(cols-1))/cols,ch=(b.h-gy*(rows-1))/rows,out=[];for(var r=0;r<rows;r++)for(var q=0;q<cols;q++){var x=b.x+q*(cw+gx),y=b.y+r*(ch+gy);out.push({x:x,y:y,w:cw,h:ch,cx:x+cw/2,cy:y+ch/2,r:r,c:q});}return out;}\n/* notes block at the bottom of a box; returns svg plus the box that is left above it */\nfunction notes(b,items,size){size=size||13;var blocks=[],H=0;items.forEach(function(it){var t=typeof it==='string'?{t:it}:it;var ls=wrap((t.b?t.b+' ':'')+t.t,b.w,size);blocks.push({ls:ls,b:t.b});H+=ls.length*size*1.3+5;});var y=b.y+b.h-H+size,s='';blocks.forEach(function(bl){bl.ls.forEach(function(l,i){if(i===0&&bl.b){var rest=l.substr(bl.b.length);s+='<text x=\"'+n(b.x)+'\" y=\"'+n(y)+'\" font-size=\"'+size+'\" fill=\"'+K+'\"><tspan font-weight=\"700\">'+bl.b+'</tspan>'+rest+'</text>';}else s+=txt(b.x,y,l,size,{fill:'#333'});y+=size*1.3;});y+=5;});return {svg:s,box:{x:b.x,y:b.y,w:b.w,h:b.h-H-14}};}\nfunction inchRef(x,y){return rect(x,y,100,100,'none',K,1.2)+txt(x+50,y+50,'1 in',12,{a:'middle',mid:1,fill:'#555'});}\n\n/* ---------- page frame ---------- */\nfunction geom(paper,land){var p=PAPERS[paper];var W=land?p.h:p.w,H=land?p.w:p.h;return {W:W,H:H,box:{x:M,y:136,w:W-2*M,h:H-136-138}};}\nvar SAFE1='Treat every gun as loaded. Keep the muzzle pointed in a safe direction. Finger off the trigger until your sights are on target.';\nvar SAFE2='Know your target and what is beyond it. Wear eye and ear protection. Follow your range\\'s rules. Go downrange only when the range is cold.';\nvar SAFE2G='Eyes and ears on. One shooter at the line at a time; everyone else stays behind it. Mark or tape hits only when the range is cold.';\nfunction frame(G,title,sub,body,fields,game){\n  var W=G.W,H=G.H,s=rect(0,0,W,H,'#fff');\n  s+=txt(M,80,esc(title),30,{w:800,ls:0.5});\n  s+=txt(M,106,esc(sub),13,{fill:'#555'});\n  var f=fields||['Name ________________','Date ________   Distance ________'];\n  s+=txt(W-M,78,f[0],12,{a:'end',fill:'#333'});\n  if(f[1])s+=txt(W-M,104,f[1],12,{a:'end',fill:'#333'});\n  s+=line(M,120,W-M,120,K,2.5);\n  var fy=H-94;\n  s+=rect(M,fy-40,W-2*M,34,'#f2f2f2',null,0,4)+rect(M,fy-40,5,34,K);\n  s+='<text x=\"'+(M+14)+'\" y=\"'+(fy-26)+'\" font-size=\"9.6\" fill=\"'+K+'\"><tspan font-weight=\"800\">SAFETY FIRST: </tspan>'+SAFE1+'</text>'+txt(M+14,fy-13,game?SAFE2G:SAFE2,9.6,{fill:K});\n  s+=line(M,fy,W-M,fy,'#bdbdbd',1);\n  s+='<image href=\"'+LOGO+'\" x=\"'+M+'\" y=\"'+(fy+10)+'\" width=\"52\" height=\"52\"/>';\n  s+=txt(M+62,fy+32,'ODIN HOLSTERS',16,{w:800,ls:2});\n  s+='<text x=\"'+(M+62)+'\" y=\"'+(fy+51)+'\" font-size=\"11\" fill=\"#444\">Use code <tspan font-weight=\"800\" fill=\"'+K+'\">TARGET15</tspan> for 15% off your first order</text>';\n  s+=txt(W-M,fy+32,'odinholsters.com',15,{a:'end',w:700});\n  s+=txt(W-M,fy+51,'Print at 100% (actual size). Back with cardboard.',10.5,{a:'end',fill:'#555'});\n  return s+body;\n}\nfunction svgDoc(G,inner,print){\n  var size=print?' width=\"'+(G.W/100).toFixed(3)+'in\" height=\"'+(G.H/100).toFixed(3)+'in\"':'';\n  return '<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 '+n(G.W)+' '+n(G.H)+'\"'+size+' preserveAspectRatio=\"xMidYMid meet\" font-family=\"Arial, Helvetica, sans-serif\" role=\"img\">'+inner+'</svg>';\n}\n\n/* ---------- shared drawing ---------- */\nfunction bigBull(cx,cy,R,c,labels){\n  var s='',N=6;\n  for(var i=0;i<N;i++){var sc=5+i,r=R*(N-i)/N,dark=sc>=8;\n    if(dark)s+=c.save?circ(cx,cy,r,'#fff',c.A,i===3?3:1.4):circ(cx,cy,r,c.A,'#fff',1.4);\n    else s+=circ(cx,cy,r,'#fff',K,1.4);}\n  s+=circ(cx,cy,R/(N*2),'none',c.save?c.A:'#fff',1.2);\n  if(labels){var fs=Math.min(R/N*0.5,22);\n    for(var j=0;j<N-1;j++){var v=5+j,r1=R*(N-j)/N,r2=R*(N-j-1)/N,dk=v>=8,col=dk?(c.save?c.A:'#fff'):'#333';\n      s+=txt(cx+(r1+r2)/2,cy,v,fs,{a:'middle',mid:1,fill:col,w:700});\n      s+=txt(cx-(r1+r2)/2,cy,v,fs,{a:'middle',mid:1,fill:col,w:700});}}\n  return s;\n}\nfunction smallBull(cx,cy,R,c){\n  var s=circ(cx,cy,R,'#fff',K,1.3)+circ(cx,cy,R*0.66,'#fff',K,1);\n  s+=c.save?circ(cx,cy,R*0.33,'#fff',c.A,2.5):circ(cx,cy,R*0.33,c.A);\n  s+=circ(cx,cy,Math.max(R*0.06,2),c.save?c.A:'#fff');\n  return s;\n}\nfunction diamond(cx,cy,h,c){var p=[[cx,cy-h],[cx+h,cy],[cx,cy+h],[cx-h,cy]];\n  var s=c.save?poly(p,'#fff',c.A,3):poly(p,c.A);\n  var k=h*0.22;s+=rect(cx-k/2,cy-k/2,k,k,c.save?c.A:'#fff');return s;}\nfunction solidShape(kind,cx,cy,sz,c){\n  var f=c.save?'#fff':c.A,sk=c.save?c.A:null,sw=c.save?4:0,h=sz/2;\n  if(kind==='circle')return circ(cx,cy,h,f,sk,sw);\n  if(kind==='square')return rect(cx-h*0.88,cy-h*0.88,h*1.76,h*1.76,f,sk,sw);\n  if(kind==='triangle')return poly([[cx,cy-h],[cx+h*1.05,cy+h*0.8],[cx-h*1.05,cy+h*0.8]],f,sk,sw);\n  return poly([[cx,cy-h],[cx+h*0.9,cy],[cx,cy+h],[cx-h*0.9,cy]],f,sk,sw);\n}\n\n/* ---------- targets ---------- */\nvar T={};\n\nfunction dsteps(o){return o.start==='ready'?DOTSTEPS.map(function(t){return t.replace('Draw from the holster, fire 1.','From low ready, fire 1.').replace(/^Draw, /,'From low ready, ');}):DOTSTEPS;}\nvar DOTSTEPS=['5 shots, slow fire, from the ready.','Draw from the holster, fire 1. Repeat 5 times.','Draw, fire 1 on dot 3, then 1 on dot 4. Repeat 4 times.','Paired with dot 3.','Strong hand only. 5 shots.','Support hand only. 5 shots.','Draw, fire 2 fast shots. Repeat 4 times.','Load 1 round. Fire, reload, fire 1. Repeat 3 times.','Draw, fire 2 on dot 9, then 2 on dot 10. Repeat 2 times.','Paired with dot 9.'];\nfunction dot2(o,c,G){var nb=notes(G.box,[{b:'Drill Card:',t:'The steps for each dot are on page 2. Every hit must touch the dot.'}]);\n var b=nb.box,s=nb.svg,sx=b.w/3,dy=Math.min(205,(b.h-200)/3),y0=b.y+100+(b.h-200-3*dy)/2,pts=[];\n [3,2,3,2].forEach(function(cnt,r){for(var q=0;q<cnt;q++)pts.push([b.x+(cnt===3?sx*(q+0.5):sx*(q+1)),y0+r*dy]);});\n pts.forEach(function(pt,i){s+=c.save?circ(pt[0],pt[1],100,'#fff',c.A,4):circ(pt[0],pt[1],100,c.A);s+=txt(pt[0]-104,pt[1]-76,i+1,22,{w:900,a:'end'});});\n return {pages:[{title:'Dot Drill',sub:'50 rounds. Start at '+o.dist+' yards. Dots are 2 inch.'}],bodies:[s]};}\nT.dot={name:'Dot Drill',always:1,group:'Handgun Training',best:'Carry handgun, 3 to 7 yd',desc:'Ten numbered dots, 50 rounds. Works on the draw, trigger control, reloads and one-hand shooting.',\n opts:[{id:'dot',label:'Dot size',ch:[['1','1 in'],['1.25','1.25 in'],['1.5','1.5 in'],['2','2 in']],def:'1.5'},{id:'dist',label:'Start distance',ch:[['3','3 yd'],['5','5 yd'],['7','7 yd'],['10','10 yd']],def:'3'},{id:'start',label:'Start position',ch:[['holster','From the holster'],['ready','From low ready']],def:'holster'}],\n render:function(o,c,G){\n  var d=+o.dot*100,steps=dsteps(o);\n  if(o.dot==='2')return dot2(o,c,G);\n  var nb=notes(G.box,[{b:'How to Run It:',t:'Shoot each dot in order. Every hit must touch the dot. Clean it at '+o.dist+' yards before you back up. Score ________ / 50.'}]);\n  var s=nb.svg,cs=cells(nb.box,2,5,40,0);\n  cs.forEach(function(cl,i){var dx=cl.x+d/2+30,dy=cl.cy;\n    s+=c.save?circ(dx,dy,d/2,'#fff',c.A,4):circ(dx,dy,d/2,c.A);\n    s+=txt(cl.x,cl.y+22,(i+1),24,{w:800});\n    var p=para(cl.x+d+50,dy-((wrap(steps[i],cl.w-d-55,14).length-1)*14*1.3)/2+5,steps[i],14,cl.w-d-55,{fill:'#222'});s+=p.svg;});\n  return {pages:[{title:'Dot Drill',sub:'50 rounds. Start at '+o.dist+' yards. Dots are '+o.dot+' inch.'}],bodies:[s]};\n },\n tracker:function(o,c,G){if(o.dot!=='2')return null;var b=G.box,s='',rh=Math.min(74,(b.h-60)/10),y=b.y;\n  s+=rect(b.x,y,b.w,26,K)+txt(b.x+8,y+17,'DOT',11,{w:800,fill:'#fff'})+txt(b.x+70,y+17,'WHAT TO DO',11,{w:800,fill:'#fff'})+txt(b.x+b.w-150,y+17,'CLEAN?  RUN 1  2  3',11,{w:800,fill:'#fff'});y+=26;\n  dsteps(o).forEach(function(st,i){s+=rect(b.x,y,b.w,rh,i%2?'#f3f3f3':'#fff','#bbb',0.8)+txt(b.x+12,y+rh/2+8,i+1,22,{w:900})+txt(b.x+70,y+rh/2+5,st,14,{fill:'#222'});for(var k=0;k<3;k++)s+=rect(b.x+b.w-112+k*36,y+rh/2-11,22,22,'#fff',K,1.3);y+=rh;});\n  s+=txt(b.x,y+34,'Score ________ / 50.  Every hit must touch the dot.',14,{w:700});\n  return {title:'Dot Drill: Drill Card',sub:'10 dots, 50 rounds',body:s,label:'Drill Card'};\n }};\n\nT.bull={name:'Bullseye',group:'Handgun Training',best:'Handgun 10 to 25 yd. .22 rimfire 25 to 50 yd (use 12 or more per page).',desc:'Classic scoring rings for slow, precise shooting. Pick 1 big bull or a page of small ones for groups.',\n opts:[{id:'count',label:'Bullseyes per page',type:'select',ch:[['1','1 large'],['2','2'],['4','4'],['6','6'],['12','12 small'],['20','20 small'],['30','30 small']],def:'1'}],\n render:function(o,c,G){\n  var cnt=+o.count,lay={1:[1,1],2:[1,2],4:[2,2],6:[2,3],12:[3,4],20:[4,5],30:[5,6]}[cnt];\n  var nb=notes(G.box,[cnt<=6?{b:'Scoring:',t:'Rings score 10 (center) to 5. A hole touching a line scores the higher ring. Best of 10 shots per bull: ______'}:{b:'How to Use It:',t:'One group per bull. Shoot 3 to 5 rounds per bull and compare groups as you change grip, ammo or distance.'}]);\n  var s=nb.svg,cs=cells(nb.box,lay[0],lay[1],cnt>6?10:24);\n  cs.forEach(function(cl,i){var R=Math.min(cl.w,cl.h)/2*(cnt>6?0.86:0.92);\n    s+=cnt>6?smallBull(cl.cx,cl.cy,R,c):bigBull(cl.cx,cl.cy,R,c,R>110);\n    if(cnt>1)s+=txt(cl.x+2,cl.y+14,i+1,13,{w:700,fill:'#666'});});\n  return {pages:[{title:'Bullseye',sub:cnt===1?'Precision scoring target':cnt+' bullseyes per page'}],bodies:[s]};\n }};\n\nT.torso={name:'Practical Torso (Reduced Scale)',group:'Handgun Training',best:'Handgun 3 to 10 yd. AR-15 25 to 50 yd at 1/5 scale.',desc:'A scaled-down practical torso with A, C and D scoring zones. Small targets up close train like full-size targets far away.',\n opts:[{id:'scale',label:'Size',type:'select',ch:[['4','1/4 scale (1 per page)'],['5','1/5 scale (2 per page)'],['8','1/8 scale (6 per page)']],def:'4'},{id:'dist',label:'Your distance',ch:[['3','3 yd'],['5','5 yd'],['7','7 yd'],['10','10 yd'],['25','25 yd']],def:'7'}],\n render:function(o,c,G){\n  var den=+o.scale,k=100/den,eq=(+o.dist)*den;\n  var nb=notes(G.box,[{b:'Scale:',t:'At '+o.dist+' yards this 1/'+den+' scale torso looks about the same size as a full-size target at '+eq+' yards. A zone = 5 points, C = 3, D = 1. Some ranges do not allow human-shaped targets, so check first.'}]);\n  var lay={4:[1,1],5:[2,1],8:[3,2]}[den],cs=cells(nb.box,lay[0],lay[1],20),s=nb.svg;\n  function P(arr,ox,oy){return arr.map(function(p){return [ox+p[0]*k,oy+p[1]*k];});}\n  cs.forEach(function(cl){var ox=cl.cx,oy=cl.cy-15*k,fill=c.save?'#fff':tint(c.A,0.82);\n    s+=poly(P([[-2.2,0],[2.2,0],[3,0.8],[3,5.2],[2.2,6],[-2.2,6],[-3,5.2],[-3,0.8]],ox,oy),fill,K,2);\n    s+=poly(P([[-6,6],[6,6],[9,9],[9,27],[6,30],[-6,30],[-9,27],[-9,9]],ox,oy),fill,K,2);\n    s+=poly(P([[-4.5,7.5],[4.5,7.5],[6,9.5],[6,24],[4.5,26],[-4.5,26],[-6,24],[-6,9.5]],ox,oy),'none',K,1.2);\n    s+=rect(ox-3*k,oy+9*k,6*k,11*k,'none',c.save?c.A:K,c.save?2.5:1.5);\n    s+=rect(ox-1.5*k,oy+1.5*k,3*k,2.5*k,'none',c.save?c.A:K,c.save?2:1.2);\n    var fs=Math.max(k*1.1,9);\n    s+=txt(ox,oy+10.6*k,'A',fs,{a:'middle',mid:1,w:700,fill:'#444'});\n    s+=txt(ox+4.6*k,oy+18*k,'C',fs,{a:'middle',mid:1,w:700,fill:'#444'});\n    s+=txt(ox+7.6*k,oy+18*k,'D',fs,{a:'middle',mid:1,w:700,fill:'#444'});});\n  return {pages:[{title:'Practical Torso',sub:'1/'+den+' scale. Shooting at '+o.dist+' yd is like full size at '+eq+' yd.'}],bodies:[s]};\n }};\n\nT.shapes={name:'Called Shapes',group:'Handgun Training',best:'Handgun 3 to 7 yd, with a partner',desc:'Sixteen numbered shapes. A partner calls a shape or a number and you hit only that one. Builds focus and decision speed.',random:1,\n opts:[{id:'size',label:'Shape size',ch:[['1.25','Small'],['1.5','Medium'],['1.75','Large']],def:'1.5'},{id:'ns',label:'No-shoot shapes',ch:[['0','None'],['2','2'],['4','4']],def:'0'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Run It:',t:'A partner calls a shape, a number, or both (\"Triangle!\", \"Seven!\", \"Square two!\"). Draw and hit only what was called. Wrong shape counts as a miss.'+(+o.ns?' Striped shapes are no-shoots: hit one and the run is a fail.':'')}]);\n  var s=nb.svg,cs=cells(nb.box,4,4,10),kinds=['circle','square','triangle','diamond'],nums=shuffle([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],r),ks=shuffle(kinds.concat(kinds,kinds,kinds),r),sz=+o.size*100;\n  var nsSet=shuffle(cs.map(function(_,i){return i;}),r).slice(0,+o.ns);if(nsSet.length)s+=hatch();\n  cs.forEach(function(cl,i){var kd=ks[i],dy=kd==='triangle'?sz*0.08:0;\n    if(nsSet.indexOf(i)>=0){s+=solidShape(kd,cl.cx,cl.cy,sz,{A:K,save:true}).replace('fill=\"#fff\"','fill=\"url(#odt-hatch)\"');s+=circ(cl.cx,cl.cy+dy,sz*0.2,'#fff',K,1.5)+txt(cl.cx,cl.cy+dy+2,nums[i],sz*0.22,{a:'middle',mid:1,w:900})+txt(cl.cx,cl.cy+sz/2+16,'NO SHOOT',10,{a:'middle',w:800,fill:K});}\n    else{s+=solidShape(kd,cl.cx,cl.cy,sz,c);s+=txt(cl.cx,cl.cy+dy+2,nums[i],sz*0.32,{a:'middle',mid:1,w:800,fill:c.save?K:'#fff'});}});\n  return {pages:[{title:'Called Shapes',sub:'Partner drill: circles, squares, triangles and diamonds, numbered 1 to 16'}],bodies:[s]};\n }};\n\nT.group={name:'Group and Ammo Test',group:'Zero and Precision',best:'Rifle at 50 to 100 yd. Any gun when comparing ammo.',desc:'Several diamond aim points with space to write the ammo and group size under each one.',\n opts:[{id:'count',label:'Aim points',ch:[['4','4'],['6','6'],['9','9']],def:'6'},{id:'dist',label:'Distance',ch:[['25','25 yd'],['50','50 yd'],['100','100 yd']],def:'100'}],\n render:function(o,c,G){\n  var cnt=+o.count,lay={4:[2,2],6:[2,3],9:[3,3]}[cnt];\n  var nb=notes(G.box,[{b:'How to Use It:',t:'Shoot one 3 or 5 shot group per diamond. At each cease-fire, circle each group with a marker so groups do not run together. Measure the widest two holes, center to center, and write it down. Grid lines are 1 inch apart.'}]);\n  var s=nb.svg,cs=cells(nb.box,lay[0],lay[1],16);\n  cs.forEach(function(cl,i){var area=Math.min(cl.w,cl.h-44),half=Math.floor(area/200)*100;if(half<100)half=Math.floor(area/100)*50;var x0=cl.cx-half,y0=cl.y+(cl.h-44-2*half)/2,cy=y0+half;\n    for(var g=0;g<=2*half;g+=50)s+=line(x0+g,y0,x0+g,y0+2*half,g%100===0?'#9a9a9a':'#d6d6d6',g%100===0?0.9:0.6)+line(x0,y0+g,x0+2*half,y0+g,g%100===0?'#9a9a9a':'#d6d6d6',g%100===0?0.9:0.6);\n    s+=rect(x0,y0,2*half,2*half,'none',K,1.2);\n    s+=diamond(cl.cx,cy,cnt===9?32:42,c);\n    s+=txt(x0,y0-6,'#'+(i+1),12,{w:700,fill:'#555'});\n    s+=txt(cl.x+6,cl.y+cl.h-24,'Ammo ________________',12,{fill:'#333'});\n    s+=txt(cl.x+6,cl.y+cl.h-4,'Group ________ in',12,{fill:'#333'});});\n  return {pages:[{title:'Group and Ammo Test',sub:cnt+' aim points at '+o.dist+' yards'}],bodies:[s]};\n }};\n\n/* ----- games ----- */\nvar GF=['Players ________________________','Date ________   Distance ________'];\n\nT.ttt={name:'Tic Tac Toe',group:'Range Games',game:1,sheet:1,best:'Any handgun or .22, 3 to 10 yd. 2 players.',desc:'A 3 by 3 board with a target in every square, plus a score sheet to keep at the bench.',\n opts:[{id:'ring',label:'Hit circle size',ch:[['0.8','Large'],['0.6','Medium'],['0.4','Small']],def:'0.6'}],\n render:function(o,c,G){\n  var nb=notes(G.box,[{b:'How to Play:',t:'Two players take turns, one shot each. A hit inside a circle claims that square. Write X or O on the score sheet, and tape or mark hits at the next cease-fire. A miss, or a hit on a square that is already taken, loses the turn. Three in a row wins.'}]);\n  var b=nb.box,sz=Math.min(b.w,b.h),x0=b.x+(b.w-sz)/2,y0=b.y+(b.h-sz)/2,cs=sz/3,s=nb.svg;\n  for(var i=0;i<9;i++){var cx=x0+(i%3+0.5)*cs,cy=y0+(Math.floor(i/3)+0.5)*cs,R=cs*(+o.ring)/2;\n    s+=circ(cx,cy,R,'#fff',K,2)+circ(cx,cy,R*0.62,'#fff',K,1.2);\n    s+=c.save?circ(cx,cy,R*0.28,'#fff',c.A,3):circ(cx,cy,R*0.28,c.A);\n    s+=txt(x0+(i%3)*cs+12,y0+Math.floor(i/3)*cs+26,i+1,20,{w:700,fill:'#9a9a9a'});}\n  for(var j=1;j<3;j++){s+=line(x0+j*cs,y0+8,x0+j*cs,y0+sz-8,K,9)+line(x0+8,y0+j*cs,x0+sz-8,y0+j*cs,K,9);}\n  return {pages:[{title:'Tic Tac Toe',sub:'Target board. Squares are numbered to match the score sheet.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var nb=notes(G.box,[{b:'Score Sheet:',t:'Keep this at the bench. Write the square number each player claims, or mark X and O on the mini boards. Squares match the numbers on the target.'}]);\n  var s=nb.svg,b=nb.box;s+=txt(b.x,b.y+18,'X = ________________      O = ________________',16,{w:700});\n  s+=txt(b.x,b.y+48,'Wins:   X ______    O ______    Draws ______',15,{fill:'#333'});\n  var cs=cells({x:b.x,y:b.y+74,w:b.w,h:b.h-74},3,3,26);\n  cs.forEach(function(cl,i){var sz=Math.min(cl.w,cl.h-24),x0=cl.cx-sz/2,y0=cl.y+22,q=sz/3;s+=txt(x0,cl.y+14,'Game '+(i+1),13,{w:700});\n    for(var k=0;k<9;k++)s+=txt(x0+(k%3)*q+5,y0+Math.floor(k/3)*q+14,k+1,10,{fill:'#b0b0b0'});\n    for(var j=1;j<3;j++)s+=line(x0+j*q,y0,x0+j*q,y0+sz,K,2.5)+line(x0,y0+j*q,x0+sz,y0+j*q,K,2.5);});\n  return {title:'Tic Tac Toe Score Sheet',sub:'9 games. Bring a pen.',body:s};\n }};\n\nvar SHIPS={1:'Scout',2:'Patrol boat',3:'Destroyer',4:'Cruiser',5:'Battleship',6:'Carrier'};\nfunction shipLen(k,p){return k*p+p*0.95;}\n/* top-down warship outlines; dots double as turrets / hit points. Box: width shipLen, height p*1.12 */\nfunction hullD(x0,L,hb,bow,r){var Lb=L-bow;\n  return 'M'+n(x0+r)+','+n(-hb)+' L'+n(Lb)+','+n(-hb)+' C'+n(Lb+bow*0.55)+','+n(-hb)+' '+n(L-bow*0.04)+','+n(-hb*0.32)+' '+n(L)+',0'+\n    ' C'+n(L-bow*0.04)+','+n(hb*0.32)+' '+n(Lb+bow*0.55)+','+n(hb)+' '+n(Lb)+','+n(hb)+' L'+n(x0+r)+','+n(hb)+' Q'+n(x0)+','+n(hb)+' '+n(x0)+','+n(hb-r)+' L'+n(x0)+','+n(-hb+r)+' Q'+n(x0)+','+n(-hb)+' '+n(x0+r)+','+n(-hb)+' Z';}\nfunction deckD(x0,L,hb,cut,r){return 'M'+n(x0+r)+','+n(-hb)+' L'+n(L-cut)+','+n(-hb)+' L'+n(L)+','+n(-hb+cut*0.55)+' L'+n(L)+','+n(hb-cut*0.35)+' L'+n(L-cut*0.4)+','+n(hb)+' L'+n(x0+r)+','+n(hb)+' Q'+n(x0)+','+n(hb)+' '+n(x0)+','+n(hb-r)+' L'+n(x0)+','+n(-hb+r)+' Q'+n(x0)+','+n(-hb)+' '+n(x0+r)+','+n(-hb)+' Z';}\nfunction drawShip(x,y,k,p,d,c,vert){\n  var H=p*1.12,cy=H/2,L=shipLen(k,p),carrier=k===6,heavy=k===5,hb=p*(carrier?0.54:heavy?0.52:k<=2?0.45:0.48),g='';\n  var ow=Math.max(1.8,p*0.024),dw=Math.max(0.8,p*0.01),fill=c.save?'#fff':tint(c.A,0.9),det=c.save?'#b5b5b5':tint(K,0.62),e=p*0.075;\n  function path(dd,f,st,w,extra){return '<path d=\"'+dd+'\" fill=\"'+f+'\" stroke=\"'+st+'\" stroke-width=\"'+n(w)+'\" stroke-linejoin=\"round\" stroke-linecap=\"round\"'+(extra||'')+'/>';}\n  g+='<g transform=\"translate(0,'+n(cy)+')\">';\n  if(carrier){\n    var cut=p*0.45;g+=path(deckD(0,L,hb,cut,p*0.06),fill,K,ow);\n    g+=path(deckD(e,L-e*1.2,hb-e,cut*0.8,p*0.04),'none',det,dw);\n    g+=line(p*0.25,0,L-p*0.35,0,det,dw,n(p*0.14)+' '+n(p*0.1));\n    g+=line(p*0.2,hb*0.62,L*0.62,-hb*0.62,det,dw,n(p*0.14)+' '+n(p*0.1));\n    var ix=L*0.55,iw=p*0.62,ih=hb*0.26;g+=rect(ix,-hb+e*0.6,iw,ih,c.save?'#fff':tint(K,0.75),K,dw*1.2,2);\n  }else{\n    var bow=p*(k<=2?0.9:1.0);g+=path(hullD(0,L,hb,bow,hb*0.3),fill,K,ow);\n    g+=path(hullD(e,L-e*2.2,hb-e,bow*0.82,hb*0.22),'none',det,dw);\n  }\n  var bw=Math.max(1.2,d*0.05),sp=d*0.13;\n  for(var i=0;i<k;i++){var dx=p*0.6+i*p;\n    if(!carrier&&k>1){var dir=i===k-1?1:(i===0&&k>=3?-1:0);\n      if(heavy&&i===2)g+=rect(dx-d*0.6,-d*0.6,d*1.2,d*1.2,'none',K,dw*1.4,d*0.12);\n      if(dir){var bx=dx+dir*(d/2+bw),len=dir>0?p*0.34:p*0.06,ys=heavy?[-sp,0,sp]:(k===2?[0]:[-sp/2,sp/2]);\n        ys.forEach(function(yy){g+='<line x1=\"'+n(bx)+'\" y1=\"'+n(yy)+'\" x2=\"'+n(bx+dir*len)+'\" y2=\"'+n(yy)+'\" stroke=\"'+K+'\" stroke-width=\"'+n(bw)+'\" stroke-linecap=\"round\"/>';});}}\n    g+=c.save?circ(dx,0,d/2,'#fff',c.A,Math.max(2.5,d*0.04))+circ(dx,0,d*0.07,c.A):circ(dx,0,d/2,c.A)+circ(dx,0,d*0.07,'#fff');}\n  g+='</g>';\n  g+=txt(0,-7,SHIPS[k].toUpperCase()+'  \u00B7  '+k+(k>1?' HITS':' HIT'),10.5,{w:800,fill:'#444',ls:1.2});\n  var tr=vert?'translate('+n(x+H)+','+n(y)+') rotate(90)':'translate('+n(x)+','+n(y+18)+')';\n  return '<g transform=\"'+tr+'\">'+g+'</g>';\n}\nvar FLEETS={6:[4,3,2,2],8:[5,4,3,3,2],10:[5,4,3,3,2]};\nfunction bsGrid(x0,y0,cs,N,dots,c,aim){var s='',L='ABCDEFGHIJ',fs=Math.max(11,Math.min(18,cs*0.24));\n  for(var q=0;q<N;q++)s+=txt(x0+(q+0.5)*cs,y0-8,q+1,fs,{a:'middle',w:800});\n  for(var r2=0;r2<N;r2++){s+=txt(x0-9,y0+(r2+0.5)*cs+fs*0.35,L[r2],fs,{a:'end',w:800});\n    for(var q2=0;q2<N;q2++){var x=x0+q2*cs,y=y0+r2*cs;s+=rect(x,y,cs,cs,dots&&!c.save&&(q2+r2)%2?tint(c.A,0.88):'#fff',K,1);\n      if(dots&&aim!=='none')s+=circ(x+cs/2,y+cs/2,Math.max(cs*(aim==='large'?0.2:0.08),3),c.A);}}\n  return s+rect(x0,y0,cs*N,cs*N,'none',K,2.5);}\nfunction scissors(x,y,rot){var g=circ(-7,12,7,'#fff',K,2.2)+circ(7,12,7,'#fff',K,2.2)+line(-3,6,8,-18,K,2.8)+line(3,6,-8,-18,K,2.8);\n  return '<g transform=\"translate('+n(x)+','+n(y)+') rotate('+rot+')\">'+g+'</g>';}\nfunction cutLine(x,y1,y2){var s=line(x,y1,x,y2,K,2,'10 6')+rect(x-12,y1-2,24,40,'#fff')+scissors(x,y1+18,180)+rect(x-12,y2-38,24,40,'#fff')+scissors(x,y2-18,0);\n  var my=(y1+y2)/2;return s+rect(x-11,my-50,22,100,'#fff')+txt(x+4,my,'CUT HERE',11,{a:'middle',w:900,tr:'rotate(-90 '+n(x+4)+' '+n(my)+')'});}\nfunction bsHidden(o,c,G){\n  var N=+o.board,fl=FLEETS[N],split=o.split==='split';\n  var nb=notes(G.box,[{b:'How to Play:',t:'Before you start, each player secretly draws a fleet on their secret fleet sheet: ships of '+fl.join(', ')+' squares in straight lines. '+(split?'Hang each player\\'s waters sheet on the OTHER player\\'s lane. ':'')+'Take turns shooting one square in the other player\\'s waters. The other player checks their secret sheet and calls HIT or MISS. Tape or mark hits at each cease-fire. Sink every ship to win.'}],12);\n  var b=nb.box,s=nb.svg;\n  if(split){var cs=Math.min(b.w-40,b.h-64)/N,sub=N+' x '+N+' waters. Squares are '+fmt(cs/100,2)+' in. Fleet: '+fl.join(', ')+'.';\n    var bodies=[0,1].map(function(side){var t=nb.svg;\n      t+=rect(b.x,b.y-4,b.w,30,K,null,0,4)+txt(b.x+b.w/2,b.y+16,'PLAYER '+(side+1)+' WATERS  |  ONLY PLAYER '+(2-side)+' SHOOTS THIS SHEET',15,{a:'middle',w:900,fill:'#fff',ls:1});\n      return t+bsGrid(b.x+20+(b.w-20-cs*N)/2,b.y+56,cs,N,true,c,o.aim);});\n    return {pages:[{title:'Battleship: Player 1 Waters',sub:sub,label:'Player 1 Target'},{title:'Battleship: Player 2 Waters',sub:sub,label:'Player 2 Target'}],bodies:bodies};}\n  var half=(b.w-60)/2,mid=b.x+b.w/2,cs2=Math.min((half-34)/N,(b.h-72)/N),sub2=N+' x '+N+' waters per player. Squares are '+fmt(cs2/100,2)+' in. Fleet: '+fl.join(', ')+'.';\n  s+=line(mid,b.y-6,mid,b.y+b.h,K,3,'14 8');\n  [0,1].forEach(function(side){var hx=side?mid+30:b.x;\n    s+=rect(hx,b.y-4,half,40,side?'#fff':K,K,2,4)+txt(hx+half/2,b.y+13,'PLAYER '+(side+1)+' WATERS',17,{a:'middle',w:900,ls:1,fill:side?K:'#fff'})+txt(hx+half/2,b.y+30,'Only Player '+(2-side)+' shoots this side',11.5,{a:'middle',w:700,fill:side?'#333':'#fff'});\n    s+=bsGrid(hx+30+(half-30-cs2*N)/2,b.y+66,cs2,N,true,c,o.aim);});\n  return {pages:[{title:'Battleship: Hidden Fleet',sub:sub2}],bodies:[s]};\n}\nfunction sunkRow(x,y,fl){var s=txt(x,y,'Sunk:',13,{w:800});fl.forEach(function(k,i){s+=rect(x+52+i*62,y-15,20,20,'#fff',K,1.3)+txt(x+78+i*62,y,k,13,{w:700});});return s;}\nfunction bsHiddenTracker(o,c,G){\n  var N=+o.board,fl=FLEETS[N],how='Draw your ships: one each of '+fl.join(', ')+' squares, straight lines across or down, no overlap. When the other player hits one of your squares, X it out and call HIT. Call SUNK when a whole ship is hit.';\n  if(o.split==='split'){return [0,1].map(function(side){var nb=notes(G.box,[{b:'Keep It Secret:',t:'Do not let the other player see this sheet. '+how}],12.5),b=nb.box,s=nb.svg,cs=Math.min(b.w-40,b.h-110)/N;\n      s+=rect(b.x,b.y-4,b.w,30,K,null,0,4)+txt(b.x+b.w/2,b.y+16,'PLAYER '+(side+1)+': MY SECRET FLEET  |  DO NOT SHOW PLAYER '+(2-side),15,{a:'middle',w:900,fill:'#fff',ls:1});\n      var x0=b.x+20+(b.w-20-cs*N)/2;s+=bsGrid(x0,b.y+56,cs,N,false,c);s+=sunkRow(x0,b.y+56+cs*N+36,fl);\n      return {title:'Player '+(side+1)+' Secret Fleet',sub:'Keep at your bench. Only you see this sheet.',body:s,label:'Player '+(side+1)+' Secret Fleet'};});}\n  var nb=notes(G.box,[{b:'Cut Here:',t:'Cut on the dashed line so each player keeps their fleet secret. '+how}],12);\n  var b=nb.box,half=(b.w-60)/2,s=nb.svg,mid=b.x+b.w/2,cs=Math.min((half-40)/N,(b.h-110)/N);\n  s+=cutLine(mid,b.y-10,b.y+b.h);\n  [0,1].forEach(function(side){var hx=side?mid+30:b.x,x0=hx+30;\n    s+=txt(hx,b.y+16,'PLAYER '+(side+1)+': MY SECRET FLEET',15,{w:900});\n    s+=bsGrid(x0,b.y+50,cs,N,false,c);s+=sunkRow(hx,b.y+50+cs*N+30,fl);});\n  return {title:'Battleship: Secret Fleets',sub:'Cut in half. One half per player.',body:s,label:'Secret Fleets'};\n}\nfunction hid(o){return o.mode==='hidden';}\nfunction opn(o){return o.mode!=='hidden';}\nT.battleship={name:'Battleship',group:'Range Games',game:1,sheet:1,random:1,land:function(o){return o.split==='shared';},best:'Any handgun or .22, 3 to 10 yd. 2 players.',desc:'Each player gets a fleet of ships with 1 to 6 dots, on their own sheet or one shared sheet. Or play the classic hidden-fleet version with secret fleet sheets.',\n opts:[{id:'mode',label:'Game style',ch:[['open','Ships on the target'],['hidden','Hidden fleet (classic)']],def:'open'},{id:'split',label:'Fleets printed on',ch:[['split','A sheet per player'],['shared','One shared sheet']],def:'split'},\n  {id:'dot',label:'Dot size',ch:[['0.5','0.5 in'],['0.6','0.6 in'],['0.75','0.75 in'],['1','1 in']],def:'0.75',show:opn},{id:'max',label:'Biggest ship',ch:[['3','3 dots'],['4','4'],['5','5'],['6','6']],def:'5',show:opn},{id:'lay',label:'Fleet layout',ch:[['rows','Neat rows'],['scatter','Scattered']],def:'rows',show:opn},{id:'hit',label:'What counts as a hit',ch:[['dot','Must hit the dots'],['hull','Anywhere on the ship']],def:'dot',show:opn},\n  {id:'board',label:'Board size',ch:[['6','6 x 6 (big squares)'],['8','8 x 8'],['10','10 x 10 (classic)']],def:'8',show:hid},{id:'aim',label:'Aim dot in each square',ch:[['small','Small'],['large','Large'],['none','None']],def:'small',show:hid}],\n fit:function(o,G){var d=+o.dot*100,p=d*1.35,half=o.split==='split'?G.box.w-40:(G.box.w-60)/2,avH=G.box.h-90;var kw=Math.floor((half-p*0.95-p*0.3-10)/p),rowH=p*1.12+18+8,kh=Math.floor(avH/rowH);return Math.max(1,Math.min(+o.max,kw,kh));},\n render:function(o,c,G,r){\n  if(o.mode==='hidden')return bsHidden(o,c,G);\n  var d=+o.dot*100,p=d*1.35,maxK=this.fit(o,G),hH=p*1.12,rowH=hH+18;\n  var split=o.split==='split';\n  var nb=notes(G.box,[{b:'How to Play:',t:(split?'Hang each player\\'s fleet sheet on the OTHER player\\'s lane, so you can only shoot the fleet you are attacking. ':'Each player shoots at the OTHER player\\'s fleet (Player 1 has solid dots, Player 2 has ringed dots). Friendly fire: a hit on your own fleet counts against you. ')+'Take turns, one shot each. '+(o.hit==='hull'?'Any hit on a ship counts. A ship sinks when it has as many hits as its number (a Destroyer takes 3). Extra hits on a sunk ship are wasted. ':'Only hits touching a dot count, and each dot can only be hit once. A ship sinks when every dot is hit. Hits on the hull that miss the dots are misses. ')+'Check off each hit on the score sheet, and tape or mark hits at the next cease-fire. First to sink the whole fleet wins.'}],12.5);\n  var b=nb.box,half=split?b.w-40:(b.w-60)/2,s=split?'':nb.svg,mid=b.x+b.w/2;\n  if(!split)s+=line(mid,b.y-6,mid,b.y+b.h,K,3,'14 8');\n  var places=[],ks=[];for(var k=maxK;k>=1;k--)ks.push(k);\n  var top=b.y+40,avH=b.h-40;\n  function neat(){var gap=(avH-ks.length*rowH)/(ks.length+1),y=top+gap;return ks.map(function(k){var pl={k:k,x:(half-shipLen(maxK,p))/2,y:y-top,v:0};y+=rowH+gap;return pl;});}\n  if(o.lay==='scatter'){var ok=false;for(var att=0;att<60&&!ok;att++){places=[];ok=true;for(var k2=0;k2<ks.length&&ok;k2++){var k=ks[k2],done=false;for(var t=0;t<400&&!done;t++){var v=r()<0.4?1:0,w=v?rowH:shipLen(k,p)+4,h=v?shipLen(k,p)+18:rowH;if(w>half||h>avH)continue;var x=r()*(half-w),y=r()*(avH-h);var bad=places.some(function(q){return x<q.x+q.w+8&&x+w+8>q.x&&y<q.y+q.h+8&&y+h+8>q.y;});if(!bad){places.push({k:k,x:x,y:y,w:w,h:h,v:v});done=true;}}if(!done)ok=false;}}\n    if(!ok){var order=shuffle(ks,r),gap2=(avH-ks.length*rowH)/(ks.length+1),yy=gap2;places=order.map(function(k){var pl={k:k,x:r()*Math.max(0,half-shipLen(k,p)-4),y:yy,v:0};yy+=rowH+gap2;return pl;});}}\n  else places=neat();\n  var tot=maxK*(maxK+1)/2,sub=maxK+' ships per fleet, '+tot+' dots to sink. Dots are '+o.dot+' inch.';\n  if(split){var bodies=[0,1].map(function(side){var t=nb.svg,x0=b.x+20;\n      t+=rect(b.x,b.y-4,b.w,30,K,null,0,4)+txt(b.x+b.w/2,b.y+16,'PLAYER '+(side+1)+' FLEET  |  ONLY PLAYER '+(2-side)+' SHOOTS THIS SHEET',15,{a:'middle',w:900,fill:'#fff',ls:1});\n      places.forEach(function(pl){t+=drawShip(x0+pl.x,top+pl.y,pl.k,p,d,side?{A:c.A,save:true}:c,pl.v);});return t;});\n    return {pages:[{title:'Battleship: Player 1 Fleet',sub:sub,label:'Player 1 Fleet'},{title:'Battleship: Player 2 Fleet',sub:sub,label:'Player 2 Fleet'}],bodies:bodies,warn:maxK<+o.max?'Biggest ship limited to '+maxK+' dots at this dot size so the fleet fits on the page.':''};}\n  [0,1].forEach(function(side){var x0=side?mid+30:b.x;\n    s+=rect(x0,b.y-4,half,40,side?'#fff':K,K,2,4);\n    s+=txt(x0+half/2,b.y+13,'PLAYER '+(side+1)+' FLEET',17,{a:'middle',w:900,ls:1,fill:side?K:'#fff'});\n    s+=txt(x0+half/2,b.y+30,'Only Player '+(2-side)+' shoots this side',11.5,{a:'middle',w:700,fill:side?'#333':'#fff'});\n    places.forEach(function(pl){s+=drawShip(x0+pl.x,top+pl.y,pl.k,p,d,side?{A:c.A,save:true}:c,pl.v);});});\n  return {pages:[{title:'Battleship',sub:sub}],bodies:[s],warn:maxK<+o.max?'Biggest ship limited to '+maxK+' dots at this dot size so the fleet fits on the page.':''};\n },\n tracker:function(o,c,G){\n  if(o.mode==='hidden')return bsHiddenTracker(o,c,G);\n  var maxK=this.fit(o,G),nb=notes(G.box,[{b:'Score Sheet:',t:'Keep this at the bench. Fill in a circle for every hit on the other fleet. Check the box when a ship sinks.'}]);\n  var b=nb.box,s=nb.svg,port=G.W<G.H,half=port?b.w:(b.w-60)/2;\n  [0,1].forEach(function(side){var x0=port?b.x:b.x+side*(half+60),y=port?b.y+18+side*(b.h/2):b.y+18;\n    s+=txt(x0,y,'PLAYER '+(side+1)+' ________________',17,{w:800});y+=16;\n    s+=txt(x0,y+12,'Hits on Player '+(2-side)+'\\'s fleet',12,{fill:'#555'});y+=36;\n    for(var k=maxK;k>=1;k--){s+=txt(x0,y+6,SHIPS[k],14,{w:700});for(var i=0;i<k;i++)s+=circ(x0+150+i*34,y+1,12,'#fff',K,1.5);s+=rect(x0+150+6*34+6,y-11,22,22,'#fff',K,1.5)+txt(x0+150+6*34+36,y+6,'Sunk',12,{fill:'#555'});y+=(port?34:42);}\n    y+=10;s+=txt(x0,y,'Shots fired:',13,{w:700});s+=rect(x0+90,y-18,Math.min(half,420)-90,28,'none','#999',1);y+=40;s+=txt(x0,y,'Winner? ____',13,{fill:'#333'});});\n  s+=port?line(b.x,b.y+b.h/2-6,b.x+b.w,b.y+b.h/2-6,'#bbb',1.5,'6 6'):line(b.x+half+30,b.y,b.x+half+30,b.y+b.h,'#bbb',1.5,'6 6');\n  return {title:'Battleship Score Sheet',sub:'Track hits for both fleets',body:s};\n }};\n\nT.connect4={name:'Connect Four',group:'Range Games',game:1,sheet:1,best:'Any handgun or .22, 3 to 10 yd. 2 players.',desc:'A 7 by 6 board. Hits drop to the lowest open circle in a column, just like the board game. Four in a row wins.',\n opts:[{id:'mode',label:'Rules',ch:[['drop','Drop rule'],['exact','Exact circle']],def:'drop'}],\n render:function(o,c,G){\n  var rule=o.mode==='drop'?'Aim at any column. A hit anywhere in that column claims the LOWEST open circle, like dropping a disc. ':'You must hit the exact lowest open circle in a column. A hit on any other circle is a miss. ';\n  var nb=notes(G.box,[{b:'How to Play:',t:'Two players take turns, one shot each. '+rule+'Record each claim on the score sheet, and tape or mark hits at the next cease-fire. A miss, or a hit in a full column, loses the turn. Four in a row across, up and down, or diagonal wins.'}]);\n  var b=nb.box,cw=Math.min(b.w/7,(b.h-40)/6),bw=cw*7,bh=cw*6,x0=b.x+(b.w-bw)/2,y0=b.y+40+(b.h-40-bh)/2,s=nb.svg;\n  for(var q=0;q<7;q++){var cx=x0+(q+0.5)*cw;s+=txt(cx,y0-22,q+1,20,{a:'middle',w:800});s+=poly([[cx-8,y0-14],[cx+8,y0-14],[cx,y0-5]],K);}\n  s+=rect(x0-10,y0-2,bw+20,bh+14,c.save?'#fff':c.A,c.save?c.A:K,c.save?4:1.5,14);\n  for(var r2=0;r2<6;r2++)for(var q2=0;q2<7;q2++)s+=circ(x0+(q2+0.5)*cw,y0+(r2+0.5)*cw+4,cw*0.38,'#fff',K,1.5);\n  return {pages:[{title:'Connect Four',sub:'7 columns, 6 rows. '+(o.mode==='drop'?'Drop rule.':'Exact circle rule.')}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var nb=notes(G.box,[{b:'Score Sheet:',t:'Keep this at the bench. Mark X or O in the circle each player claims. Rows fill from the bottom up.'}]);\n  var b=nb.box,s=nb.svg;s+=txt(b.x,b.y+18,'X = ________________      O = ________________',16,{w:700});\n  var cs=cells({x:b.x,y:b.y+44,w:b.w,h:b.h-44},2,2,30,24);\n  cs.forEach(function(cl,i){var cw=Math.min(cl.w/7,(cl.h-40)/6),x0=cl.x+(cl.w-cw*7)/2,y0=cl.y+30;s+=txt(x0,cl.y+18,'Game '+(i+1)+'      Winner ______',13,{w:700});\n    for(var q=0;q<7;q++)s+=txt(x0+(q+0.5)*cw,y0+6*cw+16,q+1,11,{a:'middle',fill:'#666'});\n    for(var r2=0;r2<6;r2++)for(var q2=0;q2<7;q2++)s+=circ(x0+(q2+0.5)*cw,y0+(r2+0.5)*cw,cw*0.4,'#fff',K,1.2);});\n  return {title:'Connect Four Score Sheet',sub:'4 games',body:s};\n }};\n\nvar SUITS=[['&#9824;',K],['&#9829;',RED],['&#9830;',RED],['&#9827;',K]],RANKS=['A','2','3','4','5','6','7','8','9','10','J','Q','K'];\nT.poker={name:'Poker Hand',group:'Range Games',game:1,sheet:1,random:1,land:1,best:'Any handgun or .22, 3 to 7 yd. 2 or more players.',desc:'A full deck of 52 small cards. Each player fires 5 shots and builds the best poker hand.',\n opts:[{id:'order',label:'Card order',ch:[['shuffle','Shuffled'],['suit','By suit']],def:'shuffle'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'Each player fires 5 shots. Every card you hit goes in your hand. A hole touching two cards: you pick one. A miss is a blank card. Best poker hand wins. Write each card on the score sheet as it is hit, and mark hits (one color per player) at the next cease-fire.'}],12.5);\n  var deck=[];SUITS.forEach(function(su,si){RANKS.forEach(function(rk){deck.push({r:rk,s:si});});});if(o.order==='shuffle')deck=shuffle(deck,r);\n  var b=nb.box,cs=cells(b,13,4,7,12),s=nb.svg;\n  cs.forEach(function(cl,i){var cd=deck[i],su=SUITS[cd.s],w=Math.min(cl.w,cl.h/1.4),h=w*1.4,x=cl.cx-w/2,y=cl.cy-h/2;\n    s+=rect(x,y,w,h,'#fff',K,1.5,6);\n    s+=txt(x+5,y+17,cd.r,15,{w:800,fill:su[1]});\n    s+=txt(cl.cx,cl.cy+6,su[0],w*0.62,{a:'middle',mid:1,fill:su[1]});\n    s+=txt(x+w-5,y+h-6,cd.r,15,{a:'end',w:800,fill:su[1]});});\n  return {pages:[{title:'Poker Hand',sub:'52 cards. 5 shots per player. Best hand wins.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',hands=['Royal flush','Straight flush','Four of a kind','Full house','Flush','Straight','Three of a kind','Two pair','One pair','High card'];\n  s+=txt(b.x,b.y+16,'HAND RANKINGS (best to worst)',14,{w:800});\n  hands.forEach(function(h,i){s+=txt(b.x,b.y+46+i*30,(i+1)+'. '+h,15,{fill:'#222'});});\n  var tx=b.x+300,tw=b.w-300,rows=6,cols=5,ch=Math.min(48,(b.h-40)/(rows+1));\n  s+=txt(tx,b.y+16,'SCORE CARD',14,{w:800});\n  var y0=b.y+30,cw=tw/(cols+1);\n  for(var r2=0;r2<=rows;r2++)s+=line(tx,y0+r2*ch,tx+tw,y0+r2*ch,r2===0||r2===1?K:'#999',r2===1?2:1);\n  for(var q=0;q<=cols+1;q++)s+=line(tx+q*cw,y0,tx+q*cw,y0+rows*ch,q===0||q===cols+1?K:'#999',1);\n  s+=txt(tx+8,y0+ch/2+5,'Player',13,{w:700});\n  for(var q2=1;q2<=cols;q2++)s+=txt(tx+q2*cw+cw/2,y0+ch/2+5,'Round '+q2,13,{a:'middle',w:700});\n  s+=txt(tx,y0+rows*ch+30,'Write each player\\'s hand (for example \"pair of 7s\") and circle the round winner.',12,{fill:'#555'});\n  return {title:'Poker Hand Score Sheet',sub:'Hand rankings and score card',body:s};\n }};\n\nvar DART=[20,1,18,4,13,6,10,15,2,17,3,19,7,16,8,11,14,9,12,5];\nfunction sector(cx,cy,r1,r2,a1,a2){function p(rr,a){a=a*Math.PI/180;return n(cx+rr*Math.cos(a))+' '+n(cy+rr*Math.sin(a));}return '<path d=\"M'+p(r2,a1)+' A'+n(r2)+' '+n(r2)+' 0 0 1 '+p(r2,a2)+' L'+p(r1,a2)+' A'+n(r1)+' '+n(r1)+' 0 0 0 '+p(r1,a1)+' Z\"';}\nT.darts={name:'Darts',group:'Range Games',game:1,sheet:1,best:'Any handgun or .22, 3 to 10 yd. 1 or more players.',desc:'A full dartboard with doubles, triples and bull. Play 301, 501 or Around the Clock.',\n opts:[{id:'game',label:'Game',ch:[['301','301'],['501','501'],['clock','Around the clock']],def:'301'}],\n render:function(o,c,G){\n  var rules=o.game==='clock'?'Hit 1 through 20 in order, then the bull. Three shots per turn. First to finish wins.':'Each player starts at '+o.game+'. Three shots per turn; subtract what you hit. Outer thin ring = double, inner thin ring = triple, outer bull = 25, center = 50. First to exactly 0 wins.';\n  var nb=notes(G.box,[{b:'How to Play:',t:rules+' Write scores down as you go, and tape or mark hits at the next cease-fire so none are counted twice.'}]);\n  var b=nb.box,R=Math.min(b.w,b.h)/2-34,cx=b.x+b.w/2,cy=b.y+b.h/2,s=nb.svg,sc=R/170;\n  var dark=c.save?'#e9e9e9':K,acc=c.A===GREEN?RED:c.A,acc2=c.A===GREEN?GREEN:(c.A===K?RED:GREEN);if(c.A===K){acc=RED;acc2=GREEN;}\n  s+=circ(cx,cy,R+30,c.save?'#fff':K,K,2);\n  DART.forEach(function(v,i){var a1=-99+i*18,a2=a1+18,even=i%2===0,base=even?dark:'#fff',ring=even?acc:acc2;if(c.save){ring=even?tint(acc,0.55):tint(acc2,0.55);}\n    s+=sector(cx,cy,15.9*sc,99*sc,a1,a2)+' fill=\"'+base+'\" stroke=\"#888\" stroke-width=\"0.8\"/>';\n    s+=sector(cx,cy,99*sc,107*sc,a1,a2)+' fill=\"'+ring+'\" stroke=\"#888\" stroke-width=\"0.8\"/>';\n    s+=sector(cx,cy,107*sc,162*sc,a1,a2)+' fill=\"'+base+'\" stroke=\"#888\" stroke-width=\"0.8\"/>';\n    s+=sector(cx,cy,162*sc,170*sc,a1,a2)+' fill=\"'+ring+'\" stroke=\"#888\" stroke-width=\"0.8\"/>';\n    var am=(a1+9)*Math.PI/180;s+=txt(cx+(R+16)*Math.cos(am),cy+(R+16)*Math.sin(am),v,Math.max(R*0.075,13),{a:'middle',mid:1,w:800,fill:c.save?K:'#fff'});});\n  s+=circ(cx,cy,15.9*sc,c.save?tint(acc2,0.55):acc2,'#888',0.8)+circ(cx,cy,6.35*sc,c.save?tint(acc,0.4):acc,'#888',0.8);\n  return {pages:[{title:'Darts',sub:o.game==='clock'?'Around the Clock':o.game+'. Doubles, triples and bull count.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',cols=4,rows=14,ch=Math.min(46,(b.h-50)/(rows+1)),cw=b.w/cols,y0=b.y+30;\n  s+=txt(b.x,b.y+14,o.game==='clock'?'Write the number each player is on after every turn.':'Write what each player scored this turn and what is left.',13,{fill:'#333'});\n  for(var r2=0;r2<=rows;r2++)s+=line(b.x,y0+r2*ch,b.x+b.w,y0+r2*ch,r2<=1?K:'#aaa',r2===1?2:1);\n  for(var q=0;q<=cols;q++)s+=line(b.x+q*cw,y0,b.x+q*cw,y0+rows*ch,K,q===0||q===cols?1.5:1);\n  for(var q2=0;q2<cols;q2++)s+=txt(b.x+q2*cw+10,y0+ch/2+5,'Player '+(q2+1)+' ________',13,{w:700});\n  if(o.game!=='clock')for(var q3=0;q3<cols;q3++)s+=txt(b.x+q3*cw+cw-10,y0+ch+ch/2+5,'Start '+o.game,12,{a:'end',fill:'#555'});\n  return {title:'Darts Score Sheet',sub:o.game==='clock'?'Around the Clock':o.game+' count down',body:s};\n }};\n\nvar BALL=['','#F4C20D','#1D5FBF','#D02E2E','#6A2C91','#F25C05','#1F9D3A','#7A1F1F','#151717'];\nvar clipN=0;\nfunction ball(cx,cy,R,num,c){\n  var col=BALL[num>8?num-8:num],stripe=num>8,s='';\n  if(c.save){s+=circ(cx,cy,R,'#fff',col,4);if(stripe)s+=line(cx-R*0.93,cy-R*0.38,cx+R*0.93,cy-R*0.38,col,2)+line(cx-R*0.93,cy+R*0.38,cx+R*0.93,cy+R*0.38,col,2);}\n  else if(stripe){var id='odtc'+(++clipN);s+='<clipPath id=\"'+id+'\"><circle cx=\"'+n(cx)+'\" cy=\"'+n(cy)+'\" r=\"'+n(R)+'\"/></clipPath>'+circ(cx,cy,R,'#fff')+'<rect x=\"'+n(cx-R)+'\" y=\"'+n(cy-R*0.42)+'\" width=\"'+n(2*R)+'\" height=\"'+n(R*0.84)+'\" fill=\"'+col+'\" clip-path=\"url(#'+id+')\"/>'+circ(cx,cy,R,'none',K,1.5);}\n  else s+=circ(cx,cy,R,col,K,1.5);\n  s+=circ(cx,cy,R*0.42,'#fff',c.save?col:null,c.save?1.5:0)+txt(cx,cy+1,num,R*0.5,{a:'middle',mid:1,w:800});\n  return s;\n}\nT.billiards={name:'Billiards',group:'Range Games',game:1,sheet:1,random:1,best:'Any handgun or .22, 3 to 10 yd. 2 players.',desc:'A pool table with numbered balls. Shoot them in order. 9-ball or 15-ball.',\n opts:[{id:'balls',label:'Game',ch:[['9','9-ball'],['15','15-ball']],def:'9'},{id:'size',label:'Ball size',ch:[['1','1 in'],['1.25','1.25 in'],['1.5','1.5 in']],def:'1.25'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'Shoot the balls in order, lowest number first. Hit the right ball and you shoot again; check it off on the score sheet. Hit the wrong ball or miss, and your turn ends. '+(o.balls==='9'?'Whoever legally hits the 9 wins.':'Most balls at the end wins.')}]);\n  var b=nb.box,s=nb.svg,rail=34,x0=b.x,y0=b.y,w=b.w,h=b.h;\n  s+=rect(x0,y0,w,h,c.save?'#fff':'#5b3a1e',K,2,18);\n  s+=rect(x0+rail,y0+rail,w-2*rail,h-2*rail,c.save?'#fff':'#e1efe3',c.save?GREEN:K,c.save?3:1.5,6);\n  [[0,0],[1,0],[0,0.5],[1,0.5],[0,1],[1,1]].forEach(function(p){s+=circ(x0+rail+p[0]*(w-2*rail),y0+rail+p[1]*(h-2*rail),22,K);});\n  var R=+o.size*50,cnt=+o.balls,pl=[],fx=x0+rail+R+30,fy=y0+rail+R+30,fw=w-2*rail-2*R-60,fh=h-2*rail-2*R-60;\n  for(var i=1;i<=cnt;i++){for(var t=0;t<800;t++){var x=fx+r()*fw,y=fy+r()*fh;if(!pl.some(function(q){return Math.hypot(q.x-x,q.y-y)<2*R+30;})){pl.push({x:x,y:y,n:i});break;}}}\n  pl.forEach(function(q){s+=ball(q.x,q.y,R,q.n,c);});\n  return {pages:[{title:'Billiards',sub:(o.balls==='9'?'9-ball':'15-ball')+'. Shoot the balls in order.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',cnt=+o.balls;\n  s+=txt(b.x,b.y+14,'Check off each ball a player sinks. Racks 1 to 4.',13,{fill:'#333'});\n  var cs=cells({x:b.x,y:b.y+34,w:b.w,h:b.h-34},2,2,30,24);\n  cs.forEach(function(cl,i){var y=cl.y+18;s+=txt(cl.x,y,'Rack '+(i+1),15,{w:800});y+=26;\n    for(var p=0;p<2;p++){s+=txt(cl.x,y,'Player '+(p+1)+' ____________',13,{w:700});y+=18;var per=Math.min(cnt,8),gap=Math.min(44,(cl.w-10)/per);\n      for(var k=1;k<=cnt;k++){var row=Math.floor((k-1)/per),col=(k-1)%per;s+=rect(cl.x+col*gap,y+row*(gap+4),gap-8,gap-8,'#fff',K,1.2,4)+txt(cl.x+col*gap+(gap-8)/2,y+row*(gap+4)+(gap-8)/2,k,12,{a:'middle',mid:1,fill:'#999'});}\n      y+=Math.ceil(cnt/per)*(gap+4)+18;}});\n  return {title:'Billiards Score Sheet',sub:'4 racks, 2 players',body:s};\n }};\n\nT.bingo={name:'Bingo',group:'Range Games',game:1,sheet:1,random:1,best:'Any handgun or .22, 3 to 7 yd. 1 or more players with a caller.',desc:'A 5 by 5 bingo card. A caller reads numbers and you hit them. Shuffle for a new card for each player.',\n opts:[{id:'free',label:'Free center square',ch:[['yes','Yes'],['no','No']],def:'yes'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'A caller reads a number (use the call sheet or any random number app). If it is on your card, hit its circle. Tape or mark hits at each cease-fire. Five hits in a row, column or diagonal: BINGO. Each player prints their own card with Shuffle.'}]);\n  var b=nb.box,s=nb.svg,sz=Math.min(b.w,b.h-70),cw=sz/5,x0=b.x+(b.w-sz)/2,y0=b.y+(b.h-sz-70)/2+70,L='BINGO';\n  for(var q=0;q<5;q++){var nums=shuffle(Array.apply(null,Array(15)).map(function(_,i){return q*15+i+1;}),r).slice(0,5);\n    s+=rect(x0+q*cw+3,y0-66,cw-6,58,c.save?'#fff':c.A,c.save?c.A:null,c.save?3:0,6)+txt(x0+q*cw+cw/2,y0-37,L[q],44,{a:'middle',mid:1,w:900,fill:c.save?c.A:'#fff'});\n    for(var r2=0;r2<5;r2++){var x=x0+q*cw,y=y0+r2*cw,cx=x+cw/2,cy=y+cw/2;s+=rect(x,y,cw,cw,'#fff',K,1.5);\n      if(q===2&&r2===2&&o.free==='yes'){s+=c.save?circ(cx,cy,cw*0.36,'#fff',c.A,3):circ(cx,cy,cw*0.36,c.A);s+=txt(cx,cy,'FREE',cw*0.17,{a:'middle',mid:1,w:900,fill:c.save?c.A:'#fff'});}\n      else{s+=circ(cx,cy,cw*0.36,'#fff',K,2)+txt(cx,cy+1,nums[r2],cw*0.3,{a:'middle',mid:1,w:800});}}}\n  return {pages:[{title:'Bingo',sub:'Hit the called numbers. Five in a row wins.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',L='BINGO',cw=b.w/5,rh=Math.min(40,(b.h-90)/15);\n  s+=txt(b.x,b.y+14,'Caller: cross off each number as you call it.',13,{fill:'#333'});\n  for(var q=0;q<5;q++){var x=b.x+q*cw;s+=txt(x+cw/2,b.y+52,L[q],30,{a:'middle',w:900});\n    for(var i=0;i<15;i++){var v=q*15+i+1,y=b.y+70+i*rh;s+=rect(x+cw*0.2,y,cw*0.6,rh-6,'#fff','#999',1,4)+txt(x+cw/2,y+(rh-6)/2,v,Math.min(18,rh*0.5),{a:'middle',mid:1,w:700});}}\n  return {title:'Bingo Call Sheet',sub:'Numbers 1 to 75',body:s};\n }};\n\n/* ---------- zero math: point-mass trajectory with the G1 drag model (checked against Federal .308 168 gr velocities) ---------- */\nvar G1T=[[0,.2629],[.05,.2558],[.1,.2487],[.15,.2413],[.2,.2344],[.25,.2278],[.3,.2214],[.35,.2155],[.4,.2104],[.45,.2061],[.5,.2032],[.55,.202],[.6,.2034],[.7,.2165],[.725,.223],[.75,.2313],[.775,.2417],[.8,.2546],[.825,.2706],[.85,.2901],[.875,.3136],[.9,.3415],[.925,.3734],[.95,.4084],[.975,.4448],[1,.4805],[1.025,.5136],[1.05,.5427],[1.075,.5677],[1.1,.5883],[1.125,.6053],[1.15,.6191],[1.2,.6393],[1.25,.6518],[1.3,.6589],[1.35,.6621],[1.4,.6625],[1.45,.6607],[1.5,.6573],[1.55,.6528],[1.6,.6474],[1.65,.6413],[1.7,.6347],[1.75,.628],[1.8,.621],[1.85,.6141],[1.9,.6072],[1.95,.6003],[2,.5934],[2.05,.5867],[2.1,.5804],[2.15,.5743],[2.2,.5685],[2.25,.563],[2.3,.5577],[2.35,.5527],[2.4,.5481],[2.45,.5438],[2.5,.5397],[2.6,.5325],[2.7,.5264],[2.8,.5211],[2.9,.5168],[3,.5133],[3.2,.5084],[3.4,.5054],[3.6,.503],[3.8,.5016],[4,.5006]];\nfunction g1cd(m){if(m<=0)return G1T[0][1];for(var i=1;i<G1T.length;i++){if(m<=G1T[i][0]){var a=G1T[i-1],b=G1T[i];return a[1]+(b[1]-a[1])*(m-a[0])/(b[0]-a[0]);}}return G1T[G1T.length-1][1];}\nvar LOADS={'556':{n:'5.56 / .223, 55 gr',bar:'16 in barrel',v:3100,bc:.243},'556-62':{n:'5.56, 62 gr (M855)',bar:'16 in barrel',v:2950,bc:.304},'556-77':{n:'5.56, 77 gr OTM',bar:'16 in barrel',v:2650,bc:.372},'300blk':{n:'.300 BLK, 110 gr supersonic',bar:'16 in barrel',v:2300,bc:.29},'308':{n:'.308 Win, 168 gr',bar:'20 in barrel',v:2650,bc:.462},'65cm':{n:'6.5 Creedmoor, 140 gr',bar:'24 in barrel',v:2700,bc:.646},'9pcc':{n:'9mm carbine, 124 gr',bar:'16 in barrel',v:1300,bc:.15},'22':{n:'.22 LR rifle, 40 gr',bar:'high velocity',v:1235,bc:.125},\n '9-115':{n:'9mm, 115 gr',bar:'4 in barrel',v:1180,bc:.142},'9-124':{n:'9mm, 124 gr',bar:'4 in barrel',v:1150,bc:.15},'9-147':{n:'9mm, 147 gr',bar:'4 in barrel',v:950,bc:.2},'40':{n:'.40 S&W, 180 gr',bar:'4 in barrel',v:1000,bc:.165},'45':{n:'.45 ACP, 230 gr',bar:'5 in barrel',v:850,bc:.195}};\nfunction traj(L,ang,maxyd){var x=0,y=0,vx=L.v*Math.cos(ang),vy=L.v*Math.sin(ang),dt=5e-5,out=[0],nx=1;\n  while(nx<=maxyd){var v=Math.sqrt(vx*vx+vy*vy),a=2.08551e-4*g1cd(v/1116.45)*v*v/L.bc;vx-=a*vx/v*dt;vy-=(a*vy/v+32.174)*dt;var xn=x+vx*dt,yn=y+vy*dt;\n    while(nx<=maxyd&&nx*3<=xn){out[nx]=(y+(nx*3-x)/(xn-x)*(yn-y))*12;nx++;}x=xn;y=yn;if(vx<50)break;}\n  return out;}\nvar _tc={};\n/* bullet height above (+) or below (-) the line of sight, in inches, for every yard 0..maxyd */\nfunction solveZero(key,h,zero,maxyd){var k=key+'|'+h+'|'+zero+'|'+maxyd;if(_tc[k])return _tc[k];var L=LOADS[key],lo=-0.01,hi=0.05;\n  for(var i=0;i<44;i++){var m=(lo+hi)/2,p=traj(L,m,zero);if(p[zero]-h<0)lo=m;else hi=m;}\n  var r=traj(L,(lo+hi)/2,maxyd).map(function(y){return y-h;});_tc[k]=r;return r;}\nfunction farZero(r,zero){for(var d=zero+5;d<r.length;d++){if(r[d]<0&&r[d-1]>=0)return d;}return 0;}\nfunction clickIn(type,yd){return {q:0.25*1.047,h:0.5*1.047,m1:1.047,mil:0.36}[type]*yd/100;}\nfunction fmt(v,d){return (Math.round(v*Math.pow(10,d))/Math.pow(10,d)).toString();}\nfunction hatch(){return '<defs><pattern id=\"odt-hatch\" width=\"14\" height=\"14\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\"><rect width=\"14\" height=\"14\" fill=\"#fff\"/><line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"14\" stroke=\"'+K+'\" stroke-width=\"5\"/></pattern></defs>';}\n\nfunction rifleAim(cx,cy,c){var col=c.A,s=circ(cx,cy,44,'none',col,c.save?4:8);\n  [[0,-1],[1,0],[0,1],[-1,0]].forEach(function(d){s+=line(cx+d[0]*44,cy+d[1]*44,cx+d[0]*16,cy+d[1]*16,col,c.save?3:5);});\n  return s+circ(cx,cy,5,col);}\nfunction dotAim(cx,cy,c){var col=c.A,h=22,L=13,w=c.save?3.5:6,s='';\n  [[-1,-1],[1,-1],[1,1],[-1,1]].forEach(function(d){var x=cx+d[0]*h,y=cy+d[1]*h;s+=line(x,y,x-d[0]*L,y,col,w)+line(x,y,x,y-d[1]*L,col,w);});\n  return s+poly([[cx,cy-5.5],[cx+5.5,cy],[cx,cy+5.5],[cx-5.5,cy]],col);}\nfunction gridAt(cx,cy,maxW,maxH,sq,every){\n  var nx=Math.max(2,Math.floor(maxW/sq/2)*2),ny=Math.max(2,Math.floor(maxH/sq/2)*2),gw=nx*sq,gh=ny*sq,x0=cx-gw/2,y0=cy-gh/2,s='',thin=sq<20?0.5:0.8;\n  for(var i=0;i<=nx;i++){var off=i-nx/2,b=off%every===0;s+=line(x0+i*sq,y0,x0+i*sq,y0+gh,b?K:'#a8a8a8',off===0?1.8:(b?1.1:thin));}\n  for(var j=0;j<=ny;j++){var off2=j-ny/2,b2=off2%every===0;s+=line(x0,y0+j*sq,x0+gw,y0+j*sq,b2?K:'#a8a8a8',off2===0?1.8:(b2?1.1:thin));}\n  return {svg:s,x:x0,y:y0,w:gw,h:gh};}\nfunction quadLabels(g,laser){var s='',pad=8,fs=10,m=laser?'Hits here? Move laser ':'Hits here? Move ';\n  [[m+(laser?'UP + LEFT':'DOWN + RIGHT'),g.x+pad,g.y+pad+fs,'start'],[m+(laser?'UP + RIGHT':'DOWN + LEFT'),g.x+g.w-pad,g.y+pad+fs,'end'],[m+(laser?'DOWN + LEFT':'UP + RIGHT'),g.x+pad,g.y+g.h-pad,'start'],[m+(laser?'DOWN + RIGHT':'UP + LEFT'),g.x+g.w-pad,g.y+g.h-pad,'end']].forEach(function(q){\n    var w=q[0].length*fs*0.55+8,x=q[3]==='start'?q[1]-4:q[1]-w+4;s+=rect(x,q[2]-fs-2,w,fs+7,'#fff')+txt(q[1],q[2],q[0],fs,{a:q[3],w:700,fill:'#555'});});return s;}\n\nfunction zeroSheet(o,c,G,pistol){\n  var at=+o.at,zero=+o.zero,h=+o.h,key=pistol?(o.load||'9-124'):o.cal,L=LOADS[key],dists=pistol?[5,7,10,15,25]:(L.v<1500?[25,50,75,100]:[25,50,100,200,300]),maxd=Math.max(dists[dists.length-1],zero,at,pistol?25:300);\n  var tr=solveZero(key,h,zero,maxd),off=zero===at?0:tr[at],fz=zero<=50&&!pistol?farZero(tr,zero):0;\n  var zl=pistol?zero+' yd zero':({'50':'50 yd','36':'36 yd','100':'100 yd','200':'200 yd','25':'25 yd'}[o.zero]+' zero');\n  var u=o.grid,sqIn,ut,every;\n  if(u==='moa'){sqIn=1.047*at/100;ut='1 MOA ('+fmt(sqIn,2)+' in)';every=sqIn<0.4?4:2;}\n  else if(u==='mil'){sqIn=0.036*at;if(sqIn<0.15){sqIn*=5;ut='0.5 MIL ('+fmt(sqIn,2)+' in)';every=2;}else{ut='0.1 MIL ('+fmt(sqIn,2)+' in)';every=5;}}\n  else{sqIn=+u;ut={'1':'1 inch','0.5':'1/2 inch','0.25':'1/4 inch'}[u];every=Math.max(1,Math.round(1/sqIn));if(u==='1')every=2;}\n  var sq=sqIn*100,b=G.box,pw=200,logH=112,area={x:b.x,y:b.y,w:b.w-pw-18,h:b.h-logH-14},s='';\n  var nAim=+o.aims,cs=nAim===4?cells(area,2,2,18):[{x:area.x,y:area.y,w:area.w,h:area.h,cx:area.x+area.w/2,cy:area.y+area.h/2}];\n  cs.forEach(function(cl,i){\n    var g=gridAt(cl.cx,cl.cy,cl.w,cl.h,sq,every);s+=g.svg;\n    var ay=nAim===4?cl.cy-Math.min(Math.abs(off)*50,g.h/4):cl.cy-Math.min(Math.abs(off)*50,g.h/3);if(off>0)ay=cl.cy;\n    ay=g.y+Math.round((ay-g.y)/sq)*sq;\n    s+=pistol?dotAim(cl.cx,ay,c):rifleAim(cl.cx,ay,c);\n    var by=ay-off*100,bs=pistol?Math.max(20,Math.min(44,2*(Math.abs(off)*100-26))):Math.max(80,Math.min(sq*2,120));\n    if(Math.abs(off)>=0.1){s+=rect(cl.cx-bs/2,by-bs/2,bs,bs,'rgba(255,255,255,.6)',c.A,3,4,'9 5')+line(cl.cx-10,by,cl.cx+10,by,c.A,1.5)+line(cl.cx,by-10,cl.cx,by+10,c.A,1.5);\n      s+=txt(cl.cx+bs/2+8,by-4,'GROUP HERE',11,{w:800,fill:c.A})+txt(cl.cx+bs/2+8,by+11,fmt(Math.abs(off),2)+' in '+(off<0?'low':'high'),10.5,{fill:'#333'});}\n    else s+=txt(cl.cx+56,ay-50,'Group on the aim point',10.5,{w:700,fill:'#333'});\n    if(nAim===4)s+=rect(g.x,g.y-20,26,18,K)+txt(g.x+13,g.y-6,i+1,12,{a:'middle',w:800,fill:'#fff'});\n    else s+=quadLabels(g);\n  });\n  /* side panel */\n  var px=b.x+b.w-pw,py=b.y,t='';\n  function head(y,tx){return rect(px,y,pw,22,K)+txt(px+8,y+15.5,tx,11,{w:800,fill:'#fff',ls:1});}\n  t+=head(py,'YOUR SETUP');var y=py+38;\n  [L.n+' ('+L.bar+')',zl+(fz?', crosses again at '+fz+' yd':''),'Shooting at '+at+' yd',(pistol?'Dot':'Sight')+' height '+h+' in over bore','Squares: '+ut].forEach(function(l){var p=para(px+8,y,l,11.5,pw-12,{fill:'#222'});t+=p.svg;y+=p.h+2;});\n  y+=4;t+=head(y,'AT '+at+' YD, HITS LAND');y+=44;\n  t+=txt(px+8,y,Math.abs(off)<0.1?'On the aim point':fmt(Math.abs(off),1)+' in '+(off<0?'LOW':'HIGH'),Math.abs(off)<0.1?17:22,{w:900});y+=22;\n  y+=4;t+=head(y,'CLICKS PER SQUARE');y+=38;\n  (pistol?[['m1','1 MOA per click'],['h','1/2 MOA per click']]:[['q','1/4 MOA scope'],['h','1/2 MOA scope'],['mil','0.1 MIL scope']]).forEach(function(k){t+=txt(px+8,y,k[1],11.5,{fill:'#222'})+txt(px+pw-8,y,fmt(sqIn/clickIn(k[0],at),1),12.5,{a:'end',w:800});y+=17;});\n  y+=6;t+=head(y,'WHERE HITS LAND (IN)');y+=38;\n  dists.forEach(function(d){var v=tr[d];t+=txt(px+8,y,d+' yd'+(d===zero?' (zero)':''),11.5,{fill:'#222'})+txt(px+pw-8,y,Math.abs(v)<0.05?'0.0':fmt(Math.abs(v),1)+(v<0?' low':' high'),12,{a:'end',w:800});y+=16;});\n  y+=8;t+=head(y,'HOW TO ZERO');y+=36;\n  ['1. Fire 3 to 5 careful shots at the aim point.','2. Count squares from the middle of the group to the center of the box.','3. Squares x clicks per square = clicks to dial. Move hits toward the box.','4. Confirm at your zero distance.'].forEach(function(l){var p=para(px+8,y,l,10.5,pw-12,{fill:'#222'});t+=p.svg;y+=p.h+3;});\n  s+=t;\n  /* log + rulers */\n  var ly=b.y+b.h-logH;s+=rect(b.x,ly,b.w,logH,'none',K,1.5,6);\n  var rx=b.x+14,ry=ly+20;s+=line(rx,ry,rx+500,ry,K,1.5);\n  for(var q=0;q<=20;q++){var tl=q%4===0?12:6;s+=line(rx+q*25,ry,rx+q*25,ry+tl,K,1);if(q%4===0)s+=txt(rx+q*25,ry+24,q/4,9,{a:'middle',fill:'#555'});}\n  s+=txt(rx+512,ry+8,'Check scale: 5 in',10,{fill:'#555'});\n  var vx=b.x+b.w-24,vy=ly+12;s+=line(vx,vy,vx,vy+75,K,1.5);for(var v=0;v<=3;v++)s+=line(vx-10,vy+v*25,vx,vy+v*25,K,1);s+=txt(vx-14,vy+82,'3/4 in',9,{a:'end',fill:'#555'});\n  s+=txt(b.x+14,ly+68,'Date ________  '+(pistol?'Pistol':'Rifle')+' ______________  Optic ______________  Ammo ______________',12,{fill:'#222'});\n  s+=txt(b.x+14,ly+94,'Clicks moved:  Up ____  Down ____  Left ____  Right ____     Final group ______ in',12,{fill:'#222'});\n  return {pages:[{title:pistol?'Red Dot Pistol Zero':'Rifle Zero',sub:zl+'. Shooting at '+at+' yards. '+(Math.abs(off)>=0.1?'The box shows where hits should land.':'')}],bodies:[s],warn:'The box is calculated for the load and sight height you pick (sea level, standard weather). Ammo and barrels vary, so always confirm at your real zero distance.'};\n}\nT.rzero={name:'Rifle Zero',group:'Zero and Precision',best:'AR-15 and carbines at 25 or 50 yd. Hunting rifles at 100 yd.',desc:'Aim point plus a box that shows where your group should land for your zero, calculated for your load and sight height. Clicks per square, where hits land at each distance, zero steps and a log are on the sheet.',\n opts:[{id:'cal',label:'Load',type:'select',ch:[['556','5.56 / .223, 55 gr (16 in)'],['556-62','5.56, 62 gr M855 (16 in)'],['556-77','5.56, 77 gr OTM (16 in)'],['300blk','.300 BLK, 110 gr Supersonic (16 in)'],['308','.308 Win, 168 gr (20 in)'],['65cm','6.5 Creedmoor, 140 gr (24 in)'],['9pcc','9mm Carbine, 124 gr (16 in)'],['22','.22 LR Rifle, 40 gr High Velocity']],def:'556',hint:'Pick the closest match to your ammo and barrel.'},\n  {id:'zero',label:'Zero',type:'select',ch:[['50','50 yd (50/200 for most 5.56)'],['36','36 yd (36/300 for most 5.56)'],['100','100 yd'],['200','200 yd'],['25','25 yd']],def:'50',hint:'The sheet shows where your load crosses the line of sight again.'},\n  {id:'at',label:'Shooting At',ch:[['25','25 yd'],['50','50 yd'],['100','100 yd']],def:'25'},\n  {id:'h',label:'Sight Height Over Bore',type:'select',ch:[['1.5', '1.5 in (bolt rifle, low rings)'], ['1.75', '1.75 in'], ['2', '2.0 in'], ['2.25', '2.25 in'], ['2.5', '2.5 in'], ['2.6', '2.6 in (AR, absolute co-witness)'], ['2.75', '2.75 in'], ['2.9', '2.9 in (AR, lower 1/3 or LPVO)'], ['3.1', '3.1 in'], ['3.3', '3.3 in (tall mount)']],def:'2.6',hint:'Measure from the center of the barrel to the center of the optic. This moves the box more than anything else.'},\n  {id:'grid',label:'Grid Squares',type:'select',ch:[['1','1 inch'],['0.5','1/2 inch'],['0.25','1/4 inch'],['moa','1 MOA'],['mil','0.1 MIL']],def:'0.5'},\n  {id:'aims',label:'Aim Points',ch:[['1','1 large'],['4','4 (one per try)']],def:'1'}],\n render:function(o,c,G){return zeroSheet(o,c,G,false);}};\nT.pzero={name:'Red Dot Pistol Zero',group:'Zero and Precision',best:'Red dot pistols at 7 to 25 yd',desc:'High-contrast corner brackets frame your dot. The box shows where hits land when you zero at one distance and shoot at another, calculated for your load and dot height.',\n opts:[{id:'load',label:'Load',type:'select',ch:[['9-115','9mm, 115 gr'],['9-124','9mm, 124 gr'],['9-147','9mm, 147 gr'],['40','.40 S&W, 180 gr'],['45','.45 ACP, 230 gr']],def:'9-124'},\n  {id:'zero',label:'Zero Distance',ch:[['10','10 yd'],['15','15 yd'],['25','25 yd']],def:'25'},\n  {id:'at',label:'Shooting At',ch:[['7','7 yd'],['10','10 yd'],['15','15 yd'],['25','25 yd']],def:'10'},\n  {id:'h',label:'Dot Height Over Bore',type:'select',ch:[['0.9', '0.9 in'], ['1', '1.0 in'], ['1.1', '1.1 in (optic-cut slide)'], ['1.2', '1.2 in'], ['1.3', '1.3 in (with adapter plate)'], ['1.4', '1.4 in'], ['1.5', '1.5 in'], ['1.6', '1.6 in']],def:'1.1',hint:'Measure from the center of the barrel to the center of the dot window.'},\n  {id:'grid',label:'Grid Squares',ch:[['0.5','1/2 inch'],['0.25','1/4 inch'],['moa','1 MOA']],def:'0.25'},\n  {id:'aims',label:'Aim Points',ch:[['1','1 large'],['4','4 (one per try)']],def:'1'}],\n render:function(o,c,G){return zeroSheet(o,c,G,true);}};\n/* ----- Laser Zero (laser below the barrel, optionally off to one side) ----- */\nfunction laserAim(cx,cy,c){var col=c.A,w=c.save?2:3,s=circ(cx,cy,7,'none',col,2)+circ(cx,cy,2.2,col);[[1,0],[-1,0],[0,1],[0,-1]].forEach(function(d){s+=line(cx+d[0]*14,cy+d[1]*14,cx+d[0]*70,cy+d[1]*70,col,w);});return s;}\nfunction lr(v){return Math.abs(v)<0.05?'':fmt(Math.abs(v),1)+' in '+(v<0?'left':'right');}\nfunction ud(v){return Math.abs(v)<0.05?'':fmt(Math.abs(v),1)+' in '+(v<0?'low':'high');}\nfunction both(v,hx){var a=ud(v),b=lr(hx);return a&&b?a+', '+b:(a||b||'On the aim point');}\nfunction laserSheet(o,c,G){\n  var at=+o.at,zero=+o.zero,lh=+o.h,side=+o.side,key=o.load,L=LOADS[key],dists=[3,5,7,10,15,25],maxd=25;\n  var tr=solveZero(key,-lh,zero,maxd),off=zero===at?0:tr[at];\n  function hx(d){return side===0?0:(o.wind==='par'?-side:-side*(1-d/zero));}\n  var offx=hx(at),u=o.grid,sqIn=+u,ut={'0.5':'1/2 inch','0.25':'1/4 inch'}[u],every=Math.round(1/sqIn),sq=sqIn*100;\n  var b=G.box,pw=200,logH=112,area={x:b.x,y:b.y,w:b.w-pw-18,h:b.h-logH-14},s='',nAim=+o.aims;\n  var cs=nAim===4?cells(area,2,2,18):[{x:area.x,y:area.y,w:area.w,h:area.h,cx:area.x+area.w/2,cy:area.y+area.h/2}];\n  cs.forEach(function(cl,i){\n    var g=gridAt(cl.cx,cl.cy,cl.w,cl.h,sq,every);s+=g.svg;\n    var ay=g.y+Math.round((cl.cy+Math.max(-g.h/4,Math.min(g.h/4,off*50))-g.y)/sq)*sq,ax=cl.cx;\n    s+=laserAim(ax,ay,c);\n    var bx=ax+offx*100,by=ay-off*100,dist=Math.sqrt(Math.pow(offx*100,2)+Math.pow(off*100,2)),bs=Math.max(14,Math.min(40,2*(dist-9)));\n    if(dist>=10){\n      s+=rect(bx-bs/2,by-bs/2,bs,bs,'rgba(255,255,255,.6)',c.A,3,4,'9 5')+line(bx-10,by,bx+10,by,c.A,1.5)+line(bx,by-10,bx,by+10,c.A,1.5);\n      var lx=offx<0?bx-bs/2-8:bx+bs/2+8,an=offx<0?'end':'start';if(Math.abs(offx)<0.05){lx=bx+Math.max(bs/2,16)+8;an='start';}s+=txt(lx,by-4,'GROUP HERE',11,{w:800,fill:c.A,a:an})+txt(lx,by+11,both(off,offx),10.5,{fill:'#333',a:an});}\n    else s+=txt(ax+52,ay-40,'Group on the aim point',10.5,{w:700,fill:'#333'});\n    if(nAim===4)s+=rect(g.x,g.y-20,26,18,K)+txt(g.x+13,g.y-6,i+1,12,{a:'middle',w:800,fill:'#fff'});else s+=quadLabels(g,true);\n  });\n  var px=b.x+b.w-pw,py=b.y,t='';\n  function head(y,tx){return rect(px,y,pw,22,K)+txt(px+8,y+15.5,tx,11,{w:800,fill:'#fff',ls:1});}\n  t+=head(py,'YOUR SETUP');var y=py+38;\n  [L.n+' ('+L.bar+')',zero+' yd zero','Shooting at '+at+' yd','Laser '+lh+' in below the barrel',side===0?'Laser centered under the barrel':'Laser '+Math.abs(side)+' in '+(side<0?'left':'right')+' of the barrel, '+(o.wind==='par'?'kept parallel':'crossing at '+zero+' yd'),'Squares: '+ut].forEach(function(l){var p=para(px+8,y,l,11.5,pw-12,{fill:'#222'});t+=p.svg;y+=p.h+2;});\n  y+=4;t+=head(y,'AT '+at+' YD, HITS LAND');y+=40;\n  var p1=para(px+8,y,both(off,offx).replace(/ low/,' LOW').replace(/ high/,' HIGH'),both(off,offx).length>18?15:20,pw-12,{w:900});t+=p1.svg;y+=p1.h+2;\n  y+=4;t+=head(y,'WHERE HITS LAND (IN)');y+=36;\n  dists.forEach(function(d){var v=tr[d],x=hx(d),tx=(Math.abs(v)<0.05?'0.0':fmt(Math.abs(v),1)+(v<0?' low':' high'))+(Math.abs(x)>=0.05?', '+fmt(Math.abs(x),1)+(x<0?' L':' R'):'');t+=txt(px+8,y,d+' yd'+(d===zero?' (zero)':''),11.5,{fill:'#222'})+txt(px+pw-8,y,tx,11.5,{a:'end',w:800});y+=16;});\n  y+=8;t+=head(y,'HOW TO ZERO A LASER');y+=36;\n  ['1. Rest the gun so it cannot move. Put the laser dot on the aim mark.','2. Fire 3 to 5 careful shots.','3. Count squares from the center of the box to the middle of your group.','4. Without moving the gun, turn the laser\\'s screws to move its dot that many squares in the same direction.','5. Shoot again to confirm.'].forEach(function(l){var p=para(px+8,y,l,10.5,pw-12,{fill:'#222'});t+=p.svg;y+=p.h+3;});\n  s+=t;\n  var ly=b.y+b.h-logH;s+=rect(b.x,ly,b.w,logH,'none',K,1.5,6);\n  var rx=b.x+14,ry=ly+20;s+=line(rx,ry,rx+500,ry,K,1.5);\n  for(var q=0;q<=20;q++){var tl=q%4===0?12:6;s+=line(rx+q*25,ry,rx+q*25,ry+tl,K,1);if(q%4===0)s+=txt(rx+q*25,ry+24,q/4,9,{a:'middle',fill:'#555'});}\n  s+=txt(rx+512,ry+8,'Check scale: 5 in',10,{fill:'#555'});\n  var vx=b.x+b.w-24,vy=ly+12;s+=line(vx,vy,vx,vy+75,K,1.5);for(var v=0;v<=3;v++)s+=line(vx-10,vy+v*25,vx,vy+v*25,K,1);s+=txt(vx-14,vy+82,'3/4 in',9,{a:'end',fill:'#555'});\n  s+=txt(b.x+14,ly+68,'Date ________  Pistol ______________  Laser ______________  Ammo ______________',12,{fill:'#222'});\n  s+=txt(b.x+14,ly+94,'Laser moved (squares):  Up ____  Down ____  Left ____  Right ____     Final group ______ in',12,{fill:'#222'});\n  return {pages:[{title:'Laser Zero',sub:zero+' yd zero. Shooting at '+at+' yards. '+(dist0(off,offx)?'The box shows where hits should land.':'')}],bodies:[s],warn:'The box is calculated for the load and laser position you pick. Ammo and guns vary, so always confirm at your zero distance.'};\n}\nfunction dist0(a,b){return Math.sqrt(a*a+b*b)>=0.1;}\nfunction sideSet(o){return o.side!=='0';}\nT.lzero={name:'Laser Zero',group:'Zero and Precision',best:'Pistol lasers and light/laser combos at 5 to 15 yd',desc:'For lasers mounted under the barrel. The box shows where hits land compared to the laser dot, including lasers that sit off to one side.',\n opts:[{id:'load',label:'Load',type:'select',ch:[['9-115','9mm, 115 gr'],['9-124','9mm, 124 gr'],['9-147','9mm, 147 gr'],['40','.40 S&W, 180 gr'],['45','.45 ACP, 230 gr']],def:'9-124'},\n  {id:'zero',label:'Zero Distance',ch:[['7','7 yd'],['10','10 yd'],['15','15 yd'],['25','25 yd']],def:'10'},\n  {id:'at',label:'Shooting At',ch:[['5','5 yd'],['7','7 yd'],['10','10 yd'],['15','15 yd']],def:'7'},\n  {id:'h',label:'Laser Height Below Barrel',type:'select',ch:[['0.4','0.4 in'],['0.5','0.5 in'],['0.6','0.6 in'],['0.7','0.7 in'],['0.8','0.8 in'],['0.9','0.9 in'],['1','1.0 in'],['1.2','1.2 in']],def:'0.6',hint:'Measure from the center of the barrel down to the center of the laser lens.'},\n  {id:'side',label:'Laser Side Offset',type:'select',ch:[['0','Centered under the barrel'],['-0.5','0.5 in left'],['-0.25','0.25 in left'],['0.25','0.25 in right'],['0.5','0.5 in right']],def:'0',hint:'Looking from behind the gun. Many light/laser combos sit the laser off to one side.'},\n  {id:'wind',label:'Side Adjustment',ch:[['cross','Cross at Zero Distance'],['par','Keep Parallel']],def:'cross',show:sideSet,hint:'Cross: dead on at your zero distance. Parallel: always off by the same small amount at every distance.'},\n  {id:'grid',label:'Grid Squares',ch:[['0.5','1/2 inch'],['0.25','1/4 inch']],def:'0.25'},\n  {id:'aims',label:'Aim Points',ch:[['1','1 large'],['4','4 (one per try)']],def:'1'}],\n render:function(o,c,G){return laserSheet(o,c,G);}};\n\n/* ----- Dots and Circles ----- */\nT.circles={name:'Dots and Circles',group:'Handgun Training',best:'Any handgun, 3 to 15 yd. Rimfire at 25 yd.',desc:'Fill a page with one shape at a true size: 1 to 6 inch circles, squares, diamonds or 3x5 cards. Make your own drills or run anyone\\'s.',\n opts:[{id:'shape',label:'Shape',ch:[['circle','Circle'],['square','Square'],['diamond','Diamond'],['card','3x5 card']],def:'circle'},\n  {id:'size',label:'Size',type:'select',ch:[['1','1 in'],['1.5','1.5 in'],['2','2 in'],['3','3 in'],['4','4 in'],['5','5 in'],['6','6 in']],def:'2'},\n  {id:'num',label:'Number them',ch:[['yes','Yes'],['no','No']],def:'yes'},{id:'dot',label:'Center aim dot',ch:[['yes','Yes'],['no','No']],def:'no'}],\n render:function(o,c,G){\n  var card=o.shape==='card',w=card?300:+o.size*100,h=card?500:w,b=G.box,gap=40;\n  var nb=notes(b,[{b:'Use It For:',t:'Any drill that calls for a fixed size. Hits must touch the shape. Cover holes with masking tape to reuse the sheet.'}]);b=nb.box;\n  function fit(w2,h2){return {c:Math.max(1,Math.floor((b.w+gap)/(w2+gap))),r:Math.max(1,Math.floor((b.h+gap)/(h2+gap)))};}\n  var f=fit(w,h);if(card){var f2=fit(h,w);if(f2.c*f2.r>f.c*f.r){var tmp=w;w=h;h=tmp;f=f2;}}\n  var gx=(b.w-(f.c*w+(f.c-1)*gap))/2,gy=(b.h-(f.r*h+(f.r-1)*gap))/2,s=nb.svg,k=0,fill=c.save?'#fff':c.A,sk=c.save?c.A:null,sw=c.save?4:0;\n  for(var r=0;r<f.r;r++)for(var q=0;q<f.c;q++){k++;var x=b.x+gx+q*(w+gap),y=b.y+gy+r*(h+gap),cx=x+w/2,cy=y+h/2;\n    if(o.shape==='circle')s+=circ(cx,cy,w/2,fill,sk,sw);else if(o.shape==='diamond')s+=poly([[cx,y],[x+w,cy],[cx,y+h],[x,cy]],fill,sk,sw);else s+=rect(x,y,w,h,card&&!c.save?tint(c.A,0.8):fill,card?K:sk,card?3:sw);\n    if(o.dot==='yes')s+=circ(cx,cy,Math.max(4,Math.min(w,h)*0.05),card||c.save?K:'#fff');\n    if(o.num==='yes')s+=txt(x-4,y+2,k,13,{a:'end',w:800,fill:'#555'});}\n  return {pages:[{title:'Dots and Circles',sub:k+' '+(card?'3x5 inch cards':o.size+' inch '+o.shape+'s')+' per page'}],bodies:[s]};\n }};\n\n/* ----- Par Time Drills ----- */\nvar PAR=[{n:'Draw to the Card',d:7,r:1,t:'A',x:'Draw, 1 shot on the card.',p:[2.25,1.75,1.35],dr:1},\n {n:'Circle Six',d:7,r:6,t:'B',x:'6 shots on the circle, as fast as you can keep them in.',p:[4.0,3.0,2.25]},\n {n:'Dot Ladder',d:5,r:4,t:'C-F',x:'1 shot on each dot, C to F.',p:[4.5,3.25,2.5]},\n {n:'Reload Pair',d:7,r:2,t:'B',x:'1 shot, empty reload, 1 shot. Load 1 round to start.',p:[5.0,3.75,2.75]},\n {n:'Strong Hand',d:5,r:3,t:'B',x:'Strong hand only, 3 shots.',p:[4.0,3.0,2.25]},\n {n:'Support Hand',d:5,r:3,t:'B',x:'Support hand only, 3 shots.',p:[5.0,3.75,2.75]},\n {n:'Card Pair',d:10,r:2,t:'A',x:'Draw, 2 shots on the card.',p:[3.0,2.25,1.75],dr:1},\n {n:'Box Run',d:7,r:3,t:'B, A',x:'2 shots on the circle, then 1 on the card.',p:[3.0,2.25,1.75]}];\nT.pardrills={name:'Par Time Drills',group:'Handgun Training',sheet:1,always:1,best:'Carry handgun, 5 to 10 yd. 24 rounds per run.',desc:'One sheet, eight timed drills with par times for three skill levels. Covers the draw, reloads, one-hand shooting and transitions. Works at indoor ranges from low ready.',\n opts:[{id:'start',label:'Start position',ch:[['holster','From the holster'],['ready','From low ready']],def:'holster'}],\n render:function(o,c,G){\n  var nb=notes(G.box,[{b:'Drill Card:',t:'Drills, par times and your score log are on page 2. Use any free shot timer app. Each hit outside the shape adds 0.5 seconds. Tape holes at the cease-fire between runs.'}]);\n  var b=nb.box,s=nb.svg,fill=c.save?'#fff':tint(c.A,0.82),top=b.y+(b.h-780)/2+10;\n  s+=rect(b.x+10,top,300,500,fill,K,4)+txt(b.x+10,top-10,'A',26,{w:900})+txt(b.x+160,top+250,'3 x 5 in',13,{a:'middle',mid:1,fill:'#555'});\n  var bx=b.x+b.w-205,by=top+200;s+=circ(bx,by,200,fill,K,4)+txt(bx-200,top-10,'B',26,{w:900})+txt(bx,by,'4 in',13,{a:'middle',mid:1,fill:'#555'});\n  'CDEF'.split('').forEach(function(L,i){var cx=b.x+b.w*(i+0.5)/4,cy=top+660;s+=c.save?circ(cx,cy,75,'#fff',c.A,4):circ(cx,cy,75,c.A);s+=txt(cx-75,cy-84,L,26,{w:900});s+=txt(cx,cy,'1.5 in',12,{a:'middle',mid:1,fill:c.save?'#555':'#fff'});});\n  return {pages:[{title:'Par Time Drills',sub:'3x5 card A, 4 in circle B, 1.5 in dots C to F. '+(o.start==='ready'?'Low ready start.':'Holster start.')}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',ready=o.start==='ready',cols=[['Drill',300],['Dist',52],['Rds',44],['Par: Starter / Solid / Sharp',170],['Run 1',68],['Run 2',68],['Run 3',68]],x=b.x,y=b.y+6,rh=Math.min(82,(b.h-110)/PAR.length);\n  s+=txt(b.x,b.y+14,'Start: '+(ready?'low ready, finger off the trigger.':'hands relaxed, gun in the holster.')+'  Each hit outside the shape: +0.5 s.  A miss off the paper: +1 s.',12,{fill:'#333'});\n  y=b.y+30;var tw=0;cols.forEach(function(cl){tw+=cl[1];});var sc=b.w/tw;\n  s+=rect(b.x,y,b.w,26,K);var cx=b.x;cols.forEach(function(cl){s+=txt(cx+6,y+17,cl[0],11,{w:800,fill:'#fff'});cx+=cl[1]*sc;});y+=26;\n  var tot=0;PAR.forEach(function(d,i){var p=d.p.map(function(v){return ready?v-0.4:v;});tot+=d.r;\n    s+=rect(b.x,y,b.w,rh,i%2?'#f3f3f3':'#fff','#bbb',0.8);var cx2=b.x;\n    s+=txt(cx2+6,y+18,(i+1)+'. '+d.n+'  (target '+d.t+')',13,{w:800});var pp=para(cx2+6,y+35,(ready&&d.dr?d.x.replace('Draw,','From low ready,'):d.x),11,cols[0][1]*sc-12,{fill:'#333'});s+=pp.svg;cx2+=cols[0][1]*sc;\n    s+=txt(cx2+6,y+18,d.d+' yd',12)+'';cx2+=cols[1][1]*sc;s+=txt(cx2+6,y+18,d.r,12);cx2+=cols[2][1]*sc;\n    s+=txt(cx2+6,y+18,p.map(function(v){return v.toFixed(2);}).join(' / '),12,{w:700});cx2+=cols[3][1]*sc;\n    for(var k=0;k<3;k++){s+=line(cx2,y,cx2,y+rh,'#bbb',0.8);cx2+=cols[4+k][1]*sc;}\n    y+=rh;});\n  s+=rect(b.x,y,b.w,30,'#fff',K,1.2)+txt(b.x+6,y+20,'TOTAL TIME',12,{w:800})+txt(b.x+b.w*0.42,y+20,tot+' rounds per run',12,{fill:'#555'});\n  s+=txt(b.x,y+56,'Level up: beat Starter on every drill, then Solid, then Sharp. Clean (no penalties) beats fast.',12,{fill:'#333'});\n  return {title:'Par Time Drills: Drill Card',sub:'8 drills, '+tot+' rounds per run',body:s};\n }};\n\n/* ----- Limit Ladder ----- */\nfunction sizesFor(o,list){var rifle=o.mode==='rifle',d=+o.dist||100;return list.map(function(v){return rifle?v*1.047*d/100:v;});}\nT.ladder={name:'Limit Ladder',group:'Zero and Precision',best:'Pistol at 5 to 10 yd (inch sizes). Rifle at 25 to 100 yd (MOA sizes). .22s love it.',desc:'Six rows of targets that shrink as you go down. Keep hitting to climb down the ladder. Find the smallest target you can hit on demand.',\n opts:[{id:'mode',label:'Sizes for',ch:[['pistol','Pistol (inches)'],['rifle','Rifle (MOA)']],def:'pistol'},{id:'dist',label:'Rifle distance',ch:[['25','25 yd'],['50','50 yd'],['100','100 yd']],def:'100'},{id:'shape',label:'Shape',ch:[['circle','Circle'],['square','Square']],def:'circle'}],\n render:function(o,c,G){\n  var base=[2,1.5,1,0.75,0.5,0.25],sz=sizesFor(o,base),rifle=o.mode==='rifle';\n  var nb=notes(G.box,[{b:'How to Play:',t:'Start at the top of your lane. One shot per row, top to bottom. Keep going until you miss. Your score is the last row you hit (6 is perfect). Three lanes: three runs or three shooters.'}]);\n  var b=nb.box,s=nb.svg,lw=150,lanes=3,laneW=(b.w-lw)/lanes,tot=0;sz.forEach(function(v){tot+=v*100;});var gap=(b.h-30-tot)/6,y=b.y+30;\n  for(var l=0;l<lanes;l++)s+=txt(b.x+lw+laneW*(l+0.5),b.y+14,'LANE '+(l+1),13,{a:'middle',w:800});\n  sz.forEach(function(v,i){var d=v*100,cy=y+gap/2+d/2;\n    s+=txt(b.x,cy-4,'ROW '+(i+1),14,{w:900})+txt(b.x,cy+13,rifle?base[i]+' MOA ('+fmt(v,2)+' in)':base[i]+' in',11,{fill:'#555'});\n    for(var l2=0;l2<lanes;l2++){var cx=b.x+lw+laneW*(l2+0.5);s+=o.shape==='square'?rect(cx-d/2,cy-d/2,d,d,c.save?'#fff':c.A,c.save?c.A:null,c.save?3:0):(c.save?circ(cx,cy,d/2,'#fff',c.A,3):circ(cx,cy,d/2,c.A));}\n    s+=line(b.x,y+gap+d,b.x+b.w,y+gap+d,'#ddd',1);y+=gap+d;});\n  for(var l3=1;l3<lanes;l3++)s+=line(b.x+lw+laneW*l3,b.y,b.x+lw+laneW*l3,b.y+b.h,'#ccc',1,'6 6');\n  return {pages:[{title:'Limit Ladder',sub:rifle?'MOA sizes at '+o.dist+' yards':'Inch sizes: 2 in down to 1/4 in'}],bodies:[s]};\n }};\n\n/* ----- Call Your Shot ----- */\nT.callshot={name:'Call Your Shot',group:'Zero and Precision',best:'Pistol at 5 to 7 yd. Rifle at 50 to 100 yd. 1 or more players.',desc:'Five rounds. Before each shot, call how many points you are going for. Hit it and you gain them. Miss it and you lose them. Play it safe or go big.',\n opts:[{id:'mode',label:'Sizes for',ch:[['pistol','Pistol (inches)'],['rifle','Rifle (MOA)']],def:'pistol'},{id:'dist',label:'Rifle distance',ch:[['50','50 yd'],['100','100 yd']],def:'100'}],\n render:function(o,c,G){\n  var rifle=o.mode==='rifle',base=rifle?[1,0.75,0.5,0.25]:[1.25,0.85,0.5,0.25],sz=sizesFor(o,base),pts=[1,2,3,5];\n  var nb=notes(G.box,[{b:'How to Play:',t:'Before each shot, call your target out loud: 1, 2, 3 or 5 points. Hit what you called: add the points. Miss it, even if you hit a different one: subtract them. One shot per row, five rows. Best total wins.'}]);\n  var b=nb.box,s=nb.svg,rh=b.h/5,xs=[b.x+120,b.x+290,b.x+430,b.x+540];\n  for(var r=0;r<5;r++){var cy=b.y+r*rh+rh/2-6;s+=txt(b.x,cy+5,'SHOT '+(r+1),15,{w:900});\n    sz.forEach(function(v,i){var d=v*100;s+=c.save?circ(xs[i],cy,d/2,'#fff',c.A,3):circ(xs[i],cy,d/2,c.A);s+=txt(xs[i],cy+Math.max(d/2,10)+16,pts[i]+(pts[i]>1?' pts':' pt')+' ('+(rifle?base[i]+' MOA':base[i]+' in')+')',10.5,{a:'middle',fill:'#444',w:700});});\n    var fx=b.x+b.w-170;s+=txt(fx,cy-16,'Called ____',12)+txt(fx,cy+4,'Hit?  Y   N',12)+txt(fx,cy+24,'Score  +/- ____',12);\n    if(r<4)s+=line(b.x,b.y+(r+1)*rh,b.x+b.w,b.y+(r+1)*rh,'#ddd',1);}\n  return {pages:[{title:'Call Your Shot',sub:'Risk it for points. '+(rifle?'MOA sizes at '+o.dist+' yards.':'Inch sizes for pistol.')}],bodies:[s]};\n }};\n\n/* ----- Range Golf ----- */\nvar PARS=[4,4,3,5,4,3,4,5,4];\nT.golf={name:'Range Golf',group:'Range Games',game:1,sheet:1,random:1,best:'Any handgun or .22, 5 to 15 yd. 1 to 4 players.',desc:'Nine holes on one sheet. Shoot until you hit the cup and count every shot. Bunkers and water add strokes. Shuffle for a new course.',\n opts:[{id:'diff',label:'Course',ch:[['easy','Easy'],['normal','Normal'],['hard','Hard']],def:'normal'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'Every shot is a stroke. Shoot at the cup until a hit touches it, then move to the next hole. A hit in a bunker adds 1 stroke; water adds 2. Tape or mark hits at each cease-fire. Lowest total wins. Par 36.'}]);\n  var b=nb.box,s=nb.svg,cs=cells(b,3,3,14),mult={easy:1.3,normal:1,hard:0.72}[o.diff],cup={3:0.75,4:0.5,5:0.35};\n  var pars=shuffle(PARS,r);\n  cs.forEach(function(cl,i){var par=pars[i],gR=Math.min(cl.w,cl.h)*0.27,cx=cl.cx,cy=cl.cy+10;\n    s+=rect(cl.x,cl.y,cl.w,cl.h,'none','#cfcfcf',1,8);\n    s+=txt(cl.x+8,cl.y+20,'HOLE '+(i+1),13,{w:900})+txt(cl.x+cl.w-8,cl.y+20,'PAR '+par,13,{a:'end',w:800,fill:'#555'});\n    var ang=r()*Math.PI*2,bx=cx+Math.cos(ang)*(gR+30),byy=cy+Math.sin(ang)*(gR+30);bx=Math.max(cl.x+48,Math.min(cl.x+cl.w-48,bx));byy=Math.max(cl.y+50,Math.min(cl.y+cl.h-30,byy));\n    var wat=par===5||(par===4&&r()<0.4);\n    if(wat){var a2=ang+Math.PI*(0.8+r()*0.4),wx=cx+Math.cos(a2)*(gR+34),wy=cy+Math.sin(a2)*(gR+30);wx=Math.max(cl.x+52,Math.min(cl.x+cl.w-52,wx));wy=Math.max(cl.y+50,Math.min(cl.y+cl.h-28,wy));\n      s+='<ellipse cx=\"'+n(wx)+'\" cy=\"'+n(wy)+'\" rx=\"44\" ry=\"22\" fill=\"'+(c.save?'#fff':'#cfe3f7')+'\" stroke=\"#1D5FBF\" stroke-width=\"2\"/>'+txt(wx,wy,'WATER +2',9,{a:'middle',mid:1,w:800,fill:'#1D5FBF'});}\n    s+=circ(cx,cy,gR,c.save?'#fff':'#dcefdc',GREEN,2.5);\n    s+='<ellipse cx=\"'+n(bx)+'\" cy=\"'+n(byy)+'\" rx=\"40\" ry=\"20\" fill=\"'+(c.save?'#fff':'#f3e3bf')+'\" stroke=\"#a8844a\" stroke-width=\"2\" stroke-dasharray=\"4 3\"/>'+txt(bx,byy,'BUNKER +1',9,{a:'middle',mid:1,w:800,fill:'#7a5a26'});\n    var cr=cup[par]*mult*50;s+=c.save?circ(cx,cy,cr,'#fff',K,3):circ(cx,cy,cr,K);\n    s+=line(cx+cr*0.7,cy-cr*0.7,cx+cr*0.7,cy-cr-38,K,1.5)+poly([[cx+cr*0.7,cy-cr-38],[cx+cr*0.7+22,cy-cr-31],[cx+cr*0.7,cy-cr-24]],c.A);\n  });\n  return {pages:[{title:'Range Golf',sub:'9 holes, par 36. '+{easy:'Easy',normal:'Normal',hard:'Hard'}[o.diff]+' course.'}],bodies:[s],pars:pars};\n },\n tracker:function(o,c,G,r){\n  var pars=shuffle(PARS,r),b=G.box,s='',cw=(b.w-170-70)/9,rh=56,y=b.y+20;\n  s+=txt(b.x,b.y+10,'SCORECARD',16,{w:900});y=b.y+30;\n  var rows=['HOLE','PAR','Player 1 ________','Player 2 ________','Player 3 ________','Player 4 ________'];\n  rows.forEach(function(rw,i){s+=rect(b.x,y,b.w,rh,i===0?K:(i===1?'#eee':'#fff'),'#999',1);s+=txt(b.x+8,y+rh/2+5,rw,i<2?13:12,{w:800,fill:i===0?'#fff':K});\n    for(var h=0;h<9;h++){var x=b.x+170+h*cw;s+=line(x,y,x,y+rh,'#999',1);if(i===0)s+=txt(x+cw/2,y+rh/2+5,h+1,14,{a:'middle',w:800,fill:'#fff'});if(i===1)s+=txt(x+cw/2,y+rh/2+5,pars[h],14,{a:'middle',w:800});}\n    var tx=b.x+170+9*cw;s+=line(tx,y,tx,y+rh,K,1.5);if(i===0)s+=txt(tx+35,y+rh/2+5,'TOTAL',11,{a:'middle',w:800,fill:'#fff'});if(i===1)s+=txt(tx+35,y+rh/2+5,'36',14,{a:'middle',w:800});y+=rh;});\n  s+=txt(b.x,y+36,'Birdie = 1 under par. Eagle = 2 under. Ace = cup on the first shot.',13,{fill:'#333'});\n  return {title:'Range Golf Scorecard',sub:'9 holes, up to 4 players',body:s};\n }};\n\n/* ----- O.D.I.N. call and match ----- */\nvar CALLS=['Strong hand only','Support hand only','From the holster (if your range allows)','From low ready','After a reload','Two shots, same target','Two different targets','Shoot from 2 yards farther back','One shot, 2 second limit','Kneeling (if your range allows)','Smallest target on the sheet','Shooter\\'s choice'];\nT.odin={name:'O.D.I.N. (Call and Match)',group:'Range Games',game:1,sheet:1,random:1,best:'Any handgun or .22, 5 to 10 yd. 2 to 6 players.',desc:'Like H.O.R.S.E. on the basketball court. One player calls a shot and makes it. Everyone else has to match it or earn a letter. Spell ODIN and you are out.',\n opts:[{id:'mix',label:'Target sizes',ch:[['big','Bigger'],['mixed','Mixed'],['small','Smaller']],def:'mixed'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'The caller picks a target number and a challenge from the call list, then shoots. If it hits, every other player must match the same shot. Miss a match and earn a letter: O, then D, I, N. Spell ODIN and you are out. If the caller misses, the next player calls. Tape or mark hits at each cease-fire.'}]);\n  var b=nb.box,s=nb.svg,cs=cells(b,4,5,8),kinds=['circle','square','triangle','diamond'],sizes={big:[1.25,1.5,1.75],mixed:[0.6,0.9,1.25,1.6],small:[0.5,0.75,1]}[o.mix];\n  cs.forEach(function(cl,i){var kd=kinds[Math.floor(r()*4)],sz=sizes[Math.floor(r()*sizes.length)]*100;s+=solidShape(kd,cl.cx,cl.cy+6,sz,c);s+=txt(cl.x+4,cl.y+18,i+1,16,{w:900,fill:'#555'});});\n  return {pages:[{title:'O.D.I.N.',sub:'Call it, make it, make them match it. 20 targets.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',y=b.y+10;s+=txt(b.x,y+8,'LETTERS',16,{w:900});y+=26;\n  for(var p=0;p<6;p++){s+=txt(b.x,y+30,'Player '+(p+1)+' ______________',13,{w:700});'ODIN'.split('').forEach(function(L,i){var x=b.x+230+i*70;s+=rect(x,y+6,56,40,'#fff',K,1.5,6)+txt(x+28,y+27,L,22,{a:'middle',mid:1,w:900,fill:'#d4d4d4'});});s+=txt(b.x+530,y+30,'Out? ____',12,{fill:'#555'});y+=56;}\n  y+=16;s+=txt(b.x,y,'CALL LIST',16,{w:900});y+=10;\n  var cs2=cells({x:b.x,y:y,w:b.w,h:30*6},2,6,20,0);CALLS.forEach(function(cl,i){s+=txt(cs2[i].x,cs2[i].y+22,(i+1)+'. '+cl,13,{fill:'#222'});});\n  s+=txt(b.x,y+30*6+30,'Combine two calls for a harder shot, like \"Target 7, support hand, after a reload.\" Change distance only with the gun holstered or benched.',12,{fill:'#555'});\n  return {title:'O.D.I.N. Score Sheet',sub:'Letters and call list',body:s};\n }};\n\n/* ----- Mystery Box ----- */\nfunction mysteryVals(r){return shuffle(['10','8','8','6','6','5','5','4','4','3','3','2','2','x2','x2','BUST','BUST','STEAL 5','FREE SHOT','-5'],r);}\nT.mystery={name:'Mystery Box',group:'Range Games',game:1,sheet:1,always:1,random:1,best:'Any handgun or .22, 5 to 10 yd. 2 or more players plus a caller.',desc:'Twenty numbered boxes with secret prizes. Only the caller sees the key page. Shuffle prints a new secret key.',\n opts:[{id:'size',label:'Box size',ch:[['1','1 in'],['1.25','1.25 in'],['1.5','1.5 in']],def:'1.25'}],\n render:function(o,c,G){\n  var nb=notes(G.box,[{b:'How to Play:',t:'The caller keeps the key page (page 2) out of sight. Each player gets 5 shots. Hit a box and the caller reads what is inside. x2 doubles your score so far. BUST drops you to 0. STEAL 5 takes 5 points from any player. FREE SHOT: shoot again. A box that was already hit is empty. Tape or mark hits at each cease-fire.'}]);\n  var b=nb.box,s=nb.svg,cs=cells(b,4,5,10),d=+o.size*100;\n  cs.forEach(function(cl,i){s+=rect(cl.cx-d/2,cl.cy-d/2,d,d,c.save?'#fff':c.A,c.save?c.A:null,c.save?4:0,6);s+=txt(cl.cx,cl.cy+2,'?',d*0.55,{a:'middle',mid:1,w:900,fill:c.save?c.A:'#fff'});s+=txt(cl.cx-d/2-6,cl.cy-d/2+12,i+1,15,{a:'end',w:900,fill:'#444'});});\n  return {pages:[{title:'Mystery Box',sub:'20 boxes. Secret prizes on the caller\\'s key page.'}],bodies:[s]};\n },\n tracker:function(o,c,G,r){\n  var vals=mysteryVals(rng(S.seed+991)),b=G.box,s='';\n  s+=rect(b.x,b.y,b.w,30,K)+txt(b.x+b.w/2,b.y+20,'CALLER ONLY: KEEP THIS PAGE HIDDEN',14,{a:'middle',w:900,fill:'#fff',ls:1});\n  var cs=cells({x:b.x,y:b.y+44,w:b.w,h:400},4,5,8);\n  cs.forEach(function(cl,i){var v=vals[i],bad=v==='BUST'||v==='-5';s+=rect(cl.x,cl.y,cl.w,cl.h,bad?'#fde8e8':'#f4f4f4','#999',1,6)+txt(cl.x+8,cl.y+18,'Box '+(i+1),11,{w:700,fill:'#666'})+txt(cl.cx,cl.cy+8,v,v.length>3?17:26,{a:'middle',mid:1,w:900,fill:bad?RED:K});});\n  var y=b.y+470;s+=line(b.x,y,b.x+b.w,y,K,1.5,'10 6')+txt(b.x+b.w/2,y-6,'fold here',10,{a:'middle',fill:'#777'});\n  y+=26;s+=txt(b.x,y,'SCORES',15,{w:900});y+=12;var cw=(b.w-180)/6;\n  ['Player','Shot 1','Shot 2','Shot 3','Shot 4','Shot 5','Total'].forEach(function(hd,i){var x=i===0?b.x:b.x+180+(i-1)*cw;s+=txt(x+6,y+18,hd,12,{w:800});});y+=26;\n  for(var p=0;p<5;p++){s+=rect(b.x,y,b.w,40,'#fff','#bbb',1);for(var k=0;k<6;k++)s+=line(b.x+180+k*cw,y,b.x+180+k*cw,y+40,'#bbb',1);y+=40;}\n  return {title:'Mystery Box Key',sub:'Matches this printout only. Shuffle makes a new key.',body:s};\n }};\n\n/* ----- Word Hunt ----- */\nT.wordhunt={name:'Word Hunt',group:'Range Games',game:1,sheet:1,random:1,best:'Any handgun or .22, 5 to 10 yd. 2 or more players.',desc:'A letter board like hangman. A partner picks a secret word. Shoot letters to guess it before you get 6 strikes.',\n opts:[{id:'order',label:'Letter order',ch:[['abc','A to Z'],['mix','Shuffled']],def:'abc'}],\n render:function(o,c,G,r){\n  var nb=notes(G.box,[{b:'How to Play:',t:'A partner secretly picks a word or phrase and writes blanks on the score sheet. Hit a letter to guess it. In the word: the partner fills it in. Not in the word, or a miss: 1 strike. VOWEL: the partner shows one vowel. ERASE: remove a strike. Solve it before 6 strikes. Cross used letters off on the score sheet.'}]);\n  var b=nb.box,s=nb.svg,L='ABCDEFGHIJKLMNOPQRSTUVWXYZ'.split('');if(o.order==='mix')L=shuffle(L,r);L=L.concat(['VOWEL','ERASE']);\n  var cs=cells(b,6,5,10),fill=c.save?'#fff':c.A;\n  L.forEach(function(l,i){var cl=cs[i<24?i:i+1],d=Math.min(cl.w,cl.h)*0.86;s+=rect(cl.cx-d/2,cl.cy-d/2,d,d,fill,c.save?c.A:null,c.save?4:0,10)+txt(cl.cx,cl.cy+3,l,l.length>1?d*0.2:d*0.62,{a:'middle',mid:1,w:900,fill:c.save?c.A:'#fff'});});\n  return {pages:[{title:'Word Hunt',sub:'Shoot the letters. Solve the word before 6 strikes.'}],bodies:[s]};\n },\n tracker:function(o,c,G){\n  var b=G.box,s='',rh=b.h/4;\n  for(var g=0;g<4;g++){var y=b.y+g*rh;s+=txt(b.x,y+20,'ROUND '+(g+1)+'   Shooter ______________   Word picked by ______________',13,{w:800});\n    s+=txt(b.x,y+60,'_  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _  _',22,{fill:'#333'});\n    s+=txt(b.x,y+100,'Strikes:',13,{w:700});for(var k=0;k<6;k++)s+=rect(b.x+70+k*34,y+84,26,26,'#fff',K,1.5,4);\n    s+=txt(b.x+300,y+100,'Used: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z',11.5,{fill:'#666'});\n    if(g<3)s+=line(b.x,y+rh-10,b.x+b.w,y+rh-10,'#ddd',1);}\n  return {title:'Word Hunt Score Sheet',sub:'4 rounds',body:s};\n }};\n\nvar ORDER=['dot','pardrills','circles','bull','torso','shapes','rzero','pzero','lzero','group','ladder','callshot','odin','golf','mystery','battleship','wordhunt','ttt','connect4','poker','darts','billiards','bingo'];\nvar PICKS=[\n {id:'carry',g:1,label:'Carry Handgun',ids:['pardrills','dot','circles','shapes','torso','lzero'],tip:'Most defensive shooting happens close. Train at 3 to 10 yards, draw from your holster where your range allows it, and run Par Time Drills to track progress.'},\n {id:'reddot',g:1,label:'Red Dot Pistol',ids:['pzero','pardrills','dot','ladder'],tip:'Zero on the Red Dot Pistol Zero sheet, then prove it with Par Time Drills and the Limit Ladder.'},\n {id:'rimfire',g:1,label:'.22 Rimfire',ids:['ladder','callshot','golf','mystery','bull'],tip:'Cheap rounds and small, clean holes. Perfect for the Limit Ladder, Range Golf and every game.'},\n {id:'ar',g:1,label:'AR-15 or Carbine',ids:['rzero','group','ladder','callshot'],tip:'Zero at 25 yards with the box for your 50/200 or 100 yard zero, confirm at distance, then test groups and push the Limit Ladder.'},\n {id:'hunt',g:1,label:'Hunting Rifle',ids:['rzero','group','callshot'],tip:'Set Rifle Zero to 100 yards with MOA squares so you can count squares and dial, then test your hunting ammo.'},\n {id:'new',g:2,label:'New Shooter',ids:['circles','bull','ttt','golf','dot'],tip:'Start close (3 to 5 yards) with big targets: 4 to 6 inch circles or one large bullseye. Slow, careful shots first; speed comes later. New shooters should have an experienced shooter right beside them.'},\n {id:'indoor',g:2,label:'Indoor Range (No Drawing)',ids:['pardrills','dot','circles','ladder','callshot'],tip:'Many indoor ranges do not allow drawing from the holster. Set Par Time Drills and the Dot Drill to low ready and work from the bench.'},\n {id:'fun',g:2,label:'Range Games',ids:['odin','golf','mystery','battleship','wordhunt','ttt','connect4','poker','darts','billiards','bingo'],tip:'Grab a friend, a marker or masking tape, and the score sheet. Games work best with handguns or .22s at 5 to 10 yards.'}\n];\n\n/* ---------- state ---------- */\nvar S={t:'dot',paper:'letter',color:'black',save:false,title:'',sheet:true,seed:(Date.now()%100000)+7,opts:{},pick:null};\nfunction opt(t){if(!S.opts[t]){S.opts[t]={};T[t].opts.forEach(function(d){S.opts[t][d.id]=d.def;});}return S.opts[t];}\nfunction ctx(){var a=COLORS.filter(function(x){return x[0]===S.color;})[0][2];return {A:a,save:S.save};}\n\nfunction build(){\n  var t=T[S.t],o=opt(S.t),c=ctx(),land=typeof t.land==='function'?t.land(o):!!t.land,G=geom(S.paper,land);clipN=0;\n  var res=t.render(o,c,G,rng(S.seed)),pages=[];\n  res.pages.forEach(function(p,i){pages.push({G:G,label:p.label||'Target',inner:frame(G,S.title||p.title,p.sub,res.bodies[i],t.game?GF:null,t.game)});});\n  if(t.tracker&&(t.always||S.sheet)){var tr=t.tracker(o,c,G,rng(S.seed));if(tr)[].concat(tr).forEach(function(q){pages.push({G:G,label:q.label||'Score Sheet',inner:frame(G,q.title,q.sub,q.body,t.game?GF:null,t.game)});});}\n  return {pages:pages,warn:res.warn||'',land:land};\n}\n\n/* ---------- UI ---------- */\nvar $=function(id){return document.getElementById(id);};\nvar SMALL={a:1,an:1,and:1,as:1,at:1,but:1,by:1,for:1,'in':1,of:1,on:1,or:1,per:1,the:1,to:1,vs:1,'with':1,yd:1,pt:1,pts:1,x:1};\nvar UNITS={yd:1,'in':1,pt:1,pts:1,x:1,gr:1};\nfunction tc(str){var ws=String(str).split(' ');return ws.map(function(w,i){return w.split('-').map(function(part,j){var m=part.match(/^([^A-Za-z0-9]*)([a-z])(.*)$/);if(!m)return part;var core=(m[2]+m[3]).replace(/[^A-Za-z]+$/,'').toLowerCase();if(UNITS[core]&&i>0)return part;var first=i===0&&j===0,last=i===ws.length-1;if(!first&&!last&&SMALL[core]&&!m[1])return part;return m[1]+m[2].toUpperCase()+m[3];}).join('-');}).join(' ');}\nfunction segHTML(id,label,ch,val,swatch){label=tc(label);ch=ch.map(function(x){return [x[0],tc(x[1]),x[2]];});\n  return '<div class=\"odt-field\"><span class=\"odt-lbl\" id=\"odt-l-'+id+'\">'+label+'</span><div class=\"odt-seg\" role=\"group\" aria-labelledby=\"odt-l-'+id+'\">'+ch.map(function(x){return '<button type=\"button\" data-k=\"'+id+'\" data-v=\"'+x[0]+'\" aria-pressed=\"'+(x[0]===val)+'\">'+(swatch?'<span class=\"odt-sw\" style=\"background:'+x[2]+'\"></span>':'')+x[1]+'</button>';}).join('')+'</div></div>';\n}\nfunction selHTML(id,label,ch,val){label=tc(label);ch=ch.map(function(x){return [x[0],tc(x[1])];});return '<div class=\"odt-field\"><label class=\"odt-lbl\" for=\"odt-s-'+id+'\">'+label+'</label><select id=\"odt-s-'+id+'\" data-k=\"'+id+'\">'+ch.map(function(x){return '<option value=\"'+x[0]+'\"'+(x[0]===val?' selected':'')+'>'+x[1]+'</option>';}).join('')+'</select></div>';}\n\nfunction renderControls(){\n  var t=T[S.t],o=opt(S.t);\n  $('odt-best').innerHTML='<b>Best For</b>'+esc(t.best)+'<p>'+esc(t.desc)+'</p>';\n  $('odt-opts').innerHTML=t.opts.filter(function(d){return !d.show||d.show(o);}).map(function(d){var h=d.type==='select'?selHTML(d.id,d.label,d.ch,o[d.id]):segHTML(d.id,d.label,d.ch,o[d.id]);return d.hint?h.replace(/<\\/div>$/,'<p class=\"odt-hint\">'+esc(d.hint)+'</p></div>'):h;}).join('')+'<p class=\"odt-warn\" id=\"odt-warn\"></p>';\n  var h=segHTML('paper','Paper',[['letter','Letter (US)'],['a4','A4']],S.paper)+segHTML('color','Ink Color',COLORS.map(function(x){return [x[0],x[1],x[2]];}),S.color,true);\n  h+='<div class=\"odt-field\"><label class=\"odt-check\"><input type=\"checkbox\" id=\"odt-save\"'+(S.save?' checked':'')+'> <span>Ink Saver (Outlines Instead of Solid Fills)</span></label></div>';\n  if(t.tracker&&!t.always)h+='<div class=\"odt-field\"><label class=\"odt-check\"><input type=\"checkbox\" id=\"odt-sheet\"'+(S.sheet?' checked':'')+'> <span>Include the Score Sheet Page</span></label></div>';\n  h+='<div class=\"odt-field\"><label class=\"odt-lbl\" for=\"odt-title-in\">Custom Title (Optional)</label><input type=\"text\" id=\"odt-title-in\" maxlength=\"40\" placeholder=\"'+esc(t.name)+'\" value=\"'+esc(S.title)+'\"></div>';\n  $('odt-common').innerHTML=h;\n  $('odt-shuffle').hidden=!t.random;\n  var sel=$('odt-target');if(sel.value!==S.t)sel.value=S.t;\n  renderRecs();\n}\nfunction renderPreview(){\n  var b=build(),wrap=$('odt-pages');\n  wrap.className='odt-pages'+(b.pages.length===1?(b.land?' is-land':' is-one'):(b.land?' is-land':''));\n  wrap.innerHTML=b.pages.map(function(p,i){return '<div class=\"odt-pg\"><div class=\"odt-pg-l\">Page '+(i+1)+': '+p.label+'</div>'+svgDoc(p.G,p.inner,false)+'</div>';}).join('');\n  $('odt-pv-name').textContent=T[S.t].name;\n  $('odt-pv-meta').textContent=PAPERS[S.paper].name+(b.land?' landscape':' portrait')+', '+b.pages.length+(b.pages.length>1?' pages':' page');\n  var w=$('odt-warn');if(w)w.textContent=b.warn;\n}\nfunction renderRecs(){\n  var p=PICKS.filter(function(x){return x.id===S.pick;})[0];\n  $('odt-tip').textContent=p?p.tip:'';\n  $('odt-recs').innerHTML=p?p.ids.map(function(id){return '<button type=\"button\" class=\"odt-rec'+(id===S.t?' is-on':'')+'\" data-t=\"'+id+'\">'+esc(T[id].name)+'</button>';}).join(''):'';\n  Array.prototype.forEach.call(app.querySelectorAll('.odt-chip'),function(b){b.setAttribute('aria-pressed',String(b.getAttribute('data-p')===S.pick));});\n}\nfunction setTarget(id){S.t=id;S.title='';renderControls();renderPreview();}\n\n(function init(){\n  var groups={},sel=$('odt-target'),h='';\n  ORDER.forEach(function(id){var g=T[id].group;(groups[g]=groups[g]||[]).push(id);});\n  Object.keys(groups).forEach(function(g){h+='<optgroup label=\"'+g+'\">'+groups[g].map(function(id){return '<option value=\"'+id+'\">'+T[id].name+'</option>';}).join('')+'</optgroup>';});\n  sel.innerHTML=h;\n  function chipH(g){return PICKS.filter(function(p){return p.g===g;}).map(function(p){return '<button type=\"button\" class=\"odt-chip\" data-p=\"'+p.id+'\" aria-pressed=\"false\">'+esc(p.label)+'</button>';}).join('');}\n  $('odt-chips').innerHTML=chipH(1);$('odt-chips2').innerHTML=chipH(2);\n  sel.addEventListener('change',function(){setTarget(sel.value);});\n  app.querySelector('.odt-pick').addEventListener('click',function(e){if(e.target.closest('.odt-recs'))return;var b=e.target.closest('[data-p]');if(!b)return;var id=b.getAttribute('data-p');S.pick=S.pick===id?null:id;var p=PICKS.filter(function(x){return x.id===S.pick;})[0];if(p)setTarget(p.ids[0]);else renderRecs();});\n  $('odt-recs').addEventListener('click',function(e){var b=e.target.closest('[data-t]');if(b)setTarget(b.getAttribute('data-t'));});\n  app.querySelector('.odt-panel').addEventListener('click',function(e){var b=e.target.closest('button[data-k]');if(!b)return;var k=b.getAttribute('data-k'),v=b.getAttribute('data-v');\n    if(k==='paper')S.paper=v;else if(k==='color')S.color=v;else opt(S.t)[k]=v;\n    Array.prototype.forEach.call(b.parentNode.children,function(x){x.setAttribute('aria-pressed',String(x===b));});if(T[S.t].opts.some(function(d){return d.show;}))renderControls();renderPreview();});\n  app.querySelector('.odt-panel').addEventListener('change',function(e){var el=e.target;\n    if(el.id==='odt-save')S.save=el.checked;else if(el.id==='odt-sheet')S.sheet=el.checked;else if(el.tagName==='SELECT'&&el.getAttribute('data-k')){opt(S.t)[el.getAttribute('data-k')]=el.value;if(T[S.t].opts.some(function(d){return d.show;}))renderControls();}else return;renderPreview();});\n  app.querySelector('.odt-panel').addEventListener('input',function(e){if(e.target.id==='odt-title-in'){S.title=e.target.value;renderPreview();}});\n  $('odt-shuffle').addEventListener('click',function(){S.seed=(S.seed*7919+104729)%2147483647;renderPreview();});\n  $('odt-print-btn').addEventListener('click',doPrint);\n  window.addEventListener('afterprint',function(){document.documentElement.classList.remove('odt-printing');});\n  setTarget('dot');\n})();\n\nfunction doPrint(){\n  var b=build(),host=document.getElementById('odt-print');\n  if(!host){host=document.createElement('div');host.id='odt-print';document.body.appendChild(host);}\n  var G=b.pages[0].G,wIn=(G.W/100).toFixed(3),hIn=(G.H/100).toFixed(3);\n  host.innerHTML=b.pages.map(function(p){return '<div class=\"odt-sheet\" style=\"width:'+wIn+'in;height:'+(G.H/100-0.03).toFixed(3)+'in\">'+svgDoc(p.G,p.inner,true)+'</div>';}).join('');\n  var ps=document.getElementById('odt-page-style');if(!ps){ps=document.createElement('style');ps.id='odt-page-style';document.head.appendChild(ps);}\n  ps.textContent='@media print{@page{size:'+wIn+'in '+hIn+'in;margin:0}}';\n  document.documentElement.classList.add('odt-printing');\n  setTimeout(function(){window.print();},60);\n}\n})();\n"],
  "mappings": "CAAC,UAAU,CACX,aACA,IAAI,IAAI,SAAS,eAAe,SAAS,EACzC,GAAG,CAAC,KAAK,IAAI,aAAa,YAAY,EAAE,OACxC,IAAI,aAAa,aAAa,GAAG,EAEjC,IAAI,KAAK,qunBACL,EAAE,UAAU,IAAI,UAAU,MAAM,UAAU,EAAE,GAC5C,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,KAAK,QAAQ,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC,EAC3E,OAAO,CAAC,CAAC,QAAQ,QAAQ,SAAS,EAAE,CAAC,MAAM,MAAM,SAAS,EAAE,CAAC,SAAS,eAAe,SAAS,EAAE,CAAC,QAAQ,QAAQ,SAAS,EAAE,CAAC,OAAO,OAAO,SAAS,CAAC,EAGzJ,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,EAAE,EAAE,EAAG,CACzC,SAAS,IAAI,EAAE,CAAC,OAAO,OAAO,CAAC,EAAE,QAAQ,UAAU,SAAS,EAAE,CAAC,MAAO,CAAC,IAAI,QAAQ,IAAI,OAAO,IAAI,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAE,CAAC,CAAE,CAC7H,SAAS,GAAG,OAAO,GAAG,KAAK,CAAC,OAAO,OAAO,YAAY,OAAO,oBAAoB,IAAI,GAAG,KAAK,KAAK,sBAAsB,KAAK,IAAI,IAAI,EAAG,CACxI,SAAS,KAAK,GAAG,GAAG,EAAE,KAAK,OAAO,GAAG,CAAC,MAAO,eAAe,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,YAAY,MAAM,QAAQ,IAAI,GAAG,OAAO,EAAE,EAAE,IAAK,CAC3J,SAAS,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,OAAO,GAAG,GAAG,KAAK,CAAC,MAAO,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,IAAI,WAAW,MAAM,QAAQ,IAAI,GAAG,OAAO,GAAG,IAAI,EAAE,IAAK,CACtM,SAAS,KAAK,GAAG,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC,MAAO,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAK,CACnJ,SAAS,KAAK,IAAI,KAAK,OAAO,GAAG,CAAC,MAAO,oBAAoB,IAAI,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,GAAG,EAAE,YAAY,MAAM,QAAQ,IAAI,GAAG,OAAO,EAAE,EAAE,4BAA6B,CAClM,SAAS,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,SAAE,GAAG,CAAC,EAAS,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,IAAI,KAAK,EAAE,EAAE,iBAAiB,EAAE,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,oBAAoB,EAAE,GAAG,IAAI,KAAK,EAAE,IAAI,+BAA+B,KAAK,EAAE,GAAG,eAAe,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,SAAU,CACrU,SAAS,KAAK,EAAE,KAAK,KAAK,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,KAAK,IAAK,aAAM,QAAQ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,EAAK,EAAE,OAAO,GAAG,MAAM,KAAK,IAAI,KAAK,GAAG,EAAE,IAAI,GAAQ,IAAI,CAAE,CAAC,EAAK,KAAI,IAAI,KAAK,GAAG,EAAS,GAAI,CAClO,SAAS,KAAK,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,GAAG,UAAG,QAAQ,SAAS,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,CAAC,CAAE,CAAC,EAAS,CAAC,IAAI,IAAI,EAAE,GAAG,OAAO,KAAK,GAAG,CAAE,CACrK,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,QAAQ,IAAI,EAAE,EAAM,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,GAAG,CAAE,CAAC,MAAO,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAI,CACrO,SAAS,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,EAAE,SAAE,EAAE,KAAK,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAU,EAAE,IAAI,MAAM,GAAG,UAAW,CAAE,CAC1K,SAAS,QAAQ,IAAI,EAAE,CAAC,IAAI,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,EAAE,EAAM,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,CAAE,CAAC,OAAO,GAAI,CACpJ,SAAS,MAAM,EAAE,KAAK,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,OAAU,GAAG,GAAkE,QAA3D,IAAI,EAAE,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,EAAE,IAAI,KAAK,IAAI,KAAK,IAAI,CAAC,EAAU,EAAE,EAAE,EAAE,KAAK,IAAI,QAAQ,EAAE,EAAE,EAAE,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAE,CAAC,OAAO,GAAI,CAE3R,SAAS,MAAM,EAAE,MAAM,KAAK,CAAC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,QAAQ,SAAS,GAAG,CAAC,IAAI,EAAE,OAAO,IAAK,SAAS,CAAC,EAAE,EAAE,EAAE,GAAO,GAAG,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,KAAK,IAAI,CAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,cAAO,QAAQ,SAAS,GAAG,CAAC,GAAG,GAAG,QAAQ,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,KAAK,EAAE,OAAO,GAAG,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,gBAAgB,KAAK,WAAW,EAAE,8BAA8B,GAAG,EAAE,WAAW,KAAK,SAAU,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,KAAK,GAAI,CAAC,EAAE,GAAG,CAAE,CAAC,EAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAE,CACnlB,SAAS,QAAQ,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,EAAE,IAAI,IAAI,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,KAAK,MAAM,CAAC,CAAE,CAGpH,SAAS,KAAK,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,KAAK,EAAM,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAO,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,CAAC,CAAE,CACrI,IAAI,MAAM,kIACN,MAAM,4IACN,OAAO,qIACX,SAAS,MAAM,EAAE,MAAM,IAAI,KAAK,OAAO,KAAK,CAC1C,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EACrC,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,EAAG,CAAC,EACxC,GAAG,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,EACtC,IAAI,EAAE,QAAQ,CAAC,wBAAwB,mCAAmC,EAC1E,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EACxC,EAAE,CAAC,IAAE,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GACpD,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAC3B,IAAI,GAAG,EAAE,GACT,UAAG,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,UAAU,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAChE,GAAG,aAAa,EAAE,IAAI,SAAS,GAAG,IAAI,2BAA2B,EAAE,oDAAoD,MAAM,UAAU,IAAI,EAAE,GAAG,GAAG,GAAG,KAAK,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EACpL,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC,EAC/B,GAAG,gBAAgB,KAAK,QAAQ,EAAE,SAAS,GAAG,IAAI,6BAClD,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,gBAAgB,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,EACjD,GAAG,aAAa,EAAE,IAAI,SAAS,GAAG,IAAI,wEAAwE,EAAE,yDAChH,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,mBAAmB,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EACtD,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,oDAAoD,KAAK,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EACxF,EAAE,IACX,CACA,SAAS,OAAO,EAAE,MAAM,MAAM,CAC5B,IAAI,KAAK,MAAM,YAAY,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE,MAAM,GACzF,MAAO,wDAAwD,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,IAAI,KAAK,8FAA8F,MAAM,QAChM,CAGA,SAAS,QAAQ,GAAG,GAAG,EAAE,EAAE,OAAO,CAEhC,QADI,EAAE,GAAG,EAAE,EACH,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,IAAI,EAChD,KAAK,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,EAC7E,GAAG,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,CAAE,CAErC,GADA,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,EAAE,OAAO,GAAG,EAC/C,OACD,QADa,GAAG,KAAK,IAAI,EAAE,EAAE,GAAI,EAAE,EAC3B,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,GAAI,EAAE,KAAK,EAAE,EAAE,OAAQ,OAC9F,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,EAC7D,GAAG,IAAI,IAAI,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,CAAE,CACnE,OAAO,CACT,CACA,SAAS,UAAU,GAAG,GAAG,EAAE,EAAE,CAC3B,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAK,OAAO,EAAE,CAAC,EAC7D,UAAG,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,IAAK,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,IAAK,EAAE,CAAC,EACjE,GAAG,KAAK,GAAG,GAAG,KAAK,IAAI,EAAE,IAAK,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAC3C,CACT,CACA,SAAS,QAAQ,GAAG,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EACpE,EAAE,EAAE,KAAK,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EACxC,EAAE,EAAE,IAAK,UAAG,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAS,CAAE,CACrE,SAAS,WAAW,KAAK,GAAG,GAAG,GAAG,EAAE,CAClC,IAAI,EAAE,EAAE,KAAK,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAC9D,OAAG,OAAO,SAAgB,KAAK,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAC3C,OAAO,SAAgB,KAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAC5C,KAAzB,OAAO,WAAuB,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,EAAG,EAAE,CAAC,GAAG,EAAE,KAAK,GAAG,EAAE,EAAG,CAAC,EACzE,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAI,EAAE,CAAC,EAD2B,EAAE,GAAG,EAAE,CAEhG,CAGA,IAAI,EAAE,CAAC,EAEP,SAAS,OAAO,EAAE,CAAC,OAAO,EAAE,QAAQ,QAAQ,SAAS,IAAI,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,iCAAiC,yBAAyB,EAAE,QAAQ,UAAU,kBAAkB,CAAE,CAAC,EAAE,QAAS,CACpM,IAAI,SAAS,CAAC,sCAAsC,iDAAiD,0DAA0D,qBAAqB,6BAA6B,8BAA8B,2CAA2C,sDAAsD,2DAA2D,oBAAoB,EAC/Z,SAAS,KAAK,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,qEAAqE,CAAC,CAAC,EAC9H,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAC7F,OAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,SAAS,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,IAAI,IAAI,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,IAAK,IAAI,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAE,CAAC,EAC/G,IAAI,QAAQ,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAE,CAAC,EAC9I,CAAC,MAAM,CAAC,CAAC,MAAM,YAAY,IAAI,uBAAuB,EAAE,KAAK,0BAA0B,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAE,CAC9G,EAAE,IAAI,CAAC,KAAK,YAAY,OAAO,EAAE,MAAM,mBAAmB,KAAK,2BAA2B,KAAK,mGAC9F,KAAK,CAAC,CAAC,GAAG,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,GAAG,OAAO,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,QAAQ,MAAM,iBAAiB,GAAG,CAAC,CAAC,UAAU,kBAAkB,EAAE,CAAC,QAAQ,gBAAgB,CAAC,EAAE,IAAI,SAAS,CAAC,EACrU,OAAO,SAAS,EAAE,EAAE,EAAE,CACrB,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,MAAM,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC,EAChC,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,sEAAsE,EAAE,KAAK,iDAAiD,CAAC,CAAC,EACtK,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,GAAG,CAAC,EACrC,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GACjD,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,EACzD,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EACpC,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAK,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,GAAG,GAAG,IAAK,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,EAAE,GAAI,CAAC,EACtH,CAAC,MAAM,CAAC,CAAC,MAAM,YAAY,IAAI,uBAAuB,EAAE,KAAK,oBAAoB,EAAE,IAAI,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACpH,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EACnG,UAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,aAAa,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,sBAAsB,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAAE,GAAG,GAChM,OAAO,CAAC,EAAE,QAAQ,SAASA,IAAG,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,OAAO,OAAO,EAAG,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAEA,IAAG,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAG,CAAC,EACtP,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,sDAAsD,GAAG,CAAC,EAAE,GAAG,CAAC,EACzE,CAAC,MAAM,wBAAwB,IAAI,qBAAqB,KAAK,EAAE,MAAM,YAAY,CACzF,CAAC,EAEF,EAAE,KAAK,CAAC,KAAK,WAAW,MAAM,mBAAmB,KAAK,0EAA0E,KAAK,wGACpI,KAAK,CAAC,CAAC,GAAG,QAAQ,MAAM,qBAAqB,KAAK,SAAS,GAAG,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,UAAU,CAAC,EAAE,IAAI,GAAG,CAAC,EAC5K,OAAO,SAAS,EAAE,EAAE,EAAE,CACrB,IAAI,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EACjF,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,WAAW,EAAE,gHAAgH,EAAE,CAAC,EAAE,iBAAiB,EAAE,2GAA2G,CAAC,CAAC,EAC5R,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EACtD,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,IAAK,KAChE,GAAG,IAAI,EAAE,UAAU,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,EAC9D,IAAI,IAAE,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAAE,CAAC,EACvD,CAAC,MAAM,CAAC,CAAC,MAAM,WAAW,IAAI,MAAM,EAAE,2BAA2B,IAAI,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAC/G,CAAC,EAEF,EAAE,MAAM,CAAC,KAAK,kCAAkC,MAAM,mBAAmB,KAAK,sDAAsD,KAAK,6HACxI,KAAK,CAAC,CAAC,GAAG,QAAQ,MAAM,OAAO,KAAK,SAAS,GAAG,CAAC,CAAC,IAAI,wBAAwB,EAAE,CAAC,IAAI,wBAAwB,EAAE,CAAC,IAAI,wBAAwB,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,OAAO,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC,EAAE,IAAI,GAAG,CAAC,EAC3Q,OAAO,SAAS,EAAE,EAAE,EAAE,CACrB,IAAI,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,IAAI,GAAI,CAAC,EAAE,KAAM,IACpC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,iBAAiB,IAAI,mEAAmE,GAAG,yGAAyG,CAAC,CAAC,EACjP,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAC9E,SAAS,EAAE,IAAI,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC,MAAO,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC,CAAE,CACjF,UAAG,QAAQ,SAAS,GAAG,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,OAAO,KAAK,EAAE,EAAE,GAAI,EACjF,GAAG,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,EAAG,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAC/F,GAAG,KAAK,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EACnF,GAAG,KAAK,EAAE,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,EACvG,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,IAAI,GAAG,EACjE,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EACpE,IAAI,GAAG,KAAK,IAAI,EAAE,IAAI,CAAC,EACvB,GAAG,IAAI,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,MAAM,CAAC,EAC/D,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,MAAM,CAAC,EACnE,GAAG,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,EAAE,IAAI,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,MAAM,CAAC,CAAE,CAAC,EACjE,CAAC,MAAM,CAAC,CAAC,MAAM,kBAAkB,IAAI,KAAK,IAAI,uBAAuB,EAAE,KAAK,4BAA4B,GAAG,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACtI,CAAC,EAEF,EAAE,OAAO,CAAC,KAAK,gBAAgB,MAAM,mBAAmB,KAAK,oCAAoC,KAAK,2HAA2H,OAAO,EACvO,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,OAAO,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,EACtL,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CACvB,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,uJAAuJ,CAAC,EAAE,GAAG,gEAAgE,GAAG,CAAC,CAAC,EACxQ,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,SAAS,WAAW,SAAS,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,QAAQ,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,IAClM,MAAM,QAAQ,GAAG,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,CAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,OAAG,MAAM,SAAO,GAAG,MAAM,GAC9F,GAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,KAAK,WAAW,GAAG,IAAK,EAC7D,MAAM,QAAQ,CAAC,GAAG,GAAG,GAAG,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,EAAE,KAAK,EAAI,CAAC,EAAE,QAAQ,cAAc,wBAAwB,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAI,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,CAAC,CAAC,IAC9R,GAAG,WAAW,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAG,CAAC,EAC5H,CAAC,MAAM,CAAC,CAAC,MAAM,gBAAgB,IAAI,2EAA2E,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACnI,CAAC,EAEF,EAAE,MAAM,CAAC,KAAK,sBAAsB,MAAM,qBAAqB,KAAK,sDAAsD,KAAK,yFAC9H,KAAK,CAAC,CAAC,GAAG,QAAQ,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,OAAO,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,MAAM,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,EAC3K,OAAO,SAAS,EAAE,EAAE,EAAE,CACrB,IAAI,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAC9C,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,iBAAiB,EAAE,6NAA6N,CAAC,CAAC,EACrQ,EAAE,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,EAC7C,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,KAAK,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,KAAK,GAAG,EAAE,IAAO,KAAK,MAAI,KAAK,KAAK,MAAM,KAAK,GAAG,EAAE,IAC5H,QADmI,GAAG,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,KAC1K,EAAE,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,UAAU,EAAE,MAAM,EAAE,GAAI,EAAG,EAAE,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,UAAU,EAAE,MAAM,EAAE,GAAI,EAAG,EACvL,GAAG,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,OAAO,EAAE,GAAG,EACxC,GAAG,QAAQ,GAAG,GAAG,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,EACnC,GAAG,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,EAC/C,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,wBAAwB,GAAG,CAAC,KAAK,MAAM,CAAC,EACnE,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,oBAAoB,GAAG,CAAC,KAAK,MAAM,CAAC,CAAE,CAAC,EAC5D,CAAC,MAAM,CAAC,CAAC,MAAM,sBAAsB,IAAI,IAAI,kBAAkB,EAAE,KAAK,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACnG,CAAC,EAGF,IAAI,GAAG,CAAC,mCAAmC,mCAAmC,EAE9E,EAAE,IAAI,CAAC,KAAK,cAAc,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,KAAK,6CAA6C,KAAK,yFACnH,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,MAAM,OAAO,CAAC,EAAE,IAAI,KAAK,CAAC,EACzG,OAAO,SAAS,EAAE,EAAE,EAAE,CAGrB,QAFI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,0PAA0P,CAAC,CAAC,EAChS,EAAE,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAC3E,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,IAAK,GAAG,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC,EAAE,IAAK,GAAG,EAAE,GAAI,CAAC,EAAE,KAAM,EACxF,GAAG,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,IAAK,OAAO,EAAE,GAAG,EAC1D,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,EAAE,IAAK,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,EAAE,IAAK,EAAE,CAAC,EAC/D,GAAG,IAAI,GAAI,EAAE,EAAG,GAAG,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,SAAS,CAAC,CAAE,CAChF,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAK,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EACpG,MAAO,CAAC,MAAM,CAAC,CAAC,MAAM,cAAc,IAAI,8DAA8D,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACpH,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,kJAAkJ,CAAC,CAAC,EACxL,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,iDAAiD,GAAG,CAAC,EAAE,GAAG,CAAC,EACnG,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,+CAA+C,GAAG,CAAC,KAAK,MAAM,CAAC,EACjF,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACnD,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAChI,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,GAAI,EAAE,EAAG,EAAE,EAAE,GAAG,KAAK,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,KAAK,SAAS,CAAC,EACvF,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAE,CAAC,EACzF,CAAC,MAAM,0BAA0B,IAAI,wBAAwB,KAAK,CAAC,CAC3E,CAAC,EAEF,IAAI,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EACzF,SAAS,QAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,GAAK,CAExC,SAAS,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,IACrC,MAAO,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,IAAI,GAAI,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,GAAI,EAAE,IAAI,EAAE,CAAC,GAAG,GAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OACvH,EAAE,EAAE,IAAI,GAAI,EAAE,IAAI,EAAE,GAAG,GAAI,EAAE,IAAI,EAAE,GAAG,IAAI,GAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,CACnO,SAAS,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,MAAO,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,GAAI,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,GAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAG,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,IAAK,CACxT,SAAS,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CACjC,IAAI,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,IAAI,EAAE,MAAM,IAAI,EAAE,GAAG,GAAG,QAAQ,IAAK,MAAM,IAAK,GAAG,EAAE,IAAK,KAAM,EAAE,GACzG,GAAG,KAAK,IAAI,IAAI,EAAE,IAAK,EAAE,GAAG,KAAK,IAAI,GAAI,EAAE,GAAI,EAAE,KAAK,EAAE,KAAK,OAAO,KAAK,EAAE,EAAE,EAAG,EAAE,IAAI,EAAE,KAAK,UAAU,KAAK,EAAE,GAAI,EAAE,EAAE,EAAE,KAC5H,SAAS,KAAK,GAAG,EAAEA,IAAG,EAAE,MAAM,CAAC,MAAO,YAAY,GAAG,WAAW,EAAE,aAAaA,IAAG,mBAAmB,EAAE,CAAC,EAAE,oDAAoD,OAAO,IAAI,IAAK,CAE9K,GADA,GAAG,6BAA6B,EAAE,EAAE,EAAE,MACnC,QAAQ,CACT,IAAI,IAAI,EAAE,IAAK,GAAG,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,GAAI,EAAE,KAAK,EAAE,EAAE,EACzD,GAAG,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,GAAI,EAAE,GAAI,EAAE,OAAO,IAAI,EAAE,EAC1D,GAAG,KAAK,EAAE,IAAK,EAAE,EAAE,EAAE,IAAK,EAAE,IAAI,GAAG,EAAE,EAAE,GAAI,EAAE,IAAI,EAAE,EAAE,EAAG,CAAC,EACzD,GAAG,KAAK,EAAE,GAAI,GAAG,IAAK,EAAE,IAAK,CAAC,GAAG,IAAK,IAAI,GAAG,EAAE,EAAE,GAAI,EAAE,IAAI,EAAE,EAAE,EAAG,CAAC,EACnE,IAAI,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,GAAG,GAAG,IAAK,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAI,GAAG,GAAG,EAAE,KAAK,OAAO,KAAK,EAAE,GAAI,EAAE,EAAE,GAAG,IAAI,CAAC,CACrG,KAAK,CACH,IAAI,IAAI,GAAG,GAAG,EAAE,GAAI,GAAK,GAAG,KAAK,MAAM,EAAE,EAAE,GAAG,IAAI,GAAG,EAAG,EAAE,KAAK,EAAE,EAAE,EACnE,GAAG,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,IAAI,IAAK,GAAG,GAAI,EAAE,OAAO,IAAI,EAAE,CAC9D,CAEA,QADI,GAAG,KAAK,IAAI,IAAI,EAAE,GAAI,EAAE,GAAG,EAAE,IACzB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,EAAE,GAAI,EAAE,EAClC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,EAAE,EAAE,EAAG,IAAI,GAAG,GAAG,EAAE,GAAG,EAElD,GADG,OAAO,IAAI,IAAE,GAAG,KAAK,GAAG,EAAE,GAAI,CAAC,EAAE,GAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,GAAG,IAAI,EAAE,GAAI,GACvE,IAAI,CAAC,IAAI,GAAG,GAAG,KAAK,EAAE,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,IAAK,EAAE,IAAK,GAAG,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAG,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAC/F,GAAG,QAAQ,SAAS,GAAG,CAAC,GAAG,aAAa,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,IAAI,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE,EAAE,EAAE,4BAA6B,CAAC,CAAE,CAAC,CAChL,GAAG,EAAE,KAAK,KAAK,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,KAAK,IAAI,IAAI,EAAE,GAAI,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,IAAK,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,IAAK,MAAM,CAAE,CAC7H,GAAG,OACH,GAAG,IAAI,EAAE,GAAG,MAAM,CAAC,EAAE,YAAY,EAAE,WAAQ,GAAG,EAAE,EAAE,QAAQ,QAAQ,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,GAAG,GAAG,CAAC,EACjG,IAAI,GAAG,KAAK,aAAa,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,aAAa,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IACtF,MAAO,iBAAiB,GAAG,KAAK,EAAE,MACpC,CACA,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EACpD,SAAS,OAAO,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,IAAI,CACpC,QADyC,EAAE,GAAG,EAAE,aAAa,GAAG,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,GAAG,GAAI,CAAC,EACxF,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAK,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EACvE,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE,IAAI,GAAG,IAAK,GAAG,GAAG,IAAK,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EACjF,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,EAAE,GAAG,GAAG,MAAM,CAAC,EAAE,OAAO,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,GAAI,EAAE,OAAO,EAAE,CAAC,EACjH,MAAM,MAAM,SAAO,GAAG,KAAK,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,IAAI,IAAI,MAAM,QAAQ,GAAI,KAAM,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAC9F,OAAO,EAAE,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAE,CAC9C,SAAS,SAAS,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAChI,MAAO,2BAA2B,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,YAAY,IAAI,MAAM,EAAE,MAAO,CACjF,SAAS,QAAQ,EAAE,GAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,EACxJ,IAAI,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,GAAG,GAAG,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,WAAW,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,cAAc,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAE,CAC9I,SAAS,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,QACxC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,8FAA8F,GAAG,KAAK,IAAI,EAAE,gCAAgC,MAAM,+DAAiE,IAAI,8LAA+L,CAAC,EAAE,EAAE,EAC/b,EAAE,GAAG,IAAI,EAAE,GAAG,IAClB,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,IAAI,GAAG,IAAI,CAAC,EAAE,eAAe,GAAG,KAAK,IAAI,EAAE,IACtH,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,KAAK,CAAC,IAAI,EAAE,GAAG,IAC3C,UAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,KAAK,GAAG,4BAA4B,EAAE,MAAM,qBAAqB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,EACrK,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAK,EAAE,EAAE,GAAG,CAAE,CAAC,EACpE,MAAO,CAAC,MAAM,CAAC,CAAC,MAAM,8BAA8B,IAAI,IAAI,MAAM,iBAAiB,EAAE,CAAC,MAAM,8BAA8B,IAAI,IAAI,MAAM,iBAAiB,CAAC,EAAE,OAAO,MAAM,CAAE,CAC7K,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,IAAI,IAAI,IAAI,CAAC,EAAE,eAAe,GAAG,KAAK,IAAI,EAAE,IACrK,UAAG,KAAK,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EACxC,CAAC,EAAE,CAAC,EAAE,QAAQ,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,EAChD,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,KAAK,GAAG,UAAU,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,CAAC,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,gBAAgB,EAAE,MAAM,oBAAoB,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,KAAK,OAAO,MAAM,CAAC,EAC/P,GAAG,OAAO,GAAG,IAAI,KAAK,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAK,EAAE,EAAE,GAAG,CAAE,CAAC,EACzD,CAAC,MAAM,CAAC,CAAC,MAAM,2BAA2B,IAAI,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACxE,CACA,SAAS,QAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,UAAG,QAAQ,SAAS,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAE,CAAC,EAAS,CAAE,CACzK,SAAS,gBAAgB,EAAE,EAAE,EAAE,CAC7B,IAAI,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,EAAE,IAAI,gCAAgC,GAAG,KAAK,IAAI,EAAE,kKAC9E,GAAG,EAAE,QAAQ,QAAS,MAAO,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,KAAK,CAAC,IAAIC,IAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,+CAA+C,GAAG,CAAC,EAAE,IAAI,EAAEC,GAAED,IAAG,IAAIE,GAAEF,IAAG,IAAIG,IAAG,KAAK,IAAIF,GAAE,EAAE,GAAGA,GAAE,EAAE,GAAG,EAAE,EACtMC,IAAG,KAAKD,GAAE,EAAEA,GAAE,EAAE,EAAEA,GAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAIA,GAAE,EAAEA,GAAE,EAAE,EAAEA,GAAE,EAAE,GAAG,WAAW,KAAK,GAAG,6CAA6C,EAAE,MAAM,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,EACxK,IAAI,GAAGA,GAAE,EAAE,IAAIA,GAAE,EAAE,GAAGE,IAAG,GAAG,EAAE,OAAAD,IAAG,OAAO,GAAGD,GAAE,EAAE,GAAGE,IAAG,EAAE,GAAM,CAAC,EAAED,IAAG,QAAQ,GAAGD,GAAE,EAAE,GAAGE,IAAG,EAAE,GAAG,EAAE,EACxF,CAAC,MAAM,WAAW,KAAK,GAAG,gBAAgB,IAAI,+CAA+C,KAAKD,GAAE,MAAM,WAAW,KAAK,GAAG,eAAe,CAAE,CAAC,EAC1J,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,mEAAmE,GAAG,CAAC,EAAE,EAAE,EAC5G,EAAE,GAAG,IAAI,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,KAAK,KAAK,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,EACvF,UAAG,QAAQ,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAC7B,CAAC,EAAE,CAAC,EAAE,QAAQ,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,EAAE,GAAG,GAAG,GACxD,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,WAAW,KAAK,GAAG,oBAAoB,GAAG,CAAC,EAAE,GAAG,CAAC,EAClE,GAAG,OAAO,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAM,CAAC,EAAE,GAAG,QAAQ,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,CAAE,CAAC,EAC/D,CAAC,MAAM,4BAA4B,IAAI,oCAAoC,KAAK,EAAE,MAAM,eAAe,CAChH,CACA,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,QAAS,CACzC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,QAAS,CACzC,EAAE,WAAW,CAAC,KAAK,aAAa,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,SAAS,EAAE,CAAC,OAAO,EAAE,QAAQ,QAAS,EAAE,KAAK,6CAA6C,KAAK,iKAC/K,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,aAAa,GAAG,CAAC,CAAC,OAAO,qBAAqB,EAAE,CAAC,SAAS,wBAAwB,CAAC,EAAE,IAAI,MAAM,EAAE,CAAC,GAAG,QAAQ,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,oBAAoB,EAAE,CAAC,SAAS,kBAAkB,CAAC,EAAE,IAAI,OAAO,EAC1O,CAAC,GAAG,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,QAAQ,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,UAAU,WAAW,CAAC,EAAE,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,mBAAmB,EAAE,CAAC,OAAO,sBAAsB,CAAC,EAAE,IAAI,MAAM,KAAK,GAAG,EAC1b,CAAC,GAAG,QAAQ,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,KAAK,mBAAmB,CAAC,EAAE,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC,GAAG,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,QAAQ,OAAO,EAAE,CAAC,QAAQ,OAAO,EAAE,CAAC,OAAO,MAAM,CAAC,EAAE,IAAI,QAAQ,KAAK,GAAG,CAAC,EACnP,IAAI,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,QAAQ,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAO,GAAG,KAAK,OAAO,KAAK,EAAE,IAAK,EAAE,GAAI,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,GAAG,KAAK,MAAM,IAAI,IAAI,EAAE,OAAO,KAAK,IAAI,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAE,EAC3O,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CACvB,GAAG,EAAE,OAAO,SAAS,OAAO,SAAS,EAAE,EAAE,CAAC,EAC1C,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,KAAK,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,GAC3D,MAAM,EAAE,QAAQ,QAChB,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,iHAAmH,mKAAoK,+BAA+B,EAAE,MAAM,OAAO,8IAA8I,2JAA2J,0HAA0H,CAAC,EAAE,IAAI,EAC1xB,EAAE,GAAG,IAAI,KAAK,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EACpE,QAAM,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,GAC9B,QAAhB,OAAO,CAAC,EAAE,GAAG,CAAC,EAAU,EAAE,KAAK,GAAG,EAAE,IAAI,GAAG,KAAK,CAAC,EACrD,IAAI,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GACvB,SAAS,MAAM,CAAC,IAAI,KAAK,IAAI,GAAG,OAAO,OAAO,GAAG,OAAO,GAAGE,GAAE,IAAI,IAAI,OAAO,GAAG,IAAI,SAASC,GAAE,CAAC,IAAI,GAAG,CAAC,EAAEA,GAAE,GAAG,KAAK,QAAQ,KAAK,CAAC,GAAG,EAAE,EAAED,GAAE,IAAI,EAAE,CAAC,EAAE,OAAAA,IAAG,KAAK,IAAW,EAAG,CAAC,CAAE,CAC5K,GAAG,EAAE,MAAM,UAAU,CAAc,QAAT,GAAG,GAAc,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,GAAK,QAAQ,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,KAAK,CAAyB,QAApB,EAAE,GAAG,EAAE,EAAE,KAAK,GAAc,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAI,EAAE,EAAE,EAAE,EAAE,KAAK,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,KAAK,GAAG,IAAE,MAAM,EAAE,KAAa,KAAI,EAAE,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,GAAO,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAE,CAAC,EAAM,MAAK,OAAO,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,IAAM,CAAK,OAAK,GAAG,GAAM,CAAC,CACpd,GAAG,CAAC,GAAG,CAAC,IAAI,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,OAAO,GAAG,OAAO,GAAG,GAAG,KAAK,OAAO,MAAM,IAAI,SAASC,GAAE,CAAC,IAAI,GAAG,CAAC,EAAEA,GAAE,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQA,GAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,WAAI,KAAK,KAAY,EAAG,CAAC,CAAE,CAAC,MAClM,OAAO,KAAK,EACjB,IAAI,IAAI,MAAM,KAAK,GAAG,EAAE,IAAI,KAAK,qBAAqB,IAAI,2BAA2B,EAAE,IAAI,SAC3F,GAAG,MAAM,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,EAAE,IAAI,SAAS,KAAK,CAAC,IAAIC,GAAE,GAAG,IAAI,GAAG,EAAE,EAAE,GAC9D,OAAAA,IAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,WAAW,KAAK,GAAG,2BAA2B,EAAE,MAAM,qBAAqB,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,OAAO,GAAG,CAAC,CAAC,EAC3K,OAAO,QAAQ,SAAS,GAAG,CAACA,IAAG,SAAS,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAI,EAAE,EAAE,GAAG,CAAC,CAAE,CAAC,EAASA,EAAE,CAAC,EAChH,MAAO,CAAC,MAAM,CAAC,CAAC,MAAM,6BAA6B,IAAI,IAAI,MAAM,gBAAgB,EAAE,CAAC,MAAM,6BAA6B,IAAI,IAAI,MAAM,gBAAgB,CAAC,EAAE,OAAO,OAAO,KAAK,KAAK,CAAC,EAAE,IAAI,2BAA2B,KAAK,wDAAwD,EAAE,CAAE,CACrR,OAAC,EAAE,CAAC,EAAE,QAAQ,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,EAChD,GAAG,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,GAAG,KAAK,OAAO,EAAE,EAAE,EAAE,CAAC,EAC5C,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,WAAW,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,GAAG,EAAE,KAAK,KAAK,EAAE,MAAM,CAAC,EACjG,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,gBAAgB,EAAE,MAAM,oBAAoB,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,KAAK,KAAK,OAAO,MAAM,CAAC,EACnH,OAAO,QAAQ,SAAS,GAAG,CAAC,GAAG,SAAS,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,KAAK,EAAI,EAAE,EAAE,GAAG,CAAC,CAAE,CAAC,CAAE,CAAC,EAChG,CAAC,MAAM,CAAC,CAAC,MAAM,aAAa,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,2BAA2B,KAAK,wDAAwD,EAAE,CACpK,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,GAAG,EAAE,OAAO,SAAS,OAAO,gBAAgB,EAAE,EAAE,CAAC,EACjD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,6GAA6G,CAAC,CAAC,EACtK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAC1D,OAAC,EAAE,CAAC,EAAE,QAAQ,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,GAC7F,GAAG,IAAI,GAAG,EAAE,WAAW,KAAK,GAAG,oBAAoB,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAClE,GAAG,IAAI,GAAG,EAAE,GAAG,mBAAmB,EAAE,MAAM,WAAY,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,GAAG,GAC3E,QAAQ,EAAE,KAAK,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,IAAK,EAAE,EAAE,GAAG,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,IAAI,GAAG,IAAI,IAAK,GAAG,EAAE,EAAE,OAAO,GAAG,CAAC,KAAK,MAAM,CAAC,EAAE,GAAI,KAAK,GAAG,EAAI,CACxO,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,eAAe,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG,OAAO,OAAO,CAAC,EAAE,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,eAAe,GAAG,CAAC,KAAK,MAAM,CAAC,CAAE,CAAC,EAChK,GAAG,KAAK,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,KAAK,EACrH,CAAC,MAAM,yBAAyB,IAAI,6BAA6B,KAAK,CAAC,CAC/E,CAAC,EAEF,EAAE,SAAS,CAAC,KAAK,eAAe,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,KAAK,6CAA6C,KAAK,iHACzH,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,WAAW,EAAE,CAAC,QAAQ,cAAc,CAAC,EAAE,IAAI,MAAM,CAAC,EAC7F,OAAO,SAAS,EAAE,EAAE,EAAE,CAIrB,QAHI,KAAK,EAAE,OAAO,OAAO,yGAAyG,+FAC9H,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,0CAA0C,KAAK,6LAA6L,CAAC,CAAC,EAClR,EAAE,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,IAClG,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,IAAK,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAE,CACtI,GAAG,KAAK,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAC7E,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,IAAI,GAAG,IAAK,GAAG,IAAI,GAAG,IAAK,GAAG,EAAE,GAAG,IAAK,OAAO,EAAE,GAAG,EAC1G,MAAO,CAAC,MAAM,CAAC,CAAC,MAAM,eAAe,IAAI,uBAAuB,EAAE,OAAO,OAAO,aAAa,qBAAqB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAChI,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,qGAAqG,CAAC,CAAC,EAC3I,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,iDAAiD,GAAG,CAAC,EAAE,GAAG,CAAC,EACnG,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EACtD,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,GAAG,sBAAsB,GAAG,CAAC,EAAE,GAAG,CAAC,EAC7J,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE,IAAK,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC,EACnF,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,KAAK,IAAI,GAAG,IAAK,GAAG,IAAI,GAAG,IAAK,GAAG,GAAG,GAAI,OAAO,EAAE,GAAG,CAAE,CAAC,EACrG,CAAC,MAAM,2BAA2B,IAAI,UAAU,KAAK,CAAC,CAC9D,CAAC,EAEF,IAAI,MAAM,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,EACnI,EAAE,MAAM,CAAC,KAAK,aAAa,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,oDAAoD,KAAK,2FAC3I,KAAK,CAAC,CAAC,GAAG,QAAQ,MAAM,aAAa,GAAG,CAAC,CAAC,UAAU,UAAU,EAAE,CAAC,OAAO,SAAS,CAAC,EAAE,IAAI,SAAS,CAAC,EAClG,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CACvB,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,uQAAuQ,CAAC,EAAE,IAAI,EAClT,KAAK,CAAC,EAAE,MAAM,QAAQ,SAAS,GAAG,GAAG,CAAC,MAAM,QAAQ,SAAS,GAAG,CAAC,KAAK,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAE,CAAC,CAAE,CAAC,EAAK,EAAE,QAAQ,YAAU,KAAK,QAAQ,KAAK,CAAC,GAC5I,IAAI,EAAE,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IACxC,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,KAAK,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAC9G,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAC9B,GAAG,IAAI,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAC1C,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,IAAK,CAAC,EAAE,SAAS,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,EAC/D,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC,EACnD,CAAC,MAAM,CAAC,CAAC,MAAM,aAAa,IAAI,+CAA+C,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACpG,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC,cAAc,iBAAiB,iBAAiB,aAAa,QAAQ,WAAW,kBAAkB,WAAW,WAAW,WAAW,EAC3J,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,gCAAgC,GAAG,CAAC,EAAE,GAAG,CAAC,EAC5D,MAAM,QAAQ,SAAS,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAI,EAAE,EAAG,KAAK,EAAE,GAAG,CAAC,KAAK,MAAM,CAAC,CAAE,CAAC,EACnF,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,EACxE,GAAG,IAAI,GAAG,EAAE,EAAE,GAAG,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,EAExC,QADI,GAAG,EAAE,EAAE,GAAG,GAAG,IAAI,KAAK,GAClB,GAAG,EAAE,IAAI,KAAK,KAAK,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,EAChG,QAAQ,EAAE,EAAE,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,KAAK,EAAE,EAAE,OAAO,CAAC,EAC5F,GAAG,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,GAAG,CAAC,EACzC,QAAQ,GAAG,EAAE,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EAC3F,UAAG,IAAI,GAAG,GAAG,KAAK,GAAG,GAAG,oFAAoF,GAAG,CAAC,KAAK,MAAM,CAAC,EACrH,CAAC,MAAM,yBAAyB,IAAI,+BAA+B,KAAK,CAAC,CACjF,CAAC,EAEF,IAAI,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,CAAC,EAC5D,SAAS,OAAO,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,SAAE,EAAE,KAAK,GAAG,IAAW,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAE,CAAC,MAAO,aAAa,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,EAAE,KAAM,CAC3P,EAAE,MAAM,CAAC,KAAK,QAAQ,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,KAAK,qDAAqD,KAAK,sFACvH,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,QAAQ,kBAAkB,CAAC,EAAE,IAAI,KAAK,CAAC,EACtG,OAAO,SAAS,EAAE,EAAE,EAAE,CACrB,IAAI,MAAM,EAAE,OAAO,QAAQ,wFAAwF,yBAAyB,EAAE,KAAK,4JAC/I,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,uGAAuG,CAAC,CAAC,EACnJ,EAAE,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,GAAG,EAAE,IAC1E,KAAK,EAAE,KAAK,UAAU,EAAE,IAAI,EAAE,IAAI,MAAM,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,MAAM,MAAO,EAAE,IAAI,EAAE,IAAI,MAAO,OAAG,EAAE,IAAI,IAAG,IAAI,IAAI,KAAK,OACxH,GAAG,KAAK,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,EAAE,CAAC,EACtC,KAAK,QAAQ,SAAS,EAAE,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK,KAAK,OAAO,KAAK,KAAK,IAAI,KAAQ,EAAE,OAAM,KAAU,KAAL,KAAU,IAAe,KAAX,GAAI,GAC1I,GAAG,OAAO,GAAG,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,UAAU,KAAK,uCACpD,GAAG,OAAO,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,UAAU,KAAK,uCACnD,GAAG,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,UAAU,KAAK,uCACpD,GAAG,OAAO,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,EAAE,EAAE,UAAU,KAAK,uCACpD,IAAI,IAAI,GAAG,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,EAAE,EAAE,KAAK,IAAI,EAAE,KAAM,EAAE,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAE,CAAC,EACxJ,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,KAAK,KAAK,GAAI,EAAE,KAAK,OAAO,EAAG,EAAE,KAAK,GAAG,GAAG,KAAK,GAAG,EAAE,KAAK,KAAK,IAAI,EAAG,EAAE,IAAI,OAAO,EAAG,EAC7G,CAAC,MAAM,CAAC,CAAC,MAAM,QAAQ,IAAI,EAAE,OAAO,QAAQ,mBAAmB,EAAE,KAAK,oCAAoC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAC/H,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,GAAG,EAAE,EAAE,GACrF,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,QAAQ,uDAAuD,4DAA4D,GAAG,CAAC,KAAK,MAAM,CAAC,EACtK,QAAQ,GAAG,EAAE,IAAI,KAAK,KAAK,GAAG,KAAK,EAAE,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,GAAG,IAAI,EAAE,EAAE,OAAO,KAAK,EAAE,EAAE,CAAC,EAC1F,QAAQ,EAAE,EAAE,GAAG,KAAK,IAAI,GAAG,KAAK,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,GAAG,KAAK,GAAG,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC,EACvF,QAAQ,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,WAAW,GAAG,GAAG,YAAY,GAAG,CAAC,EAAE,GAAG,CAAC,EAC/F,GAAG,EAAE,OAAO,QAAQ,QAAQ,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,IAAI,EAAE,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,EAC1H,MAAO,CAAC,MAAM,oBAAoB,IAAI,EAAE,OAAO,QAAQ,mBAAmB,EAAE,KAAK,cAAc,KAAK,CAAC,CACtG,CAAC,EAEF,IAAI,KAAK,CAAC,GAAG,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,SAAS,EACxF,MAAM,EACV,SAAS,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,CAC1B,IAAI,IAAI,KAAK,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,EAAE,EAAE,GAC7C,GAAG,EAAE,KAAM,GAAG,KAAK,GAAG,GAAG,EAAE,OAAO,IAAI,CAAC,EAAK,SAAO,GAAG,KAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,IAAI,CAAC,EAAE,KAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,GAAG,EAAE,IAAK,IAAI,CAAC,WACpJ,OAAO,CAAC,IAAI,GAAG,QAAQ,EAAE,MAAO,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,iBAAiB,KAAK,GAAG,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAI,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,aAAa,EAAE,EAAE,GAAI,EAAE,WAAW,IAAI,qBAAqB,GAAG,OAAO,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,CAAE,MAC/S,GAAG,KAAK,GAAG,GAAG,EAAE,IAAI,EAAE,GAAG,EAC9B,UAAG,KAAK,GAAG,GAAG,EAAE,IAAK,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,IAAI,EAAE,GAAI,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,EACjG,CACT,CACA,EAAE,UAAU,CAAC,KAAK,YAAY,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,6CAA6C,KAAK,4EAChI,KAAK,CAAC,CAAC,GAAG,QAAQ,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,KAAK,SAAS,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,OAAO,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,MAAM,QAAQ,CAAC,EAAE,IAAI,MAAM,CAAC,EAC3K,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CACvB,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,4KAA4K,EAAE,QAAQ,IAAI,mCAAmC,8BAA8B,CAAC,CAAC,EACjS,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EACtD,GAAG,KAAK,GAAG,GAAG,EAAE,EAAE,EAAE,KAAK,OAAO,UAAU,EAAE,EAAE,EAAE,EAChD,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,OAAO,UAAU,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/F,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAG,EAAE,CAAC,EAAE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,MAAM,GAAG,CAAC,CAAE,CAAC,EAE7H,QADI,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,GAC/F,EAAE,EAAE,GAAG,IAAI,IAAK,QAAQ,EAAE,EAAE,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,GAAG,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC,OAAO,KAAK,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAM,CAAC,CAC3K,UAAG,QAAQ,SAAS,EAAE,CAAC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAE,CAAC,EAC1C,CAAC,MAAM,CAAC,CAAC,MAAM,YAAY,KAAK,EAAE,QAAQ,IAAI,SAAS,WAAW,6BAA6B,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CACpH,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,MACxB,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,oDAAoD,GAAG,CAAC,KAAK,MAAM,CAAC,EACtF,IAAI,GAAG,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EACtD,UAAG,QAAQ,SAAS,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GACjF,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,GAAG,IAAI,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,gBAAgB,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAChF,QADuF,IAAI,KAAK,IAAI,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,IAAI,GAAG,EAAE,IAAI,GAAG,EAChI,EAAE,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,OAAO,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,GAAG,KAAK,GAAG,EAAE,IAAI,IAAI,EAAE,KAAK,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,IAAI,KAAK,IAAI,GAAG,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE,EAAE,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,KAAK,MAAM,CAAC,CAAE,CAC3N,GAAG,KAAK,KAAK,IAAI,GAAG,GAAG,IAAI,GAAG,EAAG,CAAC,CAAC,EAChC,CAAC,MAAM,wBAAwB,IAAI,qBAAqB,KAAK,CAAC,CACtE,CAAC,EAEF,EAAE,MAAM,CAAC,KAAK,QAAQ,MAAM,cAAc,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,kEAAkE,KAAK,wGAC7I,KAAK,CAAC,CAAC,GAAG,OAAO,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,EACrF,OAAO,SAAS,EAAE,EAAE,EAAE,EAAE,CAGvB,QAFI,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,eAAe,EAAE,oPAAoP,CAAC,CAAC,EAC1R,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,GAAG,KAAK,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,QAC1F,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,KAAK,QAAQ,MAAM,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE,IAAI,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EACjH,GAAG,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,KAAK,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,GAAG,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,EAC9J,QAAQ,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,GAAG,OAAO,EAAE,GAAG,EAC9F,IAAI,GAAG,KAAK,GAAG,EAAE,OAAO,OAAO,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,GAAG,IAAK,OAAO,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,GAAG,GAAG,IAAK,EAAE,CAAC,EAAE,GAAG,IAAI,GAAG,GAAG,OAAO,GAAG,IAAK,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,IAAI,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,GAC3K,GAAG,KAAK,GAAG,GAAG,GAAG,IAAK,OAAO,EAAE,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,GAAI,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,CAAG,CAAC,CACnG,MAAO,CAAC,MAAM,CAAC,CAAC,MAAM,QAAQ,IAAI,6CAA6C,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAC7F,EACA,QAAQ,SAAS,EAAE,EAAE,EAAE,CACtB,IAAI,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAC9D,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,gDAAgD,GAAG,CAAC,KAAK,MAAM,CAAC,EAClF,QAAQ,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,EACjF,QAAQ,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,GAAI,EAAE,GAAG,GAAI,GAAG,EAAE,OAAO,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,KAAK,IAAI,GAAG,GAAG,EAAG,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,CAAC,CAAE,CAAC,CAC9K,MAAO,CAAC,MAAM,mBAAmB,IAAI,kBAAkB,KAAK,CAAC,CAC9D,CAAC,EAGF,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,KAA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",
  "names": ["st", "nb", "b", "s", "cs", "y", "k", "t", "v", "h", "wrap"]
}
