1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
| /*
| * GoJS v1.4.3 JavaScript Library for HTML Canvas Diagrams
| * Northwoods Software, http://www.nwoods.com/
| * GoJS and Northwoods Software are registered trademarks of Northwoods Software Corporation.
| * Copyright (C) 1998-2014 by Northwoods Software Corporation. All Rights Reserved.
| * THIS SOFTWARE IS LICENSED. THE LICENSE AGREEMENT IS AT: http://www.gojs.net/1.4.3/doc/license.html.
| */
| (function(window) { var aa,ba={};if(void 0===document.createElement("canvas").getContext)throw window.console&&window.console.log("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode."),Error("The HTML Canvas element is not supported in this browser,or this browser is in Compatibility mode.");if(!Object.prototype.__defineGetter__&&!Object.defineProperty)throw Error("GoJS requires a newer version of JavaScript");
| Object.prototype.__defineGetter__&&!Object.defineProperty&&(Object.defineProperty=function(a,b,c){c.get&&a.__defineGetter__(b,c.get);c.set&&a.__defineSetter__(b,c.set)});Object.prototype.__lookupGetter__&&!Object.getOwnPropertyDescriptor&&(Object.getOwnPropertyDescriptor=function(a,b){return{get:a.__lookupGetter__(b),set:a.__lookupSetter__(b)}});Object.getPrototypeOf||(Object.getPrototypeOf=function(a){return a.__proto__});Object.isFrozen||(Object.isFrozen=function(a){return!0===a.eH});
| Object.freeze||(Object.freeze=function(a){a.eH=!0});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return g.apply(a,e.concat(d.call(arguments)))}function c(){}var d=Array.prototype.slice,e=d.call(arguments,1),g=this;c.prototype=this.prototype;b.prototype=new c;return b});
| (function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!window.requestAnimationFrame;++c)window.requestAnimationFrame=window[b[c]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[b[c]+"CancelAnimationFrame"]||window[b[c]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(b){var c=(new Date).getTime(),g=Math.max(8,16-(c-a)),h=window.setTimeout(function(){b(c+g)},g);a=c+g;return h});window.cancelAnimationFrame||(window.cancelAnimationFrame=
| function(a){clearTimeout(a)})})();var f={cA:!1,fK:!1,uF:!1,FE:!1,PH:!1,assert:!1,TJ:null,WJ:function(){},YJ:function(){},XJ:function(){},VJ:function(){},cK:function(){},ZJ:function(){},aK:function(){},$J:function(){},UJ:!1,yK:!1,vK:!1,wK:!1,sI:!1,bK:function(){}},f=null;ba.Debug=null;
| var t={ai:Object.freeze([]),qA:{},sE:0,Bw:{},pA:0,uw:"...",kt:{},Hw:0,yB:[],gx:null,an:document.createElement("canvas").getContext("2d"),Vp:"",RJ:document.createElement("img"),iE:[],tB:"ontouchstart"in window,BK:"ongesturestart"in window,aE:!1,Ws:null,Xs:null,Vs:null,fw:"",Nm:window.navigator&&0<window.navigator.userAgent.indexOf("534.30")&&0<window.navigator.userAgent.indexOf("Android"),Mw:window.navigator&&0<window.navigator.userAgent.indexOf("MSIE 10.0"),DA:window.navigator&&0<window.navigator.userAgent.indexOf("Trident/7"),
| Om:0<=navigator.platform.toUpperCase().indexOf("MAC"),GG:!1,JG:!1,IG:!1,HG:!1,bE:null,cq:!1,EG:!1,FG:!1,bI:function(a,b,c){var d;return function(){var e=this,g=arguments;clearTimeout(d);d=setTimeout(function(){d=null;c||a.apply(e,g)},b);c&&!d&&a.apply(e,g)}},l:function(a){f&&f.PH&&alert(a);throw Error(a);},L:function(a,b){if(a.lb){var c="The object is frozen, so its properties cannot be set: "+a.toString();void 0!==b&&(c+=" to value: "+b);t.l(c)}},m:function(a,b,c,d){a instanceof b||(c=t.Oh(c),void 0!==
| d&&(c+="."+d),t.Xb(a,b,c))},j:function(a,b,c,d){typeof a!==b&&(c=t.Oh(c),void 0!==d&&(c+="."+d),t.Xb(a,b,c))},p:function(a,b,c){"number"===typeof a&&isFinite(a)||(b=t.Oh(b),void 0!==c&&(b+="."+c),t.l(b+" must be a real number type, and not NaN or Infinity: "+a))},sb:function(a,b,c,d){a instanceof ca&&a.Se===b||(c=t.Oh(c),void 0!==d&&(c+="."+d),t.Xb(a,"a constant of class "+t.Wg(b),c))},Po:function(a,b){"string"===typeof a?da(a)||t.l('Color "'+a+'" is not a valid color string for '+b):a instanceof
| ea||t.l("Value for "+b+" must be a color string or a Brush, not "+a)},Xb:function(a,b,c,d){b=t.Oh(b);c=t.Oh(c);void 0!==d&&(c+="."+d);t.l(c+" value is not an instance of "+b+": "+a)},ka:function(a,b,c,d){c=t.Oh(c);void 0!==d&&(c+="."+d);t.l(c+" is not in the range "+b+": "+a)},Kb:function(a){t.l("Collection was modified during iteration: "+a.toString())},trace:function(a){window&&window.console&&window.console.log(a)},tb:function(a){return"object"===typeof a&&null!==a},vc:null,Rm:function(a,b,c,d){for(b=
| 0;b<a.length;b++){var e=a[b];t.tb(e)&&(e=t.rf(e,c,d));a[b]=e}return d||t.vc(a)?a:window.ko.observableArray(a)},rf:function(a,b,c){if(a)for(var d in a)"__gohashid"!==d&&(a[d]=t.XI(a,d,b,c));return a},XI:function(a,b,c,d){var e=a[b],g;g=t.vc(e)?e:Array.isArray(e)?t.Rm(e,b,c,d):window.ko.observable(e);if(d){if(d=g.QB){h=c.__gohashid;d[h]&&(d[h].dispose(),delete d[h]);var h=!1,k;for(k in d){h=!0;break}}!h&&g.pu&&(g.pu.dispose(),delete g.pu)}else{g.pu||(g.pu=g.subscribe(function(a){g.oo=a},null,"beforeChange"));
| d=g.QB;d||(g.QB=d={});var h=c.__gohashid;d[h]||(d[h]=g.subscribe(function(d){c.hx(a,b,g.oo,d)}))}return g},isArray:function(a){return Array.isArray(a)||t.vc&&t.vc(a)||a instanceof NodeList||a instanceof HTMLCollection},MI:function(a){return Array.isArray(a)||t.vc&&t.vc(a)},Us:function(a,b,c){t.isArray(a)||t.Xb(a,"Array or NodeList or HTMLCollection",b,c)},rb:function(a){t.vc&&t.vc(a)&&(a=a());return a.length},jb:function(a,b){t.vc&&t.vc(a)&&(a=a());Array.isArray(a);return a[b]},BD:function(a,b,c){t.vc&&
| t.vc(a)&&(a=a());Array.isArray(a)?a[b]=c:t.l("Cannot replace an object in an HTMLCollection or NodeList at "+b)},aA:function(a,b){t.vc&&t.vc(a)&&(a=a());if(Array.isArray(a))return a.indexOf(b);for(var c=a.length,d=0;d<c;d++)if(a[d]===b)return d;return-1},Ji:function(a,b,c){t.vc&&t.vc(a)&&(a=a());Array.isArray(a)?b>=a.length?a.push(c):a.splice(b,0,c):t.l("Cannot insert an object into an HTMLCollection or NodeList: "+c+" at "+b)},Ki:function(a,b){t.vc&&t.vc(a)&&(a=a());Array.isArray(a)?b>=a.length?
| a.pop():a.splice(b,1):t.l("Cannot remove an object from an HTMLCollection or NodeList at "+b)},Vx:[],K:function(){var a=t.Vx.pop();return void 0===a?new v:a},gc:function(a,b){var c=t.Vx.pop();if(void 0===c)return new v(a,b);c.x=a;c.y=b;return c},B:function(a){t.Vx.push(a)},MB:[],wl:function(){var a=t.MB.pop();return void 0===a?new fa:a},Yj:function(a){t.MB.push(a)},Wx:[],yf:function(){var a=t.Wx.pop();return void 0===a?new w:a},gk:function(a,b,c,d){var e=t.Wx.pop();if(void 0===e)return new w(a,b,
| c,d);e.x=a;e.y=b;e.width=c;e.height=d;return e},cc:function(a){t.Wx.push(a)},NB:[],ah:function(){var a=t.NB.pop();return void 0===a?new ga:a},We:function(a){t.NB.push(a)},Xx:null,u:function(){var a=t.Xx;return null!==a?(t.Xx=null,a):new ja},v:function(a){a.reset();t.Xx=a},LB:[],Cb:function(){var a=t.LB.pop();return void 0===a?[]:a},za:function(a){a.length=0;t.LB.push(a)},OB:1,wc:function(a){a.__gohashid=t.OB++},jt:function(a){var b=a.__gohashid;void 0===b&&(b=t.OB++,a.__gohashid=b);return b},ld:function(a){return a.__gohashid},
| g:function(a,b,c){"name"!==b&&"length"!==b&&(a[b]=c)},ga:function(a,b){b.ey=a;ba[a]=b},Ka:function(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a},Kh:function(a){a.jH=!0},defineProperty:function(a,b,c,d,e){t.j(a,"function","Util.defineProperty:classfunc");t.j(b,"object","Util.defineProperty:propobj");t.j(c,"function","Util.defineProperty:getter");t.j(d,"function","Util.defineProperty:setter");for(var g in b){var h=b[g];b={get:c,set:d};if(void 0!==e)for(var k in e)b[k]=
| e[k];Object.defineProperty(a.prototype,g,b);e=Object.getOwnPropertyDescriptor(a.prototype,g);h&&e&&Object.defineProperty(a.prototype,h,e);if(f&&h){var l=h.charAt(0).toUpperCase()+h.slice(1);h===l&&t.l('Defining capitalized property "'+l+'"!?');Object.defineProperty(a.prototype,l,{get:function(){t.Mw||t.DA||t.trace('Getting the property "'+l+'" is probably not what you intended: it is capitalized but should spelled "'+h+'"')},set:function(){t.l('Setting the property "'+l+'" is probably not what you intended: it is capitalized but should spelled "'+
| h+'"')}})}break}},A:function(a,b,c,d){t.j(a,"function","Util.defineReadOnlyProperty:classfunc");t.j(b,"object","Util.defineReadOnlyProperty:propobj");t.j(c,"function","Util.defineReadOnlyProperty:getter");for(var e in b){var g=b[e];b={get:c,set:function(a){t.l('The property "'+g+'" is read-only and cannot be set to '+a)}};if(void 0!==d)for(var h in d)b[h]=d[h];Object.defineProperty(a.prototype,e,b);d=Object.getOwnPropertyDescriptor(a.prototype,e);g&&d&&Object.defineProperty(a.prototype,g,d);if(f&&
| g){var k=g.charAt(0).toUpperCase()+g.slice(1);Object.defineProperty(a.prototype,k,{get:function(){t.Mw||t.DA||t.trace('Getting the property "'+k+'" is probably not what you intended: it is capitalized but should spelled "'+g+'"')},set:function(){t.l('Setting the read-only property "'+k+'" is probably not what you intended: it is capitalized but should spelled "'+g+'", and cannot be set anyway')}})}break}},Rd:function(a,b){for(var c in b)b[c]=!0;a.prototype.XC=b},Oh:function(a){return void 0===a?"":
| "string"===typeof a?a:"function"===typeof a?t.Wg(a):null===a?"*":""},Wg:function(a){if("function"===typeof a){if(a.ey)return a.ey;if(a.name)return a.name;var b=a.toString(),c=b.indexOf("(");if(b=b.substring(9,c).trim())return a.ey=b}else if("object"===typeof a&&a.constructor)return t.Wg(a.constructor);return typeof a},w:function(a,b,c){t.j(a,"function","Util.defineEnumValue:classfunc");t.j(b,"string","Util.defineEnumValue:name");t.j(c,"number","Util.defineEnumValue:num");c=new ca(a,b,c);Object.freeze(c);
| a[b]=c;var d=a.au;d||(d=new la("string",ca),a.au=d);d.add(b,c);return c},Im:function(a,b){if(!b)return null;t.j(a,"function","Util.findEnumValueForName:classfunc");t.j(b,"string","Util.findEnumValueForName:name");var c=a.au;return c?c.ya(b):null},XH:function(a,b,c,d){var e={},g;for(g in a){for(var h=!1,k=1;k<arguments.length;k++)if(arguments[k]===g){h=!0;break}h||(e[g]=a[g])}return e},kb:function(a,b){if(!a||!b)return null;var c=void 0;try{"function"===typeof b?c=b(a):"function"===typeof a.getAttribute?
| (c=a.getAttribute(b),null===c&&(c=void 0)):(c=a[b],t.vc&&t.vc(c)&&(c=c()))}catch(d){f&&t.trace("property get error: "+d.toString())}return c},Qa:function(a,b,c){if(a&&b)try{if("function"===typeof b)b(a,c);else if("function"===typeof a.setAttribute)a.setAttribute(b,c);else if(t.vc){var d=a[b];t.vc(d)?d(c):a[b]=c}else a[b]=c}catch(e){f&&t.trace("property set error: "+e.toString())}},ox:function(a,b){t.j(a,"object","Setting properties requires Objects as arguments");t.j(b,"object","Setting properties requires Objects as arguments");
| var c=f;c||(f=t);var d=a instanceof y,e=a instanceof z,g;for(g in b){g||t.l("Setting properties requires non-empty property names");var h=a,k=g;if(d||e){var l=g.indexOf(".");if(0<l){var m=g.substring(0,l);d?h=a.ke(m):(h=a[m])||(h=a.ub[m]);h?k=g.substr(l+1):t.l("Unable to find object named: "+m+" in "+a.toString()+" when trying to set property: "+g)}}if("_"!==k[0]&&!t.Fw(h,k))if(e&&t.Fw(a.ub,k))h=a.ub;else if(e&&ma(a,k)){a.Vz(k,b[k]);continue}else t.l('Trying to set undefined property "'+k+'" on object: '+
| h.toString());h[k]=b[g];"_"===k[0]&&(l=h.Fl,l||(l=[],h.Fl=l),l.push(k))}f=c;return a},Fw:function(a,b){for(var c=Object.getPrototypeOf(a);c&&c!==Function;){if(c.hasOwnProperty(b))return!0;var d=c.XC;if(d&&d[b])return!0;c=Object.getPrototypeOf(c)}return!1},HD:function(a,b){if(!t.tb(b)||b instanceof Element||b instanceof CanvasRenderingContext2D)return"";var c="",d;for(d in b)if("string"!==typeof d)""===c&&(c=b+"\n"),c+=" "+d+" is not a string property\n";else if("_"!==d.charAt(0)&&!(2>=d.length)){var e=
| t.kb(b,d);null===e||"function"===typeof e||t.Fw(b,d)||(""===c&&(c=b+"\n"),c+=' unknown property "'+d+'" has value: '+e+" at "+a+"\n")}return c},dw:function(a,b){if(b&&"number"!==typeof b&&"string"!==typeof b&&"boolean"!==typeof b&&"function"!==typeof b)if(void 0!==t.ld(b)){if(!t.Cv.contains(b))if(t.Cv.add(b),t.cv.add(t.HD(a,b)),b instanceof A||b instanceof na||b instanceof la)for(var c=b.k;c.next();)t.dw(a+"["+c.key+"]",c.value);else for(c in b){var d=t.kb(b,c);if(void 0!==d&&null!==d&&t.tb(d)&&
| d!==b.XC){if(b instanceof oa){if(d===b.fo)continue}else if(b instanceof y){if("data"===c||d===b.Hl)continue;if("itemArray"===c||d===b.oi)continue;if(b instanceof B&&d===b.Aj)continue}else if(!(b instanceof z))if(b instanceof qa){if("archetypeGroupData"===c||d===b.$x)continue}else if(b instanceof ra){if("archetypeLinkData"===c||d===b.mu)continue;if("archetypeLabelNodeData"===c||d===b.lu)continue}else if(b instanceof sa){if("archetypeNodeData"===c||d===b.gj)continue}else if(b instanceof D){if("nodeDataArray"===
| c||d===b.Ne)continue;if("linkDataArray"===c||d===b.Kg||d===b.Wl)continue;if(d===b.zc)continue;if(d===b.jh)continue}else if(b instanceof ta||b instanceof ua||b instanceof va)continue;t.dw(a+"."+c,d)}}}else if(Array.isArray(b))for(c=0;c<b.length;c++)t.dw(a+"["+c+"]",b[c]);else t.cv.add(t.HD(a,b))},SH:function(a){void 0===t.Cv?t.Cv=new na:t.Cv.clear();t.cv=new xa;t.dw("",a);a=t.cv.toString();t.cv=null;return a},sJ:function(a){for(var b=[],c=0;256>c;c++)b[c]=c;for(var d=0,e,c=0;256>c;c++)d=(d+b[c]+119)%
| 256,e=b[c],b[c]=b[d],b[d]=e;for(var d=c=0,g="",h=0;h<a.length;h++)c=(c+1)%256,d=(d+b[c])%256,e=b[c],b[c]=b[d],b[d]=e,g+=String.fromCharCode(a.charCodeAt(h)^b[(b[c]+b[d])%256]);return g},EI:function(a){for(var b=[],c=0;256>c;c++)b["0123456789abcdef".charAt(c>>4)+"0123456789abcdef".charAt(c&15)]=String.fromCharCode(c);a.length%2&&(a="0"+a);for(var d=[],e=0,c=0;c<a.length;c+=2)d[e++]=b[a.substr(c,2)];a=d.join("");return""===a?"0":a},Da:function(a){return t.sJ(t.EI(a))},Al:null,Yv:"7da71ca0ad381e90",
| TH:"@COLOR1",UH:"@COLOR2"};
| t.Al=function(){var a=document.createElement("canvas"),b=a.getContext("2d");b[t.Da("7ca11abfd022028846")]=t.Da("398c3597c01238");for(var c=["","","",""],d=1;5>d;d++)b[t.Da("7ca11abfd7330390")](t.Da(c[d-1]),10,15*d+0);b[t.Da("7ca11abfd022028846")]=t.Da("39f046ebb36e4b");for(d=1;5>d;d++)b[t.Da("7ca11abfd7330390")](t.Da(c[d-1]),
| 10,15*d+0);if(4!==c.length||"5"!==c[0][0]||"7"!==c[3][0])t.w=function(a,b){var c=new ca(a,b,2);Object.freeze(c);a[b]=c;var d=a.au;d||(d=new la("string",ca),a.au=d);d.add(b,c);return c};return a}();function ca(a,b,c){t.wc(this);this.WB=a;this.Vb=b;this.oH=c}ca.prototype.toString=function(){return t.Wg(this.WB)+"."+this.Vb};t.A(ca,{Se:"classType"},function(){return this.WB});t.A(ca,{name:"name"},function(){return this.Vb});t.A(ca,{value:"value"},function(){return this.oH});
| function xa(){this.VB=[]}xa.prototype.toString=function(){return this.VB.join("")};xa.prototype.add=function(a){a&&this.VB.push(a)};function ya(){}t.A(ya,{k:"iterator"},function(){return this});ya.prototype.reset=ya.prototype.reset=function(){};ya.prototype.next=ya.prototype.hasNext=ya.prototype.next=function(){return!1};ya.prototype.first=ya.prototype.$a=function(){return null};ya.prototype.any=function(){return!1};ya.prototype.all=function(){return!0};ya.prototype.each=function(){};
| t.A(ya,{count:"count"},function(){return 0});ya.prototype.Yf=function(){};ya.prototype.toString=function(){return"EmptyIterator"};t.Vf=new ya;function za(a){this.key=-1;this.value=a}t.Rd(za,{key:!0,value:!0});t.A(za,{k:"iterator"},function(){return this});za.prototype.reset=za.prototype.reset=function(){this.key=-1};za.prototype.next=za.prototype.hasNext=za.prototype.next=function(){return-1===this.key?(this.key=0,!0):!1};za.prototype.first=za.prototype.$a=function(){this.key=0;return this.value};
| za.prototype.any=function(a){this.key=-1;return a(this.value)};za.prototype.all=function(a){this.key=-1;return a(this.value)};za.prototype.each=function(a){this.key=-1;a(this.value)};t.A(za,{count:"count"},function(){return 1});za.prototype.Yf=function(){this.value=null};za.prototype.toString=function(){return"SingletonIterator("+this.value+")"};function Aa(a){this.zd=a;this.Dj=null;this.reset()}t.Rd(Aa,{key:!0,value:!0});t.A(Aa,{k:"iterator"},function(){return this});t.g(Aa,"predicate",Aa.prototype.ql);
| t.defineProperty(Aa,{ql:"predicate"},function(){return this.Dj},function(a){this.Dj=a});Aa.prototype.reset=Aa.prototype.reset=function(){var a=this.zd;a.yd=null;this.Ya=a.V;this.Qc=-1};Aa.prototype.next=Aa.prototype.hasNext=Aa.prototype.next=function(){var a=this.zd;a.V!==this.Ya&&t.Kb(a);var a=a.n,b=a.length,c=++this.Qc,d=this.Dj;if(null!==d)for(;c<b;){var e=a[c];if(d(e))return this.key=this.Qc=c,this.value=e,!0;c++}else{if(c<b)return this.key=c,this.value=a[c],!0;this.Yf()}return!1};
| Aa.prototype.first=Aa.prototype.$a=function(){var a=this.zd;this.Ya=a.V;this.Qc=0;var a=a.n,b=a.length,c=this.Dj;if(null!==c){for(var d=0;d<b;){var e=a[d];if(c(e))return this.key=this.Qc=d,this.value=e;d++}return null}return 0<b?(e=a[0],this.key=0,this.value=e):null};Aa.prototype.any=function(a){var b=this.zd;b.yd=null;var c=b.V;this.Qc=-1;for(var d=b.n,e=d.length,g=this.Dj,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(a(k))return!0;b.V!==c&&t.Kb(b)}}return!1};
| Aa.prototype.all=function(a){var b=this.zd;b.yd=null;var c=b.V;this.Qc=-1;for(var d=b.n,e=d.length,g=this.Dj,h=0;h<e;h++){var k=d[h];if(null===g||g(k)){if(!a(k))return!1;b.V!==c&&t.Kb(b)}}return!0};Aa.prototype.each=function(a){var b=this.zd;b.yd=null;var c=b.V;this.Qc=-1;for(var d=b.n,e=d.length,g=this.Dj,h=0;h<e;h++){var k=d[h];if(null===g||g(k))a(k),b.V!==c&&t.Kb(b)}};t.A(Aa,{count:"count"},function(){var a=this.Dj;if(null!==a){for(var b=0,c=this.zd.n,d=c.length,e=0;e<d;e++)a(c[e])&&b++;return b}return this.zd.n.length});
| Aa.prototype.Yf=function(){this.key=-1;this.value=null;this.Ya=-1;this.Dj=null;this.zd.yd=this};Aa.prototype.toString=function(){return"ListIterator@"+this.Qc+"/"+this.zd.count};function Ba(a){this.zd=a;this.reset()}t.Rd(Ba,{key:!0,value:!0});t.A(Ba,{k:"iterator"},function(){return this});Ba.prototype.reset=Ba.prototype.reset=function(){var a=this.zd;a.$n=null;this.Ya=a.V;this.Qc=a.n.length};
| Ba.prototype.next=Ba.prototype.hasNext=Ba.prototype.next=function(){var a=this.zd;a.V!==this.Ya&&t.Kb(a);var b=--this.Qc;if(0<=b)return this.key=b,this.value=a.n[b],!0;this.Yf();return!1};Ba.prototype.first=Ba.prototype.$a=function(){var a=this.zd;this.Ya=a.V;var b=a.n;this.Qc=a=b.length-1;return 0<=a?(b=b[a],this.key=a,this.value=b):null};Ba.prototype.any=function(a){var b=this.zd;b.$n=null;var c=b.V,d=b.n,e=d.length;this.Qc=e;for(e-=1;0<=e;e++){if(a(d[e]))return!0;b.V!==c&&t.Kb(b)}return!1};
| Ba.prototype.all=function(a){var b=this.zd;b.$n=null;var c=b.V,d=b.n,e=d.length;this.Qc=e;for(e-=1;0<=e;e++){if(!a(d[e]))return!1;b.V!==c&&t.Kb(b)}return!0};Ba.prototype.each=function(a){var b=this.zd;b.$n=null;var c=b.V,d=b.n,e=d.length;this.Qc=e;for(e-=1;0<=e;e++)a(d[e]),b.V!==c&&t.Kb(b)};t.A(Ba,{count:"count"},function(){return this.zd.n.length});Ba.prototype.Yf=function(){this.key=-1;this.value=null;this.Ya=-1;this.zd.$n=this};
| Ba.prototype.toString=function(){return"ListIteratorBackwards("+this.Qc+"/"+this.zd.count+")"};
| function A(a){t.wc(this);this.lb=!1;this.n=[];this.V=0;this.$n=this.yd=null;void 0===a||null===a?this.ba=null:"string"===typeof a?"object"===a||"string"===a||"number"===a||"boolean"===a||"function"===a?this.ba=a:t.ka(a,"the string 'object', 'number', 'string', 'boolean', or 'function'","List constructor: type"):"function"===typeof a?this.ba=a===Object?"object":a===String?"string":a===Number?"number":a===Boolean?"boolean":a===Function?"function":a:t.ka(a,"null, a primitive type name, or a class type",
| "List constructor: type")}t.ga("List",A);A.prototype.Fg=function(a){null!==this.ba&&("string"===typeof this.ba?typeof a===this.ba&&null!==a||t.Xb(a,this.ba):a instanceof this.ba||t.Xb(a,this.ba))};A.prototype.Md=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};A.prototype.freeze=A.prototype.freeze=function(){this.lb=!0;return this};A.prototype.thaw=A.prototype.La=function(){this.lb=!1;return this};A.prototype.toString=function(){return"List("+t.Oh(this.ba)+")#"+t.ld(this)};
| A.prototype.add=A.prototype.add=function(a){null!==a&&(f&&this.Fg(a),t.L(this,a),this.n.push(a),this.Md())};A.prototype.addAll=A.prototype.Pe=function(a){if(null===a)return this;t.L(this);var b=this.n;if(t.isArray(a))for(var c=t.rb(a),d=0;d<c;d++){var e=t.jb(a,d);f&&this.Fg(e);b.push(e)}else for(a=a.k;a.next();)e=a.value,f&&this.Fg(e),b.push(e);this.Md();return this};A.prototype.clear=A.prototype.clear=function(){t.L(this);this.n.length=0;this.Md()};
| A.prototype.contains=A.prototype.has=A.prototype.contains=function(a){if(null===a)return!1;f&&this.Fg(a);return-1!==this.n.indexOf(a)};A.prototype.indexOf=A.prototype.indexOf=function(a){if(null===a)return-1;f&&this.Fg(a);return this.n.indexOf(a)};A.prototype.elt=A.prototype.get=A.prototype.wa=function(a){f&&t.p(a,A,"elt:i");var b=this.n;(0>a||a>=b.length)&&t.ka(a,"0 <= i < length",A,"elt:i");return b[a]};
| A.prototype.setElt=A.prototype.set=A.prototype.Bg=function(a,b){f&&(this.Fg(b),t.p(a,A,"setElt:i"));var c=this.n;(0>a||a>=c.length)&&t.ka(a,"0 <= i < length",A,"setElt:i");t.L(this,a);c[a]=b};A.prototype.first=A.prototype.$a=function(){var a=this.n;return 0===a.length?null:a[0]};A.prototype.any=function(a){for(var b=this.n,c=this.V,d=b.length,e=0;e<d;e++){if(a(b[e]))return!0;this.V!==c&&t.Kb(this)}return!1};
| A.prototype.all=function(a){for(var b=this.n,c=this.V,d=b.length,e=0;e<d;e++){if(!a(b[e]))return!1;this.V!==c&&t.Kb(this)}return!0};A.prototype.each=function(a){for(var b=this.n,c=this.V,d=b.length,e=0;e<d;e++)a(b[e]),this.V!==c&&t.Kb(this)};A.prototype.insertAt=A.prototype.Ed=function(a,b){f&&(this.Fg(b),t.p(a,A,"insertAt:i"));0>a&&t.ka(a,">= 0",A,"insertAt:i");t.L(this,a);var c=this.n;a>=c.length?c.push(b):c.splice(a,0,b);this.Md();return!0};
| A.prototype.remove=A.prototype["delete"]=A.prototype.remove=function(a){if(null===a)return!1;f&&this.Fg(a);t.L(this,a);var b=this.n;a=b.indexOf(a);if(-1===a)return!1;a===b.length-1?b.pop():b.splice(a,1);this.Md();return!0};A.prototype.removeAt=A.prototype.nd=function(a){f&&t.p(a,A,"removeAt:i");var b=this.n;(0>a||a>=b.length)&&t.ka(a,"0 <= i < length",A,"removeAt:i");t.L(this,a);a===b.length-1?b.pop():b.splice(a,1);this.Md()};
| A.prototype.removeRange=A.prototype.removeRange=function(a,b){f&&(t.p(a,A,"removeRange:from"),t.p(b,A,"removeRange:to"));var c=this.n;(0>a||a>=c.length)&&t.ka(a,"0 <= from < length",A,"elt:from");(0>b||b>=c.length)&&t.ka(b,"0 <= to < length",A,"elt:to");t.L(this,a);var d=c.slice((b||a)+1||c.length);c.length=0>a?c.length+a:a;c.push.apply(c,d);this.Md()};A.prototype.copy=function(){for(var a=new A(this.ba),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};
| A.prototype.toArray=A.prototype.Ie=function(){for(var a=this.n,b=this.count,c=Array(b),d=0;d<b;d++)c[d]=a[d];return c};A.prototype.toSet=function(){for(var a=new na(this.ba),b=this.n,c=this.count,d=0;d<c;d++)a.add(b[d]);return a};A.prototype.sort=A.prototype.sort=function(a){f&&t.j(a,"function",A,"sort:sortfunc");t.L(this);this.n.sort(a);this.Md();return this};
| A.prototype.sortRange=A.prototype.Wp=function(a,b,c){var d=this.n,e=d.length;void 0===b&&(b=0);void 0===c&&(c=e);f&&(t.j(a,"function",A,"sortRange:sortfunc"),t.p(b,A,"sortRange:from"),t.p(c,A,"sortRange:to"));t.L(this);var g=c-b;if(1>=g)return this;(0>b||b>=e-1)&&t.ka(b,"0 <= from < length",A,"sortRange:from");if(2===g)return c=d[b],e=d[b+1],0<a(c,e)&&(d[b]=e,d[b+1]=c,this.Md()),this;if(0===b)if(c>=e)d.sort(a);else for(g=d.slice(0,c),g.sort(a),a=0;a<c;a++)d[a]=g[a];else if(c>=e)for(g=d.slice(b),g.sort(a),
| a=b;a<e;a++)d[a]=g[a-b];else for(g=d.slice(b,c),g.sort(a),a=b;a<c;a++)d[a]=g[a-b];this.Md();return this};A.prototype.reverse=A.prototype.reverse=function(){t.L(this);this.n.reverse();this.Md();return this};t.A(A,{count:"count"},function(){return this.n.length});t.A(A,{size:"size"},function(){return this.n.length});t.A(A,{length:"length"},function(){return this.n.length});t.A(A,{k:"iterator"},function(){if(0>=this.n.length)return t.Vf;var a=this.yd;return null!==a?(a.reset(),a):new Aa(this)});
| t.A(A,{Qm:"iteratorBackwards"},function(){if(0>=this.n.length)return t.Vf;var a=this.$n;return null!==a?(a.reset(),a):new Ba(this)});function Ca(a){this.q=a;this.reset()}t.Rd(Ca,{key:!0,value:!0});t.A(Ca,{k:"iterator"},function(){return this});Ca.prototype.reset=Ca.prototype.reset=function(){var a=this.q;a.yd=null;this.Ya=a.V;this.wb=null};
| Ca.prototype.next=Ca.prototype.hasNext=Ca.prototype.next=function(){var a=this.q;a.V!==this.Ya&&t.Kb(a);var b=this.wb,b=null===b?a.eb:b.Nb;if(null!==b)return this.wb=b,this.value=b.value,this.key=b.key,!0;this.Yf();return!1};Ca.prototype.first=Ca.prototype.$a=function(){var a=this.q;this.Ya=a.V;a=a.eb;if(null!==a){this.wb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
| Ca.prototype.any=function(a){var b=this.q;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(a(d.value))return!0;b.V!==c&&t.Kb(b);d=d.Nb}return!1};Ca.prototype.all=function(a){var b=this.q;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(!a(d.value))return!1;b.V!==c&&t.Kb(b);d=d.Nb}return!0};Ca.prototype.each=function(a){var b=this.q;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;)a(d.value),b.V!==c&&t.Kb(b),d=d.Nb};t.A(Ca,{count:"count"},function(){return this.q.ad});
| Ca.prototype.Yf=function(){this.value=this.key=null;this.Ya=-1;this.q.yd=this};Ca.prototype.toString=function(){return null!==this.wb?"SetIterator@"+this.wb.value:"SetIterator"};
| function na(a){t.wc(this);this.lb=!1;void 0===a||null===a?this.ba=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.ba=a:t.ka(a,"the string 'object', 'number' or 'string'","Set constructor: type"):"function"===typeof a?this.ba=a===Object?"object":a===String?"string":a===Number?"number":a:t.ka(a,"null, a primitive type name, or a class type","Set constructor: type");this.bd={};this.ad=0;this.yd=null;this.V=0;this.vh=this.eb=null}t.ga("Set",na);
| na.prototype.Fg=function(a){null!==this.ba&&("string"===typeof this.ba?typeof a===this.ba&&null!==a||t.Xb(a,this.ba):a instanceof this.ba||t.Xb(a,this.ba))};na.prototype.Md=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};na.prototype.freeze=na.prototype.freeze=function(){this.lb=!0;return this};na.prototype.thaw=na.prototype.La=function(){this.lb=!1;return this};na.prototype.toString=function(){return"Set("+t.Oh(this.ba)+")#"+t.ld(this)};
| na.prototype.add=na.prototype.add=function(a){if(null===a)return!1;f&&this.Fg(a);t.L(this,a);var b=a;t.tb(a)&&(b=t.jt(a));return void 0===this.bd[b]?(this.ad++,a=new Da(a,a),this.bd[b]=a,b=this.vh,null===b?this.eb=a:(a.qo=b,b.Nb=a),this.vh=a,this.Md(),!0):!1};na.prototype.addAll=na.prototype.Pe=function(a){if(null===a)return this;t.L(this);if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.add(t.jb(a,c));else for(a=a.k;a.next();)this.add(a.value);return this};
| na.prototype.contains=na.prototype.has=na.prototype.contains=function(a){if(null===a)return!1;f&&this.Fg(a);var b=a;return t.tb(a)&&(b=t.ld(a),void 0===b)?!1:void 0!==this.bd[b]};na.prototype.containsAll=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(!this.contains(a.value))return!1;return!0};na.prototype.containsAny=function(a){if(null===a)return!0;for(a=a.k;a.next();)if(this.contains(a.value))return!0;return!1};
| na.prototype.first=na.prototype.$a=function(){var a=this.eb;return null===a?null:a.value};na.prototype.any=function(a){for(var b=this.V,c=this.eb;null!==c;){if(a(c.value))return!0;this.V!==b&&t.Kb(this);c=c.Nb}return!1};na.prototype.all=function(a){for(var b=this.V,c=this.eb;null!==c;){if(!a(c.value))return!1;this.V!==b&&t.Kb(this);c=c.Nb}return!0};na.prototype.each=function(a){for(var b=this.V,c=this.eb;null!==c;)a(c.value),this.V!==b&&t.Kb(this),c=c.Nb};
| na.prototype.remove=na.prototype["delete"]=na.prototype.remove=function(a){if(null===a)return!1;f&&this.Fg(a);t.L(this,a);var b=a;if(t.tb(a)&&(b=t.ld(a),void 0===b))return!1;a=this.bd[b];if(void 0===a)return!1;var c=a.Nb,d=a.qo;null!==c&&(c.qo=d);null!==d&&(d.Nb=c);this.eb===a&&(this.eb=c);this.vh===a&&(this.vh=d);delete this.bd[b];this.ad--;this.Md();return!0};
| na.prototype.removeAll=function(a){if(null===a)return this;t.L(this);if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.remove(t.jb(a,c));else for(a=a.k;a.next();)this.remove(a.value);return this};na.prototype.retainAll=function(a){if(null===a||0===this.count)return this;t.L(this);var b=new na(this.ba);b.Pe(a);a=new A(this.ba);for(var c=this.k;c.next();)b.contains(c.value)||a.add(c.value);for(b=a.k;b.next();)this.remove(b.value);return this};
| na.prototype.clear=na.prototype.clear=function(){t.L(this);this.bd={};this.ad=0;this.vh=this.eb=null;this.Md()};na.prototype.copy=function(){var a=new na(this.ba),b=this.bd,c;for(c in b)a.add(b[c].value);return a};na.prototype.toArray=na.prototype.Ie=function(){var a=Array(this.ad),b=this.bd,c=0,d;for(d in b)a[c]=b[d].value,c++;return a};na.prototype.toList=function(){var a=new A(this.ba),b=this.bd,c;for(c in b)a.add(b[c].value);return a};t.A(na,{count:"count"},function(){return this.ad});
| t.A(na,{size:"size"},function(){return this.ad});t.A(na,{k:"iterator"},function(){if(0>=this.ad)return t.Vf;var a=this.yd;return null!==a?(a.reset(),a):new Ca(this)});function Fa(a){this.Xa=a;this.reset()}t.Rd(Fa,{key:!0,value:!0});t.A(Fa,{k:"iterator"},function(){return this});Fa.prototype.reset=Fa.prototype.reset=function(){this.Ya=this.Xa.V;this.wb=null};
| Fa.prototype.next=Fa.prototype.hasNext=Fa.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Kb(a);var b=this.wb,b=null===b?a.eb:b.Nb;if(null!==b)return this.wb=b,this.value=this.key=a=b.key,!0;this.Yf();return!1};Fa.prototype.first=Fa.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.eb;return null!==a?(this.wb=a,this.value=this.key=a=a.key):null};Fa.prototype.any=function(a){var b=this.Xa,c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(a(d.key))return!0;b.V!==c&&t.Kb(b);d=d.Nb}return!1};
| Fa.prototype.all=function(a){var b=this.Xa,c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(!a(d.key))return!1;b.V!==c&&t.Kb(b);d=d.Nb}return!0};Fa.prototype.each=function(a){var b=this.Xa,c=b.V;this.wb=null;for(var d=b.eb;null!==d;)a(d.key),b.V!==c&&t.Kb(b),d=d.Nb};t.A(Fa,{count:"count"},function(){return this.Xa.ad});Fa.prototype.Yf=function(){this.value=this.key=null;this.Ya=-1};Fa.prototype.toString=function(){return null!==this.wb?"MapKeySetIterator@"+this.wb.value:"MapKeySetIterator"};
| function Ia(a){t.wc(this);this.lb=!0;this.Xa=a}t.Ka(Ia,na);Ia.prototype.freeze=function(){return this};Ia.prototype.La=function(){return this};Ia.prototype.toString=function(){return"MapKeySet("+this.Xa.toString()+")"};Ia.prototype.add=Ia.prototype.set=Ia.prototype.add=function(){t.l("This Set is read-only: "+this.toString());return!1};Ia.prototype.contains=Ia.prototype.has=Ia.prototype.contains=function(a){return this.Xa.contains(a)};
| Ia.prototype.remove=Ia.prototype["delete"]=Ia.prototype.remove=function(){t.l("This Set is read-only: "+this.toString());return!1};Ia.prototype.clear=Ia.prototype.clear=function(){t.l("This Set is read-only: "+this.toString())};Ia.prototype.first=Ia.prototype.$a=function(){var a=this.Xa.eb;return null!==a?a.key:null};Ia.prototype.any=function(a){for(var b=this.Xa.eb;null!==b;){if(a(b.key))return!0;b=b.Nb}return!1};
| Ia.prototype.all=function(a){for(var b=this.Xa.eb;null!==b;){if(!a(b.key))return!1;b=b.Nb}return!0};Ia.prototype.each=function(a){for(var b=this.Xa.eb;null!==b;)a(b.key),b=b.Nb};Ia.prototype.copy=function(){return new Ia(this.Xa)};Ia.prototype.toSet=function(){var a=new na(this.Xa.uh),b=this.Xa.bd,c;for(c in b)a.add(b[c].key);return a};Ia.prototype.toArray=Ia.prototype.Ie=function(){var a=this.Xa.bd,b=Array(this.Xa.ad),c=0,d;for(d in a)b[c]=a[d].key,c++;return b};
| Ia.prototype.toList=function(){var a=new A(this.ba),b=this.Xa.bd,c;for(c in b)a.add(b[c].key);return a};t.A(Ia,{count:"count"},function(){return this.Xa.ad});t.A(Ia,{size:"size"},function(){return this.Xa.ad});t.A(Ia,{k:"iterator"},function(){return 0>=this.Xa.ad?t.Vf:new Fa(this.Xa)});function La(a){this.Xa=a;this.reset()}t.Rd(La,{key:!0,value:!0});t.A(La,{k:"iterator"},function(){return this});La.prototype.reset=La.prototype.reset=function(){var a=this.Xa;a.ao=null;this.Ya=a.V;this.wb=null};
| La.prototype.next=La.prototype.hasNext=La.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Kb(a);var b=this.wb,b=null===b?a.eb:b.Nb;if(null!==b)return this.wb=b,this.value=b.value,this.key=b.key,!0;this.Yf();return!1};La.prototype.first=La.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.eb;if(null!==a){this.wb=a;var b=a.value;this.key=a.key;return this.value=b}return null};
| La.prototype.any=function(a){var b=this.Xa;b.ao=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(a(d.value))return!0;b.V!==c&&t.Kb(b);d=d.Nb}return!1};La.prototype.all=function(a){var b=this.Xa;b.ao=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(!a(d.value))return!1;b.V!==c&&t.Kb(b);d=d.Nb}return!0};La.prototype.each=function(a){var b=this.Xa;b.ao=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;)a(d.value),b.V!==c&&t.Kb(b),d=d.Nb};t.A(La,{count:"count"},function(){return this.Xa.ad});
| La.prototype.Yf=function(){this.value=this.key=null;this.Ya=-1;this.Xa.ao=this};La.prototype.toString=function(){return null!==this.wb?"MapValueSetIterator@"+this.wb.value:"MapValueSetIterator"};function Da(a,b){this.key=a;this.value=b;this.qo=this.Nb=null}t.Rd(Da,{key:!0,value:!0});Da.prototype.toString=function(){return"{"+this.key+":"+this.value+"}"};function Ma(a){this.Xa=a;this.reset()}t.Rd(Ma,{key:!0,value:!0});t.A(Ma,{k:"iterator"},function(){return this});
| Ma.prototype.reset=Ma.prototype.reset=function(){var a=this.Xa;a.yd=null;this.Ya=a.V;this.wb=null};Ma.prototype.next=Ma.prototype.hasNext=Ma.prototype.next=function(){var a=this.Xa;a.V!==this.Ya&&t.Kb(a);var b=this.wb,b=null===b?a.eb:b.Nb;if(null!==b)return this.wb=b,this.key=b.key,this.value=b.value,!0;this.Yf();return!1};Ma.prototype.first=Ma.prototype.$a=function(){var a=this.Xa;this.Ya=a.V;a=a.eb;return null!==a?(this.wb=a,this.key=a.key,this.value=a.value,a):null};
| Ma.prototype.any=function(a){var b=this.Xa;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(a(d))return!0;b.V!==c&&t.Kb(b);d=d.Nb}return!1};Ma.prototype.all=function(a){var b=this.Xa;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;){if(!a(d))return!1;b.V!==c&&t.Kb(b);d=d.Nb}return!0};Ma.prototype.each=function(a){var b=this.Xa;b.yd=null;var c=b.V;this.wb=null;for(var d=b.eb;null!==d;)a(d),b.V!==c&&t.Kb(b),d=d.Nb};t.A(Ma,{count:"count"},function(){return this.Xa.ad});
| Ma.prototype.Yf=function(){this.value=this.key=null;this.Ya=-1;this.Xa.yd=this};Ma.prototype.toString=function(){return null!==this.wb?"MapIterator@"+this.wb:"MapIterator"};
| function la(a,b){t.wc(this);this.lb=!1;void 0===a||null===a?this.uh=null:"string"===typeof a?"object"===a||"string"===a||"number"===a?this.uh=a:t.ka(a,"the string 'object', 'number' or 'string'","Map constructor: keytype"):"function"===typeof a?this.uh=a===Object?"object":a===String?"string":a===Number?"number":a:t.ka(a,"null, a primitive type name, or a class type","Map constructor: keytype");void 0===b||null===b?this.Gi=null:"string"===typeof b?"object"===b||"string"===b||"boolean"===b||"number"===
| b||"function"===b?this.Gi=b:t.ka(b,"the string 'object', 'number', 'string', 'boolean', or 'function'","Map constructor: valtype"):"function"===typeof b?this.Gi=b===Object?"object":b===String?"string":b===Number?"number":b===Boolean?"boolean":b===Function?"function":b:t.ka(b,"null, a primitive type name, or a class type","Map constructor: valtype");this.bd={};this.ad=0;this.ao=this.yd=null;this.V=0;this.vh=this.eb=null}t.ga("Map",la);
| function Na(a,b){null!==a.uh&&("string"===typeof a.uh?typeof b===a.uh&&null!==b||t.Xb(b,a.uh):b instanceof a.uh||t.Xb(b,a.uh))}la.prototype.Md=function(){var a=this.V;a++;999999999<a&&(a=0);this.V=a};la.prototype.freeze=la.prototype.freeze=function(){this.lb=!0;return this};la.prototype.thaw=la.prototype.La=function(){this.lb=!1;return this};la.prototype.toString=function(){return"Map("+t.Oh(this.uh)+","+t.Oh(this.Gi)+")#"+t.ld(this)};
| la.prototype.add=la.prototype.set=la.prototype.add=function(a,b){f&&(Na(this,a),null!==this.Gi&&("string"===typeof this.Gi?typeof b===this.Gi&&null!==b||t.Xb(b,this.Gi):b instanceof this.Gi||t.Xb(b,this.Gi)));t.L(this,a);var c=a;t.tb(a)&&(c=t.jt(a));var d=this.bd[c];if(void 0===d)return this.ad++,d=new Da(a,b),this.bd[c]=d,c=this.vh,null===c?this.eb=d:(d.qo=c,c.Nb=d),this.vh=d,this.Md(),!0;d.value=b;return!1};
| la.prototype.addAll=la.prototype.Pe=function(a){if(null===a)return this;if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++){var d=t.jb(a,c);this.add(d.key,d.value)}else for(f&&t.m(a,la,la,"addAll:map"),a=a.k;a.next();)this.add(a.key,a.value);return this};la.prototype.first=la.prototype.$a=function(){return this.eb};la.prototype.any=function(a){for(var b=this.V,c=this.eb;null!==c;){if(a(c))return!0;this.V!==b&&t.Kb(this);c=c.Nb}return!1};
| la.prototype.all=function(a){for(var b=this.V,c=this.eb;null!==c;){if(!a(c))return!1;this.V!==b&&t.Kb(this);c=c.Nb}return!0};la.prototype.each=function(a){for(var b=this.V,c=this.eb;null!==c;)a(c),this.V!==b&&t.Kb(this),c=c.Nb};la.prototype.contains=la.prototype.has=la.prototype.contains=function(a){f&&Na(this,a);var b=a;return t.tb(a)&&(b=t.ld(a),void 0===b)?!1:void 0!==this.bd[b]};
| la.prototype.getValue=la.prototype.get=la.prototype.ya=function(a){f&&Na(this,a);var b=a;if(t.tb(a)&&(b=t.ld(a),void 0===b))return null;a=this.bd[b];return void 0===a?null:a.value};
| la.prototype.remove=la.prototype["delete"]=la.prototype.remove=function(a){if(null===a)return!1;f&&Na(this,a);t.L(this,a);var b=a;if(t.tb(a)&&(b=t.ld(a),void 0===b))return!1;a=this.bd[b];if(void 0===a)return!1;var c=a.Nb,d=a.qo;null!==c&&(c.qo=d);null!==d&&(d.Nb=c);this.eb===a&&(this.eb=c);this.vh===a&&(this.vh=d);delete this.bd[b];this.ad--;this.Md();return!0};la.prototype.clear=la.prototype.clear=function(){t.L(this);this.bd={};this.ad=0;this.vh=this.eb=null;this.Md()};
| la.prototype.copy=function(){var a=new la(this.uh,this.Gi),b=this.bd,c;for(c in b){var d=b[c];a.add(d.key,d.value)}return a};la.prototype.toArray=la.prototype.Ie=function(){var a=this.bd,b=Array(this.ad),c=0,d;for(d in a){var e=a[d];b[c]=new Da(e.key,e.value);c++}return b};la.prototype.toKeySet=la.prototype.zl=function(){return new Ia(this)};t.A(la,{count:"count"},function(){return this.ad});t.A(la,{size:"size"},function(){return this.ad});
| t.A(la,{k:"iterator"},function(){if(0>=this.count)return t.Vf;var a=this.yd;return null!==a?(a.reset(),a):new Ma(this)});t.A(la,{lK:"iteratorKeys"},function(){return 0>=this.count?t.Vf:new Fa(this)});t.A(la,{ZE:"iteratorValues"},function(){if(0>=this.count)return t.Vf;var a=this.ao;return null!==a?(a.reset(),a):new La(this)});function v(a,b){void 0===a||void 0===b?this.y=this.x=0:!f||"number"===typeof a&&"number"===typeof b?(this.x=a,this.y=b):t.l("Invalid arguments to Point constructor")}
| t.ga("Point",v);t.Kh(v);t.Rd(v,{x:!0,y:!0});v.prototype.assign=function(a){this.x=a.x;this.y=a.y};v.prototype.q=function(a,b){this.x=a;this.y=b};v.prototype.setTo=v.prototype.Up=function(a,b){f&&(t.j(a,"number",v,"setTo:x"),t.j(b,"number",v,"setTo:y"));t.L(this);this.x=a;this.y=b;return this};v.prototype.set=v.prototype.set=function(a){f&&t.m(a,v,v,"set:p");t.L(this);this.x=a.x;this.y=a.y;return this};v.prototype.copy=function(){var a=new v;a.x=this.x;a.y=this.y;return a};
| v.prototype.Ja=function(){this.lb=!0;Object.freeze(this);return this};v.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};v.prototype.freeze=function(){this.lb=!0;return this};v.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;return this};
| v.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new v(c,e)}return new v};v.stringify=function(a){return a instanceof v?a.x.toString()+" "+a.y.toString():a.toString()};v.prototype.toString=function(){return"Point("+this.x+","+this.y+")"};v.prototype.equals=v.prototype.M=function(a){return a instanceof v?this.x===a.x&&this.y===a.y:!1};
| v.prototype.equalTo=function(a,b){return this.x===a&&this.y===b};v.prototype.Wj=function(a){return F.Ha(this.x,a.x)&&F.Ha(this.y,a.y)};v.prototype.Si=function(a){return F.I(this.x,a.x)&&F.I(this.y,a.y)};v.prototype.add=v.prototype.add=function(a){f&&t.m(a,v,v,"add:p");t.L(this);this.x+=a.x;this.y+=a.y;return this};v.prototype.subtract=v.prototype.Tt=function(a){f&&t.m(a,v,v,"subtract:p");t.L(this);this.x-=a.x;this.y-=a.y;return this};
| v.prototype.offset=v.prototype.offset=function(a,b){f&&(t.p(a,v,"offset:dx"),t.p(b,v,"offset:dy"));t.L(this);this.x+=a;this.y+=b;return this};v.prototype.rotate=v.prototype.rotate=function(a){f&&t.p(a,v,"rotate:angle");t.L(this);if(0===a)return this;var b=this.x,c=this.y;if(0===b&&0===c)return this;var d;90===a?(a=0,d=1):180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));this.x=a*b-d*c;this.y=d*b+a*c;return this};
| v.prototype.scale=v.prototype.scale=function(a,b){f&&(t.p(a,v,"scale:sx"),t.p(b,v,"scale:sy"));this.x*=a;this.y*=b;return this};v.prototype.distanceSquaredPoint=v.prototype.Uj=function(a){f&&t.m(a,v,v,"distanceSquaredPoint:p");var b=a.x-this.x;a=a.y-this.y;return b*b+a*a};v.prototype.distanceSquared=v.prototype.$s=function(a,b){f&&(t.p(a,v,"distanceSquared:px"),t.p(b,v,"distanceSquared:py"));var c=a-this.x,d=b-this.y;return c*c+d*d};
| v.prototype.normalize=v.prototype.normalize=function(){t.L(this);var a=this.x,b=this.y,c=Math.sqrt(a*a+b*b);0<c&&(this.x=a/c,this.y=b/c);return this};v.prototype.directionPoint=v.prototype.Qi=function(a){f&&t.m(a,v,v,"directionPoint:p");return Pa(a.x-this.x,a.y-this.y)};v.prototype.direction=v.prototype.direction=function(a,b){f&&(t.p(a,v,"direction:px"),t.p(b,v,"direction:py"));return Pa(a-this.x,b-this.y)};
| function Pa(a,b){if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;var c=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?c=0>b?c+180:180-c:0>b&&(c=360-c);return c}v.prototype.projectOntoLineSegment=function(a,b,c,d){f&&(t.p(a,v,"projectOntoLineSegment:px"),t.p(b,v,"projectOntoLineSegment:py"),t.p(c,v,"projectOntoLineSegment:qx"),t.p(d,v,"projectOntoLineSegment:qy"));F.Wm(a,b,c,d,this.x,this.y,this);return this};
| v.prototype.projectOntoLineSegmentPoint=function(a,b){f&&(t.m(a,v,v,"projectOntoLineSegmentPoint:p"),t.m(b,v,v,"projectOntoLineSegmentPoint:q"));F.Wm(a.x,a.y,b.x,b.y,this.x,this.y,this);return this};v.prototype.snapToGrid=function(a,b,c,d){f&&(t.p(a,v,"snapToGrid:originx"),t.p(b,v,"snapToGrid:originy"),t.p(c,v,"snapToGrid:cellwidth"),t.p(d,v,"snapToGrid:cellheight"));F.dt(this.x,this.y,a,b,c,d,this);return this};
| v.prototype.snapToGridPoint=function(a,b){f&&(t.m(a,v,v,"snapToGridPoint:p"),t.m(b,fa,v,"snapToGridPoint:q"));F.dt(this.x,this.y,a.x,a.y,b.width,b.height,this);return this};v.prototype.setRectSpot=v.prototype.Ot=function(a,b){f&&(t.m(a,w,v,"setRectSpot:r"),t.m(b,H,v,"setRectSpot:spot"));t.L(this);this.x=a.x+b.x*a.width+b.offsetX;this.y=a.y+b.y*a.height+b.offsetY;return this};
| v.prototype.setSpot=v.prototype.Pt=function(a,b,c,d,e){f&&(t.p(a,v,"setSpot:x"),t.p(b,v,"setSpot:y"),t.p(c,v,"setSpot:w"),t.p(d,v,"setSpot:h"),(0>c||0>d)&&t.l("Point.setSpot:Width and height cannot be negative"),t.m(e,H,v,"setSpot:spot"));t.L(this);this.x=a+e.x*c+e.offsetX;this.y=b+e.y*d+e.offsetY;return this};v.prototype.transform=function(a){f&&t.m(a,ga,v,"transform:t");a.Ra(this);return this};function Qa(a,b){f&&t.m(b,ga,v,"transformInverted:t");b.Ph(a);return a}var Ra;
| v.distanceLineSegmentSquared=Ra=function(a,b,c,d,e,g){f&&(t.p(a,v,"distanceLineSegmentSquared:px"),t.p(b,v,"distanceLineSegmentSquared:py"),t.p(c,v,"distanceLineSegmentSquared:ax"),t.p(d,v,"distanceLineSegmentSquared:ay"),t.p(e,v,"distanceLineSegmentSquared:bx"),t.p(g,v,"distanceLineSegmentSquared:by"));var h=e-c,k=g-d,l=h*h+k*k;c-=a;d-=b;var m=-c*h-d*k;if(0>=m||m>=l)return h=e-a,k=g-b,Math.min(c*c+d*d,h*h+k*k);a=h*d-k*c;return a*a/l};var Ta;
| v.distanceSquared=Ta=function(a,b,c,d){f&&(t.p(a,v,"distanceSquared:px"),t.p(b,v,"distanceSquared:py"),t.p(c,v,"distanceSquared:qx"),t.p(d,v,"distanceSquared:qy"));a=c-a;b=d-b;return a*a+b*b};var Va;
| v.direction=Va=function(a,b,c,d){f&&(t.p(a,v,"direction:px"),t.p(b,v,"direction:py"),t.p(c,v,"direction:qx"),t.p(d,v,"direction:qy"));a=c-a;b=d-b;if(0===a)return 0<b?90:0>b?270:0;if(0===b)return 0<a?0:180;if(isNaN(a)||isNaN(b))return 0;d=180*Math.atan(Math.abs(b/a))/Math.PI;0>a?d=0>b?d+180:180-d:0>b&&(d=360-d);return d};v.prototype.isReal=v.prototype.N=function(){return isFinite(this.x)&&isFinite(this.y)};
| function fa(a,b){void 0===a||void 0===b?this.height=this.width=0:!f||"number"===typeof a&&(0<=a||isNaN(a))&&"number"===typeof b&&(0<=b||isNaN(b))?(this.width=a,this.height=b):t.l("Invalid arguments to Size constructor")}t.ga("Size",fa);t.Kh(fa);t.Rd(fa,{width:!0,height:!0});fa.prototype.assign=function(a){this.width=a.width;this.height=a.height};fa.prototype.q=function(a,b){this.width=a;this.height=b};
| fa.prototype.setTo=fa.prototype.Up=function(a,b){f&&(t.j(a,"number",fa,"setTo:w"),t.j(b,"number",fa,"setTo:h"));0>a&&t.ka(a,">= 0",fa,"setTo:w");0>b&&t.ka(b,">= 0",fa,"setTo:h");t.L(this);this.width=a;this.height=b;return this};fa.prototype.set=fa.prototype.set=function(a){f&&t.m(a,fa,fa,"set:s");t.L(this);this.width=a.width;this.height=a.height;return this};fa.prototype.copy=function(){var a=new fa;a.width=this.width;a.height=this.height;return a};
| fa.prototype.Ja=function(){this.lb=!0;Object.freeze(this);return this};fa.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};fa.prototype.freeze=function(){this.lb=!0;return this};fa.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;return this};
| fa.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));return new fa(c,e)}return new fa};fa.stringify=function(a){return a instanceof fa?a.width.toString()+" "+a.height.toString():a.toString()};fa.prototype.toString=function(){return"Size("+this.width+","+this.height+")"};
| fa.prototype.equals=fa.prototype.M=function(a){return a instanceof fa?this.width===a.width&&this.height===a.height:!1};fa.prototype.equalTo=function(a,b){return this.width===a&&this.height===b};fa.prototype.Wj=function(a){return F.Ha(this.width,a.width)&&F.Ha(this.height,a.height)};fa.prototype.Si=function(a){return F.I(this.width,a.width)&&F.I(this.height,a.height)};fa.prototype.isReal=fa.prototype.N=function(){return isFinite(this.width)&&isFinite(this.height)};
| function w(a,b,c,d){void 0===a?this.height=this.width=this.y=this.x=0:a instanceof v?b instanceof v?(this.x=Math.min(a.x,b.x),this.y=Math.min(a.y,b.y),this.width=Math.abs(a.x-b.x),this.height=Math.abs(a.y-b.y)):b instanceof fa?(this.x=a.x,this.y=a.y,this.width=b.width,this.height=b.height):t.l("Incorrect arguments supplied"):!f||"number"===typeof a&&"number"===typeof b&&"number"===typeof c&&(0<=c||isNaN(c))&&"number"===typeof d&&(0<=d||isNaN(d))?(this.x=a,this.y=b,this.width=c,this.height=d):t.l("Invalid arguments to Rect constructor")}
| t.ga("Rect",w);t.Kh(w);t.Rd(w,{x:!0,y:!0,width:!0,height:!0});w.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height};w.prototype.q=function(a,b,c,d){this.x=a;this.y=b;this.width=c;this.height=d};function Wa(a,b,c){a.width=b;a.height=c}
| w.prototype.setTo=w.prototype.Up=function(a,b,c,d){f&&(t.j(a,"number",w,"setTo:x"),t.j(b,"number",w,"setTo:y"),t.j(c,"number",w,"setTo:w"),t.j(d,"number",w,"setTo:h"));0>c&&t.ka(c,">= 0",w,"setTo:w");0>d&&t.ka(d,">= 0",w,"setTo:h");t.L(this);this.x=a;this.y=b;this.width=c;this.height=d;return this};w.prototype.set=w.prototype.set=function(a){f&&t.m(a,w,w,"set:r");t.L(this);this.x=a.x;this.y=a.y;this.width=a.width;this.height=a.height;return this};
| w.prototype.setPoint=w.prototype.wf=function(a){f&&t.m(a,v,w,"setPoint:p");t.L(this);this.x=a.x;this.y=a.y;return this};w.prototype.setSize=function(a){f&&t.m(a,fa,w,"setSize:s");t.L(this);this.width=a.width;this.height=a.height;return this};w.prototype.copy=function(){var a=new w;a.x=this.x;a.y=this.y;a.width=this.width;a.height=this.height;return a};w.prototype.Ja=function(){this.lb=!0;Object.freeze(this);return this};w.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};
| w.prototype.freeze=function(){this.lb=!0;return this};w.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;return this};w.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new w(c,e,g,h)}return new w};
| w.stringify=function(a){return a instanceof w?a.x.toString()+" "+a.y.toString()+" "+a.width.toString()+" "+a.height.toString():a.toString()};w.prototype.toString=function(){return"Rect("+this.x+","+this.y+","+this.width+","+this.height+")"};w.prototype.equals=w.prototype.M=function(a){return a instanceof w?this.x===a.x&&this.y===a.y&&this.width===a.width&&this.height===a.height:!1};w.prototype.equalTo=function(a,b,c,d){return this.x===a&&this.y===b&&this.width===c&&this.height===d};
| w.prototype.Wj=function(a){return F.Ha(this.x,a.x)&&F.Ha(this.y,a.y)&&F.Ha(this.width,a.width)&&F.Ha(this.height,a.height)};w.prototype.Si=function(a){return F.I(this.x,a.x)&&F.I(this.y,a.y)&&F.I(this.width,a.width)&&F.I(this.height,a.height)};w.prototype.containsPoint=w.prototype.Ga=function(a){f&&t.m(a,v,w,"containsPoint:p");return this.x<=a.x&&this.x+this.width>=a.x&&this.y<=a.y&&this.y+this.height>=a.y};
| w.prototype.containsRect=w.prototype.Rj=function(a){f&&t.m(a,w,w,"containsRect:r");return this.x<=a.x&&a.x+a.width<=this.x+this.width&&this.y<=a.y&&a.y+a.height<=this.y+this.height};
| w.prototype.contains=w.prototype.contains=function(a,b,c,d){f?(t.p(a,w,"contains:x"),t.p(b,w,"contains:y"),void 0===c?c=0:t.p(c,w,"contains:w"),void 0===d?d=0:t.p(d,w,"contains:h"),(0>c||0>d)&&t.l("Rect.contains:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return this.x<=a&&a+c<=this.x+this.width&&this.y<=b&&b+d<=this.y+this.height};w.prototype.reset=function(){t.L(this);this.height=this.width=this.y=this.x=0};
| w.prototype.offset=w.prototype.offset=function(a,b){f&&(t.p(a,w,"offset:dx"),t.p(b,w,"offset:dy"));t.L(this);this.x+=a;this.y+=b;return this};w.prototype.inflate=w.prototype.Lf=function(a,b){f&&(t.p(a,w,"inflate:w"),t.p(b,w,"inflate:h"));return Xa(this,b,a,b,a)};w.prototype.addMargin=w.prototype.Wv=function(a){f&&t.m(a,ab,w,"addMargin:m");return Xa(this,a.top,a.right,a.bottom,a.left)};
| w.prototype.subtractMargin=w.prototype.IJ=function(a){f&&t.m(a,ab,w,"subtractMargin:m");return Xa(this,-a.top,-a.right,-a.bottom,-a.left)};w.prototype.grow=function(a,b,c,d){f&&(t.p(a,w,"grow:t"),t.p(b,w,"grow:r"),t.p(c,w,"grow:b"),t.p(d,w,"grow:l"));return Xa(this,a,b,c,d)};function Xa(a,b,c,d,e){t.L(a);var g=a.width;c+e<=-g?(a.x+=g/2,a.width=0):(a.x-=e,a.width+=c+e);c=a.height;b+d<=-c?(a.y+=c/2,a.height=0):(a.y-=b,a.height+=b+d);return a}
| w.prototype.intersectRect=function(a){f&&t.m(a,w,w,"intersectRect:r");return cb(this,a.x,a.y,a.width,a.height)};w.prototype.intersect=function(a,b,c,d){f&&(t.p(a,w,"intersect:x"),t.p(b,w,"intersect:y"),t.p(c,w,"intersect:w"),t.p(d,w,"intersect:h"),(0>c||0>d)&&t.l("Rect.intersect:Width and height cannot be negative"));return cb(this,a,b,c,d)};
| function cb(a,b,c,d,e){t.L(a);var g=Math.max(a.x,b),h=Math.max(a.y,c);b=Math.min(a.x+a.width,b+d);c=Math.min(a.y+a.height,c+e);a.x=g;a.y=h;a.width=Math.max(0,b-g);a.height=Math.max(0,c-h);return a}w.prototype.intersectsRect=w.prototype.Mf=function(a){f&&t.m(a,w,w,"intersectsRect:r");return this.PE(a.x,a.y,a.width,a.height)};
| w.prototype.intersects=w.prototype.PE=function(a,b,c,d){f&&(t.p(a,w,"intersects:x"),t.p(b,w,"intersects:y"),t.p(a,w,"intersects:w"),t.p(b,w,"intersects:h"),(0>c||0>d)&&t.l("Rect.intersects:Width and height cannot be negative"));var e=this.width,g=this.x;if(Infinity!==e&&Infinity!==c&&(e+=g,c+=a,isNaN(c)||isNaN(e)||g>c||a>e))return!1;a=this.height;c=this.y;return Infinity!==a&&Infinity!==d&&(a+=c,d+=b,isNaN(d)||isNaN(a)||c>d||b>a)?!1:!0};
| function eb(a,b){var c=a.width,d=b.width+10+10,e=a.x,g=b.x-10;if(e>d+g||g>c+e)return!1;c=a.height;d=b.height+10+10;e=a.y;g=b.y-10;return e>d+g||g>c+e?!1:!0}w.prototype.unionPoint=w.prototype.cj=function(a){f&&t.m(a,v,w,"unionPoint:p");return jb(this,a.x,a.y,0,0)};w.prototype.unionRect=w.prototype.dj=function(a){f&&t.m(a,w,w,"unionRect:r");return jb(this,a.x,a.y,a.width,a.height)};
| w.prototype.union=w.prototype.BG=function(a,b,c,d){t.L(this);f?(t.p(a,w,"union:x"),t.p(b,w,"union:y"),void 0===c?c=0:t.p(c,w,"union:w"),void 0===d?d=0:t.p(d,w,"union:h"),(0>c||0>d)&&t.l("Rect.union:Width and height cannot be negative")):(void 0===c&&(c=0),void 0===d&&(d=0));return jb(this,a,b,c,d)};function jb(a,b,c,d,e){var g=Math.min(a.x,b),h=Math.min(a.y,c);b=Math.max(a.x+a.width,b+d);c=Math.max(a.y+a.height,c+e);a.x=g;a.y=h;a.width=b-g;a.height=c-h;return a}
| w.prototype.setSpot=w.prototype.Pt=function(a,b,c){f&&(t.p(a,w,"setSpot:x"),t.p(b,w,"setSpot:y"),t.m(c,H,w,"setSpot:spot"));t.L(this);this.x=a-c.offsetX-c.x*this.width;this.y=b-c.offsetY-c.y*this.height;return this};var nb;
| w.contains=nb=function(a,b,c,d,e,g,h,k){f?(t.p(a,w,"contains:rx"),t.p(b,w,"contains:ry"),t.p(c,w,"contains:rw"),t.p(d,w,"contains:rh"),t.p(e,w,"contains:x"),t.p(g,w,"contains:y"),void 0===h?h=0:t.p(h,w,"contains:w"),void 0===k?k=0:t.p(k,w,"contains:h"),(0>c||0>d||0>h||0>k)&&t.l("Rect.contains:Width and height cannot be negative")):(void 0===h&&(h=0),void 0===k&&(k=0));return a<=e&&e+h<=a+c&&b<=g&&g+k<=b+d};
| w.intersects=function(a,b,c,d,e,g,h,k){f&&(t.p(a,w,"intersects:rx"),t.p(b,w,"intersects:ry"),t.p(c,w,"intersects:rw"),t.p(d,w,"intersects:rh"),t.p(e,w,"intersects:x"),t.p(g,w,"intersects:y"),t.p(h,w,"intersects:w"),t.p(k,w,"intersects:h"),(0>c||0>d||0>h||0>k)&&t.l("Rect.intersects:Width and height cannot be negative"));c+=a;h+=e;if(a>h||e>c)return!1;a=d+b;k+=g;return b>k||g>a?!1:!0};t.g(w,"left",w.prototype.left);
| t.defineProperty(w,{left:"left"},function(){return this.x},function(a){t.L(this,a);f&&t.j(a,"number",w,"left");this.x=a});t.g(w,"top",w.prototype.top);t.defineProperty(w,{top:"top"},function(){return this.y},function(a){t.L(this,a);f&&t.j(a,"number",w,"top");this.y=a});t.g(w,"right",w.prototype.right);t.defineProperty(w,{right:"right"},function(){return this.x+this.width},function(a){t.L(this,a);f&&t.p(a,w,"right");this.x+=a-(this.x+this.width)});t.g(w,"bottom",w.prototype.bottom);
| t.defineProperty(w,{bottom:"bottom"},function(){return this.y+this.height},function(a){t.L(this,a);f&&t.p(a,w,"top");this.y+=a-(this.y+this.height)});t.g(w,"position",w.prototype.position);t.defineProperty(w,{position:"position"},function(){return new v(this.x,this.y)},function(a){t.L(this,a);f&&t.m(a,v,w,"position");this.x=a.x;this.y=a.y});t.g(w,"size",w.prototype.size);
| t.defineProperty(w,{size:"size"},function(){return new fa(this.width,this.height)},function(a){t.L(this,a);f&&t.m(a,fa,w,"size");this.width=a.width;this.height=a.height});t.g(w,"center",w.prototype.dA);t.defineProperty(w,{dA:"center"},function(){return new v(this.x+this.width/2,this.y+this.height/2)},function(a){t.L(this,a);f&&t.m(a,v,w,"center");this.x=a.x-this.width/2;this.y=a.y-this.height/2});t.g(w,"centerX",w.prototype.Ca);
| t.defineProperty(w,{Ca:"centerX"},function(){return this.x+this.width/2},function(a){t.L(this,a);f&&t.p(a,w,"centerX");this.x=a-this.width/2});t.g(w,"centerY",w.prototype.Oa);t.defineProperty(w,{Oa:"centerY"},function(){return this.y+this.height/2},function(a){t.L(this,a);f&&t.p(a,w,"centerY");this.y=a-this.height/2});w.prototype.isReal=w.prototype.N=function(){return isFinite(this.x)&&isFinite(this.y)&&isFinite(this.width)&&isFinite(this.height)};
| w.prototype.isEmpty=function(){return 0===this.width&&0===this.height};function ab(a,b,c,d){void 0===a?this.left=this.bottom=this.right=this.top=0:void 0===b?this.left=this.bottom=this.right=this.top=a:void 0===c?(d=b,this.top=a,this.right=b,this.bottom=a,this.left=d):void 0!==d?(this.top=a,this.right=b,this.bottom=c,this.left=d):t.l("Invalid arguments to Margin constructor")}t.ga("Margin",ab);t.Kh(ab);t.Rd(ab,{top:!0,right:!0,bottom:!0,left:!0});
| ab.prototype.assign=function(a){this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left};ab.prototype.setTo=ab.prototype.Up=function(a,b,c,d){f&&(t.j(a,"number",ab,"setTo:t"),t.j(b,"number",ab,"setTo:r"),t.j(c,"number",ab,"setTo:b"),t.j(d,"number",ab,"setTo:l"));t.L(this);this.top=a;this.right=b;this.bottom=c;this.left=d;return this};
| ab.prototype.set=ab.prototype.set=function(a){f&&t.m(a,ab,ab,"assign:m");t.L(this);this.top=a.top;this.right=a.right;this.bottom=a.bottom;this.left=a.left;return this};ab.prototype.copy=function(){var a=new ab;a.top=this.top;a.right=this.right;a.bottom=this.bottom;a.left=this.left;return a};ab.prototype.Ja=function(){this.lb=!0;Object.freeze(this);return this};ab.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};ab.prototype.freeze=function(){this.lb=!0;return this};
| ab.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;return this};ab.parse=function(a){if("string"===typeof a){a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=void 0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=void 0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=void 0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new ab(c,e,g,h)}return new ab};
| ab.stringify=function(a){return a instanceof ab?a.top.toString()+" "+a.right.toString()+" "+a.bottom.toString()+" "+a.left.toString():a.toString()};ab.prototype.toString=function(){return"Margin("+this.top+","+this.right+","+this.bottom+","+this.left+")"};ab.prototype.equals=ab.prototype.M=function(a){return a instanceof ab?this.top===a.top&&this.right===a.right&&this.bottom===a.bottom&&this.left===a.left:!1};
| ab.prototype.equalTo=function(a,b,c,d){return this.top===a&&this.right===b&&this.bottom===c&&this.left===d};ab.prototype.Wj=function(a){return F.Ha(this.top,a.top)&&F.Ha(this.right,a.right)&&F.Ha(this.bottom,a.bottom)&&F.Ha(this.left,a.left)};ab.prototype.Si=function(a){return F.I(this.top,a.top)&&F.I(this.right,a.right)&&F.I(this.bottom,a.bottom)&&F.I(this.left,a.left)};ab.prototype.isReal=ab.prototype.N=function(){return isFinite(this.top)&&isFinite(this.right)&&isFinite(this.bottom)&&isFinite(this.left)};
| function ga(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0}t.Kh(ga);t.Rd(ga,{m11:!0,m12:!0,m21:!0,m22:!0,dx:!0,dy:!0});ga.prototype.set=ga.prototype.set=function(a){f&&t.m(a,ga,ga,"set:t");this.m11=a.m11;this.m12=a.m12;this.m21=a.m21;this.m22=a.m22;this.dx=a.dx;this.dy=a.dy;return this};ga.prototype.copy=function(){var a=new ga;a.m11=this.m11;a.m12=this.m12;a.m21=this.m21;a.m22=this.m22;a.dx=this.dx;a.dy=this.dy;return a};
| ga.prototype.toString=function(){return"Transform("+this.m11+","+this.m12+","+this.m21+","+this.m22+","+this.dx+","+this.dy+")"};ga.prototype.equals=ga.prototype.M=function(a){return a instanceof ga?this.m11===a.m11&&this.m12===a.m12&&this.m21===a.m21&&this.m22===a.m22&&this.dx===a.dx&&this.dy===a.dy:!1};ga.prototype.reset=ga.prototype.reset=function(){this.m11=1;this.m21=this.m12=0;this.m22=1;this.dy=this.dx=0};
| ga.prototype.multiply=ga.prototype.multiply=function(a){f&&t.m(a,ga,ga,"multiply:matrix");var b=this.m12*a.m11+this.m22*a.m12,c=this.m11*a.m21+this.m21*a.m22,d=this.m12*a.m21+this.m22*a.m22,e=this.m11*a.dx+this.m21*a.dy+this.dx,g=this.m12*a.dx+this.m22*a.dy+this.dy;this.m11=this.m11*a.m11+this.m21*a.m12;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g;return this};
| ga.prototype.multiplyInverted=ga.prototype.sF=function(a){f&&t.m(a,ga,ga,"multiplyInverted:matrix");var b=1/(a.m11*a.m22-a.m12*a.m21),c=a.m22*b,d=-a.m12*b,e=-a.m21*b,g=a.m11*b,h=b*(a.m21*a.dy-a.m22*a.dx),k=b*(a.m12*a.dx-a.m11*a.dy);a=this.m12*c+this.m22*d;b=this.m11*e+this.m21*g;e=this.m12*e+this.m22*g;g=this.m11*h+this.m21*k+this.dx;h=this.m12*h+this.m22*k+this.dy;this.m11=this.m11*c+this.m21*d;this.m12=a;this.m21=b;this.m22=e;this.dx=g;this.dy=h;return this};
| ga.prototype.invert=ga.prototype.xA=function(){var a=1/(this.m11*this.m22-this.m12*this.m21),b=-this.m12*a,c=-this.m21*a,d=this.m11*a,e=a*(this.m21*this.dy-this.m22*this.dx),g=a*(this.m12*this.dx-this.m11*this.dy);this.m11=this.m22*a;this.m12=b;this.m21=c;this.m22=d;this.dx=e;this.dy=g};
| ga.prototype.rotate=ga.prototype.rotate=function(a,b,c){f&&(t.p(a,ga,"rotate:angle"),t.p(b,ga,"rotate:rx"),t.p(c,ga,"rotate:ry"));this.translate(b,c);var d;0===a?(a=1,d=0):90===a?(a=0,d=1):180===a?(a=-1,d=0):270===a?(a=0,d=-1):(d=a*Math.PI/180,a=Math.cos(d),d=Math.sin(d));var e=this.m12*a+this.m22*d,g=this.m11*-d+this.m21*a,h=this.m12*-d+this.m22*a;this.m11=this.m11*a+this.m21*d;this.m12=e;this.m21=g;this.m22=h;this.translate(-b,-c)};
| ga.prototype.translate=ga.prototype.translate=function(a,b){f&&(t.p(a,ga,"translate:x"),t.p(b,ga,"translate:y"));this.dx+=this.m11*a+this.m21*b;this.dy+=this.m12*a+this.m22*b};ga.prototype.scale=ga.prototype.scale=function(a,b){void 0===b&&(b=a);f&&(t.p(a,ga,"translate:sx"),t.p(b,ga,"translate:sy"));this.m11*=a;this.m12*=a;this.m21*=b;this.m22*=b};
| ga.prototype.transformPoint=ga.prototype.Ra=function(a){f&&t.m(a,v,ga,"transformPoint:p");var b=a.x,c=a.y;a.x=b*this.m11+c*this.m21+this.dx;a.y=b*this.m12+c*this.m22+this.dy;return a};ga.prototype.invertedTransformPoint=ga.prototype.Ph=function(a){f&&t.m(a,v,ga,"invertedTransformPoint:p");var b=1/(this.m11*this.m22-this.m12*this.m21),c=-this.m12*b,d=this.m11*b,e=b*(this.m12*this.dx-this.m11*this.dy),g=a.x,h=a.y;a.x=g*this.m22*b+h*-this.m21*b+b*(this.m21*this.dy-this.m22*this.dx);a.y=g*c+h*d+e;return a};
| ga.prototype.transformRect=ga.prototype.wG=function(a){f&&t.m(a,w,ga,"transformRect:rect");var b=a.x,c=a.y,d=b+a.width,e=c+a.height,g=this.m11,h=this.m12,k=this.m21,l=this.m22,m=this.dx,n=this.dy,p=b*g+c*k+m,q=b*h+c*l+n,r=d*g+c*k+m,c=d*h+c*l+n,s=b*g+e*k+m,b=b*h+e*l+n,g=d*g+e*k+m,d=d*h+e*l+n,e=p,h=q,p=Math.min(p,r),e=Math.max(e,r),h=Math.min(h,c),q=Math.max(q,c),p=Math.min(p,s),e=Math.max(e,s),h=Math.min(h,b),q=Math.max(q,b),p=Math.min(p,g),e=Math.max(e,g),h=Math.min(h,d),q=Math.max(q,d);a.x=p;a.y=
| h;a.width=e-p;a.height=q-h};ga.prototype.isIdentity=ga.prototype.qt=function(){return 1===this.m11&&0===this.m12&&0===this.m21&&1===this.m22&&0===this.dx&&0===this.dy};function H(a,b,c,d){void 0===a?this.offsetY=this.offsetX=this.y=this.x=0:(void 0===b&&(b=0),void 0===c&&(c=0),void 0===d&&(d=0),this.x=a,this.y=b,this.offsetX=c,this.offsetY=d)}t.ga("Spot",H);t.Kh(H);t.Rd(H,{x:!0,y:!0,offsetX:!0,offsetY:!0});H.prototype.assign=function(a){this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY};
| H.prototype.setTo=H.prototype.Up=function(a,b,c,d){f&&(ob(a,"setTo:x"),ob(b,"setTo:y"),pb(c,"setTo:offx"),pb(d,"setTo:offy"));t.L(this);this.x=a;this.y=b;this.offsetX=c;this.offsetY=d;return this};H.prototype.set=H.prototype.set=function(a){f&&t.m(a,H,H,"set:s");t.L(this);this.x=a.x;this.y=a.y;this.offsetX=a.offsetX;this.offsetY=a.offsetY;return this};H.prototype.copy=function(){var a=new H;a.x=this.x;a.y=this.y;a.offsetX=this.offsetX;a.offsetY=this.offsetY;return a};
| H.prototype.Ja=function(){this.lb=!0;Object.freeze(this);return this};H.prototype.Z=function(){return Object.isFrozen(this)?this:this.copy().freeze()};H.prototype.freeze=function(){this.lb=!0;return this};H.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;return this};function qb(a,b){a.x=NaN;a.y=NaN;a.offsetX=b;return a}function ob(a,b){(isNaN(a)||1<a||0>a)&&t.ka(a,"0 <= "+b+" <= 1",H,b)}
| function pb(a,b){(isNaN(a)||Infinity===a||-Infinity===a)&&t.ka(a,"real number, not NaN or Infinity",H,b)}var vb;
| H.parse=vb=function(a){if("string"===typeof a){a=a.trim();if("None"===a)return t.NONE;if("TopLeft"===a)return t.Qx;if("Top"===a||"TopCenter"===a||"MiddleTop"===a)return t.iq;if("TopRight"===a)return t.Sx;if("Left"===a||"LeftCenter"===a||"MiddleLeft"===a)return t.fq;if("Center"===a)return t.Ex;if("Right"===a||"RightCenter"===a||"MiddleRight"===a)return t.gq;if("BottomLeft"===a)return t.zx;if("Bottom"===a||"BottomCenter"===a||"MiddleBottom"===a)return t.eq;if("BottomRight"===a)return t.Bx;if("TopSide"===
| a)return t.Ux;if("LeftSide"===a)return t.Ix;if("RightSide"===a)return t.Ox;if("BottomSide"===a)return t.Dx;if("TopBottomSides"===a)return t.Px;if("LeftRightSides"===a)return t.Hx;if("TopLeftSides"===a)return t.Rx;if("TopRightSides"===a)return t.Tx;if("BottomLeftSides"===a)return t.Ax;if("BottomRightSides"===a)return t.Cx;if("NotTopSide"===a)return t.Mx;if("NotLeftSide"===a)return t.Kx;if("NotRightSide"===a)return t.Lx;if("NotBottomSide"===a)return t.Jx;if("AllSides"===a)return t.yx;if("Default"===
| a)return t.Fx;a=a.split(" ");for(var b=0,c=0;""===a[b];)b++;var d=a[b++];d&&(c=parseFloat(d));for(var e=0;""===a[b];)b++;(d=a[b++])&&(e=parseFloat(d));for(var g=0;""===a[b];)b++;(d=a[b++])&&(g=parseFloat(d));for(var h=0;""===a[b];)b++;(d=a[b++])&&(h=parseFloat(d));return new H(c,e,g,h)}return new H};H.stringify=function(a){return a instanceof H?a.sd()?a.x.toString()+" "+a.y.toString()+" "+a.offsetX.toString()+" "+a.offsetY.toString():a.toString():a.toString()};
| H.prototype.toString=function(){return this.sd()?0===this.offsetX&&0===this.offsetY?"Spot("+this.x+","+this.y+")":"Spot("+this.x+","+this.y+","+this.offsetX+","+this.offsetY+")":this.M(t.NONE)?"None":this.M(t.Qx)?"TopLeft":this.M(t.iq)?"Top":this.M(t.Sx)?"TopRight":this.M(t.fq)?"Left":this.M(t.Ex)?"Center":this.M(t.gq)?"Right":this.M(t.zx)?"BottomLeft":this.M(t.eq)?"Bottom":this.M(t.Bx)?"BottomRight":this.M(t.Ux)?"TopSide":this.M(t.Ix)?"LeftSide":this.M(t.Ox)?"RightSide":this.M(t.Dx)?"BottomSide":
| this.M(t.Px)?"TopBottomSides":this.M(t.Hx)?"LeftRightSides":this.M(t.Rx)?"TopLeftSides":this.M(t.Tx)?"TopRightSides":this.M(t.Ax)?"BottomLeftSides":this.M(t.Cx)?"BottomRightSides":this.M(t.Mx)?"NotTopSide":this.M(t.Kx)?"NotLeftSide":this.M(t.Lx)?"NotRightSide":this.M(t.Jx)?"NotBottomSide":this.M(t.yx)?"AllSides":this.M(t.Fx)?"Default":"None"};
| H.prototype.equals=H.prototype.M=function(a){return a instanceof H?(this.x===a.x||isNaN(this.x)&&isNaN(a.x))&&(this.y===a.y||isNaN(this.y)&&isNaN(a.y))&&this.offsetX===a.offsetX&&this.offsetY===a.offsetY:!1};H.prototype.opposite=function(){return new H(0.5-(this.x-0.5),0.5-(this.y-0.5),-this.offsetX,-this.offsetY)};H.prototype.includesSide=function(a){if(!this.op()||!a.op())return!1;a=a.offsetY;return(this.offsetY&a)===a};H.prototype.isSpot=H.prototype.sd=function(){return!isNaN(this.x)&&!isNaN(this.y)};
| H.prototype.isNoSpot=H.prototype.Ge=function(){return isNaN(this.x)||isNaN(this.y)};H.prototype.isSide=H.prototype.op=function(){return this.Ge()&&1===this.offsetX&&0!==this.offsetY};H.prototype.isDefault=H.prototype.Lc=function(){return isNaN(this.x)&&isNaN(this.y)&&-1===this.offsetX&&0===this.offsetY};t.Yc=1;t.Fc=2;t.Oc=4;t.Nc=8;t.NONE=qb(new H(0,0,0,0),0).Ja();t.Fx=qb(new H(0,0,-1,0),-1).Ja();t.Qx=(new H(0,0,0,0)).Ja();t.iq=(new H(0.5,0,0,0)).Ja();t.Sx=(new H(1,0,0,0)).Ja();
| t.fq=(new H(0,0.5,0,0)).Ja();t.Ex=(new H(0.5,0.5,0,0)).Ja();t.gq=(new H(1,0.5,0,0)).Ja();t.zx=(new H(0,1,0,0)).Ja();t.eq=(new H(0.5,1,0,0)).Ja();t.Bx=(new H(1,1,0,0)).Ja();t.Ux=qb(new H(0,0,1,t.Yc),1).Ja();t.Ix=qb(new H(0,0,1,t.Fc),1).Ja();t.Ox=qb(new H(0,0,1,t.Oc),1).Ja();t.Dx=qb(new H(0,0,1,t.Nc),1).Ja();t.Px=qb(new H(0,0,1,t.Yc|t.Nc),1).Ja();t.Hx=qb(new H(0,0,1,t.Fc|t.Oc),1).Ja();t.Rx=qb(new H(0,0,1,t.Yc|t.Fc),1).Ja();t.Tx=qb(new H(0,0,1,t.Yc|t.Oc),1).Ja();t.Ax=qb(new H(0,0,1,t.Nc|t.Fc),1).Ja();
| t.Cx=qb(new H(0,0,1,t.Nc|t.Oc),1).Ja();t.Mx=qb(new H(0,0,1,t.Fc|t.Oc|t.Nc),1).Ja();t.Kx=qb(new H(0,0,1,t.Yc|t.Oc|t.Nc),1).Ja();t.Lx=qb(new H(0,0,1,t.Yc|t.Fc|t.Nc),1).Ja();t.Jx=qb(new H(0,0,1,t.Yc|t.Fc|t.Oc),1).Ja();t.yx=qb(new H(0,0,1,t.Yc|t.Fc|t.Oc|t.Nc),1).Ja();var wb;H.None=wb=t.NONE;var xb;H.Default=xb=t.Fx;var Eb;H.TopLeft=Eb=t.Qx;var Fb;H.TopCenter=Fb=t.iq;var Gb;H.TopRight=Gb=t.Sx;H.LeftCenter=t.fq;var Hb;H.Center=Hb=t.Ex;H.RightCenter=t.gq;var Lb;H.BottomLeft=Lb=t.zx;var Mb;
| H.BottomCenter=Mb=t.eq;var Pb;H.BottomRight=Pb=t.Bx;var Qb;H.MiddleTop=Qb=t.iq;var Ub;H.MiddleLeft=Ub=t.fq;var Vb;H.MiddleRight=Vb=t.gq;var Wb;H.MiddleBottom=Wb=t.eq;H.Top=t.iq;var Xb;H.Left=Xb=t.fq;var Zb;H.Right=Zb=t.gq;H.Bottom=t.eq;var $b;H.TopSide=$b=t.Ux;var ac;H.LeftSide=ac=t.Ix;var bc;H.RightSide=bc=t.Ox;var cc;H.BottomSide=cc=t.Dx;H.TopBottomSides=t.Px;H.LeftRightSides=t.Hx;H.TopLeftSides=t.Rx;H.TopRightSides=t.Tx;H.BottomLeftSides=t.Ax;H.BottomRightSides=t.Cx;H.NotTopSide=t.Mx;
| H.NotLeftSide=t.Kx;H.NotRightSide=t.Lx;H.NotBottomSide=t.Jx;var gc;H.AllSides=gc=t.yx;function lc(){this.cf=[1,0,0,1,0,0]}lc.prototype.copy=function(){var a=new lc;a.cf[0]=this.cf[0];a.cf[1]=this.cf[1];a.cf[2]=this.cf[2];a.cf[3]=this.cf[3];a.cf[4]=this.cf[4];a.cf[5]=this.cf[5];return a};function mc(a){this.type=a;this.r2=this.y2=this.x2=this.r1=this.y1=this.x1=0;this.ND=[]}mc.prototype.addColorStop=function(a,b){this.ND.push({offset:a,color:b})};
| function nc(a,b){this.fillStyle="#000000";this.font="10px sans-serif";this.globalAlpha=1;this.lineCap="butt";this.Uw=0;this.lineJoin="miter";this.lineWidth=1;this.miterLimit=10;this.shadowBlur=0;this.shadowColor="rgba(0, 0, 0, 0)";this.shadowOffsetY=this.shadowOffsetX=0;this.strokeStyle="#000000";this.textAlign="start";this.document=b||document;this.path=[];this.Pi=new lc;this.stack=[];this.Kf=[];this.dG=this.zE=this.gw=0;this.tw=a;this.hJ="http://www.w3.org/2000/svg";this.width=this.tw.width;this.height=
| this.tw.height;this.$p=qc(this,"svg",{width:this.width+"px",height:this.height+"px",DK:"0 0 "+this.tw.width+" "+this.tw.height});rc(this,1,0,0,1,0,0);var c=qc(this,"clipPath",{id:"mainClip"});c.appendChild(qc(this,"rect",{x:0,y:0,width:this.width,height:this.height}));this.$p.appendChild(c);this.Kf[0].setAttributeNS(null,"clip-path","url(#mainClip)")}aa=nc.prototype;aa.arc=function(a,b,c,d,e,g){sc(this,a,b,c,d,e,g)};aa.beginPath=function(){this.path=[]};
| aa.bezierCurveTo=function(a,b,c,d,e,g){this.path.push(["C",a,b,c,d,e,g])};aa.clearRect=function(){};aa.clip=function(){tc(this,"clipPath",this.path,new lc)};aa.closePath=function(){this.path.push(["z"])};aa.createLinearGradient=function(a,b,c,d){var e=new mc("linear");e.x1=a;e.y1=b;e.x2=c;e.y2=d;return e};aa.createPattern=function(){};aa.createRadialGradient=function(a,b,c,d,e,g){var h=new mc("radial");h.x1=a;h.y1=b;h.r1=c;h.x2=d;h.y2=e;h.r2=g;return h};
| aa.drawImage=function(a,b,c,d,e,g,h,k,l){a=[b,c,d,e,g,h,k,l,a];b=this.Pi;e=a[8];c={x:0,y:0,width:e.naturalWidth,height:e.naturalHeight,href:e.src};d="";g=a[6]/a[2];h=a[7]/a[3];if(0!==a[4]||0!==a[5])d+=" translate("+a[4]+", "+a[5]+")";if(1!==g||1!==h)d+=" scale("+g+", "+h+")";if(0!==a[0]||0!==a[1])d+=" translate("+-a[0]+", "+-a[1]+")";if(0!==a[0]||0!==a[1]||a[2]!==e.naturalWidth||a[3]!==e.naturalHeight)e="CLIP"+this.gw,this.gw++,g=qc(this,"clipPath",{id:e}),g.appendChild(qc(this,"rect",{x:a[0],y:a[1],
| width:a[2],height:a[3]})),this.$p.appendChild(g),c["clip-path"]="url(#"+e+")";uc(this,"image",c,b,d);this.addElement("image",c)};aa.fill=function(){tc(this,"fill",this.path,this.Pi)};aa.fillRect=function(a,b,c,d){vc(this,"fill",[a,b,c,d],this.Pi)};aa.fillText=function(a,b,c){a=[a,b,c];b=this.textAlign;"left"===b?b="start":"right"===b?b="end":"center"===b&&(b="middle");b={x:a[1],y:a[2],style:"font: "+this.font,"text-anchor":b};uc(this,"fill",b,this.Pi);this.addElement("text",b,a[0])};
| aa.lineTo=function(a,b){this.path.push(["L",a,b])};aa.moveTo=function(a,b){this.path.push(["M",a,b])};aa.quadraticCurveTo=function(a,b,c,d){this.path.push(["Q",a,b,c,d])};aa.rect=function(a,b,c,d){this.path.push(["M",a,b],["L",a+c,b],["L",a+c,b+d],["L",a,b+d],["z"])};
| aa.restore=function(){this.Pi=this.stack.pop();this.path=this.stack.pop();var a=this.stack.pop();this.fillStyle=a.fillStyle;this.font=a.font;this.globalAlpha=a.globalAlpha;this.lineCap=a.lineCap;this.Uw=a.Uw;this.lineJoin=a.lineJoin;this.lineWidth=a.lineWidth;this.miterLimit=a.miterLimit;this.shadowBlur=a.shadowBlur;this.shadowColor=a.shadowColor;this.shadowOffsetX=a.shadowOffsetX;this.shadowOffsetY=a.shadowOffsetY;this.strokeStyle=a.strokeStyle;this.textAlign=a.textAlign};
| aa.save=function(){this.stack.push({fillStyle:this.fillStyle,font:this.font,globalAlpha:this.globalAlpha,lineCap:this.lineCap,Uw:this.Uw,lineJoin:this.lineJoin,lineWidth:this.lineWidth,miterLimit:this.miterLimit,shadowBlur:this.shadowBlur,shadowColor:this.shadowColor,shadowOffsetX:this.shadowOffsetX,shadowOffsetY:this.shadowOffsetY,strokeStyle:this.strokeStyle,textAlign:this.textAlign});for(var a=[],b=0;b<this.path.length;b++)a.push(this.path[b]);this.stack.push(a);this.stack.push(this.Pi.copy())};
| aa.setTransform=function(a,b,c,d,e,g){1===a&&0===b&&0===c&&1===d&&0===e&&0===g||rc(this,a,b,c,d,e,g)};aa.stroke=function(){tc(this,"stroke",this.path,this.Pi)};aa.strokeRect=function(a,b,c,d){vc(this,"stroke",[a,b,c,d],this.Pi)};function qc(a,b,c,d){a=a.document.createElementNS(a.hJ,b);if(c)for(var e in c)a.setAttributeNS("href"===e?"http://www.w3.org/1999/xlink":"",e,c[e]);d&&(a.textContent=d);return a}
| aa.addElement=function(a,b,c){a=qc(this,a,b,c);0<this.Kf.length?this.Kf[this.Kf.length-1].appendChild(a):this.$p.appendChild(a);return a};
| function uc(a,b,c,d,e){1!==a.globalAlpha&&(c.opacity=a.globalAlpha);"fill"==b?(/^rgba\(/.test(a.fillStyle)?(a=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(a.fillStyle),c.fill="rgb("+a[1]+","+a[2]+","+a[3]+")",c["fill-opacity"]=a[4]):c.fill=a.fillStyle instanceof mc?yc(a,a.fillStyle):a.fillStyle,c.stroke="none"):"stroke"==b&&(c.fill="none",/^rgba\(/.test(a.strokeStyle)?(b=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(a.strokeStyle),
| c.stroke="rgb("+b[1]+","+b[2]+","+b[3]+")",c["stroke-opacity"]=b[4]):c.stroke=a.strokeStyle instanceof mc?yc(a,a.strokeStyle):a.strokeStyle,c["stroke-width"]=a.lineWidth,c["stroke-linecap"]=a.lineCap,c["stroke-linejoin"]=a.lineJoin,c["stroke-miterlimit"]=a.miterLimit);d=d.cf;d="matrix("+d[0]+", "+d[1]+", "+d[2]+", "+d[3]+", "+d[4]+", "+d[5]+")";void 0!==e&&(d+=e);c.transform=d}
| function yc(a,b){var c="GRAD"+a.zE;a.zE++;var d;if("linear"===b.type)d={x1:b.x1,x2:b.x2,y1:b.y1,y2:b.y2,id:c,gradientUnits:"userSpaceOnUse"},d=qc(a,"linearGradient",d);else if("radial"===b.type)d={x1:b.x1,x2:b.x2,y1:b.y1,y2:b.y2,r1:b.r1,r2:b.r2,id:c},d=qc(a,"radialGradient",d);else throw Error("invalid gradient");for(var e=b.ND,g=e.length,h=[],k=0;k<g;k++){var l=e[k],m=l.color,l={offset:l.offset,"stop-color":m};/^rgba\(/.test(m)&&(m=/^\s*rgba\s*\(([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\s*,\s*([^,\s]+)\)\s*$/i.exec(m),
| l["stop-color"]="rgb("+m[1]+","+m[2]+","+m[3]+")",l["stop-opacity"]=m[4]);h.push(l)}h.sort(function(a,b){return a.offset>b.offset?1:-1});for(k=0;k<g;k++)d.appendChild(qc(a,"stop",h[k]));a.$p.appendChild(d);return"url(#"+c+")"}function vc(a,b,c,d){c={x:c[0],y:c[1],width:c[2],height:c[3]};uc(a,b,c,d);a.addElement("rect",c)}
| function tc(a,b,c,d){for(var e=[],g=0;g<c.length;g++){var h=Array.prototype.slice.call(c[g]),k=[h.shift()];if("A"==k[0])k.push(h.shift()+","+h.shift(),h.shift(),h.shift()+","+h.shift(),h.shift()+","+h.shift());else for(;h.length;)k.push(h.shift()+","+h.shift());e.push(k.join(" "))}c={d:e.join(" ")};uc(a,b,c,d);"clipPath"===b?(b="CLIP"+a.gw,a.gw++,d=qc(a,"clipPath",{id:b}),d.appendChild(qc(a,"path",c)),a.$p.appendChild(d),0<a.Kf.length&&a.Kf[a.Kf.length-1].setAttributeNS(null,"clip-path","url(#"+b+
| ")")):a.addElement("path",c)}function sc(a,b,c,d,e,g,h){var k=Math.abs(e-g);if(e!=g){var l=b+d*Math.cos(g);g=c+d*Math.sin(g);k>=2*Math.PI?(sc(a,b,c,d,e,e+Math.PI,h),sc(a,b,c,d,e+Math.PI,e+2*Math.PI,h),a.path.push(["M",l,g])):(b+=d*Math.cos(e),c+=d*Math.sin(e),k=180*k/Math.PI,e=h?0:1,h=180<=k==!!h?0:1,0!==a.path.length?a.path.push(["L",b,c]):a.path.push(["M",b,c]),a.path.push(["A",d,d,k,h,e,l,g]))}}
| function rc(a,b,c,d,e,g,h){var k=new lc;k.cf=[b,c,d,e,g,h];b={};uc(a,"g",b,k);k=a.addElement("g",b);a.Kf.push(k)}
| aa.cb=function(){var a="SHADOW"+this.dG;this.dG++;var b=this.addElement("filter",{id:a,width:"250%",height:"250%"},null),c,d,e,g,h;if(0!==this.shadowOffsetX||0!==this.shadowOffsetY)c=qc(this,"feGaussianBlur",{"in":"SourceAlpha",result:"blur",AK:this.shadowBlur/2}),d=qc(this,"feFlood",{"in":"blur",result:"flood","flood-color":this.shadowColor}),e=qc(this,"feComposite",{"in":"flood",in2:"blur",operator:"in",result:"comp"}),g=qc(this,"feOffset",{"in":"comp",result:"offsetBlur",dx:this.shadowOffsetX,
| dy:this.shadowOffsetY}),h=qc(this,"feMerge",{}),h.appendChild(qc(this,"feMergeNode",{"in":"offsetBlur"})),h.appendChild(qc(this,"feMergeNode",{"in":"SourceGraphic"})),b.appendChild(c),b.appendChild(d),b.appendChild(e),b.appendChild(g),b.appendChild(h);0<this.Kf.length&&this.Kf[this.Kf.length-1].setAttributeNS(null,"filter","url(#"+a+")")};
| var F={va:4*((Math.sqrt(2)-1)/3),fj:(new v(0,0)).Ja(),VG:(new w(0,0,0,0)).Ja(),jq:(new ab(0,0,0,0)).Ja(),TG:(new ab(2,2,2,2)).Ja(),UG:(new fa(Infinity,Infinity)).Ja(),RG:(new v(-Infinity,-Infinity)).Ja(),QG:(new v(Infinity,Infinity)).Ja(),kq:(new fa(0,0)).Ja(),Nx:(new fa(1,1)).Ja(),hq:(new fa(6,6)).Ja(),Gx:(new fa(8,8)).Ja(),SG:(new v(NaN,NaN)).Ja(),JB:null,sqrt:function(a){if(0>=a)return 0;var b=F.JB;if(null===b){for(var b=[],c=0;2E3>=c;c++)b[c]=Math.sqrt(c);F.JB=b}return 1>a?(c=1/a,2E3>=c?1/b[c|
| 0]:Math.sqrt(a)):2E3>=a?b[a|0]:Math.sqrt(a)},I:function(a,b){var c=a-b;return 0.5>c&&-0.5<c},Ha:function(a,b){var c=a-b;return 5E-8>c&&-5E-8<c},Hd:function(a,b,c,d,e,g,h){0>=e&&(e=1E-6);var k,l,m,n;a<c?(l=a,k=c):(l=c,k=a);b<d?(n=b,m=d):(n=d,m=b);if(a===c)return n<=h&&h<=m&&a-e<=g&&g<=a+e;if(b===d)return l<=g&&g<=k&&b-e<=h&&h<=b+e;k+=e;l-=e;if(l<=g&&g<=k&&(m+=e,n-=e,n<=h&&h<=m))if(k-l>m-n)if(a-c>e||c-a>e){if(g=(d-b)/(c-a)*(g-a)+b,g-e<=h&&h<=g+e)return!0}else return!0;else if(b-d>e||d-b>e){if(h=(c-
| a)/(d-b)*(h-b)+a,h-e<=g&&g<=h+e)return!0}else return!0;return!1},bw:function(a,b,c,d,e,g,h,k,l,m,n,p){if(F.Hd(a,b,h,k,p,c,d)&&F.Hd(a,b,h,k,p,e,g))return F.Hd(a,b,h,k,p,m,n);var q=(a+c)/2,r=(b+d)/2,s=(c+e)/2,u=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(q+s)/2;c=(r+u)/2;var s=(s+e)/2,u=(u+g)/2,x=(d+s)/2,E=(c+u)/2;return F.bw(a,b,q,r,d,c,x,E,l,m,n,p)||F.bw(x,E,s,u,e,g,h,k,l,m,n,p)},RH:function(a,b,c,d,e,g,h,k,l){var m=(c+e)/2,n=(d+g)/2;l.x=(((a+c)/2+m)/2+(m+(e+h)/2)/2)/2;l.y=(((b+d)/2+n)/2+(n+(g+k)/2)/2)/2;return l},
| QH:function(a,b,c,d,e,g,h,k){var l=(c+e)/2,m=(d+g)/2;return Va(((a+c)/2+l)/2,((b+d)/2+m)/2,(l+(e+h)/2)/2,(m+(g+k)/2)/2)},Oo:function(a,b,c,d,e,g,h,k,l,m){if(F.Hd(a,b,h,k,l,c,d)&&F.Hd(a,b,h,k,l,e,g))jb(m,a,b,0,0),jb(m,h,k,0,0);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+g)/2,s=(d+q)/2,u=(c+r)/2;F.Oo(a,b,n,p,d,c,s,u,l,m);F.Oo(s,u,q,r,e,g,h,k,l,m)}return m},ze:function(a,b,c,d,e,g,h,k,l,m){if(F.Hd(a,b,h,k,l,c,d)&&F.Hd(a,b,h,k,l,e,g))0===
| m.length&&m.push([a,b]),m.push([h,k]);else{var n=(a+c)/2,p=(b+d)/2,q=(c+e)/2,r=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(n+q)/2;c=(p+r)/2;var q=(q+e)/2,r=(r+g)/2,s=(d+q)/2,u=(c+r)/2;F.ze(a,b,n,p,d,c,s,u,l,m);F.ze(s,u,q,r,e,g,h,k,l,m)}return m},YA:function(a,b,c,d,e,g,h,k,l,m){if(F.Hd(a,b,e,g,m,c,d))return F.Hd(a,b,e,g,m,k,l);var n=(a+c)/2,p=(b+d)/2;c=(c+e)/2;d=(d+g)/2;var q=(n+c)/2,r=(p+d)/2;return F.YA(a,b,n,p,q,r,h,k,l,m)||F.YA(q,r,c,d,e,g,h,k,l,m)},zK:function(a,b,c,d,e,g,h){h.x=((a+c)/2+(c+e)/2)/2;h.y=((b+
| d)/2+(d+g)/2)/2;return h},XA:function(a,b,c,d,e,g,h,k){if(F.Hd(a,b,e,g,h,c,d))jb(k,a,b,0,0),jb(k,e,g,0,0);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+g)/2;var n=(l+c)/2,p=(m+d)/2;F.XA(a,b,l,m,n,p,h,k);F.XA(n,p,c,d,e,g,h,k)}return k},Lp:function(a,b,c,d,e,g,h,k){if(F.Hd(a,b,e,g,h,c,d))0===k.length&&k.push([a,b]),k.push([e,g]);else{var l=(a+c)/2,m=(b+d)/2;c=(c+e)/2;d=(d+g)/2;var n=(l+c)/2,p=(m+d)/2;F.Lp(a,b,l,m,n,p,h,k);F.Lp(n,p,c,d,e,g,h,k)}return k},Ss:function(a,b,c,d,e,g,h,k,l,m,n,p,q,r){0>=q&&
| (q=1E-6);if(F.Hd(a,b,h,k,q,c,d)&&F.Hd(a,b,h,k,q,e,g)){var s=(a-h)*(m-p)-(b-k)*(l-n);if(!s)return!1;q=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/s;s=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/s;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(b<k?(l=b,h=k):(l=k,h=b),s<l||s>h)return!1}else if(a<h?l=a:(l=h,h=a),q<l||q>h)return!1;r.x=q;r.y=s;return!0}var s=(a+c)/2,u=(b+d)/2;c=(c+e)/2;d=(d+g)/2;e=(e+h)/2;g=(g+k)/2;var x=(s+c)/2,E=(u+d)/2;c=(c+e)/2;d=(d+g)/2;var G=(x+c)/2,C=(E+d)/2,I=(n-l)*(n-l)+(p-m)*(p-m),O=!1;F.Ss(a,b,s,u,x,E,G,C,
| l,m,n,p,q,r)&&(a=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),a<I&&(I=a,O=!0));b=r.x;s=r.y;F.Ss(G,C,c,d,e,g,h,k,l,m,n,p,q,r)&&(a=(r.x-l)*(r.x-l)+(r.y-m)*(r.y-m),a<I?O=!0:(r.x=b,r.y=s));return O},Ts:function(a,b,c,d,e,g,h,k,l,m,n,p,q){var r=0;0>=q&&(q=1E-6);if(F.Hd(a,b,h,k,q,c,d)&&F.Hd(a,b,h,k,q,e,g)){q=(a-h)*(m-p)-(b-k)*(l-n);if(!q)return r;var s=((a*k-b*h)*(l-n)-(a-h)*(l*p-m*n))/q,u=((a*k-b*h)*(m-p)-(b-k)*(l*p-m*n))/q;if(s>=n)return r;if((l>n?l-n:n-l)<(m>p?m-p:p-m)){if(b<k?(l=b,a=k):(l=k,a=b),u<l||u>a)return r}else if(a<
| h?(l=a,a=h):l=h,s<l||s>a)return r;0<q?r++:0>q&&r--}else{var s=(a+c)/2,u=(b+d)/2,x=(c+e)/2,E=(d+g)/2;e=(e+h)/2;g=(g+k)/2;d=(s+x)/2;c=(u+E)/2;var x=(x+e)/2,E=(E+g)/2,G=(d+x)/2,C=(c+E)/2,r=r+F.Ts(a,b,s,u,d,c,G,C,l,m,n,p,q),r=r+F.Ts(G,C,x,E,e,g,h,k,l,m,n,p,q)}return r},Wm:function(a,b,c,d,e,g,h){if(F.Ha(a,c)){var k;b<d?(k=b,c=d):(k=d,c=b);d=g;if(d<k)return h.x=a,h.y=k,!1;if(d>c)return h.x=a,h.y=c,!1;h.x=a;h.y=d;return!0}if(F.Ha(b,d)){a<c?k=a:(k=c,c=a);d=e;if(d<k)return h.x=k,h.y=b,!1;if(d>c)return h.x=
| c,h.y=b,!1;h.x=d;h.y=b;return!0}k=((a-e)*(a-c)+(b-g)*(b-d))/((c-a)*(c-a)+(d-b)*(d-b));if(-5E-6>k)return h.x=a,h.y=b,!1;if(1.000005<k)return h.x=c,h.y=d,!1;h.x=a+k*(c-a);h.y=b+k*(d-b);return!0},Yg:function(a,b,c,d,e,g,h,k,l){if(F.I(a,c)&&F.I(b,d))return l.x=a,l.y=b,!1;if(F.Ha(e,h)){if(F.Ha(a,c))return F.Wm(a,b,c,d,e,g,l),!1;g=(d-b)/(c-a)*(e-a)+b;return F.Wm(a,b,c,d,e,g,l)}k=(k-g)/(h-e);if(F.Ha(a,c)){g=k*(a-e)+g;b<d?(h=b,c=d):(h=d,c=b);if(g<h)return l.x=a,l.y=h,!1;if(g>c)return l.x=a,l.y=c,!1;l.x=a;
| l.y=g;return!0}h=(d-b)/(c-a);if(F.Ha(k,h))return F.Wm(a,b,c,d,e,g,l),!1;e=(h*a-k*e+g-b)/(h-k);if(F.Ha(h,0)){a<c?h=a:(h=c,c=a);if(e<h)return l.x=h,l.y=b,!1;if(e>c)return l.x=c,l.y=b,!1;l.x=e;l.y=b;return!0}g=h*(e-a)+b;return F.Wm(a,b,c,d,e,g,l)},mK:function(a,b,c,d,e){return F.Yg(c.x,c.y,d.x,d.y,a.x,a.y,b.x,b.y,e)},jK:function(a,b,c,d,e,g,h,k,l,m){function n(c,d){var e=(c-a)*(c-a)+(d-b)*(d-b);e<p&&(p=e,l.x=c,l.y=d)}var p=Infinity;n(l.x,l.y);var q,r,s,u;e<h?(q=e,r=h):(q=h,r=e);g<k?(s=e,u=h):(s=h,u=
| e);q=(r-q)/2+m;m=(u-s)/2+m;e=(e+h)/2;g=(g+k)/2;if(0===q||0===m)return l;if(0.5>(c>a?c-a:a-c)){q=1-(c-e)*(c-e)/(q*q);if(0>q)return l;q=Math.sqrt(q);d=-m*q+g;n(c,m*q+g);n(c,d)}else{c=(d-b)/(c-a);d=1/(q*q)+c*c/(m*m);k=2*c*(b-c*a)/(m*m)-2*c*g/(m*m)-2*e/(q*q);q=k*k-4*d*(2*c*a*g/(m*m)-2*b*g/(m*m)+g*g/(m*m)+e*e/(q*q)-1+(b-c*a)*(b-c*a)/(m*m));if(0>q)return l;q=Math.sqrt(q);m=(-k+q)/(2*d);n(m,c*m-c*a+b);q=(-k-q)/(2*d);n(q,c*q-c*a+b)}return l},jl:function(a,b,c,d,e,g,h,k,l){var m=1E21,n=a,p=b;if(F.Yg(a,b,a,
| d,e,g,h,k,l)){var q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g);q<m&&(m=q,n=l.x,p=l.y)}F.Yg(c,b,c,d,e,g,h,k,l)&&(q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g),q<m&&(m=q,n=l.x,p=l.y));F.Yg(a,b,c,b,e,g,h,k,l)&&(q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g),q<m&&(m=q,n=l.x,p=l.y));F.Yg(a,d,c,d,e,g,h,k,l)&&(q=(l.x-e)*(l.x-e)+(l.y-g)*(l.y-g),q<m&&(m=q,n=l.x,p=l.y));l.x=n;l.y=p;return 1E21>m},Jw:function(a,b,c){var d=b.x,e=b.y,g=c.x,h=c.y,k=a.left,l=a.right,m=a.top,n=a.bottom;return d===g?(e<h?(a=e,g=h):(a=h,g=e),k<=d&&d<=l&&a<=n&&g>=m):
| e===h?(d<g?a=d:(a=g,g=d),m<=e&&e<=n&&a<=l&&g>=k):a.Ga(b)||a.Ga(c)||F.Iw(k,m,l,m,d,e,g,h)||F.Iw(l,m,l,n,d,e,g,h)||F.Iw(l,n,k,n,d,e,g,h)||F.Iw(k,n,k,m,d,e,g,h)?!0:!1},Iw:function(a,b,c,d,e,g,h,k){return 0>=F.iw(a,b,c,d,e,g)*F.iw(a,b,c,d,h,k)&&0>=F.iw(e,g,h,k,a,b)*F.iw(e,g,h,k,c,d)},iw:function(a,b,c,d,e,g){c-=a;d-=b;a=e-a;b=g-b;g=a*d-b*c;0===g&&(g=a*c+b*d,0<g&&(g=(a-c)*c+(b-d)*d,0>g&&(g=0)));return 0>g?-1:0<g?1:0},Dt:function(a){0>a&&(a+=360);360<=a&&(a-=360);return a},XD:function(a,b,c,d,e,g){var h=
| Math.PI;g||(d*=h/180,e*=h/180);g=d<e?1:-1;var k=[],l=h/2,m=d;for(d=Math.min(2*h+1E-5,Math.abs(e-d));1E-5<d;)e=m+g*Math.min(d,l),k.push(F.$H(c,m,e,a,b)),d-=Math.abs(e-m),m=e;return k},$H:function(a,b,c,d,e){var g=(c-b)/2,h=a*Math.cos(g),k=a*Math.sin(g),l=0.5522847498*Math.tan(g),m=h+l*k,h=-k+l*h,k=-h,l=g+b,g=Math.cos(l),l=Math.sin(l);return{x1:d+a*Math.cos(b),y1:e+a*Math.sin(b),x2:d+m*g-h*l,y2:e+m*l+h*g,ce:d+m*g-k*l,de:e+m*l+k*g,Qb:d+a*Math.cos(c),Rb:e+a*Math.sin(c)}},dt:function(a,b,c,d,e,g,h){c=
| Math.floor((a-c)/e)*e+c;d=Math.floor((b-d)/g)*g+d;var k=c;c+e-a<e/2&&(k=c+e);a=d;d+g-b<g/2&&(a=d+g);h.q(k,a);return h},wE:function(a,b){var c=Math.max(a,b),d=Math.min(a,b),e=1,g=1;do e=c%d,c=g=d,d=e;while(0<e);return g},pI:function(a,b,c,d){var e=0>c,g=0>d,h,k;a<b?(h=1,k=0):(h=0,k=1);var l,m;l=0===h?a:b;m=0===h?c:d;if(0===h?e:g)m=-m;h=k;c=0===h?c:d;if(0===h?e:g)c=-c;return F.qI(l,0===h?a:b,m,c,0,0)},qI:function(a,b,c,d,e,g){if(0<d)if(0<c){g=a*a;e=b*b;a*=c;var h=b*d,k=-e+h,l=-e+Math.sqrt(a*a+h*h);
| b=k;for(var m=0;9999999999>m;++m){b=0.5*(k+l);if(b===k||b===l)break;var n=a/(b+g),p=h/(b+e),n=n*n+p*p-1;if(0<n)k=b;else if(0>n)l=b;else break}c=g*c/(b+g)-c;d=e*d/(b+e)-d;c=Math.sqrt(c*c+d*d)}else c=Math.abs(d-b);else d=a*a-b*b,e=a*c,e<d?(d=e/d,e=a*d,g=b*Math.sqrt(Math.abs(1-d*d)),c=e-c,c=Math.sqrt(c*c+g*g)):c=Math.abs(c-a);return c}};
| function zc(a){1<arguments.length&&t.l("Geometry constructor can take at most one optional argument, the Geometry type.");t.wc(this);void 0===a?a=Ac:f&&t.sb(a,zc,zc,"constructor:type");this.ba=a;this.wd=this.od=this.tc=this.jc=0;this.zk=new A(Bc);this.Gu=this.zk.V;this.tu=(new w).freeze();this.Va=!0;this.Bi=Eb;this.Ci=Pb;this.Un=this.Vn=NaN;this.sc=Cc}t.ga("Geometry",zc);t.Kh(zc);
| zc.prototype.copy=function(){var a=new zc;a.ba=this.ba;a.jc=this.jc;a.tc=this.tc;a.od=this.od;a.wd=this.wd;for(var b=this.zk,c=b.length,d=a.zk,e=0;e<c;e++){var g=b.n[e].copy();d.add(g)}a.Gu=this.Gu;a.tu.assign(this.tu);a.Va=this.Va;a.Bi=this.Bi.Z();a.Ci=this.Ci.Z();a.Vn=this.Vn;a.Un=this.Un;a.sc=this.sc;return a};var Kc;zc.Line=Kc=t.w(zc,"Line",0);var Lc;zc.Rectangle=Lc=t.w(zc,"Rectangle",1);var Mc;zc.Ellipse=Mc=t.w(zc,"Ellipse",2);var Ac;zc.Path=Ac=t.w(zc,"Path",3);
| zc.prototype.Ja=function(){this.freeze();Object.freeze(this);return this};zc.prototype.freeze=function(){this.lb=!0;var a=this.xb;a.freeze();for(var b=a.length,c=0;c<b;c++)a.n[c].freeze();return this};zc.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;var a=this.xb;a.La();for(var b=a.length,c=0;c<b;c++)a.n[c].La();return this};
| zc.prototype.equalsApprox=zc.prototype.Wj=function(a){if(!(a instanceof zc))return!1;if(this.type!==a.type)return this.type===Kc&&a.type===Ac?Nc(this,a):a.type===Kc&&this.type===Ac?Nc(a,this):!1;if(this.type===Ac){var b=this.xb;a=a.xb;var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(!b.n[d].Wj(a.n[d]))return!1;return!0}return F.I(this.qa,a.qa)&&F.I(this.ra,a.ra)&&F.I(this.D,a.D)&&F.I(this.F,a.F)};
| function Nc(a,b){if(a.type!==Kc||b.type!==Ac)return!1;if(1===b.xb.count){var c=b.xb.wa(0);if(1===c.Fa.count&&F.I(a.qa,c.qa)&&F.I(a.ra,c.ra)&&(c=c.Fa.wa(0),c.type===Oc&&F.I(a.D,c.D)&&F.I(a.F,c.F)))return!0}return!1}var Pc;zc.stringify=Pc=function(a){return a.toString()};
| zc.prototype.toString=function(a){switch(this.type){case Kc:return void 0===a?"M"+this.qa.toString()+" "+this.ra.toString()+"L"+this.D.toString()+" "+this.F.toString():"M"+this.qa.toFixed(a)+" "+this.ra.toFixed(a)+"L"+this.D.toFixed(a)+" "+this.F.toFixed(a);case Lc:var b=new w(this.qa,this.ra,0,0);b.BG(this.D,this.F,0,0);return void 0===a?"M"+b.x.toString()+" "+b.y.toString()+"H"+b.right.toString()+"V"+b.bottom.toString()+"H"+b.left.toString()+"z":"M"+b.x.toFixed(a)+" "+b.y.toFixed(a)+"H"+b.right.toFixed(a)+
| "V"+b.bottom.toFixed(a)+"H"+b.left.toFixed(a)+"z";case Mc:b=new w(this.qa,this.ra,0,0);b.BG(this.D,this.F,0,0);if(void 0===a){var c=b.left.toString()+" "+(b.y+b.height/2).toString(),d=b.right.toString()+" "+(b.y+b.height/2).toString();return"M"+c+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+d+"A"+(b.width/2).toString()+" "+(b.height/2).toString()+" 0 0 1 "+c}c=b.left.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);d=b.right.toFixed(a)+" "+(b.y+b.height/2).toFixed(a);return"M"+c+"A"+
| (b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+d+"A"+(b.width/2).toFixed(a)+" "+(b.height/2).toFixed(a)+" 0 0 1 "+c;case Ac:for(var b="",c=this.xb,d=c.length,e=0;e<d;e++){var g=c.n[e];0<e&&(b+=" x ");g.mp&&(b+="F ");b+=g.toString(a)}return b;default:return this.type.toString()}};var Qc;
| zc.fillPath=Qc=function(a){"string"!==typeof a&&t.Xb(a,"string",zc,"fillPath:str");a=a.split(/[Xx]/);for(var b=a.length,c="",d=0;d<b;d++)var e=a[d],c=null!==e.match(/[Ff]/)?0===d?c+e:c+("X"+(" "===e[0]?"":" ")+e):c+((0===d?"":"X ")+"F"+(" "===e[0]?"":" ")+e);return c};var Rc;
| zc.parse=Rc=function(a,b){function c(){return n>=x-1?!0:null!==m[n+1].match(/[A-Za-z]/)}function d(){n++;return m[n]}function e(){var a=new v(parseFloat(d()),parseFloat(d()));p===p.toLowerCase()&&(a.x=u.x+a.x,a.y=u.y+a.y);return a}function g(){return u=e()}function h(){return s=e()}function k(){var a=[parseFloat(d()),parseFloat(d()),parseFloat(d()),parseFloat(d()),parseFloat(d())];c()||(a.push(parseFloat(d())),c()||a.push(parseFloat(d())));p===p.toLowerCase()&&(a[2]+=u.x,a[3]+=u.y);return a}function l(){return"c"!==
| q.toLowerCase()&&"s"!==q.toLowerCase()?u:new v(2*u.x-s.x,2*u.y-s.y)}void 0===b&&(b=!1);"string"!==typeof a&&t.Xb(a,"string",zc,"parse:str");a=a.replace(/,/gm," ");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([UuBbMmZzLlHhVvCcSsQqTtAaFf])([^\s])/gm,"$1 $2");a=a.replace(/([^\s])([UuBbMmZzLlHhVvCcSsQqTtAaFf])/gm,"$1 $2");a=a.replace(/([0-9])([+\-])/gm,"$1 $2");
| a=a.replace(/(\.[0-9]*)(\.)/gm,"$1 $2");a=a.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm,"$1 $3 $4 ");a=a.replace(/[\s\r\t\n]+/gm," ");a=a.replace(/^\s+|\s+$/g,"");for(var m=a.split(" "),n=-1,p="",q="",r=new v(0,0),s=new v(0,0),u=new v(0,0),x=m.length,E=t.u(),G,C=!1,I=!1,O=!0;!(n>=x-1);)if(q=p,p=d(),""!==p)switch(p.toUpperCase()){case "X":O=!0;I=C=!1;break;case "M":G=g();null===E.Sb||!0===O?(J(E,G.x,G.y,C,!1,!I),O=!1):E.moveTo(G.x,G.y);for(r=u;!c();)G=g(),E.lineTo(G.x,G.y);break;case "L":for(;!c();)G=
| g(),E.lineTo(G.x,G.y);break;case "H":for(;!c();)u=G=new v((p===p.toLowerCase()?u.x:0)+parseFloat(d()),u.y),E.lineTo(u.x,u.y);break;case "V":for(;!c();)u=G=new v(u.x,(p===p.toLowerCase()?u.y:0)+parseFloat(d())),E.lineTo(u.x,u.y);break;case "C":for(;!c();){var N=e(),V=h();G=g();K(E,N.x,N.y,V.x,V.y,G.x,G.y)}break;case "S":for(;!c();)N=l(),V=h(),G=g(),K(E,N.x,N.y,V.x,V.y,G.x,G.y);break;case "Q":for(;!c();)V=h(),G=g(),Sc(E,V.x,V.y,G.x,G.y);break;case "T":for(;!c();)s=V=l(),G=g(),Sc(E,V.x,V.y,G.x,G.y);
| break;case "B":for(;!c();)G=k(),E.arcTo(G[0],G[1],G[2],G[3],G[4],G[5],G[6]);break;case "A":for(;!c();){var N=Math.abs(parseFloat(d())),V=Math.abs(parseFloat(d())),W=parseFloat(d()),Y=!!parseFloat(d()),R=!!parseFloat(d());G=g();Yc(E,N,V,W,Y,R,G.x,G.y)}break;case "Z":L(E);u=r;break;case "F":G=null;for(N=1;m[n+N];)if(null!==m[n+N].match(/[Uu]/))N++;else if(null===m[n+N].match(/[A-Za-z]/))N++;else{G=m[n+N];break}G.match(/[Mm]/)?C=!0:Zc(E);break;case "U":G=null;for(N=1;m[n+N];)if(null!==m[n+N].match(/[Ff]/))N++;
| else if(null===m[n+N].match(/[A-Za-z]/))N++;else{G=m[n+N];break}G.match(/[Mm]/)?I=!0:E.cb(!1)}r=E.s;t.v(E);if(b)for(E=r.xb.k;E.next();)E.value.mp=!0;return r};function $c(a,b){for(var c=a.length,d=t.K(),e=0;e<c;e++){var g=a[e];d.x=g.x1;d.y=g.y1;b.Ra(d);g.x1=d.x;g.y1=d.y;d.x=g.x2;d.y=g.y2;b.Ra(d);g.x2=d.x;g.y2=d.y;d.x=g.ce;d.y=g.de;b.Ra(d);g.ce=d.x;g.de=d.y;d.x=g.Qb;d.y=g.Rb;b.Ra(d);g.Qb=d.x;g.Rb=d.y}t.B(d)}
| zc.prototype.FA=function(){if(this.Va)return!0;var a=this.xb;if(this.Gu!==a.V)return!0;for(var b=a.length,c=0;c<b;c++)if(a.n[c].FA())return!0;return!1};zc.prototype.BB=function(){this.Va=!1;var a=this.xb;this.Gu=a.V;for(var b=a.length,c=0;c<b;c++)a.n[c].BB()};zc.prototype.nf=function(){var a=this.tu;a.La();isNaN(this.Vn)||isNaN(this.Un)?a.q(0,0,0,0):a.q(0,0,this.Vn,this.Un);ad(this,a,!1);jb(a,0,0,0,0);a.freeze()};
| zc.prototype.computeBoundsWithoutOrigin=zc.prototype.WH=function(){var a=new w;ad(this,a,!0);return a};
| function ad(a,b,c){switch(a.type){case Kc:case Lc:case Mc:c?b.q(a.jc,a.tc,0,0):jb(b,a.jc,a.tc,0,0);jb(b,a.od,a.wd,0,0);break;case Ac:a=a.xb;for(var d=a.length,e=0;e<d;e++){var g=a.n[e];c&&0===e?b.q(g.qa,g.ra,0,0):jb(b,g.qa,g.ra,0,0);for(var h=g.Fa,k=h.length,l=g.qa,m=g.ra,n=0;n<k;n++){var p=h.n[n];switch(p.type){case Oc:case bd:l=p.D;m=p.F;jb(b,l,m,0,0);break;case cd:F.Oo(l,m,p.yb,p.Mb,p.pe,p.qe,p.D,p.F,0.5,b);l=p.D;m=p.F;break;case dd:F.XA(l,m,p.yb,p.Mb,p.D,p.F,0.5,b);l=p.D;m=p.F;break;case ed:case fd:for(var p=
| p.type===ed?gd(p,g):hd(p,g,l,m),q=p.length,r=null,s=0;s<q;s++)r=p[s],F.Oo(r.x1,r.y1,r.x2,r.y2,r.ce,r.de,r.Qb,r.Rb,0.5,b);null!==r&&(l=r.Qb,m=r.Rb);break;default:t.l("Unknown Segment type: "+p.type)}}}break;default:t.l("Unknown Geometry type: "+a.type)}}zc.prototype.normalize=zc.prototype.normalize=function(){t.L(this);var a=this.WH();this.offset(-a.x,-a.y);return new v(-a.x,-a.y)};
| zc.prototype.offset=zc.prototype.offset=function(a,b){t.L(this);f&&(t.p(a,zc,"offset"),t.p(b,zc,"offset"));this.transform(1,0,0,1,a,b)};zc.prototype.scale=zc.prototype.scale=function(a,b){t.L(this);f&&(t.p(a,zc,"scale:x"),t.p(b,zc,"scale:y"),0>=a&&t.ka(a,"scale must be greater than zero",zc,"scale:x"),0>=b&&t.ka(b,"scale must be greater than zero",zc,"scale:y"));this.transform(a,0,0,b,0,0)};
| zc.prototype.rotate=zc.prototype.rotate=function(a,b,c){t.L(this);void 0===b&&(b=0);void 0===c&&(c=0);f&&(t.p(a,zc,"rotate:angle"),t.p(b,zc,"rotate:x"),t.p(c,zc,"rotate:y"));var d=t.ah();d.reset();d.rotate(a,b,c);this.transform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);t.We(d)};
| zc.prototype.transform=zc.prototype.transform=function(a,b,c,d,e,g){var h,k;switch(this.type){case Kc:case Lc:case Mc:h=this.jc;k=this.tc;this.jc=h*a+k*c+e;this.tc=h*b+k*d+g;h=this.od;k=this.wd;this.od=h*a+k*c+e;this.wd=h*b+k*d+g;break;case Ac:for(var l=this.xb,m=l.length,n=0;n<m;n++){var p=l.n[n];h=p.qa;k=p.ra;p.qa=h*a+k*c+e;p.ra=h*b+k*d+g;for(var p=p.Fa,q=p.length,r=0;r<q;r++){var s=p.n[r];switch(s.type){case Oc:case bd:h=s.D;k=s.F;s.D=h*a+k*c+e;s.F=h*b+k*d+g;break;case cd:h=s.yb;k=s.Mb;s.yb=h*
| a+k*c+e;s.Mb=h*b+k*d+g;h=s.pe;k=s.qe;s.pe=h*a+k*c+e;s.qe=h*b+k*d+g;h=s.D;k=s.F;s.D=h*a+k*c+e;s.F=h*b+k*d+g;break;case dd:h=s.yb;k=s.Mb;s.yb=h*a+k*c+e;s.Mb=h*b+k*d+g;h=s.D;k=s.F;s.D=h*a+k*c+e;s.F=h*b+k*d+g;break;case ed:h=s.Ca;k=s.Oa;s.Ca=h*a+k*c+e;s.Oa=h*b+k*d+g;s.radiusX*=Math.sqrt(a*a+c*c);void 0!==s.radiusY&&(s.radiusY*=Math.sqrt(b*b+d*d));break;case fd:h=s.D;k=s.F;s.D=h*a+k*c+e;s.F=h*b+k*d+g;s.radiusX*=Math.sqrt(a*a+c*c);s.radiusY*=Math.sqrt(b*b+d*d);break;default:t.l("Unknown Segment type: "+
| s.type)}}}}this.Va=!0};zc.prototype.Gs=function(a,b){var c=this.jc,d=this.tc,e=this.od,g=this.wd,h=Math.min(c,e),k=Math.min(d,g),c=Math.abs(e-c),d=Math.abs(g-d),g=t.K();g.x=h;g.y=k;b.Ra(g);e=new Bc(g.x,g.y);g.x=h+c;g.y=k;b.Ra(g);e.Fa.add(new M(Oc,g.x,g.y));g.x=h+c;g.y=k+d;b.Ra(g);e.Fa.add(new M(Oc,g.x,g.y));g.x=h;g.y=k+d;b.Ra(g);e.Fa.add((new M(Oc,g.x,g.y)).close());t.B(g);a.type=Ac;a.xb.add(e);return a};
| zc.prototype.Ga=function(a,b,c,d){var e=a.x,g=a.y,h=this.Ib.x-20;a=a.y;for(var k=0,l,m,n,p,q,r,s,u=this.xb.n,x=u.length,E=0;E<x;E++){var G=u[E];if(G.mp){if(c&&G.Ga(e,g,b))return!0;var C=G.Fa;l=G.qa;m=G.ra;for(var I=l,O=m,N=0;N<=C.length;N++){N!==C.length?(n=C.n[N],p=n.type,r=n.D,s=n.F):(p=Oc,r=I,s=O);switch(p){case bd:q=id(e,g,h,a,l,m,I,O);if(!0===q)return!0;k+=q;I=r;O=s;break;case Oc:q=id(e,g,h,a,l,m,r,s);if(!0===q)return!0;k+=q;break;case cd:q=F.Ts(l,m,n.yb,n.Mb,n.pe,n.qe,r,s,h,a,e,g,0.5);k+=q;
| break;case dd:q=F.Ts(l,m,(l+2*n.yb)/3,(m+2*n.Mb)/3,(n.yb+2*r)/3,(n.yb+2*r)/3,r,s,h,a,e,g,0.5);k+=q;break;case ed:case fd:p=n.type===ed?gd(n,G):hd(n,G,l,m);for(var V=p.length,W=null,Y=0;Y<V;Y++){W=p[Y];if(0===Y){q=id(e,g,h,a,l,m,W.x1,W.y1);if(!0===q)return!0;k+=q}q=F.Ts(W.x1,W.y1,W.x2,W.y2,W.ce,W.de,W.Qb,W.Rb,h,a,e,g,0.5);k+=q}null!==W&&(r=W.Qb,s=W.Rb);break;default:t.l("Unknown Segment type: "+n.type)}l=r;m=s}if(0!==k)return!0;k=0}else if(G.Ga(e,g,d?b:b+2))return!0}return 0!==k};
| function id(a,b,c,d,e,g,h,k){if(F.Hd(e,g,h,k,0.05,a,b))return!0;var l=(a-c)*(g-k);if(0===l)return 0;var m=((a*d-b*c)*(e-h)-(a-c)*(e*k-g*h))/l;b=(a*d-b*c)*(g-k)/l;if(m>=a)return 0;if((e>h?e-h:h-e)<(g>k?g-k:k-g)){if(g<k?(a=g,e=k):(a=k,e=g),b<a||b>e)return 0}else if(e<h?(a=e,e=h):a=h,m<a||m>e)return 0;return 0<l?1:-1}function od(a,b,c,d){for(var e=a.xb.length,g=0;g<e;g++)if(a.xb.n[g].Ga(b,c,d))return!0;return!1}
| zc.prototype.getPointAlongPath=function(a){(0>a||1<a)&&t.ka(a,"0 <= fraction <= 1",zc,"getPointAlongPath:fraction");var b=this.xb.$a(),c=t.Cb(),d=[];d.push([b.qa,b.ra]);for(var e=b.qa,g=b.ra,h=e,k=g,l=b.Fa.n,m=l.length,n=0;n<m;n++){var p=l[n];switch(p.ba){case bd:c.push(d);d=[];d.push([p.D,p.F]);e=p.D;g=p.F;h=e;k=g;break;case Oc:d.push([p.D,p.F]);e=p.D;g=p.F;break;case cd:F.ze(e,g,p.Og,p.Pg,p.Pk,p.Qk,p.ve,p.we,0.5,d);e=p.D;g=p.F;break;case dd:F.Lp(e,g,p.Og,p.Pg,p.ve,p.we,0.5,d);e=p.D;g=p.F;break;
| case ed:for(var q=gd(p,b),r=q.length,s=0;s<r;s++){var u=q[s];F.ze(e,g,u.x2,u.y2,u.ce,u.de,u.Qb,u.Rb,0.5,d);e=u.Qb;g=u.Rb}break;case fd:q=hd(p,b,e,g);r=q.length;for(s=0;s<r;s++)u=q[s],F.ze(e,g,u.x2,u.y2,u.ce,u.de,u.Qb,u.Rb,0.5,d),e=u.Qb,g=u.Rb;break;default:t.l("Segment not of valid type")}p.th&&d.push([h,k])}c.push(d);m=0;e=c.length;b=null;for(g=0;g<e;g++)for(h=c[g],k=h.length,n=0;n<k;n++)d=h[n],0!==n&&(l=Math.sqrt(Ta(b[0],b[1],d[0],d[1])),m+=l),b=d;a*=m;for(g=m=0;g<e;g++)for(h=c[g],k=h.length,n=
| 0;n<k;n++){d=h[n];if(0!==n){l=Math.sqrt(Ta(b[0],b[1],d[0],d[1]));if(m+l>a)return n=(a-m)/l,t.za(c),new v(b[0]+(d[0]-b[0])*n,b[1]+(d[1]-b[1])*n);m+=l}b=d}t.za(c);return null};t.g(zc,"type",zc.prototype.type);t.defineProperty(zc,{type:"type"},function(){return this.ba},function(a){this.ba!==a&&(f&&t.sb(a,zc,zc,"type"),t.L(this,a),this.ba=a,this.Va=!0)});t.g(zc,"startX",zc.prototype.qa);
| t.defineProperty(zc,{qa:"startX"},function(){return this.jc},function(a){this.jc!==a&&(f&&t.p(a,zc,"startX"),t.L(this,a),this.jc=a,this.Va=!0)});t.g(zc,"startY",zc.prototype.ra);t.defineProperty(zc,{ra:"startY"},function(){return this.tc},function(a){this.tc!==a&&(f&&t.p(a,zc,"startY"),t.L(this,a),this.tc=a,this.Va=!0)});t.g(zc,"endX",zc.prototype.D);t.defineProperty(zc,{D:"endX"},function(){return this.od},function(a){this.od!==a&&(f&&t.p(a,zc,"endX"),t.L(this,a),this.od=a,this.Va=!0)});
| t.g(zc,"endY",zc.prototype.F);t.defineProperty(zc,{F:"endY"},function(){return this.wd},function(a){this.wd!==a&&(f&&t.p(a,zc,"endY"),t.L(this,a),this.wd=a,this.Va=!0)});t.g(zc,"figures",zc.prototype.xb);t.defineProperty(zc,{xb:"figures"},function(){return this.zk},function(a){this.zk!==a&&(f&&t.m(a,A,zc,"figures"),t.L(this,a),this.zk=a,this.Va=!0)});t.defineProperty(zc,{G:"spot1"},function(){return this.Bi},function(a){f&&t.m(a,H,zc,"spot1");t.L(this,a);this.Bi=a.Z()});
| t.defineProperty(zc,{H:"spot2"},function(){return this.Ci},function(a){f&&t.m(a,H,zc,"spot2");t.L(this,a);this.Ci=a.Z()});t.A(zc,{Ib:"bounds"},function(){this.FA()&&(this.BB(),this.nf());return this.tu});function Bc(a,b,c){t.wc(this);void 0===c&&(c=!0);this.Ml=c;this.Xn=!0;void 0!==a?(f&&t.p(a,Bc,"sx"),this.jc=a):this.jc=0;void 0!==b?(f&&t.p(b,Bc,"sy"),this.tc=b):this.tc=0;this.ls=new A(M);this.Dv=this.ls.V;this.Va=!0}t.ga("PathFigure",Bc);t.Kh(Bc);
| Bc.prototype.copy=function(){var a=new Bc;a.Ml=this.Ml;a.Xn=this.Xn;a.jc=this.jc;a.tc=this.tc;for(var b=this.ls,c=b.length,d=a.ls,e=0;e<c;e++){var g=b.n[e].copy();d.add(g)}a.Dv=this.Dv;a.Va=this.Va;return a};Bc.prototype.equalsApprox=Bc.prototype.Wj=function(a){if(!(a instanceof Bc&&F.I(this.qa,a.qa)&&F.I(this.ra,a.ra)))return!1;var b=this.Fa;a=a.Fa;var c=b.length;if(c!==a.length)return!1;for(var d=0;d<c;d++)if(!b.n[d].Wj(a.n[d]))return!1;return!0};aa=Bc.prototype;
| aa.toString=function(a){for(var b=void 0===a?"M"+this.qa.toString()+" "+this.ra.toString():"M"+this.qa.toFixed(a)+" "+this.ra.toFixed(a),c=this.Fa,d=c.length,e=0;e<d;e++)b+=" "+c.n[e].toString(a);return b};aa.freeze=function(){this.lb=!0;var a=this.Fa;a.freeze();for(var b=a.length,c=0;c<b;c++)a.n[c].freeze();return this};aa.La=function(){this.lb=!1;var a=this.Fa;a.La();for(var b=a.length,c=0;c<b;c++)a.n[c].La();return this};
| aa.FA=function(){if(this.Va)return!0;var a=this.Fa;if(this.Dv!==a.V)return!0;for(var b=a.length,c=0;c<b;c++)if(a.n[c].Va)return!0;return!1};aa.BB=function(){this.Va=!1;var a=this.Fa;this.Dv=a.V;for(var b=a.length,c=0;c<b;c++){var d=a.n[c];d.Va=!1;d.hj=null}};t.g(Bc,"isFilled",Bc.prototype.mp);t.defineProperty(Bc,{mp:"isFilled"},function(){return this.Ml},function(a){f&&t.j(a,"boolean",Bc,"isFilled");t.L(this,a);this.Ml=a});t.g(Bc,"isShadowed",Bc.prototype.Xi);
| t.defineProperty(Bc,{Xi:"isShadowed"},function(){return this.Xn},function(a){f&&t.j(a,"boolean",Bc,"isShadowed");t.L(this,a);this.Xn=a});t.g(Bc,"startX",Bc.prototype.qa);t.defineProperty(Bc,{qa:"startX"},function(){return this.jc},function(a){f&&t.p(a,Bc,"startX");t.L(this,a);this.jc=a;this.Va=!0});t.g(Bc,"startY",Bc.prototype.ra);t.defineProperty(Bc,{ra:"startY"},function(){return this.tc},function(a){f&&t.p(a,Bc,"startY");t.L(this,a);this.tc=a;this.Va=!0});t.g(Bc,"segments",Bc.prototype.Fa);
| t.defineProperty(Bc,{Fa:"segments"},function(){return this.ls},function(a){f&&t.m(a,A,Bc,"segments");t.L(this,a);this.ls=a;this.Va=!0});
| Bc.prototype.Ga=function(a,b,c){for(var d=this.qa,e=this.ra,g=d,h=e,k=this.Fa.n,l=k.length,m=0;m<l;m++){var n=k[m];switch(n.type){case bd:g=n.D;h=n.F;d=n.D;e=n.F;break;case Oc:if(F.Hd(d,e,n.D,n.F,c,a,b))return!0;d=n.D;e=n.F;break;case cd:if(F.bw(d,e,n.yb,n.Mb,n.pe,n.qe,n.D,n.F,0.5,a,b,c))return!0;d=n.D;e=n.F;break;case dd:if(F.YA(d,e,n.yb,n.Mb,n.D,n.F,0.5,a,b,c))return!0;d=n.D;e=n.F;break;case ed:case fd:for(var p=n.type===ed?gd(n,this):hd(n,this,d,e),q=p.length,r=null,s=0;s<q;s++)if(r=p[s],0===s&&
| F.Hd(d,e,r.x1,r.y1,c,a,b)||F.bw(r.x1,r.y1,r.x2,r.y2,r.ce,r.de,r.Qb,r.Rb,0.5,a,b,c))return!0;null!==r&&(d=r.Qb,e=r.Rb);break;default:t.l("Unknown Segment type: "+n.type)}if(n.ot&&(d!==g||e!==h)&&F.Hd(d,e,g,h,c,a,b))return!0}return!1};
| function M(a,b,c,d,e,g,h,k){t.wc(this);void 0===a?a=Oc:f&&t.sb(a,M,M,"constructor:type");this.ba=a;a===ed?(void 0!==b?(f&&t.p(b,M,"ex"),this.xe=b):this.xe=0,void 0!==c?(f&&t.p(c,M,"ey"),this.ye=c):this.ye=0,void 0!==d&&(f&&t.p(d,M,"x1"),this.pn=d),void 0!==e&&(f&&t.p(e,M,"y1"),this.qn=e),void 0!==g&&(f&&t.p(g,M,"x2"),this.Ej=Math.max(g||0,0)),void 0!==h&&"number"===typeof h?(f&&t.p(h,M,"y2"),this.Fj=Math.max(h||0,0)):this.Fj=this.Ej):a===fd?(void 0!==b&&f&&t.p(b,M,"ex"),void 0!==c&&f&&t.p(c,M,"ey"),
| void 0!==d&&f&&t.p(d,M,"x1"),void 0!==e&&f&&t.p(e,M,"y1"),this.ve=b||0,this.we=c||0,this.Ej=Math.max(d||0,0),this.Fj=Math.max(e||0,0),this.xe=h?1:0,this.ye=k?1:0,a=(g||0)%360,0>a&&(a+=360),this.Eo=a):(void 0!==b?(f&&t.p(b,M,"ex"),this.ve=b):this.ve=0,void 0!==c?(f&&t.p(c,M,"ey"),this.we=c):this.we=0,void 0!==d&&(f&&t.p(d,M,"x1"),this.Og=d),void 0!==e&&(f&&t.p(e,M,"y1"),this.Pg=e),void 0!==g&&(f&&t.p(g,M,"x2"),this.Pk=g),void 0!==h&&"number"===typeof h&&(f&&t.p(h,M,"y2"),this.Qk=h));this.Va=!0;this.th=
| !1;this.hj=null}t.ga("PathSegment",M);t.Kh(M);M.prototype.copy=function(){var a=new M;a.ba=this.ba;this.ba===ed?(a.xe=this.xe,a.ye=this.ye,a.pn=this.pn,a.qn=this.qn,a.Ej=this.Ej,a.Fj=this.Fj):this.ba===fd?(a.xe=this.xe,a.ye=this.ye,a.ve=this.ve,a.we=this.we,a.Ej=this.Ej,a.Fj=this.Fj,a.Eo=this.Eo):(a.ve=this.ve,a.we=this.we,a.Og=this.Og,a.Pg=this.Pg,a.Pk=this.Pk,a.Qk=this.Qk);a.Va=this.Va;a.th=this.th;return a};
| M.prototype.equalsApprox=M.prototype.Wj=function(a){if(!(a instanceof M)||this.type!==a.type||this.ot!==a.ot)return!1;switch(this.type){case bd:case Oc:return F.I(this.D,a.D)&&F.I(this.F,a.F);case cd:return F.I(this.D,a.D)&&F.I(this.F,a.F)&&F.I(this.yb,a.yb)&&F.I(this.Mb,a.Mb)&&F.I(this.pe,a.pe)&&F.I(this.qe,a.qe);case dd:return F.I(this.D,a.D)&&F.I(this.F,a.F)&&F.I(this.yb,a.yb)&&F.I(this.Mb,a.Mb);case ed:return F.I(this.Cg,a.Cg)&&F.I(this.Yh,a.Yh)&&F.I(this.Ca,a.Ca)&&F.I(this.Oa,a.Oa)&&F.I(this.radiusX,
| a.radiusX)&&F.I(this.radiusY,a.radiusY);case fd:return this.Lw===a.Lw&&this.Nw===a.Nw&&F.I(this.xx,a.xx)&&F.I(this.D,a.D)&&F.I(this.F,a.F)&&F.I(this.radiusX,a.radiusX)&&F.I(this.radiusY,a.radiusY);default:return!1}};
| M.prototype.toString=function(a){switch(this.type){case bd:a=void 0===a?"M"+this.D.toString()+" "+this.F.toString():"M"+this.D.toFixed(a)+" "+this.F.toFixed(a);break;case Oc:a=void 0===a?"L"+this.D.toString()+" "+this.F.toString():"L"+this.D.toFixed(a)+" "+this.F.toFixed(a);break;case cd:a=void 0===a?"C"+this.yb.toString()+" "+this.Mb.toString()+" "+this.pe.toString()+" "+this.qe.toString()+" "+this.D.toString()+" "+this.F.toString():"C"+this.yb.toFixed(a)+" "+this.Mb.toFixed(a)+" "+this.pe.toFixed(a)+
| " "+this.qe.toFixed(a)+" "+this.D.toFixed(a)+" "+this.F.toFixed(a);break;case dd:a=void 0===a?"Q"+this.yb.toString()+" "+this.Mb.toString()+" "+this.D.toString()+" "+this.F.toString():"Q"+this.yb.toFixed(a)+" "+this.Mb.toFixed(a)+" "+this.D.toFixed(a)+" "+this.F.toFixed(a);break;case ed:a=void 0===a?"B"+this.Cg.toString()+" "+this.Yh.toString()+" "+this.Ca.toString()+" "+this.Oa.toString()+" "+this.radiusX:"B"+this.Cg.toFixed(a)+" "+this.Yh.toFixed(a)+" "+this.Ca.toFixed(a)+" "+this.Oa.toFixed(a)+
| " "+this.radiusX;break;case fd:a=void 0===a?"A"+this.radiusX.toString()+" "+this.radiusY.toString()+" "+this.xx.toString()+" "+(this.Nw?1:0)+" "+(this.Lw?1:0)+" "+this.D.toString()+" "+this.F.toString():"A"+this.radiusX.toFixed(a)+" "+this.radiusY.toFixed(a)+" "+this.xx.toFixed(a)+" "+(this.Nw?1:0)+" "+(this.Lw?1:0)+" "+this.D.toFixed(a)+" "+this.F.toFixed(a);break;default:a=this.type.toString()}return a+(this.th?"z":"")};var bd;M.Move=bd=t.w(M,"Move",0);var Oc;M.Line=Oc=t.w(M,"Line",1);var cd;
| M.Bezier=cd=t.w(M,"Bezier",2);var dd;M.QuadraticBezier=dd=t.w(M,"QuadraticBezier",3);var ed;M.Arc=ed=t.w(M,"Arc",4);var fd;M.SvgArc=fd=t.w(M,"SvgArc",4);M.prototype.freeze=function(){this.lb=!0;return this};M.prototype.La=function(){this.lb=!1;return this};M.prototype.close=M.prototype.close=function(){this.th=!0;return this};
| function gd(a,b){if(null!==a.hj&&!1===b.Va)return a.hj;var c=a.radiusX,d=a.radiusY;void 0===d&&(d=c);var e=a.pn,g=a.qn,h=F.XD(0,0,c<d?c:d,a.Cg,a.Cg+a.Yh);if(c!==d){var k=t.ah();k.reset();c<d?k.scale(1,d/c):k.scale(c/d,1);for(var c=h.length,d=t.K(),l=0;l<c;l++){var m=h[l];d.x=m.x1;d.y=m.y1;k.Ra(d);m.x1=d.x;m.y1=d.y;d.x=m.x2;d.y=m.y2;k.Ra(d);m.x2=d.x;m.y2=d.y;d.x=m.ce;d.y=m.de;k.Ra(d);m.ce=d.x;m.de=d.y;d.x=m.Qb;d.y=m.Rb;k.Ra(d);m.Qb=d.x;m.Rb=d.y}t.B(d);t.We(k)}k=h.length;for(c=0;c<k;c++)d=h[c],d.x1+=
| e,d.y1+=g,d.x2+=e,d.y2+=g,d.ce+=e,d.de+=g,d.Qb+=e,d.Rb+=g;a.hj=h;return a.hj}
| function hd(a,b,c,d){function e(a,b){return(a[0]*b[1]<a[1]*b[0]?-1:1)*Math.acos(g(a,b))}function g(a,b){return(a[0]*b[0]+a[1]*b[1])/(Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2))*Math.sqrt(Math.pow(b[0],2)+Math.pow(b[1],2)))}if(null!==a.hj&&!1===b.Va)return a.hj;b=a.Ej;var h=a.Fj,k=Math.PI/180*a.Eo,l=a.Cg,m=a.ye,n=a.ve,p=a.we,q=Math.cos(k)*(c-n)/2+Math.sin(k)*(d-p)/2,r=-Math.sin(k)*(c-n)/2+Math.cos(k)*(d-p)/2,s=Math.pow(q,2)/Math.pow(b,2)+Math.pow(r,2)/Math.pow(h,2);1<s&&(b*=Math.sqrt(s),h*=Math.sqrt(s));
| s=(l===m?-1:1)*Math.sqrt((Math.pow(b,2)*Math.pow(h,2)-Math.pow(b,2)*Math.pow(r,2)-Math.pow(h,2)*Math.pow(q,2))/(Math.pow(b,2)*Math.pow(r,2)+Math.pow(h,2)*Math.pow(q,2)));isNaN(s)&&(s=0);l=s*b*r/h;s=s*-h*q/b;isNaN(l)&&(l=0);isNaN(s)&&(s=0);c=(c+n)/2+Math.cos(k)*l-Math.sin(k)*s;d=(d+p)/2+Math.sin(k)*l+Math.cos(k)*s;k=e([1,0],[(q-l)/b,(r-s)/h]);p=[(q-l)/b,(r-s)/h];r=[(-q-l)/b,(-r-s)/h];q=e(p,r);-1>=g(p,r)&&(q=Math.PI);1<=g(p,r)&&(q=0);0===m&&0<q&&(q-=2*Math.PI);1===m&&0>q&&(q+=2*Math.PI);m=b>h?1:b/h;
| r=b>h?h/b:1;b=F.XD(0,0,b>h?b:h,k,k+q,!0);h=t.ah();h.reset();h.translate(c,d);h.rotate(a.Eo,0,0);h.scale(m,r);$c(b,h);t.We(h);a.hj=b;return a.hj}t.g(M,"isClosed",M.prototype.ot);t.defineProperty(M,{ot:"isClosed"},function(){return this.th},function(a){this.th!==a&&(this.th=a,this.Va=!0)});t.g(M,"type",M.prototype.type);t.defineProperty(M,{type:"type"},function(){return this.ba},function(a){f&&t.sb(a,M,M,"type");t.L(this,a);this.ba=a;this.Va=!0});t.g(M,"endX",M.prototype.D);
| t.defineProperty(M,{D:"endX"},function(){return this.ve},function(a){f&&t.p(a,M,"endX");t.L(this,a);this.ve=a;this.Va=!0});t.g(M,"endY",M.prototype.F);t.defineProperty(M,{F:"endY"},function(){return this.we},function(a){f&&t.p(a,M,"endY");t.L(this,a);this.we=a;this.Va=!0});t.defineProperty(M,{yb:"point1X"},function(){return this.Og},function(a){f&&t.p(a,M,"point1X");t.L(this,a);this.Og=a;this.Va=!0});
| t.defineProperty(M,{Mb:"point1Y"},function(){return this.Pg},function(a){f&&t.p(a,M,"point1Y");t.L(this,a);this.Pg=a;this.Va=!0});t.defineProperty(M,{pe:"point2X"},function(){return this.Pk},function(a){f&&t.p(a,M,"point2X");t.L(this,a);this.Pk=a;this.Va=!0});t.defineProperty(M,{qe:"point2Y"},function(){return this.Qk},function(a){f&&t.p(a,M,"point2Y");t.L(this,a);this.Qk=a;this.Va=!0});
| t.defineProperty(M,{Ca:"centerX"},function(){return this.pn},function(a){f&&t.p(a,M,"centerX");t.L(this,a);this.pn=a;this.Va=!0});t.defineProperty(M,{Oa:"centerY"},function(){return this.qn},function(a){f&&t.p(a,M,"centerY");t.L(this,a);this.qn=a;this.Va=!0});t.defineProperty(M,{radiusX:"radiusX"},function(){return this.Ej},function(a){f&&t.p(a,M,"radiusX");0>a&&t.ka(a,">= zero",M,"radiusX");t.L(this,a);this.Ej=a;this.Va=!0});
| t.defineProperty(M,{radiusY:"radiusY"},function(){return this.Fj},function(a){f&&t.p(a,M,"radiusY");0>a&&t.ka(a,">= zero",M,"radiusY");t.L(this,a);this.Fj=a;this.Va=!0});t.defineProperty(M,{Cg:"startAngle"},function(){return this.xe},function(a){this.xe!==a&&(t.L(this,a),f&&t.p(a,M,"startAngle"),a%=360,0>a&&(a+=360),this.xe=a,this.Va=!0)});
| t.defineProperty(M,{Yh:"sweepAngle"},function(){return this.ye},function(a){f&&t.p(a,M,"sweepAngle");t.L(this,a);360<a&&(a=360);-360>a&&(a=-360);this.ye=a;this.Va=!0});t.defineProperty(M,{Lw:"isClockwiseArc"},function(){return!!this.ye},function(a){t.L(this,a);this.ye=a?1:0;this.Va=!0});t.defineProperty(M,{Nw:"isLargeArc"},function(){return!!this.xe},function(a){t.L(this,a);this.xe=a?1:0;this.Va=!0});
| t.defineProperty(M,{xx:"xAxisRotation"},function(){return this.Eo},function(a){f&&t.p(a,M,"xAxisRotation");a%=360;0>a&&(a+=360);t.L(this,a);this.Eo=a;this.Va=!0});function qd(){this.U=null;this.Nz=(new v(0,0)).freeze();this.Ay=(new v(0,0)).freeze();this.qu=this.fv=0;this.Uu="";this.Qv=this.Du=!1;this.Au=this.su=0;this.ij=this.Ku=!1;this.Qq=null;this.Ov=0;this.hg=this.Mv=null}t.ga("InputEvent",qd);
| qd.prototype.copy=function(){var a=new qd;a.U=this.U;a.Nz.assign(this.Ke);a.Ay.assign(this.da);a.fv=this.fv;a.qu=this.qu;a.Uu=this.Uu;a.Du=this.Du;a.Qv=this.Qv;a.su=this.su;a.Au=this.Au;a.Ku=this.Ku;a.ij=this.ij;a.Qq=this.Qq;a.Ov=this.Ov;a.Mv=this.Mv;a.hg=this.hg;return a};
| qd.prototype.toString=function(){var a="^";this.Wc&&(a+="M:"+this.Wc);this.button&&(a+="B:"+this.button);this.key&&(a+="K:"+this.key);this.Ae&&(a+="C:"+this.Ae);this.Tj&&(a+="D:"+this.Tj);this.Ee&&(a+="h");this.bubbles&&(a+="b");null!==this.da&&(a+="@"+this.da.toString());return a};t.g(qd,"diagram",qd.prototype.h);t.defineProperty(qd,{h:"diagram"},function(){return this.U},function(a){this.U=a});t.g(qd,"viewPoint",qd.prototype.Ke);
| t.defineProperty(qd,{Ke:"viewPoint"},function(){return this.Nz},function(a){t.m(a,v,qd,"viewPoint");this.Nz.assign(a)});t.g(qd,"documentPoint",qd.prototype.da);t.defineProperty(qd,{da:"documentPoint"},function(){return this.Ay},function(a){t.m(a,v,qd,"documentPoint");this.Ay.assign(a)});t.g(qd,"modifiers",qd.prototype.Wc);t.defineProperty(qd,{Wc:"modifiers"},function(){return this.fv},function(a){this.fv=a});t.g(qd,"button",qd.prototype.button);
| t.defineProperty(qd,{button:"button"},function(){return this.qu},function(a){this.qu=a});t.g(qd,"key",qd.prototype.key);t.defineProperty(qd,{key:"key"},function(){return this.Uu},function(a){this.Uu=a});t.g(qd,"down",qd.prototype.Vj);t.defineProperty(qd,{Vj:"down"},function(){return this.Du},function(a){this.Du=a});t.g(qd,"up",qd.prototype.ej);t.defineProperty(qd,{ej:"up"},function(){return this.Qv},function(a){this.Qv=a});t.g(qd,"clickCount",qd.prototype.Ae);
| t.defineProperty(qd,{Ae:"clickCount"},function(){return this.su},function(a){this.su=a});t.g(qd,"delta",qd.prototype.Tj);t.defineProperty(qd,{Tj:"delta"},function(){return this.Au},function(a){this.Au=a});t.g(qd,"handled",qd.prototype.Ee);t.defineProperty(qd,{Ee:"handled"},function(){return this.Ku},function(a){this.Ku=a});t.g(qd,"bubbles",qd.prototype.bubbles);t.defineProperty(qd,{bubbles:"bubbles"},function(){return this.ij},function(a){this.ij=a});t.g(qd,"event",qd.prototype.event);
| t.defineProperty(qd,{event:"event"},function(){return this.Qq},function(a){this.Qq=a});t.A(qd,{Qw:"isTouchEvent"},function(){var a=window.TouchEvent;return a&&this.event instanceof a});t.g(qd,"timestamp",qd.prototype.timestamp);t.defineProperty(qd,{timestamp:"timestamp"},function(){return this.Ov},function(a){this.Ov=a});t.g(qd,"targetDiagram",qd.prototype.$g);t.defineProperty(qd,{$g:"targetDiagram"},function(){return this.Mv},function(a){this.Mv=a});t.g(qd,"targetObject",qd.prototype.Zd);
| t.defineProperty(qd,{Zd:"targetObject"},function(){return this.hg},function(a){this.hg=a});t.g(qd,"control",qd.prototype.control);t.defineProperty(qd,{control:"control"},function(){return 0!==(this.Wc&1)},function(a){this.Wc=a?this.Wc|1:this.Wc&-2});t.g(qd,"shift",qd.prototype.shift);t.defineProperty(qd,{shift:"shift"},function(){return 0!==(this.Wc&4)},function(a){this.Wc=a?this.Wc|4:this.Wc&-5});t.g(qd,"alt",qd.prototype.alt);
| t.defineProperty(qd,{alt:"alt"},function(){return 0!==(this.Wc&2)},function(a){this.Wc=a?this.Wc|2:this.Wc&-3});t.g(qd,"meta",qd.prototype.Um);t.defineProperty(qd,{Um:"meta"},function(){return 0!==(this.Wc&8)},function(a){this.Wc=a?this.Wc|8:this.Wc&-9});t.g(qd,"left",qd.prototype.left);t.defineProperty(qd,{left:"left"},function(){return 0===this.button},function(a){this.button=a?0:2});t.g(qd,"middle",qd.prototype.dJ);
| t.defineProperty(qd,{dJ:"middle"},function(){return 1===this.button},function(a){this.button=a?1:0});t.g(qd,"right",qd.prototype.right);t.defineProperty(qd,{right:"right"},function(){return 2===this.button},function(a){this.button=a?2:0});function rd(){this.U=null;this.Vb="";this.tv=this.Jv=null;this.ru=!1}t.ga("DiagramEvent",rd);rd.prototype.copy=function(){var a=new rd;a.U=this.U;a.Vb=this.Vb;a.Jv=this.Jv;a.tv=this.tv;a.ru=this.ru;return a};
| rd.prototype.toString=function(){var a="*"+this.name;this.cancel&&(a+="x");null!==this.tx&&(a+=":"+this.tx.toString());null!==this.ex&&(a+="("+this.ex.toString()+")");return a};t.g(rd,"diagram",rd.prototype.h);t.defineProperty(rd,{h:"diagram"},function(){return this.U},function(a){this.U=a});t.g(rd,"name",rd.prototype.name);t.defineProperty(rd,{name:"name"},function(){return this.Vb},function(a){this.Vb=a});t.g(rd,"subject",rd.prototype.tx);
| t.defineProperty(rd,{tx:"subject"},function(){return this.Jv},function(a){this.Jv=a});t.g(rd,"parameter",rd.prototype.ex);t.defineProperty(rd,{ex:"parameter"},function(){return this.tv},function(a){this.tv=a});t.g(rd,"cancel",rd.prototype.cancel);t.defineProperty(rd,{cancel:"cancel"},function(){return this.ru},function(a){this.ru=a});function sd(){this.clear()}t.ga("ChangedEvent",sd);var td;sd.Transaction=td=t.w(sd,"Transaction",-1);var ud;sd.Property=ud=t.w(sd,"Property",0);var vd;
| sd.Insert=vd=t.w(sd,"Insert",1);var wd;sd.Remove=wd=t.w(sd,"Remove",2);sd.prototype.clear=sd.prototype.clear=function(){this.wq=ud;this.em=this.ev="";this.iv=this.jv=this.pv=this.oo=this.ov=this.U=this.ge=null};
| sd.prototype.copy=function(){var a=new sd;a.ge=this.ge;a.U=this.U;a.wq=this.wq;a.ev=this.ev;a.em=this.em;a.ov=this.ov;var b=this.oo;a.oo=t.tb(b)&&"function"===typeof b.Z?b.Z():b;b=this.pv;a.pv=t.tb(b)&&"function"===typeof b.Z?b.Z():b;b=this.jv;a.jv=t.tb(b)&&"function"===typeof b.Z?b.Z():b;b=this.iv;a.iv=t.tb(b)&&"function"===typeof b.Z?b.Z():b;return a};
| sd.prototype.toString=function(){var a="",a=this.qd===td?a+"* ":this.qd===ud?a+(null!==this.fa?"!m":"!d"):a+((null!==this.fa?"!m":"!d")+this.qd);this.propertyName&&"string"===typeof this.propertyName&&(a+=" "+this.propertyName);this.tf&&this.tf!==this.propertyName&&(a+=" "+this.tf);a+=": ";this.qd===td?null!==this.oldValue&&(a+=" "+this.oldValue):(null!==this.object&&(a+=xd(this.object)),null!==this.oldValue&&(a+=" old: "+xd(this.oldValue)),null!==this.Qf&&(a+=" "+this.Qf),null!==this.newValue&&
| (a+=" new: "+xd(this.newValue)),null!==this.Of&&(a+=" "+this.Of));return a};sd.prototype.getValue=sd.prototype.ya=function(a){return a?this.oldValue:this.newValue};sd.prototype.getParam=function(a){return a?this.Qf:this.Of};sd.prototype.canUndo=sd.prototype.canUndo=function(){return null!==this.fa||null!==this.h?!0:!1};sd.prototype.undo=sd.prototype.undo=function(){this.canUndo()&&(null!==this.fa?this.fa.changeState(this,!0):null!==this.h&&this.h.changeState(this,!0))};
| sd.prototype.canRedo=sd.prototype.canRedo=function(){return null!==this.fa||null!==this.h?!0:!1};sd.prototype.redo=sd.prototype.redo=function(){this.canRedo()&&(null!==this.fa?this.fa.changeState(this,!1):null!==this.h&&this.h.changeState(this,!1))};t.g(sd,"model",sd.prototype.fa);t.defineProperty(sd,{fa:"model"},function(){return this.ge},function(a){this.ge=a});t.g(sd,"diagram",sd.prototype.h);t.defineProperty(sd,{h:"diagram"},function(){return this.U},function(a){this.U=a});t.g(sd,"change",sd.prototype.qd);
| t.defineProperty(sd,{qd:"change"},function(){return this.wq},function(a){f&&t.sb(a,sd,sd,"change");this.wq=a});t.g(sd,"modelChange",sd.prototype.tf);t.defineProperty(sd,{tf:"modelChange"},function(){return this.ev},function(a){f&&t.j(a,"string",sd,"modelChange");this.ev=a});t.g(sd,"propertyName",sd.prototype.propertyName);t.defineProperty(sd,{propertyName:"propertyName"},function(){return this.em},function(a){f&&"string"!==typeof a&&t.m(a,Function,sd,"propertyName");this.em=a});
| t.g(sd,"isTransactionFinished",sd.prototype.QI);t.A(sd,{QI:"isTransactionFinished"},function(){return this.wq===td&&("CommittedTransaction"===this.em||"FinishedUndo"===this.em||"FinishedRedo"===this.em)});t.g(sd,"object",sd.prototype.object);t.defineProperty(sd,{object:"object"},function(){return this.ov},function(a){this.ov=a});t.g(sd,"oldValue",sd.prototype.oldValue);t.defineProperty(sd,{oldValue:"oldValue"},function(){return this.oo},function(a){this.oo=a});t.g(sd,"oldParam",sd.prototype.Qf);
| t.defineProperty(sd,{Qf:"oldParam"},function(){return this.pv},function(a){this.pv=a});t.g(sd,"newValue",sd.prototype.newValue);t.defineProperty(sd,{newValue:"newValue"},function(){return this.jv},function(a){this.jv=a});t.g(sd,"newParam",sd.prototype.Of);t.defineProperty(sd,{Of:"newParam"},function(){return this.iv},function(a){this.iv=a});
| function D(a){1<arguments.length&&t.l("Model constructor can only take one optional argument, the Array of node data.");t.wc(this);this.uy=this.Vb="";this.Hk=this.FC=!1;this.cz={};this.Ne=[];this.zc=new la(null,Object);this.$l="key";this.wu=this.Yu=null;this.Lr="category";this.jh=new la(null,na);this.wj=null;this.Ai=!1;this.Mz=null;this.ma=new yd;void 0!==a&&(this.vg=a)}t.ga("Model",D);
| D.prototype.clear=D.prototype.clear=function(){this.Vd&&t.Rm(this.Ne,"nodeDataArray",this,!0);this.Ne=[];this.zc.clear();this.jh.clear();this.ma.clear()};aa=D.prototype;
| aa.Yt=function(){var a="";""!==this.name&&(a+=',\n "name": '+this.quote(this.name));""!==this.Fm&&(a+=',\n "dataFormat": '+this.quote(this.Fm));this.ab&&(a+=',\n "isReadOnly": '+this.ab);"key"!==this.$i&&"string"===typeof this.$i&&(a+=',\n "nodeKeyProperty": '+this.quote(this.$i));"category"!==this.pl&&"string"===typeof this.pl&&(a+=',\n "nodeCategoryProperty": '+this.quote(this.pl));return a};
| aa.EB=function(){var a="",b=this.LA,c=!1,d;for(d in b)if(!zd(d,b[d])){c=!0;break}c&&(a=',\n "modelData": '+Ad(this,b));return a+',\n "nodeDataArray": '+Bd(this,this.vg,!0)};aa.Ht=function(a){a.name&&(this.name=a.name);a.dataFormat&&(this.Fm=a.dataFormat);a.isReadOnly&&(this.ab=a.isReadOnly);a.nodeKeyProperty&&(this.$i=a.nodeKeyProperty);a.nodeCategoryProperty&&(this.pl=a.nodeCategoryProperty)};
| aa.ZA=function(a){var b=a.modelData;b&&(Cd(this,b),this.LA=b);if(a=a.nodeDataArray)Cd(this,a),this.vg=a};aa.toString=function(a){void 0===a&&(a=0);if(1<a)return this.vB();var b=(""!==this.name?this.name:"")+" Model";if(0<a){b+="\n node data:";a=this.vg;var c=t.rb(a),d;for(d=0;d<c;d++)var e=t.jb(a,d),b=b+(" "+this.Ob(e)+":"+xd(e))}return b};
| D.prototype.toJson=D.prototype.toJSON=D.prototype.vB=function(a){void 0===a&&(a=this.constructor===D?"go.Model":this.constructor===P?"go.GraphLinksModel":this.constructor===Kd?"go.TreeModel":t.Wg(this));return'{ "class": '+this.quote(a)+this.Yt()+this.EB()+"}"};
| D.fromJson=D.fromJSON=function(a,b){void 0===b&&(b=null);b&&t.m(b,D,D,"fromJson:model");var c=null;if("string"===typeof a)if(window&&window.JSON&&window.JSON.parse)try{c=window.JSON.parse(a)}catch(d){f&&t.trace("JSON.parse error: "+d.toString())}else t.trace("WARNING: no JSON.parse available");else"object"===typeof a?c=a:t.l("Unable to construct a Model from: "+a);if(null===b){var e;e=null;var g=c["class"];if("string"===typeof g)try{var h=null;0===g.indexOf("go.")?(g=g.substr(3),h=ba[g]):(h=ba[g])||
| (h=window[g]);"function"===typeof h&&(e=new h)}catch(k){}null===e||e instanceof D?b=e:t.l("Unable to construct a Model of declared class: "+c["class"])}null===b&&(b=new P);b.Ht(c);b.ZA(c);return b};
| function Cd(a,b){if(t.isArray(b))for(var c=t.rb(b),d=0;d<c;d++){var e=t.jb(b,d);t.tb(e)&&t.BD(b,d,Cd(a,e))}else if(t.tb(b)){for(d in b)if(e=b[d],t.tb(e)&&(e=Cd(a,e),b[d]=e,"points"===d&&Array.isArray(e))){for(var g=0===e.length%2,h=0;h<e.length;h++)if("number"!==typeof e[h]){g=!1;break}if(g){g=new A(v);for(h=0;h<e.length/2;h++){var k=new v(e[2*h],e[2*h+1]);g.add(k)}g.freeze();b[d]=g}}if("object"!==typeof b)c=b;else{d=b;e=b["class"];if("NaN"===e)d=NaN;else if("Date"===e)d=new Date(b.value);else if("go.Point"===
| e)d=new v(Ld(b.x),Ld(b.y));else if("go.Size"===e)d=new fa(Ld(b.width),Ld(b.height));else if("go.Rect"===e)d=new w(Ld(b.x),Ld(b.y),Ld(b.width),Ld(b.height));else if("go.Margin"===e)d=new ab(Ld(b.top),Ld(b.right),Ld(b.bottom),Ld(b.left));else if("go.Spot"===e)d="string"===typeof b["enum"]?vb(b["enum"]):new H(Ld(b.x),Ld(b.y),Ld(b.offsetX),Ld(b.offsetY));else if("go.Brush"===e){if(d=new ea,d.type=t.Im(ea,b.type),b.start instanceof H&&(d.start=b.start),b.end instanceof H&&(d.end=b.end),"number"===typeof b.startRadius&&
| (d.Xp=Ld(b.startRadius)),"number"===typeof b.endRadius&&(d.Wo=Ld(b.endRadius)),e=b.colorStops)for(c in e)d.addColorStop(parseFloat(c),e[c])}else"go.Geometry"===e&&(d="string"===typeof b.path?Rc(b.path):new zc,d.type=t.Im(zc,b.type),"number"===typeof b.startX&&(d.qa=Ld(b.startX)),"number"===typeof b.startY&&(d.ra=Ld(b.startY)),"number"===typeof b.endX&&(d.D=Ld(b.endX)),"number"===typeof b.endY&&(d.F=Ld(b.endY)),b.spot1 instanceof H&&(d.G=b.spot1),b.spot2 instanceof H&&(d.H=b.spot2));c=d}return c}return b}
| D.prototype.quote=function(a){for(var b="",c=a.length,d=0;d<c;d++)var e=a[d],b='"'===e||"\\"===e?b+("\\"+e):"\b"===e?b+"\\b":"\f"===e?b+"\\f":"\n"===e?b+"\\n":"\r"===e?b+"\\r":"\t"===e?b+"\\t":b+e;return'"'+b+'"'};
| D.prototype.writeJsonValue=D.prototype.Zt=function(a){return void 0===a?"undefined":null===a?"null":!0===a?"true":!1===a?"false":"string"===typeof a?this.quote(a):"number"===typeof a?Infinity===a?"9e9999":-Infinity===a?"-9e9999":isNaN(a)?'{"class":"NaN"}':a.toString():a instanceof Date?'{"class":"Date", "value":"'+a.toJSON()+'"}':a instanceof Number?this.Zt(a.valueOf()):t.isArray(a)?Bd(this,a):t.tb(a)?Ad(this,a):"function"===typeof a?"null":a.toString()};
| function Bd(a,b,c){var d=t.rb(b),e="[ ";c&&1<d&&(e+="\n");for(var g=0;g<d;g++){var h=t.jb(b,g);void 0!==h&&(0<g&&(e+=",",c&&(e+="\n")),e+=a.Zt(h))}c&&1<d&&(e+="\n");return e+" ]"}function zd(a,b){return void 0===b||"__gohashid"===a||"_"===a[0]||"function"===typeof b?!0:!1}function Md(a){return isNaN(a)?"NaN":Infinity===a?"9e9999":-Infinity===a?"-9e9999":a}
| function Ad(a,b){var c=b;if(c instanceof v)b={"class":"go.Point",x:Md(c.x),y:Md(c.y)};else if(c instanceof fa)b={"class":"go.Size",width:Md(c.width),height:Md(c.height)};else if(c instanceof w)b={"class":"go.Rect",x:Md(c.x),y:Md(c.y),width:Md(c.width),height:Md(c.height)};else if(c instanceof ab)b={"class":"go.Margin",top:Md(c.top),right:Md(c.right),bottom:Md(c.bottom),left:Md(c.left)};else if(c instanceof H)b=c.sd()?{"class":"go.Spot",x:Md(c.x),y:Md(c.y),offsetX:Md(c.offsetX),offsetY:Md(c.offsetY)}:
| {"class":"go.Spot","enum":c.toString()};else if(c instanceof ea){b={"class":"go.Brush",type:c.type.name};if(c.type===Nd)b.color=c.color;else if(c.type===Od||c.type===Zd)b.start=c.start,b.end=c.end,c.type===Zd&&(0!==c.Xp&&(b.startRadius=Md(c.Xp)),isNaN(c.Wo)||(b.endRadius=Md(c.Wo)));if(null!==c.Ro){for(var d={},c=c.Ro.k;c.next();)d[c.key.toString()]=c.value;b.colorStops=d}}else if(c instanceof zc)b={"class":"go.Geometry",type:c.type.name},0!==c.qa&&(b.startX=Md(c.qa)),0!==c.ra&&(b.startY=Md(c.ra)),
| 0!==c.D&&(b.endX=Md(c.D)),0!==c.F&&(b.endY=Md(c.F)),c.G.M(Eb)||(b.spot1=c.G),c.H.M(Pb)||(b.spot2=c.H),c.type===Ac&&(b.path=Pc(c));else if(c instanceof Q||c instanceof z||c instanceof $d||c instanceof D||c instanceof ae||c instanceof qa||c instanceof be||c instanceof ta||c instanceof yd||c instanceof me)return t.trace("ERROR: trying to convert a GraphObject or Diagram or Model or Tool or Layout or UndoManager into JSON text: "+c.toString()),"{}";var d="{",e=!0,g;for(g in b)if(c=t.kb(b,g),!zd(g,c))if(e?
| e=!1:d+=", ",d+='"'+g+'":',"points"===g&&c instanceof A&&c.ba===v){for(var h="[",c=c.k;c.next();){var k=c.value;1<h.length&&(h+=",");h+=a.Zt(k.x);h+=",";h+=a.Zt(k.y)}h+="]";d+=h}else d+=a.Zt(c);return d+"}"}function Ld(a){return"number"===typeof a?a:"NaN"===a?NaN:"9e9999"===a?Infinity:"-9e9999"===a?-Infinity:parseFloat(a)}t.g(D,"name",D.prototype.name);t.defineProperty(D,{name:"name"},function(){return this.Vb},function(a){var b=this.Vb;b!==a&&(t.j(a,"string",D,"name"),this.Vb=a,this.i("name",b,a))});
| t.g(D,"dataFormat",D.prototype.Fm);t.defineProperty(D,{Fm:"dataFormat"},function(){return this.uy},function(a){var b=this.uy;b!==a&&(t.j(a,"string",D,"dataFormat"),this.uy=a,this.i("dataFormat",b,a))});t.g(D,"knockoutJS",D.prototype.Vd);t.defineProperty(D,{Vd:"knockoutJS"},function(){return this.FC},function(a){this.FC=a;t.vc||(t.vc="object"===typeof window.ko&&"function"===typeof window.ko.isObservable?window.ko.isObservable:null,a&&null===t.vc&&t.trace("No value for ko.isObservable: is KnockoutJS library not loaded?"))});
| t.g(D,"isReadOnly",D.prototype.ab);t.defineProperty(D,{ab:"isReadOnly"},function(){return this.Hk},function(a){var b=this.Hk;b!==a&&(t.j(a,"boolean",D,"isReadOnly"),this.Hk=a,this.i("isReadOnly",b,a))});t.g(D,"modelData",D.prototype.LA);t.defineProperty(D,{LA:"modelData"},function(){return this.cz},function(a){var b=this.cz;b!==a&&(t.j(a,"object",D,"modelData"),this.cz=a,this.i("modelData",b,a))});
| D.prototype.addChangedListener=D.prototype.Uz=function(a){t.j(a,"function",D,"addChangedListener:listener");null===this.wj&&(this.wj=new A("function"));this.wj.add(a)};D.prototype.removeChangedListener=D.prototype.cB=function(a){t.j(a,"function",D,"removeChangedListener:listener");null!==this.wj&&(this.wj.remove(a),0===this.wj.count&&(this.wj=null))};
| D.prototype.cw=function(a){this.Wa||this.ma.EE(a);if(null!==this.wj){var b=this.wj,c=b.length;if(1===c)b=b.wa(0),b(a);else if(0!==c)for(var d=b.Ie(),e=0;e<c;e++)b=d[e],b(a)}};D.prototype.raiseChangedEvent=D.prototype.Xc=function(a,b,c,d,e,g,h){ne(this,"",a,b,c,d,e,g,h)};D.prototype.raiseChanged=D.prototype.i=function(a,b,c,d,e){ne(this,"",ud,a,this,b,c,d,e)};D.prototype.raiseDataChanged=D.prototype.hx=function(a,b,c,d,e,g){ne(this,"",ud,b,a,c,d,e,g)};
| function ne(a,b,c,d,e,g,h,k,l){void 0===k&&(k=null);void 0===l&&(l=null);var m=new sd;m.fa=a;m.qd=c;m.tf=b;m.propertyName=d;m.object=e;m.oldValue=g;m.Qf=k;m.newValue=h;m.Of=l;a.cw(m)}t.g(D,"undoManager",D.prototype.ma);t.defineProperty(D,{ma:"undoManager"},function(){return this.Mz},function(a){var b=this.Mz;b!==a&&(t.m(a,yd,D,"undoManager"),null!==b&&b.wJ(this),this.Mz=a,null!==a&&a.uH(this))});t.g(D,"skipsUndoManager",D.prototype.Wa);
| t.defineProperty(D,{Wa:"skipsUndoManager"},function(){return this.Ai},function(a){t.j(a,"boolean",D,"skipsUndoManager");this.Ai=a});
| D.prototype.changeState=function(a,b){if(null!==a&&a.fa===this)if(a.qd===ud){var c=a.object,d=a.propertyName,e=a.ya(b);t.Qa(c,d,e)}else a.qd===vd?"nodeDataArray"===a.tf?(c=a.newValue,t.tb(c)&&(d=this.Ob(c),void 0!==d&&(b?(this.Vd&&t.rf(c,this,!0),t.Ki(this.Ne,a.Of),this.zc.remove(d)):(this.Vd&&t.rf(c,this,!1),t.Ji(this.Ne,a.Of,c),this.zc.add(d,c))))):""===a.tf?(c=a.object,!t.isArray(c)&&a.propertyName&&(c=t.kb(a.object,a.propertyName)),t.isArray(c)&&(d=a.newValue,e=a.Of,b?t.Ki(c,e):t.Ji(c,e,d))):
| t.l("unknown ChangedEvent.Insert object: "+a.toString()):a.qd===wd?"nodeDataArray"===a.tf?(c=a.oldValue,t.tb(c)&&(d=this.Ob(c),void 0!==d&&(b?(this.Vd&&t.rf(c,this,!1),t.Ji(this.Ne,a.Qf,c),this.zc.add(d,c)):(this.Vd&&t.rf(c,this,!0),t.Ki(this.Ne,a.Qf),this.zc.remove(d))))):""===a.tf?(c=a.object,!t.isArray(c)&&a.propertyName&&(c=t.kb(a.object,a.propertyName)),t.isArray(c)&&(d=a.oldValue,e=a.Qf,b?t.Ji(c,e,d):t.Ki(c,e))):t.l("unknown ChangedEvent.Remove object: "+a.toString()):a.qd!==td&&t.l("unknown ChangedEvent: "+
| a.toString())};D.prototype.startTransaction=D.prototype.pc=function(a){return this.ma.pc(a)};D.prototype.commitTransaction=D.prototype.Ce=function(a){return this.ma.Ce(a)};D.prototype.rollbackTransaction=D.prototype.Pp=function(){return this.ma.Pp()};D.prototype.updateTargetBindings=D.prototype.Lb=function(a,b){void 0===b&&(b="");ne(this,"SourceChanged",td,b,a,null,null)};t.g(D,"nodeKeyProperty",D.prototype.$i);
| t.defineProperty(D,{$i:"nodeKeyProperty"},function(){return this.$l},function(a){var b=this.$l;b!==a&&(oe(a,D,"nodeKeyProperty"),0<this.zc.count&&t.l("Cannot set Model.nodeKeyProperty when there is existing node data"),this.$l=a,this.i("nodeKeyProperty",b,a))});function oe(a,b,c){"string"!==typeof a&&"function"!==typeof a&&t.Xb(a,"string or function",b,c)}
| D.prototype.getKeyForNodeData=D.prototype.Ob=function(a){if(null!==a){var b=this.$l;if(""!==b&&(b=t.kb(a,b),void 0!==b)){if(pe(b))return b;t.l("Key value for node data "+a+" is not a number or a string: "+b)}}};
| D.prototype.setKeyForNodeData=D.prototype.mB=function(a,b){null===b&&(b=void 0);void 0===b||pe(b)||t.Xb(b,"number or string",D,"setKeyForNodeData:key");if(null!==a){var c=this.$l;if(""!==c)if(this.je(a)){var d=t.kb(a,c);d!==b&&null===this.pf(b)&&(t.Qa(a,c,b),this.zc.remove(d),this.zc.add(b,a),ne(this,"nodeKey",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c),this.It(d,b))}else t.Qa(a,c,b)}};t.g(D,"makeUniqueKeyFunction",D.prototype.aJ);
| t.defineProperty(D,{aJ:"makeUniqueKeyFunction"},function(){return this.Yu},function(a){var b=this.Yu;b!==a&&(null!==a&&t.j(a,"function",D,"makeUniqueKeyFunction"),this.Yu=a,this.i("makeUniqueKeyFunction",b,a))});function pe(a){return"number"===typeof a||"string"===typeof a}D.prototype.containsNodeData=D.prototype.je=function(a){a=this.Ob(a);return void 0===a?!1:this.zc.contains(a)};
| D.prototype.findNodeDataForKey=D.prototype.pf=function(a){null===a&&t.l("Model.findNodeDataForKey:key must not be null");return void 0!==a&&pe(a)?this.zc.ya(a):null};t.g(D,"nodeDataArray",D.prototype.vg);
| t.defineProperty(D,{vg:"nodeDataArray"},function(){return this.Ne},function(a){var b=this.Ne;if(b!==a){t.Us(a,D,"nodeDataArray");this.Vd&&t.vc&&(null!==b&&t.Rm(b,"nodeDataArray",this,!0),a=t.Rm(a,"nodeDataArray",this,!1));this.zc.clear();this.zB();for(var c=t.rb(a),d=0;d<c;d++){var e=t.jb(a,d);if(!t.tb(e)){t.l("Model.nodeDataArray must only contain Objects, not: "+e);return}t.jt(e)}this.Ne=a;for(var g=new A(Object),d=0;d<c;d++){var e=t.jb(a,d),h=this.Ob(e);void 0===h?g.add(e):null!==this.zc.ya(h)?
| g.add(e):this.zc.add(h,e)}for(d=g.k;d.next();)e=d.value,this.hF(e),g=this.Ob(e),this.zc.add(g,e);ne(this,"nodeDataArray",ud,"nodeDataArray",this,b,a);for(d=0;d<c;d++)e=t.jb(a,d),this.Op(e),this.Np(e);this.KD();t.MI(a)||(this.ab=!0)}});
| D.prototype.makeNodeDataKeyUnique=D.prototype.hF=function(a){if(null!==a){var b=this.$l;if(""!==b){var c=this.Ob(a);if(void 0===c||this.zc.contains(c)){var d=this.Yu;if(null!==d&&(c=d(this,a),void 0!==c&&null!==c&&!this.zc.contains(c))){t.Qa(a,b,c);return}if("string"===typeof c){for(d=2;this.zc.contains(c+d);)d++;t.Qa(a,b,c+d)}else if(void 0===c||"number"===typeof c){for(d=-this.zc.count-1;this.zc.contains(d);)d--;t.Qa(a,b,d)}else t.l("Model.getKeyForNodeData returned something other than a string or a number: "+
| c)}}}};D.prototype.addNodeData=D.prototype.qm=function(a){if(null!==a){this.Vd&&t.rf(a,this,!1);t.jt(a);var b=this.Ob(a);if(void 0===b||this.zc.ya(b)!==a)this.hF(a),b=this.Ob(a),this.zc.add(b,a),b=t.rb(this.Ne),t.Ji(this.Ne,b,a),ne(this,"nodeDataArray",vd,"nodeDataArray",this,null,a,null,b),this.Op(a),this.Np(a)}};D.prototype.addNodeDataCollection=function(a){if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.qm(t.jb(a,c));else for(a=a.k;a.next();)this.qm(a.value)};
| D.prototype.removeNodeData=D.prototype.ix=function(a){if(null!==a){var b=this.Ob(a);void 0!==b&&this.zc.contains(b)&&(this.Vd&&t.rf(a,this,!0),this.zc.remove(b),b=t.aA(this.Ne,a),0>b||(t.Ki(this.Ne,b),ne(this,"nodeDataArray",wd,"nodeDataArray",this,a,null,b,null),this.Xt(a)))}};D.prototype.removeNodeDataCollection=function(a){if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.ix(t.jb(a,c));else for(a=a.k;a.next();)this.ix(a.value)};aa=D.prototype;
| aa.It=function(a,b){var c=qe(this,a);c instanceof na&&this.jh.add(b,c)};aa.zB=function(){};aa.Op=function(){};aa.Np=function(){};aa.Xt=function(){};function re(a,b,c){if(void 0!==b){var d=a.jh.ya(b);null===d&&(d=new na,a.jh.add(b,d));d.add(c)}}function ye(a,b,c){if(void 0!==b){var d=a.jh.ya(b);d instanceof na&&(void 0===c||null===c?a.jh.remove(b):(d.remove(c),0===d.count&&a.jh.remove(b)))}}function qe(a,b){if(void 0===b)return null;var c=a.jh.ya(b);return c instanceof na?c:null}
| D.prototype.clearUnresolvedReferences=D.prototype.KD=function(a){void 0===a?this.jh.clear():this.jh.remove(a)};t.g(D,"copyNodeDataFunction",D.prototype.ZH);t.defineProperty(D,{ZH:"copyNodeDataFunction"},function(){return this.wu},function(a){var b=this.wu;b!==a&&(null!==a&&t.j(a,"function",D,"copyNodeDataFunction"),this.wu=a,this.i("copyNodeDataFunction",b,a))});
| D.prototype.copyNodeData=function(a){if(null===a)return null;var b=null,b=this.wu;if(null!==b)b=b(a,this);else{var b=new a.constructor,c;for(c in a)t.Qa(b,c,t.kb(a,c));this.Vd&&t.rf(b,this,!1)}b&&t.wc(b);return b};
| D.prototype.setDataProperty=function(a,b,c){f&&(t.j(a,"object",D,"setDataProperty:data"),t.j(b,"string",D,"setDataProperty:propname"),""===b&&t.l("Model.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.je(a))if(b===this.$i)this.mB(a,c);else{if(b===this.pl){this.nx(a,c);return}}else!t.cq&&a instanceof Q&&(t.cq=!0,t.trace('Model.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),t.trace(" Is that really your intent?"));var d=t.kb(a,b);d!==
| c&&(t.Qa(a,b,c),this.hx(a,b,d,c))};D.prototype.addArrayItem=function(a,b){this.JI(a,-1,b)};D.prototype.insertArrayItem=D.prototype.JI=function(a,b,c){f&&(t.Us(a,D,"insertArrayItem:arr"),t.p(b,D,"insertArrayItem:idx"));a===this.Ne&&t.l("Model.insertArrayItem or Model.addArrayItem should not be called on the Model.nodeDataArray");0>b&&(b=t.rb(a));t.Ji(a,b,c);ne(this,"",vd,"",a,null,c,null,b)};
| D.prototype.removeArrayItem=function(a,b){void 0===b&&(b=-1);f&&(t.Us(a,D,"removeArrayItem:arr"),t.p(b,D,"removeArrayItem:idx"));a===this.Ne&&t.l("Model.removeArrayItem should not be called on the Model.nodeDataArray");-1===b&&(b=t.rb(a)-1);var c=t.jb(a,b);t.Ki(a,b);ne(this,"",wd,"",a,c,null,b,null)};t.g(D,"nodeCategoryProperty",D.prototype.pl);
| t.defineProperty(D,{pl:"nodeCategoryProperty"},function(){return this.Lr},function(a){var b=this.Lr;b!==a&&(oe(a,D,"nodeCategoryProperty"),this.Lr=a,this.i("nodeCategoryProperty",b,a))});D.prototype.getCategoryForNodeData=D.prototype.getCategoryForNodeData=function(a){if(null===a)return"";var b=this.Lr;if(""===b)return"";b=t.kb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;t.l("getCategoryForNodeData found a non-string category for "+a+": "+b);return""};
| D.prototype.setCategoryForNodeData=D.prototype.nx=function(a,b){t.j(b,"string",D,"setCategoryForNodeData:cat");if(null!==a){var c=this.Lr;if(""!==c)if(this.je(a)){var d=t.kb(a,c);void 0===d&&(d="");d!==b&&(t.Qa(a,c,b),ne(this,"nodeCategory",ud,c,a,d,b))}else t.Qa(a,c,b)}};
| function P(a,b){2<arguments.length&&t.l("GraphLinksModel constructor can only take two optional arguments, the Array of node data and the Array of link data.");D.call(this);this.Kg=[];this.Wl=new na(Object);this.gj=this.vu=null;this.sj="from";this.vj="to";this.tr=this.sr="";this.pr="category";this.wh=this.lv="";this.kv="isGroup";this.Bj="group";this.my=!1;void 0!==a&&(this.vg=a);void 0!==b&&(this.Yi=b)}t.ga("GraphLinksModel",P);t.Ka(P,D);
| P.prototype.clear=P.prototype.clear=function(){D.prototype.clear.call(this);this.Vd&&t.Rm(this.Kg,"linkDataArray",this,!0);this.Kg=[];this.Wl.clear()};aa=P.prototype;aa.toString=function(a){void 0===a&&(a=0);if(2<=a)return this.vB();var b=(""!==this.name?this.name:"")+" GraphLinksModel";if(0<a){b+="\n node data:";a=this.vg;var c=t.rb(a),d;for(d=0;d<c;d++)var e=t.jb(a,d),b=b+(" "+this.Ob(e)+":"+xd(e));b+="\n link data:";a=this.Yi;c=t.rb(a);for(d=0;d<c;d++)e=t.jb(a,d),b+=" "+this.Lm(e)+"--\x3e"+this.Mm(e)}return b};
| aa.Yt=function(){var a=D.prototype.Yt.call(this),b="";"category"!==this.rp&&"string"===typeof this.rp&&(b+=',\n "linkCategoryProperty": '+this.quote(this.rp));"from"!==this.sp&&"string"===typeof this.sp&&(b+=',\n "linkFromKeyProperty": '+this.quote(this.sp));"to"!==this.xp&&"string"===typeof this.xp&&(b+=',\n "linkToKeyProperty": '+this.quote(this.xp));""!==this.tp&&"string"===typeof this.tp&&(b+=',\n "linkFromPortIdProperty": '+this.quote(this.tp));""!==this.yp&&"string"===typeof this.yp&&(b+=
| ',\n "linkToPortIdProperty": '+this.quote(this.yp));""!==this.Ct&&"string"===typeof this.Ct&&(b+=',\n "nodeIsLinkLabelProperty": '+this.quote(this.Ct));""!==this.up&&"string"===typeof this.up&&(b+=',\n "linkLabelKeysProperty": '+this.quote(this.up));"isGroup"!==this.Hp&&"string"===typeof this.Hp&&(b+=',\n "nodeIsGroupProperty": '+this.quote(this.Hp));"group"!==this.Gp&&"string"===typeof this.Gp&&(b+=',\n "nodeGroupKeyProperty": '+this.quote(this.Gp));return a+b};
| aa.EB=function(){var a=D.prototype.EB.call(this),b=',\n "linkDataArray": '+Bd(this,this.Yi,!0);return a+b};
| aa.Ht=function(a){D.prototype.Ht.call(this,a);a.linkFromKeyProperty&&(this.sp=a.linkFromKeyProperty);a.linkToKeyProperty&&(this.xp=a.linkToKeyProperty);a.linkFromPortIdProperty&&(this.tp=a.linkFromPortIdProperty);a.linkToPortIdProperty&&(this.yp=a.linkToPortIdProperty);a.linkCategoryProperty&&(this.rp=a.linkCategoryProperty);a.nodeIsLinkLabelProperty&&(this.Ct=a.nodeIsLinkLabelProperty);a.linkLabelKeysProperty&&(this.up=a.linkLabelKeysProperty);a.nodeIsGroupProperty&&(this.Hp=a.nodeIsGroupProperty);
| a.nodeGroupKeyProperty&&(this.Gp=a.nodeGroupKeyProperty)};aa.ZA=function(a){D.prototype.ZA.call(this,a);if(a=a.linkDataArray)Cd(this,a),this.Yi=a};
| P.prototype.changeState=function(a,b){if(a.qd===vd){var c=null;"linkDataArray"===a.tf?c=this.Kg:"linkLabelKeys"===a.tf&&(c=this.il(a.object));if(t.isArray(c)){b?(this.Vd&&t.tb(a.newValue)&&t.rf(a.newValue,this,!0),t.Ki(c,a.Of)):(this.Vd&&t.tb(a.newValue)&&t.rf(a.newValue,this,!1),t.Ji(c,a.Of,a.newValue));return}}else if(a.qd===wd&&(c=null,"linkDataArray"===a.tf?c=this.Kg:"linkLabelKeys"===a.tf&&(c=this.il(a.object)),t.isArray(c))){b?(this.Vd&&t.tb(a.oldValue)&&t.rf(a.oldValue,this,!1),t.Ji(c,a.Qf,
| a.oldValue)):(this.Vd&&t.tb(a.oldValue)&&t.rf(a.oldValue,this,!0),t.Ki(c,a.Qf));return}D.prototype.changeState.call(this,a,b)};t.g(P,"archetypeNodeData",P.prototype.Rs);t.defineProperty(P,{Rs:"archetypeNodeData"},function(){return this.gj},function(a){var b=this.gj;b!==a&&(null!==a&&t.m(a,Object,P,"archetypeNodeData"),this.gj=a,this.i("archetypeNodeData",b,a))});
| P.prototype.Tm=function(a){if(void 0!==a){var b=this.gj;if(null!==b){var c=this.pf(a);null===c&&(c=this.copyNodeData(b),t.Qa(c,this.$l,a),this.qm(c))}return a}};t.g(P,"linkFromKeyProperty",P.prototype.sp);t.defineProperty(P,{sp:"linkFromKeyProperty"},function(){return this.sj},function(a){var b=this.sj;b!==a&&(oe(a,P,"linkFromKeyProperty"),this.sj=a,this.i("linkFromKeyProperty",b,a))});
| P.prototype.getFromKeyForLinkData=P.prototype.Lm=function(a){if(null!==a){var b=this.sj;if(""!==b&&(b=t.kb(a,b),void 0!==b)){if(pe(b))return b;t.l("FromKey value for link data "+a+" is not a number or a string: "+b)}}};
| P.prototype.setFromKeyForLinkData=P.prototype.jB=function(a,b){null===b&&(b=void 0);void 0===b||pe(b)||t.Xb(b,"number or string",P,"setFromKeyForLinkData:key");if(null!==a){var c=this.sj;if(""!==c)if(b=this.Tm(b),this.Ni(a)){var d=t.kb(a,c);d!==b&&(ye(this,d,a),t.Qa(a,c,b),null===this.pf(b)&&re(this,b,a),ne(this,"linkFromKey",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};t.g(P,"linkToKeyProperty",P.prototype.xp);
| t.defineProperty(P,{xp:"linkToKeyProperty"},function(){return this.vj},function(a){var b=this.vj;b!==a&&(oe(a,P,"linkToKeyProperty"),this.vj=a,this.i("linkToKeyProperty",b,a))});P.prototype.getToKeyForLinkData=P.prototype.Mm=function(a){if(null!==a){var b=this.vj;if(""!==b&&(b=t.kb(a,b),void 0!==b)){if(pe(b))return b;t.l("ToKey value for link data "+a+" is not a number or a string: "+b)}}};
| P.prototype.setToKeyForLinkData=P.prototype.oB=function(a,b){null===b&&(b=void 0);void 0===b||pe(b)||t.Xb(b,"number or string",P,"setToKeyForLinkData:key");if(null!==a){var c=this.vj;if(""!==c)if(b=this.Tm(b),this.Ni(a)){var d=t.kb(a,c);d!==b&&(ye(this,d,a),t.Qa(a,c,b),null===this.pf(b)&&re(this,b,a),ne(this,"linkToKey",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};t.g(P,"linkFromPortIdProperty",P.prototype.tp);
| t.defineProperty(P,{tp:"linkFromPortIdProperty"},function(){return this.sr},function(a){var b=this.sr;b!==a&&(oe(a,P,"linkFromPortIdProperty"),this.sr=a,this.i("linkFromPortIdProperty",b,a))});P.prototype.getFromPortIdForLinkData=P.prototype.xI=function(a){if(null===a)return"";var b=this.sr;if(""===b)return"";a=t.kb(a,b);return void 0===a?"":a};
| P.prototype.setFromPortIdForLinkData=P.prototype.kB=function(a,b){t.j(b,"string",P,"setFromPortIdForLinkData:portname");if(null!==a){var c=this.sr;if(""!==c)if(this.Ni(a)){var d=t.kb(a,c);void 0===d&&(d="");d!==b&&(t.Qa(a,c,b),ne(this,"linkFromPortId",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};t.g(P,"linkToPortIdProperty",P.prototype.yp);
| t.defineProperty(P,{yp:"linkToPortIdProperty"},function(){return this.tr},function(a){var b=this.tr;b!==a&&(oe(a,P,"linkToPortIdProperty"),this.tr=a,this.i("linkToPortIdProperty",b,a))});P.prototype.getToPortIdForLinkData=P.prototype.AI=function(a){if(null===a)return"";var b=this.tr;if(""===b)return"";a=t.kb(a,b);return void 0===a?"":a};
| P.prototype.setToPortIdForLinkData=P.prototype.pB=function(a,b){t.j(b,"string",P,"setToPortIdForLinkData:portname");if(null!==a){var c=this.tr;if(""!==c)if(this.Ni(a)){var d=t.kb(a,c);void 0===d&&(d="");d!==b&&(t.Qa(a,c,b),ne(this,"linkToPortId",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};t.g(P,"nodeIsLinkLabelProperty",P.prototype.Ct);
| t.defineProperty(P,{Ct:"nodeIsLinkLabelProperty"},function(){return this.lv},function(a){var b=this.lv;b!==a&&(oe(a,P,"nodeIsLinkLabelProperty"),this.lv=a,this.i("nodeIsLinkLabelProperty",b,a))});P.prototype.isLinkLabelForNodeData=P.prototype.LI=function(a){if(null===a)return!1;var b=this.lv;return""===b?!1:t.kb(a,b)?!0:!1};t.g(P,"linkLabelKeysProperty",P.prototype.up);
| t.defineProperty(P,{up:"linkLabelKeysProperty"},function(){return this.wh},function(a){var b=this.wh;b!==a&&(oe(a,P,"linkLabelKeysProperty"),this.wh=a,this.i("linkLabelKeysProperty",b,a))});P.prototype.getLabelKeysForLinkData=P.prototype.il=function(a){if(null===a)return t.ai;var b=this.wh;if(""===b)return t.ai;a=t.kb(a,b);return void 0===a?t.ai:a};
| P.prototype.setLabelKeysForLinkData=P.prototype.$F=function(a,b){t.Us(b,P,"setLabelKeysForLinkData:arr");if(null!==a){var c=this.wh;if(""!==c)if(this.Ni(a)){var d=t.kb(a,c);void 0===d&&(d=t.ai);if(d!==b){for(var e=t.rb(d),g=0;g<e;g++){var h=t.jb(d,g);ye(this,h,a)}t.Qa(a,c,b);e=t.rb(b);for(g=0;g<e;g++)h=t.jb(b,g),null===this.pf(h)&&re(this,h,a);ne(this,"linkLabelKeys",ud,c,a,d,b);"string"===typeof c&&this.Lb(a,c)}}else t.Qa(a,c,b)}};
| P.prototype.addLabelKeyForLinkData=P.prototype.wD=function(a,b){if(null!==b&&void 0!==b&&(pe(b)||t.Xb(b,"number or string",P,"addLabelKeyForLinkData:key"),null!==a)){var c=this.wh;if(""!==c){var d=t.kb(a,c);void 0===d?this.$F(a,[b]):t.isArray(d)?0<=t.aA(d,b)||(t.Ji(d,Infinity,b),this.Ni(a)&&(null===this.pf(b)&&re(this,b,a),ne(this,"linkLabelKeys",vd,c,a,null,b))):t.l(c+" property is not an Array; cannot addLabelKeyForLinkData: "+a)}}};
| P.prototype.removeLabelKeyForLinkData=P.prototype.vJ=function(a,b){if(null!==b&&void 0!==b&&(pe(b)||t.Xb(b,"number or string",P,"removeLabelKeyForLinkData:key"),null!==a)){var c=this.wh;if(""!==c){var d=t.kb(a,c);if(t.isArray(d)){var e=t.aA(d,b);0>e||(t.Ki(d,e),this.Ni(a)&&(ye(this,b,a),ne(this,"linkLabelKeys",wd,c,a,b,null)))}else void 0!==d&&t.l(c+" property is not an Array; cannot removeLabelKeyforLinkData: "+a)}}};t.g(P,"linkDataArray",P.prototype.Yi);
| t.defineProperty(P,{Yi:"linkDataArray"},function(){return this.Kg},function(a){var b=this.Kg;if(b!==a){t.Us(a,P,"linkDataArray");this.Vd&&t.vc&&(null!==b&&t.Rm(b,"linkDataArray",this,!0),a=t.Rm(a,"linkDataArray",this,!1));for(var c=t.rb(a),d=0;d<c;d++){var e=t.jb(a,d);if(!t.tb(e)){t.l("GraphLinksModel.linkDataArray must only contain Objects, not: "+e);return}t.jt(e)}this.Kg=a;for(var g=new na(Object),d=0;d<c;d++)e=t.jb(a,d),g.add(e);this.Wl=g;ne(this,"linkDataArray",ud,"linkDataArray",this,b,a);for(d=
| 0;d<c;d++)e=t.jb(a,d),ze(this,e)}});P.prototype.containsLinkData=P.prototype.Ni=function(a){return null===a?!1:this.Wl.contains(a)};P.prototype.addLinkData=P.prototype.Vv=function(a){if(null!==a){this.Vd&&t.rf(a,this,!1);if(void 0===t.ld(a))t.wc(a);else if(this.Ni(a))return;this.Wl.add(a);var b=t.rb(this.Kg);t.Ji(this.Kg,b,a);ne(this,"linkDataArray",vd,"linkDataArray",this,null,a,null,b);ze(this,a)}};
| P.prototype.addLinkDataCollection=function(a){if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.Vv(t.jb(a,c));else for(a=a.k;a.next();)this.Vv(a.value)};
| P.prototype.removeLinkData=P.prototype.dB=function(a){if(null!==a){this.Vd&&t.rf(a,this,!0);this.Wl.remove(a);var b=this.Kg.indexOf(a);if(!(0>b)){t.Ki(this.Kg,b);ne(this,"linkDataArray",wd,"linkDataArray",this,a,null,b,null);b=this.Lm(a);ye(this,b,a);b=this.Mm(a);ye(this,b,a);var c=this.il(a);if(t.isArray(c))for(var d=t.rb(c),e=0;e<d;e++)b=t.jb(c,e),ye(this,b,a)}}};P.prototype.removeLinkDataCollection=function(a){if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++)this.dB(t.jb(a,c));else for(a=a.k;a.next();)this.dB(a.value)};
| function ze(a,b){var c=a.Lm(b),c=a.Tm(c);null===a.pf(c)&&re(a,c,b);c=a.Mm(b);c=a.Tm(c);null===a.pf(c)&&re(a,c,b);var d=a.il(b);if(t.isArray(d))for(var e=t.rb(d),g=0;g<e;g++)c=t.jb(d,g),null===a.pf(c)&&re(a,c,b)}t.g(P,"copyLinkDataFunction",P.prototype.YH);t.defineProperty(P,{YH:"copyLinkDataFunction"},function(){return this.vu},function(a){var b=this.vu;b!==a&&(null!==a&&t.j(a,"function",P,"copyLinkDataFunction"),this.vu=a,this.i("copyLinkDataFunction",b,a))});
| P.prototype.copyLinkData=P.prototype.VD=function(a){if(null===a)return null;var b=null,b=this.vu;if(null!==b)b=b(a,this);else{var b=new a.constructor,c;for(c in a)t.Qa(b,c,t.kb(a,c));this.Vd&&t.rf(b,this,!1)}b&&(t.wc(b),""!==this.sj&&t.Qa(b,this.sj,void 0),""!==this.vj&&t.Qa(b,this.vj,void 0),""!==this.wh&&t.Qa(b,this.wh,[]));return b};t.g(P,"nodeIsGroupProperty",P.prototype.Hp);
| t.defineProperty(P,{Hp:"nodeIsGroupProperty"},function(){return this.kv},function(a){var b=this.kv;b!==a&&(oe(a,P,"nodeIsGroupProperty"),this.kv=a,this.i("nodeIsGroupProperty",b,a))});P.prototype.isGroupForNodeData=P.prototype.CA=function(a){if(null===a)return!1;var b=this.kv;return""===b?!1:t.kb(a,b)?!0:!1};t.g(P,"nodeGroupKeyProperty",P.prototype.Gp);
| t.defineProperty(P,{Gp:"nodeGroupKeyProperty"},function(){return this.Bj},function(a){var b=this.Bj;b!==a&&(oe(a,P,"nodeGroupKeyProperty"),this.Bj=a,this.i("nodeGroupKeyProperty",b,a))});t.g(P,"copiesGroupKeyOfNodeData",P.prototype.al);t.defineProperty(P,{al:"copiesGroupKeyOfNodeData"},function(){return this.my},function(a){this.my!==a&&(t.j(a,"boolean",P,"copiesGroupKeyOfNodeData"),this.my=a)});
| P.prototype.getGroupKeyForNodeData=P.prototype.fp=function(a){if(null!==a){var b=this.Bj;if(""!==b&&(b=t.kb(a,b),void 0!==b)){if(pe(b))return b;t.l("GroupKey value for node data "+a+" is not a number or a string: "+b)}}};
| P.prototype.setGroupKeyForNodeData=P.prototype.lB=function(a,b){null===b&&(b=void 0);void 0===b||pe(b)||t.Xb(b,"number or string",P,"setGroupKeyForNodeData:key");if(null!==a){var c=this.Bj;if(""!==c)if(this.je(a)){var d=t.kb(a,c);d!==b&&(ye(this,d,a),t.Qa(a,c,b),null===this.pf(b)&&re(this,b,a),ne(this,"nodeGroupKey",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};
| P.prototype.copyNodeData=function(a){if(null===a)return null;a=D.prototype.copyNodeData.call(this,a);this.al||""===this.Bj||t.Qa(a,this.Bj,void 0);return a};
| P.prototype.setDataProperty=function(a,b,c){f&&(t.j(a,"object",P,"setDataProperty:data"),t.j(b,"string",P,"setDataProperty:propname"),""===b&&t.l("GraphLinksModel.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.je(a))if(b===this.$i)this.mB(a,c);else{if(b===this.pl){this.nx(a,c);return}if(b===this.Gp){this.lB(a,c);return}b===this.Hp&&t.l("GraphLinksModel.setDataProperty: property name must not be the nodeIsGroupProperty: "+b)}else if(this.Ni(a)){if(b===
| this.sp){this.jB(a,c);return}if(b===this.xp){this.oB(a,c);return}if(b===this.tp){this.kB(a,c);return}if(b===this.yp){this.pB(a,c);return}if(b===this.rp){this.ZF(a,c);return}if(b===this.up){this.$F(a,c);return}}else!t.cq&&a instanceof Q&&(t.cq=!0,t.trace('GraphLinksModel.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),t.trace(" Is that really your intent?"));var d=t.kb(a,b);d!==c&&(t.Qa(a,b,c),this.hx(a,b,d,c))};aa=P.prototype;
| aa.It=function(a,b){D.prototype.It.call(this,a,b);for(var c=this.zc.k;c.next();)this.fB(c.value,a,b);for(c=this.Wl.k;c.next();){var d=c.value,e=a,g=b;if(this.Lm(d)===e){var h=this.sj;t.Qa(d,h,g);ne(this,"linkFromKey",ud,h,d,e,g);"string"===typeof h&&this.Lb(d,h)}this.Mm(d)===e&&(h=this.vj,t.Qa(d,h,g),ne(this,"linkToKey",ud,h,d,e,g),"string"===typeof h&&this.Lb(d,h));var k=this.il(d);if(t.isArray(k))for(var l=t.rb(k),h=this.wh,m=0;m<l;m++)t.jb(k,m)===e&&(t.BD(k,m,g),ne(this,"linkLabelKeys",vd,h,d,
| e,g))}};aa.fB=function(a,b,c){if(this.fp(a)===b){var d=this.Bj;t.Qa(a,d,c);ne(this,"nodeGroupKey",ud,d,a,b,c);"string"===typeof d&&this.Lb(a,d)}};aa.zB=function(){D.prototype.zB.call(this);for(var a=this.Yi,b=t.rb(a),c=0;c<b;c++){var d=t.jb(a,c);ze(this,d)}};
| aa.Op=function(a){D.prototype.Op.call(this,a);a=this.Ob(a);var b=qe(this,a);if(null!==b){for(var c=new A(Object),b=b.k;b.next();){var d=b.value;if(this.je(d)){if(this.fp(d)===a){var e=this.Bj;ne(this,"nodeGroupKey",ud,e,d,a,a);"string"===typeof e&&this.Lb(d,e);c.add(d)}}else{this.Lm(d)===a&&(e=this.sj,ne(this,"linkFromKey",ud,e,d,a,a),"string"===typeof e&&this.Lb(d,e),c.add(d));this.Mm(d)===a&&(e=this.vj,ne(this,"linkToKey",ud,e,d,a,a),"string"===typeof e&&this.Lb(d,e),c.add(d));var g=this.il(d);
| if(t.isArray(g))for(var h=t.rb(g),e=this.wh,k=0;k<h;k++)t.jb(g,k)===a&&(ne(this,"linkLabelKeys",vd,e,d,a,a),c.add(d))}}for(c=c.k;c.next();)ye(this,a,c.value)}};aa.Np=function(a){D.prototype.Np.call(this,a);var b=this.fp(a);null===this.pf(b)&&re(this,b,a)};aa.Xt=function(a){D.prototype.Xt.call(this,a);var b=this.fp(a);ye(this,b,a)};t.g(P,"linkCategoryProperty",P.prototype.rp);
| t.defineProperty(P,{rp:"linkCategoryProperty"},function(){return this.pr},function(a){var b=this.pr;b!==a&&(oe(a,P,"linkCategoryProperty"),this.pr=a,this.i("linkCategoryProperty",b,a))});P.prototype.getCategoryForLinkData=P.prototype.getCategoryForLinkData=function(a){if(null===a)return"";var b=this.pr;if(""===b)return"";b=t.kb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;t.l("getCategoryForLinkData found a non-string category for "+a+": "+b);return""};
| P.prototype.setCategoryForLinkData=P.prototype.ZF=function(a,b){t.j(b,"string",P,"setCategoryForLinkData:cat");if(null!==a){var c=this.pr;if(""===c)return"";if(this.Ni(a)){var d=t.kb(a,c);void 0===d&&(d="");d!==b&&(t.Qa(a,c,b),ne(this,"linkCategory",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};
| function Kd(a){1<arguments.length&&t.l("TreeModel constructor can only take one optional argument, the Array of node data.");D.call(this);this.Cj="parent";this.oy=!1;this.Qr="parentLinkCategory";void 0!==a&&(this.vg=a)}t.ga("TreeModel",Kd);t.Ka(Kd,D);Kd.prototype.toString=function(a){void 0===a&&(a=0);if(2<=a)return this.vB();var b=(""!==this.name?this.name:"")+" TreeModel";if(0<a){b+="\n node data:";a=this.vg;var c=t.rb(a),d;for(d=0;d<c;d++)var e=t.jb(a,d),b=b+(" "+this.Ob(e)+":"+xd(e))}return b};
| Kd.prototype.Yt=function(){var a=D.prototype.Yt.call(this),b="";"parent"!==this.Ip&&"string"===typeof this.Ip&&(b+=',\n "nodeParentKeyProperty": '+this.quote(this.Ip));return a+b};Kd.prototype.Ht=function(a){D.prototype.Ht.call(this,a);a.nodeParentKeyProperty&&(this.Ip=a.nodeParentKeyProperty)};Kd.prototype.Tm=function(a){return a};t.g(Kd,"nodeParentKeyProperty",Kd.prototype.Ip);
| t.defineProperty(Kd,{Ip:"nodeParentKeyProperty"},function(){return this.Cj},function(a){var b=this.Cj;b!==a&&(oe(a,Kd,"nodeParentKeyProperty"),this.Cj=a,this.i("nodeParentKeyProperty",b,a))});t.g(Kd,"copiesParentKeyOfNodeData",Kd.prototype.bl);t.defineProperty(Kd,{bl:"copiesParentKeyOfNodeData"},function(){return this.oy},function(a){this.oy!==a&&(t.j(a,"boolean",Kd,"copiesParentKeyOfNodeData"),this.oy=a)});
| Kd.prototype.getParentKeyForNodeData=Kd.prototype.hp=function(a){if(null!==a){var b=this.Cj;if(""!==b&&(b=t.kb(a,b),void 0!==b)){if(pe(b))return b;t.l("ParentKey value for node data "+a+" is not a number or a string: "+b)}}};
| Kd.prototype.setParentKeyForNodeData=Kd.prototype.Vh=function(a,b){null===b&&(b=void 0);void 0===b||pe(b)||t.Xb(b,"number or string",Kd,"setParentKeyForNodeData:key");if(null!==a){var c=this.Cj;if(""!==c)if(b=this.Tm(b),this.je(a)){var d=t.kb(a,c);d!==b&&(ye(this,d,a),t.Qa(a,c,b),null===this.pf(b)&&re(this,b,a),ne(this,"nodeParentKey",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};t.g(Kd,"parentLinkCategoryProperty",Kd.prototype.qJ);
| t.defineProperty(Kd,{qJ:"parentLinkCategoryProperty"},function(){return this.Qr},function(a){var b=this.Qr;b!==a&&(oe(a,Kd,"parentLinkCategoryProperty"),this.Qr=a,this.i("parentLinkCategoryProperty",b,a))});Kd.prototype.getParentLinkCategoryForNodeData=Kd.prototype.zI=function(a){if(null===a)return"";var b=this.Qr;if(""===b)return"";b=t.kb(a,b);if(void 0===b)return"";if("string"===typeof b)return b;t.l("getParentLinkCategoryForNodeData found a non-string category for "+a+": "+b);return""};
| Kd.prototype.setParentLinkCategoryForNodeData=Kd.prototype.BJ=function(a,b){t.j(b,"string",Kd,"setParentLinkCategoryForNodeData:cat");if(null!==a){var c=this.Qr;if(""===c)return"";if(this.je(a)){var d=t.kb(a,c);void 0===d&&(d="");d!==b&&(t.Qa(a,c,b),ne(this,"parentLinkCategory",ud,c,a,d,b),"string"===typeof c&&this.Lb(a,c))}else t.Qa(a,c,b)}};Kd.prototype.copyNodeData=function(a){if(null===a)return null;a=D.prototype.copyNodeData.call(this,a);this.bl||""===this.Cj||t.Qa(a,this.Cj,void 0);return a};
| Kd.prototype.setDataProperty=function(a,b,c){f&&(t.j(a,"object",Kd,"setDataProperty:data"),t.j(b,"string",Kd,"setDataProperty:propname"),""===b&&t.l("TreeModel.setDataProperty: property name must not be an empty string when setting "+a+" to "+c));if(this.je(a))if(b===this.$i)this.mB(a,c);else{if(b===this.pl){this.nx(a,c);return}if(b===this.Ip){this.Vh(a,c);return}}else!t.cq&&a instanceof Q&&(t.cq=!0,t.trace('TreeModel.setDataProperty is modifying a GraphObject, "'+a.toString()+'"'),t.trace(" Is that really your intent?"));
| var d=t.kb(a,b);d!==c&&(t.Qa(a,b,c),this.hx(a,b,d,c))};aa=Kd.prototype;aa.It=function(a,b){D.prototype.It.call(this,a,b);for(var c=this.zc.k;c.next();)this.fB(c.value,a,b)};aa.fB=function(a,b,c){if(this.hp(a)===b){var d=this.Cj;t.Qa(a,d,c);ne(this,"nodeParentKey",ud,d,a,b,c);"string"===typeof d&&this.Lb(a,d)}};
| aa.Op=function(a){D.prototype.Op.call(this,a);a=this.Ob(a);var b=qe(this,a);if(null!==b){for(var c=new A(Object),b=b.k;b.next();){var d=b.value;if(this.je(d)&&this.hp(d)===a){var e=this.Cj;ne(this,"nodeParentKey",ud,e,d,a,a);"string"===typeof e&&this.Lb(d,e);c.add(d)}}for(c=c.k;c.next();)ye(this,a,c.value)}};aa.Np=function(a){D.prototype.Np.call(this,a);var b=this.hp(a),b=this.Tm(b);null===this.pf(b)&&re(this,b,a)};aa.Xt=function(a){D.prototype.Xt.call(this,a);var b=this.hp(a);ye(this,b,a)};
| function Ae(a,b,c){t.wc(this);void 0===a?a="":t.j(a,"string",Ae,"constructor:targetprop");void 0===b?b=a:t.j(b,"string",Ae,"constructor:sourceprop");void 0===c?c=null:null!==c&&t.j(c,"function",Ae,"constructor:conv");this.gD="";this.hg=null;this.Nv=a;this.Lv=this.Cz=0;this.dD=null;this.Gv=b;this.ky=c;this.bz=Be;this.ay=null}t.ga("Binding",Ae);var Be;Ae.OneWay=Be=t.w(Ae,"OneWay",1);var Ce;Ae.TwoWay=Ce=t.w(Ae,"TwoWay",2);
| Ae.parseEnum=function(a,b){t.j(a,"function",Ae,"parseEnum:ctor");t.sb(b,a,Ae,"parseEnum:defval");return function(c){return t.Im(a,c)||b}};var xd;Ae.toString=xd=function(a){var b=a;t.tb(a)&&(a.text?b=a.text:a.name?b=a.name:void 0!==a.key?b=a.key:void 0!==a.id?b=a.id:a.constructor===Object&&(a.Text?b=a.Text:a.Name?b=a.Name:void 0!==a.Key?b=a.Key:void 0!==a.Id?b=a.Id:void 0!==a.ID&&(b=a.ID)));return void 0===b?"undefined":null===b?"null":b.toString()};
| Ae.prototype.toString=function(){return"Binding("+this.cn+" "+this.Ut+":"+this.rB+")"};Ae.prototype.freeze=function(){this.lb=!0;return this};Ae.prototype.La=function(){this.lb=!1;return this};t.g(Ae,"targetId",Ae.prototype.cn);t.defineProperty(Ae,{cn:null},function(){return this.gD},function(a){t.L(this);t.j(a,"string",Ae,"targetId");this.gD=a});t.g(Ae,"targetProperty",Ae.prototype.Ut);
| t.defineProperty(Ae,{Ut:"targetProperty"},function(){return this.Nv},function(a){t.L(this);t.j(a,"string",Ae,"targetProperty");this.Nv=a});t.g(Ae,"sourceName",Ae.prototype.St);t.defineProperty(Ae,{St:"sourceName"},function(){return this.dD},function(a){t.L(this);t.j(a,"string",Ae,"sourceName");this.dD=a});t.g(Ae,"sourceProperty",Ae.prototype.rB);t.defineProperty(Ae,{rB:"sourceProperty"},function(){return this.Gv},function(a){t.L(this);t.j(a,"string",Ae,"sourceProperty");this.Gv=a});
| t.g(Ae,"converter",Ae.prototype.SD);t.defineProperty(Ae,{SD:"converter"},function(){return this.ky},function(a){t.L(this);null!==a&&t.j(a,"function",Ae,"converter");this.ky=a});t.g(Ae,"backConverter",Ae.prototype.FD);t.defineProperty(Ae,{FD:"backConverter"},function(){return this.ay},function(a){t.L(this);null!==a&&t.j(a,"function",Ae,"backConverter");this.ay=a});t.g(Ae,"mode",Ae.prototype.mode);
| t.defineProperty(Ae,{mode:"mode"},function(){return this.bz},function(a){t.L(this);t.sb(a,Ae,Ae,"mode");this.bz=a});Ae.prototype.makeTwoWay=function(a){void 0===a&&(a=null);null!==a&&t.j(a,"function",Ae,"makeTwoWay");this.mode=Ce;this.FD=a;return this};Ae.prototype.ofObject=Ae.prototype.TA=function(a){void 0===a&&(a="");f&&t.j(a,"string",Ae,"ofObject:srcname");this.St=a;return this};
| Ae.prototype.updateTarget=Ae.prototype.CG=function(a,b,c){var d=this.Gv;if(!c||d===c){c=this.Nv;var e=this.ky;if(null!==e||""!==c){f&&"string"===typeof c&&("function"===typeof a.setAttribute||"_"===c[0]||t.Fw(a,c)?"name"===c&&a instanceof Q&&t.trace("Binding error: cannot modify GraphObject.name on "+a.toString()):t.trace("Binding error: undefined target property: "+c+" on "+a.toString()));var g=b;""!==d&&(g=t.kb(b,d));if(void 0!==g)if(null===e)""!==c&&t.Qa(a,c,g);else try{if(""!==c){var h=e(g,a);
| f&&void 0===h&&t.trace('Binding warning: conversion function returned undefined when setting target property "'+c+'" on '+a.toString()+", function is: "+e);t.Qa(a,c,h)}else e(g,a)}catch(k){f&&t.trace("Binding error: "+k.toString()+' setting target property "'+c+'" on '+a.toString()+" with conversion function: "+e)}}}};
| Ae.prototype.updateSource=Ae.prototype.AB=function(a,b,c,d){if(this.bz===Ce){var e=this.Nv;if(!c||e===c){c=this.Gv;var g=this.ay;if(null!==g||""!==c){var h=a;""!==e&&(h=t.kb(a,e));if(void 0!==h)if(null===g)d&&d.fa?(f&&d.fa.$i===c&&d.fa.je(b)&&t.trace("Binding error: cannot have TwoWay Binding on node data key property: "+this.toString()),d.fa.setDataProperty(b,c,h)):t.Qa(b,c,h);else try{if(""!==c){var k=g(h,b);d&&d.fa?(f&&(d.fa.$i===c&&d.fa.je(b)&&t.trace("Binding error: cannot have TwoWay Binding on node data key property: "+
| this.toString()),void 0===k&&t.trace('Binding warning: conversion function returned undefined when setting source property "'+c+'" on '+b.toString()+", function is: "+g)),d.fa.setDataProperty(b,c,k)):t.Qa(b,c,k)}else g(h,b)}catch(l){f&&t.trace("Binding error: "+l.toString()+' setting source property "'+c+'" on '+b.toString()+" with conversion function: "+g)}}}}};function me(){this.YG=(new A(sd)).freeze();this.Vb="";this.yC=!1}t.ga("Transaction",me);
| me.prototype.toString=function(a){var b="Transaction: "+this.name+" "+this.Tg.count.toString()+(this.lp?"":", incomplete");if(void 0!==a&&0<a)for(var c=this.Tg.count,d=0;d<c;d++){var e=this.Tg.wa(d);null!==e&&(b+="\n "+e.toString(a-1))}return b};me.prototype.clear=me.prototype.clear=function(){var a=this.Tg;a.La();for(var b=a.count-1;0<=b;b--){var c=a.wa(b);null!==c&&c.clear()}a.clear();a.freeze()};me.prototype.canUndo=me.prototype.canUndo=function(){return this.lp};
| me.prototype.undo=me.prototype.undo=function(){if(this.canUndo())for(var a=this.Tg.count-1;0<=a;a--){var b=this.Tg.wa(a);null!==b&&b.undo()}};me.prototype.canRedo=me.prototype.canRedo=function(){return this.lp};me.prototype.redo=me.prototype.redo=function(){if(this.canRedo())for(var a=this.Tg.count,b=0;b<a;b++){var c=this.Tg.wa(b);null!==c&&c.redo()}};t.A(me,{Tg:"changes"},function(){return this.YG});t.g(me,"name",me.prototype.name);
| t.defineProperty(me,{name:"name"},function(){return this.Vb},function(a){this.Vb=a});t.g(me,"isComplete",me.prototype.lp);t.defineProperty(me,{lp:"isComplete"},function(){return this.yC},function(a){this.yC=a});function yd(){this.dz=new na(D);this.Me=!1;this.dH=(new A(me)).freeze();this.Ek=-1;this.IC=999;this.ni=!1;this.zu=null;this.Uk=0;this.by=!1;f&&(this.by=!0);this.Ng=(new A("string")).freeze();this.mo=new A("number");this.Iy=!0}t.ga("UndoManager",yd);
| yd.prototype.toString=function(a){for(var b="UndoManager "+this.ak+"<"+this.history.count+"<="+this.KA,b=b+"[",c=this.tF.count,d=0;d<c;d++)0<d&&(b+=" "),b+=this.tF.wa(d);b+="]";if(void 0!==a&&0<a)for(c=this.history.count,d=0;d<c;d++)b+="\n "+this.history.wa(d).toString(a-1);return b};
| yd.prototype.clear=yd.prototype.clear=function(){var a=this.history;a.La();for(var b=a.count-1;0<=b;b--){var c=a.wa(b);null!==c&&c.clear()}a.clear();this.Ek=-1;a.freeze();this.ni=!1;this.zu=null;this.Uk=0;this.Ng.La();this.Ng.clear();this.Ng.freeze();this.mo.clear()};yd.prototype.addModel=yd.prototype.uH=function(a){this.dz.add(a)};yd.prototype.removeModel=yd.prototype.wJ=function(a){this.dz.remove(a)};
| yd.prototype.startTransaction=yd.prototype.pc=function(a){void 0===a&&(a="");null===a&&(a="");if(this.pb)return!1;!0===this.Iy&&(this.Iy=!1,this.Uk++,this.Sc("StartingFirstTransaction",a,this.Oi),0<this.Uk&&this.Uk--);this.isEnabled&&(this.Ng.La(),this.Ng.add(a),this.Ng.freeze(),null===this.Oi?this.mo.add(0):this.mo.add(this.Oi.Tg.count));this.Uk++;var b=1===this.Je;b&&this.Sc("StartedTransaction",a,this.Oi);return b};yd.prototype.commitTransaction=yd.prototype.Ce=function(a){return De(this,!0,a)};
| yd.prototype.rollbackTransaction=yd.prototype.Pp=function(){return De(this,!1,"")};
| function De(a,b,c){if(a.pb)return!1;a.eA&&1>a.Je&&t.trace("Ending transaction without having started a transaction: "+c);var d=1===a.Je;d&&b&&a.isEnabled&&a.Sc("CommittingTransaction",c,a.Oi);var e=0;if(0<a.Je&&(a.Uk--,a.isEnabled)){var g=a.Ng.count;0<g&&(""===c&&(c=a.Ng.wa(0)),a.Ng.La(),a.Ng.nd(g-1),a.Ng.freeze());g=a.mo.count;0<g&&(e=a.mo.wa(g-1),a.mo.nd(g-1))}g=a.Oi;if(d){if(b){if(a.isEnabled&&null!==g){b=g;b.lp=!0;b.name=c;d=a.history;d.La();for(e=d.count-1;e>a.ak;e--)g=d.wa(e),null!==g&&g.clear(),
| d.nd(e);e=a.KA;0===e&&(e=1);0<e&&d.count>=e&&(g=d.wa(0),null!==g&&g.clear(),d.nd(0),a.Ek--);d.add(b);a.Ek++;d.freeze();g=b}a.Sc("CommittedTransaction",c,g)}else{a.ni=!0;try{a.isEnabled&&null!==g&&(g.lp=!0,g.undo())}finally{a.Sc("RolledBackTransaction",c,g),a.ni=!1}null!==g&&g.clear()}a.zu=null;return!0}if(a.isEnabled&&!b&&null!==g){a=e;c=g.Tg;for(b=c.count-1;b>=a;b--)d=c.wa(b),null!==d&&d.undo(),c.La(),c.nd(b);c.freeze()}return!1}
| yd.prototype.canUndo=yd.prototype.canUndo=function(){if(!this.isEnabled||0<this.Je||this.pb)return!1;var a=this.uG;return null!==a&&a.canUndo()?!0:!1};yd.prototype.undo=yd.prototype.undo=function(){if(this.canUndo()){var a=this.uG;try{this.Sc("StartingUndo","Undo",a),this.ni=!0,this.Ek--,a.undo()}catch(b){t.trace("undo error: "+b.toString())}finally{this.ni=!1,this.Sc("FinishedUndo","Undo",a)}}};
| yd.prototype.canRedo=yd.prototype.canRedo=function(){if(!this.isEnabled||0<this.Je||this.pb)return!1;var a=this.tG;return null!==a&&a.canRedo()?!0:!1};yd.prototype.redo=yd.prototype.redo=function(){if(this.canRedo()){var a=this.tG;try{this.Sc("StartingRedo","Redo",a),this.ni=!0,this.Ek++,a.redo()}catch(b){t.trace("redo error: "+b.toString())}finally{this.ni=!1,this.Sc("FinishedRedo","Redo",a)}}};
| yd.prototype.Sc=function(a,b,c){void 0===c&&(c=null);var d=new sd;d.qd=td;d.propertyName=a;d.object=c;d.oldValue=b;for(a=this.eJ;a.next();)b=a.value,d.fa=b,b.cw(d)};yd.prototype.handleChanged=yd.prototype.EE=function(a){if(this.isEnabled&&!this.pb&&!this.skipsEvent(a)){var b=this.Oi;null===b&&(this.zu=b=new me);var c=a.copy(),b=b.Tg;b.La();b.add(c);b.freeze();this.eA&&0>=this.Je&&!this.Iy&&(a=a.h,null!==a&&!1===a.Af||t.trace("Change not within a transaction: "+c.toString()))}};
| yd.prototype.skipsEvent=function(a){if(null===a||0>a.qd.value)return!0;a=a.object;if(a instanceof Q){if(a=a.layer,null!==a&&a.uc)return!0}else if(a instanceof $d&&a.uc)return!0;return!1};t.A(yd,{eJ:"models"},function(){return this.dz.k});t.g(yd,"isEnabled",yd.prototype.isEnabled);t.defineProperty(yd,{isEnabled:"isEnabled"},function(){return this.Me},function(a){this.Me=a});t.A(yd,{uG:"transactionToUndo"},function(){return 0<=this.ak&&this.ak<=this.history.count-1?this.history.wa(this.ak):null});
| t.A(yd,{tG:"transactionToRedo"},function(){return this.ak<this.history.count-1?this.history.wa(this.ak+1):null});t.A(yd,{pb:"isUndoingRedoing"},function(){return this.ni});t.A(yd,{history:"history"},function(){return this.dH});t.g(yd,"maxHistoryLength",yd.prototype.KA);t.defineProperty(yd,{KA:"maxHistoryLength"},function(){return this.IC},function(a){this.IC=a});t.A(yd,{ak:"historyIndex"},function(){return this.Ek});t.A(yd,{Oi:"currentTransaction"},function(){return this.zu});
| t.A(yd,{Je:"transactionLevel"},function(){return this.Uk});t.A(yd,{TE:"isInTransaction"},function(){return 0<this.Uk});t.defineProperty(yd,{eA:"checksTransactionLevel"},function(){return this.by},function(a){this.by=a});t.A(yd,{tF:"nestedTransactionNames"},function(){return this.Ng});
| function qa(){0<arguments.length&&t.l("CommandHandler constructor cannot take any arguments.");t.wc(this);this.U=null;this.ly=this.ny=this.jC=this.ZB=!1;this.Mk=this.$x=null;this.sD=1.05;this.hC=1;this.Zy=NaN;this.GC=null;this.tD=NaN}t.ga("CommandHandler",qa);qa.prototype.toString=function(){return"CommandHandler"};t.A(qa,{h:"diagram"},function(){return this.U});qa.prototype.td=function(a){f&&null!==a&&t.m(a,z,qa,"setDiagram");this.U=a};
| qa.prototype.doKeyDown=function(){var a=this.h;if(null!==a){var b=a.R,c=t.Om?b.Um:b.control,d=b.shift,e=b.alt,g=b.key;!c||"C"!==g&&"Insert"!==g?c&&"X"===g||d&&"Del"===g?this.canCutSelection()&&this.cutSelection():"Del"===g?this.canDeleteSelection()&&this.deleteSelection():c&&"V"===g||d&&"Insert"===g?this.canPasteSelection()&&this.pasteSelection():c&&"Y"===g||e&&d&&"Backspace"===g?this.canRedo()&&this.redo():c&&"Z"===g||e&&"Backspace"===g?this.canUndo()&&this.undo():c&&"A"===g?this.canSelectAll()&&
| this.selectAll():"Esc"===g?this.canStopCommand()&&this.stopCommand():"Up"===g?a.mf&&(c?a.scroll("pixel","up"):a.scroll("line","up")):"Down"===g?a.mf&&(c?a.scroll("pixel","down"):a.scroll("line","down")):"Left"===g?a.lf&&(c?a.scroll("pixel","left"):a.scroll("line","left")):"Right"===g?a.lf&&(c?a.scroll("pixel","right"):a.scroll("line","right")):"PageUp"===g?d&&a.lf?a.scroll("page","left"):a.mf&&a.scroll("page","up"):"PageDown"===g?d&&a.lf?a.scroll("page","right"):a.mf&&a.scroll("page","down"):"Home"===
| g?(b=a.Cd,c&&a.mf?a.position=new v(a.position.x,b.y):!c&&a.lf&&(a.position=new v(b.x,a.position.y))):"End"===g?(b=a.Cd,d=a.vb,c&&a.mf?a.position=new v(d.x,b.bottom-d.height):!c&&a.lf&&(a.position=new v(b.right-d.width,d.y))):"Subtract"===g?this.canDecreaseZoom()&&this.decreaseZoom():"Add"===g?this.canIncreaseZoom()&&this.increaseZoom():c&&"0"===g?this.canResetZoom()&&this.resetZoom():d&&"Z"===g?this.canZoomToFit()&&this.zoomToFit():c&&!d&&"G"===g?this.canGroupSelection()&&this.groupSelection():c&&
| d&&"G"===g?this.canUngroupSelection()&&this.ungroupSelection():b.event&&113===b.event.which?this.canEditTextBlock()&&this.editTextBlock():b.event&&93===b.event.which?this.canShowContextMenu()&&this.showContextMenu():b.bubbles=!0:this.canCopySelection()&&this.copySelection()}};qa.prototype.doKeyUp=function(){var a=this.h;null!==a&&(a.R.bubbles=!0)};qa.prototype.stopCommand=function(){var a=this.h;if(null!==a){var b=a.Ua;b instanceof Ee&&a.Qe&&a.ew();null!==b&&b.doCancel()}};
| qa.prototype.canStopCommand=function(){return!0};qa.prototype.selectAll=function(){var a=this.h;if(null!==a){a.ha();try{a.Wb="wait";a.Aa("ChangingSelection");for(var b=a.Jp;b.next();)b.value.fb=!0;for(b=a.aj;b.next();)b.value.fb=!0;for(b=a.links;b.next();)b.value.fb=!0}finally{a.Aa("ChangedSelection"),a.Wb=""}}};qa.prototype.canSelectAll=function(){var a=this.h;return null!==a&&a.Qe};
| qa.prototype.deleteSelection=function(){var a=this.h;if(null!==a&&!a.Aa("SelectionDeleting",a.selection))try{a.Wb="wait";a.pc("Delete");a.Aa("ChangingSelection");for(var b=new na(B),c=a.selection.k;c.next();)Fe(b,c.value,!0,this.hE?Infinity:0,function(a){return a.canDelete()});a.eB(b,!0);a.Aa("SelectionDeleted",b)}finally{a.Aa("ChangedSelection"),a.Ce("Delete"),a.Wb=""}};qa.prototype.canDeleteSelection=function(){var a=this.h;return null===a||a.ab||a.Ze||!a.Yk||0===a.selection.count?!1:!0};
| function Fe(a,b,c,d,e){if(!(a.contains(b)||(void 0===e&&(e=null),null!==e&&!e(b)||b instanceof Ge)))if(a.add(b),b instanceof S){if(c&&b instanceof T)for(var g=b.Vc;g.next();){var h=g.value;Fe(a,h,c,d,e)}for(h=b.oe;h.next();)if(g=h.value,!a.contains(g)){var k=g.aa,l=g.ea;null!==k&&a.contains(k)&&null!==l&&a.contains(l)?Fe(a,g,c,d,e):null!==k&&null!==l||Fe(a,g,c,d,e)}if(1<d)for(b=b.qE();b.next();)h=b.value,Fe(a,h,c,d-1,e)}else if(b instanceof U)for(h=b.dk;h.next();)Fe(a,h.value,c,d,e)}
| qa.prototype.Cm=function(a,b,c){var d=new la(B,B);for(a=a.k;a.next();){var e=a.value;He(this,e,b,d,c)}if(null!==b){c=b.fa;a=!1;null!==b.ub.Dd&&(a=b.ub.Dd.Mh);for(var g=new na(U),h=new la(U,U),k=d.k;k.next();)if(e=k.value,e instanceof U)a||null!==e.aa&&null!==e.ea||g.add(e);else if(c instanceof Kd&&e instanceof S&&null!==e.data){var l=e,e=k.key,m=e.rE();null!==m&&((m=d.ya(m))?(c.Vh(l.data,c.Ob(m.data)),l=b.If(l.data),e=e.ft(),null!==e&&null!==l&&h.add(e,l)):c.Vh(l.data,void 0))}0<g.count&&b.eB(g,!1);
| if(0<h.count)for(b=h.k;b.next();)d.add(b.key,b.value)}for(b=d.k;b.next();)b.value.Lb();return d};
| function He(a,b,c,d,e){if(null===b||e&&!b.canCopy())return null;if(d.contains(b))return a=d.ya(b),a instanceof B?a:null;var g=null,h=b.data;if(null!==h&&null!==c){var k=c.fa;b instanceof U?k instanceof P&&(h=k.VD(h),t.tb(h)&&(k.Vv(h),g=c.If(h))):(h=k.copyNodeData(h),t.tb(h)&&(k.qm(h),g=c.Nh(h)))}else Ie(b),g=b.copy(),null!==c&&g instanceof B&&c.add(g);if(!(g instanceof B))return null;g.fb=!1;g.og=!1;d.add(b,g);if(b instanceof S){for(k=b.oe;k.next();){h=k.value;if(h.aa===b){var l=d.ya(h);null!==l&&
| (l.aa=g)}h.ea===b&&(l=d.ya(h),null!==l&&(l.ea=g))}if(b instanceof T&&g instanceof T)for(b=b.Vc;b.next();)k=He(a,b.value,c,d,e),k instanceof U||null===k||(k.mb=g)}else if(b instanceof U)for(k=b.aa,null!==k&&(k=d.ya(k),null!==k&&(g.aa=k)),k=b.ea,null!==k&&(k=d.ya(k),null!==k&&(g.ea=k)),b=b.dk;b.next();)k=He(a,b.value,c,d,e),null!==k&&(k.Wd=g);return g}
| qa.prototype.copySelection=function(){var a=this.h;if(null!==a){for(var b=new na(B),a=a.selection.k;a.next();)Fe(b,a.value,!0,this.UD?Infinity:0,function(a){return a.canCopy()});this.copyToClipboard(b)}};qa.prototype.canCopySelection=function(){var a=this.h;return null!==a&&a.Hi&&a.Zv&&0!==a.selection.count?!0:!1};qa.prototype.cutSelection=function(){this.copySelection();this.deleteSelection()};
| qa.prototype.canCutSelection=function(){var a=this.h;return null!==a&&!a.ab&&!a.Ze&&a.Hi&&a.Yk&&a.Zv&&0!==a.selection.count?!0:!1};qa.prototype.copyToClipboard=function(a){var b=this.h;if(null!==b){var c=null;if(null===a)t.Vs=null,t.fw="";else{var c=b.fa,d=!1,e=!1,g=null;try{c instanceof Kd&&(d=c.bl,c.bl=this.jA),c instanceof P&&(e=c.al,c.al=this.iA),g=b.Cm(a,null,!0)}finally{c instanceof Kd&&(c.bl=d),c instanceof P&&(c.al=e),c=new A(B),c.Pe(g),t.Vs=c,t.fw=b.fa.Fm}}b.Aa("ClipboardChanged",c)}};
| qa.prototype.pasteFromClipboard=function(){var a=new na(B),b=t.Vs;if(null===b)return a;var c=this.h;if(null===c||t.fw!==c.fa.Fm)return a;var d=c.fa,e=!1,g=!1,h=null;try{d instanceof Kd&&(e=d.bl,d.bl=this.jA),d instanceof P&&(g=d.al,d.al=this.iA),h=c.Cm(b,c,!1)}finally{for(d instanceof Kd&&(d.bl=e),d instanceof P&&(d.al=g),b=h.k;b.next();)c=b.value,d=b.key,c.location.N()||(d.location.N()?c.location=d.location:!c.position.N()&&d.position.N()&&(c.position=d.position)),a.add(c)}return a};
| qa.prototype.pasteSelection=function(a){var b=this.h;if(null!==b)try{b.Wb="wait";b.pc("Paste");b.Aa("ChangingSelection");var c=this.pasteFromClipboard();0<c.count&&Je(b);for(var d=c.k;d.next();)d.value.fb=!0;b.Aa("ChangedSelection");if(a instanceof v){var e=b.computePartsBounds(b.selection);if(e){var g=b.ub.Dd,h=g.computeEffectiveCollection(b.selection);g.moveParts(h,new v(a.x-e.Ca,a.y-e.Oa),!1)}}b.Aa("ClipboardPasted",c)}finally{b.Ce("Paste"),b.Wb=""}};
| qa.prototype.canPasteSelection=function(){var a=this.h;return null===a||a.ab||a.Ze||!a.rm||!a.Zv||null===t.Vs||t.fw!==a.fa.Fm?!1:!0};qa.prototype.undo=function(){var a=this.h;null!==a&&a.ma.undo()};qa.prototype.canUndo=function(){var a=this.h;return null===a||a.ab||a.Ze?!1:a.Xz&&a.ma.canUndo()};qa.prototype.redo=function(){var a=this.h;null!==a&&a.ma.redo()};qa.prototype.canRedo=function(){var a=this.h;return null===a||a.ab||a.Ze?!1:a.Xz&&a.ma.canRedo()};
| qa.prototype.decreaseZoom=function(a){void 0===a&&(a=1/this.$t);t.p(a,qa,"decreaseZoom:factor");var b=this.h;null!==b&&b.wm===Ke&&(a*=b.scale,a<b.rg||a>b.pg||(b.scale=a))};qa.prototype.canDecreaseZoom=function(a){void 0===a&&(a=1/this.$t);t.p(a,qa,"canDecreaseZoom:factor");var b=this.h;if(null===b||b.wm!==Ke)return!1;a*=b.scale;return a<b.rg||a>b.pg?!1:b.Qs};
| qa.prototype.increaseZoom=function(a){void 0===a&&(a=this.$t);t.p(a,qa,"increaseZoom:factor");var b=this.h;null!==b&&b.wm===Ke&&(a*=b.scale,a<b.rg||a>b.pg||(b.scale=a))};qa.prototype.canIncreaseZoom=function(a){void 0===a&&(a=this.$t);t.p(a,qa,"canIncreaseZoom:factor");var b=this.h;if(null===b||b.wm!==Ke)return!1;a*=b.scale;return a<b.rg||a>b.pg?!1:b.Qs};qa.prototype.resetZoom=function(a){void 0===a&&(a=this.nw);t.p(a,qa,"resetZoom:newscale");var b=this.h;null===b||a<b.rg||a>b.pg||(b.scale=a)};
| qa.prototype.canResetZoom=function(a){void 0===a&&(a=1);t.p(a,qa,"canResetZoom:newscale");var b=this.h;return null===b||a<b.rg||a>b.pg?!1:b.Qs};qa.prototype.zoomToFit=function(){var a=this.h;if(null!==a){var b=a.scale,c=a.position;b!==this.tD||isNaN(this.Zy)?(this.Zy=b,this.GC=c.copy(),a.zoomToFit(),a.qg(),this.tD=a.scale):(a.scale=this.Zy,a.position=this.GC)}};qa.prototype.canZoomToFit=function(){var a=this.h;return null===a?!1:a.Qs};
| qa.prototype.collapseTree=function(a){void 0===a&&(a=null);var b=this.h;if(null===b)return!1;b.pc("Collapse Tree");var c=new A(S);if(a instanceof S&&a.Mc)a.collapseTree(),c.add(a);else for(a=b.selection.k;a.next();){var d=a.value;d instanceof S&&d.Mc&&(d.collapseTree(),c.add(d))}b.Aa("TreeCollapsed",c);b.Ce("Collapse Tree")};
| qa.prototype.canCollapseTree=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab)return!1;if(a instanceof S){if(!a.Mc)return!1;if(0<a.Aw().count)return!0}else for(a=b.selection.k;a.next();)if(b=a.value,b instanceof S&&b.Mc&&0<b.Aw().count)return!0;return!1};
| qa.prototype.expandTree=function(a){void 0===a&&(a=null);var b=this.h;if(null===b)return!1;b.pc("Expand Tree");var c=new A(S);if(a instanceof S&&!a.Mc)a.expandTree(),c.add(a);else for(a=b.selection.k;a.next();){var d=a.value;d instanceof S&&!d.Mc&&(d.expandTree(),c.add(d))}b.Aa("TreeExpanded",c);b.Ce("Expand Tree")};
| qa.prototype.canExpandTree=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab)return!1;if(a instanceof S){if(a.Mc)return!1;if(0<a.Aw().count)return!0}else for(a=b.selection.k;a.next();)if(b=a.value,b instanceof S&&!b.Mc&&0<b.Aw().count)return!0;return!1};
| qa.prototype.groupSelection=function(){var a=this.h;if(null!==a){var b=a.fa;if(null!==b&&b instanceof P){var c=this.Zz;if(null!==c){var d=null;try{a.Wb="wait";a.pc("Group");a.Aa("ChangingSelection");for(var e=new A(B),g=a.selection.k;g.next();){var h=g.value;h.Gd()&&h.canGroup()&&e.add(h)}for(var k=new A(B),l=e.k;l.next();){for(var m=l.value,h=!1,g=e.k;g.next();)if(m.kl(g.value)){h=!0;break}h||k.add(m)}if(0<k.count){g=k.k;g.next();var n=g.value.mb;if(null!==n)for(;null!==n;){g=k.k;g.next();for(e=
| !1;g.next();)if(m=g.value,!m.kl(n)){e=!0;break}if(e)n=n.mb;else break}if(c instanceof T)Ie(c),d=c.copy(),d instanceof T&&a.add(d);else if(b.CA(c)){var p=b.copyNodeData(c);t.tb(p)&&(b.qm(p),d=a.zw(p))}if(d instanceof T){null!==n&&this.isValidMember(n,d)&&(d.mb=n);for(g=k.k;g.next();)m=g.value,this.isValidMember(d,m)&&(m.mb=d);a.select(d)}}a.Aa("ChangedSelection");a.Aa("SelectionGrouped",d)}finally{a.Ce("Group"),a.Wb=""}}}}};
| qa.prototype.canGroupSelection=function(){var a=this.h;if(null===a||a.ab||a.Ze||!a.rm||!a.Io)return!1;var b=a.fa;if(null===b||!(b instanceof P)||null===this.Zz)return!1;for(a=a.selection.k;a.next();)if(b=a.value,b.Gd()&&b.canGroup())return!0;return!1};function Le(a){var b=t.Cb();for(a=a.k;a.next();){var c=a.value;c instanceof U||b.push(c)}a=new na(B);for(var c=b.length,d=0;d<c;d++){for(var e=b[d],g=!0,h=0;h<c;h++)if(e.kl(b[h])){g=!1;break}g&&a.add(e)}t.za(b);return a}
| qa.prototype.isValidMember=function(a,b){if(null===b||a===b||b instanceof U)return!1;if(null!==a){if(a===b||a.kl(b))return!1;var c=a.vt;if(null!==c&&!c(a,b)||null===a.data&&null!==b.data||null!==a.data&&null===b.data)return!1}c=this.vt;return null!==c?c(a,b):!0};
| qa.prototype.ungroupSelection=function(a){void 0===a&&(a=null);var b=this.h;if(null!==b){var c=b.fa;if(null!==c&&c instanceof P)try{b.Wb="wait";b.pc("Ungroup");b.Aa("ChangingSelection");var d=new A(T);if(a instanceof T)d.add(a);else for(var e=b.selection.k;e.next();){var g=e.value;g instanceof T&&g.canUngroup()&&d.add(g)}if(0<d.count)for(b.ew(),e=d.k;e.next();){var h=e.value,k=h.data,l=h.mb,m=null!==l&&null!==l.data?c.Ob(l.data):void 0,n=new A(B);n.Pe(h.Vc);for(var p=n.k;p.next();){var q=p.value;
| if(!(q instanceof U)){var r=q.data;null!==r?c.lB(r,m):q.mb=l;q.fb=!0}}null!==k?c.ix(k):b.remove(h)}b.Aa("ChangedSelection");b.Aa("SelectionUngrouped",d,n)}finally{b.Ce("Ungroup"),b.Wb=""}}};
| qa.prototype.canUngroupSelection=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab||b.Ze||!b.Yk||!b.No)return!1;var c=b.fa;if(null===c||!(c instanceof P))return!1;if(a instanceof T){if(a.canUngroup())return!0}else for(a=b.selection.k;a.next();)if(b=a.value,b instanceof T&&b.canUngroup())return!0;return!1};qa.prototype.addTopLevelParts=function(a,b){for(var c=!0,d=Le(a).k;d.next();){var e=d.value;null!==e.mb&&(!b||this.isValidMember(null,e)?e.mb=null:c=!1)}return c};
| qa.prototype.collapseSubGraph=function(a){void 0===a&&(a=null);var b=this.h;if(null===b)return!1;b.pc("Collapse SubGraph");var c=new A(T);if(a instanceof T&&a.Ud)a.collapseSubGraph(),c.add(a);else for(a=b.selection.k;a.next();){var d=a.value;d instanceof T&&d.Ud&&(d.collapseSubGraph(),c.add(d))}b.Aa("SubGraphCollapsed",c);b.Ce("Collapse SubGraph")};
| qa.prototype.canCollapseSubGraph=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab)return!1;if(a instanceof T)return a.Ud?!0:!1;for(a=b.selection.k;a.next();)if(b=a.value,b instanceof T&&b.Ud)return!0;return!1};
| qa.prototype.expandSubGraph=function(a){void 0===a&&(a=null);var b=this.h;if(null===b)return!1;b.pc("Expand SubGraph");var c=new A(T);if(a instanceof T&&!a.Ud)a.expandSubGraph(),c.add(a);else for(a=b.selection.k;a.next();){var d=a.value;d instanceof T&&!d.Ud&&(d.expandSubGraph(),c.add(d))}b.Aa("SubGraphExpanded",c);b.Ce("Expand SubGraph")};
| qa.prototype.canExpandSubGraph=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab)return!1;if(a instanceof T)return a.Ud?!1:!0;for(a=b.selection.k;a.next();)if(b=a.value,b instanceof T&&!b.Ud)return!0;return!1};
| qa.prototype.editTextBlock=function(a){void 0===a&&(a=null);var b=this.h;if(null!==b){var c=b.ub.ux;if(null!==c){if(null===a){a=b.selection.k;for(var d=null;a.next();){var e=a.value;if(e.canEdit()){d=e;break}}if(null===d)return;a=d.bt(function(a){return a instanceof oa&&a.sw})}null!==a&&a instanceof oa&&(c.Dg=a,b.Ua=c)}}};
| qa.prototype.canEditTextBlock=function(a){void 0===a&&(a=null);var b=this.h;if(null===b||b.ab||b.Ze||!b.Mo||null===b.ub.ux)return!1;if(a instanceof oa){if(a=a.S,null!==a&&a.canEdit())return!0}else for(b=b.selection.k;b.next();)if(a=b.value,a.canEdit()&&(a=a.bt(function(a){return a instanceof oa&&a.sw}),null!==a))return!0;return!1};
| qa.prototype.showContextMenu=function(a){var b=this.h;if(null!==b){var c=b.ub.kw;if(null!==c&&(void 0===a&&(a=0<b.selection.count?b.selection.$a():b),a=c.findObjectWithContextMenu(a),null!==a)){var d=new qd,e=null;a instanceof Q?e=a.ob(Hb):b.Wn||(e=b.vb,e=new v(e.x+e.width/2,e.y+e.height/2));null!==e&&(d.Ke=b.vG(e),d.da=e,b.$b=d);b.Ua=c;Me(c,!1,a)}}};
| qa.prototype.canShowContextMenu=function(a){var b=this.h;if(null===b)return!1;var c=b.ub.kw;if(null===c)return!1;void 0===a&&(a=0<b.selection.count?b.selection.$a():b);return null===c.findObjectWithContextMenu(a)?!1:!0};t.g(qa,"copiesTree",qa.prototype.UD);t.defineProperty(qa,{UD:"copiesTree"},function(){return this.ZB},function(a){this.ZB=a});t.g(qa,"deletesTree",qa.prototype.hE);t.defineProperty(qa,{hE:"deletesTree"},function(){return this.jC},function(a){this.jC=a});t.g(qa,"copiesParentKey",qa.prototype.jA);
| t.defineProperty(qa,{jA:"copiesParentKey"},function(){return this.ny},function(a){this.ny!==a&&(t.j(a,"boolean",qa,"copiesParentKey"),this.ny=a)});t.g(qa,"copiesGroupKey",qa.prototype.iA);t.defineProperty(qa,{iA:"copiesGroupKey"},function(){return this.ly},function(a){this.ly!==a&&(t.j(a,"boolean",qa,"copiesGroupKey"),this.ly=a)});t.g(qa,"archetypeGroupData",qa.prototype.Zz);
| t.defineProperty(qa,{Zz:"archetypeGroupData"},function(){return this.$x},function(a){null!==a&&t.m(a,Object,qa,"archetypeGroupData");var b=this.h;null!==b&&(b=b.fa,b instanceof P&&(a instanceof T||b.CA(a)||t.l("CommandHandler.archetypeGroupData must be either a Group or a data object for which GraphLinksModel.isGroupForNodeData is true: "+a)));this.$x=a});t.g(qa,"memberValidation",qa.prototype.vt);
| t.defineProperty(qa,{vt:"memberValidation"},function(){return this.Mk},function(a){null!==a&&t.j(a,"function",qa,"memberValidation");this.Mk=a});t.g(qa,"defaultScale",qa.prototype.nw);t.defineProperty(qa,{nw:"defaultScale"},function(){return this.hC},function(a){t.p(a,qa,"defaultScale");0<a||t.l("defaultScale must be larger than zero, not: "+a);this.hC=a});t.g(qa,"zoomFactor",qa.prototype.$t);
| t.defineProperty(qa,{$t:"zoomFactor"},function(){return this.sD},function(a){t.p(a,qa,"zoomFactor");1<a||t.l("zoomFactor must be larger than 1.0, not: "+a);this.sD=a});function ae(){0<arguments.length&&t.l("Tool constructor cannot take any arguments.");t.wc(this);this.U=null;this.Vb="";this.Me=!0;this.wC=!1;this.oD=null;this.Tv=-1}t.ga("Tool",ae);ae.prototype.td=function(a){f&&null!==a&&t.m(a,z,ae,"setDiagram");this.U=a};ae.prototype.toString=function(){return""!==this.name?this.name+" Tool":t.Wg(Object.getPrototypeOf(this))};
| ae.prototype.updateAdornments=function(){};ae.prototype.canStart=function(){return this.isEnabled};ae.prototype.doStart=function(){};ae.prototype.doActivate=function(){this.ia=!0};ae.prototype.doDeactivate=function(){this.ia=!1};ae.prototype.doStop=function(){};ae.prototype.doCancel=function(){this.stopTool()};ae.prototype.stopTool=function(){var a=this.h;null!==a&&a.Ua===this&&(a.Ua=null,a.Wb="")};ae.prototype.doMouseDown=function(){!this.ia&&this.canStart()&&this.doActivate()};
| ae.prototype.doMouseMove=function(){};ae.prototype.doMouseUp=function(){this.stopTool()};ae.prototype.doMouseWheel=function(){};ae.prototype.doKeyDown=function(){var a=this.h;null!==a&&"Esc"===a.R.key&&this.doCancel()};ae.prototype.doKeyUp=function(){};ae.prototype.startTransaction=ae.prototype.pc=function(a){this.ff=null;var b=this.h;return null===b?!1:b.pc(a)};ae.prototype.stopTransaction=ae.prototype.fk=function(){var a=this.h;return null===a?!1:null===this.ff?a.Pp():a.Ce(this.ff)};
| ae.prototype.standardMouseSelect=function(){var a=this.h;if(null!==a&&a.Qe){var b=a.R,c=a.et(b.da,!1);if(null!==c)if(t.Om?b.Um:b.control){a.Aa("ChangingSelection");for(b=c;null!==b&&!b.canSelect();)b=b.mb;null!==b&&(b.fb=!b.fb);a.Aa("ChangedSelection")}else if(b.shift){if(!c.fb){a.Aa("ChangingSelection");for(b=c;null!==b&&!b.canSelect();)b=b.mb;null!==b&&(b.fb=!0);a.Aa("ChangedSelection")}}else{if(!c.fb){for(b=c;null!==b&&!b.canSelect();)b=b.mb;null!==b&&a.select(b)}}else!b.left||(t.Om?b.Um:b.control)||
| b.shift||a.ew()}};ae.prototype.standardMouseClick=function(a,b){void 0===a&&(a=null);void 0===b&&(b=function(a){return!a.layer.uc});var c=this.h;if(null!==c){var d=c.R,e=c.le(d.da,a,b);d.Zd=e;Xe(e,d,c)}};
| function Xe(a,b,c){var d=0;b.left?d=1===b.Ae?1:2===b.Ae?2:1:b.right&&1===b.Ae&&(d=3);var e="";if(null!==a){switch(d){case 1:e="ObjectSingleClicked";break;case 2:e="ObjectDoubleClicked";break;case 3:e="ObjectContextClicked"}0!==d&&c.Aa(e,a)}else{switch(d){case 1:e="BackgroundSingleClicked";break;case 2:e="BackgroundDoubleClicked";break;case 3:e="BackgroundContextClicked"}0!==d&&c.Aa(e)}if(null!==a)for(;null!==a;){e=null;switch(d){case 1:e=a.click;break;case 2:e=a.Hm?a.Hm:a.click;break;case 3:e=a.Ys}if(null!==
| e&&(e(b,a),b.Ee))break;a=a.ja}else{e=null;switch(d){case 1:e=c.click;break;case 2:e=c.Hm?c.Hm:c.click;break;case 3:e=c.Ys}null!==e&&e(b)}}
| ae.prototype.standardMouseOver=function(){var a=this.h;if(null!==a){var b=a.R;if(null!==b.h&&!0!==a.lc.ed){var c=a.Wa;a.Wa=!0;var d=a.le(b.da,null,null);b.Zd=d;var e=!1;if(d!==a.tn){var g=a.tn,h=g;a.tn=d;for(this.doCurrentObjectChanged(g,d);null!==g;){var k=g.OA;if(null!==k){if(d===g)break;if(null!==d&&d.Vi(g))break;k(b,g,d);e=!0;if(b.Ee)break}g=g.ja}for(g=h;null!==d;){k=d.NA;if(null!==k){if(g===d)break;if(null!==g&&g.Vi(d))break;k(b,d,g);e=!0;if(b.Ee)break}d=d.ja}d=a.tn}if(null!==d){g=d;for(k="";null!==
| g;){k=g.cursor;if(""!==k)break;g=g.ja}a.Wb=k;for(g=d;null!==g;){k=g.zt;if(null!==k&&(k(b,g),e=!0,b.Ee))break;g=g.ja}}else a.Wb="",k=a.zt,null!==k&&(k(b),e=!0);e&&a.re();a.Wa=c}}};ae.prototype.doCurrentObjectChanged=function(){};
| ae.prototype.standardMouseWheel=function(){var a=this.h;if(null!==a){var b=a.R,c=b.Tj;if(0!==c&&a.Cd.N()){var d=a.Te,e=a.ub.Vm;if((e===Ye&&!b.shift||e===Ze&&b.control)&&(0<c?d.canIncreaseZoom():d.canDecreaseZoom()))e=a.Uf,a.Uf=b.Ke,0<c?d.increaseZoom():d.decreaseZoom(),a.Uf=e,b.bubbles=!1;else if(e===Ye&&b.shift||e===Ze&&!b.control){d=a.position.copy();e=0<c?c:-c;if(!b.shift&&a.mf){var g=a.Tp,e=e/40*g;0<c?a.scroll("pixel","up",e):a.scroll("pixel","down",e)}else b.shift&&a.lf&&(g=a.Sp,e=e/40*g,0<c?
| a.scroll("pixel","left",e):a.scroll("pixel","right",e));a.position.M(d)||(b.bubbles=!1)}}}};ae.prototype.standardWaitAfter=function(a){t.j(a,"number",ae,"standardWaitAfter:delay");this.cancelWaitAfter();var b=this;this.Tv=window.setTimeout(function(){b.doWaitAfter()},a)};ae.prototype.cancelWaitAfter=function(){-1!==this.Tv&&window.clearTimeout(this.Tv);this.Tv=-1};ae.prototype.doWaitAfter=function(){};
| ae.prototype.findToolHandleAt=function(a,b){var c=this.h;if(null===c)return null;c=c.le(a,null,function(a){a=a.S;return null===a?!1:null!==a.kc});if(null===c)return null;var d=c.S;return null===d||d.Uc!==b?null:c};ae.prototype.isBeyondDragSize=function(a,b){var c=this.h;if(null===c)return!1;void 0===a&&(a=c.Jc.Ke);void 0===b&&(b=c.R.Ke);var d=c.ub.kE,c=d.width,d=d.height;t.tB&&(c+=6,d+=6);return Math.abs(b.x-a.x)>c||Math.abs(b.y-a.y)>d};t.A(ae,{h:"diagram"},function(){return this.U});
| t.g(ae,"name",ae.prototype.name);t.defineProperty(ae,{name:"name"},function(){return this.Vb},function(a){this.Vb=a});t.g(ae,"isEnabled",ae.prototype.isEnabled);t.defineProperty(ae,{isEnabled:"isEnabled"},function(){return this.Me},function(a){this.Me=a});t.g(ae,"isActive",ae.prototype.ia);t.defineProperty(ae,{ia:"isActive"},function(){return this.wC},function(a){this.wC=a});t.g(ae,"transactionResult",ae.prototype.ff);
| t.defineProperty(ae,{ff:"transactionResult"},function(){return this.oD},function(a){this.oD=a});
| function $e(){0<arguments.length&&t.l("DraggingTool constructor cannot take any arguments.");ae.call(this);this.name="Dragging";this.YB=this.zC=!0;this.Nl=this.oC=!1;this.Ty=!0;this.Ky=(new fa(NaN,NaN)).freeze();this.Ly=Eb;this.My=(new v(NaN,NaN)).freeze();this.nC=!1;this.lC=this.XB=this.mC=this.cC=this.zi=null;this.Mq=this.AC=!1;this.wo=new v(NaN,NaN);this.Hv=new v;this.xs=!1;this.Fv=this.Ry=!0;this.Dn=100;this.Gl=this.vv=null}t.ga("DraggingTool",$e);t.Ka($e,ae);t.g($e,"isCopyEnabled",$e.prototype.AA);
| t.defineProperty($e,{AA:"isCopyEnabled"},function(){return this.zC},function(a){this.zC=a});t.g($e,"copiesEffectiveCollection",$e.prototype.TD);t.defineProperty($e,{TD:"copiesEffectiveCollection"},function(){return this.YB},function(a){this.YB=a});t.g($e,"dragsTree",$e.prototype.lE);t.defineProperty($e,{lE:"dragsTree"},function(){return this.oC},function(a){this.oC=a});t.g($e,"isGridSnapEnabled",$e.prototype.np);
| t.defineProperty($e,{np:"isGridSnapEnabled"},function(){return this.Nl},function(a){this.Nl!==a&&(t.j(a,"boolean",$e,"isGridSnapEnabled"),this.Nl=a)});t.g($e,"isComplexRoutingRealtime",$e.prototype.QE);t.defineProperty($e,{QE:"isComplexRoutingRealtime"},function(){return this.Ry},function(a){this.Ry!==a&&(t.j(a,"boolean",$e,"isComplexRoutingRealtime"),this.Ry=a)});t.g($e,"isGridSnapRealtime",$e.prototype.SE);
| t.defineProperty($e,{SE:"isGridSnapRealtime"},function(){return this.Ty},function(a){this.Ty!==a&&(t.j(a,"boolean",$e,"isGridSnapRealtime"),this.Ty=a)});t.g($e,"gridSnapCellSize",$e.prototype.vA);t.defineProperty($e,{vA:"gridSnapCellSize"},function(){return this.Ky},function(a){this.Ky.M(a)||(t.m(a,fa,$e,"gridSnapCellSize"),this.Ky=a=a.Z())});t.g($e,"gridSnapCellSpot",$e.prototype.AE);
| t.defineProperty($e,{AE:"gridSnapCellSpot"},function(){return this.Ly},function(a){this.Ly.M(a)||(t.m(a,H,$e,"gridSnapCellSpot"),this.Ly=a=a.Z())});t.g($e,"gridSnapOrigin",$e.prototype.BE);t.defineProperty($e,{BE:"gridSnapOrigin"},function(){return this.My},function(a){this.My.M(a)||(t.m(a,v,$e,"gridSnapOrigin"),this.My=a=a.Z())});t.g($e,"dragsLink",$e.prototype.Mh);t.defineProperty($e,{Mh:"dragsLink"},function(){return this.nC},function(a){this.nC=a});t.g($e,"currentPart",$e.prototype.To);
| t.defineProperty($e,{To:"currentPart"},function(){return this.cC},function(a){this.cC=a});t.g($e,"copiedParts",$e.prototype.jd);t.defineProperty($e,{jd:"copiedParts"},function(){return this.XB},function(a){this.XB=a});t.g($e,"draggedParts",$e.prototype.Bc);t.defineProperty($e,{Bc:"draggedParts"},function(){return this.mC},function(a){this.mC=a});t.g($e,"draggedLink",$e.prototype.Ic);t.defineProperty($e,{Ic:"draggedLink"},function(){return this.lC},function(a){this.lC=a});
| t.g($e,"isDragOutStarted",$e.prototype.pt);t.defineProperty($e,{pt:"isDragOutStarted"},function(){return this.AC},function(a){this.AC=a});t.g($e,"startPoint",$e.prototype.bj);t.defineProperty($e,{bj:"startPoint"},function(){return this.Hv},function(a){this.Hv.M(a)||(t.m(a,v,$e,"startPoint"),this.Hv=a=a.Z())});t.g($e,"delay",$e.prototype.pw);t.defineProperty($e,{pw:"delay"},function(){return this.Dn},function(a){this.Dn=a});
| $e.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a||!a.Nj&&!a.Hi&&!a.Ps||!a.Qe)return!1;var b=a.R;return!b.left||a.Ua!==this&&(!this.isBeyondDragSize()||b.Qw&&b.timestamp-a.Jc.timestamp<this.Dn)?!1:null!==this.findDraggablePart()};$e.prototype.findDraggablePart=function(){var a=this.h;if(null===a)return null;a=a.et(a.Jc.da,!1);if(null===a)return null;for(;null!==a&&!a.canSelect();)a=a.mb;return null!==a&&(a.canMove()||a.canCopy())?a:null};
| $e.prototype.standardMouseSelect=function(){var a=this.h;if(null!==a&&a.Qe){var b=a.et(a.Jc.da,!1);if(null!==b){for(;null!==b&&!b.canSelect();)b=b.mb;this.To=b;this.To.fb||(a.Aa("ChangingSelection"),b=a.R,(t.Om?b.Um:b.control)||b.shift||Je(a),this.To.fb=!0,a.Aa("ChangedSelection"))}}};
| $e.prototype.doActivate=function(){var a=this.h;if(null!==a){this.standardMouseSelect();var b=this.To;null!==b&&(b.canMove()||b.canCopy())&&(this.ia=!0,this.wo.set(a.position),af(this,a.selection),this.Gl=this.vv=null,this.Bc=this.computeEffectiveCollection(a.selection),a.uo=!0,bf(this,this.Bc),this.pc("Drag"),this.bj=a.Jc.da,a.Fd=!0,a.Ps&&(this.pt=!0,this.Mq=!1,cf=this,df=this.h,this.doSimulatedDragOut()))}};
| function af(a,b){if(a.Mh){var c=a.h;null!==c&&c.Oj&&(c.fa instanceof P&&1===b.count&&b.$a()instanceof U?(a.Ic=b.$a(),a.Ic.canRelinkFrom()&&a.Ic.canRelinkTo()&&a.Ic.Gf(),a.zi=c.ub.bB,null===a.zi&&(a.zi=new ef,a.zi.h=c)):(a.Ic=null,a.zi=null))}}
| $e.prototype.computeEffectiveCollection=function(a){var b=null!==this.h&&this.h.Ua===this,c=new la(B,Object);if(null===a)return c;for(var d=a.k;d.next();){var e=d.value;ff(this,c,e,b)}if(null!==this.Ic&&this.Mh)return c;for(d=a.k;d.next();)e=d.value,e instanceof U&&(a=e,b=a.aa,null===b||c.contains(b)?(b=a.ea,null===b||c.contains(b)||c.remove(a)):c.remove(a));return c};function gf(a){return void 0===a?{point:F.fj,uz:F.fj}:{point:a.copy(),uz:F.fj}}
| function ff(a,b,c,d){if(!b.contains(c)&&(!d||c.canMove()||c.canCopy()))if(c instanceof S){b.add(c,gf(c.location));if(c instanceof T)for(var e=c.Vc;e.next();){var g=e.value;ff(a,b,g,d)}for(g=c.oe;g.next();)if(e=g.value,!b.contains(e)){var h=e.aa,k=e.ea;null!==h&&b.contains(h)&&null!==k&&b.contains(k)&&ff(a,b,e,d)}if(a.lE)for(c=c.qE();c.next();)g=c.value,ff(a,b,g,d)}else if(c instanceof U)for(e=c,b.add(e,gf()),g=e.dk;g.next();)ff(a,b,g.value,d);else c instanceof Ge||b.add(c,gf(c.location))}
| $e.prototype.doDeactivate=function(){this.ia=!1;var a=this.h;null!==a&&hf(a);jf(this);sf(this,this.Bc);this.Bc=null;this.Mq=this.pt=!1;if(0<tf.count){for(var b=tf.length,c=0;c<b;c++){var d=tf.n[c];uf(d);vf(d);jf(d);null!==d.h&&hf(d.h)}tf.clear()}uf(this);this.wo.Up(NaN,NaN);cf=df=null;vf(this);a.Fd=!1;a.Wb="";a.uo=!1;this.fk()};
| function jf(a){var b=a.h;if(null!==b){var c=b.Wa;b.Wa=!0;for(var d=b.R,e=a.Gl;null!==e;){var g=e.MA;if(null!==g&&(g(d,e,null),d.Ee))break;e=e.ja}b.Wa=c}a.vv=null;a.Gl=null}function wf(){var a=cf;vf(a);xf(a);var b=a.h;null!==b&&a.wo.N()&&(b.position=a.wo);null!==b&&hf(b)}$e.prototype.doCancel=function(){vf(this);xf(this);var a=this.h;null!==a&&this.wo.N()&&(a.position=this.wo);this.stopTool()};function bf(a,b){if(null!==b){a.xs=!0;for(var c=b.k;c.next();){var d=c.key;d instanceof U&&(d.Zp=!0)}}}
| function sf(a,b){if(null!==b&&a.xs){for(var c=b.k;c.next();){var d=c.key;d instanceof U&&(d.Zp=!1,d.Ui?yf(d)&&d.Pb():d.ca())}a.xs=!1}}$e.prototype.doKeyDown=function(){var a=this.h;null!==a&&(a=a.R,null!==a&&this.ia&&("Esc"===a.key?this.doCancel():this.doMouseMove()))};$e.prototype.doKeyUp=function(){var a=this.h;null!==a&&null!==a.R&&this.ia&&this.doMouseMove()};
| function zf(a,b){for(var c=Infinity,d=Infinity,e=-Infinity,g=-Infinity,h=a.k;h.next();){var k=h.value;if(k.Gd()){var l=k.location,k=l.x,l=l.y;isNaN(k)||isNaN(l)||(k<c&&(c=k),l<d&&(d=l),k>e&&(e=k),l>g&&(g=l))}}Infinity===c?b.q(0,0,0,0):b.q(c,d,e-c,g-d)}
| function Af(a,b){if(null===a.jd){var c=a.h;if(!(null===c||b&&(c.ab||c.Ze))&&null!==a.Bc){var d=c.ma;d.isEnabled&&d.TE?null!==d.Oi&&0<d.Oi.Tg.count&&(c.ma.Pp(),c.pc("Drag")):xf(a);c.Wa=!b;c.kn=!b;a.bj=c.Jc.da;c=a.TD?c.Cm(a.Bc.zl(),c,!0):c.Cm(c.selection,c,!0);for(d=c.k;d.next();)d.value.location=d.key.location;d=t.yf();zf(c,d);t.cc(d);for(var d=new la(B,Object),e=a.Bc.k;e.next();){var g=e.key;g.Gd()&&g.canCopy()&&(g=c.ya(g),null!==g&&(g.Hf(),d.add(g,gf(g.location))))}for(c=c.k;c.next();)e=c.value,
| e instanceof U&&e.canCopy()&&d.add(e,gf());a.jd=d;af(a,d.zl());null!==a.Ic&&(c=a.Ic,d=c.pj(),c.ol(a.bj.x-(d.x+d.width/2),a.bj.y-(d.y+d.height/2)))}}}function vf(a){var b=a.h;null!==b&&(null!==a.jd&&(b.eB(a.jd.zl(),!1),a.jd=null),b.Wa=!1,b.kn=!1,a.bj=b.Jc.da)}function uf(a){if(null!==a.Ic){if(a.Mh&&null!==a.zi){var b=a.zi;b.h.remove(b.$d);b.h.remove(b.ae)}a.Ic=null;a.zi=null}}function Bf(a,b,c){var d=a.h;if(null!==d){var e=a.bj,g=t.K();g.assign(d.R.da);a.moveParts(b,g.Tt(e),c);t.B(g)}}
| $e.prototype.moveParts=function(a,b,c){if(null!==a&&(t.m(a,la,$e,"moveParts:parts"),0!==a.count)){var d=t.K(),e=t.K();e.assign(b);isNaN(e.x)&&(e.x=0);isNaN(e.y)&&(e.y=0);var g=this.xs;g||bf(this,a);for(var h=new A,k=new A(Da),l=a.k;l.next();){var m=l.key;if(m.Gd()){var n=Cf(this,m,a);if(null!==n)h.add({Dc:m,info:l.value,BI:n});else if(!c||m.canMove()){n=l.value.point;d.assign(n);var p=t.K();this.computeMove(m,d.add(e),a,p);m.location=p;t.B(p);l.value.uz=p.Tt(n)}}else l.key instanceof U&&k.add(l.wb)}for(c=
| h.k;c.next();)h=c.value,n=h.info.point,d.assign(n),h.Dc.location=d.add(h.BI.uz);n=t.K();c=t.K();for(k=k.k;k.next();)if(p=k.value,h=p.key,h instanceof U)if(h.Zp)if(l=h.aa,m=h.ea,null!==this.Ic&&this.Mh)p=p.value.point,a.add(h,gf(e)),l=b.x-p.x,m=b.y-p.y,h.ol(l,m);else{if(null!==l){n.assign(l.location);var q=a.ya(l);null!==q&&n.Tt(q.point)}null!==m&&(c.assign(m.location),q=a.ya(m),null!==q&&c.Tt(q.point));null!==l&&null!==m?n.Si(c)?(p=p.value.point,l=d,l.assign(n),l.Tt(p),a.add(h,gf(n)),h.ol(l.x,l.y)):
| (h.Zp=!1,h.Pb()):(p=p.value.point,a.add(h,gf(null!==l?n:null!==m?c:b)),l=e.x-p.x,m=e.y-p.y,h.ol(l,m))}else if(null===h.aa||null===h.ea)p=p.value.point,a.add(h,gf(b)),l=e.x-p.x,m=e.y-p.y,h.ol(l,m);t.B(d);t.B(e);t.B(n);t.B(c);g||sf(this,a)}};function Cf(a,b,c){b=b.mb;if(null!==b){a=Cf(a,b,c);if(null!==a)return a;a=c.ya(b);if(null!==a)return a}return null}
| function xf(a){if(null!==a.Bc){for(var b=a.h,c=a.Bc.k;c.next();){var d=c.key;d.Gd()&&(d.location=c.value.point)}for(c=a.Bc.k;c.next();)if(d=c.key,d instanceof U&&d.Zp){var e=c.value.point;a.Bc.add(d,gf());d.ol(-e.x,-e.y)}b.qg()}}
| $e.prototype.computeMove=function(a,b,c,d){void 0===d&&(d=new v);d.assign(b);if(null===a)return d;void 0===c&&(c=null);var e=b;if(this.np&&(this.SE||null===c||this.h.R.ej)&&(e=t.K(),c=e,c.assign(b),null!==a)){var g=this.h;if(null!==g){var h=g.ip,k=this.vA,g=k.width,k=k.height,l=this.BE,m=l.x,l=l.y,n=this.AE;if(null!==h){var p=h.ht;isNaN(g)&&(g=p.width);isNaN(k)&&(k=p.height);h=h.uA;isNaN(m)&&(m=h.x);isNaN(l)&&(l=h.y)}h=t.gc(0,0);h.Pt(0,0,g,k,n);F.dt(b.x,b.y,m+h.x,l+h.y,g,k,c);t.B(h)}}c=null!==a.lA?
| a.lA(a,b,e):e;k=a.oF;g=k.x;isNaN(g)&&(g=a.location.x);k=k.y;isNaN(k)&&(k=a.location.y);h=a.iF;m=h.x;isNaN(m)&&(m=a.location.x);h=h.y;isNaN(h)&&(h=a.location.y);d.q(Math.max(g,Math.min(c.x,m)),Math.max(k,Math.min(c.y,h)));e!==b&&t.B(e);return d};function Df(a,b){if(null===b)return!0;var c=b.S;return null===c||c instanceof Ge||c.layer.uc||a.Bc&&a.Bc.contains(c)||a.jd&&a.jd.contains(c)?!0:!1}
| function Ef(a,b,c,d){var e=a.h;if(null!==e){a.Mh&&(null!==a.Ic&&(a.Ic.aa=null,a.Ic.ea=null),Ff(a,!1));var g=!1;!1===a.Fv&&(g=e.Wa,e.Wa=!0);var h=!1,k=Gf(e,b,null,function(b){return!Df(a,b)}),l=e.R;l.Zd=k;var m=e.Wa;e.Wa=!0;if(k!==a.Gl){var n=a.Gl;a.vv=n;for(a.Gl=k;null!==n;){var p=n.MA;if(null!==p){if(k===n)break;if(null!==k&&k.Vi(n))break;p(l,n,k);h=!0;if(l.Ee)break}n=n.ja}n=a.vv;if(!a.ia&&null===cf)return;for(;null!==k;){p=k.pF;if(null!==p){if(n===k)break;if(null!==n&&n.Vi(k))break;p(l,k,n);h=!0;
| if(l.Ee)break}k=k.ja}k=a.Gl;if(!a.ia&&null===cf)return}null===k&&(p=e.qF,null!==p&&(p(l),h=!0));if(a.ia||null!==cf)if(a.doDragOver(b,k),a.ia||null!==cf)e.Wa=m,h&&e.qg(),!1===a.Fv&&(e.Wa=g),(e.lf||e.mf)&&(c||d)&&Hf(e,l.Ke)}}function If(a,b,c){var d=a.zi;if(null===d)return null;var e=a.h.Jm(b,d.VA,function(a){return d.findValidLinkablePort(a,c)});a=t.K();for(var g=Infinity,h=null,e=e.k;e.next();){var k=e.value;if(null!==k.S){var l=k.ob(Hb,a),l=b.Uj(l);l<g&&(h=k,g=l)}}t.B(a);return h}
| function Ff(a,b){var c=a.Ic;if(null!==c&&!(2>c.oa)){var d=a.h;if(null!==d&&!d.ab&&(d=a.zi,null!==d)){var e=null,g=null;null===c.aa&&(e=If(a,c.o(0),!1),null!==e&&(g=e.S));var h=null,k=null;null===c.ea&&(h=If(a,c.o(c.oa-1),!0),null!==h&&(k=h.S));if((null===g||g instanceof S)&&(null===k||k instanceof S)){var l=d.isValidLink(g,e,k,h);b?(c.xn=c.o(0).copy(),c.Bn=c.o(c.oa-1).copy(),c.Zp=!1,c.aa=g,null!==e&&(c.Jf=e.Jd),c.ea=k,null!==h&&(c.Eg=h.Jd)):l?Tf(d,g,e,k,h):Tf(d,null,null,null,null)}}}}
| $e.prototype.doDragOver=function(){};function Uf(a,b){var c=a.h;if(null!==c&&null!==c.fa){a.Mh&&Ff(a,!0);jf(a);var d=Gf(c,b,null,function(b){return!Df(a,b)}),e=c.R;e.Zd=d;if(null!==d)for(var g=d;null!==g;){var h=g.wt;if(null!==h&&(h(e,g),e.Ee))break;g=g.ja}else h=c.wt,null!==h&&h(e);if(a.ia||null!==cf)if(a.doDropOnto(b,d),a.ia||null!==cf)for(d=c.selection.k;d.next();)e=d.value,e instanceof S&&Vf(c,e.sa)}}$e.prototype.doDropOnto=function(){};
| $e.prototype.doMouseMove=function(){if(this.ia){var a=this.h;if(null!==a&&null!==this.To&&null!==this.Bc){var b=!1,c=!1;this.mayCopy()?(b=!0,a.Wb="copy",Af(this,!1),Bf(this,this.jd,!1)):this.mayMove()?(c=!0,a.Wb="default",vf(this),Bf(this,this.Bc,!0)):this.mayDragOut()?(a.Wb="no-drop",Af(this,!1),Bf(this,this.jd,!1)):vf(this);Ef(this,a.R.da,c,b)}}};
| $e.prototype.doMouseUp=function(){if(this.ia){this.Mq=!0;var a=this.h;if(null!==a){var b=!1,c=this.mayCopy();c&&null!==this.jd?(vf(this),Af(this,!0),Bf(this,this.jd,!1),null!==this.jd&&a.UF(this.jd.zl())):(b=!0,vf(this),this.mayMove()&&(Bf(this,this.Bc,!0),this.Fv=!1,Ef(this,a.R.da,!0,!1),this.Fv=!0));Uf(this,a.R.da);if(this.ia){this.jd=null;if(b&&null!==this.Bc)for(b=this.Bc.k;b.next();){var d=b.key;d instanceof S&&(d=d.mb,null===d||null===d.placeholder||this.Bc.contains(d)||d.gA&&d.ca())}a.Kc();
| sf(this,this.Bc);this.ff=c?"Copy":"Move";a.Aa(c?"SelectionCopied":"SelectionMoved",a.selection)}this.stopTool()}}};$e.prototype.mayCopy=function(){if(!this.AA)return!1;var a=this.h;if(null===a||a.ab||a.Ze||!a.rm||!a.Hi||(t.Om?!a.R.Um:!a.R.control))return!1;for(a=a.selection.k;a.next();){var b=a.value;if(b.Gd()&&b.canCopy())return!0}return null!==this.Ic&&this.Mh&&this.Ic.canCopy()?!0:!1};
| $e.prototype.mayDragOut=function(){if(!this.AA)return!1;var a=this.h;if(null===a||!a.Ps||!a.Hi||a.Nj)return!1;for(a=a.selection.k;a.next();){var b=a.value;if(b.Gd()&&b.canCopy())return!0}return null!==this.Ic&&this.Mh&&this.Ic.canCopy()?!0:!1};$e.prototype.mayMove=function(){var a=this.h;if(null===a||a.ab||!a.Nj)return!1;for(a=a.selection.k;a.next();){var b=a.value;if(b.Gd()&&b.canMove())return!0}return null!==this.Ic&&this.Mh&&this.Ic.canMove()?!0:!1};var tf=new A($e),cf=null,df=null;
| $e.prototype.mayDragIn=function(){var a=this.h;return null===a||!a.Wz||a.ab||a.Ze||!a.rm||null===a.fa?!1:!0};$e.prototype.doSimulatedDragEnter=function(){if(this.mayDragIn()){var a=cf;null!==a&&(a.h.Wb="copy")}};$e.prototype.doSimulatedDragLeave=function(){var a=cf;null!==a&&a.doSimulatedDragOut();this.doCancel()};
| $e.prototype.doSimulatedDragOver=function(){var a=this.h;if(null!==a){var b=cf;null!==b&&null!==b.Bc&&this.mayDragIn()&&(a.Wb="copy",Wf(this,b.Bc.zl(),!1),Bf(this,this.jd,!1),Ef(this,a.R.da,!1,!0))}};
| $e.prototype.doSimulatedDrop=function(){var a=this.h;if(null!==a){var b=cf;null!==b&&(b.Mq=!0,vf(this),this.mayDragIn()&&(this.pc("Drop"),Wf(this,b.Bc.zl(),!0),Bf(this,this.jd,!1),null!==this.jd&&a.UF(this.jd.zl()),this.ff="ExternalCopy",Uf(this,a.R.da),a.Kc(),this.jd=null,a.Aa("ExternalObjectsDropped",a.selection),this.fk()))}};
| function Wf(a,b,c){if(null===a.jd){var d=a.h;if(null!==d&&!d.ab&&!d.Ze&&null!==d.fa){d.Wa=!c;d.kn=!c;a.bj=d.R.da;d=d.Cm(b,d,!0);c=t.yf();zf(b,c);var e=c.x+c.width/2,g=c.y+c.height/2;t.cc(c);var h=a.Hv;c=new la(B,Object);var k=t.K();for(b=b.k;b.next();){var l=b.value;if(l.Gd()&&l.canCopy()){var m=l.location,l=d.ya(l);k.q(h.x-(e-m.x),h.y-(g-m.y));l.location=k;l.Hf();c.add(l,gf(k))}}t.B(k);for(d=d.k;d.next();)e=d.value,e instanceof U&&e.canCopy()&&c.add(e,gf());a.jd=c;af(a,c.zl());null!==a.Ic&&(c=a.Ic,
| d=c.pj(),c.ol(a.bj.x-(d.x+d.width/2),a.bj.y-(d.y+d.height/2)))}}}$e.prototype.doSimulatedDragOut=function(){var a=this.h;null!==a&&(this.mayCopy()||this.mayMove()?a.Wb="":a.Wb="no-drop")};
| function Xf(){0<arguments.length&&t.l("LinkingBaseTool constructor cannot take any arguments.");ae.call(this);this.oz=100;this.Yy=!1;var a=new U,b=new X;b.Wi=!0;b.stroke="blue";a.add(b);b=new X;b.dn="Standard";b.fill="blue";b.stroke="blue";a.add(b);a.af="Tool";this.Iz=a;a=new S;b=new X;b.Jd="";b.Jb="Rectangle";b.fill=null;b.stroke="magenta";b.gb=2;b.Ba=F.Nx;a.add(b);a.sl=!1;a.af="Tool";this.Gz=a;this.Hz=b;a=new S;b=new X;b.Jd="";b.Jb="Rectangle";b.fill=null;b.stroke="magenta";b.gb=2;b.Ba=F.Nx;a.add(b);
| a.sl=!1;a.af="Tool";this.Jz=a;this.Kz=b;this.nz=this.mz=this.hz=this.gz=this.iz=null;this.BC=!0;this.nH=new la(Q,"boolean");this.YC=this.Jk=this.Dz=null}t.ga("LinkingBaseTool",Xf);t.Ka(Xf,ae);Xf.prototype.doStop=function(){var a=this.h;null!==a&&hf(a);this.zg=this.yg=this.xg=this.wg=this.mc=null;this.vx.clear();this.xf=null};t.g(Xf,"portGravity",Xf.prototype.VA);
| t.defineProperty(Xf,{VA:"portGravity"},function(){return this.oz},function(a){this.oz!==a&&(f&&t.j(a,"number",Xf,"portGravity"),0<=a&&(this.oz=a))});t.g(Xf,"isUnconnectedLinkValid",Xf.prototype.Pm);t.defineProperty(Xf,{Pm:"isUnconnectedLinkValid"},function(){return this.Yy},function(a){this.Yy!==a&&(f&&t.j(a,"boolean",Xf,"isUnconnectedLinkValid"),this.Yy=a)});t.g(Xf,"temporaryLink",Xf.prototype.Sf);
| t.defineProperty(Xf,{Sf:"temporaryLink"},function(){return this.Iz},function(a){this.Iz!==a&&(f&&t.m(a,U,Xf,"temporaryLink"),this.Iz=a)});t.g(Xf,"temporaryFromNode",Xf.prototype.$d);t.defineProperty(Xf,{$d:"temporaryFromNode"},function(){return this.Gz},function(a){this.Gz!==a&&(f&&t.m(a,S,Xf,"temporaryFromNode"),this.Gz=a)});t.g(Xf,"temporaryFromPort",Xf.prototype.xl);
| t.defineProperty(Xf,{xl:"temporaryFromPort"},function(){return this.Hz},function(a){this.Hz!==a&&(f&&t.m(a,Q,Xf,"temporaryFromPort"),this.Hz=a)});t.g(Xf,"temporaryToNode",Xf.prototype.ae);t.defineProperty(Xf,{ae:"temporaryToNode"},function(){return this.Jz},function(a){this.Jz!==a&&(f&&t.m(a,S,Xf,"temporaryToNode"),this.Jz=a)});t.g(Xf,"temporaryToPort",Xf.prototype.yl);
| t.defineProperty(Xf,{yl:"temporaryToPort"},function(){return this.Kz},function(a){this.Kz!==a&&(f&&t.m(a,Q,Xf,"temporaryToPort"),this.Kz=a)});t.g(Xf,"originalLink",Xf.prototype.mc);t.defineProperty(Xf,{mc:"originalLink"},function(){return this.iz},function(a){this.iz!==a&&(f&&null!==a&&t.m(a,U,Xf,"originalLink"),this.iz=a)});t.g(Xf,"originalFromNode",Xf.prototype.wg);
| t.defineProperty(Xf,{wg:"originalFromNode"},function(){return this.gz},function(a){this.gz!==a&&(f&&null!==a&&t.m(a,S,Xf,"originalFromNode"),this.gz=a)});t.g(Xf,"originalFromPort",Xf.prototype.xg);t.defineProperty(Xf,{xg:"originalFromPort"},function(){return this.hz},function(a){this.hz!==a&&(f&&null!==a&&t.m(a,Q,Xf,"originalFromPort"),this.hz=a)});t.g(Xf,"originalToNode",Xf.prototype.yg);
| t.defineProperty(Xf,{yg:"originalToNode"},function(){return this.mz},function(a){this.mz!==a&&(f&&null!==a&&t.m(a,S,Xf,"originalToNode"),this.mz=a)});t.g(Xf,"originalToPort",Xf.prototype.zg);t.defineProperty(Xf,{zg:"originalToPort"},function(){return this.nz},function(a){this.nz!==a&&(f&&null!==a&&t.m(a,Q,Xf,"originalToPort"),this.nz=a)});t.defineProperty(Xf,{Td:"isForwards"},function(){return this.BC},function(a){this.BC=a});t.A(Xf,{vx:"validPortsCache"},function(){return this.nH});
| t.g(Xf,"targetPort",Xf.prototype.xf);t.defineProperty(Xf,{xf:"targetPort"},function(){return this.Dz},function(a){this.Dz!==a&&(f&&null!==a&&t.m(a,Q,Xf,"targetPort"),this.Dz=a)});Xf.prototype.copyPortProperties=function(a,b,c,d,e){if(null!==a&&null!==b&&null!==c&&null!==d){d.Ba=b.sa.size;e?(d.qb=b.qb,d.hk=b.hk):(d.nb=b.nb,d.Zj=b.Zj);c.bf=Hb;var g=t.K();c.location=b.ob(Hb,g);t.B(g);d.angle=b.gl();null!==this.Gt&&this.Gt(a,b,c,d,e)}};
| Xf.prototype.setNoTargetPortProperties=function(a,b,c){null!==b&&(b.Ba=F.Nx,b.nb=wb,b.qb=wb);null!==a&&(a.location=this.h.R.da);null!==this.Gt&&this.Gt(null,null,a,b,c)};Xf.prototype.doMouseDown=function(){this.ia&&this.doMouseMove()};
| Xf.prototype.doMouseMove=function(){if(this.ia){var a=this.h;if(null!==a){this.xf=this.findTargetPort(this.Td);if(null!==this.xf){var b=this.xf.S;if(b instanceof S){this.Td?this.copyPortProperties(b,this.xf,this.ae,this.yl,!0):this.copyPortProperties(b,this.xf,this.$d,this.xl,!1);return}}this.Td?this.setNoTargetPortProperties(this.ae,this.yl,!0):this.setNoTargetPortProperties(this.$d,this.xl,!1);(a.lf||a.mf)&&Hf(a,a.R.Ke)}}};
| Xf.prototype.findValidLinkablePort=function(a,b){if(null===a)return null;var c=a.S;if(!(c instanceof S))return null;for(;null!==a;){var d=b?a.wB:a.rA;if(!0===d&&(null!==a.Jd||a instanceof S)&&(b?this.isValidTo(c,a):this.isValidFrom(c,a)))return a;if(!1===d)break;a=a.ja}return null};
| Xf.prototype.findTargetPort=function(a){var b=this.h,c=b.R.da,d=this.VA;0>=d&&(d=0.1);for(var e=this,g=b.Jm(c,d,function(b){return e.findValidLinkablePort(b,a)},null,!0),d=Infinity,b=null,g=g.k;g.next();){var h=g.value,k=h.S;if(k instanceof S){var l=h.ob(Hb,t.K()),m=c.x-l.x,n=c.y-l.y;t.B(l);l=m*m+n*n;l<d&&(m=this.vx.ya(h),null!==m?m&&(b=h,d=l):a&&this.isValidLink(this.wg,this.xg,k,h)||!a&&this.isValidLink(k,h,this.yg,this.zg)?(this.vx.add(h,!0),b=h,d=l):this.vx.add(h,!1))}}return null!==b&&(c=b.S,
| c instanceof S&&(null===c.layer||c.layer.sm))?b:null};Xf.prototype.isValidFrom=function(a,b){if(null===a||null===b)return this.Pm;if(this.h.Ua===this&&(null!==a.layer&&!a.layer.sm||!0!==b.rA))return!1;var c=b.vE;if(Infinity>c){if(null!==this.mc&&a===this.wg&&b===this.xg)return!0;var d=b.Jd;null===d&&(d="");if(a.xw(d).count>=c)return!1}return!0};
| Xf.prototype.isValidTo=function(a,b){if(null===a||null===b)return this.Pm;if(this.h.Ua===this&&(null!==a.layer&&!a.layer.sm||!0!==b.wB))return!1;var c=b.pG;if(Infinity>c){if(null!==this.mc&&a===this.yg&&b===this.zg)return!0;var d=b.Jd;null===d&&(d="");if(a.mg(d).count>=c)return!1}return!0};Xf.prototype.isInSameNode=function(a,b){if(null===a||null===b)return!1;if(a===b)return!0;var c=a.S,d=b.S;return null!==c&&c===d};
| Xf.prototype.isLinked=function(a,b){if(null===a||null===b)return!1;var c=a.S;if(!(c instanceof S))return!1;var d=a.Jd;null===d&&(d="");var e=b.S;if(!(e instanceof S))return!1;var g=b.Jd;null===g&&(g="");for(e=e.mg(g);e.next();)if(g=e.value,g.aa===c&&g.Jf===d)return!0;return!1};
| Xf.prototype.isValidLink=function(a,b,c,d){if(!this.isValidFrom(a,b)||!this.isValidTo(c,d)||!(null===b||null===d||(b.uE&&d.oG||!this.isInSameNode(b,d))&&(b.tE&&d.nG||!this.isLinked(b,d)))||null!==this.mc&&(null!==a&&Yf(this,a,this.mc)||null!==c&&Yf(this,c,this.mc))||null!==a&&null!==c&&(null===a.data&&null!==c.data||null!==a.data&&null===c.data)||!Zf(this,a,c,this.mc))return!1;if(null!==a){var e=a.zp;if(null!==e&&!e(a,b,c,d,this.mc))return!1}if(null!==c&&(e=c.zp,null!==e&&!e(a,b,c,d,this.mc)))return!1;
| e=this.zp;return null!==e?e(a,b,c,d,this.mc):!0};function Yf(a,b,c){if(null===b)return!1;var d=b.Wd;if(null===d)return!1;if(d===c)return!0;var e=new na(S);e.add(b);return $f(a,d,c,e)}function $f(a,b,c,d){if(b===c)return!0;var e=b.aa;if(null!==e&&e.Qh&&(d.add(e),$f(a,e.Wd,c,d)))return!0;b=b.ea;return null!==b&&b.Qh&&(d.add(b),$f(a,b.Wd,c,d))?!0:!1}
| function Zf(a,b,c,d){if(null===b||null===c)return a.Pm;var e=a.h.DG;if(e!==ag){if(e===bg){if(null!==d&&!d.Cc)return!0;for(e=c.oe;e.next();){var g=e.value;if(g!==d&&g.Cc&&g.ea===c)return!1}return!cg(a,b,c,d,!0)}if(e===dg){if(null!==d&&!d.Cc)return!0;for(e=b.oe;e.next();)if(g=e.value,g!==d&&g.Cc&&g.aa===b)return!1;return!cg(a,b,c,d,!0)}if(e===eg)return b===c?a=!0:(e=new na(S),e.add(c),a=fg(a,e,b,c,d)),!a;if(e===gg)return!cg(a,b,c,d,!1);if(e===og)return b===c?a=!0:(e=new na(S),e.add(c),a=pg(a,e,b,c,
| d)),!a}return!0}function cg(a,b,c,d,e){if(b===c)return!0;if(null===b||null===c)return!1;for(var g=b.oe;g.next();){var h=g.value;if(h!==d&&(!e||h.Cc)&&h.ea===b&&(h=h.aa,h!==b&&cg(a,h,c,d,e)))return!0}return!1}function fg(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.oe;g.next();){var h=g.value;if(h!==e&&h.ea===c&&(h=h.aa,h!==c&&fg(a,b,h,d,e)))return!0}return!1}
| function pg(a,b,c,d,e){if(c===d)return!0;if(null===c||null===d||b.contains(c))return!1;b.add(c);for(var g=c.oe;g.next();){var h=g.value;if(h!==e){var k=h.aa,h=h.ea,k=k===c?h:k;if(k!==c&&pg(a,b,k,d,e))return!0}}return!1}t.g(Xf,"linkValidation",Xf.prototype.zp);t.defineProperty(Xf,{zp:"linkValidation"},function(){return this.Jk},function(a){null!==a&&t.j(a,"function",Xf,"linkValidation");this.Jk=a});t.g(Xf,"portTargeted",Xf.prototype.Gt);
| t.defineProperty(Xf,{Gt:"portTargeted"},function(){return this.YC},function(a){null!==a&&t.j(a,"function",Xf,"portTargeted");this.YC=a});function ra(){0<arguments.length&&t.l("LinkingTool constructor cannot take any arguments.");Xf.call(this);this.name="Linking";this.mu={};this.lu=null;this.pa=qg;this.yz=this.xz=null}t.ga("LinkingTool",ra);t.Ka(ra,Xf);var qg;ra.Either=qg=t.w(ra,"Either",0);var rg;ra.ForwardsOnly=rg=t.w(ra,"ForwardsOnly",0);var sg;ra.BackwardsOnly=sg=t.w(ra,"BackwardsOnly",0);
| t.g(ra,"archetypeLinkData",ra.prototype.zD);t.defineProperty(ra,{zD:"archetypeLinkData"},function(){return this.mu},function(a){this.mu!==a&&(null!==a&&t.m(a,Object,ra,"archetypeLinkData"),a instanceof Q&&t.m(a,U,ra,"archetypeLinkData"),this.mu=a)});t.g(ra,"archetypeLabelNodeData",ra.prototype.$z);
| t.defineProperty(ra,{$z:"archetypeLabelNodeData"},function(){return this.lu},function(a){this.lu!==a&&(null!==a&&t.m(a,Object,ra,"archetypeLabelNodeData"),a instanceof Q&&t.m(a,S,ra,"archetypeLabelNodeData"),this.lu=a)});t.g(ra,"direction",ra.prototype.direction);t.defineProperty(ra,{direction:"direction"},function(){return this.pa},function(a){this.pa!==a&&(f&&t.sb(a,ra,ra,"direction"),this.pa=a)});t.g(ra,"startObject",ra.prototype.sB);
| t.defineProperty(ra,{sB:"startObject"},function(){return this.xz},function(a){this.xz!==a&&(f&&null!==a&&t.m(a,Q,ra,"startObject"),this.xz=a)});t.A(ra,{qx:"startPort"},function(){return this.yz});ra.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a||a.ab||a.Ze||!a.sm)return!1;var b=a.fa;return null!==b&&(b instanceof P||b instanceof Kd)&&a.R.left&&(a.Ua===this||this.isBeyondDragSize())?null!==this.findLinkablePort():!1};
| ra.prototype.findLinkablePort=function(){var a=this.h;if(null===a)return null;var b=this.sB;null===b&&(b=a.le(a.Jc.da,null,null));if(null===b||!(b.S instanceof S))return null;var c=this.direction;if(c===qg||c===rg)if(a=this.findValidLinkablePort(b,!1),null!==a)return this.Td=!0,a;if(c===qg||c===sg)if(a=this.findValidLinkablePort(b,!0),null!==a)return this.Td=!1,a;return null};
| ra.prototype.doActivate=function(){var a=this.h;if(null!==a&&(null===this.qx&&(this.yz=this.findLinkablePort()),null!==this.qx)){this.pc(this.name);a.Fd=!0;a.Wb="pointer";if(this.Td){this.xg=this.qx;var b=this.xg.S;b instanceof S&&(this.wg=b);this.copyPortProperties(this.wg,this.xg,this.$d,this.xl,!1)}else this.zg=this.qx,b=this.zg.S,b instanceof S&&(this.yg=b),this.copyPortProperties(this.yg,this.zg,this.ae,this.yl,!0);a.add(this.$d);a.add(this.ae);null!==this.Sf&&(null!==this.$d&&(this.Sf.aa=this.$d),
| null!==this.ae&&(this.Sf.ea=this.ae),this.Sf.Pb(),a.add(this.Sf));this.ia=!0}};ra.prototype.doDeactivate=function(){this.ia=!1;var a=this.h;null!==a&&(a.remove(this.Sf),a.remove(this.$d),a.remove(this.ae),a.Fd=!1,a.Wb="",this.fk())};ra.prototype.doStop=function(){Xf.prototype.doStop.call(this);this.sB=this.yz=null};
| ra.prototype.doMouseUp=function(){if(this.ia){var a=this.h;if(null===a)return;var b=this.ff=null,c=null,d=null,e=null,g=this.xf=this.findTargetPort(this.Td),h=null;null!==g?(h=g.S,h instanceof S&&(this.Td?(null!==this.wg&&(b=this.wg,c=this.xg),d=h,e=g):(b=h,c=g,null!==this.yg&&(d=this.yg,e=this.zg)))):this.Td?null!==this.wg&&this.Pm&&(b=this.wg,c=this.xg):null!==this.yg&&this.Pm&&(d=this.yg,e=this.zg);if(null!==b||null!==d)b=this.insertLink(b,c,d,e),null!==b?(null===g&&(this.Td?b.Bn=a.R.da.copy():
| b.xn=a.R.da.copy()),a.Qe&&a.select(b),this.ff=this.name,a.Aa("LinkDrawn",b)):a.fa.KD()}this.stopTool()};
| ra.prototype.insertLink=function(a,b,c,d){var e=this.h;if(null===e)return null;var g=e.fa;if(null===g)return null;if(g instanceof Kd){var h=a;b=c;e.md||(h=c,b=a);if(null!==h&&null!==b)return g.Vh(b.data,g.Ob(h.data)),b.ft()}else if(g instanceof P)if(h="",null!==a&&(null===b&&(b=a),h=b.Jd,null===h&&(h="")),b="",null!==c&&(null===d&&(d=c),b=d.Jd,null===b&&(b="")),d=this.zD,d instanceof U){if(Ie(d),g=d.copy(),g instanceof U)return g.aa=a,g.Jf=h,g.ea=c,g.Eg=b,e.add(g),a=this.$z,a instanceof S&&(Ie(a),
| a=a.copy(),a instanceof S&&(a.Wd=g,e.add(a))),g}else if(null!==d&&(d=g.VD(d),t.tb(d)))return null!==a&&g.jB(d,g.Ob(a.data)),g.kB(d,h),null!==c&&g.oB(d,g.Ob(c.data)),g.pB(d,b),g.Vv(d),a=this.$z,null===a||a instanceof S||(a=g.copyNodeData(a),t.tb(a)&&(g.qm(a),a=g.Ob(a),void 0!==a&&g.wD(d,a))),g=e.If(d);return null};
| function ef(){0<arguments.length&&t.l("RelinkingTool constructor cannot take any arguments.");Xf.call(this);this.name="Relinking";var a=new X;a.Jb="Diamond";a.Ba=F.Gx;a.fill="lightblue";a.stroke="dodgerblue";a.cursor="pointer";a.vf=0;this.sC=a;a=new X;a.Jb="Diamond";a.Ba=F.Gx;a.fill="lightblue";a.stroke="dodgerblue";a.cursor="pointer";a.vf=-1;this.kD=a;this.Zb=null;this.VC=new w}t.ga("RelinkingTool",ef);t.Ka(ef,Xf);
| ef.prototype.updateAdornments=function(a){if(null!==a&&a instanceof U){var b="RelinkFrom",c=null;if(a.fb&&!this.h.ab){var d=a.Nt;null!==d&&a.canRelinkFrom()&&a.sa.N()&&a.bb()&&d.sa.N()&&d.nl()&&(c=a.Xo(b),null===c&&(c=this.makeAdornment(d,!1),c.Uc=b,c.ml=!0),null!==c&&(c.ca(),a.Vk(b,c)))}null===c&&a.rl(b);b="RelinkTo";c=null;a.fb&&!this.h.ab&&(d=a.Nt,null!==d&&a.canRelinkTo()&&a.sa.N()&&a.bb()&&d.sa.N()&&d.nl()&&(c=a.Xo(b),null===c&&(c=this.makeAdornment(d,!0),c.Uc=b,c.ml=!0),null!==c&&(c.ca(),a.Vk(b,
| c))));null===c&&a.rl(b)}};ef.prototype.makeAdornment=function(a,b){var c=new Ge;c.type=tg;var d=b?this.MJ:this.wI;null!==d&&c.add(d.copy());c.kc=a;return c};t.defineProperty(ef,{wI:"fromHandleArchetype"},function(){return this.sC},function(a){a&&t.m(a,Q,ef,"fromHandleArchetype");this.sC=a});t.defineProperty(ef,{MJ:"toHandleArchetype"},function(){return this.kD},function(a){a&&t.m(a,Q,ef,"toHandleArchetype");this.kD=a});t.A(ef,{handle:"handle"},function(){return this.Zb});
| ef.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a||a.ab||a.Ze||!a.Oj)return!1;var b=a.fa;if(null===b||!(b instanceof P||b instanceof Kd)||!a.R.left)return!1;b=this.findToolHandleAt(a.Jc.da,"RelinkFrom");null===b&&(b=this.findToolHandleAt(a.Jc.da,"RelinkTo"));return null!==b};
| ef.prototype.doActivate=function(){var a=this.h;if(null!==a){if(null===this.mc){var b=this.findToolHandleAt(a.Jc.da,"RelinkFrom");null===b&&(b=this.findToolHandleAt(a.Jc.da,"RelinkTo"));if(null===b)return;var c=b.S;if(!(c instanceof Ge&&c.Jh instanceof U))return;this.Zb=b;this.Td=null===c||"RelinkTo"===c.Uc;this.mc=c.Jh}this.pc(this.name);a.Fd=!0;a.Wb="pointer";this.xg=this.mc.rd;this.wg=this.mc.aa;this.zg=this.mc.be;this.yg=this.mc.ea;this.VC.set(this.mc.sa);null!==this.mc&&0<this.mc.oa&&(null===
| this.mc.aa&&(null!==this.xl&&(this.xl.Ba=F.kq),null!==this.$d&&(this.$d.location=this.mc.o(0))),null===this.mc.ea&&(null!==this.yl&&(this.yl.Ba=F.kq),null!==this.ae&&(this.ae.location=this.mc.o(this.mc.oa-1))));this.copyPortProperties(this.wg,this.xg,this.$d,this.xl,!1);this.copyPortProperties(this.yg,this.zg,this.ae,this.yl,!0);a.add(this.$d);a.add(this.ae);null!==this.Sf&&(null!==this.$d&&(this.Sf.aa=this.$d),null!==this.ae&&(this.Sf.ea=this.ae),this.copyLinkProperties(this.mc,this.Sf),this.Sf.Pb(),
| a.add(this.Sf));this.ia=!0}};ef.prototype.copyLinkProperties=function(a,b){if(null!==a&&null!==b){b.Ho=a.Ho;b.lw=a.lw;var c=a.De;if(c===ug||c===vg)c=wg;b.De=c;b.Zs=a.Zs;b.Kt=a.Kt;b.bn=a.bn;b.nb=a.nb;b.Zj=a.Zj;b.cp=a.cp;b.dp=a.dp;b.qb=a.qb;b.hk=a.hk;b.aq=a.aq;b.bq=a.bq}};ef.prototype.doDeactivate=function(){this.ia=!1;var a=this.h;null!==a&&(a.remove(this.Sf),a.remove(this.$d),a.remove(this.ae),a.Fd=!1,a.Wb="",this.fk())};ef.prototype.doStop=function(){Xf.prototype.doStop.call(this);this.Zb=null};
| ef.prototype.doMouseUp=function(){if(this.ia){var a=this.h;if(null===a)return;this.ff=null;var b=this.wg,c=this.xg,d=this.yg,e=this.zg,g=this.mc;this.xf=this.findTargetPort(this.Td);if(null!==this.xf){var h=this.xf.S;h instanceof S&&(this.Td?(d=h,e=this.xf):(b=h,c=this.xf))}else this.Pm?this.Td?e=d=null:c=b=null:g=null;null!==g&&(this.reconnectLink(g,this.Td?d:b,this.Td?e:c,this.Td),null===this.xf&&(this.Td?g.Bn=a.R.da.copy():g.xn=a.R.da.copy(),g.Pb()),a.Qe&&(g.fb=!0),this.ff=this.name,a.Aa("LinkRelinked",
| g,this.Td?this.zg:this.xg));xg(this.mc,this.VC)}this.stopTool()};ef.prototype.reconnectLink=function(a,b,c,d){if(null===this.h)return!1;c=null!==c&&null!==c.Jd?c.Jd:"";d?(a.ea=b,a.Eg=c):(a.aa=b,a.Jf=c);return!0};function Tf(a,b,c,d,e){null!==b?(a.copyPortProperties(b,c,a.$d,a.xl,!1),a.h.add(a.$d)):a.h.remove(a.$d);null!==d?(a.copyPortProperties(d,e,a.ae,a.yl,!0),a.h.add(a.ae)):a.h.remove(a.ae)}
| function yg(){0<arguments.length&&t.l("LinkReshapingTool constructor cannot take any arguments.");ae.call(this);this.name="LinkReshaping";var a=new X;a.Jb="Rectangle";a.Ba=F.hq;a.fill="lightblue";a.stroke="dodgerblue";this.Ck=a;a=new X;a.Jb="Diamond";a.Ba=F.hq;a.fill="lightblue";a.stroke="dodgerblue";this.JC=a;this.ZC=3;this.Zx=this.Zb=null;this.WC=new v;this.kz=null}t.ga("LinkReshapingTool",yg);t.Ka(yg,ae);var zg;yg.None=zg=t.w(yg,"None",0);var Ag;yg.Horizontal=Ag=t.w(yg,"Horizontal",1);var Bg;
| yg.Vertical=Bg=t.w(yg,"Vertical",2);var Cg;yg.All=Cg=t.w(yg,"All",3);function Kg(a,b){t.m(a,Q,yg,"setReshapingBehavior:obj");t.sb(b,yg,yg,"setReshapingBehavior:behavior");a.wv=b}
| yg.prototype.updateAdornments=function(a){if(null!==a&&a instanceof U){if(a.fb&&!this.h.ab){var b=a.path;if(null!==b&&a.canReshape()&&a.sa.N()&&a.bb()&&b.sa.N()&&b.nl()){var c=a.Xo(this.name);if(null===c||c.gH!==a.oa||c.pH!==a.Mp)c=this.makeAdornment(b),c.ml=!0,c.gH=a.oa,c.pH=a.Mp;if(null!==c){c.location=a.position;c.ca();a.Vk(this.name,c);return}}}a.rl(this.name)}};
| yg.prototype.makeAdornment=function(a){var b=a.S,c=b.oa,d=b.dc,e=null;if(null!==b.points&&1<c){e=new Ge;e.type=tg;var c=b.gt,g=b.Rw,h=d?1:0;if(b.Mp&&b.De!==Mg)for(var k=c+h;k<g-h;k++){var l=this.makeResegmentHandle(a,k);null!==l&&(l.vf=k,l.Lt=0.5,e.add(l))}for(k=c+1;k<g;k++)if(l=this.makeHandle(a,k),null!==l){l.vf=k;if(k!==c)if(k===c+1&&d){var h=b.o(c),m=b.o(c+1);F.I(h.x,m.x)&&F.I(h.y,m.y)&&(m=b.o(c-1));F.I(h.x,m.x)?(Kg(l,Bg),l.cursor="n-resize"):F.I(h.y,m.y)&&(Kg(l,Ag),l.cursor="w-resize")}else k===
| g-1&&d?(h=b.o(g-1),m=b.o(g),F.I(h.x,m.x)&&F.I(h.y,m.y)&&(h=b.o(g+1)),F.I(h.x,m.x)?(Kg(l,Bg),l.cursor="n-resize"):F.I(h.y,m.y)&&(Kg(l,Ag),l.cursor="w-resize")):k!==g&&(Kg(l,Cg),l.cursor="move");e.add(l)}e.Uc=this.name;e.kc=a}return e};yg.prototype.makeHandle=function(){var a=this.it;return null===a?null:a.copy()};t.defineProperty(yg,{it:"handleArchetype"},function(){return this.Ck},function(a){a&&t.m(a,Q,yg,"handleArchetype");this.Ck=a});
| yg.prototype.makeResegmentHandle=function(){var a=this.cJ;return null===a?null:a.copy()};t.defineProperty(yg,{cJ:"midHandleArchetype"},function(){return this.JC},function(a){a&&t.m(a,Q,yg,"midHandleArchetype");this.JC=a});t.A(yg,{handle:"handle"},function(){return this.Zb});t.A(yg,{Os:"adornedLink"},function(){return this.Zx});yg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;return null!==a&&!a.ab&&a.Jo&&a.R.left?null!==this.findToolHandleAt(a.Jc.da,this.name):!1};
| yg.prototype.doActivate=function(){var a=this.h;if(null!==a&&(this.Zb=this.findToolHandleAt(a.Jc.da,this.name),null!==this.Zb)){var b=this.Zb.S.Jh;if(b instanceof U){this.Zx=b;a.Fd=!0;this.pc(this.name);if(b.Mp&&0.5===this.Zb.Lt){var c=b.points.copy(),d=this.Zb.ob(Hb);c.Ed(this.Zb.vf+1,d);b.dc&&c.Ed(this.Zb.vf+1,d);b.points=c;b.Gf();b.updateAdornments();this.Zb=this.findToolHandleAt(a.Jc.da,this.name)}this.WC=b.o(this.Zb.vf);this.kz=b.points.copy();this.ia=!0}}};
| yg.prototype.doDeactivate=function(){this.fk();this.Zx=this.Zb=null;var a=this.h;null!==a&&(a.Fd=!1);this.ia=!1};yg.prototype.doCancel=function(){var a=this.Os;null!==a&&(a.points=this.kz);this.stopTool()};yg.prototype.doMouseMove=function(){var a=this.h;this.ia&&null!==a&&(a=this.computeReshape(a.R.da),this.reshape(a))};
| yg.prototype.doMouseUp=function(){var a=this.h;if(this.ia&&null!==a){var b=this.computeReshape(a.R.da);this.reshape(b);b=this.Os;if(null!==b&&b.Mp){var c=this.handle.vf,d=b.o(c-1),e=b.o(c),g=b.o(c+1);if(b.dc){if(c>b.gt+1&&c<b.Rw-1){var h=b.o(c-2);if(Math.abs(d.x-e.x)<this.Ag&&Math.abs(d.y-e.y)<this.Ag&&(Ng(this,h,d,e,g,!0)||Ng(this,h,d,e,g,!1))){var k=b.points.copy();Ng(this,h,d,e,g,!0)?(k.Bg(c-2,new v(h.x,(g.y+h.y)/2)),k.Bg(c+1,new v(g.x,(g.y+h.y)/2))):(k.Bg(c-2,new v((g.x+h.x)/2,h.y)),k.Bg(c+1,
| new v((g.x+h.x)/2,g.y)));k.nd(c);k.nd(c-1);b.points=k;b.Gf();b.updateAdornments()}else h=b.o(c+2),Math.abs(e.x-g.x)<this.Ag&&Math.abs(e.y-g.y)<this.Ag&&(Ng(this,d,e,g,h,!0)||Ng(this,d,e,g,h,!1))&&(k=b.points.copy(),Ng(this,d,e,g,h,!0)?(k.Bg(c-1,new v(d.x,(d.y+h.y)/2)),k.Bg(c+2,new v(h.x,(d.y+h.y)/2))):(k.Bg(c-1,new v((d.x+h.x)/2,d.y)),k.Bg(c+2,new v((d.x+h.x)/2,h.y))),k.nd(c+1),k.nd(c),b.points=k,b.Gf(),b.updateAdornments())}}else h=t.K(),F.Wm(d.x,d.y,g.x,g.y,e.x,e.y,h)&&h.Uj(e)<this.Ag*this.Ag&&
| (k=b.points.copy(),k.nd(c),b.points=k,b.Gf(),b.updateAdornments()),t.B(h)}a.Kc();this.ff=this.name;a.Aa("LinkReshaped",this.Os)}this.stopTool()};function Ng(a,b,c,d,e,g){return g?Math.abs(b.y-c.y)<a.Ag&&Math.abs(c.y-d.y)<a.Ag&&Math.abs(d.y-e.y)<a.Ag:Math.abs(b.x-c.x)<a.Ag&&Math.abs(c.x-d.x)<a.Ag&&Math.abs(d.x-e.x)<a.Ag}t.g(yg,"resegmentingDistance",yg.prototype.Ag);t.defineProperty(yg,{Ag:"resegmentingDistance"},function(){return this.ZC},function(a){this.ZC=a});
| yg.prototype.reshape=function(a){var b=this.Os;b.vl();var c=this.handle.vf,d=this.handle&&this.handle.wv?this.handle.wv:zg;if(b.dc)if(c===b.gt+1)c=b.gt+1,d===Bg?(b.Y(c,b.o(c-1).x,a.y),b.Y(c+1,b.o(c+2).x,a.y)):d===Ag&&(b.Y(c,a.x,b.o(c-1).y),b.Y(c+1,a.x,b.o(c+2).y));else if(c===b.Rw-1)c=b.Rw-1,d===Bg?(b.Y(c-1,b.o(c-2).x,a.y),b.Y(c,b.o(c+1).x,a.y)):d===Ag&&(b.Y(c-1,a.x,b.o(c-2).y),b.Y(c,a.x,b.o(c+1).y));else{var d=c,e=b.o(d),g=b.o(d-1),h=b.o(d+1);F.I(g.x,e.x)&&F.I(e.y,h.y)?(F.I(g.x,b.o(d-2).x)&&!F.I(g.y,
| b.o(d-2).y)?(b.C(d,a.x,g.y),c++,d++):b.Y(d-1,a.x,g.y),F.I(h.y,b.o(d+2).y)&&!F.I(h.x,b.o(d+2).x)?b.C(d+1,h.x,a.y):b.Y(d+1,h.x,a.y)):F.I(g.y,e.y)&&F.I(e.x,h.x)?(F.I(g.y,b.o(d-2).y)&&!F.I(g.x,b.o(d-2).x)?(b.C(d,g.x,a.y),c++,d++):b.Y(d-1,g.x,a.y),F.I(h.x,b.o(d+2).x)&&!F.I(h.y,b.o(d+2).y)?b.C(d+1,a.x,h.y):b.Y(d+1,a.x,h.y)):F.I(g.x,e.x)&&F.I(e.x,h.x)?(F.I(g.x,b.o(d-2).x)&&!F.I(g.y,b.o(d-2).y)?(b.C(d,a.x,g.y),c++,d++):b.Y(d-1,a.x,g.y),F.I(h.x,b.o(d+2).x)&&!F.I(h.y,b.o(d+2).y)?b.C(d+1,a.x,h.y):b.Y(d+1,a.x,
| h.y)):F.I(g.y,e.y)&&F.I(e.y,h.y)&&(F.I(g.y,b.o(d-2).y)&&!F.I(g.x,b.o(d-2).x)?(b.C(d,g.x,a.y),c++,d++):b.Y(d-1,g.x,a.y),F.I(h.y,b.o(d+2).y)&&!F.I(h.x,b.o(d+2).x)?b.C(d+1,h.x,a.y):b.Y(d+1,h.x,a.y));b.Y(c,a.x,a.y)}else b.Y(c,a.x,a.y),1===c&&b.computeSpot(!0).Ge()&&(e=b.aa,g=b.rd,null===e||e.bb()||(e=Og(e),e!==b.aa&&(g=e.fl(""))),d=g.ob(Hb,t.K()),e=b.getLinkPointFromPoint(e,g,d,a,!0,t.K()),b.Y(0,e.x,e.y),t.B(d),t.B(e)),c===b.oa-2&&b.computeSpot(!1).Ge()&&(c=b.ea,e=b.be,null===c||c.bb()||(c=Og(c),c!==
| b.ea&&(e=c.fl(""))),d=e.ob(Hb,t.K()),e=b.getLinkPointFromPoint(c,e,d,a,!1,t.K()),b.Y(b.oa-1,e.x,e.y),t.B(d),t.B(e));b.Mi()};yg.prototype.computeReshape=function(a){var b=this.Os,c=this.handle.vf;switch(this.handle&&this.handle.wv?this.handle.wv:zg){case Cg:return a;case Bg:return b=b.o(c),new v(b.x,a.y);case Ag:return b=b.o(c),new v(a.x,b.y);default:case zg:return b.o(c)}};t.g(yg,"originalPoint",yg.prototype.mJ);t.A(yg,{mJ:"originalPoint"},function(){return this.WC});t.g(yg,"originalPoints",yg.prototype.nJ);
| t.A(yg,{nJ:"originalPoints"},function(){return this.kz});
| function Pg(){0<arguments.length&&t.l("ResizingTool constructor cannot take any arguments.");ae.call(this);this.name="Resizing";this.zj=(new fa(1,1)).freeze();this.yj=(new fa(9999,9999)).freeze();this.jj=(new fa(NaN,NaN)).freeze();this.Nl=!1;this.hb=null;var a=new X;a.Mj=Hb;a.Jb="Rectangle";a.Ba=F.hq;a.fill="lightblue";a.stroke="dodgerblue";a.gb=1;a.cursor="pointer";this.Ck=a;this.Zb=null;this.rv=new fa;this.jz=new v;this.Hy=new fa(0,0);this.Gy=new fa(Infinity,Infinity);this.Fy=new fa(1,1);this.SC=
| !0}t.ga("ResizingTool",Pg);t.Ka(Pg,ae);Pg.prototype.updateAdornments=function(a){if(!(null===a||a instanceof U)){if(a.fb&&!this.h.ab){var b=a.JF;if(null!==b&&a.canResize()&&a.sa.N()&&a.bb()&&b.sa.N()&&b.nl()){var c=a.Xo(this.name);null===c&&(c=this.makeAdornment(b),c.ml=!0);if(null!==c){var d=b.gl();c.angle=d;var e=b.ob(c.bf,t.K()),g=b.$j();c.location=e;t.B(e);e=c.placeholder;if(null!==e){var b=b.Pa,h=t.wl();h.q(b.width*g,b.height*g);e.Ba=h;t.Yj(h)}Qg(this,c,d);a.Vk(this.name,c);return}}}a.rl(this.name)}};
| Pg.prototype.makeAdornment=function(a){var b=null,b=a.S.HF;if(null===b){b=new Ge;b.type=Rg;b.bf=Hb;var c=new Sg;c.Wi=!0;b.add(c);b.add(this.makeHandle(a,Eb));b.add(this.makeHandle(a,Gb));b.add(this.makeHandle(a,Pb));b.add(this.makeHandle(a,Lb));b.add(this.makeHandle(a,Qb));b.add(this.makeHandle(a,Vb));b.add(this.makeHandle(a,Wb));b.add(this.makeHandle(a,Ub))}else if(Ie(b),b=b.copy(),!(b instanceof Ge))return null;b.Uc=this.name;b.kc=a;return b};
| Pg.prototype.makeHandle=function(a,b){var c=this.it;if(null===c)return null;c=c.copy();c.alignment=b;return c};
| function Qg(a,b,c){if(null!==b)if(!b.alignment.Lc()&&""!==b.cursor)a:{a=b.alignment;a.Ge()&&(a=Hb);if(0>=a.x)c=0>=a.y?c+225:1<=a.y?c+135:c+180;else if(1<=a.x)0>=a.y?c+=315:1<=a.y&&(c+=45);else if(0>=a.y)c+=270;else if(1<=a.y)c+=90;else break a;0>c?c+=360:360<=c&&(c-=360);b.cursor=22.5>c?"e-resize":67.5>c?"se-resize":112.5>c?"s-resize":157.5>c?"sw-resize":202.5>c?"w-resize":247.5>c?"nw-resize":292.5>c?"n-resize":337.5>c?"ne-resize":"e-resize"}else if(b instanceof y)for(b=b.elements;b.next();)Qg(a,
| b.value,c)}t.defineProperty(Pg,{it:"handleArchetype"},function(){return this.Ck},function(a){a&&t.m(a,Q,Pg,"handleArchetype");this.Ck=a});t.A(Pg,{handle:"handle"},function(){return this.Zb});t.defineProperty(Pg,{kc:"adornedObject"},function(){return this.hb},function(a){a&&t.m(a,Q,Pg,"adornedObject");this.hb=a});Pg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;return null!==a&&!a.ab&&a.Ko&&a.R.left?null!==this.findToolHandleAt(a.Jc.da,this.name)?!0:!1:!1};
| Pg.prototype.doActivate=function(){var a=this.h;null!==a&&(this.Zb=this.findToolHandleAt(a.Jc.da,this.name),null!==this.Zb&&(this.hb=this.Zb.S.kc,this.jz.set(this.hb.S.location),this.rv.set(this.hb.Ba),this.Fy=this.computeCellSize(),this.Hy=this.computeMinSize(),this.Gy=this.computeMaxSize(),a.Fd=!0,this.SC=a.lc.isEnabled,a.lc.isEnabled=!1,this.pc(this.name),this.ia=!0))};Pg.prototype.doDeactivate=function(){var a=this.h;null!==a&&(this.fk(),this.hb=this.Zb=null,this.ia=a.Fd=!1,a.lc.isEnabled=this.SC)};
| Pg.prototype.doCancel=function(){this.hb.Ba=this.rv;this.hb.S.location=this.jz;this.stopTool()};Pg.prototype.doMouseMove=function(){var a=this.h;if(this.ia&&null!==a){var b=this.Hy,c=this.Gy,d=this.Fy,e=this.hb.yE(a.R.da,t.K()),g=Tg;this.hb instanceof X&&(g=this.hb.Dw,g===Ug&&(g=this.hb.Na.sc));b=this.computeResize(e,this.Zb.alignment,b,c,d,!(g===Vg||g===Wg||a.R.shift));this.resize(b);a.qg();t.B(e)}};
| Pg.prototype.doMouseUp=function(){var a=this.h;if(this.ia&&null!==a){var b=this.Hy,c=this.Gy,d=this.Fy,e=this.hb.yE(a.R.da,t.K()),g=Tg;this.hb instanceof X&&(g=this.hb.Dw,g===Ug&&(g=this.hb.Na.sc));b=this.computeResize(e,this.Zb.alignment,b,c,d,!(g===Vg||g===Wg||a.R.shift));this.resize(b);t.B(e);a.Kc();this.ff=this.name;a.Aa("PartResized",this.hb,this.rv)}this.stopTool()};
| Pg.prototype.resize=function(a){if(null!==this.h){var b=this.kc,c=b.S,d=b.gl(),e=b.$j(),g=Math.PI*d/180,h=Math.cos(g),g=Math.sin(g),k=0<d&&180>d?1:0,l=90<d&&270>d?1:0,d=180<d&&360>d?1:0,m=a.width-b.Pa.width,n=a.height-b.Pa.height,p=c.position.copy();p.x+=e*((a.x+m*l)*h-(a.y+n*k)*g);p.y+=e*((a.x+m*d)*g+(a.y+n*l)*h);b.Ba=a.size;c.Hf();c.move(p)}};
| Pg.prototype.computeResize=function(a,b,c,d,e,g){b.Ge()&&(b=Hb);var h=this.kc.Pa,k=h.x,l=h.y,m=h.x+h.width,n=h.y+h.height,p=1;if(!g){var p=h.width,q=h.height;0>=p&&(p=1);0>=q&&(q=1);p=q/p}q=t.K();F.dt(a.x,a.y,k,l,e.width,e.height,q);a=h.copy();0>=b.x?0>=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p<b?(a.height=p*a.width,a.y=n-a.height):
| (a.width=a.height/p,a.x=m-a.width))):1<=b.y?(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=Math.max(m-a.x,c.width),a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(b=a.height/a.width,p<b?a.height=p*a.width:(a.width=a.height/p,a.x=m-a.width))):(a.x=Math.max(q.x,m-d.width),a.x=Math.min(a.x,m-c.width),a.width=m-a.x,g||(a.height=p*a.width,a.y=l+0.5*(n-l-a.height))):1<=b.x?0>=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,
| n-c.height),a.height=Math.max(n-a.y,c.height),g||(b=a.height/a.width,p<b?(a.height=p*a.width,a.y=n-a.height):a.width=a.height/p)):1<=b.y?(a.width=Math.max(Math.min(q.x-k,d.width),c.width),a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(b=a.height/a.width,p<b?a.height=p*a.width:a.width=a.height/p)):(a.width=Math.max(Math.min(q.x-k,d.width),c.width),g||(a.height=p*a.width,a.y=l+0.5*(n-l-a.height))):0>=b.y?(a.y=Math.max(q.y,n-d.height),a.y=Math.min(a.y,n-c.height),a.height=n-a.y,g||(a.width=
| a.height/p,a.x=k+0.5*(m-k-a.width))):1<=b.y&&(a.height=Math.max(Math.min(q.y-l,d.height),c.height),g||(a.width=a.height/p,a.x=k+0.5*(m-k-a.width)));t.B(q);return a};Pg.prototype.computeMinSize=function(){var a=this.kc.Nf.copy(),b=this.Nf;!isNaN(b.width)&&b.width>a.width&&(a.width=b.width);!isNaN(b.height)&&b.height>a.height&&(a.height=b.height);return a};
| Pg.prototype.computeMaxSize=function(){var a=this.kc.He.copy(),b=this.He;!isNaN(b.width)&&b.width<a.width&&(a.width=b.width);!isNaN(b.height)&&b.height<a.height&&(a.height=b.height);return a};
| Pg.prototype.computeCellSize=function(){var a=new fa(NaN,NaN),b=this.kc.S;if(b){var c=b.IF;!isNaN(c.width)&&0<c.width&&(a.width=c.width);!isNaN(c.height)&&0<c.height&&(a.height=c.height)}c=this.$k;isNaN(a.width)&&!isNaN(c.width)&&0<c.width&&(a.width=c.width);isNaN(a.height)&&!isNaN(c.height)&&0<c.height&&(a.height=c.height);b=this.h;(isNaN(a.width)||isNaN(a.height))&&b&&(c=b.ub.Dd,null!==c&&c.np&&(c=c.vA,isNaN(a.width)&&!isNaN(c.width)&&0<c.width&&(a.width=c.width),isNaN(a.height)&&!isNaN(c.height)&&
| 0<c.height&&(a.height=c.height)),b=b.ip,null!==b&&b.visible&&this.np&&(c=b.ht,isNaN(a.width)&&!isNaN(c.width)&&0<c.width&&(a.width=c.width),isNaN(a.height)&&!isNaN(c.height)&&0<c.height&&(a.height=c.height)));if(isNaN(a.width)||0===a.width||Infinity===a.width)a.width=1;if(isNaN(a.height)||0===a.height||Infinity===a.height)a.height=1;return a};t.g(Pg,"minSize",Pg.prototype.Nf);
| t.defineProperty(Pg,{Nf:"minSize"},function(){return this.zj},function(a){this.zj.M(a)||(f&&t.m(a,fa,Pg,"minSize"),isNaN(a.width)&&(a.width=0),isNaN(a.height)&&(a.height=0),this.zj.assign(a))});t.g(Pg,"maxSize",Pg.prototype.He);t.defineProperty(Pg,{He:"maxSize"},function(){return this.yj},function(a){this.yj.M(a)||(f&&t.m(a,fa,Pg,"maxSize"),isNaN(a.width)&&(a.width=Infinity),isNaN(a.height)&&(a.height=Infinity),this.yj.assign(a))});t.g(Pg,"cellSize",Pg.prototype.$k);
| t.defineProperty(Pg,{$k:"cellSize"},function(){return this.jj},function(a){this.jj.M(a)||(f&&t.m(a,fa,Pg,"cellSize"),this.jj.assign(a))});t.g(Pg,"isGridSnapEnabled",Pg.prototype.np);t.defineProperty(Pg,{np:"isGridSnapEnabled"},function(){return this.Nl},function(a){this.Nl!==a&&(t.j(a,"boolean",Pg,"isGridSnapEnabled"),this.Nl=a)});t.g(Pg,"originalDesiredSize",Pg.prototype.kJ);t.A(Pg,{kJ:"originalDesiredSize"},function(){return this.rv});t.g(Pg,"originalLocation",Pg.prototype.lJ);
| t.A(Pg,{lJ:"originalLocation"},function(){return this.jz});function Xg(){0<arguments.length&&t.l("RotatingTool constructor cannot take any arguments.");ae.call(this);this.name="Rotating";this.wz=45;this.vz=2;this.hb=null;var a=new X;a.Jb="Ellipse";a.Ba=F.Gx;a.fill="lightblue";a.stroke="dodgerblue";a.gb=1;a.cursor="pointer";this.Ck=a;this.Zb=null;this.qv=0;this.$C=new v}t.ga("RotatingTool",Xg);t.Ka(Xg,ae);
| Xg.prototype.updateAdornments=function(a){if(!(null===a||a instanceof U)){if(a.fb&&!this.h.ab){var b=a.OF;if(null!==b&&a.canRotate()&&a.sa.N()&&a.bb()&&b.sa.N()&&b.nl()){var c=a.Xo(this.name);null===c&&(c=this.makeAdornment(b),c.ml=!0);if(null!==c){c.angle=b.gl();var d=null,e=null;b===a||b===a.fc?(d=a.fc,e=a.bf):(d=b,e=Hb);for(var g=d.Pa,e=t.gc(g.width*e.x+e.offsetX,g.height*e.y+e.offsetY);null!==d&&d!==b;)d.transform.Ra(e),d=d.ja;var d=e.y,g=Math.max(e.x-b.Pa.width,0),h=t.K();c.location=b.ob(new H(1,
| 0,50+g,d),h);t.B(h);t.B(e);a.Vk(this.name,c);return}}}a.rl(this.name)}};Xg.prototype.makeAdornment=function(a){var b=null,b=a.S.NF;if(null===b){b=new Ge;b.type=Yg;b.bf=Hb;var c=this.it;null!==c&&b.add(c.copy())}else if(Ie(b),b=b.copy(),!(b instanceof Ge))return null;b.Uc=this.name;b.kc=a;return b};t.defineProperty(Xg,{it:"handleArchetype"},function(){return this.Ck},function(a){a&&t.m(a,Q,Xg,"handleArchetype");this.Ck=a});t.A(Xg,{handle:"handle"},function(){return this.Zb});
| t.defineProperty(Xg,{kc:"adornedObject"},function(){return this.hb},function(a){a&&t.m(a,Q,Xg,"adornedObject");this.hb=a});Xg.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;return null!==a&&!a.ab&&a.Lo&&a.R.left?null!==this.findToolHandleAt(a.Jc.da,this.name)?!0:!1:!1};
| Xg.prototype.doActivate=function(){var a=this.h;if(null!==a&&(this.Zb=this.findToolHandleAt(a.Jc.da,this.name),null!==this.Zb)){this.hb=this.Zb.S.kc;var b=this.hb.S,c=b.fc;this.$C=this.hb===b||this.hb===c?c.ob(b.bf):this.hb.ob(Hb);this.qv=this.hb.angle;a.Fd=!0;a.qw=!0;this.pc(this.name);this.ia=!0}};Xg.prototype.doDeactivate=function(){var a=this.h;null!==a&&(this.fk(),this.hb=this.Zb=null,this.ia=a.Fd=!1)};Xg.prototype.doCancel=function(){var a=this.h;a&&(a.qw=!1);this.rotate(this.qv);this.stopTool()};
| Xg.prototype.doMouseMove=function(){var a=this.h;this.ia&&null!==a&&(a=this.computeRotate(a.R.da),this.rotate(a))};Xg.prototype.doMouseUp=function(){var a=this.h;if(this.ia&&null!==a){a.qw=!1;var b=this.computeRotate(a.R.da);this.rotate(b);a.Kc();this.ff=this.name;a.Aa("PartRotated",this.hb,this.qv)}this.stopTool()};Xg.prototype.rotate=function(a){f&&t.p(a,Xg,"rotate:newangle");null!==this.hb&&(this.hb.angle=a)};
| Xg.prototype.computeRotate=function(a){a=this.$C.Qi(a);var b=this.hb.ja;b&&(a-=b.gl(),360<=a?a-=360:0>a&&(a+=360));var b=Math.min(Math.abs(this.hG),180),c=Math.min(Math.abs(this.gG),b/2);!this.h.R.shift&&0<b&&0<c&&(a%b<c?a=Math.floor(a/b)*b:a%b>b-c&&(a=(Math.floor(a/b)+1)*b));360<=a?a-=360:0>a&&(a+=360);return a};t.g(Xg,"snapAngleMultiple",Xg.prototype.hG);
| t.defineProperty(Xg,{hG:"snapAngleMultiple"},function(){return this.wz},function(a){this.wz!==a&&(f&&t.j(a,"number",Xg,"snapAngleMultiple"),this.wz=a)});t.g(Xg,"snapAngleEpsilon",Xg.prototype.gG);t.defineProperty(Xg,{gG:"snapAngleEpsilon"},function(){return this.vz},function(a){this.vz!==a&&(f&&t.j(a,"number",Xg,"snapAngleEpsilon"),this.vz=a)});t.g(Xg,"originalAngle",Xg.prototype.jJ);t.A(Xg,{jJ:"originalAngle"},function(){return this.qv});
| function Zg(){0<arguments.length&&t.l("ClickSelectingTool constructor cannot take any arguments.");ae.call(this);this.name="ClickSelecting"}t.ga("ClickSelectingTool",Zg);t.Ka(Zg,ae);Zg.prototype.canStart=function(){return!this.isEnabled||null===this.h||this.isBeyondDragSize()?!1:!0};Zg.prototype.doMouseUp=function(){this.ia&&(this.standardMouseSelect(),this.standardMouseClick());this.stopTool()};
| function $g(){0<arguments.length&&t.l("ActionTool constructor cannot take any arguments.");ae.call(this);this.name="Action";this.jn=null}t.ga("ActionTool",$g);t.Ka($g,ae);$g.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a)return!1;var b=a.R,c=a.le(b.da,function(a){for(;null!==a.ja&&!a.Kw;)a=a.ja;return a},function(a){return a.Kw});return null!==c?(this.jn=c,a.tn=a.le(b.da,null,null),!0):!1};
| $g.prototype.doMouseDown=function(){if(this.ia){var a=this.h.R,b=this.jn;null!==b&&(a.Zd=b,null!==b.Rz&&b.Rz(a,b))}else this.canStart()&&this.doActivate()};$g.prototype.doMouseMove=function(){if(this.ia){var a=this.h.R,b=this.jn;null!==b&&(a.Zd=b,null!==b.Sz&&b.Sz(a,b))}};$g.prototype.doMouseUp=function(){if(this.ia){var a=this.h,b=a.R,c=this.jn;if(null===c)return;b.Zd=c;null!==c.Tz&&c.Tz(b,c);this.isBeyondDragSize()||Xe(c,b,a)}this.stopTool()};
| $g.prototype.doCancel=function(){var a=this.h;if(null!==a){var a=a.R,b=this.jn;if(null===b)return;a.Zd=b;null!==b.Qz&&b.Qz(a,b)}this.stopTool()};$g.prototype.doStop=function(){this.jn=null};function sa(){0<arguments.length&&t.l("ClickCreatingTool constructor cannot take any arguments.");ae.call(this);this.name="ClickCreating";this.gj=null;this.Sy=!0;this.rC=new v(0,0)}t.ga("ClickCreatingTool",sa);t.Ka(sa,ae);
| sa.prototype.canStart=function(){if(!this.isEnabled||null===this.Rs)return!1;var a=this.h;if(null===a||a.ab||a.Ze||!a.rm||!a.R.left||this.isBeyondDragSize())return!1;if(this.RE){if(1===a.R.Ae&&(this.rC=a.R.Ke.copy()),2!==a.R.Ae||this.isBeyondDragSize(this.rC))return!1}else if(1!==a.R.Ae)return!1;return a.Ua!==this&&null!==a.et(a.R.da,!0)?!1:!0};sa.prototype.doMouseUp=function(){var a=this.h;this.ia&&null!==a&&this.insertPart(a.R.da);this.stopTool()};
| sa.prototype.insertPart=function(a){var b=this.h;if(null===b)return null;var c=this.Rs;if(null===c)return null;this.pc(this.name);var d=null;c instanceof B?c.Gd()&&(Ie(c),d=c.copy(),d instanceof B&&b.add(d)):null!==c&&(c=b.fa.copyNodeData(c),t.tb(c)&&(b.fa.qm(c),d=b.Nh(c)));d instanceof B&&(d.location=a,b.Qe&&b.select(d));b.Kc();this.ff=this.name;b.Aa("PartCreated",d);this.fk();return d instanceof B?d:null};t.g(sa,"archetypeNodeData",sa.prototype.Rs);
| t.defineProperty(sa,{Rs:"archetypeNodeData"},function(){return this.gj},function(a){this.gj!==a&&(null!==a&&t.m(a,Object,sa,"archetypeNodeData"),this.gj=a)});t.g(sa,"isDoubleClick",sa.prototype.RE);t.defineProperty(sa,{RE:"isDoubleClick"},function(){return this.Sy},function(a){this.Sy!==a&&(t.j(a,"boolean",sa,"isDoubleClick"),this.Sy=a)});
| function ah(){0<arguments.length&&t.l("ContextMenuTool constructor cannot take any arguments.");ae.call(this);this.name="ContextMenu";this.un=this.$B=null;this.MC=new v;this.Cn=null;if(!0===t.tB){this.Cn=new Ge;this.vy=null;var a=this;this.lD=function(){a.stopTool()};if(!1===t.aE){var b=document.createElement("div"),c=document.createElement("div");b.style.cssText="top: 0px;z-index:300;position: fixed;display: none;text-align: center;left: 25%;width: 50%;background-color: #F5F5F5;padding: 16px;border: 16px solid #444;border-radius: 10px;margin-top: 10px";
| c.style.cssText="z-index:299;position: fixed;display: none;top: 0;left: 0;width: 100%;height: 100%;background-color: black;-moz-opacity: 0.8;opacity:.80;filter: alpha(opacity=80);";var d=document.createElement("style");document.getElementsByTagName("head")[0].appendChild(d);d.sheet.insertRule(".defaultCXul { list-style: none; }",0);d.sheet.insertRule(".defaultCXli {font:700 1.5em Helvetica, Arial, sans-serif;position: relative;min-width: 60px; }",0);d.sheet.insertRule(".defaultCXa {color: #444;display: inline-block;padding: 4px;text-decoration: none;margin: 2px;border: 1px solid gray;border-radius: 10px; }",
| 0);b.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);b.addEventListener("selectstart",function(a){a.preventDefault();return!1},!1);c.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);document.body&&(document.body.appendChild(b),document.body.appendChild(c));t.Xs=b;t.Ws=c;t.aE=!0}}}t.ga("ContextMenuTool",ah);t.Ka(ah,ae);
| ah.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;return null===a||this.isBeyondDragSize()||!a.R.right?!1:(null===this.Cn||a.R.event instanceof MouseEvent)&&null===this.findObjectWithContextMenu()?!1:!0};ah.prototype.doStart=function(){var a=this.h;null!==a&&this.MC.set(a.Jc.da)};ah.prototype.doStop=function(){this.hideDefaultContextMenu();this.hideContextMenu();this.un=null};
| ah.prototype.findObjectWithContextMenu=function(a){var b=this.h;if(null===b)return null;var c=b.R,d=null,d=void 0!==a?a:b.le(c.da,null,function(a){return!a.layer.uc});if(null!==d){for(a=d;null!==a;){c=a.contextMenu;if(null!==c)return a;a=a.ja}if(null!==this.Cn&&!(b.R.event instanceof MouseEvent))return d.S}else if(c=b.contextMenu,null!==c)return b;return null};ah.prototype.doActivate=function(){};
| ah.prototype.doMouseDown=function(){if(this.ia){var a=this.h;if(null!==a&&null!==this.of){var b=a.le(a.R.da,null,null);null!==b&&b.Vi(this.of)?(this.standardMouseClick(null,null),this.stopTool()):(this.stopTool(),a.Ua.doMouseDown())}}};ah.prototype.doMouseUp=function(){this.ia||this.canStart()&&Me(this,!0)};
| function Me(a,b,c){a.ia=!0;b&&a.standardMouseSelect();a.standardMouseClick();a.un=null;void 0===c&&(c=a.findObjectWithContextMenu());null!==c?(b=c.contextMenu,null!==b?(a.un=c instanceof Q?c:null,a.showContextMenu(b,a.un)):a.showDefaultContextMenu()):a.showDefaultContextMenu()}ah.prototype.doMouseMove=function(){this.ia&&this.standardMouseOver()};
| ah.prototype.showContextMenu=function(a,b){t.m(a,Ge,ah,"showContextMenu:contextmenu");null!==b&&t.m(b,Q,ah,"showContextMenu:obj");var c=this.h;if(null!==c){a!==this.of&&this.hideContextMenu();a.af="Tool";a.sl=!1;a.scale=1/c.scale;a.Uc=this.name;c.add(a);if(null!==b){var c=null,d=b.$o();null!==d&&(c=d.data);a.kc=b;a.data=c}else a.data=c.fa;a.Hf();this.positionContextMenu(a,b);this.of=a}};
| ah.prototype.positionContextMenu=function(a){var b=this.h;if(null!==b){var c=b.R.da.copy(),d=a.Ea,e=b.vb;b.R.Qw&&(c.x-=d.width);c.x+d.width>e.right&&(c.x-=d.width+5);c.x<e.x&&(c.x=e.x);c.y+d.height>e.bottom&&(c.y-=d.height+5);c.y<e.y&&(c.y=e.y);a.position=c}};ah.prototype.hideContextMenu=function(){var a=this.h;null!==a&&null!==this.of&&(this.of.data=null,this.of.kc=null,a.remove(this.of),this.of=null,this.standardMouseOver())};
| ah.prototype.initializeDefaultButtons=function(){if(null===this.h)return null;var a=new A,b=this.h.Te;a.add({text:"Copy",Ug:function(){b.copySelection()},visible:function(){return b.canCopySelection()}});a.add({text:"Cut",Ug:function(){b.cutSelection()},visible:function(){return b.canCutSelection()}});a.add({text:"Delete",Ug:function(){b.deleteSelection()},visible:function(){return b.canDeleteSelection()}});a.add({text:"Paste",Ug:function(a){b.pasteSelection(a.R.da)},visible:function(){return b.canPasteSelection()}});
| a.add({text:"Select All",Ug:function(){b.selectAll()},visible:function(){return b.canSelectAll()}});a.add({text:"Undo",Ug:function(){b.undo()},visible:function(){return b.canUndo()}});a.add({text:"Redo",Ug:function(){b.redo()},visible:function(){return b.canRedo()}});a.add({text:"Zoom To Fit",Ug:function(){b.zoomToFit()},visible:function(){return b.canZoomToFit()}});a.add({text:"Reset Zoom",Ug:function(){b.resetZoom()},visible:function(){return b.canResetZoom()}});a.add({text:"Group Selection",Ug:function(){b.groupSelection()},
| visible:function(){return b.canGroupSelection()}});a.add({text:"Ungroup Selection",Ug:function(){b.ungroupSelection()},visible:function(){return b.canUngroupSelection()}});a.add({text:"Edit Text",Ug:function(){b.editTextBlock()},visible:function(){return b.canEditTextBlock()}});return a};
| ah.prototype.showDefaultContextMenu=function(){var a=this.h;if(null!==a){null===this.vy&&(this.vy=this.initializeDefaultButtons());this.Cn!==this.of&&this.hideContextMenu();t.Xs.innerHTML="";t.Ws.addEventListener("click",this.lD,!1);var b=this,c=document.createElement("ul");c.className="defaultCXul";t.Xs.appendChild(c);c.innerHTML="";for(var d=this.vy.k;d.next();){var e=d.value,g=e.text,h=e.visible;if("function"!==typeof h||h()){h=document.createElement("li");h.className="defaultCXli";var k=document.createElement("a");
| k.className="defaultCXa";k.href="#";k.ZG=e.Ug;k.addEventListener("click",function(c){this.ZG(a);b.stopTool();c.preventDefault();return!1},!1);k.textContent=g;h.appendChild(k);c.appendChild(h)}}t.Xs.style.display="block";t.Ws.style.display="block";this.of=this.Cn}};ah.prototype.hideDefaultContextMenu=function(){null!==this.of&&this.of===this.Cn&&(t.Xs.style.display="none",t.Ws.style.display="none",t.Ws.removeEventListener("click",this.lD,!1),this.of=null)};t.g(ah,"currentContextMenu",ah.prototype.of);
| t.defineProperty(ah,{of:"currentContextMenu"},function(){return this.$B},function(a){this.$B=a});t.g(ah,"currentObject",ah.prototype.aI);t.defineProperty(ah,{aI:"currentObject"},function(){return this.un},function(a){this.un=a});t.A(ah,{rK:"mouseDownPoint"},function(){return this.MC});
| function bh(){0<arguments.length&&t.l("DragSelectingTool constructor cannot take any arguments.");ae.call(this);this.name="DragSelecting";this.Dn=175;this.DC=!1;var a=new B;a.af="Tool";a.sl=!1;var b=new X;b.name="SHAPE";b.Jb="Rectangle";b.fill=null;b.stroke="magenta";a.add(b);this.nn=a}t.ga("DragSelectingTool",bh);t.Ka(bh,ae);
| bh.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a||!a.Qe)return!1;var b=a.R;return!b.left||a.Ua!==this&&(!this.isBeyondDragSize()||b.timestamp-a.Jc.timestamp<this.pw||null!==a.et(b.da,!0))?!1:!0};bh.prototype.doActivate=function(){var a=this.h;null!==a&&(this.ia=!0,a.Fd=!0,a.Wa=!0,a.add(this.lg),this.doMouseMove())};bh.prototype.doDeactivate=function(){var a=this.h;null!==a&&(a.remove(this.lg),a.Wa=!1,this.ia=a.Fd=!1)};
| bh.prototype.doMouseMove=function(){if(null!==this.h&&this.ia&&null!==this.lg){var a=this.computeBoxBounds(),b=this.lg.ke("SHAPE");null===b&&(b=this.lg.yw());b.Ba=a.size;this.lg.position=a.position}};bh.prototype.doMouseUp=function(){if(this.ia){var a=this.h;a.remove(this.lg);try{a.Wb="wait",this.selectInRect(this.computeBoxBounds())}finally{a.Wb=""}}this.stopTool()};bh.prototype.computeBoxBounds=function(){var a=this.h;return null===a?new w(0,0,0,0):new w(a.Jc.da,a.R.da)};
| bh.prototype.selectInRect=function(a){var b=this.h;if(null!==b){var c=b.R;b.Aa("ChangingSelection");a=b.Xj(a,null,function(a){return a instanceof B&&a.canSelect()},this.WE);if(t.Om?c.Um:c.control)if(c.shift)for(a=a.k;a.next();)c=a.value,c.fb&&(c.fb=!1);else for(a=a.k;a.next();)c=a.value,c.fb=!c.fb;else{if(!c.shift){for(var d=new A(B),e=b.selection.k;e.next();)c=e.value,a.contains(c)||d.add(c);for(d=d.k;d.next();)c=d.value,c.fb=!1}for(a=a.k;a.next();)c=a.value,c.fb||(c.fb=!0)}b.Aa("ChangedSelection")}};
| t.g(bh,"delay",bh.prototype.pw);t.defineProperty(bh,{pw:"delay"},function(){return this.Dn},function(a){this.Dn=a});t.g(bh,"isPartialInclusion",bh.prototype.WE);t.defineProperty(bh,{WE:"isPartialInclusion"},function(){return this.DC},function(a){this.DC=a});t.g(bh,"box",bh.prototype.lg);t.defineProperty(bh,{lg:"box"},function(){return this.nn},function(a){this.nn=a});
| function ch(){0<arguments.length&&t.l("PanningTool constructor cannot take any arguments.");ae.call(this);this.name="Panning";this.lz=new v;this.ij=!1;var a=this;this.fD=function(){document.removeEventListener("scroll",a.fD,!1);a.stopTool()}}t.ga("PanningTool",ch);t.Ka(ch,ae);ch.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;return null===a||!a.lf&&!a.mf||!a.R.left||a.Ua!==this&&!this.isBeyondDragSize()?!1:!0};
| ch.prototype.doActivate=function(){var a=this.h;null!==a&&(this.ij?(a.R.bubbles=!0,document.addEventListener("scroll",this.fD,!1)):(a.Wb="move",a.Fd=!0,this.lz=a.position.copy()),this.ia=!0)};ch.prototype.doDeactivate=function(){var a=this.h;null!==a&&(a.Wb="",this.ia=a.Fd=!1,a.ha())};ch.prototype.doCancel=function(){var a=this.h;null!==a&&(a.position=this.lz,a.Fd=!1);this.stopTool()};ch.prototype.doMouseMove=function(){this.move()};ch.prototype.doMouseUp=function(){this.move();this.stopTool()};
| ch.prototype.move=function(){var a=this.h;if(this.ia&&a)if(this.ij)a.R.bubbles=!0;else{var b=a.position,c=a.Jc.da,d=a.R.da,e=b.x+c.x-d.x,c=b.y+c.y-d.y;a.lf||(e=b.x);a.mf||(c=b.y);a.position=new v(e,c)}};t.g(ch,"bubbles",ch.prototype.bubbles);t.defineProperty(ch,{bubbles:"bubbles"},function(){return this.ij},function(a){this.ij=a});t.g(ch,"originalPosition",ch.prototype.oJ);t.A(ch,{oJ:"originalPosition"},function(){return this.lz});
| function dh(){0<arguments.length&&t.l("TextEditingTool constructor cannot take any arguments.");ae.call(this);this.name="TextEditing";this.dC=this.Lz=this.iD=null;this.zz=eh;this.Lj=null;this.Ya=fh;this.Nk=null;var a=document.createElement("textarea");a.PB=!0;this.iC=a;a.addEventListener("input",function(){var a=this.textEditingTool.iD;a.text=this.value;gh(a,Infinity,Infinity);this.style.width=20+a.Ea.width*this.LJ+"px";this.rows=a.cF},!1);a.addEventListener("keydown",function(a){var c=a.which,d=
| this.textEditingTool;if(null!==d)if(13===c)d.acceptText(hh);else{if(9===c)return d.acceptText(ih),a.preventDefault(),!1;27===c&&(d.doCancel(),d.h&&d.h.focus())}},!1);a.addEventListener("focus",function(){var a=this.textEditingTool;a.Ya===jh?a.Ya=kh:a.Ya===lh?a.Ya=mh:a.Ya===mh&&(a.Ya=kh);this.select()},!1);a.addEventListener("blur",function(){this.focus();this.select()},!1)}t.ga("TextEditingTool",dh);t.Ka(dh,ae);var nh;dh.LostFocus=nh=t.w(dh,"LostFocus",0);var oh;
| dh.MouseDown=oh=t.w(dh,"MouseDown",1);var ih;dh.Tab=ih=t.w(dh,"Tab",2);var hh;dh.Enter=hh=t.w(dh,"Enter",3);dh.SingleClick=t.w(dh,"SingleClick",0);var eh;dh.SingleClickSelected=eh=t.w(dh,"SingleClickSelected",1);var fh=t.w(dh,"StateNone",0),jh=t.w(dh,"StateActive",1),kh=t.w(dh,"StateEditing",2),mh=t.w(dh,"StateEditing2",3),ph=t.w(dh,"StateValidating",4),lh=t.w(dh,"StateValidated",5);t.g(dh,"textBlock",dh.prototype.Dg);
| t.defineProperty(dh,{Dg:"textBlock"},function(){return this.Lz},function(a){this.Lz=a});t.g(dh,"currentTextEditor",dh.prototype.Vg);t.defineProperty(dh,{Vg:"currentTextEditor"},function(){return this.dC},function(a){this.dC=a});t.g(dh,"defaultTextEditor",dh.prototype.cE);t.defineProperty(dh,{cE:"defaultTextEditor"},function(){return this.iC},function(a){this.iC=a});t.g(dh,"starting",dh.prototype.iG);
| t.defineProperty(dh,{iG:"starting"},function(){return this.zz},function(a){this.zz!==a&&(f&&t.sb(a,dh,dh,"starting"),this.zz=a)});dh.prototype.canStart=function(){if(!this.isEnabled)return!1;var a=this.h;if(null===a||a.ab||!a.R.left||this.isBeyondDragSize())return!1;a=a.le(a.R.da,null,function(a){return a instanceof oa});if(!(a instanceof oa&&a.sw&&a.S.canEdit()))return!1;a=a.S;return null===a||this.iG===eh&&!a.fb?!1:!0};dh.prototype.doStart=function(){this.ia||null===this.Dg||this.doActivate()};
| dh.prototype.doActivate=function(){if(!this.ia){var a=this.h;if(null!==a){var b=this.Dg;null===b&&(b=a.le(a.R.da,function(a){return a instanceof oa?a:null}),b=b instanceof oa?b:null);if(null!==b&&(this.Dg=b,null!==b.S)){this.ia=!0;this.Ya=jh;var c=this.cE,d=!1;null!==b.uB&&(c=b.uB);null===c||c.PB||(d=!0);this.iD=this.Dg.copy();if(c.PB){var e=b.ob(Hb),g=a.position,h=a.scale,k=b.$j()*h,l=b.Pa.width*k;yh(b);var m=(e.x-g.x)*h,e=(e.y-g.y)*h;c.value=b.text;a.Ri.style.font=b.font;c.style.font="inherit";
| c.style.fontSize=100*k+"%";c.style.lineHeight="normal";l=20+l;c.style.width=l+"px";c.style.height="";c.rows=b.cF;a.Ri.appendChild(c);c.style.left=(m-l/2|0)+"px";c.style.top=(e-c.clientHeight/2|0)+"px";c.style.textAlign=b.textAlign}else a.Ri.appendChild(c);c.style.position="absolute";c.style.zIndex=100;c.className="start";c.textEditingTool=this;c.LJ=k;if(d&&void 0!==c.onActivate)c.onActivate();this.Vg=c;c.focus();c.select()}}}};
| dh.prototype.doCancel=function(){null!==this.Nk&&(this.Vg.style.border=this.Nk,this.Nk=null);this.stopTool()};dh.prototype.doMouseUp=function(){!this.ia&&this.canStart()&&this.doActivate()};dh.prototype.doMouseDown=function(){this.ia&&this.acceptText(oh)};
| dh.prototype.acceptText=function(a){switch(a){case oh:if(this.Ya===lh||this.Ya===mh)this.Vg.focus();else if(this.Ya===jh||this.Ya===kh)this.Ya=ph,zh(this);break;case nh:case hh:case ih:if(hh===a&&!0===this.Lz.Ow)break;if(this.Ya===jh||this.Ya===kh)this.Ya=ph,zh(this)}};
| function zh(a){if(null!==a.Dg&&null!==a.Vg){var b=a.Dg,c=a.Dg.text,d=a.Vg.value,e="",e="function"===typeof d?d():d;if(!a.isValidText(a.Dg,c,e)){a.Ya=kh;null!==b.at&&b.at(a,c,e);null===a.Nk&&(a.Nk=a.Vg.style.border,a.Vg.style.border="3px solid red");a.Vg.focus();return}a.pc(a.name);a.Ya=lh;c!==e&&(a.Dg.text=e);a.ff=a.name;b=a.h;null!==b&&b.Aa("TextEdited",a.Dg,c);a.fk();a.stopTool();null!==b&&b.focus()}null!==a.Nk&&(a.Vg.style.border=a.Nk,a.Nk=null)}
| dh.prototype.doDeactivate=function(){var a=this.h;if(null!==a){this.Ya=fh;this.Dg=null;if(null!==this.Vg){var b=this.Vg;if(void 0!==b.onDeactivate)b.onDeactivate();null!==b&&a.Ri.removeChild(b)}this.ia=!1}};dh.prototype.isValidText=function(a,b,c){t.m(a,oa,dh,"isValidText:textblock");var d=this.Vt;if(null!==d&&!d(a,b,c))return!1;d=a.Vt;return null===d||d(a,b,c)?!0:!1};t.g(dh,"textValidation",dh.prototype.Vt);
| t.defineProperty(dh,{Vt:"textValidation"},function(){return this.Lj},function(a){this.Lj!==a&&(this.Lj=a)});function Ee(){ae.call(this);this.name="ToolManager";this.NC=new A(ae);this.OC=new A(ae);this.PC=new A(ae);this.uC=this.vC=1E3;this.kC=(new fa(2,2)).Ja();this.yu=this.ty=null;this.QC=Ze}t.ga("ToolManager",Ee);t.Ka(Ee,ae);var Ze;Ee.WheelScroll=Ze=t.w(Ee,"WheelScroll",0);var Ye;Ee.WheelZoom=Ye=t.w(Ee,"WheelZoom",1);Ee.WheelNone=t.w(Ee,"WheelNone",2);t.g(Ee,"mouseWheelBehavior",Ee.prototype.Vm);
| t.defineProperty(Ee,{Vm:"mouseWheelBehavior"},function(){return this.QC},function(a){this.QC=a});Ee.prototype.initializeStandardTools=function(){this.uD=new $g;this.bB=new ef;this.fF=new yg;this.LF=new Pg;this.QF=new Xg;this.JA=new ra;this.Dd=new $e;this.jE=new bh;this.yF=new ch;this.kw=new ah;this.ux=new dh;this.LD=new sa;this.MD=new Zg};
| Ee.prototype.doMouseDown=function(){var a=this.h;if(null!==a){var b=a.ma;b.eA&&0!==b.Je&&t.trace("WARNING: In ToolManager.doMouseDown: UndoManager.transactionLevel is not zero");for(var b=this.df.length,c=0;c<b;c++){var d=this.df.wa(c);null===d.h&&d.td(this.h);if(d.canStart()){a.Ua=d;a.Ua===d&&(d.ia||d.doActivate(),d.doMouseDown());return}}1===a.R.button&&(this.Vm===Ze?this.Vm=Ye:this.Vm===Ye&&(this.Vm=Ze));this.doActivate();this.standardWaitAfter(this.wA)}};
| Ee.prototype.doMouseMove=function(){var a=this.h;if(null!==a){if(this.ia)for(var b=this.sg.length,c=0;c<b;c++){var d=this.sg.wa(c);null===d.h&&d.td(this.h);if(d.canStart()){a.Ua=d;a.Ua===d&&(d.ia||d.doActivate(),d.doMouseMove());return}}this.standardMouseOver();this.isBeyondDragSize()&&this.standardWaitAfter(this.ia?this.wA:this.IE)}};Ee.prototype.doCurrentObjectChanged=function(a,b){var c=this.dl;null===c||null!==b&&(b===c||b.Vi(c))||this.hideToolTip()};
| Ee.prototype.doWaitAfter=function(){this.h&&this.h.Sa&&(this.doMouseHover(),this.ia||this.doToolTip())};Ee.prototype.doMouseHover=function(){var a=this.h;if(null!==a){var b=a.R;null===b.Zd&&(b.Zd=a.le(b.da,null,null));var c=b.Zd;if(null!==c)for(;null!==c;){a=this.ia?c.xt:c.yt;if(null!==a&&(a(b,c),b.Ee))break;c=c.ja}else a=this.ia?a.xt:a.yt,null!==a&&a(b)}};
| Ee.prototype.doToolTip=function(){var a=this.h;if(null!==a){var b=a.R;null===b.Zd&&(b.Zd=a.le(b.da,null,null));b=b.Zd;if(null!==b){if(b!==this.dl&&!b.Vi(this.dl)){for(;null!==b;){a=b.Wt;if(null!==a){this.showToolTip(a,b);return}b=b.ja}this.hideToolTip()}}else a=a.Wt,null!==a?this.showToolTip(a,null):this.hideToolTip()}};
| Ee.prototype.showToolTip=function(a,b){t.m(a,Ge,Ee,"showToolTip:tooltip");null!==b&&t.m(b,Q,Ee,"showToolTip:obj");var c=this.h;if(null!==c){a!==this.dl&&this.hideToolTip();a.af="Tool";a.sl=!1;a.scale=1/c.scale;c.add(a);if(null!==b&&b!==this.yu){var c=null,d=b.$o();null!==d&&(c=d.data);a.kc=b;a.data=c}else null===b&&(a.data=c.fa);if(null===b||b!==this.yu)a.Hf(),this.positionToolTip(a,b);this.ty=a;this.yu=b}};
| Ee.prototype.positionToolTip=function(a){var b=this.h;if(null!==b){var c=b.R.da.copy(),d=a.Ea,e=b.vb;b.R.Qw&&(c.x-=d.width);c.x+d.width>e.right&&(c.x-=d.width+5);c.x<e.x&&(c.x=e.x);c.y=c.y+20+d.height>e.bottom?c.y-(d.height+5):c.y+20;c.y<e.y&&(c.y=e.y);a.position=c}};Ee.prototype.hideToolTip=function(){if(null!==this.dl){var a=this.h;null!==a&&(this.dl.data=null,this.dl.kc=null,a.remove(this.dl),this.yu=this.ty=null)}};t.A(Ee,{dl:"currentToolTip"},function(){return this.ty});
| Ee.prototype.doMouseUp=function(){this.cancelWaitAfter();if(this.ia){var a=this.h;if(null===a)return;for(var b=this.tg.length,c=0;c<b;c++){var d=this.tg.wa(c);null===d.h&&d.td(this.h);if(d.canStart()){a.Ua=d;a.Ua===d&&(d.ia||d.doActivate(),d.doMouseUp());return}}}this.doDeactivate()};Ee.prototype.doMouseWheel=function(){this.standardMouseWheel()};Ee.prototype.doKeyDown=function(){var a=this.h;null!==a&&a.Te.doKeyDown()};Ee.prototype.doKeyUp=function(){var a=this.h;null!==a&&a.Te.doKeyUp()};
| Ee.prototype.doCancel=function(){null!==cf&&cf.doCancel();ae.prototype.doCancel.call(this)};Ee.prototype.findTool=function(a){t.j(a,"string",Ee,"findTool:name");for(var b=this.df.length,c=0;c<b;c++){var d=this.df.wa(c);if(d.name===a)return d}b=this.sg.length;for(c=0;c<b;c++)if(d=this.sg.wa(c),d.name===a)return d;b=this.tg.length;for(c=0;c<b;c++)if(d=this.tg.wa(c),d.name===a)return d;return null};
| Ee.prototype.replaceTool=function(a,b){t.j(a,"string",Ee,"replaceTool:name");null!==b&&(t.m(b,ae,Ee,"replaceTool:newtool"),b.h&&b.h!==this.h&&t.l("Cannot share tools between Diagrams: "+b.toString()),b.td(this.h));for(var c=this.df.length,d=0;d<c;d++){var e=this.df.wa(d);if(e.name===a)return null!==b?this.df.Bg(d,b):this.df.nd(d),e}c=this.sg.length;for(d=0;d<c;d++)if(e=this.sg.wa(d),e.name===a)return null!==b?this.sg.Bg(d,b):this.sg.nd(d),e;c=this.tg.length;for(d=0;d<c;d++)if(e=this.tg.wa(d),e.name===
| a)return null!==b?this.tg.Bg(d,b):this.tg.nd(d),e;return null};function Ah(a,b,c,d){t.j(b,"string",Ee,"replaceStandardTool:name");t.m(d,A,Ee,"replaceStandardTool:list");null!==c&&(t.m(c,ae,Ee,"replaceStandardTool:newtool"),c.h&&c.h!==a.h&&t.l("Cannot share tools between Diagrams: "+c.toString()),c.name=b,c.td(a.h));a.findTool(b)?a.replaceTool(b,c):null!==c&&d.add(c)}t.A(Ee,{df:"mouseDownTools"},function(){return this.NC});t.A(Ee,{sg:"mouseMoveTools"},function(){return this.OC});
| t.A(Ee,{tg:"mouseUpTools"},function(){return this.PC});t.g(Ee,"hoverDelay",Ee.prototype.IE);t.defineProperty(Ee,{IE:"hoverDelay"},function(){return this.vC},function(a){this.vC=a});t.g(Ee,"holdDelay",Ee.prototype.wA);t.defineProperty(Ee,{wA:"holdDelay"},function(){return this.uC},function(a){this.uC=a});t.g(Ee,"dragSize",Ee.prototype.kE);t.defineProperty(Ee,{kE:"dragSize"},function(){return this.kC},function(a){this.kC=a});t.g(Ee,"actionTool",Ee.prototype.uD);
| t.defineProperty(Ee,{uD:"actionTool"},function(){return this.findTool("Action")},function(a){Ah(this,"Action",a,this.df)});t.g(Ee,"relinkingTool",Ee.prototype.bB);t.defineProperty(Ee,{bB:"relinkingTool"},function(){return this.findTool("Relinking")},function(a){Ah(this,"Relinking",a,this.df)});t.g(Ee,"linkReshapingTool",Ee.prototype.fF);t.defineProperty(Ee,{fF:"linkReshapingTool"},function(){return this.findTool("LinkReshaping")},function(a){Ah(this,"LinkReshaping",a,this.df)});
| t.g(Ee,"resizingTool",Ee.prototype.LF);t.defineProperty(Ee,{LF:"resizingTool"},function(){return this.findTool("Resizing")},function(a){Ah(this,"Resizing",a,this.df)});t.g(Ee,"rotatingTool",Ee.prototype.QF);t.defineProperty(Ee,{QF:"rotatingTool"},function(){return this.findTool("Rotating")},function(a){Ah(this,"Rotating",a,this.df)});t.g(Ee,"linkingTool",Ee.prototype.JA);t.defineProperty(Ee,{JA:"linkingTool"},function(){return this.findTool("Linking")},function(a){Ah(this,"Linking",a,this.sg)});
| t.g(Ee,"draggingTool",Ee.prototype.Dd);t.defineProperty(Ee,{Dd:"draggingTool"},function(){return this.findTool("Dragging")},function(a){Ah(this,"Dragging",a,this.sg)});t.g(Ee,"dragSelectingTool",Ee.prototype.jE);t.defineProperty(Ee,{jE:"dragSelectingTool"},function(){return this.findTool("DragSelecting")},function(a){Ah(this,"DragSelecting",a,this.sg)});t.g(Ee,"panningTool",Ee.prototype.yF);
| t.defineProperty(Ee,{yF:"panningTool"},function(){return this.findTool("Panning")},function(a){Ah(this,"Panning",a,this.sg)});t.g(Ee,"contextMenuTool",Ee.prototype.kw);t.defineProperty(Ee,{kw:"contextMenuTool"},function(){return this.findTool("ContextMenu")},function(a){Ah(this,"ContextMenu",a,this.tg)});t.g(Ee,"textEditingTool",Ee.prototype.ux);t.defineProperty(Ee,{ux:"textEditingTool"},function(){return this.findTool("TextEditing")},function(a){Ah(this,"TextEditing",a,this.tg)});
| t.g(Ee,"clickCreatingTool",Ee.prototype.LD);t.defineProperty(Ee,{LD:"clickCreatingTool"},function(){return this.findTool("ClickCreating")},function(a){Ah(this,"ClickCreating",a,this.tg)});t.g(Ee,"clickSelectingTool",Ee.prototype.MD);t.defineProperty(Ee,{MD:"clickSelectingTool"},function(){return this.findTool("ClickSelecting")},function(a){Ah(this,"ClickSelecting",a,this.tg)});
| function Bh(){this.aH=Ch;this.U=null;new la;this.Fn=this.Gn=null;this.Sk=this.SB=this.ed=this.Xy=this.rj=!1;this.Me=!0;this.bC=this.aC=null;this.qy=0;this.Cy=600;this.hH=new v(0,0);this.UB=this.TB=this.pD=!1;this.no=new la}function Ch(a,b,c,d){a/=d/2;return 1>a?c/2*a*a+b:-c/2*(--a*(a-2)-1)+b}Bh.prototype.prepareAnimation=Bh.prototype.Kp=function(){this.Me&&!this.Sk&&(this.rj&&this.Yp(),this.ed=!0,this.SB=!1)};
| function Dh(a){a.Me&&requestAnimationFrame(function(){!1!==a.ed&&(a.ed=!1,a.U.Aa("AnimationStarting"),Eh(a))})}function Fh(a,b,c,d){if(a.ed&&(f&&(b instanceof Q||t.l("addToAnimation:object must be a GraphObject.")),!(b instanceof B)||b.yA)){var e=a.no,g;e.contains(b)?(b=e.ya(b),a=b[0],g=b[1],void 0===a.position&&(a.position=Gh(c)),g.position=Gh(d)):(a={},g={},a.position=Gh(c),g.position=Gh(d),e.add(b,[a,g]))}}function Gh(a){return a instanceof v?a.copy():a instanceof fa?a.copy():a}
| function Eh(a){var b,c=a.U;if(null!==c)if(0===a.no.count)a.rj=!1,c.qg();else{a.rj=!0;b||(b={});var d=b.iK||a.aH,e=b.tK||null,g=b.uK||null,h=b.duration||a.Cy;b=a.no.k;for(var k=a.hH;b.next();){var l=b.value[0].position;l&&!l.N()&&l.assign(k)}a.aC=d;a.bC=g;a.qy=h;var m=a.$G=a.no,n=null!==a.Gn&&null!==a.Fn;Hh(a);Ih(a,c,m,d,0,h,n);Jh(a.U);Kh(a);requestAnimationFrame(function(b){var k=b||+new Date,l=k+h,s;(function x(b){!1!==a.rj&&(s=b||+new Date,b=s>l?h:s-k,Hh(a),Ih(a,c,m,d,b,h,n),e&&e(),Jh(c),Kh(a),
| s>l?Lh(a,g):requestAnimationFrame(x))})(k)})}}var Mh={opacity:function(a,b,c,d,e,g){a.opacity=d(e,b,c-b,g)},position:function(a,b,c,d,e,g){e!==g?a.bG(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g)):a.position=new v(d(e,b.x,c.x-b.x,g),d(e,b.y,c.y-b.y,g))},scale:function(a,b,c,d,e,g){a.scale=d(e,b,c-b,g)},visible:function(a,b,c,d,e,g){a.visible=e!==g?b:c}};function Hh(a){var b=a.U;a.pD=b.Wa;a.TB=b.Rt;a.UB=b.uo;b.Wa=!0;b.Rt=!0;b.uo=!0;a.Xy=!0}function Kh(a){var b=a.U;b.Wa=a.pD;b.Rt=a.TB;b.uo=a.UB;a.Xy=!1}
| function Ih(a,b,c,d,e,g,h){for(c=c.k;c.next();){var k=c.key,l=c.value,m=l[0],l=l[1],n;for(n in l)if(void 0!==Mh[n])Mh[n](k,m[n],l[n],d,e,g)}h&&(h=a.Gn,a=a.Fn,n=a.y-h.y,a=d(e,h.x,a.x-h.x,g),d=d(e,h.y,n,g),e=b.Tb,b.Tb=!0,b.position=new v(a,d),b.Tb=e)}Bh.prototype.stopAnimation=Bh.prototype.Yp=function(){!0===this.ed&&(this.ed=!1,this.SB&&this.U.re());if(this.rj&&this.Me){var a=null!==this.Gn&&null!==this.Fn;Hh(this);Ih(this,this.U,this.$G,this.aC,this.qy,this.qy,a);Kh(this);Lh(this,this.bC)}};
| function Lh(a,b){a.rj=!1;a.Gn=null;a.Fn=null;a.no=new la;Hh(a);for(var c=a.U.links;c.next();){var d=c.value;null!==d.to&&(d.points=d.to,d.to=null)}c=a.U;c.Kc();c.qg();Kh(a);b&&b();c.Aa("AnimationFinished")}function Nh(a,b,c){var d=b.sa,e=c.sa;c instanceof T&&c.placeholder?(c=c.placeholder,d=c.ob(Eb),d.x+=c.padding.left,d.y+=c.padding.top,Fh(a,b,d,b.position)):Fh(a,b,new v(e.x+e.width/2-d.width/2,e.y+e.height/2-d.height/2),b.position)}
| function Oh(a,b,c){a.ed&&(null===a.Gn&&b.N()&&null===a.Fn&&(a.Gn=b.copy()),a.Fn=c.copy())}t.g(Bh,"isEnabled",Bh.prototype.isEnabled);t.defineProperty(Bh,{isEnabled:"isEnabled"},function(){return this.Me},function(a){this.Me=a});t.g(Bh,"duration",Bh.prototype.duration);t.defineProperty(Bh,{duration:"duration"},function(){return this.Cy},function(a){f&&t.j(a,"number",Bh,"duration");1>a&&t.ka(a,">= 1",Bh,"duration");this.Cy=a});t.A(Bh,{bk:"isAnimating"},function(){return this.rj});
| function $d(){1<arguments.length&&t.l("Layer constructor cannot take any arguments.");t.wc(this);this.U=null;this.zb=new A(B);this.Vb="";this.Df=1;this.Wy=!1;this.Ok=this.Pz=this.sk=this.rk=this.qk=this.pk=this.nk=this.ok=this.mk=this.uk=this.lk=this.tk=this.kk=this.jk=!0;this.Qy=!1;this.sv=[]}t.ga("Layer",$d);$d.prototype.td=function(a){this.U=a};
| $d.prototype.toString=function(a){void 0===a&&(a=0);var b='Layer "'+this.name+'"';if(0>=a)return b;for(var c=0,d=0,e=0,g=0,h=0,k=this.zb.k;k.next();){var l=k.value;l instanceof T?e++:l instanceof S?d++:l instanceof U?g++:l instanceof Ge?h++:c++}k="";0<c&&(k+=c+" Parts ");0<d&&(k+=d+" Nodes ");0<e&&(k+=e+" Groups ");0<g&&(k+=g+" Links ");0<h&&(k+=h+" Adornments ");if(1<a)for(c=this.zb.k;c.next();)d=c.value,k+="\n "+d.toString(a-1),(e=d.data)&&t.ld(e)&&(k+=" #"+t.ld(e)),d instanceof S?k+=" "+xd(e):
| d instanceof U&&(k+=" "+xd(d.aa)+" "+xd(d.ea));return b+" "+this.zb.count+": "+k};
| $d.prototype.findObjectAt=$d.prototype.le=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);if(!1===this.Ok)return null;f&&!a.N()&&t.l("findObjectAt: Point must have a real value.");var d=this.zb,e=!1;this.h.vb.Ga(a)&&(e=!0);for(var g=t.K(),h=d.length;h--;){var k=d.wa(h);if((!0!==e||!1!==Ph(k))&&k.bb()&&(g.assign(a),Qa(g,k.ie),k=k.le(g,b,c),null!==k&&(null!==b&&(k=b(k)),k&&(null===c||c(k)))))return t.B(g),k}t.B(g);return null};
| $d.prototype.findObjectsAt=$d.prototype.Yo=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof A||d instanceof na||(d=new na(Q));if(!1===this.Ok)return d;f&&!a.N()&&t.l("findObjectsAt: Point must have a real value.");var e=this.zb,g=!1;this.h.vb.Ga(a)&&(g=!0);for(var h=t.K(),k=e.length;k--;){var l=e.wa(k);!0===g&&!1===Ph(l)||!l.bb()||(h.assign(a),Qa(h,l.ie),l.Yo(h,b,c,d)&&(null!==b&&(l=b(l)),l&&(null===c||c(l))&&d.add(l)))}t.B(h);return d};
| $d.prototype.findObjectsIn=$d.prototype.Xj=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof A||e instanceof na||(e=new na(Q));if(!1===this.Ok)return e;f&&!a.N()&&t.l("findObjectsIn: Rect must have a real value.");var g=this.zb,h=!1;this.h.vb.Rj(a)&&(h=!0);for(var k=g.length,g=g.n;k--;){var l=g[k];(!0!==h||!1!==Ph(l))&&l.bb()&&l.Xj(a,b,c,d,e)&&(null!==b&&(l=b(l)),l&&(null===c||c(l))&&e.add(l))}return e};
| $d.prototype.nA=function(a,b,c,d,e,g,h){if(!1===this.Ok)return e;for(var k=this.zb,l=k.length,k=k.n;l--;){var m=k[l];(!0!==h||!1!==Ph(m))&&g(m)&&m.bb()&&m.Xj(a,b,c,d,e)&&(null!==b&&(m=b(m)),m&&(null===c||c(m))&&e.add(m))}return e};
| $d.prototype.findObjectsNear=$d.prototype.Jm=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof A||e instanceof na)g=e;e=!0}g instanceof A||g instanceof na||(g=new na(Q));if(!1===this.Ok)return g;f&&!a.N()&&t.l("findObjectsNear: Point must have a real value.");var h=this.zb,k=!1;this.h.vb.Ga(a)&&(k=!0);for(var l=t.K(),m=t.K(),n=h.length;n--;){var p=h.n[n];!0===k&&!1===Ph(p)||!p.bb()||(l.assign(a),Qa(l,p.ie),m.q(a.x+b,a.y),Qa(m,p.ie),
| p.Jm(l,m,c,d,e,g)&&(null!==c&&(p=c(p)),p&&(null===d||d(p))&&g.add(p)))}t.B(l);t.B(m);return g};aa=$d.prototype;aa.Rf=function(a,b){if(this.visible&&a.Gk){var c=this.zb,d;d=b?b:a.vb;for(var e=c.length,g=0;g<e;g++){var h=c.n[g];h.fH=g;if(!(h instanceof U&&!1===h.Sg||h instanceof Ge&&null!==h.Jh))if(eb(h.sa,d))for(h.Rf(!0),Qh(h),h=h.Xv;h.next();){var k=h.value;gh(k,Infinity,Infinity);k.Hc();k.Rf(!0)}else h.Rf(!1),null!==h.Xv&&0<h.Xv.count&&Qh(h)}}};
| aa.Ve=function(a,b,c,d){if(this.visible&&(void 0===d&&(d=!0),d||!this.uc)){1!==this.Df&&(a.globalAlpha=this.Df);c=this.zb;d=this.sv;d.length=0;for(var e=b.scale,g=c.length,h=0;h<g;h++){var k=c.n[h];if(Ph(k)){if(k instanceof U&&(k.dc&&d.push(k),!1===k.Sg))continue;var l=k.sa;1<l.width*e||1<l.height*e?k.Ve(a,b):Rh(k,a)}}a.globalAlpha=1}};
| function Sh(a,b,c,d){if(a.visible){b.globalAlpha=a.Df;var e=a.zb;a=a.sv;a.length=0;for(var g=c.scale,h=e.length,k=d.length,l=0;l<h;l++){var m=e.n[l];if(Ph(m)){if(m instanceof U&&(m.dc&&a.push(m),!1===m.Sg))continue;var n=Th(m,m.sa),p;a:{p=n;for(var q=d,r=k,s=2/g,u=4/g,x=0;x<r;x++){var E=q[x];if(0!==E[2]&&0!==E[3]&&p.PE(E[0]-s,E[1]-s,E[2]+u,E[3]+u)){p=!0;break a}}p=!1}p&&(1<n.width*g||1<n.height*g?m.Ve(b,c):Rh(m,b))}}b.globalAlpha=1}}
| aa.i=function(a,b,c,d,e){var g=this.h;null!==g&&g.Xc(ud,a,this,b,c,d,e)};aa.kp=function(a,b,c){var d=this.zb;b.co=this;if(a>=d.count)a=d.count;else if(d.wa(a)===b)return-1;d.Ed(a,b);b.lt(c);d=this.h;null!==d&&(c?d.ha():d.kp(b));b instanceof T&&this.px(b);return a};aa.Xe=function(a,b,c){var d=this.zb;if(0>a||a>=d.length){if(a=d.indexOf(b),0>a)return-1}else if(d.wa(a)!==b&&(a=d.indexOf(b),0>a))return-1;b.mt(c);d.nd(a);d=this.h;null!==d&&(c?d.ha():d.Xe(b));b.co=null;return a};
| aa.px=function(a){for(;null!==a;){if(a.layer===this){var b=a;if(b.Vc.next()){for(var c=-1,d=-1,e=this.zb.n,g=e.length,h=0;h<g;h++){var k=e[h];if(k===b&&(c=h,0<=d))break;if(0>d&&k.mb===b&&(d=h,0<=c))break}!(0>d)&&d<c&&(e=this.zb,e.nd(c),e.Ed(d,b))}}a=a.mb}};aa.clear=function(){for(var a=this.zb.Ie(),b=a.length,c=0;c<b;c++)a[c].Rf(!1),this.Xe(-1,a[c],!1)};t.A($d,{Jp:"parts"},function(){return this.zb.k});t.A($d,{xK:"partsBackwards"},function(){return this.zb.Qm});t.A($d,{h:"diagram"},function(){return this.U});
| t.g($d,"name",$d.prototype.name);t.defineProperty($d,{name:"name"},function(){return this.Vb},function(a){t.j(a,"string",$d,"name");var b=this.Vb;if(b!==a){var c=this.h;if(null!==c)for(""===b&&t.l("Cannot rename default Layer to: "+a),c=c.Tw;c.next();)c.value.name===a&&t.l("Layer.name is already present in this diagram: "+a);this.Vb=a;this.i("name",b,a);for(a=this.zb.k;a.next();)a.value.af=this.Vb}});t.g($d,"opacity",$d.prototype.opacity);
| t.defineProperty($d,{opacity:"opacity"},function(){return this.Df},function(a){var b=this.Df;b!==a&&(t.j(a,"number",$d,"opacity"),(0>a||1<a)&&t.ka(a,"0 <= val <= 1",$d,"opacity"),this.Df=a,this.i("opacity",b,a),a=this.h,null!==a&&a.ha())});t.g($d,"isTemporary",$d.prototype.uc);t.defineProperty($d,{uc:"isTemporary"},function(){return this.Wy},function(a){var b=this.Wy;b!==a&&(t.j(a,"boolean",$d,"isTemporary"),this.Wy=a,this.i("isTemporary",b,a))});t.g($d,"visible",$d.prototype.visible);
| t.defineProperty($d,{visible:"visible"},function(){return this.Pz},function(a){var b=this.Pz;if(b!==a){t.j(a,"boolean",$d,"visible");this.Pz=a;this.i("visible",b,a);for(b=this.zb.k;b.next();)b.value.Th(a);a=this.h;null!==a&&a.ha()}});t.g($d,"pickable",$d.prototype.uf);t.defineProperty($d,{uf:"pickable"},function(){return this.Ok},function(a){var b=this.Ok;b!==a&&(t.j(a,"boolean",$d,"pickable"),this.Ok=a,this.i("pickable",b,a))});t.g($d,"isBoundsIncluded",$d.prototype.zA);
| t.defineProperty($d,{zA:"isBoundsIncluded"},function(){return this.Qy},function(a){this.Qy!==a&&(this.Qy=a,null!==this.h&&this.h.Kc())});t.g($d,"allowCopy",$d.prototype.Hi);t.defineProperty($d,{Hi:"allowCopy"},function(){return this.jk},function(a){var b=this.jk;b!==a&&(t.j(a,"boolean",$d,"allowCopy"),this.jk=a,this.i("allowCopy",b,a))});t.g($d,"allowDelete",$d.prototype.Yk);
| t.defineProperty($d,{Yk:"allowDelete"},function(){return this.kk},function(a){var b=this.kk;b!==a&&(t.j(a,"boolean",$d,"allowDelete"),this.kk=a,this.i("allowDelete",b,a))});t.g($d,"allowTextEdit",$d.prototype.Mo);t.defineProperty($d,{Mo:"allowTextEdit"},function(){return this.tk},function(a){var b=this.tk;b!==a&&(t.j(a,"boolean",$d,"allowTextEdit"),this.tk=a,this.i("allowTextEdit",b,a))});t.g($d,"allowGroup",$d.prototype.Io);
| t.defineProperty($d,{Io:"allowGroup"},function(){return this.lk},function(a){var b=this.lk;b!==a&&(t.j(a,"boolean",$d,"allowGroup"),this.lk=a,this.i("allowGroup",b,a))});t.g($d,"allowUngroup",$d.prototype.No);t.defineProperty($d,{No:"allowUngroup"},function(){return this.uk},function(a){var b=this.uk;b!==a&&(t.j(a,"boolean",$d,"allowUngroup"),this.uk=a,this.i("allowUngroup",b,a))});t.g($d,"allowLink",$d.prototype.sm);
| t.defineProperty($d,{sm:"allowLink"},function(){return this.mk},function(a){var b=this.mk;b!==a&&(t.j(a,"boolean",$d,"allowLink"),this.mk=a,this.i("allowLink",b,a))});t.g($d,"allowRelink",$d.prototype.Oj);t.defineProperty($d,{Oj:"allowRelink"},function(){return this.ok},function(a){var b=this.ok;b!==a&&(t.j(a,"boolean",$d,"allowRelink"),this.ok=a,this.i("allowRelink",b,a))});t.g($d,"allowMove",$d.prototype.Nj);
| t.defineProperty($d,{Nj:"allowMove"},function(){return this.nk},function(a){var b=this.nk;b!==a&&(t.j(a,"boolean",$d,"allowMove"),this.nk=a,this.i("allowMove",b,a))});t.g($d,"allowReshape",$d.prototype.Jo);t.defineProperty($d,{Jo:"allowReshape"},function(){return this.pk},function(a){var b=this.pk;b!==a&&(t.j(a,"boolean",$d,"allowReshape"),this.pk=a,this.i("allowReshape",b,a))});t.g($d,"allowResize",$d.prototype.Ko);
| t.defineProperty($d,{Ko:"allowResize"},function(){return this.qk},function(a){var b=this.qk;b!==a&&(t.j(a,"boolean",$d,"allowResize"),this.qk=a,this.i("allowResize",b,a))});t.g($d,"allowRotate",$d.prototype.Lo);t.defineProperty($d,{Lo:"allowRotate"},function(){return this.rk},function(a){var b=this.rk;b!==a&&(t.j(a,"boolean",$d,"allowRotate"),this.rk=a,this.i("allowRotate",b,a))});t.g($d,"allowSelect",$d.prototype.Qe);
| t.defineProperty($d,{Qe:"allowSelect"},function(){return this.sk},function(a){var b=this.sk;b!==a&&(t.j(a,"boolean",$d,"allowSelect"),this.sk=a,this.i("allowSelect",b,a))});
| function z(a){function b(){document.removeEventListener("DOMContentLoaded",b,!1);Uh(c)}1<arguments.length&&t.l("Diagram constructor can only take one optional argument, the DIV HTML element or its id.");t.wc(this);t.iE=[];this.Tb=!0;this.Wf=new Bh;this.Wf.U=this;this.kf=17;var c=this;null!==document.body?Uh(this):document.addEventListener("DOMContentLoaded",b,!1);this.Ub=new A($d);this.xc=this.yc=0;this.Gb=this.mj=this.Sa=null;this.Rk={};this.EF();this.Ma=(new v(NaN,NaN)).freeze();this.ic=1;this.Pu=
| (new v(NaN,NaN)).freeze();this.Qu=NaN;this.dv=1E-4;this.av=100;this.hd=new ga;this.Uv=(new v(NaN,NaN)).freeze();this.Hu=(new w(NaN,NaN,NaN,NaN)).freeze();this.Bl=Ke;this.sn=xb;this.Fk=Ke;this.Sn=xb;this.Ru=this.Ou=Eb;this.ag=new na(Q);this.Le=!0;this.En=new la(U,w);this.Hn=!0;this.XG=250;this.Cl=null;this.ou=(new ab(16,16,16,16)).freeze();this.Bu=this.Ff=!1;this.Ln=!0;this.Ak=new qd;this.Ad=new qd;this.$b=new qd;this.kj=null;this.Kv=-1;this.Bz=!1;this.zy=new la("string",A);this.yy=new la("string",
| "string");Vh(this);this.nv=new na(S);this.Tk=new na(T);this.Xu=new na(U);this.zb=new na(B);this.Tu=!0;this.xC=!1;this.Rv=ag;this.tj=10;this.sy=this.wy=this.Pv=null;this.py="";this.Kq="auto";this.gi=this.Di=this.qi=this.gv=this.ri=this.si=this.ti=this.fi=this.ji=this.di=null;this.li=!0;this.ez=!1;this.gy=null;this.kn=this.xy=this.uo=this.cD=this.Ai=!1;this.EC=!0;this.xd=!1;this.ge=null;var d=this;this.KC=function(a){if(a.fa===d.fa&&d.Ta){d.Ta=!1;try{var b=a.qd;""===a.tf&&b===ud&&Wh(d,a.object,a.propertyName)}finally{d.Ta=
| !0}}};this.LC=function(a){Xh(d,a)};this.rD=!0;this.hi=new la(Object,B);this.xk=new la(Object,U);this.Rl=new la(Object,Array);this.Hk=!1;this.kk=this.jk=this.cu=this.Me=!0;this.eu=this.du=!1;this.ju=this.hu=this.sk=this.rk=this.qk=this.pk=this.nk=this.ok=this.mk=this.gu=this.uk=this.lk=this.tk=!0;this.Wn=this.CC=!1;this.iu=this.fu=this.Mu=this.Lu=!0;this.Bv=this.Av=16;this.rz=this.zv=!1;this.tz=this.sz=this.Ij=this.Hj=null;this.Oe=(new ab(5)).freeze();this.Ev=(new na(B)).freeze();this.bv=999999999;
| this.Nu=(new na(B)).freeze();this.Gk=this.qj=this.mi=!0;this.Ll=this.Kl=!1;this.Py=this.Oy=0;this.Ld=null;this.ku=!0;this.Af=!1;this.Od=null;this.am=1;this.On=!1;this.eD=0;this.jo=null;this.qD=(new w(NaN,NaN,NaN,NaN)).freeze();this.Cu=(new w(NaN,NaN,NaN,NaN)).freeze();this.bm=new na;Yh(this);this.Wu=this.Ju=this.mv=this.fC=this.eC=this.gC=this.uj=this.Bk=this.ui=null;Zh(this);this.cd=null;this.Iu=!1;this.tn=null;this.ub=new Ee;this.ub.initializeStandardTools();this.Ua=this.ow=this.ub;this.Te=new qa;
| this.fa=new P;this.Ai=!0;this.ec=new be;this.Ai=!1;void 0===a&&(a=document.createElement("div"));this.pC=this.By=null;this.Oz=!0;this.qz=!1;this.oj=null;this.Dk=new $h;ai(this,a);this.Tl=1;this.Ul=0;this.HC=new v;this.nD=500;this.nu=new v;this.rs=null;this.Tb=!1}t.ga("Diagram",z);
| function Zh(a){a.ui=new la("string",B);var b=new S,c=new oa;c.bind(new Ae("text","",xd));b.add(c);a.gC=b;a.ui.add("",b);b=new S;c=new oa;c.stroke="brown";c.bind(new Ae("text","",xd));b.add(c);a.ui.add("Comment",b);b=new S;b.sl=!1;b.bA=!1;c=new X;c.Jb="Ellipse";c.fill="black";c.stroke=null;c.Ba=(new fa(3,3)).Ja();b.add(c);a.ui.add("LinkLabel",b);a.Bk=new la("string",T);b=new T;b.mx="GROUPPANEL";b.type=bi;c=new oa;c.font="bold 12pt sans-serif";c.bind(new Ae("text","",xd));b.add(c);c=new y(ci);c.name=
| "GROUPPANEL";var d=new X;d.Jb="Rectangle";d.fill="rgba(128,128,128,0.2)";d.stroke="black";c.add(d);d=new Sg;d.padding=(new ab(5,5,5,5)).Ja();c.add(d);b.add(c);a.eC=b;a.Bk.add("",b);a.uj=new la("string",U);b=new U;c=new X;c.Wi=!0;b.add(c);c=new X;c.dn="Standard";c.fill="black";c.stroke=null;c.gb=0;b.add(c);a.fC=b;a.uj.add("",b);b=new U;c=new X;c.Wi=!0;c.stroke="brown";b.add(c);a.uj.add("Comment",b);b=new Ge;b.type=ci;c=new X;c.fill=null;c.stroke="dodgerblue";c.gb=3;b.add(c);c=new Sg;c.margin=(new ab(1.5,
| 1.5,1.5,1.5)).Ja();b.add(c);a.mv=b;a.Ju=b;b=new Ge;b.type=tg;c=new X;c.Wi=!0;c.fill=null;c.stroke="dodgerblue";c.gb=3;b.add(c);a.Wu=b}
| function Uh(a){var b=document.createElement("p");b.style.width="100%";b.style.height="200px";var c=document.createElement("div");c.style.position="absolute";c.style.visibility="hidden";c.style.width="200px";c.style.height="150px";c.style.overflow="hidden";c.appendChild(b);document.body.appendChild(c);var d=b.offsetWidth;c.style.overflow="scroll";b=b.offsetWidth;d===b&&(b=c.clientWidth);document.body.removeChild(c);a.kf=d-b}
| z.prototype.toString=function(a){void 0===a&&(a=0);var b="";this.id&&(b=this.id);this.Ri&&this.Ri.id&&(b=this.Ri.id);b='Diagram "'+b+'"';if(0>=a)return b;for(var c=this.Ub.k;c.next();)b+="\n "+c.value.toString(a-1);return b};z.prototype.checkProperties=function(){return t.SH(this)};z.fromDiv=function(a){var b=a;"string"===typeof a&&(b=document.getElementById(a));return b instanceof HTMLDivElement&&b.U instanceof z?b.U:null};t.g(z,"div",z.prototype.Ri);
| t.defineProperty(z,{Ri:"div"},function(){return this.Gb},function(a){null!==a&&t.m(a,HTMLDivElement,z,"div");if(this.Gb!==a){var b=this.Gb;if(null!==b){b.U=void 0;b.innerHTML="";null!==this.Sa&&(this.Sa.U=null,this.Sa.removeEventListener("touchstart",this.sG,!1),this.Sa.removeEventListener("touchmove",this.rG,!1),this.Sa.removeEventListener("touchend",this.qG,!1));b=this.Pv;if(null!==b){for(var c=b.NC.n,d=c.length,e=0;e<d;e++)c[e].cancelWaitAfter();c=b.OC.n;d=c.length;for(e=0;e<d;e++)c[e].cancelWaitAfter();
| c=b.PC.n;d=c.length;for(e=0;e<d;e++)c[e].cancelWaitAfter()}b.cancelWaitAfter();this.mj=this.Sa=null;window.removeEventListener("resize",this.MG,!1);window.removeEventListener("mousemove",this.Bp,!0);window.removeEventListener("mousedown",this.Ap,!0);window.removeEventListener("mouseup",this.Dp,!0);window.removeEventListener("mousewheel",this.Xg,!0);window.removeEventListener("DOMMouseScroll",this.Xg,!0);window.removeEventListener("mouseout",this.Cp,!0);null!==this.jo&&(this.jo=this.jo.target=null)}else this.Af=
| !1;this.Gb=null;if(null!==a){if(b=a.U)b.Ri=null;ai(this,a);this.aB()}}});function $h(){this.mH="63ad05bbe23a1786468a4c741b6d2";this.mH===this._tk?this.kh=!0:di(this,!1)}
| function di(a,b){var c="p",d=window[t.Da("76a715b2f73f148a")][t.Da("72ba13b5")];if(t.Da("77bb5bb2f32603de")===window[t.Da("76a715b2f73f148a")][t.Da("6aba19a7ec351488")])try{a.kh=!window[t.Da("4da118b7ec2108")]([t.Da("5bb806bfea351a904a84515e1b6d38b6")])([t.Da("49bc19a1e6")])([t.Da("59bd04a1e6380fa5539b")])([t.Da("7bb8069ae7")]===t.Da(t.Yv));if(!1===a.kh)return;a.kh=!window[t.Da("4da118b7ec2108")]([t.Da("5bb806bfea351a904a84515e1b6d38b6")])([t.Da("49bc19a1e6")])([t.Da("59bd04a1e6380fa5539b6c7a197c31bb4cfd3e")])([t.Da("7bb8069ae7")]===
| t.Da(t.Yv));if(!1===a.kh)return}catch(e){}for(var g=d[t.Da("76ad18b4f73e")],h=d[t.Da("73a612b6fb191d")](t.Da("35e7"))+2;h<g;h++)c+=d[h];d=c[t.Da("73a612b6fb191d")](t.Da(t.Yv));0>=d&&t.Da(t.Yv)!==t.Da("7da71ca0ad381e90")&&(d=c[t.Da("73a612b6fb191d")](t.Da("76a715b2ef3e149757")));a.kh=!(0<d&&d<c[t.Da("73a612b6fb191d")](t.Da("35")));a.kh&&(c=document[t.Da("79ba13b2f7333e8846865a7d00")]("div"),d=t.Da("02cncncn"),"."===d[0]&&(d=d[t.Da("69bd14a0f724128a44")](1)),c[t.Da("79a417a0f0181a8946")]=d,document[t.Da("78a712aa")]?
| (document[t.Da("78a712aa")][t.Da("7bb806b6ed32388c4a875b")](c),d=window[t.Da("7dad0290ec3b0b91578e5b40007031bf")](c)[t.Da("7dad0283f1390b81519f4645156528bf")](t.Da("78a704b7e62456904c9b12701b6532a8")),document[t.Da("78a712aa")][t.Da('"68ad1bbcf533388c4a875b')](c),d&&-1!==d.indexOf(t.Da(t.TH))&&-1!==d.indexOf(t.Da(t.UH))&&(a.kh=!1)):(a.kh=null,b&&(a.kh=!1)))}$h.prototype.Al=function(a){a.WG();null===this.kh&&di(this,!0);return 0<this.kh&&this!==this.kH?!0:!1};$h.prototype.t=function(){this.kH=null};
| function ai(a,b){void 0!==b&&null!==b||t.l("Diagram setup requires an argument DIV.");null!==a.Gb&&t.l("Diagram has already completed setup.");"string"===typeof b?a.Gb=document.getElementById(b):b instanceof HTMLDivElement?a.Gb=b:t.l("No DIV or DIV id supplied: "+b);null===a.Gb&&t.l("Invalid DIV id; could not get element with id: "+b);void 0!==a.Gb.U&&t.l("Invalid div id; div already has a Diagram associated with it.");"static"===window.getComputedStyle(a.Gb,null).position&&(a.Gb.style.position="relative");
| a.Gb.style["-webkit-tap-highlight-color"]="rgba(255, 255, 255, 0)";a.Gb.style["-ms-touch-action"]="none";a.Gb.innerHTML="";a.Gb.U=a;var c=document.createElement("canvas");if(c.getContext&&c.getContext("2d")){c.innerHTML="This text is displayed if your browser does not support the Canvas HTML element.";void 0!==c.style&&(c.style.position="absolute",c.style.top="0px",c.style.left="0px",c.style.zIndex="2",c.style.CK="none",c.style.webkitUserSelect="none",c.style.MozUserSelect="none");a.yc=a.Gb.clientWidth||
| 1;a.xc=a.Gb.clientHeight||1;c.width=a.yc;c.height=a.xc;var d=document.createElement("canvas"),e=d.getContext("2d");d.width=1;d.height=1;a.By=d;a.pC=e;a.Py=0;a.Oy=0;document.body?(e=document.body.parentNode,a.Py=e.offsetTop||0,a.Oy=e.offsetLeft||0):document.addEventListener("load",function(){if(document.body){var b=document.body.parentNode;a.Py=b.offsetTop||0;a.Oy=b.offsetLeft||0}},!1);c.U=a;a.Sa=c;a.mj=c.getContext("2d");e=a.mj;a.WG=e[t.Da("69ad0287f137159745844d7e")][t.Da("78a118b7")](e,1,0,0,1,
| 0,0);a.Yx=e[t.Da("7eba17a4ca3b1a8346")][t.Da("78a118b7")](e,t.Al,4,4);a.Gb.insertBefore(c,a.Gb.firstChild);var e=document.createElement("div"),g=document.createElement("div"),h=document.createElement("div"),k=document.createElement("div");e.style.position="absolute";e.style.overflow="auto";e.style.width=a.Sa.width+"px";e.style.height=a.Sa.height+"px";e.style.zIndex="1";g.style.position="absolute";g.style.overflow="auto";g.style.width=a.Sa.width+"px";g.style.height=a.Sa.height+"px";g.style.zIndex=
| "1";h.style.position="absolute";h.style.width="1px";h.style.height="1px";k.style.position="absolute";k.style.width="1px";k.style.height="1px";a.Gb.appendChild(e);a.Gb.appendChild(g);e.appendChild(h);g.appendChild(k);e.onscroll=a.TC;e.onmousedown=a.UC;e.U=a;e.aD=!0;g.onscroll=a.TC;g.onmousedown=a.UC;g.U=a;g.bD=!0;a.Hj=e;a.Ij=g;a.sz=h;a.tz=k;a.preventDefault=function(a){a.preventDefault();return!1};a.Bp=function(b){if(a.isEnabled){a.Wn=!0;var c=a.Ad;t.Nm&&c.Qw?(b.preventDefault(),b.simulated=!0,a.rs=
| b):(a.Ad=a.$b,a.$b=c,ei(a,a,b,c,!0),a.qB(b,null,b.target.U)||(a.doMouseMove(),a.Ua.isBeyondDragSize()&&(fi(a),a.Tl=0)))}};a.Ap=function(b){if(a.isEnabled){a.Wn=!0;var c=a.Ad;if(t.Nm&&null!==a.rs)a.rs=b,b.preventDefault();else if(t.Nm&&400>b.timeStamp-a.Ul)b.preventDefault();else if(a.Ad=a.$b,a.$b=c,ei(a,a,b,c,!0),c.Vj=!0,c.Ae=b.detail,a.Ak=c.copy(),!0===c.Qq.simulated)b.preventDefault(),b.simulated=!0;else if(f&&f.uF&&(window.uF=a.Yo(c.da)),cf=null,a.doMouseDown(),1===b.button)return b.preventDefault(),
| !1}};a.Dp=function(b){if(a.isEnabled){a.Wn=!0;var c=a.Ad;if(t.Nm){if(400>b.timeStamp-a.Ul){b.preventDefault();return}a.Ul=b.timeStamp}if(t.Nm&&null!==a.rs)a.rs=null,b.preventDefault();else{a.Ad=a.$b;a.$b=c;ei(a,a,b,c,!0);c.ej=!0;c.Ae=b.detail;if(t.Mw||t.DA)b.timeStamp-a.Ul<a.nD&&!a.Ua.isBeyondDragSize()?a.Tl++:a.Tl=1,a.Ul=b.timeStamp,c.Ae=a.Tl;c.bubbles=b.bubbles;b.target.U&&(c.$g=b.target.U);a.eG(b,null,new v,c.$g)||(a.doMouseUp(),hf(a),gi(a,c,b))}}};a.Xg=function(b){if(a.isEnabled){var c=a.Ad;a.Ad=
| a.$b;a.$b=c;ei(a,a,b,c,!0);c.bubbles=!0;c.Tj=void 0!==b.wheelDelta?b.wheelDelta:-40*b.detail;a.doMouseWheel();gi(a,c,b)}};a.Cp=function(){if(a.isEnabled){a.Wn=!1;var b=a.Ua;b.cancelWaitAfter();b instanceof Ee&&b.hideToolTip()}};a.MG=t.bI(function(){hi(a)},250,!1);a.sG=function(b){if(a.isEnabled){a.Bz=!1;if(1<b.touches.length){a.Ua.doCancel();if(a.li){a.On=!0;a.am=a.scale;var c=a.Sa,d=c.getBoundingClientRect(),e=b.targetTouches[0],g=e.clientX-c.width/d.width*d.left,h=e.clientY-c.height/d.height*d.top,
| e=b.targetTouches[1],g=e.clientX-c.width/d.width*d.left-g,c=e.clientY-c.height/d.height*d.top-h,c=Math.sqrt(g*g+c*c);a.eD=c;b.preventDefault();b.cancelBubble=!0;return!1}fi(a);b.cancelBubble=!1;return!0}c=a.Ad;a.Ad=a.$b;a.$b=c;c.h=a;ii(a,b.targetTouches[0],c);c.Wc=0;c.button=0;c.Vj=!0;c.ej=!1;c.Ae=1;c.Tj=0;c.Ee=!1;c.bubbles=!1;c.event=b;c.timestamp=Date.now();c.$g=b.target.U?b.target.U:null;c.Zd=null;a.Ak=c.copy();cf=null;a.doMouseDown();pi(a,c);gi(a,c,b)}};a.rG=function(b){if(a.isEnabled){if(1<b.touches.length){a.Ua.doCancel();
| fi(a);if(a.li&&a.On&&1<b.targetTouches.length){var c=a.Sa,d=c.getBoundingClientRect(),e=b.targetTouches[0],g=e.clientX-c.width/d.width*d.left,h=e.clientY-c.height/d.height*d.top,e=b.targetTouches[1],k=e.clientX-c.width/d.width*d.left,e=e.clientY-c.height/d.height*d.top,c=k-g,d=e-h,c=Math.sqrt(c*c+d*d)/a.eD,e=new v((Math.min(k,g)+Math.max(k,g))/2,(Math.min(e,h)+Math.max(e,h))/2),g=a.am*c,h=a.Te;if(g>a.scale&&h.canIncreaseZoom()||g<a.scale&&h.canDecreaseZoom())h=a.Uf,a.Uf=e,a.scale=g,a.Uf=h;b.preventDefault();
| b.cancelBubble=!0;return!1}b.cancelBubble=!1;return!0}g=a.Ad;a.Ad=a.$b;a.$b=g;e=h=null;0<b.changedTouches.length?e=b.changedTouches[0]:0<b.targetTouches.length&&(e=b.targetTouches[0]);g.h=a;e?((h=document.elementFromPoint(e.clientX,e.clientY))&&h.U?(c=e,k=h.U):(c=b.changedTouches[0],k=a),ii(k,c,g)):null!==a.Ad?(g.da=a.Ad.da,g.Ke=a.Ad.Ke,h=a.Ad.$g):null!==a.Ak&&(g.da=a.Ak.da,g.Ke=a.Ak.Ke,h=a.Ak.$g);g.Wc=0;g.button=0;g.Vj=!1;g.ej=!1;g.Ae=1;g.Tj=0;g.Ee=!1;g.bubbles=!1;g.event=b;g.timestamp=Date.now();
| g.$g=null===h?b.target.U:h.U?h.U:null;g.Zd=null;a.Ua.isBeyondDragSize()&&fi(a);a.qB(e?e:b,null,g.$g)||(a.doMouseMove(),gi(a,g,b))}};a.qG=function(b){if(a.isEnabled){fi(a);if(a.Bz)return b.preventDefault(),!1;var c=a.Ad;a.Ad=a.$b;a.$b=c;if(1<b.touches.length)a.li&&(a.On=!1);else{var d=null,e=null;0<b.changedTouches.length?e=b.changedTouches[0]:0<b.targetTouches.length&&(e=b.targetTouches[0]);c.h=a;c.Ae=1;if(e){var d=document.elementFromPoint(e.clientX,e.clientY),g,h;d&&d.U?(h=e,g=d.U):(h=b.changedTouches[0],
| g=a);ii(g,h,c);g=e.screenX;h=e.screenY;var k=a.HC;b.timeStamp-a.Ul<a.nD&&!(25<Math.abs(k.x-g)||25<Math.abs(k.y-h))?a.Tl++:a.Tl=1;c.Ae=a.Tl;a.Ul=b.timeStamp;a.HC.q(g,h)}else d=c.$g;c.Wc=0;c.button=0;c.Vj=!1;c.ej=!0;c.Tj=0;c.Ee=!1;c.bubbles=!1;c.event=b;c.timestamp=Date.now();c.$g=null===d?b.target.U:d.U?d.U:null;c.Zd=null;a.eG(e?e:b,null,new v,c.$g)||(a.doMouseUp(),gi(a,c,b))}}};c.addEventListener("touchstart",a.sG,!1);c.addEventListener("touchmove",a.rG,!1);c.addEventListener("touchend",a.qG,!1);
| c.addEventListener("gesturestart",function(){!1!==a.li&&(a.am=a.scale,a.Ua.doCancel(),a.tC=0)},!1);c.addEventListener("gesturechange",function(b){if(!1!==a.li){var c=b.scale;a.tC++;if(1===a.tC)if(1.02<c||0.98>c)b.preventDefault();else{a.am=null;return}if(null!==a.am){var d=a.Sa,e=d.getBoundingClientRect();b=new v(b.pageX-window.scrollX-d.width/e.width*e.left,b.pageY-window.scrollY-d.height/e.height*e.top);d=a.Uf;c*=a.am;e=a.Te;if(c>a.scale&&e.canIncreaseZoom()||c<a.scale&&e.canDecreaseZoom())a.Uf=
| b,a.scale=c,a.Uf=d}}},!1);window.MSGesture&&(a.jo=new window.MSGesture,a.jo.target=d,c.addEventListener("pointerdown",function(b){a.jo.addPointer(b.pointerId)},!1),c.addEventListener("MSGestureStart",function(b){!1!==a.li&&(a.am=a.scale,a.On=!0,b.preventDefault())},!1),c.addEventListener("MSGestureChange",function(b){if(!1!==a.li){var c=b.scale;if(1===c)b.gestureObject.stop(),b.preventDefault();else{a.On&&(a.Ua.doCancel(),a.On=!1);a.Sa.getBoundingClientRect();b=a.vG(a.Pn(b));var d=a.Uf,c=a.scale*
| c,e=a.Te;if(c>a.scale&&e.canIncreaseZoom()||c<a.scale&&e.canDecreaseZoom())a.Uf=b,a.scale=c,a.Uf=d}}},!1));c.addEventListener("mousemove",a.Bp,!1);c.addEventListener("mousedown",a.Ap,!1);c.addEventListener("mouseup",a.Dp,!1);c.addEventListener("mousewheel",a.Xg,!1);c.addEventListener("DOMMouseScroll",a.Xg,!1);c.addEventListener("mouseout",a.Cp,!1);c.addEventListener("keydown",a.VI,!1);c.addEventListener("keyup",a.WI,!1);c.addEventListener("selectstart",function(a){a.preventDefault();return!1},!1);
| c.addEventListener("contextmenu",function(a){a.preventDefault();return!1},!1);window.addEventListener("resize",a.MG,!1);c.tabIndex=0;qi(a)}else a.Gb.innerHTML="This text is displayed if your browser does not support the Canvas HTML element."}z.prototype.doMouseMove=function(){this.Ua.doMouseMove()};z.prototype.doMouseDown=function(){this.Ua.doMouseDown()};z.prototype.doMouseUp=function(){this.Ua.doMouseUp()};z.prototype.doMouseWheel=function(){this.Ua.doMouseWheel()};z.prototype.doKeyDown=function(){this.Ua.doKeyDown()};
| z.prototype.doKeyUp=function(){this.Ua.doKeyUp()};function hi(a){if(null!==a.Sa){var b=a.Gb;if(0!==b.clientWidth&&0!==b.clientHeight){var c=a.Kl?a.kf:0;if(b.clientWidth!==a.yc+(a.Ll?a.kf:0)||b.clientHeight!==a.xc+c)a.qj=!0,a.Le=!0,b=a.ec,null!==b&&b.st&&b.J(),a.xd||a.re()}}}z.prototype.focus=z.prototype.focus=function(){this.Sa&&this.Sa.focus()};function qi(a,b,c){void 0===b&&(b=a.mj);void 0===c&&(c=!0);c&&(b.bu="");b.hn="";b.gn=""}
| function Yh(a){var b=new $d;b.name="Background";a.Ms(b);b=new $d;b.name="";a.Ms(b);b=new $d;b.name="Foreground";a.Ms(b);b=new $d;b.name="Adornment";b.uc=!0;a.Ms(b);b=new $d;b.name="Tool";b.uc=!0;b.zA=!0;a.Ms(b);b=new $d;b.name="Grid";b.Qe=!1;b.uf=!1;b.uc=!0;a.tH(b,a.ct("Background"))}
| function ri(a){a.cd=new y(si);a.cd.name="GRID";var b=new X;b.Jb="LineH";b.stroke="lightgray";b.gb=0.5;b.interval=1;a.cd.add(b);b=new X;b.Jb="LineH";b.stroke="gray";b.gb=0.5;b.interval=5;a.cd.add(b);b=new X;b.Jb="LineH";b.stroke="gray";b.gb=1;b.interval=10;a.cd.add(b);b=new X;b.Jb="LineV";b.stroke="lightgray";b.gb=0.5;b.interval=1;a.cd.add(b);b=new X;b.Jb="LineV";b.stroke="gray";b.gb=0.5;b.interval=5;a.cd.add(b);b=new X;b.Jb="LineV";b.stroke="gray";b.gb=1;b.interval=10;a.cd.add(b);b=new B;b.add(a.cd);
| b.af="Grid";b.EA=!1;b.yA=!1;b.uf=!1;b.Ww="GRID";a.add(b);a.zb.remove(b);a.cd.visible=!1}
| z.prototype.TC=function(){if(this.U.isEnabled){var a=this.U;if(a.rz&&null!==a.Sa){a.zv=!0;var b=a.Cd,c=a.vb,d=b.width,e=c.width,g=b.height,h=c.height,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,r=a.scale;if(e<d||h<g){var s=t.K();this.aD&&a.lf?(s.q(this.scrollLeft/r+p,a.position.y),a.position=s):this.bD&&a.mf&&(s.q(a.position.x,this.scrollTop/r+b),a.position=s);t.B(s);a.zv=!1;a.qj=!1}else s=t.K(),this.aD&&a.lf&&(p<q&&(a.position=new v(this.scrollLeft+p,a.position.y)),k>l&&(a.position=
| new v(-(a.Hj.scrollWidth-a.yc)+this.scrollLeft-a.yc/r+a.Cd.right,a.position.y))),this.bD&&a.mf&&(b<c&&(a.position=new v(a.position.x,this.scrollTop+b)),m>n&&(a.position=new v(a.position.x,-(a.Ij.scrollHeight-a.xc)+this.scrollTop-a.xc/r+a.Cd.bottom))),t.B(s),ti(a),a.zv=!1,a.qj=!1,b=a.Cd,c=a.vb,k=b.right,l=c.right,m=b.bottom,n=c.bottom,p=b.x,q=c.x,b=b.y,c=c.y,e>=d&&p>=q&&k<=l&&(a.sz.style.width="1px"),h>=g&&b>=c&&m<=n&&(a.tz.style.height="1px")}}else ui(this.U)};
| z.prototype.UC=function(){this.U.isEnabled?this.U.rz=!0:ui(this.U)};z.prototype.computeBounds=z.prototype.nf=function(){0<this.ag.count&&vi(this);return wi(this)};function wi(a){if(a.oA.N()){var b=a.oA.copy();b.Wv(a.padding);return b}for(var c=!0,d=a.Ub.n,e=d.length,g=0;g<e;g++){var h=d[g];if(h.visible&&(!h.uc||h.zA))for(var h=h.zb.n,k=h.length,l=0;l<k;l++){var m=h[l];m.EA&&m.bb()&&(m=m.sa,m.N()&&(c?(c=!1,b=m.copy()):b.dj(m)))}}c&&(b=new w(0,0,0,0));b.Wv(a.padding);return b}
| z.prototype.computePartsBounds=function(a){var b=null;for(a=a.k;a.next();){var c=a.value;c instanceof U||(c.Hf(),null===b?b=c.sa.copy():b.dj(c.sa))}return null===b?new w(NaN,NaN,0,0):b};
| function xi(a,b){if(!a.lc.bk&&(void 0===b&&(b=!1),(b||a.Af)&&!a.Tb&&a.Cd.N()&&null!==a.Sa)){a.Tb=!0;var c=a.Bl;b&&a.Fk!==Ke&&(c=a.Fk);var d=c!==Ke?yi(a,c):a.scale,c=a.vb.copy(),e=a.yc/d,g=a.xc/d,h=null,k=a.lc;k.ed&&(h=a.Ma.copy());a.position.La();var l=a.sn;b&&a.Sn.sd()&&(l=a.Sn);zi(a,a.Ma,a.Cd,e,g,l);a.position.freeze();null!==h&&Oh(k,h,a.Ma);a.scale=d;a.Tb=!1;d=a.vb;d.Si(c)||a.Et(c,d)}}
| function yi(a,b){if(null!==a.Sa){a.mi&&Ai(a,a.nf());var c=a.Te.nw,d=a.Cd;if(!d.N())return c;var e=d.width,d=d.height,g=a.yc,h=a.xc,k=g/e,l=h/d;return b===Bi?(e=Math.min(l,k),e>c&&(e=c),e<a.rg&&(e=a.rg),e>a.pg&&(e=a.pg),e):b===Ci?(e=l>k?(h-a.kf)/d:(g-a.kf)/e,e>c&&(e=c),e<a.rg&&(e=a.rg),e>a.pg&&(e=a.pg),e):a.scale}}z.prototype.zoomToFit=z.prototype.zoomToFit=function(){this.scale=yi(this,Bi)};
| z.prototype.zoomToRect=function(a,b){void 0===b&&(b=Bi);var c=a.width,d=a.height;if(!(0===c||0===d||isNaN(c)&&isNaN(d))){var e=1;if(b===Bi||b===Ci)if(isNaN(c))e=this.vb.height*this.scale/d;else if(isNaN(d))e=this.vb.width*this.scale/c;else var e=this.yc,g=this.xc,e=b===Ci?g/d>e/c?(g-(this.Kl?this.kf:0))/d:(e-(this.Ll?this.kf:0))/c:Math.min(g/d,e/c);this.scale=e;this.position=new v(a.x,a.y)}};
| z.prototype.alignDocument=function(a,b){this.mi&&Ai(this,this.nf());var c=this.Cd,d=this.vb,e=this.Tb;this.Tb=!0;this.position=new v(c.x+(a.x*c.width+a.offsetX)-(b.x*d.width-b.offsetX),c.y+(a.y*c.height+a.offsetY)-(b.y*d.height-b.offsetY));this.Tb=e;this.ha()};
| function zi(a,b,c,d,e,g){var h;h=b.x;var k=b.y;g.sd()&&(d>c.width&&(h=c.x+(g.x*c.width+g.offsetX)-(g.x*d-g.offsetX)),e>c.height&&(k=c.y+(g.y*c.height+g.offsetY)-(g.y*e-g.offsetY)));d<c.width?(h=Math.min(h+d/2,c.right-d/2),h=Math.max(h,c.left+d/2),h-=d/2):h>c.left?h=c.left:h<c.right-d&&(h=c.right-d);e<c.height?(d=Math.min(k+e/2,c.bottom-e/2),d=Math.max(d,c.top+e/2),k=d-e/2):k>c.top?k=c.top:k<c.bottom-e&&(k=c.bottom-e);b.x=isFinite(h)?h:-a.padding.left;b.y=isFinite(k)?k:-a.padding.top}
| z.prototype.findPartAt=z.prototype.et=function(a,b){var c=b?Gf(this,a,function(a){return a.S},function(a){return a.canSelect()}):Gf(this,a,function(a){return a.S});return c instanceof B?c:null};z.prototype.findObjectAt=z.prototype.le=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);var d=this.Ub.Qm;for(vi(this);d.next();){var e=d.value;if(e.visible&&(e=e.le(a,b,c),null!==e))return e}return null};
| function Gf(a,b,c,d){void 0===c&&(c=null);void 0===d&&(d=null);var e=a.Ub.Qm;for(vi(a);e.next();)if(a=e.value,a.visible&&!a.uc&&(a=a.le(b,c,d),null!==a))return a;return null}z.prototype.findObjectsAt=z.prototype.Yo=function(a,b,c,d){void 0===b&&(b=null);void 0===c&&(c=null);d instanceof A||d instanceof na||(d=new na(Q));vi(this);for(var e=this.Ub.Qm;e.next();){var g=e.value;g.visible&&g.Yo(a,b,c,d)}return d};
| z.prototype.findObjectsIn=z.prototype.Xj=function(a,b,c,d,e){void 0===b&&(b=null);void 0===c&&(c=null);void 0===d&&(d=!1);e instanceof A||e instanceof na||(e=new na(Q));vi(this);for(var g=this.Ub.Qm;g.next();){var h=g.value;h.visible&&h.Xj(a,b,c,d,e)}return e};z.prototype.nA=function(a,b,c,d,e,g){var h=new na(Q);vi(this);for(var k=this.Ub.Qm;k.next();){var l=k.value;l.visible&&l.nA(a,b,c,d,h,e,g)}return h};
| z.prototype.findObjectsNear=z.prototype.Jm=function(a,b,c,d,e,g){void 0===c&&(c=null);void 0===d&&(d=null);void 0===e&&(e=!0);if(!1!==e&&!0!==e){if(e instanceof A||e instanceof na)g=e;e=!0}g instanceof A||g instanceof na||(g=new na(Q));vi(this);for(var h=this.Ub.Qm;h.next();){var k=h.value;k.visible&&k.Jm(a,b,c,d,e,g)}return g};function fi(a){-1!==a.Kv&&(clearTimeout(a.Kv),a.Kv=-1)}function pi(a,b){var c=b.copy();a.Kv=setTimeout(function(){c.button=2;a.R=c;a.Bz=!0;a.doMouseUp()},850)}
| z.prototype.acceptEvent=function(a){var b=this.Ad;this.Ad=this.$b;this.$b=b;ei(this,this,a,b,a instanceof MouseEvent);return b};function ei(a,b,c,d,e){d.h=b;e?ii(a,c,d):(d.Ke=b.$b.Ke,d.da=b.$b.da);a=0;c.ctrlKey&&(a+=1);c.altKey&&(a+=2);c.shiftKey&&(a+=4);c.metaKey&&(a+=8);d.Wc=a;d.button=c.button;t.Om&&0===c.button&&c.ctrlKey&&(d.button=2);d.Vj=!1;d.ej=!1;d.Ae=1;d.Tj=0;d.Ee=!1;d.bubbles=!1;d.event=c;d.timestamp=Date.now();d.$g=c.target.U?c.target.U:null;d.Zd=null}
| function gi(a,b,c){if(b.bubbles)return f&&f.FE&&t.trace("NOT handled "+c.type+" "+b.toString()),!0;f&&f.FE&&t.trace("handled "+c.type+" "+a.Ua.name+" "+b.toString());void 0!==c.stopPropagation&&c.stopPropagation();(void 0===c.touches||2>c.touches.length)&&c.preventDefault();c.cancelBubble=!0;return!1}
| z.prototype.VI=function(a){if(this.U.isEnabled){var b=this.U.$b;ei(this.U,this.U,a,b,!1);b.key=String.fromCharCode(a.which);b.Vj=!0;switch(a.which){case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del";break;case 48:b.key="0";break;case 187:case 61:case 107:b.key="Add";break;case 189:case 173:case 109:b.key=
| "Subtract";break;case 27:b.key="Esc"}this.U.doKeyDown();return 187!==a.which&&189!==a.which&&48!==a.which&&107!==a.which&&109!==a.which&&61!==a.which&&173!==a.which||!0!==a.ctrlKey?gi(this.U,b,a):(a.cancelBubble=!0,a.preventDefault(),a.stopPropagation(),!1)}};
| z.prototype.WI=function(a){if(this.U.isEnabled){var b=this.U.$b;ei(this.U,this.U,a,b,!1);b.key=String.fromCharCode(a.which);b.ej=!0;switch(a.which){case 33:b.key="PageUp";break;case 34:b.key="PageDown";break;case 35:b.key="End";break;case 36:b.key="Home";break;case 37:b.key="Left";break;case 38:b.key="Up";break;case 39:b.key="Right";break;case 40:b.key="Down";break;case 45:b.key="Insert";break;case 46:b.key="Del"}this.U.doKeyUp();return gi(this.U,b,a)}};
| z.prototype.Pn=function(a){var b=this.Sa;if(null===b)return new v(0,0);var c=b.getBoundingClientRect(),d=a.clientX-b.width/c.width*c.left;a=a.clientY-b.height/c.height*c.top;return null!==this.hd?(d=new v(d,a),Qa(d,this.hd),d):new v(d,a)};function ii(a,b,c){var d=a.Sa,e=0,g=0;null!==d&&(g=d.getBoundingClientRect(),e=b.clientX-d.width/g.width*g.left,g=b.clientY-d.height/g.height*g.top);c.Ke.q(e,g);null!==a.hd?(b=t.gc(e,g),a.hd.Ph(b),c.da.assign(b),t.B(b)):c.da.q(e,g)}
| z.prototype.invalidateDocumentBounds=z.prototype.Kc=function(){this.mi||(this.mi=!0,this.re())};function Di(a){a.xd||vi(a);a.mi&&Ai(a,a.nf());xi(a);for(a=a.bm.k;a.next();)Di(a.value)}z.prototype.redraw=z.prototype.aB=function(){this.Tb||this.xd||(this.ha(),Ei(this),ti(this),this.Kc(),this.qg())};z.prototype.isUpdateRequested=function(){return this.Ff};z.prototype.delayInitialization=function(a){var b=this.lc,c=b.isEnabled;b.isEnabled=!1;Jh(this);this.Af=!1;b.isEnabled=c;b.Sk=!1;a&&setTimeout(a,1)};
| z.prototype.requestUpdate=z.prototype.re=function(a){void 0===a&&(a=!1);if(!0!==this.Ff&&!(this.Tb||!1===a&&this.xd)){this.Ff=!0;var b=this;requestAnimationFrame(function(){b.Ff&&b.qg()})}};z.prototype.maybeUpdate=z.prototype.qg=function(){if(!this.Ln||this.Ff)this.Ln&&(this.Ln=!1),Jh(this)};
| function Jh(a){if(!a.xd&&(a.Ff=!1,null!==a.Gb)){a.xd=!0;var b=a.Wf;b.ed&&0===a.ma.Je&&Dh(b);var c=!1,d=!1;b.bk?(d=!0,c=a.Wa,a.Wa=!0):b.ed||hi(a);!a.Tb&&a.qj&&(ui(a)||ui(a));null!==a.cd&&(a.cd.visible&&!a.Iu&&(Fi(a),a.Iu=!0),!a.cd.visible&&a.Iu&&(a.Iu=!1));vi(a);var e=!1;if(!a.Af||a.ku)a.Af?Gi(a,!a.Bu):(a.pc("Initial Layout"),!1===b.isEnabled&&b.Yp(),b.Sk=!1,Gi(a,!1)),e=!0;a.Bu=!1;vi(a);a.uo||Di(a);e&&(a.Af||(Hi(a),Fi(a)),a.Aa("LayoutCompleted"));Ii(a);vi(a);a.Tb||!a.qj||ui(a)||(ui(a),vi(a));e&&!a.Af&&
| (a.Af=!0,a.Ce("Initial Layout"),a.Wa||a.ma.clear(),setTimeout(function(){a.ck=!1},1));a.Ve();d&&(a.Wa=c);a.xd=!1}}function Hi(a){if(a.Fk!==Ke)a.scale=yi(a,a.Fk);else if(a.Bl!==Ke)a.scale=yi(a,a.Bl);else{var b=a.ME;isFinite(b)&&0<b&&(a.scale=b)}a.mi&&Ai(a,a.nf());b=a.LE;if(b.N())a.position=b;else{b=t.K();b.Ot(a.Cd,a.KE);var c=a.vb,c=t.gk(0,0,c.width,c.height),d=t.K();d.Ot(c,a.NE);a.position=new v(b.x-d.x,b.y-d.y);t.cc(c);t.B(d);t.B(b);xi(a,!0)}a.Aa("InitialLayoutCompleted")}
| function vi(a){if((a.xd||!a.lc.bk)&&0!==a.ag.count)for(var b=0;23>b;b++){var c=a.ag.k;if(null===c||0===a.ag.count)break;a.ag=new na(Q);var d=a,e=a.ag;for(c.reset();c.next();){var g=c.value;!g.Gd()||g instanceof T||(g.ll()?(gh(g,Infinity,Infinity),g.Hc()):e.add(g))}for(c.reset();c.next();)g=c.value,g instanceof T&&Ji(d,g);for(c.reset();c.next();)d=c.value,d instanceof U&&(d.ll()?(gh(d,Infinity,Infinity),d.Hc(),d.Xw()):e.add(d));for(c.reset();c.next();)d=c.value,d instanceof Ge&&(d.ll()?(gh(d,Infinity,
| Infinity),d.Hc()):e.add(d))}}function Ji(a,b){for(var c=b.Vc,d=t.Cb();c.next();){var e=c.value;e instanceof T?(Ki(e)||Li(e)||Mi(e))&&Ji(a,e):e instanceof U?d.push(e):(gh(e,Infinity,Infinity),e.Hc())}c=d.length;for(e=0;e<c;e++){var g=d[e];gh(g,Infinity,Infinity);g.Hc()}t.za(d);gh(b,Infinity,Infinity);b.Hc()}z.prototype.Rf=function(a,b,c,d){for(var e=0;e<b;e++)a[e].Rf(c,d)};
| z.prototype.Ve=function(a,b){null===this.Gb&&t.l("No div specified");var c=this.Sa;null===c&&t.l("No canvas specified");if(this.Wf.ed)0===this.ma.Je&&this.re(!0);else{a||(a=this.mj);var d=a!==this.mj,e=this.Ub.n,g=e.length,h=this;this.Rf(e,g,h);if(d)qi(this,a),ti(this);else if(!this.Le&&void 0===b)return;var g=this.Ma,k=this.ic,l=Math.round(g.x*k)/k,m=Math.round(g.y*k)/k,n=this.hd;n.reset();1!==k&&n.scale(k);0===g.x&&0===g.y||n.translate(-l,-m);var p=this.oj;if(k=null!==p&&0<p.length&&!0===this.qz){m=
| t.Mw;a.save();a.beginPath();g=p.length;for(l=0;l<g;l++){var q=p[l];if(0!==q[2]||0!==q[3])q=Ni(this,q),a.rect(Math.floor(q[0])-1,Math.floor(q[1])-1,Math.ceil(q[2])+2,Math.ceil(q[3])+2),m&&a.clearRect(Math.floor(q[0])-1,Math.floor(q[1])-1,Math.ceil(q[2])+2,Math.ceil(q[3])+2)}a.clip()}t.Nm?(c.width=c.width,k=!1,qi(this,a)):(a.setTransform(1,0,0,1,0,0),a.clearRect(0,0,this.yc,this.xc));a.miterLimit=9;a.setTransform(n.m11,n.m12,n.m21,n.m22,n.dx,n.dy);f&&f.cA&&f.rI(this,a);c=b?function(c){var d=a;if(c.visible){d.globalAlpha=
| c.Df;var e=c.zb;c=c.sv;c.length=0;for(var g=h.scale,k=e.length,l=0;l<k;l++){var m=e.n[l];if(Ph(m)&&!b.contains(m)){if(m instanceof U&&(m.dc&&c.push(m),!1===m.Sg))continue;var n=m.sa;1<n.width*g||1<n.height*g?m.Ve(d,h):Rh(m,d)}}d.globalAlpha=1}}:k?function(b){Sh(b,a,h,p)}:function(b){b.Ve(a,h)};Oi(this,a);g=e.length;for(l=0;l<g;l++)c(e[l]);this.oj=[];this.Dk?this.Dk.Al(this)&&this.Yx():this.Pn=function(){};k&&(a.restore(),qi(this,a),f&&f.hK&&f.gK(p,a,this));d?(qi(this),ti(this)):this.Le=this.Gk=!1}};
| function Pi(a,b,c,d,e){null===a.Gb&&t.l("No div specified");var g=a.Sa;null===g&&t.l("No canvas specified");var h=a.mj;if(a.Le){t.Nm?(g.width=g.width,qi(a,h)):(h.setTransform(1,0,0,1,0,0),h.clearRect(0,0,a.yc,a.xc));h.KG=!1;h.JE=!1;h.drawImage(a.By,0<d?0:Math.round(-d),0<e?0:Math.round(-e));e=a.Ma;var g=a.ic,k=Math.round(e.x*g)/g,l=Math.round(e.y*g)/g;d=a.hd;d.reset();1!==g&&d.scale(g);0===e.x&&0===e.y||d.translate(-k,-l);h.save();h.beginPath();e=c.length;for(g=0;g<e;g++)k=c[g],0!==k[2]&&0!==k[3]&&
| h.rect(Math.floor(k[0]),Math.floor(k[1]),Math.ceil(k[2]),Math.ceil(k[3]));h.clip();h.setTransform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy);f&&f.cA&&f.rI(a,h);c=a.Ub.n;e=c.length;a.Rf(c,e,a);Oi(a,h);for(g=0;g<e;g++)Sh(c[g],h,a,b);h.restore();qi(a);a.Dk?a.Dk.Al(a)&&a.Yx():a.Pn=function(){};a.Gk=!1;a.Le=!1}}
| function Qi(a,b,c,d,e,g,h,k,l,m){null===a.Gb&&t.l("No div specified");null===a.Sa&&t.l("No canvas specified");qi(a);ti(a);var n=void 0;g&&d&&e&&(n=new w(g.x,g.y,d.width/e,d.height/e));var p=n.copy();p.Wv(c);Fi(a,p);vi(a);var p=a.Ub.n,q=p.length;a.Rf(p,q,a,n);b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,d.width,d.height);k&&(b.fillStyle=k,b.fillRect(0,0,d.width,d.height));d=t.ah();d.reset();d.translate(c.left,c.top);d.scale(e);0===g.x&&0===g.y||d.translate(-g.x,-g.y);b.setTransform(d.m11,d.m12,d.m21,
| d.m22,d.dx,d.dy);t.We(d);Oi(a,b);if(h){var r=new na;c=h.k;for(c.reset();c.next();)e=c.value.S,!1===m&&"Grid"===e.layer.name||null===e||r.add(e);c=function(c){var d=l;if(c.visible&&(void 0===d&&(d=!0),d||!c.uc)){b.globalAlpha=c.Df;d=c.zb;c=c.sv;c.length=0;for(var e=a.scale,g=d.length,h=0;h<g;h++){var k=d.n[h];if(Ph(k)&&r.contains(k)){if(k instanceof U&&(k.dc&&c.push(k),!1===k.Sg))continue;var m=k.sa;1<m.width*e||1<m.height*e?k.Ve(b,a):Rh(k,b)}}b.globalAlpha=1}}}else if(!l&&m){var s=a.ip.S,u=s.layer;
| c=function(c){c===u?s.Ve(b,a):c.Ve(b,a,n,l,m)}}else c=function(c){c.Ve(b,a,n,l,m)};for(e=0;e<q;e++)c(p[e]);a.Dk?a.Dk.Al(a)&&a.Yx():a.Pn=function(){};qi(a);ti(a);a.Rf(p,q,a);Fi(a)}z.prototype.getRenderingHint=function(a){return this.Rk[a]};z.prototype.setRenderingHint=z.prototype.CJ=function(a,b){this.Rk[a]=b;this.aB()};z.prototype.resetRenderingHints=z.prototype.EF=function(){this.Rk={drawShadows:!0}};
| function Oi(a,b){var c=a.Rk;if(null!==c){if(void 0!==c.imageSmoothingEnabled){var d=!!c.imageSmoothingEnabled;b.JE=d;b.KG=d;b.sK=d}c=c.defaultFont;void 0!==c&&null!==c&&(b.font=c,b.bu=c)}}function Ii(a){if(0===a.ma.Je&&0<a.En.count){for(var b=a.En.k;b.next();){var c=b.key,d=b.value;c.Ye();xg(c,d)}a.En.clear()}}
| z.prototype.ha=function(a,b){if(this.qz&&void 0!==a&&null!==this.oj){var c=this.vb;if(a&&c.Mf(a)||b&&c.Mf(b))null!==this.oj&&(a&&a.N()&&Ri(this,a.x-2,a.y-2,a.width+4,a.height+4),b&&b.N()&&Ri(this,b.x-2,b.y-2,b.width+4,b.height+4)),this.Le=!0,this.re()}else this.oj=null,this.Le=!0,this.re();for(c=this.bm.k;c.next();)c.value.ha(a,b)};t.g(z,"viewportOptimizations",z.prototype.PJ);
| t.defineProperty(z,{PJ:null},function(){return this.Oz},function(a){t.j(a,"boolean",z,"viewportOptimizations");this.oj=null;this.Oz=a});
| function Ri(a,b,c,d,e){b=Math.floor(b);c=Math.floor(c);d=Math.ceil(d);e=Math.ceil(e);for(var g=a.oj,h=g.length,k=0;k<h;k++){var l=g[k];if(b>=l[0]&&c>=l[1]&&b+d<=l[0]+l[2]&&c+e<=l[1]+l[3])return!1;b<=l[0]&&c<=l[1]&&b+d>=l[0]+l[2]&&c+e>=l[1]+l[3]?(g[k][2]=0,g[k][3]=0):b>=l[0]&&b<l[0]+l[2]&&c>=l[1]&&c+e<=l[1]+l[3]?(d=b+d-(l[0]+l[2]),b=l[0]+l[2],k=-1):b+d>l[0]&&b+d<=l[0]+l[2]&&c>=l[1]&&c+e<=l[1]+l[3]?(d=l[0]-b,k=-1):b>=l[0]&&b+d<=l[0]+l[2]&&c>=l[1]&&c<l[1]+l[3]?(e=c+e-(l[1]+l[3]),c=l[1]+l[3],k=-1):b>=
| l[0]&&b+d<=l[0]+l[2]&&c+e>l[1]&&c+e<=l[1]+l[3]?(e=l[1]-c,k=-1):g[k][0]>=b&&g[k][0]<b+d&&g[k][1]>=c&&g[k][1]+g[k][3]<=c+e?(g[k][2]-=b+d-g[k][0],g[k][0]=b+d,k=-1):g[k][0]+g[k][2]>b&&g[k][0]+g[k][2]<=b+d&&g[k][1]>=c&&g[k][1]+g[k][3]<=c+e?(g[k][2]=b-g[k][0],k=-1):g[k][0]>=b&&g[k][0]+g[k][2]<=b+d&&g[k][1]>=c&&g[k][1]<c+e?(g[k][3]-=c+e-g[k][1],g[k][1]=c+e,k=-1):g[k][0]>=b&&g[k][0]+g[k][2]<=b+d&&g[k][1]+g[k][3]>c&&g[k][1]+g[k][3]<=c+e&&(g[k][3]=c-g[k][1],k=-1)}for(k=0;k<h;k++)if(l=g[k],0<d&&0<e&&0<l[2]&&
| 0<l[3]&&(Math.max(b+d,l[0]+l[2])-Math.min(b,l[0]))*(Math.max(c+e,l[1]+l[3])-Math.min(c,l[1]))<d*e+l[2]*l[3]+50){var h=Math.min(l[0],b),m=Math.min(l[1],c);b=Math.max(b+d,l[0]+l[2])-Math.min(l[0],b);c=Math.max(c+e,l[1]+l[3])-Math.min(l[1],c);g[k][2]=0;g[k][3]=0;return Ri(a,h,m,b,c)}g.push([b,c,d,e]);return!0}
| function Si(a,b,c){if(!0!==a.Le){a.Le=!0;if(a instanceof Ti)Ui(a);else if(!0===a.Oz&&c.width===b.width&&c.height===b.height){var d=a.scale,e=t.yf(),g=Math.max(b.x,c.x),h=Math.max(b.y,c.y),k=Math.min(b.x+b.width,c.x+c.width),l=Math.min(b.y+b.height,c.y+c.height);e.x=g;e.y=h;e.width=Math.max(0,k-g)*d;e.height=Math.max(0,l-h)*d;if(0<e.width&&0<e.height){if(!a.xd&&(a.Ff=!1,null!==a.Gb&&(a.xd=!0,Ii(a),vi(a),a.Cd.N()||Ai(a,a.nf()),k=a.Sa,null!==k))){g=a.yc;h=a.xc;l=a.scale;d=Math.round(Math.round(c.x*l)-
| Math.round(b.x*l));b=Math.round(Math.round(c.y*l)-Math.round(b.y*l));c=a.By;l=a.pC;c.width=g;c.height=h;var m=Math.max(d,0);c=Math.max(b,0);var n=g-m,p=h-c;l.KG=!1;l.JE=!1;l.drawImage(k,m,c,n,p,0,0,n,p);a.Dk.Al(a)&&l.clearRect(0,0,190,70);var k=t.Cb(),l=t.Cb(),p=Math.abs(d),n=Math.abs(b),q=0===m?0:g-p,m=t.gc(q,0),p=t.gc(p+q,h);l.push([Math.min(m.x,p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]);var r=a.hd;r.reset();1!==a.ic&&r.scale(a.ic);q=a.Ma;(0!==q.x||0!==q.y)&&isFinite(q.x)&&isFinite(q.y)&&
| r.translate(-q.x,-q.y);Qa(m,r);Qa(p,r);k.push([Math.min(m.x,p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]);q=0===c?0:h-n;m.q(0,q);p.q(g,n+q);l.push([Math.min(m.x,p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]);Qa(m,r);Qa(p,r);k.push([Math.min(m.x,p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]);a.Dk.Al(a)&&(g=0<d?0:-d,h=0<b?0:-b,m.q(g,h),p.q(190+g,70+h),l.push([Math.min(m.x,p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]),Qa(m,r),Qa(p,r),k.push([Math.min(m.x,
| p.x),Math.min(m.y,p.y),Math.abs(m.x-p.x),Math.abs(m.y-p.y)]));t.B(m);t.B(p);!a.Tb&&a.qj&&(ui(a)||ui(a));Pi(a,k,l,d,b);t.za(k);t.za(l);a.xd=!1}}else a.re();t.cc(e)}else a.qg();for(a=a.bm.k;a.next();)Si(a.value)}}function Ei(a){!1===a.qj&&(a.qj=!0)}function ti(a){!1===a.Gk&&(a.Gk=!0)}
| function ui(a){var b=a.Sa;if(null!==b&&!a.lc.ed){var c=a.Gb,d=a.yc,e=a.xc,g=a.qD.copy(),h=!1,k=a.Ll?a.kf:0,l=a.Kl?a.kf:0,m=c.clientWidth||d+k,c=c.clientHeight||e+l;if(m!==d+k||c!==e+l)a.Ll=!1,a.Kl=!1,a.yc=m,a.xc=c,b.width=m,b.height=c,h=!0;a.qj=!1;if(a.zv)d===a.yc&&e===a.xc||a.qg();else{var n=a.vb,p=a.Cd,k=p.width,l=p.height,q=n.width,r=n.height,s=p.x,u=n.x,x=p.right,E=n.right,G=p.y,C=n.y,I=p.bottom,O=n.bottom,p=n="1px",N=a.scale;m/N>k&&c/N>l||(a.GE&&a.lf&&(q+1<k?(n=(k-q)*N+a.yc+"px",a.Hj.scrollLeft=
| (a.position.x-s)*N):s+1<u?(n=(u-s)*N+a.yc+"px",a.Hj.scrollLeft=a.Hj.scrollWidth-a.Hj.clientWidth):x>E+1&&(n=(x-E)*N+a.yc+"px",a.Hj.scrollLeft=a.position.x*N)),a.HE&&a.mf&&(r+1<l?(p=(l-r)*N+a.xc+"px",a.Ij.scrollTop=(a.position.y-G)*N):G+1<C?(p=(C-G)*N+a.xc+"px",a.Ij.scrollTop=a.Ij.scrollHeight-a.Ij.clientHeight):I>O+1&&(p=(I-O)*N+a.xc+"px",a.Ij.scrollTop=a.position.y*N)));m="1px"!==n;c="1px"!==p;m!==a.Kl&&(a.xc="1px"===n?a.xc+a.kf:Math.max(a.xc-a.kf,1),b.height=a.xc,h=!0);a.Kl=m;a.sz.style.width=n;
| c!==a.Ll&&(a.yc="1px"===p?a.yc+a.kf:Math.max(a.yc-a.kf,1),b.width=a.yc,h=!0);a.Ll=c;a.tz.style.height=p;h&&qi(a);m=a.yc;c=a.xc;a.Ij.style.height=c+"px";a.Ij.style.width=m+(a.Ll?a.kf:0)+"px";a.Hj.style.width=m+"px";a.Hj.style.height=c+(a.Kl?a.kf:0)+"px";a.rz=!1;return d!==m||e!==c?(n=a.vb,a.Et(g,n,h?!0:void 0),!1):!0}}}
| z.prototype.add=z.prototype.add=function(a){t.m(a,B,z,"add:part");var b=a.h;if(b!==this){null!==b&&t.l("Cannot add part "+a.toString()+" to "+this.toString()+". It is already a part of "+b.toString());this.kn&&(a.Ik="Tool");var c=a.af,b=this.ct(c);null===b&&(b=this.ct(""));null===b&&t.l('Cannot add a Part when unable find a Layer named "'+c+'" and there is no default Layer');a.layer!==b&&(c=b.kp(99999999,a,a.h===this),0<=c&&this.Xc(vd,"parts",b,null,a,null,c),b.uc||this.Kc(),a.J(Vi),c=a.qp,null!==
| c&&c(a,null,b))}};
| z.prototype.kp=function(a){if(a instanceof S){if(this.nv.add(a),a instanceof T){var b=a.mb;null===b?this.Tk.add(a):b.lo.add(a);b=a.ec;null!==b&&(b.h=this)}}else a instanceof U?this.Xu.add(a):a instanceof Ge||this.zb.add(a);a.Ab&&a.ca();if(b=a.data){a instanceof Ge||(a instanceof U?this.xk.add(b,a):this.hi.add(b,a));var c=this;Wi(a,function(a){Xi(c,a)})}!0!==Li(a)&&!0!==Mi(a)||this.ag.add(a);Yi(a,!0,this);Zi(a)?(a.sa.N()&&this.ha(Th(a,a.sa)),this.Kc()):a.bb()&&a.sa.N()&&this.ha(Th(a,a.sa));this.re()};
| z.prototype.Xe=function(a){a.Gf();if(a instanceof S){if(this.nv.remove(a),a instanceof T){var b=a.mb;null===b?this.Tk.remove(a):b.lo.remove(a);b=a.ec;null!==b&&(b.h=null)}}else a instanceof U?this.Xu.remove(a):a instanceof Ge||this.zb.remove(a);if(b=a.data){a instanceof Ge||(a instanceof U?this.xk.remove(b):this.hi.remove(b));var c=this;Wi(a,function(a){$i(c,a)})}this.ag.remove(a);Zi(a)?(a.sa.N()&&this.ha(Th(a,a.sa)),this.Kc()):a.bb()&&a.sa.N()&&this.ha(Th(a,a.sa));this.re()};
| z.prototype.remove=z.prototype.remove=function(a){t.m(a,B,z,"remove:part");a.fb=!1;a.og=!1;var b=a.layer;if(null!==b&&b.h===this){a.J(aj);a.Gm();var c=b.Xe(-1,a,!1);0<=c&&this.Xc(wd,"parts",b,a,null,c,null);c=a.qp;null!==c&&c(a,b,null)}};z.prototype.removeParts=z.prototype.eB=function(a,b){if(a===this.selection){var c=new na;c.Pe(a);a=c}for(c=a.k;c.next();){var d=c.value;d.h===this&&(b&&!d.canDelete()||this.remove(d))}};z.prototype.copyParts=z.prototype.Cm=function(a,b,c){return this.Te.Cm(a,b,c)};
| z.prototype.moveParts=z.prototype.moveParts=function(a,b,c){t.m(b,v,z,"moveParts:offset");var d=this.ub;if(null!==d){d=d.Dd;null===d&&(d=new $e,d.h=this);var e=new la(B,Object);if(a)a=a.k;else{for(a=this.Jp;a.next();)ff(d,e,a.value,c);for(a=this.aj;a.next();)ff(d,e,a.value,c);a=this.links}for(;a.next();)ff(d,e,a.value,c);d.moveParts(e,b,c)}};
| function bj(a,b,c){t.m(b,$d,z,"addLayer:layer");null!==b.h&&b.h!==a&&t.l("Cannot share a Layer with another Diagram: "+b+" of "+b.h);null===c?null!==b.h&&t.l("Cannot add an existing Layer to this Diagram again: "+b):(t.m(c,$d,z,"addLayer:existingLayer"),c.h!==a&&t.l("Existing Layer must be in this Diagram: "+c+" not in "+c.h),b===c&&t.l("Cannot move a Layer before or after itself: "+b));if(b.h!==a){b=b.name;a=a.Ub;c=a.count;for(var d=0;d<c;d++)a.wa(d).name===b&&t.l("Cannot add Layer with the name '"+
| b+"'; a Layer with the same name is already present in this Diagram.")}}z.prototype.addLayer=z.prototype.Ms=function(a){bj(this,a,null);a.td(this);var b=this.Ub,c=b.count-1;if(!a.uc)for(;0<=c&&b.wa(c).uc;)c--;b.Ed(c+1,a);null!==this.ge&&this.Xc(vd,"layers",this,null,a,null,c+1);this.ha();this.Kc()};
| z.prototype.addLayerBefore=z.prototype.tH=function(a,b){bj(this,a,b);a.td(this);var c=this.Ub,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ge&&this.Xc(wd,"layers",this,a,null,d,null));for(var e=c.count,g=0;g<e;g++)if(c.wa(g)===b){c.Ed(g,a);break}null!==this.ge&&this.Xc(vd,"layers",this,null,a,null,g);this.ha();0>d&&this.Kc()};
| z.prototype.addLayerAfter=function(a,b){bj(this,a,b);a.td(this);var c=this.Ub,d=c.indexOf(a);0<=d&&(c.remove(a),null!==this.ge&&this.Xc(wd,"layers",this,a,null,d,null));for(var e=c.count,g=0;g<e;g++)if(c.wa(g)===b){c.Ed(g+1,a);break}null!==this.ge&&this.Xc(vd,"layers",this,null,a,null,g+1);this.ha();0>d&&this.Kc()};
| z.prototype.removeLayer=function(a){t.m(a,$d,z,"removeLayer:layer");a.h!==this&&t.l("Cannot remove a Layer from another Diagram: "+a+" of "+a.h);if(""!==a.name){var b=this.Ub,c=b.indexOf(a);if(b.remove(a)){for(b=a.zb.copy().k;b.next();){var d=b.value,e=d.af;d.af=e!==a.name?e:""}null!==this.ge&&this.Xc(wd,"layers",this,a,null,c,null);this.ha();this.Kc()}}};z.prototype.findLayer=z.prototype.ct=function(a){for(var b=this.Tw;b.next();){var c=b.value;if(c.name===a)return c}return null};
| z.prototype.addChangedListener=z.prototype.Uz=function(a){t.j(a,"function",z,"addChangedListener:listener");null===this.kj&&(this.kj=new A("function"));this.kj.add(a)};z.prototype.removeChangedListener=z.prototype.cB=function(a){t.j(a,"function",z,"removeChangedListener:listener");null!==this.kj&&(this.kj.remove(a),0===this.kj.count&&(this.kj=null))};
| z.prototype.cw=function(a){this.Wa||this.ma.EE(a);a.qd!==td&&(this.ck=!0);if(null!==this.kj){var b=this.kj,c=b.length;if(1===c)b=b.wa(0),b(a);else if(0!==c)for(var d=b.Ie(),e=0;e<c;e++)b=d[e],b(a)}};z.prototype.raiseChangedEvent=z.prototype.Xc=function(a,b,c,d,e,g,h){void 0===g&&(g=null);void 0===h&&(h=null);var k=new sd;k.h=this;k.qd=a;k.propertyName=b;k.object=c;k.oldValue=d;k.Qf=g;k.newValue=e;k.Of=h;this.cw(k)};
| z.prototype.raiseChanged=z.prototype.i=function(a,b,c,d,e){this.Xc(ud,a,this,b,c,d,e)};t.A(z,{lc:"animationManager"},function(){return this.Wf});t.A(z,{ma:"undoManager"},function(){return this.ge.ma});t.g(z,"skipsUndoManager",z.prototype.Wa);t.defineProperty(z,{Wa:"skipsUndoManager"},function(){return this.Ai},function(a){t.j(a,"boolean",z,"skipsUndoManager");this.Ai=a;this.ge.Ai=a});t.g(z,"delaysLayout",z.prototype.qw);
| t.defineProperty(z,{qw:"delaysLayout"},function(){return this.xy},function(a){this.xy=a});
| z.prototype.changeState=function(a,b){if(null!==a&&a.h===this){var c=a.qd;if(c===ud){var c=a.object,d=a.propertyName,e=a.ya(b);t.Qa(c,d,e);c instanceof Q&&(c=c.S,null!==c&&c.Gf())}else if(c===vd)if(e=a.object,d=a.Of,c=a.newValue,e instanceof y){if("number"===typeof d&&c instanceof Q){var g=e;b?g.Xe(d):g.Ed(d,c);c=e.S;null!==c&&c.Gf()}}else e instanceof $d?(g=!0===a.Qf,"number"===typeof d&&c instanceof B&&(b?(c.Gf(),g?e.Xe(d,c,g):this.remove(c)):e.kp(d,c,g))):e instanceof z?"number"===typeof d&&c instanceof
| $d&&(b?this.Ub.nd(d):(c.td(this),this.Ub.Ed(d,c))):t.l("unknown ChangedEvent.Insert object: "+a.toString());else c===wd?(e=a.object,d=a.Qf,c=a.oldValue,e instanceof y?"number"===typeof d&&c instanceof Q&&(g=e,b?g.Ed(d,c):g.Xe(d)):e instanceof $d?(g=!0===a.Of,"number"===typeof d&&c instanceof B&&(b?e.kp(d,c,g):(c.Gf(),g?e.Xe(d,c,g):this.remove(c)))):e instanceof z?"number"===typeof d&&c instanceof $d&&(b?(c.td(this),this.Ub.Ed(d,c)):this.Ub.nd(d)):t.l("unknown ChangedEvent.Remove object: "+a.toString())):
| c!==td&&t.l("unknown ChangedEvent: "+a.toString())}};z.prototype.startTransaction=z.prototype.pc=function(a){return this.ma.pc(a)};z.prototype.commitTransaction=z.prototype.Ce=function(a){return this.ma.Ce(a)};z.prototype.rollbackTransaction=z.prototype.Pp=function(){return this.ma.Pp()};z.prototype.updateAllTargetBindings=function(a){void 0===a&&(a="");for(var b=this.Jp;b.next();)b.value.Lb(a);for(b=this.aj;b.next();)b.value.Lb(a);for(b=this.links;b.next();)b.value.Lb(a)};
| z.prototype.Et=function(a,b,c){Ei(this);ti(this);var d=this.ec;null===d||!d.st||c||a.width===b.width&&a.height===b.height||d.J();this.Tb||xi(this);Fi(this);d=this.Ua;!0===this.Wn&&d instanceof Ee&&(this.R.da=this.xG(this.R.Ke),d.doMouseMove());Si(this,a,b);this.Aa("ViewportBoundsChanged",c?{}:null,a)};
| function Fi(a,b){var c=a.cd;if(null!==c&&c.visible){for(var d=t.wl(),e=1,g=1,h=c.xa.length,k=0;k<h;k++){var l=c.xa.n[k],m=l.interval;2>m||("LineV"===l.Jb?g=g*m/F.wE(g,m):e=e*m/F.wE(e,m))}h=c.ht;d.q(g*h.width,e*h.height);if(b)k=b.width,l=b.height,g=b.x,h=b.y;else{e=t.yf();g=a.vb;e.q(g.x,g.y,g.width,g.height);for(h=a.bm.k;h.next();)g=h.value.vb,g.N()&&jb(e,g.x,g.y,g.width,g.height);k=e.width;l=e.height;g=e.x;h=e.y;if(!e.N())return}c.width=k+2*d.width;c.height=l+2*d.height;e=t.K();F.dt(g,h,0,0,d.width,
| d.height,e);e.offset(-d.width,-d.height);t.Yj(d);c.S.location=e;t.B(e)}}z.prototype.clearSelection=z.prototype.ew=function(){var a=0<this.selection.count;a&&this.Aa("ChangingSelection");Je(this);a&&this.Aa("ChangedSelection")};function Je(a){a=a.selection;if(0<a.count){for(var b=a.Ie(),c=b.length,d=0;d<c;d++)b[d].fb=!1;a.La();a.clear();a.freeze()}}
| z.prototype.select=z.prototype.select=function(a){null!==a&&a.layer.h===this&&(t.m(a,B,z,"select:part"),!a.fb||1<this.selection.count)&&(this.Aa("ChangingSelection"),Je(this),a.fb=!0,this.Aa("ChangedSelection"))};
| z.prototype.selectCollection=z.prototype.UF=function(a){this.Aa("ChangingSelection");Je(this);if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++){var d=t.jb(a,c);d instanceof B||t.l("Diagram.selectCollection given something that is not a Part: "+d);d.fb=!0}else for(a=a.k;a.next();)d=a.value,d instanceof B||t.l("Diagram.selectCollection given something that is not a Part: "+d),d.fb=!0;this.Aa("ChangedSelection")};
| z.prototype.clearHighlighteds=z.prototype.JD=function(){var a=this.Gw;if(0<a.count){for(var b=a.Ie(),c=b.length,d=0;d<c;d++)b[d].og=!1;a.La();a.clear();a.freeze()}};z.prototype.highlight=function(a){null!==a&&a.layer.h===this&&(t.m(a,B,z,"highlight:part"),!a.og||1<this.Gw.count)&&(this.JD(),a.og=!0)};
| z.prototype.highlightCollection=function(a){this.JD();if(t.isArray(a))for(var b=t.rb(a),c=0;c<b;c++){var d=t.jb(a,c);d instanceof B||t.l("Diagram.highlightCollection given something that is not a Part: "+d);d.og=!0}else for(a=a.k;a.next();)d=a.value,d instanceof B||t.l("Diagram.highlightCollection given something that is not a Part: "+d),d.og=!0};
| z.prototype.scroll=function(a,b,c){void 0===c&&(c=1);var d="up"===b||"down"===b,e;"pixel"===a?e=c:"line"===a?e=c*(d?this.Tp:this.Sp):"page"===a?(a=d?this.vb.height:this.vb.width,a*=this.scale,0!==a&&(e=Math.max(a-(d?this.Tp:this.Sp),0),e*=c)):t.l("scrolling unit must be 'pixel', 'line', or 'page', not: "+a);e/=this.scale;c=this.position.copy();"up"===b?c.y=this.position.y-e:"down"===b?c.y=this.position.y+e:"left"===b?c.x=this.position.x-e:"right"===b?c.x=this.position.x+e:t.l("scrolling direction must be 'up', 'down', 'left', or 'right', not: "+
| b);this.position=c};z.prototype.scrollToRect=function(a){var b=this.vb;b.Rj(a)||(a=a.dA,a.x-=b.width/2,a.y-=b.height/2,this.position=a)};z.prototype.centerRect=function(a){var b=this.vb;a=a.dA;a.x-=b.width/2;a.y-=b.height/2;this.position=a};z.prototype.transformDocToView=z.prototype.vG=function(a){var b=this.hd;b.reset();1!==this.ic&&b.scale(this.ic);var c=this.Ma;(0!==c.x||0!==c.y)&&isFinite(c.x)&&isFinite(c.y)&&b.translate(-c.x,-c.y);return a.copy().transform(this.hd)};
| function Ni(a,b){var c=a.hd,d=b[0],e=b[1],g=d+b[2],h=e+b[3],k=c.m11,l=c.m12,m=c.m21,n=c.m22,p=c.dx,q=c.dy,r=d*k+e*m+p,s=d*l+e*n+q,c=g*k+e*m+p,e=g*l+e*n+q,u=d*k+h*m+p,d=d*l+h*n+q,k=g*k+h*m+p,g=g*l+h*n+q,h=r,l=s,r=Math.min(r,c),h=Math.max(h,c),l=Math.min(l,e),s=Math.max(s,e),r=Math.min(r,u),h=Math.max(h,u),l=Math.min(l,d),s=Math.max(s,d),r=Math.min(r,k),h=Math.max(h,k),l=Math.min(l,g),s=Math.max(s,g);return[r,l,h-r,s-l]}
| z.prototype.transformViewToDoc=z.prototype.xG=function(a){var b=this.hd;b.reset();1!==this.ic&&b.scale(this.ic);var c=this.Ma;(0!==c.x||0!==c.y)&&isFinite(c.x)&&isFinite(c.y)&&b.translate(-c.x,-c.y);return Qa(a.copy(),this.hd)};var Ke;z.None=Ke=t.w(z,"None",0);var Bi;z.Uniform=Bi=t.w(z,"Uniform",1);var Ci;z.UniformToFill=Ci=t.w(z,"UniformToFill",2);var ag;z.CycleAll=ag=t.w(z,"CycleAll",10);var eg;z.CycleNotDirected=eg=t.w(z,"CycleNotDirected",11);var gg;
| z.CycleNotDirectedFast=gg=t.w(z,"CycleNotDirectedFast",12);var og;z.CycleNotUndirected=og=t.w(z,"CycleNotUndirected",13);var bg;z.CycleDestinationTree=bg=t.w(z,"CycleDestinationTree",14);var dg;z.CycleSourceTree=dg=t.w(z,"CycleSourceTree",15);t.g(z,"validCycle",z.prototype.DG);t.defineProperty(z,{DG:"validCycle"},function(){return this.Rv},function(a){var b=this.Rv;b!==a&&(t.sb(a,z,z,"validCycle"),this.Rv=a,this.i("validCycle",b,a))});t.g(z,"linkSpacing",z.prototype.wp);
| t.defineProperty(z,{wp:"linkSpacing"},function(){return this.tj},function(a){var b=this.tj;b!==a&&(t.p(a,z,"linkSpacing"),0>a&&t.ka(a,">= zero",z,"linkSpacing"),this.tj=a,this.i("linkSpacing",b,a))});t.A(z,{Tw:"layers"},function(){return this.Ub.k});t.g(z,"isModelReadOnly",z.prototype.Ze);t.defineProperty(z,{Ze:"isModelReadOnly"},function(){var a=this.ge;return null===a?!1:a.ab},function(a){var b=this.ge;null!==b&&(b.ab=a)});t.g(z,"isReadOnly",z.prototype.ab);
| t.defineProperty(z,{ab:"isReadOnly"},function(){return this.Hk},function(a){var b=this.Hk;b!==a&&(t.j(a,"boolean",z,"isReadOnly"),this.Hk=a,this.i("isReadOnly",b,a))});t.g(z,"isEnabled",z.prototype.isEnabled);t.defineProperty(z,{isEnabled:"isEnabled"},function(){return this.Me},function(a){var b=this.Me;b!==a&&(t.j(a,"boolean",z,"isEnabled"),this.Me=a,this.i("isEnabled",b,a))});t.g(z,"allowClipboard",z.prototype.Zv);
| t.defineProperty(z,{Zv:"allowClipboard"},function(){return this.cu},function(a){var b=this.cu;b!==a&&(t.j(a,"boolean",z,"allowClipboard"),this.cu=a,this.i("allowClipboard",b,a))});t.g(z,"allowCopy",z.prototype.Hi);t.defineProperty(z,{Hi:"allowCopy"},function(){return this.jk},function(a){var b=this.jk;b!==a&&(t.j(a,"boolean",z,"allowCopy"),this.jk=a,this.i("allowCopy",b,a))});t.g(z,"allowDelete",z.prototype.Yk);
| t.defineProperty(z,{Yk:"allowDelete"},function(){return this.kk},function(a){var b=this.kk;b!==a&&(t.j(a,"boolean",z,"allowDelete"),this.kk=a,this.i("allowDelete",b,a))});t.g(z,"allowDragOut",z.prototype.Ps);t.defineProperty(z,{Ps:"allowDragOut"},function(){return this.du},function(a){var b=this.du;b!==a&&(t.j(a,"boolean",z,"allowDragOut"),this.du=a,this.i("allowDragOut",b,a))});t.g(z,"allowDrop",z.prototype.Wz);
| t.defineProperty(z,{Wz:"allowDrop"},function(){return this.eu},function(a){var b=this.eu;b!==a&&(t.j(a,"boolean",z,"allowDrop"),this.eu=a,this.i("allowDrop",b,a))});t.g(z,"allowTextEdit",z.prototype.Mo);t.defineProperty(z,{Mo:"allowTextEdit"},function(){return this.tk},function(a){var b=this.tk;b!==a&&(t.j(a,"boolean",z,"allowTextEdit"),this.tk=a,this.i("allowTextEdit",b,a))});t.g(z,"allowGroup",z.prototype.Io);
| t.defineProperty(z,{Io:"allowGroup"},function(){return this.lk},function(a){var b=this.lk;b!==a&&(t.j(a,"boolean",z,"allowGroup"),this.lk=a,this.i("allowGroup",b,a))});t.g(z,"allowUngroup",z.prototype.No);t.defineProperty(z,{No:"allowUngroup"},function(){return this.uk},function(a){var b=this.uk;b!==a&&(t.j(a,"boolean",z,"allowUngroup"),this.uk=a,this.i("allowUngroup",b,a))});t.g(z,"allowInsert",z.prototype.rm);
| t.defineProperty(z,{rm:"allowInsert"},function(){return this.gu},function(a){var b=this.gu;b!==a&&(t.j(a,"boolean",z,"allowInsert"),this.gu=a,this.i("allowInsert",b,a))});t.g(z,"allowLink",z.prototype.sm);t.defineProperty(z,{sm:"allowLink"},function(){return this.mk},function(a){var b=this.mk;b!==a&&(t.j(a,"boolean",z,"allowLink"),this.mk=a,this.i("allowLink",b,a))});t.g(z,"allowRelink",z.prototype.Oj);
| t.defineProperty(z,{Oj:"allowRelink"},function(){return this.ok},function(a){var b=this.ok;b!==a&&(t.j(a,"boolean",z,"allowRelink"),this.ok=a,this.i("allowRelink",b,a))});t.g(z,"allowMove",z.prototype.Nj);t.defineProperty(z,{Nj:"allowMove"},function(){return this.nk},function(a){var b=this.nk;b!==a&&(t.j(a,"boolean",z,"allowMove"),this.nk=a,this.i("allowMove",b,a))});t.g(z,"allowReshape",z.prototype.Jo);
| t.defineProperty(z,{Jo:"allowReshape"},function(){return this.pk},function(a){var b=this.pk;b!==a&&(t.j(a,"boolean",z,"allowReshape"),this.pk=a,this.i("allowReshape",b,a))});t.g(z,"allowResize",z.prototype.Ko);t.defineProperty(z,{Ko:"allowResize"},function(){return this.qk},function(a){var b=this.qk;b!==a&&(t.j(a,"boolean",z,"allowResize"),this.qk=a,this.i("allowResize",b,a))});t.g(z,"allowRotate",z.prototype.Lo);
| t.defineProperty(z,{Lo:"allowRotate"},function(){return this.rk},function(a){var b=this.rk;b!==a&&(t.j(a,"boolean",z,"allowRotate"),this.rk=a,this.i("allowRotate",b,a))});t.g(z,"allowSelect",z.prototype.Qe);t.defineProperty(z,{Qe:"allowSelect"},function(){return this.sk},function(a){var b=this.sk;b!==a&&(t.j(a,"boolean",z,"allowSelect"),this.sk=a,this.i("allowSelect",b,a))});t.g(z,"allowUndo",z.prototype.Xz);
| t.defineProperty(z,{Xz:"allowUndo"},function(){return this.hu},function(a){var b=this.hu;b!==a&&(t.j(a,"boolean",z,"allowUndo"),this.hu=a,this.i("allowUndo",b,a))});t.g(z,"allowZoom",z.prototype.Qs);t.defineProperty(z,{Qs:"allowZoom"},function(){return this.ju},function(a){var b=this.ju;b!==a&&(t.j(a,"boolean",z,"allowZoom"),this.ju=a,this.i("allowZoom",b,a))});t.g(z,"hasVerticalScrollbar",z.prototype.HE);
| t.defineProperty(z,{HE:"hasVerticalScrollbar"},function(){return this.Mu},function(a){var b=this.Mu;b!==a&&(t.j(a,"boolean",z,"hasVerticalScrollbar"),this.Mu=a,Ei(this),this.ha(),this.i("hasVerticalScrollbar",b,a),xi(this))});t.g(z,"hasHorizontalScrollbar",z.prototype.GE);t.defineProperty(z,{GE:"hasHorizontalScrollbar"},function(){return this.Lu},function(a){var b=this.Lu;b!==a&&(t.j(a,"boolean",z,"hasHorizontalScrollbar"),this.Lu=a,Ei(this),this.ha(),this.i("hasHorizontalScrollbar",b,a),xi(this))});
| t.g(z,"allowHorizontalScroll",z.prototype.lf);t.defineProperty(z,{lf:"allowHorizontalScroll"},function(){return this.fu},function(a){var b=this.fu;b!==a&&(t.j(a,"boolean",z,"allowHorizontalScroll"),this.fu=a,this.i("allowHorizontalScroll",b,a),xi(this))});t.g(z,"allowVerticalScroll",z.prototype.mf);t.defineProperty(z,{mf:"allowVerticalScroll"},function(){return this.iu},function(a){var b=this.iu;b!==a&&(t.j(a,"boolean",z,"allowVerticalScroll"),this.iu=a,this.i("allowVerticalScroll",b,a),xi(this))});
| t.g(z,"scrollHorizontalLineChange",z.prototype.Sp);t.defineProperty(z,{Sp:"scrollHorizontalLineChange"},function(){return this.Av},function(a){var b=this.Av;b!==a&&(t.j(a,"number",z,"scrollHorizontalLineChange"),0>a&&t.ka(a,">= 0",z,"scrollHorizontalLineChange"),this.Av=a,this.i("scrollHorizontalLineChange",b,a))});t.g(z,"scrollVerticalLineChange",z.prototype.Tp);
| t.defineProperty(z,{Tp:"scrollVerticalLineChange"},function(){return this.Bv},function(a){var b=this.Bv;b!==a&&(t.j(a,"number",z,"scrollVerticalLineChange"),0>a&&t.ka(a,">= 0",z,"scrollVerticalLineChange"),this.Bv=a,this.i("scrollVerticalLineChange",b,a))});t.g(z,"lastInput",z.prototype.R);t.defineProperty(z,{R:"lastInput"},function(){return this.$b},function(a){f&&t.m(a,qd,z,"lastInput");this.$b=a});t.g(z,"firstInput",z.prototype.Jc);
| t.defineProperty(z,{Jc:"firstInput"},function(){return this.Ak},function(a){f&&t.m(a,qd,z,"firstInput");this.Ak=a});t.g(z,"currentCursor",z.prototype.Wb);t.defineProperty(z,{Wb:"currentCursor"},function(){return this.py},function(a){""===a&&(a=this.Kq);this.py!==a&&(t.j(a,"string",z,"currentCursor"),null!==this.Sa&&(this.py=a,this.Sa.style.cursor=a,this.Gb.style.cursor=a))});t.g(z,"defaultCursor",z.prototype.fI);
| t.defineProperty(z,{fI:"defaultCursor"},function(){return this.Kq},function(a){""===a&&(a="auto");var b=this.Kq;b!==a&&(t.j(a,"string",z,"defaultCursor"),this.Kq=a,this.i("defaultCursor",b,a))});t.g(z,"hasGestureZoom",z.prototype.DI);t.defineProperty(z,{DI:"hasGestureZoom"},function(){return this.li},function(a){var b=this.li;b!==a&&(t.j(a,"boolean",z,"hasGestureZoom"),this.li=a,this.i("hasGestureZoom",b,a))});t.g(z,"click",z.prototype.click);
| t.defineProperty(z,{click:"click"},function(){return this.di},function(a){var b=this.di;b!==a&&(null!==a&&t.j(a,"function",z,"click"),this.di=a,this.i("click",b,a))});t.g(z,"doubleClick",z.prototype.Hm);t.defineProperty(z,{Hm:"doubleClick"},function(){return this.ji},function(a){var b=this.ji;b!==a&&(null!==a&&t.j(a,"function",z,"doubleClick"),this.ji=a,this.i("doubleClick",b,a))});t.g(z,"contextClick",z.prototype.Ys);
| t.defineProperty(z,{Ys:"contextClick"},function(){return this.fi},function(a){var b=this.fi;b!==a&&(null!==a&&t.j(a,"function",z,"contextClick"),this.fi=a,this.i("contextClick",b,a))});t.g(z,"mouseOver",z.prototype.zt);t.defineProperty(z,{zt:"mouseOver"},function(){return this.ti},function(a){var b=this.ti;b!==a&&(null!==a&&t.j(a,"function",z,"mouseOver"),this.ti=a,this.i("mouseOver",b,a))});t.g(z,"mouseHover",z.prototype.yt);
| t.defineProperty(z,{yt:"mouseHover"},function(){return this.si},function(a){var b=this.si;b!==a&&(null!==a&&t.j(a,"function",z,"mouseHover"),this.si=a,this.i("mouseHover",b,a))});t.g(z,"mouseHold",z.prototype.xt);t.defineProperty(z,{xt:"mouseHold"},function(){return this.ri},function(a){var b=this.ri;b!==a&&(null!==a&&t.j(a,"function",z,"mouseHold"),this.ri=a,this.i("mouseHold",b,a))});t.g(z,"mouseDragOver",z.prototype.qF);
| t.defineProperty(z,{qF:"mouseDragOver"},function(){return this.gv},function(a){var b=this.gv;b!==a&&(null!==a&&t.j(a,"function",z,"mouseDragOver"),this.gv=a,this.i("mouseDragOver",b,a))});t.g(z,"mouseDrop",z.prototype.wt);t.defineProperty(z,{wt:"mouseDrop"},function(){return this.qi},function(a){var b=this.qi;b!==a&&(null!==a&&t.j(a,"function",z,"mouseDrop"),this.qi=a,this.i("mouseDrop",b,a))});t.g(z,"toolTip",z.prototype.Wt);
| t.defineProperty(z,{Wt:"toolTip"},function(){return this.Di},function(a){var b=this.Di;b!==a&&(null!==a&&t.m(a,Ge,z,"toolTip"),this.Di=a,this.i("toolTip",b,a))});t.g(z,"contextMenu",z.prototype.contextMenu);t.defineProperty(z,{contextMenu:"contextMenu"},function(){return this.gi},function(a){var b=this.gi;b!==a&&(null!==a&&t.m(a,Ge,z,"contextMenu"),this.gi=a,this.i("contextMenu",b,a))});t.g(z,"commandHandler",z.prototype.Te);
| t.defineProperty(z,{Te:"commandHandler"},function(){return this.gy},function(a){var b=this.gy;b!==a&&(t.m(a,qa,z,"commandHandler"),null!==a.h&&t.l("Cannot share CommandHandlers between Diagrams: "+a.toString()),null!==b&&b.td(null),this.gy=a,a.td(this))});t.g(z,"toolManager",z.prototype.ub);
| t.defineProperty(z,{ub:"toolManager"},function(){return this.Pv},function(a){var b=this.Pv;b!==a&&(t.m(a,Ee,z,"toolManager"),null!==a.h&&t.l("Cannot share ToolManagers between Diagrams: "+a.toString()),null!==b&&b.td(null),this.Pv=a,a.td(this))});t.g(z,"defaultTool",z.prototype.ow);t.defineProperty(z,{ow:"defaultTool"},function(){return this.wy},function(a){var b=this.wy;b!==a&&(t.m(a,ae,z,"defaultTool"),this.wy=a,this.Ua===b&&(this.Ua=a))});t.g(z,"currentTool",z.prototype.Ua);
| t.defineProperty(z,{Ua:"currentTool"},function(){return this.sy},function(a){var b=this.sy;if(null!==b)for(b.ia&&b.doDeactivate(),b.cancelWaitAfter(),b.doStop(),b=this.bm.k;b.next();)b.value.ha();null===a&&(a=this.ow);null!==a&&(t.m(a,ae,z,"currentTool"),this.sy=a,a.td(this),a.doStart())});t.A(z,{selection:"selection"},function(){return this.Ev});t.g(z,"maxSelectionCount",z.prototype.jF);
| t.defineProperty(z,{jF:"maxSelectionCount"},function(){return this.bv},function(a){var b=this.bv;if(b!==a)if(t.j(a,"number",z,"maxSelectionCount"),0<=a&&!isNaN(a)){if(this.bv=a,this.i("maxSelectionCount",b,a),!this.ma.pb&&(a=this.selection.count-a,0<a)){this.Aa("ChangingSelection");for(var b=this.selection.Ie(),c=0;c<a;c++)b[c].fb=!1;this.Aa("ChangedSelection")}}else t.ka(a,">= 0",z,"maxSelectionCount")});t.g(z,"nodeSelectionAdornmentTemplate",z.prototype.vF);
| t.defineProperty(z,{vF:"nodeSelectionAdornmentTemplate"},function(){return this.mv},function(a){var b=this.mv;b!==a&&(t.m(a,Ge,z,"nodeSelectionAdornmentTemplate"),this.mv=a,this.i("nodeSelectionAdornmentTemplate",b,a))});t.g(z,"groupSelectionAdornmentTemplate",z.prototype.CE);t.defineProperty(z,{CE:"groupSelectionAdornmentTemplate"},function(){return this.Ju},function(a){var b=this.Ju;b!==a&&(t.m(a,Ge,z,"groupSelectionAdornmentTemplate"),this.Ju=a,this.i("groupSelectionAdornmentTemplate",b,a))});
| t.g(z,"linkSelectionAdornmentTemplate",z.prototype.gF);t.defineProperty(z,{gF:"linkSelectionAdornmentTemplate"},function(){return this.Wu},function(a){var b=this.Wu;b!==a&&(t.m(a,Ge,z,"linkSelectionAdornmentTemplate"),this.Wu=a,this.i("linkSelectionAdornmentTemplate",b,a))});t.A(z,{Gw:"highlighteds"},function(){return this.Nu});t.g(z,"isModified",z.prototype.ck);
| t.defineProperty(z,{ck:"isModified"},function(){var a=this.ma;return a.isEnabled?null!==a.Oi?!0:this.Uy&&this.Ek!==a.ak:this.Uy},function(a){if(this.Uy!==a){t.j(a,"boolean",z,"isModified");this.Uy=a;var b=this.ma;!a&&b.isEnabled&&(this.Ek=b.ak);a||cj(this)}});function cj(a){var b=a.ck;a.rD!==b&&(a.rD=b,a.Aa("Modified"))}t.g(z,"model",z.prototype.fa);
| t.defineProperty(z,{fa:"model"},function(){return this.ge},function(a){var b=this.ge;if(b!==a){t.m(a,D,z,"model");this.Ua.doCancel();null!==b&&b.ma!==a.ma&&b.ma.TE&&t.l("Do not replace a Diagram.model while a transaction is in progress.");this.lc.Yp();this.ew();this.Af=!1;this.Ln=!0;this.Ff=!1;var c=this.xd;this.xd=!0;this.lc.Sk=!1;this.lc.Kp();null!==b&&(b.cB(this.LC),b instanceof P&&dj(this,b.Yi),dj(this,b.vg));this.ge=a;a.Uz(this.KC);ej(this,a.vg);a instanceof P&&fj(this,a.Yi);a.cB(this.KC);a.Uz(this.LC);
| this.xd=c;this.Tb||this.ha();null!==b&&(a.ma.isEnabled=b.ma.isEnabled)}});t.defineProperty(z,{Ta:null},function(){return this.EC},function(a){this.EC=a});
| function Xh(a,b){if(b.fa===a.fa&&a.Ta){a.Ta=!1;try{var c=b.qd,d=b.tf;if(""!==d)if(c===ud){if("linkFromKey"===d){var e=b.object,g=a.If(e);if(null!==g){var h=b.newValue,k=a.ng(h);g.aa=k}}else if("linkToKey"===d)e=b.object,g=a.If(e),null!==g&&(h=b.newValue,k=a.ng(h),g.ea=k);else if("linkFromPortId"===d){if(e=b.object,g=a.If(e),null!==g){var l=b.newValue;"string"===typeof l&&(g.Jf=l)}}else if("linkToPortId"===d)e=b.object,g=a.If(e),null!==g&&(l=b.newValue,"string"===typeof l&&(g.Eg=l));else if("nodeGroupKey"===
| d){var e=b.object,m=a.Nh(e);if(null!==m){var n=b.newValue;if(void 0!==n){var p=a.ng(n);m.mb=p instanceof T?p:null}else m.mb=null}}else if("linkLabelKeys"===d){if(e=b.object,g=a.If(e),null!==g){var q=b.oldValue,r=b.newValue;if(t.isArray(q))for(var s=t.rb(q),u=0;u<s;u++){var x=t.jb(q,u),k=a.ng(x);null!==k&&(k.Wd=null)}if(t.isArray(r))for(s=t.rb(r),u=0;u<s;u++)x=t.jb(r,u),k=a.ng(x),null!==k&&(k.Wd=g)}}else if("nodeParentKey"===d){var E=b.object,G=a.ng(b.newValue),C=a.zw(E);if(null!==C){var I=C.ft();
| null!==I?null===G?a.remove(I):a.md?I.aa=G:I.ea=G:gj(a,G,C)}}else if("parentLinkCategory"===d){var E=b.object,C=a.zw(E),O=b.newValue;null!==C&&"string"===typeof O&&(I=C.ft(),null!==I&&(I.Uc=O))}else if("nodeCategory"===d){var e=b.object,N=a.Nh(e),O=b.newValue;null!==N&&"string"===typeof O&&(N.Uc=O)}else if("linkCategory"===d){var e=b.object,V=a.If(e),O=b.newValue;null!==V&&"string"===typeof O&&(V.Uc=O)}else if("nodeDataArray"===d){a.ha();var W=b.oldValue;dj(a,W);var Y=b.newValue;ej(a,Y)}else"linkDataArray"===
| d&&(a.ha(),W=b.oldValue,dj(a,W),Y=b.newValue,fj(a,Y));a.ck=!0}else if(c===vd)Y=b.newValue,"nodeDataArray"===d&&t.tb(Y)?hj(a,Y):"linkDataArray"===d&&t.tb(Y)?ij(a,Y):"linkLabelKeys"===d&&pe(Y)&&(g=a.If(b.object),k=a.ng(Y),null!==g&&null!==k&&(k.Wd=g)),a.ck=!0;else if(c===wd)W=b.oldValue,"nodeDataArray"===d&&t.tb(W)?jj(a,W):"linkDataArray"===d&&t.tb(W)?jj(a,W):"linkLabelKeys"===d&&pe(W)&&(k=a.ng(W),null!==k&&(k.Wd=null)),a.ck=!0;else{if(c===td&&"SourceChanged"===d){var m=a.Nh(b.object),R=b.propertyName;
| null!==m&&"string"===typeof R&&(m.Lb(R),a.fa instanceof Kd&&(g=a.If(b.object),null!==g&&g.Lb(R)))}}else if(c===ud){var wa=b.propertyName,e=b.object;if(e===a.fa){if("nodeKeyProperty"===wa||"nodeCategoryProperty"===wa||"linkFromKeyProperty"===wa||"linkToKeyProperty"===wa||"linkFromPortIdProperty"===wa||"linkToPortIdProperty"===wa||"linkLabelKeysProperty"===wa||"nodeIsGroupProperty"===wa||"nodeGroupKeyProperty"===wa||"nodeParentKeyProperty"===wa||"linkCategoryProperty"===wa)a.ma.pb||a.Ym()}else Wh(a,
| e,wa);a.ck=!0}else if(c===vd||c===wd)kj(a,b),a.ck=!0;else if(c===td){var Sa=b.propertyName;if("S"===Sa[0])if("StartingFirstTransaction"===Sa){for(var Ea=a.ub,Ga=Ea.df.k;Ga.next();)Ga.value.td(a);for(Ga=Ea.sg.k;Ga.next();)Ga.value.td(a);for(Ga=Ea.tg.k;Ga.next();)Ga.value.td(a);a.xd||a.Af||(a.Bu=!0,a.Ln&&(a.Ff=!0),a.Wf.Sk=!1,a.Wf.Kp())}else if("StartingUndo"===Sa||"StartingRedo"===Sa){var ia=a.lc;ia.bk&&!a.Wa&&ia.Yp();a.Aa("ChangingSelection")}else"StartedTransaction"===Sa&&(ia=a.lc,ia.bk&&!a.Wa&&ia.Yp());
| else"CommittingTransaction"===Sa||"FinishedUndo"!==Sa&&"FinishedRedo"!==Sa||(a.ma.ni=!0,a.Aa("ChangedSelection"),vi(a),a.ma.ni=!1),a.Bu=!0,a.qg(),ia=a.Wf,ia.ed&&0===a.ma.Je&&(!0===ia.Sk?ia.Sk=!1:Dh(ia)),cj(a),a.ez||"CommittedTransaction"!==Sa||(a.ez=!0,setTimeout(function(){a.Ua.standardMouseOver();a.ez=!1},10))}}finally{a.Ta=!0}}}
| function Wh(a,b,c){var d=a.Nh(b);if(null!==d&&"string"===typeof c)d.Lb(c),a.fa instanceof Kd&&(b=a.If(b),null!==b&&b.Lb(c));else if("string"===typeof c){d=null;for(a=a.Rl.k;a.next();){for(var e=a.value,g=0;g<e.length;g++){var h=e[g];null!==h.bg&&(h=h.bg.ya(b),null!==h&&(null===d&&(d=t.Cb()),d.push(h)))}if(null!==d)break}b=d;if(null!==b){for(d=0;d<b.length;d++)b[d].Lb(c);t.za(b)}}}t.g(z,"skipsModelSourceBindings",z.prototype.Rt);
| t.defineProperty(z,{Rt:"skipsModelSourceBindings"},function(){return this.cD},function(a){this.cD=a});function kj(a,b){var c=b.qd===vd,d=c?b.Of:b.Qf,e=c?b.newValue:b.oldValue,g=a.Rl.ya(b.object);if(Array.isArray(g)&&"number"===typeof d)for(var h=0;h<g.length;h++){var k=g[h];k.type!==Rg&&k.type!==ci||d++;c?lj(k,e,d):(k.Xe(d),mj(k,d-1))}}function Xi(a,b){var c=b.oi;if(t.isArray(c)){var d=a.Rl.ya(c);if(null===d)a.Rl.add(c,[b]);else{for(c=0;c<d.length;c++)if(d[c]===b)return;d.push(b)}}}
| function $i(a,b){var c=b.oi;if(t.isArray(c)){var d=a.Rl.ya(c);if(null!==d)for(var e=0;e<d.length;e++)if(d[e]===b){d.splice(e,1);0===d.length&&a.Rl.remove(c);break}}}
| z.prototype.clear=z.prototype.clear=function(){var a=null;null!==this.cd&&(a=this.cd.S);this.fa.clear();for(var b=this.Ub.length,c=0;c<b;c++)this.Ub.n[c].clear();this.ag.clear();this.En.clear();this.nv.clear();this.Tk.clear();this.Xu.clear();this.zb.clear();this.hi.clear();this.xk.clear();this.Rl.clear();this.Ev.La();this.Ev.clear();this.Ev.freeze();this.Nu.La();this.Nu.clear();this.Nu.freeze();this.tn=null;t.Vs=null;this.Cu=(new w(NaN,NaN,NaN,NaN)).freeze();null!==a&&(this.add(a),this.zb.remove(a));
| this.ha()};
| z.prototype.reset=z.prototype.reset=function(){this.Tb=!0;this.clear();this.Ub=new A($d);this.Rk={};this.EF();this.Ma=(new v(NaN,NaN)).freeze();this.ic=1;this.Pu=(new v(NaN,NaN)).freeze();this.Qu=NaN;this.dv=1E-4;this.av=100;this.Uv=(new v(NaN,NaN)).freeze();this.Hu=(new w(NaN,NaN,NaN,NaN)).freeze();this.Bl=Ke;this.sn=xb;this.Fk=Ke;this.Sn=xb;this.Ru=this.Ou=Eb;this.ou=(new ab(16,16,16,16)).freeze();this.Tu=!0;this.Rv=ag;this.Kq="auto";this.gi=this.Di=this.qi=this.gv=this.ri=this.si=this.ti=this.fi=
| this.ji=this.di=null;this.Hk=!1;this.kk=this.jk=this.cu=this.Me=!0;this.eu=this.du=!1;this.iu=this.fu=this.Mu=this.Lu=this.ju=this.hu=this.sk=this.rk=this.qk=this.pk=this.nk=this.ok=this.mk=this.gu=this.uk=this.lk=this.tk=!0;this.Bv=this.Av=16;this.Oe=(new ab(5)).freeze();this.bv=999999999;this.Ld=null;Yh(this);Zh(this);this.cd=null;this.fa=new P;this.Ai=!0;this.ec=new be;this.Af=this.Ai=!1;this.Ln=!0;this.Tb=this.Ff=!1;this.ha()};
| z.prototype.rebuildParts=z.prototype.Ym=function(){for(var a=this.Zw.k;a.next();){var b=a.value;(!b.Gd()||b instanceof T)&&t.l('Invalid node template in Diagram.nodeTemplateMap: template for "'+a.key+'" must be a Node or a simple Part, not a Group or Link: '+b)}for(a=this.Ew.k;a.next();)b=a.value,b instanceof T||t.l('Invalid group template in Diagram.groupTemplateMap: template for "'+a.key+'" must be a Group, not a normal Node or Link: '+b);for(a=this.Vw.k;a.next();)b=a.value,b instanceof U||t.l('Invalid link template in Diagram.linkTemplateMap: template for "'+
| a.key+'" must be a Link, not a normal Node or simple Part: '+b);a=t.Cb();for(b=this.selection.k;b.next();){var c=b.value.data;c&&a.push(c)}for(var b=t.Cb(),d=this.Gw.k;d.next();)(c=d.value.data)&&b.push(c);this.Wf.Sk=!0;c=this.fa;c instanceof P&&dj(this,c.Yi);dj(this,c.vg);ej(this,c.vg);c instanceof P&&fj(this,c.Yi);for(c=0;c<a.length;c++)if(d=this.Nh(a[c]))d.fb=!0;for(c=0;c<b.length;c++)if(d=this.Nh(b[c]))d.og=!0;t.za(a)};
| function ej(a,b){if(null!==b){for(var c=a.fa,d=t.rb(b),e=0;e<d;e++){var g=t.jb(b,e);c.je(g)?hj(a,g,!1):c instanceof P&&ij(a,g)}if(c instanceof P||c instanceof Kd){for(e=0;e<d;e++)g=t.jb(b,e),c.je(g)&&nj(a,g);if(c instanceof P)for(c=a.links;c.next();)oj(c.value)}pj(a,!1)}}
| function hj(a,b,c){if(void 0!==b&&null!==b&&!a.ma.pb&&!a.hi.contains(b)){void 0===c&&(c=!0);var d=a.getCategoryForNodeData(b),e=a.findTemplateForNodeData(b,d);e instanceof B&&(Ie(e),e=e.copy(),e instanceof B&&(e.dh=d,a.kn&&(e.Ik="Tool"),a.add(e),e.data=b,c&&nj(a,b)))}}z.prototype.getCategoryForNodeData=function(a){var b=this.fa,c=b.getCategoryForNodeData(a),d=!1;b instanceof P&&(d=b.LI(a));d&&""===c&&(c="LinkLabel");return c};
| z.prototype.findTemplateForNodeData=function(a,b){var c=!1,d=this.fa;d instanceof P&&(c=d.CA(a));c?(c=this.Ew.ya(b),null===c&&(c=this.Ew.ya(""),null===c&&(t.GG||(t.GG=!0,t.trace('No Group template found for category "'+b+'"'),t.trace(" Using default group template")),c=this.eC))):(c=this.Zw.ya(b),null===c&&(c=this.Zw.ya(""),null===c&&(t.JG||(t.JG=!0,t.trace('No Node template found for category "'+b+'"'),t.trace(" Using default node template")),c=this.gC)));return c instanceof B?c:null};
| function nj(a,b){var c=a.fa;if(c instanceof P||c instanceof Kd){var d=c.Ob(b);if(void 0!==d){var e=qe(c,d),g=a.Nh(b);if(null!==e&&null!==g){for(e=e.k;e.next();){var h=e.value;if(c instanceof P)if(c.je(h)){if(g instanceof T&&c.fp(h)===d){var k=a.Nh(h);null!==k&&(k.mb=g)}}else{if(k=a.If(h),null!==k&&g instanceof S&&(c.Lm(h)===d&&(k.aa=g),c.Mm(h)===d&&(k.ea=g),h=c.il(h),t.isArray(h)))for(var l=0;l<t.rb(h);l++)if(t.jb(h,l)===d){g.Wd=k;break}}else c instanceof Kd&&c.je(h)&&g instanceof S&&c.hp(h)===d&&
| (k=a.zw(h),gj(a,g,k))}ye(c,d)}c instanceof P?(c=c.fp(b),void 0!==c&&(c=a.ng(c),c instanceof T&&(g.mb=c))):c instanceof Kd&&(c=c.hp(b),void 0!==c&&g instanceof S&&(c=a.ng(c),gj(a,c,g)))}}}
| function gj(a,b,c){if(null!==b&&null!==c){var d=a.ub.JA,e=b,g=c;if(a.md)for(b=g.oe;b.next();){var h=b.value;if(h.ea===g)return}else for(e=c,g=b,b=e.oe;b.next();)if(h=b.value,h.aa===e)return;null!==d&&cg(d,e,g,null,!0)||(d=a.getCategoryForLinkData(c.data),b=a.findTemplateForLinkData(c.data,d),b instanceof U&&(Ie(b),b=b.copy(),b instanceof U&&(b.dh=d,b.aa=e,b.ea=g,a.add(b),b.data=c.data)))}}function fj(a,b){if(null!==b){for(var c=t.rb(b),d=0;d<c;d++){var e=t.jb(b,d);ij(a,e)}pj(a,!1)}}
| function ij(a,b){if(void 0!==b&&null!==b&&!a.ma.pb&&!a.xk.contains(b)){var c=a.getCategoryForLinkData(b),d=a.findTemplateForLinkData(b,c);if(d instanceof U&&(Ie(d),d=d.copy(),d instanceof U)){d.dh=c;var c=a.fa,e=c.xI(b);""!==e&&(d.Jf=e);e=c.Lm(b);void 0!==e&&(e=a.ng(e),e instanceof S&&(d.aa=e));e=c.AI(b);""!==e&&(d.Eg=e);e=c.Mm(b);void 0!==e&&(e=a.ng(e),e instanceof S&&(d.ea=e));c=c.il(b);if(t.isArray(c))for(var e=t.rb(c),g=0;g<e;g++){var h=t.jb(c,g),h=a.ng(h);null!==h&&(h.Wd=d)}a.add(d);d.data=b}}}
| z.prototype.getCategoryForLinkData=function(a){var b=this.fa,c="";b instanceof P?c=b.getCategoryForLinkData(a):b instanceof Kd&&(c=b.zI(a));return c};z.prototype.findTemplateForLinkData=function(a,b){var c=this.Vw.ya(b);null===c&&(c=this.Vw.ya(""),null===c&&(t.IG||(t.IG=!0,t.trace('No Link template found for category "'+b+'"'),t.trace(" Using default link template")),c=this.fC));return c instanceof U?c:null};function dj(a,b){for(var c=t.rb(b),d=0;d<c;d++){var e=t.jb(b,d);jj(a,e)}}
| function jj(a,b){if(void 0!==b&&null!==b){var c=a.Nh(b);if(c instanceof B){c.fb=!1;c.og=!1;var d=c.layer;if(null!==d&&d.h===a){var e=a.fa;if(e instanceof P&&c instanceof S){var g=e.Ob(c.data);if(void 0!==g){for(var h=c.oe;h.next();){var k=h.value.data;re(e,g,k)}c.Qh&&(h=c.Wd,null!==h&&(k=h.data,re(e,g,k)));if(c instanceof T)for(h=c.Vc;h.next();)k=h.value.data,e.je(k)&&re(e,g,k)}}else if(e instanceof Kd&&c instanceof S){h=a.If(c.data);if(null!==h&&(h.fb=!1,h.og=!1,k=h.layer,null!==k)){var l=k.Xe(-1,
| h,!1);0<=l&&a.Xc(wd,"parts",k,h,null,l,null);l=h.qp;null!==l&&l(h,k,null)}h=a.md;for(k=c.oe;k.next();)l=k.value,l=(h?l.ea:l.aa).data,e.je(l)&&re(e,g,l)}e=d.Xe(-1,c,!1);0<=e&&a.Xc(wd,"parts",d,c,null,e,null);e=c.qp;null!==e&&e(c,d,null)}}}}z.prototype.findPartForKey=function(a){if(null===a||void 0===a)return null;a=this.fa.pf(a);if(null===a)return null;a=this.hi.ya(a);return a instanceof B?a:null};
| z.prototype.findNodeForKey=z.prototype.ng=function(a){if(null===a||void 0===a)return null;a=this.fa.pf(a);if(null===a)return null;a=this.hi.ya(a);return a instanceof S?a:null};z.prototype.findPartForData=z.prototype.Nh=function(a){if(null===a)return null;var b=this.hi.ya(a);if(b instanceof B)return b;b=this.xk.ya(a);return b instanceof B?b:null};z.prototype.findNodeForData=z.prototype.zw=function(a){if(null===a)return null;a=this.hi.ya(a);return a instanceof S?a:null};
| z.prototype.findLinkForData=z.prototype.If=function(a){if(null===a)return null;a=this.xk.ya(a);return a instanceof U?a:null};t.g(z,"nodeTemplate",z.prototype.gJ);t.defineProperty(z,{gJ:"nodeTemplate"},function(){return this.ui.ya("")},function(a){var b=this.ui.ya("");b!==a&&(t.m(a,B,z,"nodeTemplate"),this.ui.add("",a),this.i("nodeTemplate",b,a),this.ma.pb||this.Ym())});t.g(z,"nodeTemplateMap",z.prototype.Zw);
| t.defineProperty(z,{Zw:"nodeTemplateMap"},function(){return this.ui},function(a){var b=this.ui;b!==a&&(t.m(a,la,z,"nodeTemplateMap"),this.ui=a,this.i("nodeTemplateMap",b,a),this.ma.pb||this.Ym())});t.g(z,"groupTemplate",z.prototype.CI);t.defineProperty(z,{CI:"groupTemplate"},function(){return this.Bk.ya("")},function(a){var b=this.Bk.ya("");b!==a&&(t.m(a,T,z,"groupTemplate"),this.Bk.add("",a),this.i("groupTemplate",b,a),this.ma.pb||this.Ym())});t.g(z,"groupTemplateMap",z.prototype.Ew);
| t.defineProperty(z,{Ew:"groupTemplateMap"},function(){return this.Bk},function(a){var b=this.Bk;b!==a&&(t.m(a,la,z,"groupTemplateMap"),this.Bk=a,this.i("groupTemplateMap",b,a),this.ma.pb||this.Ym())});t.g(z,"linkTemplate",z.prototype.ZI);t.defineProperty(z,{ZI:"linkTemplate"},function(){return this.uj.ya("")},function(a){var b=this.uj.ya("");b!==a&&(t.m(a,U,z,"linkTemplate"),this.uj.add("",a),this.i("linkTemplate",b,a),this.ma.pb||this.Ym())});t.g(z,"linkTemplateMap",z.prototype.Vw);
| t.defineProperty(z,{Vw:"linkTemplateMap"},function(){return this.uj},function(a){var b=this.uj;b!==a&&(t.m(a,la,z,"linkTemplateMap"),this.uj=a,this.i("linkTemplateMap",b,a),this.ma.pb||this.Ym())});t.g(z,"isMouseCaptured",z.prototype.Fd);
| t.defineProperty(z,{Fd:"isMouseCaptured"},function(){return this.CC},function(a){var b=this.Sa;null!==b&&(a?(this.R.bubbles=!1,b.removeEventListener("mousemove",this.Bp,!1),b.removeEventListener("mousedown",this.Ap,!1),b.removeEventListener("mouseup",this.Dp,!1),b.removeEventListener("mousewheel",this.Xg,!1),b.removeEventListener("DOMMouseScroll",this.Xg,!1),b.removeEventListener("mouseout",this.Cp,!1),window.addEventListener("mousemove",this.Bp,!0),window.addEventListener("mousedown",this.Ap,!0),
| window.addEventListener("mouseup",this.Dp,!0),window.addEventListener("mousewheel",this.Xg,!0),window.addEventListener("DOMMouseScroll",this.Xg,!0),window.addEventListener("mouseout",this.Cp,!0),window.addEventListener("selectstart",this.preventDefault,!1)):(window.removeEventListener("mousemove",this.Bp,!0),window.removeEventListener("mousedown",this.Ap,!0),window.removeEventListener("mouseup",this.Dp,!0),window.removeEventListener("mousewheel",this.Xg,!0),window.removeEventListener("DOMMouseScroll",
| this.Xg,!0),window.removeEventListener("mouseout",this.Cp,!0),window.removeEventListener("selectstart",this.preventDefault,!1),b.addEventListener("mousemove",this.Bp,!1),b.addEventListener("mousedown",this.Ap,!1),b.addEventListener("mouseup",this.Dp,!1),b.addEventListener("mousewheel",this.Xg,!1),b.addEventListener("DOMMouseScroll",this.Xg,!1),b.addEventListener("mouseout",this.Cp,!1)),this.CC=a)});t.g(z,"position",z.prototype.position);
| t.defineProperty(z,{position:"position"},function(){return this.Ma},function(a){var b=this.Ma;if(!b.M(a)){t.m(a,v,z,"position");var c=this.vb.copy();c.x=b.x;c.y=b.y;a=a.copy();if(b.Wj(a))a=b;else if(!this.Tb&&null!==this.Sa){this.Tb=!0;var d=this.scale;zi(this,a,this.Cd,this.yc/d,this.xc/d,this.sn);this.Tb=!1}this.Ma=a.Z();a=this.lc;a.ed&&Oh(a,b,this.Ma);this.Tb||this.Et(c,this.vb)}});t.g(z,"initialPosition",z.prototype.LE);
| t.defineProperty(z,{LE:"initialPosition"},function(){return this.Pu},function(a){this.Pu.M(a)||(t.m(a,v,z,"initialPosition"),this.Pu=a.Z())});t.g(z,"initialScale",z.prototype.ME);t.defineProperty(z,{ME:"initialScale"},function(){return this.Qu},function(a){this.Qu!==a&&(t.j(a,"number",z,"initialScale"),this.Qu=a)});t.g(z,"grid",z.prototype.ip);
| t.defineProperty(z,{ip:"grid"},function(){null===this.cd&&ri(this);return this.cd},function(a){var b=this.cd;if(b!==a){null===b&&(ri(this),b=this.cd);t.m(a,y,z,"grid");a.type!==si&&t.l("Diagram.grid must be a Panel of type Panel.Grid");var c=b.ja;null!==c&&c.remove(b);this.cd=a;a.name="GRID";null!==c&&c.add(a);Fi(this);this.ha();this.i("grid",b,a)}});
| t.A(z,{vb:"viewportBounds"},function(){var a=this.qD;if(null===this.Sa)return a;var b=this.Ma,c=this.ic;a.q(b.x,b.y,Math.max(this.yc,0)/c,Math.max(this.xc,0)/c);return a});t.g(z,"fixedBounds",z.prototype.oA);t.defineProperty(z,{oA:"fixedBounds"},function(){return this.Hu},function(a){var b=this.Hu;b.M(a)||(t.m(a,w,z,"fixedBounds"),this.Hu=a=a.Z(),this.Kc(),this.i("fixedBounds",b,a))});t.A(z,{Cd:"documentBounds"},function(){return this.Cu});
| function Ai(a,b){a.mi=!1;var c=a.Cu;c.M(b)||(b=b.Z(),a.Cu=b,a.oj=null,xi(a),a.Aa("DocumentBoundsChanged",null,c.copy()),Ei(a))}t.g(z,"scale",z.prototype.scale);
| t.defineProperty(z,{scale:"scale"},function(){return this.ic},function(a){var b=this.ic;t.p(a,z,"scale");a<this.rg&&(a=this.rg);a>this.pg&&(a=this.pg);if(b!==a){this.ic=a;if(!this.Tb&&!this.xd&&(this.Tb=!0,null!==this.Sa)){var c=this.vb.copy(),d=this.yc/a,e=this.xc/a;c.width=this.yc/b;c.height=this.xc/b;var g=this.Uf.copy();if(isNaN(g.x))switch(this.jw){case ac:g.x=0;break;case bc:g.x=d-1;break;case Hb:g.x=d/2;break;case xb:case gc:g.x=d/2}if(isNaN(g.y))switch(this.jw){case $b:g.y=0;break;case cc:g.y=
| e-1;break;case Hb:g.y=e/2;break;case xb:case gc:g.y=e/2}this.position=new v(this.Ma.x+g.x/b-g.x/a,this.Ma.y+g.y/b-g.y/a);this.Tb=!1;this.Et(c,this.vb)}this.ha();Ei(this)}});t.g(z,"autoScale",z.prototype.wm);t.defineProperty(z,{wm:"autoScale"},function(){return this.Bl},function(a){var b=this.Bl;b!==a&&(t.sb(a,z,z,"autoScale"),this.Bl=a,this.i("autoScale",b,a),a!==Ke&&xi(this))});t.g(z,"initialAutoScale",z.prototype.HI);
| t.defineProperty(z,{HI:"initialAutoScale"},function(){return this.Fk},function(a){var b=this.Fk;b!==a&&(t.sb(a,z,z,"initialAutoScale"),this.Fk=a,this.i("initialAutoScale",b,a))});t.g(z,"initialViewportSpot",z.prototype.NE);t.defineProperty(z,{NE:"initialViewportSpot"},function(){return this.Ru},function(a){var b=this.Ru;b!==a&&(t.m(a,H,z,"initialViewportSpot"),a.sd()||t.l("initialViewportSpot must be a real Spot: "+a),this.Ru=a,this.i("initialViewportSpot",b,a))});t.g(z,"initialDocumentSpot",z.prototype.KE);
| t.defineProperty(z,{KE:"initialDocumentSpot"},function(){return this.Ou},function(a){var b=this.Ou;b!==a&&(t.m(a,H,z,"initialDocumentSpot"),a.sd()||t.l("initialViewportSpot must be a real Spot: "+a),this.Ou=a,this.i("initialDocumentSpot",b,a))});t.g(z,"minScale",z.prototype.rg);t.defineProperty(z,{rg:"minScale"},function(){return this.dv},function(a){t.p(a,z,"minScale");var b=this.dv;b!==a&&0<a?(this.dv=a,this.i("minScale",b,a),a>this.scale&&(this.scale=a)):t.ka(a,"> 0",z,"minScale")});
| t.g(z,"maxScale",z.prototype.pg);t.defineProperty(z,{pg:"maxScale"},function(){return this.av},function(a){t.p(a,z,"maxScale");var b=this.av;b!==a&&0<a?(this.av=a,this.i("maxScale",b,a),a<this.scale&&(this.scale=a)):t.ka(a,"> 0",z,"maxScale")});t.g(z,"zoomPoint",z.prototype.Uf);t.defineProperty(z,{Uf:"zoomPoint"},function(){return this.Uv},function(a){this.Uv.M(a)||(t.m(a,v,z,"zoomPoint"),this.Uv=a=a.Z())});t.g(z,"contentAlignment",z.prototype.jw);
| t.defineProperty(z,{jw:"contentAlignment"},function(){return this.sn},function(a){var b=this.sn;b.M(a)||(t.m(a,H,z,"contentAlignment"),this.sn=a=a.Z(),this.i("contentAlignment",b,a),xi(this))});t.g(z,"initialContentAlignment",z.prototype.II);t.defineProperty(z,{II:"initialContentAlignment"},function(){return this.Sn},function(a){var b=this.Sn;b.M(a)||(t.m(a,H,z,"initialContentAlignment"),this.Sn=a=a.Z(),this.i("initialContentAlignment",b,a))});t.g(z,"padding",z.prototype.padding);
| t.defineProperty(z,{padding:"padding"},function(){return this.Oe},function(a){"number"===typeof a?a=new ab(a):t.m(a,ab,z,"padding");var b=this.Oe;b.M(a)||(this.Oe=a=a.Z(),this.Kc(),this.i("padding",b,a))});t.A(z,{aj:"nodes"},function(){return this.nv.k});t.A(z,{links:"links"},function(){return this.Xu.k});t.A(z,{Jp:"parts"},function(){return this.zb.k});z.prototype.findTopLevelGroups=function(){return this.Tk.k};t.g(z,"layout",z.prototype.ec);
| t.defineProperty(z,{ec:"layout"},function(){return this.Ld},function(a){var b=this.Ld;b!==a&&(t.m(a,be,z,"layout"),null!==b&&(b.h=null,b.group=null),this.Ld=a,a.h=this,a.group=null,this.ku=!0,this.i("layout",b,a),this.re())});z.prototype.layoutDiagram=function(a){vi(this);a&&pj(this,!0);Gi(this,!1)};function pj(a,b){for(var c=a.Tk.k;c.next();)sj(a,c.value,b);null!==a.ec&&(b?a.ec.$e=!1:a.ec.J())}
| function sj(a,b,c){if(null!==b){for(var d=b.lo.k;d.next();)sj(a,d.value,c);null!==b.ec&&(c?b.ec.$e=!1:b.ec.J())}}function Gi(a,b){if(!a.xy){var c=a.ec;null===c||c.$e||b&&!c.Pw||b&&(a.Wf.rj||0!==a.ma.Je)||a.Wf.Kp();for(var d=a.Tk.k;d.next();)Ej(a,d.value,b);if(null!==c&&!c.$e){if(b&&!c.Pw)return;c.doLayout(a);vi(a);c.$e=!0}a.ku=!1}}
| function Ej(a,b,c){if(null!==b){for(var d=b.lo.k;d.next();)Ej(a,d.value,c);d=b.ec;null===d||d.$e||c&&!d.Pw||(b.RC=!b.location.N(),d.doLayout(b),b.J(Fj),d.$e=!0,Ji(a,b))}}t.g(z,"isTreePathToChildren",z.prototype.md);t.defineProperty(z,{md:"isTreePathToChildren"},function(){return this.Tu},function(a){var b=this.Tu;if(b!==a&&(t.j(a,"boolean",z,"isTreePathToChildren"),this.Tu=a,this.i("isTreePathToChildren",b,a),!this.ma.pb))for(a=this.aj;a.next();)Gj(a.value)});
| z.prototype.findTreeRoots=function(){for(var a=new A(S),b=this.aj.k;b.next();){var c=b.value;c.pp&&null===c.ft()&&a.add(c)}return a.k};t.g(z,"isCollapsingExpanding",z.prototype.Sd);t.defineProperty(z,{Sd:null},function(){return this.xC},function(a){this.xC=a});
| function Vh(a){function b(a){var b=a.toLowerCase(),h=new A("function");c.add(a,h);c.add(b,h);d.add(a,a);d.add(b,a)}var c=new la("string",A),d=new la("string","string");b("AnimationStarting");b("AnimationFinished");b("BackgroundSingleClicked");b("BackgroundDoubleClicked");b("BackgroundContextClicked");b("ClipboardChanged");b("ClipboardPasted");b("DocumentBoundsChanged");b("ExternalObjectsDropped");b("InitialLayoutCompleted");b("LayoutCompleted");b("LinkDrawn");b("LinkRelinked");b("LinkReshaped");b("Modified");
| b("ObjectSingleClicked");b("ObjectDoubleClicked");b("ObjectContextClicked");b("PartCreated");b("PartResized");b("PartRotated");b("SelectionMoved");b("SelectionCopied");b("SelectionDeleting");b("SelectionDeleted");b("SelectionGrouped");b("SelectionUngrouped");b("ChangingSelection");b("ChangedSelection");b("SubGraphCollapsed");b("SubGraphExpanded");b("TextEdited");b("TreeCollapsed");b("TreeExpanded");b("ViewportBoundsChanged");a.zy=c;a.yy=d}
| function ma(a,b){var c=a.yy.ya(b);return null!==c?c:a.yy.ya(b.toLowerCase())}function Hj(a,b){var c=a.zy.ya(b);if(null!==c)return c;c=a.zy.ya(b.toLowerCase());if(null!==c)return c;t.l("Unknown DiagramEvent name: "+b);return null}z.prototype.addDiagramListener=z.prototype.Vz=function(a,b){t.j(a,"string",z,"addDiagramListener:name");t.j(b,"function",z,"addDiagramListener:listener");var c=Hj(this,a);null!==c&&c.add(b)};
| z.prototype.removeDiagramListener=z.prototype.CF=function(a,b){t.j(a,"string",z,"removeDiagramListener:name");t.j(b,"function",z,"addDiagramListener:listener");var c=Hj(this,a);null!==c&&c.remove(b)};z.prototype.raiseDiagramEvent=z.prototype.Aa=function(a,b,c){f&&t.j(a,"string",z,"raiseDiagramEvent:name");var d=Hj(this,a),e=new rd;e.h=this;e.name=ma(this,a);void 0!==b&&(e.tx=b);void 0!==c&&(e.ex=c);a=d.length;if(1===a)d=d.wa(0),d(e);else if(0!==a)for(b=d.Ie(),c=0;c<a;c++)d=b[c],d(e);return e.cancel};
| function Vf(a,b){var c=!1;a.vb.Rj(b)&&(c=!0);c=a.nA(b,function(a){return a.S},function(a){return a instanceof U},!0,function(a){return a instanceof U},c);if(0!==c.count)for(c=c.k;c.next();){var d=c.value;d.Ui&&d.Pb()}}
| function Ij(a,b){null===a.Od&&(a.Od=new Jj);var c=null!==b?b.mb:null;if(a.Od.nt||a.Od.group!==c){if(null===c){var d;d=a.mi?wi(a):a.Cd.copy();d.Lf(100,100);a.Od.initialize(d);d=t.yf();for(var e=a.aj;e.next();){var g=e.value,h=g.layer;null!==h&&h.visible&&!h.uc&&Kj(a,g,null,d)}}else for(d=c.sa.copy(),d.Lf(20,20),a.Od.initialize(d),d=t.yf(),e=c.Vc;e.next();)g=e.value,g instanceof S&&Kj(a,g,null,d);t.cc(d);a.Od.group=c;a.Od.nt=!1}else Lj(a.Od);return a.Od}
| function Kj(a,b,c,d){if(b!==c)if(b.bb()&&b.canAvoid()){c=b.getAvoidableRect(d);d=a.Od.ym;b=a.Od.xm;for(var e=c.x+c.width,g=c.y+c.height,h=c.x;h<e;h+=d){for(var k=c.y;k<g;k+=b)Mj(a.Od,h,k);Mj(a.Od,h,g)}for(k=c.y;k<g;k+=b)Mj(a.Od,e,k);Mj(a.Od,e,g)}else if(b instanceof T)for(b=b.Vc;b.next();)e=b.value,e instanceof S&&Kj(a,e,c,d)}function Nj(a,b){null===a.Od||a.Od.nt||null!==b&&!b.canAvoid()||(a.Od.nt=!0)}
| z.prototype.simulatedMouseMove=z.prototype.qB=function(a,b,c){if(null!==cf){var d=cf.h;c instanceof z||(c=null);var e=df;c!==e&&(null!==e&&e!==d&&null!==e.ub.Dd&&(hf(e),cf.pt=!1,e.ub.Dd.doSimulatedDragLeave()),df=c,null!==c&&c!==d&&null!==c.ub.Dd&&(wf(),e=c.ub.Dd,tf.contains(e)||tf.add(e),c.ub.Dd.doSimulatedDragEnter()));if(null===c||c===d||!c.Wz||c.ab||!c.rm)return!1;d=c.ub.Dd;null!==d&&(null!==a?b=c.Pn(a):null===b&&(b=new v),c.$b.da=b,c.$b.Vj=!1,c.$b.ej=!1,d.doSimulatedDragOver());return!0}return!1};
| z.prototype.simulatedMouseUp=z.prototype.eG=function(a,b,c,d){if(null!==cf){null===d&&(d=b);b=df;var e=cf.h;if(d!==b){if(null!==b&&b!==e&&null!==b.ub.Dd)return hf(b),cf.pt=!1,b.ub.Dd.doSimulatedDragLeave(),!1;df=d;null!==d&&null!==d.ub.Dd&&(wf(),b=d.ub.Dd,tf.contains(b)||tf.add(b),d.ub.Dd.doSimulatedDragEnter())}if(null===d)return cf.doCancel(),!0;if(d!==this)return null!==a&&(c=d.Pn(a)),d.$b.da=c,d.$b.Vj=!1,d.$b.ej=!0,a=d.ub.Dd,null!==a&&a.doSimulatedDrop(),a=cf,null!==a&&(d=a.mayCopy(),a.ff=d?"Copy":
| "Move",a.stopTool()),!0}return!1};t.g(z,"autoScrollRegion",z.prototype.DD);t.defineProperty(z,{DD:"autoScrollRegion"},function(){return this.ou},function(a){"number"===typeof a?a=new ab(a):t.m(a,ab,z,"autoScrollRegion");var b=this.ou;b.M(a)||(this.ou=a=a.Z(),this.Kc(),this.i("autoScrollRegion",b,a))});function Hf(a,b){a.nu.assign(b);Oj(a,a.nu).Si(a.position)?hf(a):Pj(a)}
| function Pj(a){null===a.Cl&&(a.Cl={},a.Cl.id=setInterval(function(){if(null!==a.Cl){hf(a);var b=Oj(a,a.nu);b.Si(a.position)||(a.position=b,a.R.da=a.xG(a.nu),a.qB(a.R.event,null,a.R.event.target.U)||a.doMouseMove(),a.mi=!0,Ai(a,a.nf()),a.Le=!0,a.qg(),Pj(a))}},a.XG))}function hf(a){null!==a.Cl&&(clearInterval(a.Cl.id),a.Cl=null)}
| function Oj(a,b){var c=a.position,d=a.DD;if(0>=d.top&&0>=d.left&&0>=d.right&&0>=d.bottom)return c;var e=a.vb,g=a.scale,e=t.gk(0,0,e.width*g,e.height*g),h=t.gc(0,0);if(b.x>=e.x&&b.x<e.x+d.left){var k=Math.max(a.Sp,1),k=k|0;h.x-=k;b.x<e.x+d.left/2&&(h.x-=k);b.x<e.x+d.left/4&&(h.x-=4*k)}else b.x<=e.x+e.width&&b.x>e.x+e.width-d.right&&(k=Math.max(a.Sp,1),k|=0,h.x+=k,b.x>e.x+e.width-d.right/2&&(h.x+=k),b.x>e.x+e.width-d.right/4&&(h.x+=4*k));b.y>=e.y&&b.y<e.y+d.top?(k=Math.max(a.Tp,1),k|=0,h.y-=k,b.y<e.y+
| d.top/2&&(h.y-=k),b.y<e.y+d.top/4&&(h.y-=4*k)):b.y<=e.y+e.height&&b.y>e.y+e.height-d.bottom&&(k=Math.max(a.Tp,1),k|=0,h.y+=k,b.y>e.y+e.height-d.bottom/2&&(h.y+=k),b.y>e.y+e.height-d.bottom/4&&(h.y+=4*k));h.Si(F.fj)||(c=new v(c.x+h.x/g,c.y+h.y/g));t.cc(e);t.B(h);return c}z.prototype.makeSVG=z.prototype.makeSvg=function(a){void 0===a&&(a={});a.context="svg";a=Qj(this,a);return null!==a?a.$p:null};
| z.prototype.makeImage=function(a){var b=(a.document||document).createElement("img");b.src=this.$I(a);return b instanceof HTMLImageElement?b:null};z.prototype.makeImageData=z.prototype.$I=function(a){void 0===a&&(a={});var b=Qj(this,a);return null!==b?b.toDataURL(a.type,a.details):""};
| function Qj(a,b){a.qg();if(null===a.Sa)return null;"object"!==typeof b&&t.l("properties argument must be an Object.");var c=!1,d=b.size||null,e=b.scale||null;void 0!==b.scale&&isNaN(b.scale)&&(e="NaN");var g=b.maxSize||new fa(2E3,2E3);void 0===b.maxSize&&(c=!0);var h=b.position||null,k=b.parts||null,l=void 0===b.padding?1:b.padding,m=b.background||null,n=b.omitTemporary;void 0===n&&(n=!0);var p=b.document||document,q=b.showTemporary;void 0===q&&(q=!n);n=b.showGrid;void 0===n&&(n=q);null!==d&&isNaN(d.width)&&
| isNaN(d.height)&&(d=null);l&&"number"===typeof l&&(l=new ab(l));l||(l=new ab(0));l.left=Math.max(l.left,0);l.right=Math.max(l.right,0);l.top=Math.max(l.top,0);l.bottom=Math.max(l.bottom,0);a.Hn=!1;qi(a);var r=p.createElement("canvas"),s=r.getContext("2d"),u=r;if(!(d||e||k||h))return r.width=a.Sa.width+Math.ceil(l.left+l.right),r.height=a.Sa.height+Math.ceil(l.top+l.bottom),"svg"===b.context&&(s=u=new nc(r,p),s instanceof nc&&(a.Hn=!0)),Qi(a,s,l,new fa(r.width,r.height),a.ic,a.Ma,k,m,q,n),a.Hn=!0,
| u;var x=a.Te.nw,E,G=new v(0,0);E=a.Cd.copy();E.IJ(a.padding);null!==h&&h.N()?(G=h,e||(e=x)):(G.x=E.x,G.y=E.y);if(k){var C,h=!0,k=k.k;for(k.reset();k.next();){var I=k.value;if(I instanceof B){var O=I.layer;O&&!O.visible||O&&O.uc||!I.bb()||(I=I.sa,I.N()&&(h?(h=!1,C=I.copy()):C.dj(I)))}}h&&(C=new w(0,0,0,0));E.width=C.width;E.height=C.height;G.x=C.x;G.y=C.y}h=C=0;l&&(C=l.left+l.right,h=l.top+l.bottom);I=O=0;d&&(O=d.width,I=d.height,isFinite(O)&&(O=Math.max(0,O-C)),isFinite(I)&&(I=Math.max(0,I-h)));d&&
| e?("NaN"===e&&(e=x),d.N()?(d=O,E=I):isNaN(I)?(d=O,E=E.height*e):(d=E.width*e,E=I)):d?d.N()?(e=Math.min(O/E.width,I/E.height),d=O,E=I):isNaN(I)?(e=O/E.width,d=O,E=E.height*e):(e=I/E.height,d=E.width*e,E=I):e?"NaN"===e&&g.N()?(e=Math.min((g.width-C)/E.width,(g.height-h)/E.height),e>x?(e=x,d=E.width,E=E.height):(d=g.width,E=g.height)):(d=E.width*e,E=E.height*e):(e=x,d=E.width,E=E.height);l?(d+=C,E+=h):l=new ab(0);g&&(x=g.width,g=g.height,"svg"!==b.context&&c&&!t.FG&&(d>x||E>g)&&(t.trace("Diagram.makeImage(data): Diagram width or height is larger than the default max size. ("+
| Math.ceil(d)+"x"+Math.ceil(E)+" vs 2000x2000) Consider increasing the max size."),t.FG=!0),isNaN(x)&&(x=2E3),isNaN(g)&&(g=2E3),isFinite(x)&&(d=Math.min(d,x)),isFinite(g)&&(E=Math.min(E,g)));r.width=Math.ceil(d);r.height=Math.ceil(E);"svg"===b.context&&(s=u=new nc(r,p),s instanceof nc&&(a.Hn=!0));Qi(a,s,l,new fa(Math.ceil(d),Math.ceil(E)),e,G,k,m,q,n);a.Hn=!0;return u}
| z.inherit=function(a,b){t.j(a,"function",z,"inherit");t.j(b,"function",z,"inherit");b.jH&&t.l("Cannot inherit from "+t.Wg(b));t.Ka(a,b)};function Rj(a){1<arguments.length&&t.l("Palette constructor can only take one optional argument, the DIV HTML element or its id.");z.call(this,a);this.Ps=!0;this.Nj=!1;this.ab=!0;this.jw=Fb;this.ec=new Sj}t.ga("Palette",Rj);t.Ka(Rj,z);
| function Ti(a){1<arguments.length&&t.l("Overview constructor can only take one optional argument, the DIV HTML element or its id.");z.call(this,a);this.Wf.isEnabled=!1;this.Tb=!0;this.vi=null;this.cH=this.Eu=!0;this.CJ("drawShadows",!1);var b=new B,c=new X;c.stroke="magenta";c.gb=2;c.fill="transparent";c.name="BOXSHAPE";b.mx="BOXSHAPE";b.Ww="BOXSHAPE";b.cursor="move";b.add(c);this.nn=b;this.Ez=document.createElement("canvas");this.lH=this.Ez.getContext("2d");b=new Tj;b.td(this);this.ub.df.Ed(0,b);
| var d=this;this.xF=function(){Uj(d)};this.wF=function(){null!==d.vi&&(d.Kc(),d.ha())};this.ab=!0;this.Qe=!1;this.wm=Bi;this.ub.Vm=Ye;this.Tb=!1}t.ga("Overview",Ti);t.Ka(Ti,z);
| function Ui(a){a.Tb||a.xd||!1!==a.Ff||(a.Ff=!0,requestAnimationFrame(function(){if(a.Ff&&!a.xd&&(a.Ff=!1,null!==a.Gb)){a.xd=!0;vi(a);a.Cd.N()||Ai(a,a.nf());null===a.Gb&&t.l("No div specified");null===a.Sa&&t.l("No canvas specified");if(a.Le){var b=a.vi;if(null!==b&&!b.lc.bk&&!b.lc.ed){var b=a.mj,c=a.Ez;b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,a.Sa.width,a.Sa.height);b.drawImage(c,0,0);c=a.hd;c.reset();1!==a.ic&&c.scale(a.scale);0===a.position.x&&0===a.position.y||c.translate(-a.Ma.x,-a.Ma.y);b.setTransform(c.m11,
| c.m12,c.m21,c.m22,c.dx,c.dy);for(var c=a.Ub.length,d=0;d<c;d++)a.Ub.n[d].Ve(b,a);a.Gk=!1;a.Le=!1}}a.xd=!1}}))}
| Ti.prototype.Ve=function(){null===this.Gb&&t.l("No div specified");null===this.Sa&&t.l("No canvas specified");if(this.Le){var a=this.vi;if(!(null===a||a.lc.bk||a.lc.ed||!this.cH&&a.ub.Dd.ia)){var b=a.ip;(b&&b.visible&&isNaN(b.width)||isNaN(b.height))&&Fi(a);var c=this.Sa,b=this.mj,d=this.Ez,e=this.lH;d.width=c.width;d.height=c.height;b.bu="";b.setTransform(1,0,0,1,0,0);b.clearRect(0,0,this.Sa.width,this.Sa.height);var g=this.hd;g.reset();1!==this.ic&&g.scale(this.scale);0===this.position.x&&0===this.position.y||
| g.translate(-this.Ma.x,-this.Ma.y);b.setTransform(g.m11,g.m12,g.m21,g.m22,g.dx,g.dy);for(var h=this.Eu,k=this.vb,l=a.Ub.length,g=0;g<l;g++){var m=a.Ub.n[g],n=b,p=k,q=h;void 0===q&&(q=!0);if(q||!m.uc)for(var m=m.zb,q=this.scale,r=m.length,s=0;s<r;s++){var u=m.n[s],x=u.sa;x.Mf(p)&&(1<x.width*q||1<x.height*q?u.Ve(n,this):Rh(u,n))}}e.drawImage(c,0,0);f&&f.cA&&(e.fillStyle="red",e.fillRect(0,d.height/2,d.width,4));a=this.Ub.length;for(g=0;g<a;g++)this.Ub.n[g].Ve(b,this);this.Le=this.Gk=!1}}};
| t.g(Ti,"observed",Ti.prototype.iJ);t.defineProperty(Ti,{iJ:"observed"},function(){return this.vi},function(a){var b=this.vi;null!==a&&t.m(a,z,Ti,"observed");b===a||a instanceof Ti||(null!==b&&(this.remove(this.lg),b.CF("ViewportBoundsChanged",this.xF),b.CF("DocumentBoundsChanged",this.wF),b.bm.remove(this)),this.vi=a,null!==a&&(a.Vz("ViewportBoundsChanged",this.xF),a.Vz("DocumentBoundsChanged",this.wF),a.bm.add(this),this.add(this.lg),Uj(this)),this.Kc(),this.i("observed",b,a))});t.g(Ti,"box",Ti.prototype.lg);
| t.defineProperty(Ti,{lg:"box"},function(){return this.nn},function(a){var b=this.nn;b!==a&&(this.nn=a,this.i("box",b,a))});t.g(Ti,"drawsTemporaryLayers",Ti.prototype.tI);t.defineProperty(Ti,{tI:"drawsTemporaryLayers"},function(){return this.Eu},function(a){this.Eu!==a&&(this.Eu=a,this.aB())});
| function Uj(a){var b=a.lg;if(null!==b){var c=a.vi;if(null!==c){a.Le=!0;var c=c.vb,d=b.Nt,e=t.wl();e.q(c.width,c.height);d.Ba=e;t.Yj(e);a=2/a.scale;d instanceof X&&(d.gb=a);b.location=new v(c.x-a/2,c.y-a/2)}}}Ti.prototype.nf=function(){var a=this.vi;return null===a?F.VG:a.Cd};Ti.prototype.Et=function(a){this.Tb||(ti(this),this.ha(),Ei(this),this.Kc(),Uj(this),this.Aa("ViewportBoundsChanged",a))};function Tj(){ae.call(this);this.name="MoveBox"}t.Ka(Tj,ae);
| Tj.prototype.doStart=function(){this.ia=this.h.Fd=!0};Tj.prototype.doMouseMove=function(){if(this.ia){var a=this.h;if(null!==a&&null!==a.vi){var b=a.vi,c=b.vb,d=a.R.da;b.position=new v(d.x-c.width/2,d.y-c.height/2);a.re()}}};Tj.prototype.doMouseUp=function(){this.ia&&this.doMouseMove();this.stopTool()};Tj.prototype.doStop=function(){this.ia=!1;var a=this.h;a.Fd=!1;Uj(a)};
| function ea(a){1<arguments.length&&t.l("Brush constructor can take at most one optional argument, the Brush type.");t.wc(this);this.lb=!1;void 0===a?(this.ba=Nd,this.rn="black"):"string"===typeof a?(this.ba=Nd,f&&t.Po("Brush constructor",a),this.rn=a):(f&&t.sb(a,ea,ea,"constructor:type"),this.ba=a,this.rn="black");var b=this.ba;b===Od?(this.vo=Fb,this.Jn=Mb):this.Jn=b===Zd?this.vo=Hb:this.vo=wb;this.Iv=0;this.Fu=NaN;this.Hg=this.uv=this.Gg=null;this.iy=this.jy=0}t.ga("Brush",ea);var Nd;
| ea.Solid=Nd=t.w(ea,"Solid",0);var Od;ea.Linear=Od=t.w(ea,"Linear",1);var Zd;ea.Radial=Zd=t.w(ea,"Radial",2);var Vj;ea.Pattern=Vj=t.w(ea,"Pattern",4);var da;ea.isValidColor=da=function(a){if("black"===a)return!0;if(""===a)return!1;f&&t.j(a,"string",ea,"isValidColor");var b=t.an;b.fillStyle="#000000";var c=b.fillStyle;b.fillStyle=a;if(b.fillStyle!==c)return!0;b.fillStyle="#FFFFFF";c=b.fillStyle;b.fillStyle=a;return b.fillStyle!==c};
| ea.prototype.copy=function(){var a=new ea;a.ba=this.ba;a.rn=this.rn;a.vo=this.vo.Z();a.Jn=this.Jn.Z();a.Iv=this.Iv;a.Fu=this.Fu;null!==this.Gg&&(a.Gg=this.Gg.copy());a.uv=this.uv;return a};ea.prototype.Ja=function(){this.freeze();Object.freeze(this);return this};ea.prototype.freeze=function(){this.lb=!0;null!==this.Gg&&this.Gg.freeze();return this};ea.prototype.La=function(){Object.isFrozen(this)&&t.l("cannot thaw constant: "+this);this.lb=!1;null!==this.Gg&&this.Gg.La();return this};
| ea.prototype.toString=function(){var a="Brush(";if(this.type===Nd)a+=this.color;else if(a=this.type===Od?a+"Linear ":this.type===Zd?a+"Radial ":this.type===Vj?a+"Pattern ":a+"(unknown) ",a+=this.start+" "+this.end,null!==this.Ro)for(var b=this.Ro.k;b.next();)a+=" "+b.key+":"+b.value;return a+")"};
| ea.prototype.addColorStop=ea.prototype.addColorStop=function(a,b){t.L(this);("number"!==typeof a||!isFinite(a)||1<a||0>a)&&t.ka(a,"0 <= loc <= 1",ea,"addColorStop:loc");t.j(b,"string",ea,"addColorStop:color");null===this.Gg&&(this.Gg=new la("number","string"));this.Gg.add(a,b);this.ba===Nd&&(this.type=Od);this.Hg=null};t.g(ea,"type",ea.prototype.type);
| t.defineProperty(ea,{type:"type"},function(){return this.ba},function(a){t.L(this,a);t.sb(a,ea,ea,"type");this.ba=a;this.start.Ge()&&(a===Od?this.start=Fb:a===Zd&&(this.start=Hb));this.end.Ge()&&(a===Od?this.end=Mb:a===Zd&&(this.end=Hb));this.Hg=null});t.g(ea,"color",ea.prototype.color);t.defineProperty(ea,{color:"color"},function(){return this.rn},function(a){t.L(this,a);t.j(a,"string",ea,"color");this.rn=a;this.Hg=null});t.g(ea,"start",ea.prototype.start);
| t.defineProperty(ea,{start:"start"},function(){return this.vo},function(a){t.L(this,a);a instanceof H||t.Xb(a,"Spot",ea,"start");this.vo=a.Z();this.Hg=null});t.g(ea,"end",ea.prototype.end);t.defineProperty(ea,{end:"end"},function(){return this.Jn},function(a){t.L(this,a);a instanceof H||t.Xb(a,"Spot",ea,"end");this.Jn=a.Z();this.Hg=null});t.g(ea,"startRadius",ea.prototype.Xp);
| t.defineProperty(ea,{Xp:"startRadius"},function(){return this.Iv},function(a){t.L(this,a);t.p(a,ea,"startRadius");0>a&&t.ka(a,">= zero",ea,"startRadius");this.Iv=a;this.Hg=null});t.g(ea,"endRadius",ea.prototype.Wo);t.defineProperty(ea,{Wo:"endRadius"},function(){return this.Fu},function(a){t.L(this,a);t.p(a,ea,"endRadius");0>a&&t.ka(a,">= zero",ea,"endRadius");this.Fu=a;this.Hg=null});t.g(ea,"colorStops",ea.prototype.Ro);
| t.defineProperty(ea,{Ro:"colorStops"},function(){return this.Gg},function(a){t.L(this,a);f&&t.m(a,la,ea,"colorStops");this.Gg=a;this.Hg=null});t.g(ea,"pattern",ea.prototype.pattern);t.defineProperty(ea,{pattern:"pattern"},function(){return this.uv},function(a){t.L(this,a);this.uv=a;this.Hg=null});
| ea.randomColor=function(a,b){void 0===a&&(a=128);f&&(t.p(a,ea,"randomColor:min"),(0>a||255<a)&&t.ka(a,"0 <= min <= 255",ea,"randomColor:min"));void 0===b&&(b=Math.max(a,255));f&&(t.p(b,ea,"randomColor:max"),(b<a||255<b)&&t.ka(b,"min <= max <= 255",ea,"randomColor:max"));var c=Math.abs(b-a),d=Math.floor(a+Math.random()*c).toString(16),e=Math.floor(a+Math.random()*c).toString(16),c=Math.floor(a+Math.random()*c).toString(16);2>d.length&&(d="0"+d);2>e.length&&(e="0"+e);2>c.length&&(c="0"+c);return"#"+
| d+e+c};
| function Q(){t.wc(this);this.la=30723;this.xi=null;this.Vb="";this.qc=this.Fb=null;this.Ma=(new v(NaN,NaN)).freeze();this.hf=(new fa(NaN,NaN)).freeze();this.zj=F.kq;this.yj=F.UG;this.hd=new ga;this.ik=new ga;this.Kk=new ga;this.ic=1;this.mn=0;this.Bh=Ug;this.wr=F.jq;this.Rc=(new w(NaN,NaN,NaN,NaN)).freeze();this.Yb=(new w(NaN,NaN,NaN,NaN)).freeze();this.dd=(new w(0,0,NaN,NaN)).freeze();this.Bs=this.Rq=this.P=this.Sr=this.Tr=null;this.Cs=this.Sq=Infinity;this.qq=this.se=xb;this.es=0;this.Gj=1;this.xq=
| 0;this.lj=1;this.is=-Infinity;this.hs=0;this.js=F.fj;this.ks=wg;this.Eq="";this.dm=this.ei=this.Fl=this.Gc=this.Q=null}t.ga("GraphObject",Q);t.Kh(Q);
| Q.prototype.cloneProtected=function(a){a.la=this.la|6144;a.Vb=this.Vb;a.Fb=this.Fb;a.qc=this.qc;a.Ma.assign(this.Ma);a.hf.assign(this.hf);a.zj=this.zj.Z();a.yj=this.yj.Z();a.Kk=this.Kk.copy();a.ic=this.ic;a.mn=this.mn;a.Bh=this.Bh;a.wr=this.wr.Z();a.Rc.assign(this.Rc);a.Yb.assign(this.Yb);a.dd.assign(this.dd);a.Sr=this.Sr;if(null!==this.P){var b=this.P;a.P={qh:b.qh.Z(),Gh:b.Gh.Z(),nh:b.nh,Dh:b.Dh,mh:b.mh,Ch:b.Ch,ph:b.ph,Fh:b.Fh}}else a.P=null;a.Rq=this.Rq;a.Sq=this.Sq;a.Bs=this.Bs;a.Cs=this.Cs;a.se=
| this.se.Z();a.qq=this.qq.Z();a.es=this.es;a.Gj=this.Gj;a.xq=this.xq;a.lj=this.lj;a.is=this.is;a.hs=this.hs;a.js=this.js.Z();a.ks=this.ks;a.Eq=this.Eq;null!==this.Q?(b=this.Q,a.Q={di:b.di,ji:b.ji,fi:b.fi,Hr:b.Hr,Ir:b.Ir,ti:b.ti,si:b.si,ri:b.ri,Fr:b.Fr,Gr:b.Gr,qi:b.qi,mq:b.mq,nq:b.nq,oq:b.oq,lq:b.lq,Di:b.Di,gi:b.gi}):a.Q=null;a.Gc=this.Gc;if(Array.isArray(this.Fl))for(a.Fl=this.Fl.slice(0),b=0;b<this.Fl.length;b++){var c=this.Fl[b];a[c]=this[c]}null!==this.ei&&(a.ei=this.ei.copy())};
| Q.prototype.Lh=function(a){a.Tr=null;a.dm=null;a.ca()};Q.prototype.copy=function(){var a=new this.constructor;this.cloneProtected(a);return a};Q.prototype.toString=function(){return t.Wg(Object.getPrototypeOf(this))+"#"+t.ld(this)};var Tg;Q.None=Tg=t.w(Q,"None",0);var Ug;Q.Default=Ug=t.w(Q,"Default",0);var Wj;Q.Vertical=Wj=t.w(Q,"Vertical",4);var Xj;Q.Horizontal=Xj=t.w(Q,"Horizontal",5);var Cc;Q.Fill=Cc=t.w(Q,"Fill",3);var Vg;Q.Uniform=Vg=t.w(Q,"Uniform",1);var Wg;
| Q.UniformToFill=Wg=t.w(Q,"UniformToFill",2);function Yj(a){a.Q={di:null,ji:null,fi:null,Hr:null,Ir:null,ti:null,si:null,ri:null,Fr:null,Gr:null,qi:null,mq:null,nq:null,oq:null,lq:null,Di:null,gi:null}}aa=Q.prototype;aa.Fe=function(){this.P={qh:wb,Gh:wb,nh:10,Dh:10,mh:Zj,Ch:Zj,ph:0,Fh:0}};
| function ak(a,b,c,d,e,g,h){var k=0.001,l=g.length;a.moveTo(b,c);d-=b;k=e-c;0===d&&(d=0.001);e=k/d;for(var m=Math.sqrt(d*d+k*k),n=0,p=!0,q=0===h?!1:!0;0.1<=m;){if(q){k=g[n++%l];for(k-=h;0>k;)k+=g[n++%l],p=!p;q=!1}else k=g[n++%l];k>m&&(k=m);var r=Math.sqrt(k*k/(1+e*e));0>d&&(r=-r);b+=r;c+=e*r;p?a.lineTo(b,c):a.moveTo(b,c);m-=k;p=!p}}aa.Xc=function(a,b,c,d,e,g,h){var k=this.S;null!==k&&(k.Xm(a,b,c,d,e,g,h),0!==(this.la&1024)&&c===this&&a===ud&&bk(this,k,b))};
| function bk(a,b,c){var d=a.$o();if(null!==d)for(var e=a.Gc.k;e.next();){var g=e.value,h=g.St;if(null!==h){var k=d.ke(h);if(null===k)continue;g.AB(a,k,c,null)}else{k=d.data;if(null===k)continue;var l=b.h;null!==l&&l.Rt||g.AB(a,k,c,l)}null!==h&&(k=d,""!==h&&(k=d.ke(h)),null!==k&&(h=g.cn,l=d,""!==h&&(l=d.ke(h)),null!==l&&g.CG(l,k,c)))}}aa.i=function(a,b,c){this.Xc(ud,a,this,b,c)};
| function ck(a,b,c,d,e){var g=a.Rc,h=a.Kk;h.reset();dk(a,h,b,c,d,e);a.Kk=h;g.x=b;g.y=c;g.width=d;g.height=e;h.qt()||h.wG(g)}function ek(a,b,c,d){if(!1===a.uf)return!1;d.multiply(a.transform);return c?a.Mf(b,d):a.Bm(b,d)}
| aa.pE=function(a,b,c){if(!1===this.uf)return!1;var d=this.Pa;b=a.Uj(b);var e=!1;c&&(e=Ra(a.x,a.y,0,0,0,d.height)<b||Ra(a.x,a.y,0,d.height,d.width,d.height)<b||Ra(a.x,a.y,d.width,d.height,d.width,0)<b||Ra(a.x,a.y,d.width,0,0,0)<b);c||(e=Ra(a.x,a.y,0,0,0,d.height)<b&&Ra(a.x,a.y,0,d.height,d.width,d.height)<b&&Ra(a.x,a.y,d.width,d.height,d.width,0)<b&&Ra(a.x,a.y,d.width,0,0,0)<b);return e};aa.Tf=function(){return!0};
| Q.prototype.containsPoint=Q.prototype.Ga=function(a){f&&t.m(a,v,Q,"containsPoint:p");var b=t.K();b.assign(a);this.transform.Ra(b);var c=this.sa;if(!c.N())return!1;if(t.tB){var d=this.Pa,e=this.$j()*(null!==this.h?this.h.scale:1),g=1/e;if(10>d.width*e&&10>d.height*e)return a=nb(c.x-5*g,c.y-5*g,c.width+10*g,c.height+10*g,b.x,b.y),t.B(b),a}if(void 0!==this.kc||this instanceof X?nb(c.x-5,c.y-5,c.width+10,c.height+10,b.x,b.y):c.Ga(b)){if(this.ei&&!this.ei.Ga(b))return!1;if(null!==this.qc&&c.Ga(b)||null!==
| this.Fb&&this.dd.Ga(a))return!0;t.B(b);return this.Qj(a)}t.B(b);return!1};Q.prototype.Qj=function(a){var b=this.Pa;return nb(0,0,b.width,b.height,a.x,a.y)};
| Q.prototype.containsRect=Q.prototype.Rj=function(a){f&&t.m(a,w,Q,"containsRect:r");if(0===this.angle)return this.sa.Rj(a);var b=this.Pa,b=t.gk(0,0,b.width,b.height),c=this.transform,d=!1,e=t.gc(a.x,a.y);b.Ga(c.Ph(e))&&(e.q(a.x,a.bottom),b.Ga(c.Ph(e))&&(e.q(a.right,a.bottom),b.Ga(c.Ph(e))&&(e.q(a.right,a.y),b.Ga(c.Ph(e))&&(d=!0))));t.B(e);t.cc(b);return d};
| Q.prototype.containedInRect=Q.prototype.Bm=function(a,b){f&&t.m(a,w,Q,"containedInRect:r");if(void 0===b)return a.Rj(this.sa);var c=this.Pa,d=!1,e=t.gc(0,0);a.Ga(b.Ra(e))&&(e.q(0,c.height),a.Ga(b.Ra(e))&&(e.q(c.width,c.height),a.Ga(b.Ra(e))&&(e.q(c.width,0),a.Ga(b.Ra(e))&&(d=!0))));return d};
| Q.prototype.intersectsRect=Q.prototype.Mf=function(a,b){f&&t.m(a,w,Q,"intersectsRect:r");if(void 0===b&&(b=this.transform,0===this.angle))return a.Mf(this.sa);var c=this.Pa,d=b,e=t.gc(0,0),g=t.gc(0,c.height),h=t.gc(c.width,c.height),k=t.gc(c.width,0),l=!1;if(a.Ga(d.Ra(e))||a.Ga(d.Ra(g))||a.Ga(d.Ra(h))||a.Ga(d.Ra(k)))l=!0;else{var c=t.gk(0,0,c.width,c.height),m=t.gc(a.x,a.y);c.Ga(d.Ph(m))?l=!0:(m.q(a.x,a.bottom),c.Ga(d.Ph(m))?l=!0:(m.q(a.right,a.bottom),c.Ga(d.Ph(m))?l=!0:(m.q(a.right,a.y),c.Ga(d.Ph(m))&&
| (l=!0))));t.B(m);t.cc(c);!l&&(F.Jw(a,e,g)||F.Jw(a,g,h)||F.Jw(a,h,k)||F.Jw(a,k,e))&&(l=!0)}t.B(e);t.B(g);t.B(h);t.B(k);return l};Q.prototype.getDocumentPoint=Q.prototype.ob=function(a,b){void 0===b&&(b=new v);a.Ge()&&t.l("getDocumentPoint:s Spot must be real: "+a.toString());var c=this.Pa;b.q(a.x*c.width+a.offsetX,a.y*c.height+a.offsetY);this.ie.Ra(b);return b};Q.prototype.getDocumentAngle=Q.prototype.gl=function(){var a=this.ie,a=180/Math.PI*Math.atan2(a.m12,a.m11);0>a&&(a+=360);return a};
| Q.prototype.getDocumentScale=Q.prototype.$j=function(){var a=this.ic;return null!==this.ja?a*this.ja.$j():a};Q.prototype.getLocalPoint=Q.prototype.yE=function(a,b){void 0===b&&(b=new v);b.assign(a);this.ie.Ph(b);return b};Q.prototype.getNearestIntersectionPoint=Q.prototype.jl=function(a,b,c){return this.gp(a.x,a.y,b.x,b.y,c)};aa=Q.prototype;
| aa.gp=function(a,b,c,d,e){var g=this.transform,h=1/(g.m11*g.m22-g.m12*g.m21),k=g.m22*h,l=-g.m12*h,m=-g.m21*h,n=g.m11*h,p=h*(g.m21*g.dy-g.m22*g.dx),q=h*(g.m12*g.dx-g.m11*g.dy);if(null!==this.Zk)return g=this.sa,F.jl(g.left,g.top,g.right,g.bottom,a,b,c,d,e);h=a*k+b*m+p;a=a*l+b*n+q;b=c*k+d*m+p;c=c*l+d*n+q;e.q(0,0);d=this.Pa;c=F.jl(0,0,d.width,d.height,h,a,b,c,e);e.transform(g);return c};
| function gh(a,b,c,d,e){if(!1!==Ki(a)){var g=a.margin,h=g.top+g.bottom;b=Math.max(b-(g.right+g.left),0);c=Math.max(c-h,0);g=a.angle;if(90===g||270===g)g=b,b=c,c=g,g=d,d=e,e=g;g=a.Ba;h=0;a.gb&&(h=a.gb);b=isFinite(g.width)?g.width+h:b;c=isFinite(g.height)?g.height+h:c;var g=d||0,h=e||0,k=a instanceof y;switch(fk(a)){case Tg:h=g=0;k&&(c=b=Infinity);break;case Cc:isFinite(b)&&b>d&&(g=b);isFinite(c)&&c>e&&(h=c);break;case Xj:isFinite(b)&&b>d&&(g=b);h=0;k&&(c=Infinity);break;case Wj:isFinite(c)&&c>e&&(h=
| c),g=0,k&&(b=Infinity)}var k=a.He,l=a.Nf;g>k.width&&l.width<k.width&&(g=k.width);h>k.height&&l.height<k.height&&(h=k.height);d=Math.max(g/a.scale,l.width);e=Math.max(h/a.scale,l.height);k.width<d&&(d=Math.min(l.width,d));k.height<e&&(e=Math.min(l.height,e));b=Math.min(k.width,b);c=Math.min(k.height,c);b=Math.max(d,b);c=Math.max(e,c);a.Rc.La();a.ut(b,c,d,e);a.Rc.freeze();a.Rc.N()||t.l("Non-real measuredBounds has been set. Object "+a+", measuredBounds: "+a.Rc.toString());gk(a,!1)}}
| aa.Hc=function(a,b,c,d,e){hk(this);var g=t.yf();g.assign(this.Yb);this.Yb.La();if(!1===Li(this)){var h=this.Yb;h.x=a;h.y=b;h.width=c;h.height=d}else this.Pj(a,b,c,d);this.Yb.freeze();this.ei=void 0===e?null:e;c=!1;void 0!==e?c=!0:this.ja&&(e=this.ja.dd,d=this.Ea,null!==this.Zk&&(d=this.Yb),c=b+d.height,d=a+d.width,c=!(0<=a+0.05&&d<=e.width+0.05&&0<=b+0.05&&c<=e.height+0.05),this instanceof oa&&(a=this.dd,this.$u>a.height||this.fo.Zi>a.width))&&(c=!0);this.la=c?this.la|256:this.la&-257;this.Yb.N()||
| t.l("Non-real actualBounds has been set. Object "+this+", actualBounds: "+this.Yb.toString());ik(this,g,this.Yb);t.cc(g)};aa.Pj=function(){};
| function jk(a,b,c,d,e){var g=a.sa;g.x=b;g.y=c;g.width=d;g.height=e;if(!a.Ba.N()){g=a.Rc;c=a.margin;b=c.right+c.left;var h=c.top+c.bottom;c=g.width+b;g=g.height+h;d+=b;e+=h;b=fk(a);c===d&&g===e&&(b=Tg);switch(b){case Tg:if(c>d||g>e)gk(a,!0),gh(a,c>d?d:c,g>e?e:g);break;case Cc:gk(a,!0);gh(a,d,e,0,0);break;case Xj:gk(a,!0);gh(a,d,g,0,0);break;case Wj:gk(a,!0),gh(a,c,e,0,0)}}}
| function ik(a,b,c){kk(a,!1);var d=a.S;if(null!==d){var e=d.h;if(null!==e)if(lk(d),a instanceof B){var g=!1,d=b.N();if(!1===e.mi){var h=e.Cd,k=e.padding,l=h.x+k.left,m=h.y+k.top,n=h.width-2*k.right,h=h.height-2*k.bottom;d&&b.x>l&&b.y>m&&b.right<n&&b.bottom<h&&c.x>l&&c.y>m&&c.right<n&&c.bottom<h&&(g=!0)}0!==(a.W&65536)!==!0&&b.M(c)||Yi(a,g,e);e.qz&&null!==e.oj?(g=null,d&&(g=t.yf(),Th(a,b,g)),e.ha(c.N()?Th(a,c):null,g),null!==g&&t.cc(g)):e.ha()}else mk(a,d),a.ha(),b=a.S,null!==b&&(b.Nt!==a&&b.JF!==a&&
| b.OF!==a||nk(b,!0))}}function mk(a,b){null!==a.Jd&&nk(b,!0);if(a instanceof y)for(var c=a.xa,d=c.length,e=0;e<d;e++)mk(c.n[e],b)}
| aa.Ve=function(a,b){if(this.visible)if(a instanceof nc)a:{if(this.visible)if(this instanceof y&&(this.type===ok||this.type===pk))qk(this,a,b);else{var c=this.Yb;if(0!==c.width&&0!==c.height&&!isNaN(c.x)&&!isNaN(c.y)){var d=this.transform,e=this.ja,g=this.ik;g.reset();null!==e&&(e.Tf()?g.multiply(e.ie):null!==e.ja&&g.multiply(e.ja.ie));g.multiply(this.hd);var g=0!==(this.la&256),h=!1;this instanceof oa&&rk(this,a);if(g){h=e.Tf()?e.Pa:e.sa;if(this.ei)var k=this.ei,l=k.x,m=k.y,n=k.width,k=k.height;else l=
| Math.max(c.x,h.x),m=Math.max(c.y,h.y),n=Math.min(c.right,h.right)-l,k=Math.min(c.bottom,h.bottom)-m;if(l>c.width+c.x||c.x>h.width+h.x||m>c.height+c.y||c.y>h.height+h.y)break a;h=!0;rc(a,1,0,0,1,0,0);a.save();a.beginPath();a.rect(l,m,n,k);a.clip()}l=!1;if(this instanceof B&&(l=!0,!this.bb()))break a;m=!1;n=b.Rk;this.S&&n.drawShadows&&(m=this.S.Xi);a.Pi.cf=[1,0,0,1,0,0];null!==this.qc&&(sk(this,a,this.qc,!0,!0),this.qc instanceof ea&&this.qc.type===Zd?(a.beginPath(),a.rect(c.x,c.y,c.width,c.height),
| tk(a,this.qc,!0)):a.fillRect(c.x,c.y,c.width,c.height));l&&this.Xi&&n.drawShadows&&(rc(a,1,0,0,1,0,0),c=this.mm,a.shadowOffsetX=c.x,a.shadowOffsetY=c.y,a.shadowColor=this.lm,a.shadowBlur=this.km/b.scale,a.cb());this instanceof y?rc(a,d.m11,d.m12,d.m21,d.m22,d.dx,d.dy):a.Pi.cf=[d.m11,d.m12,d.m21,d.m22,d.dx,d.dy];if(null!==this.Fb){var k=this.Pa,c=d=0,n=k.width,k=k.height,p=0;this instanceof X&&(k=this.Na.Ib,d=k.x,c=k.y,n=k.width,k=k.height,p=this.Rg);sk(this,a,this.Fb,!0);this.Fb instanceof ea&&this.Fb.type===
| Zd?(a.beginPath(),a.rect(d-p/2,c-p/2,n+p,k+p),tk(a,this.Fb,!0)):a.fillRect(d-p/2,c-p/2,n+p,k+p)}if(m&&(null!==this.Fb||null!==this.qc||null!==e&&0!==(e.la&512)||null!==e&&e.type===ci&&e.yw()!==this)){uk(this,!0);var q=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur];a.shadowOffsetX=0;a.shadowOffsetY=0;a.shadowBlur=0}else uk(this,!1);this.el(a,b);m&&0!==(this.la&512)===!0&&(a.shadowOffsetX=q[0],a.shadowOffsetY=q[1],a.shadowBlur=q[2]);l&&m&&(a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0);g?(a.restore(),
| h&&a.Kf.pop(),qi(b,a)):this instanceof y&&a.Kf.pop();l&&m&&a.Kf.pop()}}}else if(this instanceof y&&(this.type===ok||this.type===pk))qk(this,a,b);else if(d=this.Yb,0!==d.width&&0!==d.height&&!isNaN(d.x)&&!isNaN(d.y)){q=this.transform;g=this.ja;h=this.ik;h.reset();null!==g&&(g.Tf()?h.multiply(g.ie):null!==g.ja&&h.multiply(g.ja.ie));h.multiply(this.hd);h=0!==(this.la&256);this instanceof oa&&rk(this,a);if(h){f&&f.sI&&t.trace("clip"+this.toString());c=g.Tf()?g.Pa:g.sa;this.ei?(k=this.ei,l=k.x,m=k.y,n=
| k.width,k=k.height):(l=Math.max(d.x,c.x),m=Math.max(d.y,c.y),n=Math.min(d.right,c.right)-l,k=Math.min(d.bottom,c.bottom)-m);if(l>d.width+d.x||d.x>c.width+c.x||m>d.height+d.y||d.y>c.height+c.y)return;a.save();a.beginPath();a.rect(l,m,n,k);a.clip()}m=b.Rk;c=!1;if(this instanceof B){c=!0;if(!this.bb())return;this.Xi&&m.drawShadows&&(l=this.mm,a.shadowOffsetX=l.x*b.scale,a.shadowOffsetY=l.y*b.scale,a.shadowColor=this.lm,a.shadowBlur=this.km)}l=!1;this.S&&m.drawShadows&&(l=this.S.Xi);null!==this.qc&&(sk(this,
| a,this.qc,!0,!0),this.qc instanceof ea&&this.qc.type===Zd?(a.beginPath(),a.rect(d.x,d.y,d.width,d.height),tk(a,this.qc,!0)):a.fillRect(d.x,d.y,d.width,d.height));q.qt()||a.transform(q.m11,q.m12,q.m21,q.m22,q.dx,q.dy);null!==this.Fb&&(k=this.Pa,m=d=0,n=k.width,k=k.height,p=0,this instanceof X&&(k=this.Na.Ib,d=k.x,m=k.y,n=k.width,k=k.height,p=this.Rg),sk(this,a,this.Fb,!0),this.Fb instanceof ea&&this.Fb.type===Zd?(a.beginPath(),a.rect(d-p/2,m-p/2,n+p,k+p),tk(a,this.Fb,!0)):a.fillRect(d-p/2,m-p/2,n+
| p,k+p));l&&(null!==this.Fb||null!==this.qc||null!==g&&0!==(g.la&512)||null!==g&&g.type===ci&&g.yw()!==this)?(uk(this,!0),e=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur],a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0):uk(this,!1);this.el(a,b);l&&0!==(this.la&512)===!0&&(a.shadowOffsetX=e[0],a.shadowOffsetY=e[1],a.shadowBlur=e[2]);c&&l&&(a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0);h?(a.restore(),this instanceof y?qi(b,a,!0):qi(b,a,!1)):q.qt()||(e=1/(q.m11*q.m22-q.m12*q.m21),a.transform(q.m22*
| e,-q.m12*e,-q.m21*e,q.m11*e,e*(q.m21*q.dy-q.m22*q.dx),e*(q.m12*q.dx-q.m11*q.dy)))}};
| function qk(a,b,c){var d=a.Yb;0===d.width||0===d.height||isNaN(d.x)||isNaN(d.y)||(null!==a.qc&&(sk(a,b,a.qc,!0,!0),a.qc instanceof ea&&a.qc.type===Zd?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),tk(b,a.qc,!0)):b.fillRect(d.x,d.y,d.width,d.height)),null!==a.Fb&&(sk(a,b,a.Fb,!0),a.Fb instanceof ea&&a.Fb.type===Zd?(b.beginPath(),b.rect(d.x,d.y,d.width,d.height),tk(b,a.Fb,!0)):b.fillRect(d.x,d.y,d.width,d.height)),a.el(b,c))}aa.el=function(){};
| function tk(a,b,c){if(c)if(a instanceof CanvasRenderingContext2D&&b instanceof ea&&b.type===Zd){var d=b.jy;b=b.iy;b>d?(a.scale(d/b,1),a.translate((b-d)/2,0),c?a.fill():a.stroke(),a.translate(-(b-d)/2,0),a.scale(1/(d/b),1)):d>b?(a.scale(1,b/d),a.translate(0,(d-b)/2),c?a.fill():a.stroke(),a.translate(0,-(d-b)/2),a.scale(1,1/(b/d))):c?a.fill():a.stroke()}else c?a.fill():a.stroke();else a.stroke()}
| function sk(a,b,c,d,e){if(null!==c){var g=1,h=1;if("string"===typeof c)d?b.gn!==c&&(b.fillStyle=c,b.gn=c):b.hn!==c&&(b.strokeStyle=c,b.hn=c);else if(c.type===Nd)c=c.color,d?b.gn!==c&&(b.fillStyle=c,b.gn=c):b.hn!==c&&(b.strokeStyle=c,b.hn=c);else{var k,h=a.Pa,g=h.width,h=h.height;if(e)var l=a.sa,g=l.width,h=l.height;var m=b instanceof CanvasRenderingContext2D;if(m&&(c.Hg&&c.type===Vj||c.jy===g&&c.iy===h))k=c.Hg;else{var n,p,q=p=0;e&&(l=a.sa,g=l.width,h=l.height,p=l.x,q=l.y);c.start instanceof v?(a=
| c.start.x,e=c.start.y):c.start instanceof H?(a=c.start.x*g+c.start.offsetX,e=c.start.y*h+c.start.offsetY):(a=Hb.x*g+c.start.offsetX,e=Hb.y*h+c.start.offsetY);c.end instanceof v?(l=c.end.x,n=c.end.y):c.end instanceof H?(l=c.end.x*g+c.end.offsetX,n=c.end.y*h+c.end.offsetY):c.type===Od?(l=Mb.x*g+c.end.offsetX,n=Mb.y*h+c.end.offsetY):(l=Hb.x*g+c.end.offsetX,n=Hb.y*h+c.end.offsetY);a+=p;l+=p;e+=q;n+=q;c.type===Od?k=b.createLinearGradient(a,e,l,n):c.type===Zd?(p=isNaN(c.Wo)?Math.max(g,h)/2:c.Wo,isNaN(c.Xp)?
| (k=0,p=Math.max(g,h)/2):k=c.Xp,k=b.createRadialGradient(a,e,k,l,n,p)):c.type===Vj?k=b.createPattern(c.pattern,"repeat"):t.Xb(c.type,"Brush type");if(c.type!==Vj&&(p=c.Ro))for(p=p.k;p.next();)k.addColorStop(p.key,p.value);m&&(c.Hg=k,c.jy=g,c.iy=h)}d?b.gn!==k&&(b.fillStyle=k,b.gn=k):b.hn!==k&&(b.strokeStyle=k,b.hn=k)}}}Q.prototype.isContainedBy=Q.prototype.Vi=function(a){if(a instanceof y)a:{if(this!==a&&null!==a)for(var b=this.ja;null!==b;){if(b===a){a=!0;break a}b=b.ja}a=!1}else a=!1;return a};
| Q.prototype.isVisibleObject=Q.prototype.nl=function(){if(!this.visible)return!1;var a=this.ja;return null!==a?a.nl():!0};
| function vk(a){if(0!==(a.la&2048)===!0){var b=a.hd;b.reset();if(!a.Yb.N()||!a.Rc.N()){wk(a,!1);return}b.translate(a.Yb.x,a.Yb.y);b.translate(-a.Ea.x,-a.Ea.y);var c=a.Pa;dk(a,b,c.x,c.y,c.width,c.height);wk(a,!1);xk(a,!0)}0!==(a.la&4096)===!0&&(b=a.ja,null===b?(a.ik.set(a.hd),xk(a,!1)):null!==b.ie&&(c=a.ik,c.reset(),b.Tf()?c.multiply(b.ik):null!==b.ja&&c.multiply(b.ja.ik),c.multiply(a.hd),xk(a,!1)))}
| function dk(a,b,c,d,e,g){1!==a.scale&&b.scale(a.scale);if(0!==a.angle){var h=Hb;a.bf&&a.bf.sd()&&(h=a.bf);var k=t.K();if(a instanceof B&&a.fc!==a)for(c=a.fc,d=c.Pa,k.Pt(d.x,d.y,d.width,d.height,h),c.Kk.Ra(k),k.offset(-c.Ea.x,-c.Ea.y),h=c.ja;null!==h&&h!==a;)h.Kk.Ra(k),k.offset(-h.Ea.x,-h.Ea.y),h=h.ja;else k.Pt(c,d,e,g,h);b.rotate(a.angle,k.x,k.y);t.B(k)}}
| Q.prototype.ca=function(a){if(!0!==Ki(this)){gk(this,!0);kk(this,!0);var b=this.ja;null!==b?a||b.ca():(a=this.h,null!==a&&(a.ag.add(this),this instanceof S&&(a.ma.pb||this.qf(),null!==this.Wd&&yk(this.Wd)),a.re()));if(this instanceof y){var c=null;a=this.xa;b=a.length;this.ba===ci&&(c=zk(this,a,b))&&c.ca(!0);a=a.n;for(c=0;c<b;c++){var d=a[c];!0!==Ki(d)&&(d.Ba.N()||(d instanceof Sg||d instanceof y||d instanceof oa||fk(d)!==Tg)&&d.ca(!0))}}}};
| function Ak(a){if(!1===Ki(a)&&(gk(a,!0),kk(a,!0),a instanceof y)){a=a.xa.n;for(var b=a.length,c=0;c<b;c++)Ak(a[c])}}function yk(a){if(!1===Li(a)){if(null!==a.ja)a.ja.ca();else{var b=a.h;null!==b&&(b.ag.add(a),a instanceof S&&a.qf(),b.re())}kk(a,!0)}}function hk(a){if(0!==(a.la&2048)===!1&&(wk(a,!0),xk(a,!0),a instanceof y)){a=a.xa.n;for(var b=a.length,c=0;c<b;c++)Bk(a[c])}}function Bk(a){xk(a,!0);if(a instanceof y){a=a.xa.n;for(var b=a.length,c=0;c<b;c++)Bk(a[c])}}
| Q.prototype.ha=function(){if(this instanceof B){var a=this.h;null!==a&&!Li(this)&&!Mi(this)&&this.bb()&&this.Yb.N()&&a.ha(Th(this,this.Yb))}else null!==this.S&&this.S.ha()};function fk(a){var b=a.Xh,c=a.ja;if(c&&c.ba===Ck)return Dk(a,c.ne(a.nc),c.me(a.column));if(c&&c.ba===ci&&c.yw()===a)return Cc;if(b===Ug){if(c){c.ba===Rg&&null===c.zo&&(b=c.xa,zk(c,b,b.length));if(c.zo===a)return Cc;a=c.kA;return a===Ug?Tg:a}return Tg}return b}
| function Dk(a,b,c){var d=a.Xh;if(d!==Ug)return d;var e=d=void 0;switch(b.Xh){case Wj:e=!0;break;case Cc:e=!0}switch(c.Xh){case Xj:d=!0;break;case Cc:d=!0}a=a.ja.kA;d=void 0!==d||a!==Xj&&a!==Cc?!1:!0;e=void 0!==e||a!==Wj&&a!==Cc?!1:!0;return!0===d&&!0===e?Cc:!0===d?Xj:!0===e?Wj:Tg}t.g(Q,"segmentOrientation",Q.prototype.Mt);
| t.defineProperty(Q,{Mt:"segmentOrientation"},function(){return this.ks},function(a){var b=this.ks;b!==a&&(f&&t.sb(a,U,Q,"segmentOrientation"),this.ks=a,this.ca(),this.i("segmentOrientation",b,a))});t.g(Q,"segmentIndex",Q.prototype.vf);t.defineProperty(Q,{vf:"segmentIndex"},function(){return this.is},function(a){f&&t.j(a,"number",Q,"segmentIndex");a=Math.round(a);var b=this.is;b!==a&&(this.is=a,this.ca(),this.i("segmentIndex",b,a))});t.g(Q,"segmentFraction",Q.prototype.Lt);
| t.defineProperty(Q,{Lt:"segmentFraction"},function(){return this.hs},function(a){f&&t.j(a,"number",Q,"segmentFraction");isNaN(a)?a=0:0>a?a=0:1<a&&(a=1);var b=this.hs;b!==a&&(this.hs=a,this.ca(),this.i("segmentFraction",b,a))});t.g(Q,"segmentOffset",Q.prototype.hB);t.defineProperty(Q,{hB:"segmentOffset"},function(){return this.js},function(a){var b=this.js;b.M(a)||(f&&t.m(a,v,Q,"segmentOffset"),this.js=a=a.Z(),this.ca(),this.i("segmentOffset",b,a))});t.g(Q,"stretch",Q.prototype.Xh);
| t.defineProperty(Q,{Xh:"stretch"},function(){return this.Bh},function(a){var b=this.Bh;b!==a&&(f&&t.sb(a,Q,Q,"stretch"),this.Bh=a,this.ca(),this.i("stretch",b,a))});t.g(Q,"name",Q.prototype.name);t.defineProperty(Q,{name:"name"},function(){return this.Vb},function(a){var b=this.Vb;b!==a&&(f&&t.j(a,"string",Q,"name"),this.Vb=a,this.S&&(this.S.Aj=null),this.i("name",b,a))});t.g(Q,"visible",Q.prototype.visible);
| t.defineProperty(Q,{visible:"visible"},function(){return 0!==(this.la&1)},function(a){var b=0!==(this.la&1);b!==a&&(f&&t.j(a,"boolean",Q,"visible"),this.la^=1,this.i("visible",b,a),b=this.ja,null!==b?b.ca():this instanceof B&&(this.h&&this.h.ha(),lk(this),this.Th(a)),this.ha())});t.g(Q,"pickable",Q.prototype.uf);t.defineProperty(Q,{uf:"pickable"},function(){return 0!==(this.la&2)},function(a){var b=0!==(this.la&2);b!==a&&(f&&t.j(a,"boolean",Q,"pickable"),this.la^=2,this.i("pickable",b,a))});
| t.g(Q,"fromLinkableDuplicates",Q.prototype.tE);t.defineProperty(Q,{tE:"fromLinkableDuplicates"},function(){return 0!==(this.la&4)},function(a){var b=0!==(this.la&4);b!==a&&(f&&t.j(a,"boolean",Q,"fromLinkableDuplicates"),this.la^=4,this.i("fromLinkableDuplicates",b,a))});t.g(Q,"fromLinkableSelfNode",Q.prototype.uE);
| t.defineProperty(Q,{uE:"fromLinkableSelfNode"},function(){return 0!==(this.la&8)},function(a){var b=0!==(this.la&8);b!==a&&(f&&t.j(a,"boolean",Q,"fromLinkableSelfNode"),this.la^=8,this.i("fromLinkableSelfNode",b,a))});t.g(Q,"toLinkableDuplicates",Q.prototype.nG);t.defineProperty(Q,{nG:"toLinkableDuplicates"},function(){return 0!==(this.la&16)},function(a){var b=0!==(this.la&16);b!==a&&(f&&t.j(a,"boolean",Q,"toLinkableDuplicates"),this.la^=16,this.i("toLinkableDuplicates",b,a))});
| t.g(Q,"toLinkableSelfNode",Q.prototype.oG);t.defineProperty(Q,{oG:"toLinkableSelfNode"},function(){return 0!==(this.la&32)},function(a){var b=0!==(this.la&32);b!==a&&(f&&t.j(a,"boolean",Q,"toLinkableSelfNode"),this.la^=32,this.i("toLinkableSelfNode",b,a))});t.g(Q,"isPanelMain",Q.prototype.Wi);t.defineProperty(Q,{Wi:"isPanelMain"},function(){return 0!==(this.la&64)},function(a){var b=0!==(this.la&64);b!==a&&(f&&t.j(a,"boolean",Q,"isPanelMain"),this.la^=64,this.ca(),this.i("isPanelMain",b,a))});
| t.g(Q,"isActionable",Q.prototype.Kw);t.defineProperty(Q,{Kw:"isActionable"},function(){return 0!==(this.la&128)},function(a){var b=0!==(this.la&128);b!==a&&(f&&t.j(a,"boolean",Q,"isActionable"),this.la^=128,this.i("isActionable",b,a))});t.g(Q,"areaBackground",Q.prototype.Zk);
| t.defineProperty(Q,{Zk:"areaBackground"},function(){return this.qc},function(a){var b=this.qc;b!==a&&(f&&null!==a&&t.Po(a,"GraphObject.areaBackground"),a instanceof ea&&a.freeze(),this.qc=a,this.ha(),this.i("areaBackground",b,a))});t.g(Q,"background",Q.prototype.background);t.defineProperty(Q,{background:"background"},function(){return this.Fb},function(a){var b=this.Fb;b!==a&&(f&&null!==a&&t.Po(a,"GraphObject.background"),a instanceof ea&&a.freeze(),this.Fb=a,this.ha(),this.i("background",b,a))});
| function uk(a,b){a.la=b?a.la|512:a.la&-513}function Ek(a,b){a.la=b?a.la|1024:a.la&-1025}function wk(a,b){a.la=b?a.la|2048:a.la&-2049}function xk(a,b){a.la=b?a.la|4096:a.la&-4097}function Ki(a){return 0!==(a.la&8192)}function gk(a,b){a.la=b?a.la|8192:a.la&-8193}function Li(a){return 0!==(a.la&16384)}function kk(a,b){a.la=b?a.la|16384:a.la&-16385}t.A(Q,{S:"part"},function(){if(this instanceof B)return this;if(this.dm)return this.dm;var a;for(a=this.ja;a;){if(a instanceof B)return this.dm=a;a=a.ja}return null});
| Q.prototype.tl=function(a){this.xi=a};t.A(Q,{ja:"panel"},function(){return this.xi});t.A(Q,{layer:"layer"},function(){var a=this.S;return null!==a?a.layer:null});t.A(Q,{h:"diagram"},function(){var a=this.S;return null!==a?a.h:null},{configurable:!0});t.g(Q,"position",Q.prototype.position);t.defineProperty(Q,{position:"position"},function(){return this.Ma},function(a){var b=this.Ma;b.M(a)||(f&&t.m(a,v,Q,"position"),a=a.Z(),this.aG(a,b)&&this.i("position",b,a))});
| Q.prototype.aG=function(a){this.Ma=a;yk(this);hk(this);return!0};Q.prototype.bG=function(a,b){this.Ma.q(a,b);Fk(this);hk(this)};t.A(Q,{sa:"actualBounds"},function(){return this.Yb});t.g(Q,"scale",Q.prototype.scale);t.defineProperty(Q,{scale:"scale"},function(){return this.ic},function(a){var b=this.ic;b!==a&&(f&&t.p(a,Q,"scale"),0>=a&&t.l("GraphObject.scale must be greater than zero"),this.ic=a,hk(this),this.ca(),this.i("scale",b,a))});t.g(Q,"angle",Q.prototype.angle);
| t.defineProperty(Q,{angle:"angle"},function(){return this.mn},function(a){var b=this.mn;b!==a&&(f&&t.p(a,Q,"angle"),a%=360,0>a&&(a+=360),b!==a&&(this.mn=a,this.ca(),hk(this),this.i("angle",b,a)))});t.g(Q,"desiredSize",Q.prototype.Ba);
| t.defineProperty(Q,{Ba:"desiredSize"},function(){return this.hf},function(a){var b=this.hf;b.M(a)||(f&&t.m(a,fa,Q,"desiredSize"),this.hf=a=a.Z(),this.ca(),this instanceof X&&this.Ye(),this.i("desiredSize",b,a),a=this.S,null!==a&&0!==(this.la&1024)&&(bk(this,a,"width"),bk(this,a,"height")))});t.g(Q,"width",Q.prototype.width);
| t.defineProperty(Q,{width:"width"},function(){return this.hf.width},function(a){if(this.hf.width!==a){f&&t.j(a,"number",Q,"width");var b=this.hf;this.hf=a=(new fa(a,this.hf.height)).freeze();this.ca();this instanceof X&&this.Ye();this.i("desiredSize",b,a);b=this.S;null!==b&&0!==(this.la&1024)&&bk(this,b,"width")}});t.g(Q,"height",Q.prototype.height);
| t.defineProperty(Q,{height:"height"},function(){return this.hf.height},function(a){if(this.hf.height!==a){f&&t.j(a,"number",Q,"height");var b=this.hf;this.hf=a=(new fa(this.hf.width,a)).freeze();this.ca();this instanceof X&&this.Ye();this.i("desiredSize",b,a);b=this.S;null!==b&&0!==(this.la&1024)&&bk(this,b,"height")}});t.g(Q,"minSize",Q.prototype.Nf);
| t.defineProperty(Q,{Nf:"minSize"},function(){return this.zj},function(a){var b=this.zj;b.M(a)||(f&&t.m(a,fa,Q,"minSize"),a=a.copy(),isNaN(a.width)&&(a.width=0),isNaN(a.height)&&(a.height=0),a.freeze(),this.zj=a,this.ca(),this.i("minSize",b,a))});t.g(Q,"maxSize",Q.prototype.He);
| t.defineProperty(Q,{He:"maxSize"},function(){return this.yj},function(a){var b=this.yj;b.M(a)||(f&&t.m(a,fa,Q,"maxSize"),a=a.copy(),isNaN(a.width)&&(a.width=Infinity),isNaN(a.height)&&(a.height=Infinity),a.freeze(),this.yj=a,this.ca(),this.i("maxSize",b,a))});t.A(Q,{Ea:"measuredBounds"},function(){return this.Rc});t.A(Q,{Pa:"naturalBounds"},function(){return this.dd},{configurable:!0});t.g(Q,"margin",Q.prototype.margin);
| t.defineProperty(Q,{margin:"margin"},function(){return this.wr},function(a){"number"===typeof a?a=new ab(a):f&&t.m(a,ab,Q,"margin");var b=this.wr;b.M(a)||(this.wr=a=a.Z(),this.ca(),this.i("margin",b,a))});t.A(Q,{transform:null},function(){0!==(this.la&2048)===!0&&vk(this);return this.hd});t.A(Q,{ie:null},function(){0!==(this.la&4096)===!0&&vk(this);return this.ik});t.g(Q,"alignment",Q.prototype.alignment);
| t.defineProperty(Q,{alignment:"alignment"},function(){return this.se},function(a){var b=this.se;b.M(a)||(f?t.m(a,H,Q,"alignment"):a.Ge()&&!a.Lc()&&t.l("alignment must be a real Spot or Spot.Default"),this.se=a=a.Z(),yk(this),this.i("alignment",b,a))});t.g(Q,"column",Q.prototype.column);t.defineProperty(Q,{column:"column"},function(){return this.xq},function(a){f&&t.p(a,Q,"column");a=Math.round(a);var b=this.xq;b!==a&&(0>a&&t.ka(a,">= 0",Q,"column"),this.xq=a,this.ca(),this.i("column",b,a))});
| t.g(Q,"columnSpan",Q.prototype.PD);t.defineProperty(Q,{PD:"columnSpan"},function(){return this.lj},function(a){f&&t.p(a,Q,"columnSpan");a=Math.round(a);var b=this.lj;b!==a&&(1>a&&t.ka(a,">= 1",Q,"columnSpan"),this.lj=a,this.ca(),this.i("columnSpan",b,a))});t.g(Q,"row",Q.prototype.nc);t.defineProperty(Q,{nc:"row"},function(){return this.es},function(a){f&&t.p(a,Q,"row");a=Math.round(a);var b=this.es;b!==a&&(0>a&&t.ka(a,">= 0",Q,"row"),this.es=a,this.ca(),this.i("row",b,a))});t.g(Q,"rowSpan",Q.prototype.rowSpan);
| t.defineProperty(Q,{rowSpan:"rowSpan"},function(){return this.Gj},function(a){f&&t.p(a,Q,"rowSpan");a=Math.round(a);var b=this.Gj;b!==a&&(1>a&&t.ka(a,">= 1",Q,"rowSpan"),this.Gj=a,this.ca(),this.i("rowSpan",b,a))});t.g(Q,"alignmentFocus",Q.prototype.Mj);
| t.defineProperty(Q,{Mj:"alignmentFocus"},function(){return this.qq},function(a){var b=this.qq;b.M(a)||(f?t.m(a,H,Q,"alignmentFocus"):a.Ge()&&!a.Lc()&&t.l("alignmentFocus must be a real Spot or Spot.Default"),this.qq=a=a.Z(),this.ca(),this.i("alignmentFocus",b,a))});t.g(Q,"portId",Q.prototype.Jd);
| t.defineProperty(Q,{Jd:"portId"},function(){return this.Sr},function(a){var b=this.Sr;if(b!==a){f&&null!==a&&t.j(a,"string",Q,"portId");var c=this.S;null===c||c instanceof S||(t.l("portID being set on a Link: "+a),c=null);null!==b&&c&&Gk(c,this);this.Sr=a;if(null!==a&&c){c.rh=!0;null===c.Nd&&Hk(c);var d=this.Jd;null!==d&&c.Nd.add(d,this)}this.i("portId",b,a)}});function Ik(a){var b={value:null};Jk(a,b);return b.value}
| function Jk(a,b){var c=a.ja;return null===c||!Jk(c,b)&&a.visible?(b.value=a,!1):!0}function Kk(a){var b=a.S;b instanceof S&&(a=a.h)&&!a.ma.pb&&b.qf()}t.g(Q,"toSpot",Q.prototype.qb);t.defineProperty(Q,{qb:"toSpot"},function(){return null!==this.P?this.P.Gh:wb},function(a){null===this.P&&this.Fe();var b=this.P.Gh;b.M(a)||(f&&t.m(a,H,Q,"toSpot"),a=a.Z(),this.P.Gh=a,this.i("toSpot",b,a),Kk(this))});t.g(Q,"toEndSegmentLength",Q.prototype.hk);
| t.defineProperty(Q,{hk:"toEndSegmentLength"},function(){return null!==this.P?this.P.Dh:10},function(a){null===this.P&&this.Fe();var b=this.P.Dh;b!==a&&(f&&t.j(a,"number",Q,"toEndSegmentLength"),0>a&&t.ka(a,">= 0",Q,"toEndSegmentLength"),this.P.Dh=a,this.i("toEndSegmentLength",b,a),Kk(this))});t.g(Q,"toEndSegmentDirection",Q.prototype.aq);
| t.defineProperty(Q,{aq:"toEndSegmentDirection"},function(){return null!==this.P?this.P.Ch:Zj},function(a){null===this.P&&this.Fe();var b=this.P.Ch;b!==a&&(f&&t.sb(a,S,Q,"toEndSegmentDirection"),this.P.Ch=a,this.i("toEndSegmentDirection",b,a),Kk(this))});t.g(Q,"toShortLength",Q.prototype.bq);
| t.defineProperty(Q,{bq:"toShortLength"},function(){return null!==this.P?this.P.Fh:0},function(a){null===this.P&&this.Fe();var b=this.P.Fh;b!==a&&(f&&t.j(a,"number",Q,"toShortLength"),this.P.Fh=a,this.i("toShortLength",b,a),Kk(this))});t.g(Q,"toLinkable",Q.prototype.wB);t.defineProperty(Q,{wB:"toLinkable"},function(){return this.Bs},function(a){var b=this.Bs;b!==a&&(f&&null!==a&&t.j(a,"boolean",Q,"toLinkable"),this.Bs=a,this.i("toLinkable",b,a))});t.g(Q,"toMaxLinks",Q.prototype.pG);
| t.defineProperty(Q,{pG:"toMaxLinks"},function(){return this.Cs},function(a){var b=this.Cs;b!==a&&(f&&t.p(a,Q,"toMaxLinks"),0>a&&t.ka(a,">= 0",Q,"toMaxLinks"),this.Cs=a,this.i("toMaxLinks",b,a))});t.g(Q,"fromSpot",Q.prototype.nb);t.defineProperty(Q,{nb:"fromSpot"},function(){return null!==this.P?this.P.qh:wb},function(a){null===this.P&&this.Fe();var b=this.P.qh;b.M(a)||(f&&t.m(a,H,Q,"fromSpot"),a=a.Z(),this.P.qh=a,this.i("fromSpot",b,a),Kk(this))});t.g(Q,"fromEndSegmentLength",Q.prototype.Zj);
| t.defineProperty(Q,{Zj:"fromEndSegmentLength"},function(){return null!==this.P?this.P.nh:10},function(a){null===this.P&&this.Fe();var b=this.P.nh;b!==a&&(f&&t.j(a,"number",Q,"fromEndSegmentLength"),0>a&&t.ka(a,">= 0",Q,"fromEndSegmentLength"),this.P.nh=a,this.i("fromEndSegmentLength",b,a),Kk(this))});t.g(Q,"fromEndSegmentDirection",Q.prototype.cp);
| t.defineProperty(Q,{cp:"fromEndSegmentDirection"},function(){return null!==this.P?this.P.mh:Zj},function(a){null===this.P&&this.Fe();var b=this.P.mh;b!==a&&(f&&t.sb(a,S,Q,"fromEndSegmentDirection"),this.P.mh=a,this.i("fromEndSegmentDirection",b,a),Kk(this))});t.g(Q,"fromShortLength",Q.prototype.dp);
| t.defineProperty(Q,{dp:"fromShortLength"},function(){return null!==this.P?this.P.ph:0},function(a){null===this.P&&this.Fe();var b=this.P.ph;b!==a&&(f&&t.j(a,"number",Q,"fromShortLength"),this.P.ph=a,this.i("fromShortLength",b,a),Kk(this))});t.g(Q,"fromLinkable",Q.prototype.rA);t.defineProperty(Q,{rA:"fromLinkable"},function(){return this.Rq},function(a){var b=this.Rq;b!==a&&(f&&null!==a&&t.j(a,"boolean",Q,"fromLinkable"),this.Rq=a,this.i("fromLinkable",b,a))});t.g(Q,"fromMaxLinks",Q.prototype.vE);
| t.defineProperty(Q,{vE:"fromMaxLinks"},function(){return this.Sq},function(a){var b=this.Sq;b!==a&&(f&&t.p(a,Q,"fromMaxLinks"),0>a&&t.ka(a,">= 0",Q,"fromMaxLinks"),this.Sq=a,this.i("fromMaxLinks",b,a))});t.g(Q,"cursor",Q.prototype.cursor);t.defineProperty(Q,{cursor:"cursor"},function(){return this.Eq},function(a){var b=this.Eq;b!==a&&(t.j(a,"string",Q,"cursor"),this.Eq=a,this.i("cursor",b,a))});t.g(Q,"click",Q.prototype.click);
| t.defineProperty(Q,{click:"click"},function(){return null!==this.Q?this.Q.di:null},function(a){null===this.Q&&Yj(this);var b=this.Q.di;b!==a&&(null!==a&&t.j(a,"function",Q,"click"),this.Q.di=a,this.i("click",b,a))});t.g(Q,"doubleClick",Q.prototype.Hm);t.defineProperty(Q,{Hm:"doubleClick"},function(){return null!==this.Q?this.Q.ji:null},function(a){null===this.Q&&Yj(this);var b=this.Q.ji;b!==a&&(null!==a&&t.j(a,"function",Q,"doubleClick"),this.Q.ji=a,this.i("doubleClick",b,a))});
| t.g(Q,"contextClick",Q.prototype.Ys);t.defineProperty(Q,{Ys:"contextClick"},function(){return null!==this.Q?this.Q.fi:null},function(a){null===this.Q&&Yj(this);var b=this.Q.fi;b!==a&&(null!==a&&t.j(a,"function",Q,"contextClick"),this.Q.fi=a,this.i("contextClick",b,a))});t.g(Q,"mouseEnter",Q.prototype.NA);
| t.defineProperty(Q,{NA:"mouseEnter"},function(){return null!==this.Q?this.Q.Hr:null},function(a){null===this.Q&&Yj(this);var b=this.Q.Hr;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseEnter"),this.Q.Hr=a,this.i("mouseEnter",b,a))});t.g(Q,"mouseLeave",Q.prototype.OA);t.defineProperty(Q,{OA:"mouseLeave"},function(){return null!==this.Q?this.Q.Ir:null},function(a){null===this.Q&&Yj(this);var b=this.Q.Ir;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseLeave"),this.Q.Ir=a,this.i("mouseLeave",b,a))});
| t.g(Q,"mouseOver",Q.prototype.zt);t.defineProperty(Q,{zt:"mouseOver"},function(){return null!==this.Q?this.Q.ti:null},function(a){null===this.Q&&Yj(this);var b=this.Q.ti;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseOver"),this.Q.ti=a,this.i("mouseOver",b,a))});t.g(Q,"mouseHover",Q.prototype.yt);
| t.defineProperty(Q,{yt:"mouseHover"},function(){return null!==this.Q?this.Q.si:null},function(a){null===this.Q&&Yj(this);var b=this.Q.si;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseHover"),this.Q.si=a,this.i("mouseHover",b,a))});t.g(Q,"mouseHold",Q.prototype.xt);t.defineProperty(Q,{xt:"mouseHold"},function(){return null!==this.Q?this.Q.ri:null},function(a){null===this.Q&&Yj(this);var b=this.Q.ri;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseHold"),this.Q.ri=a,this.i("mouseHold",b,a))});
| t.g(Q,"mouseDragEnter",Q.prototype.pF);t.defineProperty(Q,{pF:"mouseDragEnter"},function(){return null!==this.Q?this.Q.Fr:null},function(a){null===this.Q&&Yj(this);var b=this.Q.Fr;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseDragEnter"),this.Q.Fr=a,this.i("mouseDragEnter",b,a))});t.g(Q,"mouseDragLeave",Q.prototype.MA);
| t.defineProperty(Q,{MA:"mouseDragLeave"},function(){return null!==this.Q?this.Q.Gr:null},function(a){null===this.Q&&Yj(this);var b=this.Q.Gr;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseDragLeave"),this.Q.Gr=a,this.i("mouseDragLeave",b,a))});t.g(Q,"mouseDrop",Q.prototype.wt);t.defineProperty(Q,{wt:"mouseDrop"},function(){return null!==this.Q?this.Q.qi:null},function(a){null===this.Q&&Yj(this);var b=this.Q.qi;b!==a&&(null!==a&&t.j(a,"function",Q,"mouseDrop"),this.Q.qi=a,this.i("mouseDrop",b,a))});
| t.g(Q,"actionDown",Q.prototype.Rz);t.defineProperty(Q,{Rz:"actionDown"},function(){return null!==this.Q?this.Q.mq:null},function(a){null===this.Q&&Yj(this);var b=this.Q.mq;b!==a&&(null!==a&&t.j(a,"function",Q,"actionDown"),this.Q.mq=a,this.i("actionDown",b,a))});t.g(Q,"actionUp",Q.prototype.Tz);
| t.defineProperty(Q,{Tz:"actionUp"},function(){return null!==this.Q?this.Q.oq:null},function(a){null===this.Q&&Yj(this);var b=this.Q.oq;b!==a&&(null!==a&&t.j(a,"function",Q,"actionUp"),this.Q.oq=a,this.i("actionUp",b,a))});t.g(Q,"actionMove",Q.prototype.Sz);t.defineProperty(Q,{Sz:"actionMove"},function(){return null!==this.Q?this.Q.nq:null},function(a){null===this.Q&&Yj(this);var b=this.Q.nq;b!==a&&(null!==a&&t.j(a,"function",Q,"actionMove"),this.Q.nq=a,this.i("actionMove",b,a))});
| t.g(Q,"actionCancel",Q.prototype.Qz);t.defineProperty(Q,{Qz:"actionCancel"},function(){return null!==this.Q?this.Q.lq:null},function(a){null===this.Q&&Yj(this);var b=this.Q.lq;b!==a&&(null!==a&&t.j(a,"function",Q,"actionCancel"),this.Q.lq=a,this.i("actionCancel",b,a))});t.g(Q,"toolTip",Q.prototype.Wt);
| t.defineProperty(Q,{Wt:"toolTip"},function(){return null!==this.Q?this.Q.Di:null},function(a){null===this.Q&&Yj(this);var b=this.Q.Di;b!==a&&(null!==a&&t.m(a,Ge,Q,"toolTip"),this.Q.Di=a,this.i("toolTip",b,a))});t.g(Q,"contextMenu",Q.prototype.contextMenu);t.defineProperty(Q,{contextMenu:"contextMenu"},function(){return null!==this.Q?this.Q.gi:null},function(a){null===this.Q&&Yj(this);var b=this.Q.gi;b!==a&&(null!==a&&t.m(a,Ge,Q,"contextMenu"),this.Q.gi=a,this.i("contextMenu",b,a))});
| Q.prototype.bind=Q.prototype.bind=function(a){a.hg=this;var b=this.$o();null!==b&&Lk(b)&&t.l("Cannot add a Binding to a template that has already been copied: "+a);null===this.Gc&&(this.Gc=new A(Ae));this.Gc.add(a)};Q.prototype.findTemplateBinder=Q.prototype.$o=function(){for(var a=this instanceof y?this:this.ja;null!==a;){if(null!==a.Dl&&a instanceof y)return a;a=a.ja}return null};Q.fromSvg=Q.fromSVG=function(a){return Mk(a)};Q.prototype.setProperties=function(a){t.ox(this,a)};var Nk;
| Q.make=Nk=function(a,b){var c=arguments,d=null,e=null;if("function"===typeof a)e=a;else if("string"===typeof a){var g=Ok.ya(a);"function"===typeof g?(c=Array.prototype.slice.call(arguments),d=g(c)):e=ba[a]}null===d&&(void 0===e&&(d=window.$,void 0!==d&&void 0!==d.noop&&t.l("GraphObject.make failed to complete. Is it conflicting with another $ var? (such as jQuery)"),t.l("GraphObject.make failed to complete, it may be conflicting with another var.")),null!==e&&e.constructor||t.l("GraphObject.make requires a class function or class name, not: "+
| a),d=new e);g=1;d instanceof z&&1<c.length&&(e=c[1],"string"===typeof e||e instanceof HTMLDivElement)&&(d.Ri=null,ai(d,e),g++);for(;g<c.length;g++)e=c[g],void 0===e?t.l("Undefined value at argument "+g+" for object being constructed by GraphObject.make: "+d):Pk(d,e);return d};
| function Pk(a,b){if("string"===typeof b){var c=a;if(c instanceof oa)c.text=b;else if(c instanceof X)c.Jb=b;else if(c instanceof Qk)c.source=b;else if(c instanceof y){var d=t.Im(y,b);null!==d?c.type=d:t.l("Unknown Panel type as an argument to GraphObject.make: "+b)}else c instanceof ea?(d=t.Im(ea,b),null!==d?c.type=d:t.l("Unknown Brush type as an argument to GraphObject.make: "+b)):c instanceof zc?(d=t.Im(zc,b),null!==d?c.type=d:t.l("Unknown Geometry type as an argument to GraphObject.make: "+b)):
| c instanceof M?(d=t.Im(M,b),null!==d?c.type=d:t.l("Unknown PathSegment type as an argument to GraphObject.make: "+b)):t.l("Unable to use a string as an argument to GraphObject.make: "+b)}else if(b instanceof Q)a instanceof y||t.l("A GraphObject can only be added to a Panel, not to: "+a),a.add(b);else if(b instanceof Rk)a instanceof y||t.l("A RowColumnDefinition can only be added to a Panel, not to: "+a),c=b.Rh?a.ne(b.index):a.me(b.index),t.m(b,Rk,Rk,"copyFrom:pd"),b.Rh?c.height=b.height:c.width=b.width,
| c.Uh=b.Uh,c.sf=b.sf,c.alignment=b.alignment,c.Qt=b.Qt,c.Jj=null===b.Jj?null:b.Jj.Z(),c.Zm=b.Zm,c.$m=b.$m,c.xh=null,b.xh&&(c.xh=b.xh.slice(0)),c.background=b.background,c.mw=b.mw,c.Gc=b.Gc;else if(b instanceof ca)c=a,c instanceof U&&b.Se===U?2===(b.value&2)?c.Kt=b:b===Mg||b===vg||b===ug?c.De=b:b===Sk||b===Tk||b===Uk?c.Ho=b:b!==Vk&&b!==wg&&t.l("Unknown Link enum value for a Link property: "+b):c instanceof y&&b.Se===y?c.type=b:c instanceof oa&&b.Se===oa?c.CB=b:c instanceof Q&&b.Se===U?0===b.name.indexOf("Orient")?
| c.Mt=b:t.l("Unknown Link enum value for GraphObject.segmentOrientation property: "+b):c instanceof Q&&b.Se===Q?c.Xh=b:c instanceof z&&b.Se===z?c.wm=b:c instanceof ea&&b.Se===ea?c.type=b:c instanceof zc&&b.Se===zc?c.type=b:c instanceof M&&b.Se===M?c.type=b:c instanceof Ae&&b.Se===Ae?c.mode=b:c instanceof sd&&b.Se===sd?c.qd=b:c instanceof Z&&b.Se===Z?0===b.name.indexOf("Alignment")?c.alignment=b:0===b.name.indexOf("Arrangement")?c.Re=b:0===b.name.indexOf("Compaction")?c.compaction=b:0===b.name.indexOf("Path")?
| c.path=b:0===b.name.indexOf("Sorting")?c.sorting=b:0===b.name.indexOf("Style")?c.zG=b:t.l("Unknown enum value: "+b):c instanceof Wk&&b.Se===Wk?0===b.name.indexOf("Aggressive")?c.yD=b:0===b.name.indexOf("Cycle")?c.YD=b:0===b.name.indexOf("Init")?c.OE=b:0===b.name.indexOf("Layer")?c.aF=b:t.l("Unknown enum value: "+b):c instanceof Sj&&b.Se===Sj?b===Xk||b===Yk||b===Zk||b===$k?c.sorting=b:b===al||b===bl?c.Re=b:b===cl||b===dl?c.alignment=b:t.l("Unknown enum value: "+b):c instanceof el&&b.Se===el?b===fl||
| b===gl||b===hl||b===il||b===jl?c.sorting=b:b===kl||b===ll||b===ml||b===nl?c.direction=b:b===sl||b===tl||b===ul||b===vl?c.Re=b:b===wl||b===xl?c.Bt=b:t.l("Unknown enum value: "+b):t.l("No property to set for this enum value: "+b);else if(b instanceof Ae)if(a instanceof Q||a instanceof Rk){var d=b.Ut,e=d.indexOf(".");0<e&&a instanceof y&&(c=d.substr(e+1),d=a.ke(d.substring(0,e)),null!==d&&(a=d,b.Ut=c));a.bind(b)}else t.l("A Binding can only be applied to a GraphObject or RowColumnDefinition, not to: "+
| a);else if(b instanceof Bc)a instanceof zc?a.xb.add(b):t.l("A PathFigure can only be added to a Geometry, not to: "+a);else if(b instanceof M)a instanceof Bc?a.Fa.add(b):t.l("A PathSegment can only be added to a PathFigure, not to: "+a);else if(Array.isArray(b))for(c=0;c<b.length;c++)Pk(a,b[c]);else if("object"===typeof b&&null!==b)if(c=a,c instanceof ea){d={};for(e in b){var g=parseFloat(e);isNaN(g)?d[e]=b[e]:c.addColorStop(g,b[e])}t.ox(c,d)}else c instanceof Rk?(void 0!==b.row?(d=b.row,(void 0===
| d||null===d||Infinity===d||isNaN(d)||0>d)&&t.l("Must specify non-negative integer row for RowColumnDefinition "+b),c.Ol=!0,c.Qc=d):void 0!==b.column?(d=b.column,(void 0===d||null===d||Infinity===d||isNaN(d)||0>d)&&t.l("Must specify non-negative integer column for RowColumnDefinition "+b),c.Ol=!1,c.Qc=d):t.l("Must specify row or column value in a RowColumnDefinition "+b),d=t.XH(b,"row","column"),t.ox(c,d)):t.ox(c,b);else t.l('Unknown initializer "'+b+'" for object being constructed by GraphObject.make: '+
| a)}var Ok;Q.Builders=Ok=new la("string","function");
| Ok.add("Button",function(){var a=new ea(Od);a.addColorStop(0,"white");a.addColorStop(1,"lightgray");var b=new ea(Od);b.addColorStop(0,"white");b.addColorStop(1,"dodgerblue");var c=Nk(y,ci,{Kw:!0},Nk(X,{name:"ButtonBorder",Jb:"RoundedRectangle",fill:a,stroke:"gray"}));c.NA=function(a,c){var g=c.wa(0),h=c._buttonFillOver;void 0===h&&(h=b);c._buttonFillNormal=g.fill;g.fill=h;h=c._buttonStrokeOver;void 0===h&&(h="blue");c._buttonStrokeNormal=g.stroke;g.stroke=h};c.OA=function(b,c){var g=c.wa(0),h=c._buttonFillNormal;
| void 0===h&&(h=a);g.fill=h;h=c._buttonStrokeNormal;void 0===h&&(h="gray");g.stroke=h};return c});
| Ok.add("TreeExpanderButton",function(){var a=Nk("Button",Nk(X,{name:"ButtonIcon",Jb:"MinusLine",Ba:F.hq},(new Ae("figure","isTreeExpanded",function(a,c){var d=null,e=c.ja;e&&(d=a?e._treeExpandedFigure:e._treeCollapsedFigure);d||(d=a?"MinusLine":"PlusLine");return d})).TA("")),{visible:!1},(new Ae("visible","isTreeLeaf",function(a){return!a})).TA(""));a.click=function(a,c){var d=c.S;d instanceof Ge&&(d=d.Jh);if(d instanceof S){var e=d.h;if(null!==e){e=e.Te;if(d.Mc){if(!e.canCollapseTree(d))return}else if(!e.canExpandTree(d))return;
| a.Ee=!0;d.Mc?e.collapseTree(d):e.expandTree(d)}}};return a});
| Ok.add("SubGraphExpanderButton",function(){var a=Nk("Button",Nk(X,{name:"ButtonIcon",Jb:"MinusLine",Ba:F.hq},(new Ae("figure","isSubGraphExpanded",function(a,c){var d=null,e=c.ja;e&&(d=a?e._subGraphExpandedFigure:e._subGraphCollapsedFigure);d||(d=a?"MinusLine":"PlusLine");return d})).TA("")));a.click=function(a,c){var d=c.S;d instanceof Ge&&(d=d.Jh);if(d instanceof T){var e=d.h;if(null!==e){e=e.Te;if(d.Ud){if(!e.canCollapseSubGraph(d))return}else if(!e.canExpandSubGraph(d))return;a.Ee=!0;d.Ud?e.collapseSubGraph(d):
| e.expandSubGraph(d)}}};return a});Ok.add("ContextMenuButton",function(){var a=Nk("Button");a.Xh=Xj;var b=a.ke("ButtonBorder");b instanceof X&&(b.Jb="Rectangle",b.G=new H(0,0,2,2),b.H=new H(1,1,-2,-2));return a});Q.defineBuilder=function(a,b){t.j(a,"string",Q,"defineBuilder:name");t.j(b,"function",Q,"defineBuilder:func");var c=a.toLowerCase();""!==a&&"none"!==c&&a!==c||t.l("Shape.defineFigureGenerator name must not be empty or None or all-lower-case: "+a);Q.Builders.add(a,b)};
| function y(a){Q.call(this);void 0===a?0===arguments.length?this.ba=Yg:t.l("invalid argument to Panel constructor: undefined"):(t.sb(a,y,y,"type"),this.ba=a);this.xa=new A(Q);this.Oe=F.jq;this.Ig=!1;this.ba===si&&(this.Ig=!0);this.Df=1;this.Hq=xb;this.sc=Ug;this.ba===Ck&&yl(this);this.Do=Vg;this.Wq=(new fa(10,10)).freeze();this.Xq=F.fj;this.Dl=this.Hl=null;this.kr=NaN;this.cg=this.oi=null;this.Zn="category";this.bg=null;this.Fi=new w(NaN,NaN,NaN,NaN);this.zo=null;this.rh=!1;this.fs=null}
| t.ga("Panel",y);t.Kh(y);t.Ka(y,Q);function yl(a){a.nj=F.jq;a.ih=1;a.ii=null;a.Jl=null;a.hh=1;a.gh=null;a.Il=null;a.fd=[];a.$c=[];a.im=zl;a.El=zl;a.Ei=0;a.pi=0}
| y.prototype.cloneProtected=function(a){Q.prototype.cloneProtected.call(this,a);a.ba=this.ba;a.Oe=this.Oe.Z();a.Ig=this.Ig;a.Df=this.Df;a.Hq=this.Hq.Z();a.sc=this.sc;if(a.ba===Ck){a.nj=this.nj.Z();a.ih=this.ih;a.ii=this.ii;a.Jl=this.Jl;a.hh=this.hh;a.gh=this.gh;a.Il=this.Il;var b=[];if(0<this.fd.length)for(var c=this.fd,d=c.length,e=0;e<d;e++)if(void 0!==c[e]){var g=c[e].copy();g.tl(a);b[e]=g}a.fd=b;b=[];if(0<this.$c.length)for(c=this.$c,d=c.length,e=0;e<d;e++)void 0!==c[e]&&(g=c[e].copy(),g.tl(a),
| b[e]=g);a.$c=b;a.im=this.im;a.El=this.El;a.Ei=this.Ei;a.pi=this.pi}a.Do=this.Do;a.Wq.assign(this.Wq);a.Xq=this.Xq.Z();a.Hl=this.Hl;a.Dl=this.Dl;a.kr=this.kr;a.oi=this.oi;a.cg=this.cg;a.Zn=this.Zn;a.Fi.assign(this.Fi);a.rh=this.rh;this.fs&&(a.fs=this.fs);this._buttonFillNormal&&(a._buttonFillNormal=this._buttonFillNormal);this._buttonFillOver&&(a._buttonFillOver=this._buttonFillOver);this._buttonStrokeNormal&&(a._buttonStrokeNormal=this._buttonStrokeNormal);this._buttonStrokeOver&&(a._buttonStrokeOver=
| this._buttonStrokeOver);this._treeExpandedFigure&&(a._treeExpandedFigure=this._treeExpandedFigure);this._treeCollapsedFigure&&(a._treeCollapsedFigure=this._treeCollapsedFigure);this._subGraphExpandedFigure&&(a._subGraphExpandedFigure=this._subGraphExpandedFigure);this._subGraphCollapsedFigure&&(a._subGraphCollapsedFigure=this._subGraphCollapsedFigure)};y.prototype.Lh=function(a){Q.prototype.Lh.call(this,a);a.xa=this.xa;for(var b=a.xa.k;b.next();)b.value.xi=a};
| y.prototype.copy=function(){var a=Q.prototype.copy.call(this);if(a instanceof y){var b=this.xa;if(0<b.length)for(var c=b.length,d=0;d<c;d++){var e=b.n[d].copy(),g=a;e.tl(g);e.dm=null;var h=g.xa,k=h.count;h.Ed(k,e);h=g.S;if(null!==h){h.Aj=null;null!==e.Jd&&h instanceof S&&(h.rh=!0);var l=g.h;null!==l&&l.ma.pb||h.Xc(vd,"elements",g,null,e,null,k)}}return a}return null};y.prototype.toString=function(){return"Panel("+this.type+")#"+t.ld(this)};var Yg;y.Position=Yg=t.w(y,"Position",0);
| y.Horizontal=t.w(y,"Horizontal",1);var bi;y.Vertical=bi=t.w(y,"Vertical",2);var Rg;y.Spot=Rg=t.w(y,"Spot",3);var ci;y.Auto=ci=t.w(y,"Auto",4);var Ck;y.Table=Ck=t.w(y,"Table",5);y.Viewbox=t.w(y,"Viewbox",6);var ok;y.TableRow=ok=t.w(y,"TableRow",7);var pk;y.TableColumn=pk=t.w(y,"TableColumn",8);var tg;y.Link=tg=t.w(y,"Link",9);var si;y.Grid=si=t.w(y,"Grid",10);t.g(y,"type",y.prototype.type);
| t.defineProperty(y,{type:"type"},function(){return this.ba},function(a){var b=this.ba;b!==a&&(f&&t.sb(a,y,y,"type"),b!==ok&&b!==pk||t.l("Cannot change Panel.type when it is already a TableRow or a TableColumn: "+a),this.ba=a,this.ba===si?this.Ig=!0:this.ba===Ck&&yl(this),this.ca(),this.i("type",b,a))});t.A(y,{elements:"elements"},function(){return this.xa.k});t.A(y,{Pa:"naturalBounds"},function(){return this.dd});t.g(y,"padding",y.prototype.padding);
| t.defineProperty(y,{padding:"padding"},function(){return this.Oe},function(a){"number"===typeof a?(0>a&&t.ka(a,">= 0",y,"padding"),a=new ab(a)):(t.m(a,ab,y,"padding"),0>a.left&&t.ka(a.left,">= 0",y,"padding:val.left"),0>a.right&&t.ka(a.right,">= 0",y,"padding:val.right"),0>a.top&&t.ka(a.top,">= 0",y,"padding:val.top"),0>a.bottom&&t.ka(a.bottom,">= 0",y,"padding:val.bottom"));var b=this.Oe;b.M(a)||(this.Oe=a=a.Z(),this.ca(),this.i("padding",b,a))});t.g(y,"defaultAlignment",y.prototype.Sj);
| t.defineProperty(y,{Sj:"defaultAlignment"},function(){return this.Hq},function(a){var b=this.Hq;b.M(a)||(f&&t.m(a,H,y,"defaultAlignment"),this.Hq=a=a.Z(),this.ca(),this.i("defaultAlignment",b,a))});t.g(y,"defaultStretch",y.prototype.kA);t.defineProperty(y,{kA:"defaultStretch"},function(){return this.sc},function(a){var b=this.sc;b!==a&&(t.sb(a,Q,y,"defaultStretch"),this.sc=a,this.ca(),this.i("defaultStretch",b,a))});t.g(y,"defaultSeparatorPadding",y.prototype.lI);
| t.defineProperty(y,{lI:"defaultSeparatorPadding"},function(){return void 0===this.nj?F.jq:this.nj},function(a){if(void 0!==this.nj){"number"===typeof a?a=new ab(a):f&&t.m(a,ab,y,"defaultSeparatorPadding");var b=this.nj;b.M(a)||(this.nj=a=a.Z(),this.i("defaultSeparatorPadding",b,a))}});t.g(y,"defaultRowSeparatorStroke",y.prototype.jI);
| t.defineProperty(y,{jI:"defaultRowSeparatorStroke"},function(){return void 0===this.ii?null:this.ii},function(a){var b=this.ii;b!==a&&(null===a||"string"===typeof a||a instanceof ea)&&(a instanceof ea&&a.freeze(),this.ii=a,this.i("defaultRowSeparatorStroke",b,a))});t.g(y,"defaultRowSeparatorStrokeWidth",y.prototype.kI);
| t.defineProperty(y,{kI:"defaultRowSeparatorStrokeWidth"},function(){return void 0===this.ih?1:this.ih},function(a){if(void 0!==this.ih){var b=this.ih;b!==a&&(this.ih=a,this.i("defaultRowSeparatorStrokeWidth",b,a))}});t.g(y,"defaultRowSeparatorDashArray",y.prototype.iI);
| t.defineProperty(y,{iI:"defaultRowSeparatorDashArray"},function(){return void 0===this.Jl?null:this.Jl},function(a){if(void 0!==this.Jl){var b=this.Jl;b!==a&&(Array.isArray(a)||t.Xb(a,"Array",y,"defaultRowSeparatorDashArray:val"),this.Jl=a,this.i("defaultRowSeparatorDashArray",b,a))}});t.g(y,"defaultColumnSeparatorStroke",y.prototype.dI);
| t.defineProperty(y,{dI:"defaultColumnSeparatorStroke"},function(){return void 0===this.gh?null:this.gh},function(a){if(void 0!==this.gh){var b=this.gh;b!==a&&(null===a||"string"===typeof a||a instanceof ea)&&(a instanceof ea&&a.freeze(),this.gh=a,this.i("defaultColumnSeparatorStroke",b,a))}});t.g(y,"defaultColumnSeparatorStrokeWidth",y.prototype.eI);
| t.defineProperty(y,{eI:"defaultColumnSeparatorStrokeWidth"},function(){return void 0===this.hh?1:this.hh},function(a){if(void 0!==this.hh){var b=this.hh;b!==a&&(this.hh=a,this.i("defaultColumnSeparatorStrokeWidth",b,a))}});t.g(y,"defaultColumnSeparatorDashArray",y.prototype.cI);
| t.defineProperty(y,{cI:"defaultColumnSeparatorDashArray"},function(){return void 0===this.Il?null:this.Il},function(a){if(void 0!==this.Il){var b=this.Il;b!==a&&(Array.isArray(a)||t.Xb(a,"Array",y,"defaultColumnSeparatorDashArray:val"),this.Il=a,this.i("defaultColumnSeparatorDashArray",b,a))}});t.g(y,"viewboxStretch",y.prototype.OJ);
| t.defineProperty(y,{OJ:"viewboxStretch"},function(){return this.Do},function(a){var b=this.Do;b!==a&&(t.sb(a,Q,y,"viewboxStretch"),this.Do=a,this.i("viewboxStretch",b,a))});t.g(y,"gridCellSize",y.prototype.ht);
| t.defineProperty(y,{ht:"gridCellSize"},function(){return this.Wq},function(a){var b=this.Wq;b.M(a)||(t.m(a,fa,y,"gridCellSize"),a.N()&&0!==a.width&&0!==a.height||t.l("Invalid Panel.gridCellSize: "+a),this.Wq=a.Z(),null!==this.h&&this===this.h.ip&&Fi(this.h),this.ha(),this.i("gridCellSize",b,a))});t.g(y,"gridOrigin",y.prototype.uA);
| t.defineProperty(y,{uA:"gridOrigin"},function(){return this.Xq},function(a){var b=this.Xq;b.M(a)||(t.m(a,v,y,"gridOrigin"),a.N()||t.l("Invalid Panel.gridOrigin: "+a),this.Xq=a.Z(),this.h&&Fi(this.h),this.ha(),this.i("gridOrigin",b,a))});
| y.prototype.el=function(a,b){var c=this.opacity,d=1;1!==c&&(d=a.globalAlpha,a.globalAlpha=d*c);if(this.ba===si){c=this.$j()*b.scale;0>=c&&(c=1);var e=this.ht,d=e.width,e=e.height,g=this.Pa,h=g.width,g=g.height,k=Math.ceil(h/d),l=Math.ceil(g/e),m=this.uA;a.save();a.beginPath();a.rect(0,0,h,g);a.clip();for(var n=[],p=this.xa.n,q=this.xa.length,r=0;r<q;r++){var s=[];n.push(s);var u=p[r];if(u.visible)for(var u="LineV"===u.Jb,x=r+1;x<q;x++){var E=p[x];E.visible&&"LineV"===E.Jb===u&&(E=E.interval,2<=E&&
| s.push(E))}}p=this.xa.length;for(q=0;q<p;q++)if(r=this.xa.n[q],r.visible){s=n[q];u=r.interval;x=!1;E=r.sx;if(null!==E){var G=x=!0;void 0!==a.setLineDash?(a.setLineDash(E),a.lineDashOffset=r.gd):void 0!==a.webkitLineDash?(a.webkitLineDash=E,a.webkitLineDashOffset=r.gd):void 0!==a.mozDash?(a.mozDash=E,a.mozDashOffset=r.gd):G=!1}a.lineWidth=r.gb;sk(this,a,r.stroke,!1);a.beginPath();if("LineV"===r.Jb)for(var C=Math.floor(-m.x/d),I=C;I<=C+k;I++){var O=I*d+m.x;if(0<=O&&O<h&&Al(I,u,s)&&(x&&!G?ak(a,O,0,O,
| g,E,r.gd):(a.moveTo(O,0),a.lineTo(O,g)),2>d*u*c))break}else for(I=C=Math.floor(-m.y/e);I<=C+l&&!(O=I*e+m.y,0<=O&&O<=g&&Al(I,u,s)&&(x&&!G?ak(a,0,O,h,O,E,r.gd):(a.moveTo(0,O),a.lineTo(h,O)),2>e*u*c));I++);a.stroke();x&&(void 0!==a.setLineDash?(a.setLineDash(t.ai),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=t.ai,a.webkitLineDashOffset=0):void 0!==a.mozDash&&(a.mozDash=null,a.mozDashOffset=0))}a.restore();qi(b,a,!1)}else{this.ba===Ck&&(a.lineCap="butt",Bl(this,a,!0,this.fd,!0),Bl(this,
| a,!1,this.$c,!0),Cl(this,a,!0,this.fd),Cl(this,a,!1,this.$c),Bl(this,a,!0,this.fd,!1),Bl(this,a,!1,this.$c,!1));G=this.xa.length;for(e=0;e<G;e++)this.xa.n[e].Ve(a,b);f&&f.eK&&this instanceof U&&f.dK(a,b,this);1!==c&&(a.globalAlpha=d)}};
| function Cl(a,b,c,d){for(var e=d.length,g,h=a.sa,k=c?a.ne(0):a.me(0),l=0;l<e;l++)if(g=d[l],void 0!==g&&g!==k&&0!==g.ac){var m=g.$m;isNaN(m)&&(m=c?a.ih:a.hh);var n=g.Zm;null===n&&(n=c?a.ii:a.gh);if(0!==m&&null!==n){sk(a,b,n,!1);var n=!1,p=g.YF;if(null!==p){var q=n=!0;void 0!==b.setLineDash?(b.setLineDash(p),b.lineDashOffset=a.gd):void 0!==b.webkitLineDash?(b.webkitLineDash=p,b.webkitLineDashOffset=a.gd):void 0!==b.mozDash?(b.mozDash=p,b.mozDashOffset=a.gd):q=!1}b.beginPath();var r=g.position+m;c?r>
| h.height&&(m-=r-h.height):r>h.width&&(m-=r-h.width);g=g.position+m/2;b.lineWidth=m;r=a.padding;c?(g+=r.top,m=r.left,r=h.width-r.right,n&&!q?ak(b,m,g,r,g,p,0):(b.moveTo(m,g),b.lineTo(r,g))):(g+=r.left,m=r.top,r=h.height-r.bottom,n&&!q?ak(b,g,m,g,r,p,0):(b.moveTo(g,m),b.lineTo(g,r)));b.stroke();n&&(void 0!==b.setLineDash?(b.setLineDash(t.ai),b.lineDashOffset=0):void 0!==b.webkitLineDash?(b.webkitLineDash=t.ai,b.webkitLineDashOffset=0):void 0!==b.mozDash&&(b.mozDash=null,b.mozDashOffset=0))}}}
| function Bl(a,b,c,d,e){for(var g=d.length,h,k=a.sa,l=0;l<g;l++)if(h=d[l],void 0!==h&&null!==h.background&&h.mw!==e&&0!==h.ac){var m=c?k.height:k.width;if(!(h.position>m)){var n=Dl(h),p=h.$m;isNaN(p)&&(p=c?a.ih:a.hh);var q=h.Zm;null===q&&(q=c?a.ii:a.gh);null===q&&(p=0);n-=p;p=h.position+p;n+=h.ac;p+n>m&&(n=m-p);0>=n||(m=a.padding,sk(a,b,h.background,!0),c?b.fillRect(m.left,p+m.top,k.width-(m.left+m.right),n):b.fillRect(p+m.left,m.top,n,k.height-(m.top+m.bottom)))}}}
| function Al(a,b,c){if(0!==a%b)return!1;b=c.length;for(var d=0;d<b;d++)if(0===a%c[d])return!1;return!0}
| y.prototype.gp=function(a,b,c,d,e){var g=this.transform,h=1,k=1,l=0,m=0,n=1,p=0,q=0,r=this.Tf();r&&(h=1/(g.m11*g.m22-g.m12*g.m21),k=g.m22*h,l=-g.m12*h,m=-g.m21*h,n=g.m11*h,p=h*(g.m21*g.dy-g.m22*g.dx),q=h*(g.m12*g.dx-g.m11*g.dy));if(null!==this.Zk)return g=this.sa,F.jl(g.left,g.top,g.right,g.bottom,a,b,c,d,e);if(null!==this.background)h=a*k+b*m+p,a=a*l+b*n+q,k=c*k+d*m+p,c=c*l+d*n+q,e.q(0,0),d=this.Pa,c=F.jl(0,0,d.width,d.height,h,a,k,c,e);else{h=a*k+b*m+p;a=a*l+b*n+q;k=c*k+d*m+p;d=c*l+d*n+q;e.q(k,
| d);l=(k-h)*(k-h)+(d-a)*(d-a);c=!1;n=this.xa.n;q=n.length;m=t.K();for(p=0;p<q;p++)b=n[p],b.visible&&b.gp(h,a,k,d,m)&&(c=!0,b=(h-m.x)*(h-m.x)+(a-m.y)*(a-m.y),b<l&&(l=b,e.set(m)));t.B(m)}r&&e.transform(g);return c};
| y.prototype.ut=function(a,b,c,d){var e=this.Fi;e.width=0;e.height=0;var g=this.Ba,h=this.Nf;void 0===c&&(c=h.width,d=h.height);c=Math.max(c,h.width);d=Math.max(d,h.height);var k=this.He;isNaN(g.width)||(a=Math.min(g.width,k.width));isNaN(g.height)||(b=Math.min(g.height,k.height));a=Math.max(c,a);b=Math.max(d,b);var l=this.padding;a=Math.max(a-l.left-l.right,0);b=Math.max(b-l.top-l.bottom,0);var m=this.xa,n=m.length;if(0!==n){var p=this.ba.Vb;switch(p){case "Position":var q=a,r=b,s=c,u=d;e.x=0;e.y=
| 0;e.width=0;for(var x=e.height=0;x<n;x++){var E=m.n[x];if(E.visible||E===this.fc){var G=E.margin,C=G.right+G.left,I=G.top+G.bottom;gh(E,q,r,s,u);var O=E.Ea,N=Math.max(O.width+C,0),V=Math.max(O.height+I,0),W=E.position.x,Y=E.position.y;isFinite(W)||(W=0);isFinite(Y)||(Y=0);if(E instanceof X&&E.BA)var R=E.gb/2,W=W-R,Y=Y-R;jb(e,W,Y,N,V)}}break;case "Vertical":for(var wa=a,Sa=c,Ea=t.Cb(),Ga=0;Ga<n;Ga++){var ia=m.n[Ga];if(ia.visible||ia===this.fc){var Oa=fk(ia);if(Oa!==Tg&&Oa!==Wj)Ea.push(ia);else{var Ha=
| ia.margin,Jf=Ha.right+Ha.left,kf=Ha.top+Ha.bottom;gh(ia,wa,Infinity,Sa,0);var Yb=ia.Ea,hg=Math.max(Yb.width+Jf,0),hc=Math.max(Yb.height+kf,0);e.width=Math.max(e.width,hg);e.height+=hc}}}var kb=Ea.length;if(0!==kb){this.Ba.width?wa=Math.min(this.Ba.width,this.He.width):0!==e.width&&(wa=Math.min(e.width,this.He.width));for(Ga=0;Ga<kb;Ga++)if(ia=Ea[Ga],ia.visible||ia===this.fc)Ha=ia.margin,Jf=Ha.right+Ha.left,kf=Ha.top+Ha.bottom,gh(ia,wa,Infinity,Sa,0),Yb=ia.Ea,hg=Math.max(Yb.width+Jf,0),hc=Math.max(Yb.height+
| kf,0),e.width=Math.max(e.width,hg),e.height+=hc;t.za(Ea)}break;case "Horizontal":for(var fb=b,Ja=d,Ka=t.Cb(),Ya=0;Ya<n;Ya++){var db=m.n[Ya];if(db.visible||db===this.fc){var Ab=fk(db);if(Ab!==Tg&&Ab!==Xj)Ka.push(db);else{var jd=db.margin,lf=jd.right+jd.left,Dd=jd.top+jd.bottom;gh(db,Infinity,fb,0,Ja);var kd=db.Ea,Ne=Math.max(kd.width+lf,0),Ed=Math.max(kd.height+Dd,0);e.width+=Ne;e.height=Math.max(e.height,Ed)}}}var se=Ka.length;if(0!==se){this.Ba.height?fb=Math.min(this.Ba.height,this.He.height):0!==
| e.height&&(fb=Math.min(e.height,this.He.height));for(Ya=0;Ya<se;Ya++)if(db=Ka[Ya],db.visible||db===this.fc)jd=db.margin,lf=jd.right+jd.left,Dd=jd.top+jd.bottom,gh(db,Infinity,fb,0,Ja),kd=db.Ea,Ne=Math.max(kd.width+lf,0),Ed=Math.max(kd.height+Dd,0),e.width+=Ne,e.height=Math.max(e.height,Ed);t.za(Ka)}break;case "Spot":a:{var Kf=a,Bb=b,Dg=c,Ib=d,rb=zk(this,m,n),Za=rb.margin,yb,ic,Lf=Za.right+Za.left,Mf=Za.top+Za.bottom;gh(rb,Kf,Bb,Dg,Ib);var jc=rb.Ea,Tc=jc.width,ld=jc.height,dc=Math.max(Tc+Lf,0),md=
| Math.max(ld+Mf,0);e.x=-Za.left;e.y=-Za.top;e.width=dc;e.height=md;for(var $a=0;$a<n;$a++){var Ua=m.n[$a];if(Ua!==rb&&(Ua.visible||Ua===this.fc)){Za=Ua.margin;yb=Za.right+Za.left;ic=Za.top+Za.bottom;gh(Ua,Kf,Bb,0,0);var jc=Ua.Ea,dc=Math.max(jc.width+yb,0),md=Math.max(jc.height+ic,0),Rb=Ua.alignment;Rb.Lc()&&(Rb=this.Sj);Rb.sd()||(Rb=Hb);var Jb=Ua.Mj;Jb.Lc()&&(Jb=Hb);jb(e,Rb.x*Tc+Rb.offsetX-(Jb.x*jc.width-Jb.offsetX)-Za.left,Rb.y*ld+Rb.offsetY-(Jb.y*jc.height-Jb.offsetY)-Za.top,dc,md)}}var Oe=rb.Xh;
| Oe===Ug&&(Oe=fk(rb));switch(Oe){case Tg:break a;case Cc:if(!isFinite(Kf)&&!isFinite(Bb))break a;break;case Xj:if(!isFinite(Kf))break a;break;case Wj:if(!isFinite(Bb))break a}jc=rb.Ea;Tc=jc.width;ld=jc.height;dc=Math.max(Tc+Lf,0);md=Math.max(ld+Mf,0);Za=rb.margin;e.x=-Za.left;e.y=-Za.top;e.width=dc;e.height=md;for($a=0;$a<n;$a++)Ua=m.n[$a],Ua===rb||!Ua.visible&&Ua!==this.fc||(Za=Ua.margin,yb=Za.right+Za.left,ic=Za.top+Za.bottom,jc=Ua.Ea,dc=Math.max(jc.width+yb,0),md=Math.max(jc.height+ic,0),Rb=Ua.alignment,
| Rb.Lc()&&(Rb=this.Sj),Rb.sd()||(Rb=Hb),Jb=Ua.Mj,Jb.Lc()&&(Jb=Hb),jb(e,Rb.x*Tc+Rb.offsetX-(Jb.x*jc.width-Jb.offsetX)-Za.left,Rb.y*ld+Rb.offsetY-(Jb.y*jc.height-Jb.offsetY)-Za.top,dc,md))}break;case "Auto":var Pd=a,oc=b,Kb=c,ce=d,sb=zk(this,m,n),Fd=sb.margin,Eg=Fd.right+Fd.left,Pe=Fd.top+Fd.bottom;gh(sb,Pd,oc,Kb,ce);var Gd=sb.Ea,gb=Math.max(Gd.width+Eg,0),mf=Math.max(Gd.height+Pe,0),hb=El(sb),tb=hb.x*gb+hb.offsetX,Uc=hb.y*mf+hb.offsetY,hb=Fl(sb),Nb=hb.x*gb+hb.offsetX,Qd=hb.y*mf+hb.offsetY,Rd=Pd,de=
| oc;isFinite(Pd)&&(Rd=Math.abs(tb-Nb));isFinite(oc)&&(de=Math.abs(Uc-Qd));var Dc=t.wl();Dc.q(0,0);for(var te=0;te<n;te++){var Ec=m.n[te];if(Ec!==sb&&(Ec.visible||Ec===this.fc)){var Fd=Ec.margin,Cb=Fd.right+Fd.left,Qe=Fd.top+Fd.bottom;gh(Ec,Rd,de,0,0);Gd=Ec.Ea;gb=Math.max(Gd.width+Cb,0);mf=Math.max(Gd.height+Qe,0);Dc.q(Math.max(gb,Dc.width),Math.max(mf,Dc.height))}}if(1===n)e.width=gb,e.height=mf,t.Yj(Dc);else{var nd=El(sb),lb=Fl(sb),Hd,Db;lb.x!==nd.x&&lb.y!==nd.y&&(Hd=Dc.width/Math.abs(lb.x-nd.x),
| Db=Dc.height/Math.abs(lb.y-nd.y));t.Yj(Dc);var Sd=0;sb instanceof X&&(Sd=sb.gb*sb.scale,Gl(sb)===Vg&&(Hd=Math.max(Hd,Db),Db=Math.max(Hd,Db)));Hd+=Math.abs(nd.offsetX)+Math.abs(lb.offsetX)+Sd;Db+=Math.abs(nd.offsetY)+Math.abs(lb.offsetY)+Sd;var Id=sb.Xh;Id===Ug&&(Id=fk(sb));switch(Id){case Tg:ce=Kb=0;break;case Cc:isFinite(Pd)&&(Hd=Pd);isFinite(oc)&&(Db=oc);break;case Xj:isFinite(Pd)&&(Hd=Pd);ce=0;break;case Wj:Kb=0,isFinite(oc)&&(Db=oc)}sb instanceof X&&!sb.Ba.N()&&(sb.Qg?sb.vk=null:sb.Na=null);Ak(sb);
| gh(sb,Hd,Db,Kb,ce);e.width=sb.Ea.width+Eg;e.height=sb.Ea.height+Pe}break;case "Table":for(var kc=a,Ob=b,ub=n,nf=c,bb=d,ee=t.Cb(),Vc=t.Cb(),ka=0;ka<ub;ka++){var pa=m.n[ka];if(pa instanceof y&&(pa.type===ok||pa.type===pk)&&pa.visible){Vc.push(pa);for(var qj=pa.xa,qh=qj.length,wc=0;wc<qh;wc++){var rh=qj.n[wc];pa.type===ok?rh.nc=pa.nc:pa.type===pk&&(rh.column=pa.column);ee.push(rh)}}else ee.push(pa)}for(var ub=ee.length,ec=[],ka=0;ka<ub;ka++)pa=ee[ka],gk(pa,!0),kk(pa,!0),ec[pa.nc]||(ec[pa.nc]=[]),ec[pa.nc][pa.column]||
| (ec[pa.nc][pa.column]=[]),ec[pa.nc][pa.column].push(pa);t.za(ee);for(var Fg=t.Cb(),ig=t.Cb(),Fc=t.Cb(),Gc={count:0},Hc={count:0},xc=kc,Ic=Ob,Nf=this.fd,ub=Nf.length,ka=0;ka<ub;ka++){var ha=Nf[ka];void 0!==ha&&Hl(ha,0)}Nf=this.$c;ub=Nf.length;for(ka=0;ka<ub;ka++)ha=Nf[ka],void 0!==ha&&Hl(ha,0);for(var Td=ec.length,Jd=0,ka=0;ka<Td;ka++)ec[ka]&&(Jd=Math.max(Jd,ec[ka].length));for(var jg=Math.min(this.Ei,Td-1),rj=Math.min(this.pi,Jd-1),Wc,Td=ec.length,ka=jg;ka<Td;ka++)if(ec[ka]){var Jd=ec[ka].length,
| ib=this.ne(ka);Hl(ib,0);for(wc=rj;wc<Jd;wc++)if(ec[ka][wc]){var mb=this.me(wc);void 0===Fg[wc]&&(Hl(mb,0),Fg[wc]=!0);for(var ji=ec[ka][wc],ol=ji.length,kg=0;kg<ol;kg++)if(pa=ji[kg],pa.visible||pa===this.fc){var lg=1<pa.Gj||1<pa.lj;lg&&ig.push(pa);var Sb=pa.margin,Of=Sb.right+Sb.left,Pf=Sb.top+Sb.bottom,Ud=Dk(pa,ib,mb),fe=pa.Ba,sh=!isNaN(fe.width),Qf=!isNaN(fe.height),Re=sh&&Qf;lg||Ud===Tg||Re||(void 0===Gc[wc]&&(Gc[wc]=-1,Gc.count++),void 0===Hc[ka]&&(Hc[ka]=-1,Hc.count++),Fc.push(pa));gh(pa,Infinity,
| Infinity,0,0);var ue=pa.Ea,Se=Math.max(ue.width+Of,0),Te=Math.max(ue.height+Pf,0);1!==pa.Gj||!Qf&&Ud!==Tg&&Ud!==Xj||(ha=this.ne(ka),Wc=Math.max(Te-ha.ac,0),Wc>Ic&&(Wc=Ic),Hl(ha,ha.ac+Wc),Ic=Math.max(Ic-Wc,0));1!==pa.lj||!sh&&Ud!==Tg&&Ud!==Wj||(ha=this.me(wc),Wc=Math.max(Se-ha.ac,0),Wc>xc&&(Wc=xc),Hl(ha,ha.ac+Wc),xc=Math.max(xc-Wc,0));lg&&Ak(pa)}}}t.za(Fg);for(var ge=0,he=0,ub=this.hw,ka=0;ka<ub;ka++)void 0!==this.$c[ka]&&(ge+=this.me(ka).Eb);ub=this.kx;for(ka=0;ka<ub;ka++)void 0!==this.fd[ka]&&(he+=
| this.ne(ka).Eb);for(var xc=Math.max(kc-ge,0),pd=Ic=Math.max(Ob-he,0),th=xc,ub=Fc.length,ka=0;ka<ub;ka++){var pa=Fc[ka],ib=this.ne(pa.nc),mb=this.me(pa.column),Gg=pa.Ea,Sb=pa.margin,Of=Sb.right+Sb.left,Pf=Sb.top+Sb.bottom;Gc[pa.column]=0===mb.ac?Math.max(Gg.width+Of,Gc[pa.column]):null;Hc[pa.nc]=0===ib.ac?Math.max(Gg.height+Pf,Hc[pa.nc]):null}var Vd=0,Hg=0;for(ka in Hc)"count"!==ka&&(Vd+=Hc[ka]);for(ka in Gc)"count"!==ka&&(Hg+=Gc[ka]);for(var zb=t.wl(),ka=0;ka<ub;ka++)if(pa=Fc[ka],pa.visible||pa===
| this.fc){var ib=this.ne(pa.nc),mb=this.me(pa.column),ie;isFinite(mb.width)?ie=mb.width:(ie=isFinite(xc)&&null!==Gc[pa.column]?0===Hg?mb.ac+xc:Gc[pa.column]/Hg*th:null!==Gc[pa.column]?xc:mb.ac||xc,ie=Math.max(0,ie-Dl(mb)));var of;isFinite(ib.height)?of=ib.height:(of=isFinite(Ic)&&null!==Hc[pa.nc]?0===Vd?ib.ac+Ic:Hc[pa.nc]/Vd*pd:null!==Hc[pa.nc]?Ic:ib.ac||Ic,of=Math.max(0,of-Dl(ib)));zb.q(Math.max(mb.Uh,Math.min(ie,mb.sf)),Math.max(ib.Uh,Math.min(of,ib.sf)));Ud=Dk(pa,ib,mb);switch(Ud){case Xj:zb.height=
| Infinity;break;case Wj:zb.width=Infinity}Sb=pa.margin;Of=Sb.right+Sb.left;Pf=Sb.top+Sb.bottom;Ak(pa);gh(pa,zb.width,zb.height,mb.Uh,ib.Uh);ue=pa.Ea;Se=Math.max(ue.width+Of,0);Te=Math.max(ue.height+Pf,0);isFinite(xc)&&(Se=Math.min(Se,zb.width));isFinite(Ic)&&(Te=Math.min(Te,zb.height));var pf;pf=ib.ac;Hl(ib,Math.max(ib.ac,Te));Wc=ib.ac-pf;Ic=Math.max(Ic-Wc,0);pf=mb.ac;Hl(mb,Math.max(mb.ac,Se));Wc=mb.ac-pf;xc=Math.max(xc-Wc,0)}t.za(Fc);for(var Wd=t.wl(),ub=ig.length,ka=0;ka<ub;ka++)if(pa=ig[ka],pa.visible||
| pa===this.fc){ib=this.ne(pa.nc);mb=this.me(pa.column);zb.q(Math.max(mb.Uh,Math.min(kc,mb.sf)),Math.max(ib.Uh,Math.min(Ob,ib.sf)));Ud=Dk(pa,ib,mb);switch(Ud){case Cc:0!==mb.ac&&(zb.width=Math.min(zb.width,mb.ac));0!==ib.ac&&(zb.height=Math.min(zb.height,ib.ac));break;case Xj:0!==mb.ac&&(zb.width=Math.min(zb.width,mb.ac));break;case Wj:0!==ib.ac&&(zb.height=Math.min(zb.height,ib.ac))}isFinite(mb.width)&&(zb.width=mb.width);isFinite(ib.height)&&(zb.height=ib.height);Wd.q(0,0);for(var fc=1;fc<pa.Gj&&
| !(pa.nc+fc>=this.kx);fc++)ha=this.ne(pa.nc+fc),Wd.height+=Math.max(ha.Uh,isNaN(ha.Ef)?ha.sf:Math.min(ha.Ef,ha.sf));for(fc=1;fc<pa.lj&&!(pa.column+fc>=this.hw);fc++)ha=this.me(pa.column+fc),Wd.width+=Math.max(ha.Uh,isNaN(ha.Ef)?ha.sf:Math.min(ha.Ef,ha.sf));zb.width+=Wd.width;zb.height+=Wd.height;Sb=pa.margin;Of=Sb.right+Sb.left;Pf=Sb.top+Sb.bottom;gh(pa,zb.width,zb.height,nf,bb);for(var ue=pa.Ea,Se=Math.max(ue.width+Of,0),Te=Math.max(ue.height+Pf,0),Ig=0,fc=0;fc<pa.Gj;fc++)ha=this.ne(pa.nc+fc),Ig+=
| ha.total||0;if(Ig<Te)for(var Xd=Te-Ig;0<Xd;){var pc=ha.Eb||0;isNaN(ha.height)&&ha.sf>pc&&(Hl(ha,Math.min(ha.sf,pc+Xd)),ha.Eb!==pc&&(Xd-=ha.Eb-pc));if(-1===ha.index-1)break;ha=this.ne(ha.index-1)}for(var Ue=0,fc=0;fc<pa.lj;fc++)ha=this.me(pa.column+fc),Ue+=ha.total||0;if(Ue<Se)for(Xd=Se-Ue;0<Xd;){pc=ha.Eb||0;isNaN(ha.width)&&ha.sf>pc&&(Hl(ha,Math.min(ha.sf,pc+Xd)),ha.Eb!==pc&&(Xd-=ha.Eb-pc));if(-1===ha.index-1)break;ha=this.me(ha.index-1)}}t.za(ig);t.Yj(Wd);t.Yj(zb);for(var qf=0,je=0,Ud=fk(this),Jg=
| this.Ba,mg=this.He,Jc=he=ge=0,ke=0,ub=this.hw,ka=0;ka<ub;ka++)void 0!==this.$c[ka]&&(ha=this.me(ka),isFinite(ha.width)?(Jc+=ha.width,Jc+=Dl(ha)):Il(ha)===Jl?(Jc+=ha.Eb,Jc+=Dl(ha)):0!==ha.Eb&&(ge+=ha.Eb,ge+=Dl(ha)));var qf=isFinite(Jg.width)?Math.min(Jg.width,mg.width):Ud!==Tg&&isFinite(kc)?kc:ge,qf=Math.max(qf,this.Nf.width),qf=Math.max(qf-Jc,0),Lg=Math.max(qf/ge,1);isFinite(Lg)||(Lg=1);for(ka=0;ka<ub;ka++)void 0!==this.$c[ka]&&(ha=this.me(ka),isFinite(ha.width)||Il(ha)===Jl||Hl(ha,ha.Eb*Lg),ha.Ma=
| e.width,0!==ha.Eb&&(e.width+=ha.Eb,e.width+=Dl(ha)));ub=this.kx;for(ka=0;ka<ub;ka++)void 0!==this.fd[ka]&&(ha=this.ne(ka),isFinite(ha.height)?(ke+=ha.height,ke+=Dl(ha)):Il(ha)===Jl?(ke+=ha.Eb,ke+=Dl(ha)):0!==ha.Eb&&(he+=ha.Eb,he+=Dl(ha)));var je=isFinite(Jg.height)?Math.min(Jg.height,mg.height):Ud!==Tg&&isFinite(Ob)?Ob:he,je=Math.max(je,this.Nf.height),je=Math.max(je-ke,0),Ve=Math.max(je/he,1);isFinite(Ve)||(Ve=1);for(ka=0;ka<ub;ka++)void 0!==this.fd[ka]&&(ha=this.ne(ka),isFinite(ha.height)||Il(ha)===
| Jl||Hl(ha,ha.Eb*Ve),ha.Ma=e.height,0!==ha.Eb&&(e.height+=ha.Eb,e.height+=Dl(ha)));ub=Vc.length;for(ka=0;ka<ub;ka++){var Xc=Vc[ka];Xc.type===ok?(ie=e.width,ha=this.ne(Xc.nc),of=ha.ac):(ha=this.me(Xc.column),ie=ha.ac,of=e.height);Xc.Rc.q(0,0,ie,of);gk(Xc,!1);ec[Xc.nc]||(ec[Xc.nc]=[]);ec[Xc.nc][Xc.column]||(ec[Xc.nc][Xc.column]=[]);ec[Xc.nc][Xc.column].push(Xc)}t.za(Vc);this.fs=ec;break;case "Viewbox":var tj=a,uj=b,Co=c,Do=d;1<n&&t.l("Viewbox Panel cannot contain more than one GraphObject.");var le=
| m.n[0];le.ic=1;Ak(le);gh(le,Infinity,Infinity,Co,Do);var ki=le.Ea,vj=le.margin,Eo=vj.right+vj.left,Fo=vj.top+vj.bottom;if(isFinite(tj)||isFinite(uj)){var Jq=le.scale,Go=ki.width,Ho=ki.height,Io=Math.max(tj-Eo,0),Jo=Math.max(uj-Fo,0);le.ic=this.Do===Vg?le.ic*Math.min(Io/Go,Jo/Ho):le.ic*Math.max(Io/Go,Jo/Ho);Jq!==le.scale&&(gk(le,!0),gh(le,Infinity,Infinity,Co,Do))}ki=le.Ea;e.width=isFinite(tj)?tj:Math.max(ki.width+Eo,0);e.height=isFinite(uj)?uj:Math.max(ki.height+Fo,0);break;case "Link":var wj=this instanceof
| Ge?this.Jh:this;if(0===n){var xj=this.dd;Wa(xj,0,0);var Yd=this.Ea;Yd.q(0,0,0,0)}else{var yj=this.Vq(),We=this.pj(),ve=this.Fi;ve.assign(We);ve.x=0;ve.y=0;var uh,li=this.Jy();uh=void 0!==this.oa?this.oa:li.count;this.Lg.q(We.x,We.y);this.ci.clear();null!==yj&&(Kl(yj,We.width,We.height),Yd=yj.Ea,ve.dj(Yd),this.ci.add(Yd));for(var vh=t.ah(),ng=t.K(),Rf=t.K(),pl=0;pl<n;pl++){var Tb=m.n[pl];if(Tb!==yj)if(Tb.Wi&&Tb instanceof X)Kl(Tb,We.width,We.height),Yd=Tb.Ea,ve.dj(Yd),this.ci.add(Yd);else if(2>uh)gh(Tb,
| Infinity,Infinity),Yd=Tb.Ea,ve.dj(Yd),this.ci.add(Yd);else{var Sf=Tb.vf,Lo=Tb.Lt,ql=Tb.Mj;ql.Ge()&&(ql=Hb);var zj=Tb.Mt,Kq=Tb.hB,mi,ni,Aj=0;if(Sf<-uh||Sf>=uh){var Mo=wj.nF,Bj=wj.mF;zj!==wg&&(Aj=wj.computeAngle(Tb,zj,Bj),Tb.angle=Aj);mi=Mo.x-We.x;ni=Mo.y-We.y}else{var rf,wh;if(0<=Sf)rf=li.n[Sf],wh=Sf<uh-1?li.n[Sf+1]:rf;else{var rl=uh+Sf;rf=li.n[rl];wh=0<rl?li.n[rl-1]:rf}Bj=0<=Sf?rf.Qi(wh):wh.Qi(rf);zj!==wg&&(Aj=wj.computeAngle(Tb,zj,Bj),Tb.mn=Aj);mi=rf.x+(wh.x-rf.x)*Lo-We.x;ni=rf.y+(wh.y-rf.y)*Lo-
| We.y}gh(Tb,Infinity,Infinity);var Yd=Tb.Ea,xj=Tb.Pa,oi=0;Tb instanceof X&&(oi=Tb.gb);var No=xj.width+oi,Oo=xj.height+oi;vh.reset();vh.translate(-Yd.x,-Yd.y);vh.scale(Tb.scale,Tb.scale);vh.rotate(Tb.angle,No/2,Oo/2);var xh=new w(0,0,No,Oo);ng.Ot(xh,ql);vh.Ra(ng);var Lq=-ng.x+oi/2,Mq=-ng.y+oi/2;Rf.assign(Kq);isNaN(Rf.x)&&(Rf.x=0<=Sf?ng.x+3:-(ng.x+3));isNaN(Rf.y)&&(Rf.y=-(ng.y+3));Rf.rotate(Bj);mi+=Rf.x;ni+=Rf.y;xh.set(Yd);xh.x=mi+Lq;xh.y=ni+Mq;this.ci.add(xh);ve.dj(xh)}}if(this.te)for(var Po=this.dk;Po.next();)gh(Po.value,
| Infinity,Infinity);this.Fi=ve;var Cj=this.Lg;Cj&&Cj.q(Cj.x+ve.x,Cj.y+ve.y);Wa(e,ve.width||0,ve.height||0);t.We(vh);t.B(ng);t.B(Rf)}break;case "Grid":break;case "TableRow":case "TableColumn":t.l(this.toString()+" is not an element of a Table Panel. TableRow and TableColumn Panels can only be elements of a Table Panel.");break;default:t.l("Unknown panel type: "+p)}}var we=e.width,xe=e.height,Dj=this.padding,Nq=Dj.top+Dj.bottom,we=we+(Dj.left+Dj.right),xe=xe+Nq;isFinite(g.width)&&(we=g.width);isFinite(g.height)&&
| (xe=g.height);we=Math.min(k.width,we);xe=Math.min(k.height,xe);we=Math.max(h.width,we);xe=Math.max(h.height,xe);we=Math.max(c,we);xe=Math.max(d,xe);e.width=we;e.height=xe;Wa(this.dd,we,xe);ck(this,0,0,we,xe)};y.prototype.findMainElement=y.prototype.yw=function(){null===this.zo&&zk(this,this.xa,this.xa.length);return this.zo};function zk(a,b,c){for(var d=0;d<c;d++){var e=b.n[d];if(!0===e.Wi)return a.zo=e}b=b.n[0];return a.zo=b}
| y.prototype.Pj=function(a,b,c,d){var e=this.Fi,g=this.xa,h=g.length,k=t.gk(0,0,0,0);if(0===h){var l=this.sa;l.x=a;l.y=b;l.width=c;l.height=d}else{if(!this.Ba.N()){var m=fk(this),n=this.Rc,p=n.width,q=n.height,r=this.margin,s=r.left+r.right,u=r.top+r.bottom;p===c&&q===d&&(m=Tg);switch(m){case Tg:if(p>c||q>d)this.ca(),gh(this,p>c?c:p,q>d?d:q);break;case Cc:gk(this,!0);gh(this,c+s,d+u,0,0);break;case Xj:gk(this,!0);gh(this,c+s,q+u,0,0);break;case Wj:gk(this,!0),gh(this,p+s,d+u,0,0)}}l=this.sa;l.x=a;
| l.y=b;l.width=c;l.height=d;var x=this.ba.Vb;switch(x){case "Position":for(var E=e.x-this.padding.left,G=e.y-this.padding.top,C=0;C<h;C++){var I=g.n[C],O=I.Ea,N=I.margin,V=I.position.x,W=I.position.y;k.x=isNaN(V)?-E:V-E;k.y=isNaN(W)?-G:W-G;if(I instanceof X&&I.BA){var Y=I.gb/2;k.x-=Y;k.y-=Y}k.x+=N.left;k.y+=N.top;k.width=O.width;k.height=O.height;I.visible&&I.Hc(k.x,k.y,k.width,k.height)}break;case "Vertical":for(var R=this.padding.left,wa=this.padding.top,Sa=0;Sa<h;Sa++){var Ea=R,Ga=g.n[Sa];if(Ga.visible){var ia=
| Ga.Ea,Oa=Ga.margin,Ha=Oa.left+Oa.right,Jf=R+this.padding.right,kf=ia.width,Yb=fk(Ga);if(isNaN(Ga.Ba.width)&&Yb===Cc||Yb===Xj)kf=Math.max(e.width-Ha-Jf,0);var hg=kf+Ha+Jf,hc=Ga.alignment;hc.Lc()&&(hc=this.Sj);hc.sd()||(hc=Hb);Ga.Hc(Ea+hc.offsetX+Oa.left+(e.width*hc.x-hg*hc.x),wa+hc.offsetY+Oa.top,kf,ia.height);wa+=ia.height+Oa.bottom+Oa.top}}break;case "Horizontal":for(var kb=this.padding.top,fb=this.padding.left,Ja=0;Ja<h;Ja++){var Ka=kb,Ya=g.n[Ja];if(Ya.visible){var db=Ya.Ea,Ab=Ya.margin,jd=Ab.top+
| Ab.bottom,lf=kb+this.padding.bottom,Dd=db.height,kd=fk(Ya);if(isNaN(Ya.Ba.height)&&kd===Cc||kd===Wj)Dd=Math.max(e.height-jd-lf,0);var Ne=Dd+jd+lf,Ed=Ya.alignment;Ed.Lc()&&(Ed=this.Sj);Ed.sd()||(Ed=Hb);Ya.Hc(fb+Ed.offsetX+Ab.left,Ka+Ed.offsetY+Ab.top+(e.height*Ed.y-Ne*Ed.y),db.width,Dd);fb+=db.width+Ab.left+Ab.right}}break;case "Spot":var se=zk(this,g,h),Kf=se.Ea,Bb=Kf.width,Dg=Kf.height,Ib=this.padding,rb=Ib.left,Za=Ib.top;k.x=rb-e.x;k.y=Za-e.y;se.Hc(k.x,k.y,Bb,Dg);for(var yb=0;yb<h;yb++){var ic=
| g.n[yb];if(ic!==se){var Lf=ic.Ea,Mf=Lf.width,jc=Lf.height,Tc=ic.alignment;Tc.Lc()&&(Tc=this.Sj);Tc.sd()||(Tc=Hb);var ld=ic.Mj;ld.Lc()&&(ld=Hb);k.x=Tc.x*Bb+Tc.offsetX-(ld.x*Mf-ld.offsetX);k.y=Tc.y*Dg+Tc.offsetY-(ld.y*jc-ld.offsetY);k.x-=e.x;k.y-=e.y;ic.visible&&ic.Hc(rb+k.x,Za+k.y,Mf,jc)}}break;case "Auto":var dc=zk(this,g,h),md=dc.Ea,$a=t.yf();$a.q(0,0,1,1);var Ua=dc.margin,Rb=Ua.left,Jb=Ua.top,Oe=this.padding,Pd=Oe.left,oc=Oe.top;k.x=Rb;k.y=Jb;k.width=md.width;k.height=md.height;dc.Hc(Pd+k.x,oc+
| k.y,k.width,k.height);var Kb=El(dc),ce=Fl(dc),sb=0+Kb.y*md.height+Kb.offsetY,Fd=0+ce.x*md.width+ce.offsetX,Eg=0+ce.y*md.height+ce.offsetY;$a.x=0+Kb.x*md.width+Kb.offsetX;$a.y=sb;jb($a,Fd,Eg,0,0);$a.x+=Rb+Pd;$a.y+=Jb+oc;for(var Pe=0;Pe<h;Pe++){var Gd=g.n[Pe];if(Gd!==dc){var gb=Gd.Ea,Ua=Gd.margin,mf=Math.max(gb.width+Ua.right+Ua.left,0),hb=Math.max(gb.height+Ua.top+Ua.bottom,0),tb=Gd.alignment;tb.Lc()&&(tb=this.Sj);tb.sd()||(tb=Hb);k.x=$a.width*tb.x+tb.offsetX-mf*tb.x+Ua.left+$a.x;k.y=$a.height*tb.y+
| tb.offsetY-hb*tb.y+Ua.top+$a.y;k.width=$a.width;k.height=$a.height;Gd.visible&&(nb($a.x,$a.y,$a.width,$a.height,k.x,k.y,gb.width,gb.height)?Gd.Hc(k.x,k.y,gb.width,gb.height):Gd.Hc(k.x,k.y,gb.width,gb.height,new w($a.x,$a.y,$a.width,$a.height)))}}t.cc($a);break;case "Table":for(var Uc=this.padding,Nb=Uc.left,Qd=Uc.top,Rd=this.fs,de,Dc,te=Rd.length,Ec=0,Cb=0;Cb<te;Cb++)Rd[Cb]&&(Ec=Math.max(Ec,Rd[Cb].length));for(var Qe=Math.min(this.Ei,te-1);Qe!==te&&(void 0===this.fd[Qe]||0===this.fd[Qe].Eb);)Qe++;
| for(var Qe=Math.min(Qe,te-1),nd=-this.fd[Qe].Ma,lb=Math.min(this.pi,Ec-1);lb!==Ec&&(void 0===this.$c[lb]||0===this.$c[lb].Eb);)lb++;for(var lb=Math.min(lb,Ec-1),Hd=-this.$c[lb].Ma,Db=t.wl(),Cb=0;Cb<te;Cb++)if(Rd[Cb]){var Ec=Rd[Cb].length,Sd=this.ne(Cb);Dc=Sd.Ma+nd+Qd+Ll(Sd);for(var Id=0;Id<Ec;Id++)if(Rd[Cb][Id]){var kc=this.me(Id);de=kc.Ma+Hd+Nb+Ll(kc);for(var Ob=Rd[Cb][Id],ub=Ob.length,nf=0;nf<ub;nf++){var bb=Ob[nf],ee=bb.Ea;if(bb instanceof y&&(bb.type===ok||bb.type===pk)){hk(bb);bb.Yb.La();var Vc=
| bb.Yb;Vc.x=bb.type===ok?Nb:de;Vc.y=bb.type===pk?Qd:Dc;Vc.width=ee.width;Vc.height=ee.height;bb.Yb.freeze();kk(bb,!1)}else{Db.q(0,0);for(var ka=1;ka<bb.rowSpan&&!(Cb+ka>=this.kx);ka++){var pa=this.ne(Cb+ka);Db.height+=pa.total}for(ka=1;ka<bb.PD&&!(Id+ka>=this.hw);ka++){var qj=this.me(Id+ka);Db.width+=qj.total}var qh=kc.Eb+Db.width,wc=Sd.Eb+Db.height;k.x=de;k.y=Dc;k.width=qh;k.height=wc;var rh=de,ec=Dc,Fg=qh,ig=wc;de+qh>e.width&&(Fg=Math.max(e.width-de,0));Dc+wc>e.height&&(ig=Math.max(e.height-Dc,0));
| var Fc=bb.alignment,Gc,Hc,xc,Ic;if(Fc.Lc()){Fc=this.Sj;Fc.sd()||(Fc=Hb);Gc=Fc.x;Hc=Fc.y;xc=Fc.offsetX;Ic=Fc.offsetY;var Nf=kc.alignment,ha=Sd.alignment;Nf.sd()&&(Gc=Nf.x,xc=Nf.offsetX);ha.sd()&&(Hc=ha.y,Ic=ha.offsetY)}else Gc=Fc.x,Hc=Fc.y,xc=Fc.offsetX,Ic=Fc.offsetY;if(isNaN(Gc)||isNaN(Hc))Hc=Gc=0.5,Ic=xc=0;var Td=ee.width,Jd=ee.height,jg=bb.margin,rj=jg.left+jg.right,Wc=jg.top+jg.bottom,ib=Dk(bb,Sd,kc);!isNaN(bb.Ba.width)||ib!==Cc&&ib!==Xj||(Td=Math.max(qh-rj,0));!isNaN(bb.Ba.height)||ib!==Cc&&ib!==
| Wj||(Jd=Math.max(wc-Wc,0));var mb=bb.He,ji=bb.Nf,Td=Math.min(mb.width,Td),Jd=Math.min(mb.height,Jd),Td=Math.max(ji.width,Td),Jd=Math.max(ji.height,Jd),ol=Jd+Wc;k.x+=k.width*Gc-(Td+rj)*Gc+xc+jg.left;k.y+=k.height*Hc-ol*Hc+Ic+jg.top;bb.visible&&(nb(rh,ec,Fg,ig,k.x,k.y,Td,Jd)?bb.Hc(k.x,k.y,Td,Jd):bb.Hc(k.x,k.y,Td,Jd,new w(rh,ec,Fg,ig)))}}}}t.Yj(Db);for(Cb=0;Cb<h;Cb++)bb=g.n[Cb],bb instanceof y&&(bb.type===ok||bb.type===pk)&&(Vc=bb.Yb,bb.dd.La(),bb.dd.Up(0,0,Vc.width,Vc.height),bb.dd.freeze());break;
| case "Viewbox":var kg=g.n[0],lg=kg.Ea,Sb=kg.margin,Of=Sb.top+Sb.bottom,Pf=Math.max(lg.width+(Sb.right+Sb.left),0),Ud=Math.max(lg.height+Of,0),fe=kg.alignment;fe.Lc()&&(fe=this.Sj);fe.sd()||(fe=Hb);k.x=e.width*fe.x-Pf*fe.x+fe.offsetX;k.y=e.height*fe.y-Ud*fe.y+fe.offsetY;k.width=lg.width;k.height=lg.height;kg.Hc(k.x,k.y,k.width,k.height);break;case "Link":var sh=this.Vq(),Qf=0;if(null!==sh&&Qf<this.ci.count){var Re=this.ci.n[Qf];Qf++;sh.Hc(Re.x-this.Fi.x,Re.y-this.Fi.y,Re.width,Re.height)}for(var ue=
| 0;ue<h;ue++){var Se=g.n[ue];Se!==sh&&Qf<this.ci.count&&(Re=this.ci.n[Qf],Qf++,Se.Hc(Re.x-this.Fi.x,Re.y-this.Fi.y,Re.width,Re.height))}var Te=this.Jy(),ge=Te.count;if(2<=ge&&this.te)for(var he=this.dk;he.next();){var pd=he.value,th=ge,Gg=Te,Vd=pd.vf,Hg=pd.Lt,zb=pd.Mj;zb.Ge()&&(zb=Hb);var ie=pd.Mt,of=pd.hB,pf=void 0,Wd=void 0,fc=0;if(Vd<-th||Vd>=th){var Ig=this.nF,Xd=this.mF;ie!==wg&&(fc=this.computeAngle(pd,ie,Xd),pd.angle=fc);pf=Ig.x;Wd=Ig.y}else{var pc=void 0,Ue=void 0;if(0<=Vd)pc=Gg.n[Vd],Ue=Vd<
| th-1?Gg.n[Vd+1]:pc;else var qf=th+Vd,pc=Gg.n[qf],Ue=0<qf?Gg.n[qf-1]:pc;Xd=0<=Vd?pc.Qi(Ue):Ue.Qi(pc);ie!==wg&&(fc=this.computeAngle(pd,ie,Xd),pd.angle=fc);pf=pc.x+(Ue.x-pc.x)*Hg;Wd=pc.y+(Ue.y-pc.y)*Hg}var je=t.ah();je.reset();je.scale(pd.scale,pd.scale);je.rotate(pd.angle,0,0);var Jg=pd.Pa,mg=t.gk(0,0,Jg.width,Jg.height),Jc=t.K();Jc.Ot(mg,zb);je.Ra(Jc);var ke=-Jc.x,Lg=-Jc.y,Ve=of.copy();isNaN(Ve.x)&&(Ve.x=0<=Vd?Jc.x+3:-(Jc.x+3));isNaN(Ve.y)&&(Ve.y=-(Jc.y+3));Ve.rotate(Xd);pf+=Ve.x;Wd+=Ve.y;je.wG(mg);
| var ke=ke+mg.x,Lg=Lg+mg.y,Xc=t.gc(pf+ke,Wd+Lg);pd.move(Xc);t.B(Xc);t.B(Jc);t.cc(mg);t.We(je)}this.Xw();break;case "Grid":break;case "TableRow":case "TableColumn":t.l(this.toString()+" is not an element of a Table Panel.TableRow and TableColumn panels can only be elements of a Table Panel.");break;default:t.l("Unknown panel type: "+x)}t.cc(k)}};
| y.prototype.Qj=function(a){var b=this.Pa;if(nb(0,0,b.width,b.height,a.x,a.y)){for(var c=this.xa.length,b=t.gc(0,0);c--;){var d=this.xa.n[0];if(d.visible||d===this.fc)if(Qa(b.set(a),d.transform),d.Ga(b))return t.B(b),!0}t.B(b);return null===this.Fb&&null===this.qc?!1:!0}return!1};function Ml(a,b,c){c(a,b);if(b instanceof y){b=b.xa.n;for(var d=b.length,e=0;e<d;e++)Ml(a,b[e],c)}}function Wi(a,b){Nl(a,a,b)}
| function Nl(a,b,c){c(b);b=b.xa.n;for(var d=b.length,e=0;e<d;e++){var g=b[e];g instanceof y&&Nl(a,g,c)}}y.prototype.walkVisualTree=function(a){Ol(this,this,a)};function Ol(a,b,c){c(b);if(b instanceof y){b=b.xa.n;for(var d=b.length,e=0;e<d;e++)Ol(a,b[e],c)}}y.prototype.findInVisualTree=y.prototype.bt=function(a){return Pl(this,this,a)};function Pl(a,b,c){if(c(b))return b;if(b instanceof y){b=b.xa.n;for(var d=b.length,e=0;e<d;e++){var g=Pl(a,b[e],c);if(null!==g)return g}}return null}
| y.prototype.findObject=y.prototype.ke=function(a){if(this.name===a)return this;for(var b=this.xa.n,c=b.length,d=0;d<c;d++){var e=b[d];if(e.name===a)return e;if(e instanceof y)if(null===e.oi&&null===e.cg){if(e=e.ke(a),null!==e)return e}else if(Ql(e)&&(e=e.xa.$a(),null!==e&&(e=e.ke(a),null!==e)))return e}return null};
| function Rl(a){a=a.xa.n;for(var b=a.length,c=0,d=0;d<b;d++){var e=a[d];if(e instanceof y)c=Math.max(c,Rl(e));else if(e instanceof X){a:{if(!e.Qg)switch(e.Kn){case "None":case "Square":case "Ellipse":case "Circle":case "LineH":case "LineV":case "FramedRectangle":case "RoundedRectangle":case "Line1":case "Line2":case "Border":case "Cube1":case "Cube2":case "Junction":case "Cylinder1":case "Cylinder2":case "Cylinder3":case "Cylinder4":case "PlusLine":case "XLine":case "ThinCross":case "ThickCross":e=0;
| break a}e=e.Rg/2*e.om*e.$j()}c=Math.max(c,e)}}return c}aa=y.prototype;aa.Tf=function(){return!(this.type===ok||this.type===pk)};
| aa.le=function(a,b,c){if(!1===this.uf)return null;void 0===b&&(b=null);void 0===c&&(c=null);if(Li(this))return null;var d=this.Pa,e=1/this.$j(),g=this.Tf(),h=g?a:Qa(t.gc(a.x,a.y),this.transform);if(nb(-(5*e),-(5*e),d.width+10*e,d.height+10*e,h.x,h.y)){if(!this.Ig){for(var k=this.xa.length,e=t.K();k--;){var l=this.xa.n[k];if(l.visible||l===this.fc){l.Tf()?Qa(e.set(a),l.transform):e.set(a);var m=null;l instanceof y?m=l.le(e,b,c):!0===l.uf&&l.Ga(e)&&(m=l);if(null!==m&&(null!==b&&(m=b(m)),m&&(null===
| c||c(m))))return t.B(e),g||t.B(h),m}}t.B(e)}if(null===this.background&&null===this.Zk)return g||t.B(h),null;a=nb(0,0,d.width,d.height,h.x,h.y)?this:null;g||t.B(h);return a}g||t.B(h);return null};
| aa.Yo=function(a,b,c,d){if(!1===this.uf)return!1;void 0===b&&(b=null);void 0===c&&(c=null);d instanceof A||d instanceof na||(d=new A(Q));var e=this.Pa,g=this.Tf(),h=g?a:Qa(t.gc(a.x,a.y),this.transform);if(nb(0,0,e.width,e.height,h.x,h.y)){if(!this.Ig){for(var k=this.xa.length,e=t.K();k--;){var l=this.xa.n[k];if(l.visible||l===this.fc)l.Tf()?Qa(e.set(a),l.transform):e.set(a),(l instanceof y?l.Yo(e,b,c,d):l.Ga(e))&&!1!==l.uf&&(null!==b&&(l=b(l)),l&&(null===c||c(l))&&d.add(l))}t.B(e)}g||t.B(h);return null!==
| this.background||null!==this.Zk}g||t.B(h);return!1};
| aa.Xj=function(a,b,c,d,e,g){if(!1===this.uf)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var h=g;void 0===g&&(h=t.ah(),h.reset());h.multiply(this.transform);if(this.Bm(a,h))return Sl(this,b,c,e),void 0===g&&t.We(h),!0;if(this.Mf(a,h)){if(!this.Ig)for(var k=this.xa.length;k--;){var l=this.xa.n[k];if(l.visible||l===this.fc){var m=l.sa,n=this.Pa;if(!(m.x>n.width||m.y>n.height||0>m.x+m.width||0>m.y+m.height)){m=t.ah();m.set(h);if(l instanceof y?l.Xj(a,b,c,d,e,m):ek(l,a,d,m))null!==b&&(l=b(l)),l&&
| (null===c||c(l))&&e.add(l);t.We(m)}}}void 0===g&&t.We(h);return d}void 0===g&&t.We(h);return!1};function Sl(a,b,c,d){for(var e=a.xa.length;e--;){var g=a.xa.n[e];if(g.visible){var h=g.sa,k=a.Pa;h.x>k.width||h.y>k.height||0>h.x+h.width||0>h.y+h.height||(g instanceof y&&Sl(g,b,c,d),null!==b&&(g=b(g)),g&&(null===c||c(g))&&d.add(g))}}}
| aa.Jm=function(a,b,c,d,e,g){if(!1===this.uf)return!1;void 0===c&&(c=null);void 0===d&&(d=null);var h=this.Pa,k=this.Tf(),l=k?a:Qa(t.gc(a.x,a.y),this.transform),m=k?b:Qa(t.gc(b.x,b.y),this.transform),n=l.Uj(m),p=0<l.x&&l.x<h.width&&0<l.y&&l.y<h.height||Ra(l.x,l.y,0,0,0,h.height)<n||Ra(l.x,l.y,0,h.height,h.width,h.height)<n||Ra(l.x,l.y,h.width,h.height,h.width,0)<n||Ra(l.x,l.y,h.width,0,0,0)<n,h=0<l.x&&l.x<h.width&&0<l.y&&l.y<h.height&&Ra(l.x,l.y,0,0,0,h.height)<n&&Ra(l.x,l.y,0,h.height,h.width,h.height)<
| n&&Ra(l.x,l.y,h.width,h.height,h.width,0)<n&&Ra(l.x,l.y,h.width,0,0,0)<n;k||(t.B(l),t.B(m));if(p){if(!this.Ig){k=t.K();l=t.K();for(m=this.xa.length;m--;)if(n=this.xa.n[m],n.visible||n===this.fc){var q=n.sa,r=this.Pa;q.x>r.width||q.y>r.height||0>q.x+q.width||0>q.y+q.height||(n.Tf()?(q=n.transform,Qa(k.set(a),q),Qa(l.set(b),q)):(k.set(a),l.set(b)),n instanceof y?!n.Jm(k,l,c,d,e,g):!n.pE(k,l,e))||(null!==c&&(n=c(n)),n&&(null===d||d(n))&&g.add(n))}t.B(k);t.B(l)}return e?p:h}return!1};
| function El(a){var b=a.G;if(void 0===b||b===xb)b=null;null===b&&a instanceof X&&(a=a.Na,null!==a&&(b=a.G));null===b&&(b=Eb);return b}function Fl(a){var b=a.H;if(void 0===b||b===xb)b=null;null===b&&a instanceof X&&(a=a.Na,null!==a&&(b=a.H));null===b&&(b=Pb);return b}y.prototype.add=y.prototype.add=function(a){t.m(a,Q,y,"add:element");this.Ed(this.xa.count,a)};y.prototype.elt=y.prototype.wa=function(a){return this.xa.wa(a)};
| y.prototype.insertAt=y.prototype.Ed=function(a,b){b instanceof B&&t.l("Cannot add a Part to a Panel: "+b);if(this===b||this.Vi(b))this===b&&t.l("Cannot make a Panel contain itself: "+this.toString()),t.l("Cannot make a Panel indirectly contain itself: "+this.toString()+" already contains "+b.toString());var c=b.ja;null!==c&&c!==this&&t.l("Cannot add a GraphObject that already belongs to another Panel to this Panel: "+b.toString()+", already contained by "+c.toString()+", cannot be shared by this Panel: "+
| this.toString());this.ba!==si||b instanceof X||t.l("Can only add Shapes to a Grid Panel, not: "+b);b.tl(this);b.dm=null;if(null!==this.HA){var d=b.data;null!==d&&"object"===typeof d&&(null===this.bg&&(this.bg=new la(Object,y)),this.bg.add(d,b))}var e=this.xa,d=-1;if(c===this){for(var g=-1,h=e.count,k=0;k<h;k++)if(e.n[k]===b){g=k;break}if(-1!==g){if(g===a||g+1>=e.count&&a>=e.count)return;e.nd(g);d=g}else t.l("element "+b.toString()+" has panel "+c.toString()+" but is not contained by it.")}if(0>a||
| a>e.count)a=e.count;e.Ed(a,b);this.ca();b.ca();null!==b.Jd?this.rh=!0:b instanceof y&&!0===b.rh&&(this.rh=!0);c=this.S;null!==c&&(c.Aj=null,c.xj=NaN,this.rh&&c instanceof S&&(c.rh=!0),c.rh&&(c.Nd=null),e=this.h,null!==e&&e.ma.pb||(-1!==d&&c.Xc(wd,"elements",this,b,null,d,null),c.Xc(vd,"elements",this,null,b,null,a)))};y.prototype.remove=y.prototype.remove=function(a){t.m(a,Q,y,"remove:element");for(var b=this.xa,c=b.count,d=-1,e=0;e<c;e++)if(b.n[e]===a){d=e;break}-1!==d&&this.Xe(d)};
| y.prototype.removeAt=y.prototype.nd=function(a){f&&t.p(a,y,"removeAt:idx");0<=a&&this.Xe(a)};y.prototype.Xe=function(a){var b=this.xa,c=b.wa(a);c.dm=null;c.tl(null);if(null!==this.bg){var d=c.data;"object"===typeof d&&this.bg.remove(d)}b.nd(a);gk(this,!1);this.ca();b=this.S;null!==b&&(b.Aj=null,b.xj=NaN,d=this.h,null!==d&&d.ma.pb||b.Xc(wd,"elements",this,c,null,a,null))};t.A(y,{kx:"rowCount"},function(){return void 0===this.fd?0:this.fd.length});
| y.prototype.getRowDefinition=y.prototype.ne=function(a){if(void 0===this.fd)return null;f&&t.p(a,y,"getRowDefinition:idx");0>a&&t.ka(a,">= 0",y,"getRowDefinition:idx");a=Math.round(a);var b=this.fd;if(void 0===b[a]){var c=new Rk;c.tl(this);c.Ol=!0;c.Qc=a;b[a]=c}return b[a]};y.prototype.removeRowDefinition=function(a){if(void 0!==this.fd){f&&t.p(a,y,"removeRowDefinition:idx");0>a&&t.ka(a,">= 0",y,"removeRowDefinition:idx");a=Math.round(a);var b=this.fd;b[a]&&(b[a]=void 0)}};
| t.A(y,{hw:"columnCount"},function(){return void 0===this.$c?0:this.$c.length});y.prototype.getColumnDefinition=y.prototype.me=function(a){if(void 0===this.$c)return null;f&&t.p(a,y,"getColumnDefinition:idx");0>a&&t.ka(a,">= 0",y,"getColumnDefinition:idx");a=Math.round(a);var b=this.$c;if(void 0===b[a]){var c=new Rk;c.tl(this);c.Ol=!1;c.Qc=a;b[a]=c}return b[a]};
| y.prototype.removeColumnDefinition=function(a){if(void 0!==this.$c){f&&t.p(a,y,"removeColumnDefinition:idx");0>a&&t.ka(a,">= 0",y,"removeColumnDefinition:idx");a=Math.round(a);var b=this.$c;b[a]&&(b[a]=void 0)}};t.g(y,"rowSizing",y.prototype.RF);
| t.defineProperty(y,{RF:"rowSizing"},function(){return void 0===this.im?zl:this.im},function(a){if(void 0!==this.im){var b=this.im;b!==a&&(a!==zl&&a!==Jl&&t.l("rowSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None"),this.im=a,this.ca(),this.i("rowSizing",b,a))}});t.g(y,"columnSizing",y.prototype.OD);
| t.defineProperty(y,{OD:"columnSizing"},function(){return void 0===this.El?zl:this.El},function(a){if(void 0!==this.El){var b=this.El;b!==a&&(a!==zl&&a!==Jl&&t.l("columnSizing must be RowColumnDefinition.ProportionalExtra or RowColumnDefinition.None"),this.El=a,this.ca(),this.i("columnSizing",b,a))}});t.g(y,"topIndex",y.prototype.NJ);
| t.defineProperty(y,{NJ:"topIndex"},function(){return void 0===this.Ei?0:this.Ei},function(a){if(void 0!==this.Ei){var b=this.Ei;b!==a&&((!isFinite(a)||0>a)&&t.l("topIndex must be greater than zero and a real number. Was "+a),this.Ei=a,this.ca(),this.i("topIndex",b,a))}});t.g(y,"leftIndex",y.prototype.YI);
| t.defineProperty(y,{YI:"leftIndex"},function(){return void 0===this.pi?0:this.pi},function(a){if(void 0!==this.pi){var b=this.pi;b!==a&&((!isFinite(a)||0>a)&&t.l("leftIndex must be greater than zero and a real number. Was "+a),this.pi=a,this.ca(),this.i("leftIndex",b,a))}});y.prototype.findRowForLocalY=function(a){if(0>a)return-1;if(this.type!==Ck)return NaN;for(var b=0,c=this.fd,d=c.length,e=this.Ei;e<d;e++){var g=c[e];if(void 0!==g&&(b+=g.total,a<b))return e}return-1};
| y.prototype.findColumnForLocalX=function(a){if(0>a)return-1;if(this.type!==Ck)return NaN;for(var b=0,c=this.$c,d=c.length,e=this.pi;e<d;e++){var g=c[e];if(void 0!==g&&(b+=g.total,a<b))return e}return-1};t.g(y,"data",y.prototype.data);
| t.defineProperty(y,{data:"data"},function(){return this.Hl},function(a){var b=this.Hl;if(b!==a){var c=this instanceof B&&!(this instanceof Ge);c&&t.j(a,"object",y,"data");Ie(this);this.Hl=a;var d=this.h;null!==d&&(c?this instanceof U?(null!==b&&d.xk.remove(b),null!==a&&d.xk.add(a,this)):(null!==b&&d.hi.remove(b),null!==a&&d.hi.add(a,this)):(c=this.ja,null!==c&&null!==c.bg&&(null!==b&&c.bg.remove(b),null!==a&&c.bg.add(a,this))));this.i("data",b,a);null!==d&&d.ma.pb||null!==a&&this.Lb()}});
| t.g(y,"itemIndex",y.prototype.XE);t.defineProperty(y,{XE:"itemIndex"},function(){return this.kr},function(a){var b=this.kr;b!==a&&(this.kr=a,this.i("itemIndex",b,a))});function Lk(a){a=a.Dl;return null!==a&&a.lb}
| function Ie(a){var b=a.Dl;if(null===b)null!==a.data&&t.l("Template cannot have .data be non-null: "+a),a.Dl=b=new A(Ae);else if(b.lb)return;var c=new A(Q);Ml(a,a,function(a,d){var e=d.Gc;if(null!==e){Ek(d,!1);for(var g=e.k;g.next();){e=g.value;e.mode===Ce&&Ek(d,!0);var h=e.St;if(null!==h){var q=a;""!==h&&(q=a.ke(h));null!==q&&(c.add(q),void 0===q.vs&&(q.vs=new A(Ae)),q.vs.add(e))}b.add(e)}}if(d instanceof y&&d.type===Ck){if(0<d.fd.length)for(g=d.fd,h=g.length,q=0;q<h;q++){var r=g[q];if(void 0!==r&&
| null!==r.Gc)for(var s=r.Gc.k;s.next();)e=s.value,e.hg=r,e.Cz=2,e.Lv=r.index,b.add(e)}if(0<d.$c.length)for(g=d.$c,h=g.length,q=0;q<h;q++)if(r=g[q],void 0!==r&&null!==r.Gc)for(s=r.Gc.k;s.next();)e=s.value,e.hg=r,e.Cz=1,e.Lv=r.index,b.add(e)}});for(var d=c.k;d.next();){var e=d.value;if(void 0!==e.vs){Ek(e,!0);for(var g=e.vs.k;g.next();){var h=g.value;null===e.Gc&&(e.Gc=new A(Ae));e.Gc.add(h)}}delete e.vs}for(d=b.k;d.next();)e=d.value,g=e.hg,null!==g&&(e.hg=null,g===a?e.cn="":(g instanceof Rk&&(g=g.ja),
| e.cn=""!==g.name?g.name:g.name="_"+t.ld(g)));b.freeze();a instanceof B&&a.Gd()&&(gh(a,Infinity,Infinity),a.Hc())}
| y.prototype.updateTargetBindings=y.prototype.Lb=function(a){var b=this.Dl;if(null!==b)for(void 0===a&&(a=""),b=b.k;b.next();){var c=b.value,d=c.rB;if(""===a||""===d||d===a)if(d=c.Ut,null!==c.SD||""!==d){var d=this.data,e=c.St;null!==e&&(d=this.ke(e));if(null===d)f&&t.trace("Binding error: missing GraphObject named "+e+" in "+this.toString());else{var e=this,g=c.cn;if(""!==g){if(e=this.ke(g),null===e)continue}else null!==c.hg&&(e=c.hg);g=c.Cz;if(0!==g){if(!(e instanceof y))continue;1===g?e=e.me(c.Lv):
| 2===g&&(e=e.ne(c.Lv))}void 0!==e&&c.CG(e,d)}}}};t.g(y,"itemArray",y.prototype.HA);t.defineProperty(y,{HA:"itemArray"},function(){return this.oi},function(a){var b=this.oi;if(b!==a){f&&null!==a&&!t.isArray(a)&&t.l("Panel.itemArray must be an Array-like object or null, not: "+a);var c=this.h;null!==c&&null!==b&&$i(c,this);this.oi=a;null!==c&&null!==a&&Xi(c,this);this.i("itemArray",b,a);null!==c&&c.ma.pb||this.$A()}});function Ql(a){return a.type===Rg||a.type===ci||a.type===tg}
| y.prototype.rebuildItemElements=y.prototype.$A=function(){var a=0;for(Ql(this)&&(a=1);this.xa.length>a;)this.Xe(a);a=this.HA;if(null!==a)for(var b=t.rb(a),c=0;c<b;c++)lj(this,t.jb(a,c),c)};function lj(a,b,c){if(void 0!==b&&null!==b){var d=a.getCategoryForItemData(b,c),d=a.findTemplateForItemData(b,c,d);d instanceof y&&(Ie(d),d=d.copy(),"object"===typeof b&&(null===a.bg&&(a.bg=new la(Object,y)),a.bg.add(b,d)),a.type!==Rg&&a.type!==ci||c++,a.Ed(c,d),Tl(d,c),mj(a,c),d.data=b)}}
| function mj(a,b){for(var c=a.xa,d=b+1;d<c.length;){var e=c.wa(d);e instanceof y&&Tl(e,d);d++}}function Tl(a,b){a.type===ok?a.nc=b:a.type===pk&&(a.column=b);a.XE=b}t.g(y,"itemTemplate",y.prototype.TI);
| t.defineProperty(y,{TI:"itemTemplate"},function(){return null===this.cg?null:this.cg.ya("")},function(a){if(null===this.cg){if(null===a)return;this.cg=new la("string",y)}var b=this.cg.ya("");b!==a&&(t.m(a,y,y,"itemTemplate"),a instanceof B&&t.l("itemTemplate must not be a Part: "+a),this.cg.add("",a),this.i("itemTemplate",b,a),a=this.h,null!==a&&a.ma.pb||this.$A())});t.g(y,"itemTemplateMap",y.prototype.YE);
| t.defineProperty(y,{YE:"itemTemplateMap"},function(){return this.cg},function(a){var b=this.cg;if(b!==a){t.m(a,la,y,"itemTemplateMap");for(var c=a.k;c.next();){var d=c.value;d instanceof B&&t.l("Template in itemTemplateMap must not be a Part: "+d)}this.cg=a;this.i("itemTemplateMap",b,a);a=this.h;null!==a&&a.ma.pb||this.$A()}});t.g(y,"itemCategoryProperty",y.prototype.SI);
| t.defineProperty(y,{SI:"itemCategoryProperty"},function(){return this.Zn},function(a){var b=this.Zn;b!==a&&("string"!==typeof a&&"function"!==typeof a&&t.Xb(a,"string or function",y,"itemCategoryProperty"),this.Zn=a,this.i("itemCategoryProperty",b,a))});
| y.prototype.getCategoryForItemData=function(a){if(null===a)return"";var b=this.Zn;if("function"===typeof b)b=b(a);else if("string"===typeof b&&"object"===typeof a){if(""===b)return"";b=t.kb(a,b)}else return"";if(void 0===b)return"";if("string"===typeof b)return b;t.l("Panel.getCategoryForItemData found a non-string category for "+a+": "+b);return""};
| y.prototype.findTemplateForItemData=function(a,b,c){a=this.YE;b=null;null!==a&&(b=a.ya(c));null===b&&(t.HG||(t.HG=!0,t.trace('No item template Panel found for category "'+c+'" on '+this),t.trace(" Using default item template."),c=new y,a=new oa,a.bind(new Ae("text","",xd)),c.add(a),t.bE=c),b=t.bE);return b instanceof y?b:null};t.g(y,"isAtomic",y.prototype.KI);
| t.defineProperty(y,{KI:"isAtomic"},function(){return this.Ig},function(a){var b=this.Ig;b!==a&&(t.j(a,"boolean",y,"isAtomic"),this.Ig=a,this.i("isAtomic",b,a))});t.g(y,"opacity",y.prototype.opacity);t.defineProperty(y,{opacity:"opacity"},function(){return this.Df},function(a){var b=this.Df;b!==a&&(t.j(a,"number",y,"opacity"),(0>a||1<a)&&t.ka(a,"0 <= val <= 1",y,"opacity"),this.Df=a,this.i("opacity",b,a),a=this.h,b=this.S,null!==a&&null!==b&&a.ha(Th(b,b.sa)))});
| function Rk(){t.wc(this);this.xi=null;this.Ol=!0;this.Qc=0;this.Ef=NaN;this.Yl=0;this.Xl=Infinity;this.se=xb;this.Ma=this.Eb=0;this.Gc=null;this.ss=Ul;this.Bh=Ug;this.ps=this.Jj=null;this.qs=NaN;this.Fb=this.xh=null;this.Dq=!1}t.ga("RowColumnDefinition",Rk);
| Rk.prototype.copy=function(){var a=new Rk;a.Ol=this.Ol;a.Qc=this.Qc;a.Ef=this.Ef;a.Yl=this.Yl;a.Xl=this.Xl;a.se=this.se;a.Eb=this.Eb;a.Ma=this.Ma;a.Bh=this.Bh;a.ss=this.ss;a.Jj=null===this.Jj?null:this.Jj.Z();a.ps=this.ps;a.qs=this.qs;a.xh=null;this.xh&&(a.xh=this.xh.slice(0));a.Fb=this.Fb;a.Dq=this.Dq;a.Gc=this.Gc;return a};Rk.prototype.toString=function(){return"RowColumnDefinition "+(this.Rh?"(Row ":"(Column ")+this.index+") #"+t.ld(this)};var Ul;Rk.Default=Ul=t.w(Rk,"Default",0);var Jl;
| Rk.None=Jl=t.w(Rk,"None",1);var zl;Rk.ProportionalExtra=zl=t.w(Rk,"ProportionalExtra",2);Rk.prototype.tl=function(a){this.xi=a};function Hl(a,b){a.Eb=isNaN(a.Ef)?Math.max(Math.min(a.Xl,b),a.Yl):Math.max(Math.min(a.Xl,a.Ef),a.Yl)}function Ll(a){var b=a.xi,c=a.Zm;null===c&&(c=a.Rh?b.ii:b.gh);var d=a.$m;isNaN(d)&&(d=a.Rh?b.ih:b.hh);d=null!==c?d:0;0===a.index&&(d=0);c=a.iB;null===c&&(c=b.nj);return d+(a.Rh?c.top:c.left)}
| function Dl(a){var b=a.xi,c=a.Zm;null===c&&(c=a.Rh?b.ii:b.gh);var d=a.$m;isNaN(d)&&(d=a.Rh?b.ih:b.hh);d=null!==c?d:0;0===a.index&&(d=0);c=a.iB;null===c&&(c=b.nj);return d+(a.Rh?c.top+c.bottom:c.left+c.right)}
| Rk.prototype.Sc=function(a,b,c,d,e){var g=this.xi;if(null!==g){g.ca();for(var h=this.Rh,k=g.xa,l=k.length,m=0;m<l;m++){var n=k.n[m];(h?n.nc:n.column)===this.index&&n.ca()}g.Xc(ud,a,this,b,c,d,e);if(null!==this.Gc&&(b=g.$o(),null!==b&&(b=b.data,null!==b)))for(c=this.Gc.k;c.next();)c.value.AB(this,b,a,null)}};t.A(Rk,{ja:"panel"},function(){return this.xi});t.A(Rk,{Rh:"isRow"},function(){return this.Ol});t.A(Rk,{index:"index"},function(){return this.Qc});t.g(Rk,"height",Rk.prototype.height);
| t.defineProperty(Rk,{height:"height"},function(){return this.Ef},function(a){var b=this.Ef;b!==a&&(f&&t.j(a,"number",Rk,"height"),0>a&&t.ka(a,">= 0",Rk,"height"),this.Ef=a,Hl(this,this.Eb),this.Sc("size",b,a))});t.g(Rk,"width",Rk.prototype.width);t.defineProperty(Rk,{width:"width"},function(){return this.Ef},function(a){var b=this.Ef;b!==a&&(f&&t.j(a,"number",Rk,"width"),0>a&&t.ka(a,">= 0",Rk,"width"),this.Ef=a,Hl(this,this.Eb),this.Sc("size",b,a))});t.g(Rk,"minimum",Rk.prototype.Uh);
| t.defineProperty(Rk,{Uh:"minimum"},function(){return this.Yl},function(a){var b=this.Yl;b!==a&&(f&&t.j(a,"number",Rk,"minimum"),(0>a||!isFinite(a))&&t.ka(a,">= 0",Rk,"minimum"),this.Yl=a,Hl(this,this.Eb),this.Sc("minimum",b,a))});t.g(Rk,"maximum",Rk.prototype.sf);t.defineProperty(Rk,{sf:"maximum"},function(){return this.Xl},function(a){var b=this.Xl;b!==a&&(f&&t.j(a,"number",Rk,"maximum"),0>a&&t.ka(a,">= 0",Rk,"maximum"),this.Xl=a,Hl(this,this.Eb),this.Sc("maximum",b,a))});t.g(Rk,"alignment",Rk.prototype.alignment);
| t.defineProperty(Rk,{alignment:"alignment"},function(){return this.se},function(a){var b=this.se;b.M(a)||(f&&t.m(a,H,Rk,"alignment"),this.se=a.Z(),this.Sc("alignment",b,a))});t.g(Rk,"stretch",Rk.prototype.Xh);t.defineProperty(Rk,{Xh:"stretch"},function(){return this.Bh},function(a){var b=this.Bh;b!==a&&(f&&t.sb(a,Q,Rk,"stretch"),this.Bh=a,this.Sc("stretch",b,a))});t.g(Rk,"separatorPadding",Rk.prototype.iB);
| t.defineProperty(Rk,{iB:"separatorPadding"},function(){return this.Jj},function(a){"number"===typeof a?a=new ab(a):null!==a&&f&&t.m(a,ab,Rk,"separatorPadding");var b=this.Jj;null!==a&&null!==b&&b.M(a)||(null!==a&&(a=a.Z()),this.Jj=a,this.Sc("separatorPadding",b,a))});t.g(Rk,"separatorStroke",Rk.prototype.Zm);
| t.defineProperty(Rk,{Zm:"separatorStroke"},function(){return this.ps},function(a){var b=this.ps;b!==a&&(null===a||"string"===typeof a||a instanceof ea)&&(a instanceof ea&&a.freeze(),this.ps=a,this.ja&&this.ja.ha(),this.Sc("separatorStroke",b,a))});t.g(Rk,"separatorStrokeWidth",Rk.prototype.$m);t.defineProperty(Rk,{$m:"separatorStrokeWidth"},function(){return this.qs},function(a){var b=this.qs;b!==a&&(this.qs=a,this.ja&&this.ja.ha(),this.Sc("separatorStrokeWidth",b,a))});
| t.g(Rk,"separatorDashArray",Rk.prototype.YF);t.defineProperty(Rk,{YF:"separatorDashArray"},function(){return this.xh},function(a){var b=this.xh;b!==a&&(Array.isArray(a)||t.Xb(a,"Array",Rk,"separatorDashArray:val"),this.xh=a,this.ja&&this.ja.ha(),this.Sc("separatorDashArray",b,a))});t.g(Rk,"background",Rk.prototype.background);
| t.defineProperty(Rk,{background:"background"},function(){return this.Fb},function(a){var b=this.Fb;b!==a&&(null===a||"string"===typeof a||a instanceof ea)&&(a instanceof ea&&a.freeze(),this.Fb=a,this.ja&&this.ja.ha(),this.Sc("background",b,a))});t.g(Rk,"coversSeparators",Rk.prototype.mw);t.defineProperty(Rk,{mw:"coversSeparators"},function(){return this.Dq},function(a){var b=this.Dq;b!==a&&(t.j(a,"boolean",Rk,"coversSeparators"),this.Dq=a,this.Sc("coversSeparators",b,a))});t.g(Rk,"sizing",Rk.prototype.Qt);
| t.defineProperty(Rk,{Qt:"sizing"},function(){return this.ss},function(a){var b=this.ss;b!==a&&(f&&t.sb(a,Rk,Rk,"sizing"),this.ss=a,this.Sc("sizing",b,a))});function Il(a){if(a.Qt===Ul){var b=a.xi;return a.Rh?b.RF:b.OD}return a.Qt}t.A(Rk,{ac:"actual"},function(){return this.Eb});t.A(Rk,{total:"total"},function(){return this.Eb+Dl(this)});t.A(Rk,{position:"position"},function(){return this.Ma});
| Rk.prototype.bind=Rk.prototype.bind=function(a){a.hg=this;var b=this.ja;null!==b&&(b=b.$o(),null!==b&&Lk(b)&&t.l("Cannot add a Binding to a RowColumnDefinition that is already frozen: "+a));null===this.Gc&&(this.Gc=new A(Ae));this.Gc.add(a)};
| function X(){Q.call(this);this.Na=null;this.Kn="None";this.Qg=!1;this.Uq=Ug;this.vk=null;this.Bb=this.Pc="black";this.Rg=1;this.xo="butt";this.yo="miter";this.om=10;this.nm=null;this.gd=0;this.Ci=this.Bi=xb;this.Pr=this.Nr=0;this.Zq=!1;this.dr=!0;this.Rr=null;this.Nn=this.Ao="None";this.Yq=1}t.ga("Shape",X);t.Ka(X,Q);
| X.prototype.cloneProtected=function(a){Q.prototype.cloneProtected.call(this,a);a.Na=this.Na;a.Kn=this.Kn;a.Qg=this.Qg;a.Uq=this.Uq;a.vk=this.vk;a.Pc=this.Pc;a.Bb=this.Bb;a.Rg=this.Rg;a.xo=this.xo;a.yo=this.yo;a.om=this.om;a.nm=null;this.nm&&(a.nm=this.nm.slice(0));a.gd=this.gd;a.Bi=this.Bi.Z();a.Ci=this.Ci.Z();a.Nr=this.Nr;a.Pr=this.Pr;a.Zq=this.Zq;a.dr=this.dr;a.Rr=this.Rr;a.Ao=this.Ao;a.Nn=this.Nn;a.Yq=this.Yq};
| X.prototype.toString=function(){return"Shape("+("None"!==this.Jb?this.Jb:"None"!==this.dn?this.dn:this.Cw)+")#"+t.ld(this)};
| function Vl(a,b,c,d){var e=0.001,g=d.Ea,h=g.width,g=g.height,k,l,m,n=c.length;if(!(2>n)){k=c[0][0];l=c[0][1];for(var p,q,r,s,u=0,x=t.Cb(),E=1;E<n;E++)p=c[E],e=p[0],m=p[1],p=e-k,k=m-l,0===p&&(p=0.001),q=k/p,s=Math.atan2(k,p),k=Math.sqrt(p*p+k*k),x.push([p,s,q,k]),u+=k,k=e,l=m;k=c[0][0];l=c[0][1];c=0;e=h;n=h/2;E=0===n?!1:!0;m=0;r=x[m];p=r[0];s=r[1];q=r[2];r=r[3];for(var G=0;0.1<=u;){0===G&&(E?(e=h,c++,e-=n,u-=n,E=!1):(e=h,c++),0===e&&(e=1));if(e>u){t.za(x);return}e>r?(G=e-r,e=r):G=0;var C=Math.sqrt(e*
| e/(1+q*q));0>p&&(C=-C);k+=C;l+=q*C;a.translate(k,l);a.rotate(s);a.translate(-(h/2),-(g/2));0===G&&d.el(a,b);a.translate(h/2,g/2);a.rotate(-s);a.translate(-k,-l);u-=e;r-=e;if(0!==G){m++;if(m===x.length){t.za(x);return}r=x[m];p=r[0];s=r[1];q=r[2];r=r[3];e=G}}t.za(x)}}
| X.prototype.el=function(a,b){if(null!==this.Bb||null!==this.Pc){null!==this.Pc&&sk(this,a,this.Pc,!0);null!==this.Bb&&sk(this,a,this.Bb,!1);var c=this.Rg;if(0===c){var d=this.S;d instanceof Ge&&d.type===tg&&d.kc instanceof X&&(c=d.kc.gb)}a.lineWidth=c;a.lineJoin=this.yo;a.lineCap=this.xo;a.miterLimit=this.om;var e=!1;this.S&&b.Rk.drawShadows&&(e=this.S.Xi);var g=!0;null!==this.Bb&&null===this.Pc&&(g=!1);var d=!1,h=this.sx;if(null!==h){var k=d=!0;void 0!==a.setLineDash?(a.setLineDash(h),a.lineDashOffset=
| this.gd):void 0!==a.webkitLineDash?(a.webkitLineDash=h,a.webkitLineDashOffset=this.gd):void 0!==a.mozDash?(a.mozDash=h,a.mozDashOffset=this.gd):k=!1}var l=this.Na;if(null!==l){if(l.ba===Kc)a.beginPath(),d&&!k?ak(a,l.jc,l.tc,l.od,l.wd,h,this.gd):(a.moveTo(l.jc,l.tc),a.lineTo(l.od,l.wd)),null!==this.Pc&&tk(a,this.Pc,!0),0!==c&&null!==this.Bb&&tk(a,this.Bb,!1);else if(l.ba===Lc){var m=l.jc,n=l.tc,p=l.od,l=l.wd,q=Math.min(m,p),r=Math.min(n,l),m=Math.abs(p-m),n=Math.abs(l-n);null!==this.Pc&&(this.Pc instanceof
| ea&&this.Pc.type===Zd?(a.beginPath(),a.rect(q,r,m,n),tk(a,this.Pc,!0)):a.fillRect(q,r,m,n));if(null!==this.Bb){if(g&&e){var s=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur];a.shadowOffsetX=0;a.shadowOffsetY=0;a.shadowBlur=0}d&&!k?(k=[[q,r],[q+m,r],[q+m,r+n],[q,r+n],[q,r]],a.beginPath(),Wl(a,k,h,this.gd),tk(a,this.Bb,!1)):0!==c&&(this.Bb instanceof ea&&this.Bb.type===Zd?(a.beginPath(),a.rect(q,r,m,n),tk(a,this.Bb,!1)):a.strokeRect(q,r,m,n));g&&e&&(a.shadowOffsetX=s[0],a.shadowOffsetY=s[1],a.shadowBlur=
| s[2])}}else if(l.ba===Mc)m=l.jc,n=l.tc,p=l.od,l=l.wd,q=Math.abs(p-m)/2,r=Math.abs(l-n)/2,m=Math.min(m,p)+q,n=Math.min(n,l)+r,a.beginPath(),a.moveTo(m,n-r),a.bezierCurveTo(m+F.va*q,n-r,m+q,n-F.va*r,m+q,n),a.bezierCurveTo(m+q,n+F.va*r,m+F.va*q,n+r,m,n+r),a.bezierCurveTo(m-F.va*q,n+r,m-q,n+F.va*r,m-q,n),a.bezierCurveTo(m-q,n-F.va*r,m-F.va*q,n-r,m,n-r),a.closePath(),null!==this.Pc&&tk(a,this.Pc,!0),d&&!k&&(k=t.Cb(),F.ze(m,n-r,m+F.va*q,n-r,m+q,n-F.va*r,m+q,n,0.5,k),F.ze(m+q,n,m+q,n+F.va*r,m+F.va*q,n+r,
| m,n+r,0.5,k),F.ze(m,n+r,m-F.va*q,n+r,m-q,n+F.va*r,m-q,n,0.5,k),F.ze(m-q,n,m-q,n-F.va*r,m-F.va*q,n-r,m,n-r,0.5,k),a.beginPath(),Wl(a,k,h,this.gd),t.za(k)),0!==c&&null!==this.Bb&&(g&&e&&(s=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur],a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0),tk(a,this.Bb,!1),g&&e&&(a.shadowOffsetX=s[0],a.shadowOffsetY=s[1],a.shadowBlur=s[2]));else if(l.ba===Ac){for(var q=l.zk,r=q.length,u=0;u<r;u++){var x=q.n[u];a.beginPath();a.moveTo(x.qa,x.ra);for(var E=x.Fa.n,G=E.length,
| C=null,I=0;I<G;I++){var O=E[I];switch(O.ba){case bd:a.moveTo(O.D,O.F);break;case Oc:a.lineTo(O.D,O.F);break;case cd:a.bezierCurveTo(O.Og,O.Pg,O.Pk,O.Qk,O.ve,O.we);break;case dd:a.quadraticCurveTo(O.Og,O.Pg,O.ve,O.we);break;case ed:if(O.radiusX===O.radiusY)C=Math.PI/180,a.arc(O.pn,O.qn,O.radiusX,O.Cg*C,(O.Cg+O.Yh)*C,0>O.Yh);else for(var C=gd(O,x),N=C.length,V=0;V<N;V++){var W=C[V];0===V&&a.lineTo(W.x1,W.y1);a.bezierCurveTo(W.x2,W.y2,W.ce,W.de,W.Qb,W.Rb)}break;case fd:C&&C.type===ed?(C=gd(C,x),C=C[C.length-
| 1]||null,null!==C&&(m=C.Qb,p=C.Rb)):(m=C?C.D:x.qa,p=C?C.F:x.ra);C=hd(O,x,m,p);N=C.length;for(V=0;V<N;V++)W=C[V],a.bezierCurveTo(W.x2,W.y2,W.ce,W.de,W.Qb,W.Rb);break;default:t.l("Segment not of valid type")}O.th&&a.closePath();C=O}e?x.Xn?(!0===x.Ml&&null!==this.Pc?(tk(a,this.Pc,!0),g=!0):g=!1,0!==c&&null!==this.Bb&&(g&&(s=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur],a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0),d&&!k||tk(a,this.Bb,!1),g&&(a.shadowOffsetX=s[0],a.shadowOffsetY=s[1],a.shadowBlur=
| s[2]))):(g&&(s=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur],a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0),!0===x.Ml&&null!==this.Pc&&tk(a,this.Pc,!0),0!==c&&null!==this.Bb&&(d&&!k||tk(a,this.Bb,!1)),g&&(a.shadowOffsetX=s[0],a.shadowOffsetY=s[1],a.shadowBlur=s[2])):(!0===x.Ml&&null!==this.Pc&&tk(a,this.Pc,!0),0===c||null===this.Bb||d&&!k||tk(a,this.Bb,!1))}if(d&&!k)for(c=g,s=l.zk,g=s.length,k=0;k<g;k++){l=s.n[k];a.beginPath();m=t.Cb();m.push([l.qa,l.ra]);p=l.qa;q=l.ra;r=p;u=q;x=l.Fa.n;E=x.length;
| for(G=0;G<E;G++){I=x[G];switch(I.ba){case bd:Wl(a,m,h,this.gd);m.length=0;m.push([I.D,I.F]);p=I.D;q=I.F;r=p;u=q;break;case Oc:m.push([I.D,I.F]);p=I.D;q=I.F;break;case cd:F.ze(p,q,I.Og,I.Pg,I.Pk,I.Qk,I.ve,I.we,0.5,m);p=I.D;q=I.F;break;case dd:F.Lp(p,q,I.Og,I.Pg,I.ve,I.we,0.5,m);p=I.D;q=I.F;break;case ed:O=gd(I,l);C=O.length;for(N=0;N<C;N++)V=O[N],F.ze(p,q,V.x2,V.y2,V.ce,V.de,V.Qb,V.Rb,0.5,m),p=V.Qb,q=V.Rb;break;case fd:O=hd(I,l,p,q);C=O.length;for(N=0;N<C;N++)V=O[N],F.ze(p,q,V.x2,V.y2,V.ce,V.de,V.Qb,
| V.Rb,0.5,m),p=V.Qb,q=V.Rb;break;default:t.l("Segment not of valid type")}I.th&&(m.push([r,u]),Wl(a,m,h,this.gd))}Wl(a,m,h,this.gd);t.za(m);null!==this.Bb&&(c&&e&&(n=[a.shadowOffsetX,a.shadowOffsetY,a.shadowBlur],a.shadowOffsetX=0,a.shadowOffsetY=0,a.shadowBlur=0),tk(a,this.Bb,!1),c&&e&&(a.shadowOffsetX=n[0],a.shadowOffsetY=n[1],a.shadowBlur=n[2]))}}d&&(void 0!==a.setLineDash?(a.setLineDash(t.ai),a.lineDashOffset=0):void 0!==a.webkitLineDash?(a.webkitLineDash=t.ai,a.webkitLineDashOffset=0):void 0!==
| a.mozDash&&(a.mozDash=null,a.mozDashOffset=0));if(this.UA){d=this.UA;gh(d,Infinity,Infinity);h=d.Ea;d.Hc(0,0,h.width,h.height);a.save();h=this.kd.xb.$a();a.beginPath();n=t.Cb();n.push([h.qa,h.ra]);c=h.qa;e=h.ra;s=c;g=e;k=h.Fa.n;l=k.length;for(m=0;m<l;m++){p=k[m];switch(p.ba){case bd:Vl(a,b,n,d);n.length=0;n.push([p.D,p.F]);c=p.D;e=p.F;s=c;g=e;break;case Oc:n.push([p.D,p.F]);c=p.D;e=p.F;break;case cd:F.ze(c,e,p.Og,p.Pg,p.Pk,p.Qk,p.ve,p.we,0.5,n);c=p.D;e=p.F;break;case dd:F.Lp(c,e,p.Og,p.Pg,p.ve,p.we,
| 0.5,n);c=p.D;e=p.F;break;case ed:q=gd(p,h);r=q.length;for(u=0;u<r;u++)x=q[u],F.ze(c,e,x.x2,x.y2,x.ce,x.de,x.Qb,x.Rb,0.5,n),c=x.Qb,e=x.Rb;break;case fd:q=hd(p,h,c,e);r=q.length;for(u=0;u<r;u++)x=q[u],F.ze(c,e,x.x2,x.y2,x.ce,x.de,x.Qb,x.Rb,0.5,n),c=x.Qb,e=x.Rb;break;default:t.l("Segment not of valid type")}p.th&&(n.push([s,g]),Vl(a,b,n,d))}Vl(a,b,n,d);t.za(n);a.restore()}}}};
| function Wl(a,b,c,d){var e=0.001,g=c.length,h,k,l,m=b.length;if(!(2>m))if(h=b[0][0],k=b[0][1],2===m)ak(a,h,k,b[1][0],b[1][1],c,d);else{a.moveTo(h,k);for(var n,p,q,r=0,s=t.Cb(),u=1;u<m;u++)n=b[u],e=n[0],l=n[1],n=e-h,h=l-k,0===n&&(n=0.001),p=h/n,h=Math.sqrt(n*n+h*h),s.push([n,p,h]),r+=h,h=e,k=l;h=b[0][0];k=b[0][1];b=0;m=!0;e=c[b%g];u=0!==d;l=0;q=s[l];n=q[0];p=q[1];q=q[2];for(var x=0;0.1<=r;){0===x&&(e=c[b%g],b++,u&&(d%=e,e-=d,u=!1));e>r&&(e=r);e>q?(x=e-q,e=q):x=0;var E=Math.sqrt(e*e/(1+p*p));0>n&&(E=
| -E);h+=E;k+=p*E;m?a.lineTo(h,k):a.moveTo(h,k);r-=e;q-=e;if(0!==x){l++;if(l===s.length){t.za(s);return}q=s[l];n=q[0];p=q[1];q=q[2];e=x}else m=!m}t.za(s)}}X.prototype.getDocumentPoint=X.prototype.ob=function(a,b){void 0===b&&(b=new v);a.Ge()&&t.l("getDocumentPoint:s Spot must be real: "+a.toString());var c=this.Pa,d=this.gb;b.q(a.x*(c.width+d)-d/2+c.x+a.offsetX,a.y*(c.height+d)-d/2+c.y+a.offsetY);this.ie.Ra(b);return b};
| X.prototype.Qj=function(a,b){var c=this.Na;if(null===c||null===this.fill&&null===this.stroke)return!1;var d=c.Ib,e=this.gb/2;c.type!==Kc||b||(e+=2);var g=t.yf();g.assign(d);g.Lf(e+2,e+2);if(!g.Ga(a))return t.cc(g),!1;d=e+1E-4;if(c.type===Kc){if(null===this.stroke)return!1;d=(c.D-c.qa)*(a.x-c.qa)+(c.F-c.ra)*(a.y-c.ra);if(0>(c.qa-c.D)*(a.x-c.D)+(c.ra-c.F)*(a.y-c.F)||0>d)return!1;t.cc(g);return F.Hd(c.qa,c.ra,c.D,c.F,e,a.x,a.y)}if(c.type===Lc){var h=c.qa,k=c.ra,l=c.D,m=c.F,c=Math.min(h,l),n=Math.min(k,
| m),h=Math.abs(l-h),k=Math.abs(m-k);g.x=c;g.y=n;g.width=h;g.height=k;if(null===this.fill){g.Lf(-d,-d);if(g.Ga(a))return t.cc(g),!1;g.Lf(d,d)}null!==this.stroke&&g.Lf(e,e);e=g.Ga(a);t.cc(g);return e}if(c.type===Mc){h=c.qa;k=c.ra;l=c.D;m=c.F;c=Math.min(h,l);n=Math.min(k,m);h=Math.abs(l-h);k=Math.abs(m-k);h/=2;k/=2;c=a.x-(c+h);n=a.y-(n+k);if(null===this.fill){h-=d;k-=d;if(0>=h||0>=k||1>=c*c/(h*h)+n*n/(k*k))return t.cc(g),!1;h+=d;k+=d}null!==this.stroke&&(h+=e,k+=e);t.cc(g);return 0>=h||0>=k?!1:1>=c*c/
| (h*h)+n*n/(k*k)}if(c.type===Ac)return t.cc(g),null===this.fill?od(c,a.x,a.y,e):c.Ga(a,e,1<this.gb,b);t.l("Unknown Geometry type");return!1};
| X.prototype.ut=function(a,b,c,d){var e=this.Ba,g=this.Rg;a=Math.max(a,0);b=Math.max(b,0);var h;if(this.Qg)h=this.Na.Ib;else{var k=this.Jb,l=F.WA[k];if(void 0===l){var m=F.Ti[k];"string"===typeof m&&(m=F.Ti[m]);"function"===typeof m?(l=m(null,100,100),F.WA[k]=l):t.l("Unsupported Figure:"+k)}h=l.Ib}var k=h.width,l=h.height,m=h.width,n=h.height;switch(fk(this)){case Tg:d=c=0;break;case Cc:m=Math.max(a-g,0);n=Math.max(b-g,0);break;case Xj:m=Math.max(a-g,0);d=0;break;case Wj:c=0,n=Math.max(b-g,0)}isFinite(e.width)&&
| (m=e.width);isFinite(e.height)&&(n=e.height);e=this.He;h=this.Nf;c=Math.max(c,h.width)-g;d=Math.max(d,h.height)-g;m=Math.min(e.width,m);n=Math.min(e.height,n);m=isFinite(m)?Math.max(c,m):Math.max(k,c);n=isFinite(n)?Math.max(d,n):Math.max(l,d);c=Gl(this);switch(c){case Tg:break;case Cc:k=m;l=n;break;case Vg:c=Math.min(m/k,n/l);isFinite(c)||(c=1);k*=c;l*=c;break;default:t.l(c+" is not a valid geometryStretch.")}if(this.Qg){h=this.kd;d=k;e=l;c=h.copy();h=h.Ib;d/=h.width;e/=h.height;isFinite(d)||(d=1);
| isFinite(e)||(e=1);if(1!==d||1!==e)switch(c.type){case Kc:case Lc:case Mc:c.qa*=d;c.ra*=e;c.D*=d;c.F*=e;break;case Ac:h=c.xb;for(var p=h.length,q=0;q<p;q++){var r=h.n[q];r.qa*=d;r.ra*=e;for(var r=r.Fa,s=r.length,u=0;u<s;u++){var x=r.n[u];switch(x.type){case Oc:case bd:x.D*=d;x.F*=e;break;case cd:x.yb*=d;x.Mb*=e;x.pe*=d;x.qe*=e;x.D*=d;x.F*=e;break;case dd:x.yb*=d;x.Mb*=e;x.D*=d;x.F*=e;break;case ed:x.Ca*=d;x.Oa*=e;x.radiusX*=d;void 0!==x.radiusY&&(x.radiusY*=e);break;case fd:x.D*=d;x.F*=e;x.radiusX*=
| d;x.radiusY*=e;break;default:t.l("Unknown Segment type: "+x.type)}}}}this.Na=c}else if(null===this.Na||this.Na.Vn!==a-g||this.Na.Un!==b-g)this.Na=F.makeGeometry(this,k,l);h=this.Na.Ib;Infinity===a||Infinity===b?ck(this,h.x-g/2,h.y-g/2,0===a&&0===k?0:h.width+g,0===b&&0===l?0:h.height+g):ck(this,-(g/2),-(g/2),m+g,n+g)};
| function Kl(a,b,c){if(!1!==Ki(a)){a.Rc.La();var d=a.Rg;if(0===d){var e=a.S;e instanceof Ge&&e.type===tg&&e.kc instanceof X&&(d=e.kc.gb)}d*=a.ic;ck(a,-(d/2),-(d/2),b+d,c+d);b=a.Rc;c=a.He;d=a.Nf;b.width=Math.min(c.width,b.width);b.height=Math.min(c.height,b.height);b.width=Math.max(d.width,b.width);b.height=Math.max(d.height,b.height);a.Rc.freeze();a.Rc.N()||t.l("Non-real measuredBounds has been set. Object "+a+", measuredBounds: "+a.Rc.toString());gk(a,!1)}}
| function Gl(a){var b=a.Dw;return a.Qg?b===Ug?Cc:b:b===Ug?F.WA[a.Jb].sc:b}X.prototype.Pj=function(a,b,c,d){jk(this,a,b,c,d)};X.prototype.getNearestIntersectionPoint=X.prototype.jl=function(a,b,c){return this.gp(a.x,a.y,b.x,b.y,c)};
| X.prototype.gp=function(a,b,c,d,e){var g=this.transform,h=1/(g.m11*g.m22-g.m12*g.m21),k=g.m22*h,l=-g.m12*h,m=-g.m21*h,n=g.m11*h,p=h*(g.m21*g.dy-g.m22*g.dx),q=h*(g.m12*g.dx-g.m11*g.dy),g=a*k+b*m+p,h=a*l+b*n+q,k=c*k+d*m+p,l=c*l+d*n+q,m=this.gb/2,p=this.Na;null===p&&(gh(this,Infinity,Infinity),p=this.Na);q=p.Ib;n=!1;if(p.type===Kc)if(1.5>=this.gb)n=F.Yg(p.jc,p.tc,p.od,p.wd,g,h,k,l,e);else{var r,s;p.jc===p.od?(r=m,s=0):(b=(p.wd-p.tc)/(p.od-p.jc),s=m/Math.sqrt(1+b*b),r=s*b);d=t.Cb();b=new v;F.Yg(p.jc+
| r,p.tc+s,p.od+r,p.wd+s,g,h,k,l,b)&&d.push(b);b=new v;F.Yg(p.jc-r,p.tc-s,p.od-r,p.wd-s,g,h,k,l,b)&&d.push(b);b=new v;F.Yg(p.jc+r,p.tc+s,p.jc-r,p.tc-s,g,h,k,l,b)&&d.push(b);b=new v;F.Yg(p.od+r,p.wd+s,p.od-r,p.wd-s,g,h,k,l,b)&&d.push(b);b=d.length;if(0===b)return t.za(d),!1;n=!0;s=Infinity;for(r=0;r<b;r++){var k=d[r],u=(k.x-g)*(k.x-g)+(k.y-h)*(k.y-h);u<s&&(s=u,e.x=k.x,e.y=k.y)}t.za(d)}else if(p.type===Lc)b=q.x-m,n=F.jl(b,q.y-m,q.x+q.width+m,q.y+q.height+m,g,h,k,l,e);else if(p.type===Mc)a:if(b=q.copy().Lf(m,
| m),0===b.width)n=F.Yg(b.x,b.y,b.x,b.y+b.height,g,h,k,l,e);else if(0===b.height)n=F.Yg(b.x,b.y,b.x+b.width,b.y,g,h,k,l,e);else{a=b.width/2;var x=b.height/2;d=b.x+a;b=b.y+x;c=9999;g!==k&&(c=(h-l)/(g-k));if(9999>Math.abs(c)){n=h-b-c*(g-d);if(0>a*a*c*c+x*x-n*n){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(a*a*c*c+x*x-n*n);k=(-(a*a*c*n)+a*x*m)/(x*x+a*a*c*c)+d;a=(-(a*a*c*n)-a*x*m)/(x*x+a*a*c*c)+d;l=c*(k-d)+n+b;b=c*(a-d)+n+b;d=Math.abs((g-k)*(g-k))+Math.abs((h-l)*(h-l));h=Math.abs((g-a)*(g-a))+Math.abs((h-b)*
| (h-b));d<h?(e.x=k,e.y=l):(e.x=a,e.y=b)}else{k=x*x;l=g-d;k-=k/(a*a)*l*l;if(0>k){e.x=NaN;e.y=NaN;n=!1;break a}m=Math.sqrt(k);l=b+m;b-=m;d=Math.abs(l-h);h=Math.abs(b-h);d<h?(e.x=g,e.y=l):(e.x=g,e.y=b)}n=!0}else if(p.type===Ac){var E,G,C,q=t.K();r=k-g;s=l-h;s=r*r+s*s;e.x=k;e.y=l;for(r=0;r<p.xb.count;r++){var I=p.xb.n[r],O=I.Fa;E=I.qa;G=I.ra;for(var N=E,V=G,W,Y,R=0;R<O.count;R++){W=O.n[R];Y=W.type;u=W.D;C=W.F;var wa=!1;switch(Y){case bd:N=u;V=C;break;case Oc:wa=Xl(E,G,u,C,g,h,k,l,q);break;case cd:wa=W.yb;
| Y=W.Mb;var Sa=W.pe,Ea=W.qe,wa=F.Ss(E,G,wa,Y,Sa,Ea,u,C,g,h,k,l,0.5,q);break;case dd:wa=(E+2*W.yb)/3;Y=(G+2*W.Mb)/3;Sa=(2*W.yb+u)/3;Ea=(2*W.yb+u)/3;wa=F.Ss(E,G,wa,Y,Sa,Ea,u,C,g,h,k,l,0.5,q);break;case ed:case fd:C=W.type===ed?gd(W,I):hd(W,I,E,G);Y=C.length;for(Sa=0;Sa<Y;Sa++)x=C[Sa],0===Sa&&Xl(E,G,x.x1,x.y1,g,h,k,l,q)&&(u=Yl(g,h,q,s,e),u<s&&(s=u,n=!0)),F.Ss(x.x1,x.y1,x.x2,x.y2,x.ce,x.de,x.Qb,x.Rb,g,h,k,l,0.5,q)&&(u=Yl(g,h,q,s,e),u<s&&(s=u,n=!0));u=x.Qb;C=x.Rb;break;default:t.l("Unknown Segment type: "+
| W.type)}E=u;G=C;wa&&(u=Yl(g,h,q,s,e),u<s&&(s=u,n=!0));W.ot&&(u=N,C=V,Xl(E,G,u,C,g,h,k,l,q)&&(u=Yl(g,h,q,s,e),u<s&&(s=u,n=!0)))}}g=c-a;h=d-b;b=Math.sqrt(g*g+h*h);0!==b&&(g/=b,h/=b);e.x-=g*m;e.y-=h*m;t.B(q)}else t.l("Invalid Geometry type");if(!n)return!1;this.transform.Ra(e);return!0};function Yl(a,b,c,d,e){a=c.x-a;b=c.y-b;b=a*a+b*b;return b<d?(e.x=c.x,e.y=c.y,b):d}
| function Xl(a,b,c,d,e,g,h,k,l){var m=!1,n=(e-h)*(b-d)-(g-k)*(a-c);if(0===n)return!1;l.x=((e*k-g*h)*(a-c)-(e-h)*(a*d-b*c))/n;l.y=((e*k-g*h)*(b-d)-(g-k)*(a*d-b*c))/n;(a>c?a-c:c-a)<(b>d?b-d:d-b)?(e=b<d?b:d,a=b<d?d:b,(l.y>e||F.Ha(l.y,e))&&(l.y<a||F.Ha(l.y,a))&&(m=!0)):(e=a<c?a:c,a=a<c?c:a,(l.x>e||F.Ha(l.x,e))&&(l.x<a||F.Ha(l.x,a))&&(m=!0));return m}
| X.prototype.containedInRect=X.prototype.Bm=function(a,b){if(void 0===b)return a.Rj(this.sa);var c=this.Na;null===c&&(gh(this,Infinity,Infinity),c=this.Na);var c=c.Ib,d=this.gb/2,e=!1,g=t.K();g.q(c.x-d,c.y-d);a.Ga(b.Ra(g))&&(g.q(c.x-d,c.bottom+d),a.Ga(b.Ra(g))&&(g.q(c.right+d,c.bottom+d),a.Ga(b.Ra(g))&&(g.q(c.right+d,c.y-d),a.Ga(b.Ra(g))&&(e=!0))));t.B(g);return e};
| X.prototype.intersectsRect=X.prototype.Mf=function(a,b){if(this.Bm(a,b)||void 0===b&&(b=this.transform,a.Rj(this.sa)))return!0;var c=t.ah();c.set(b);c.xA();var d=a.left,e=a.right,g=a.top,h=a.bottom,k=t.K();k.q(d,g);c.Ra(k);if(this.Qj(k,!0))return t.B(k),!0;k.q(e,g);c.Ra(k);if(this.Qj(k,!0))return t.B(k),!0;k.q(d,h);c.Ra(k);if(this.Qj(k,!0))return t.B(k),!0;k.q(e,h);c.Ra(k);if(this.Qj(k,!0))return t.B(k),!0;var l=t.K(),m=t.K();c.set(b);c.sF(this.transform);c.xA();l.x=e;l.y=g;l.transform(c);k.x=d;k.y=
| g;k.transform(c);var n=!1;Zl(this,k,l,m)?n=!0:(k.x=e,k.y=h,k.transform(c),Zl(this,k,l,m)?n=!0:(l.x=d,l.y=h,l.transform(c),Zl(this,k,l,m)?n=!0:(k.x=d,k.y=g,k.transform(c),Zl(this,k,l,m)&&(n=!0))));t.B(k);t.We(c);t.B(l);t.B(m);return n};function Zl(a,b,c,d){if(!a.jl(b,c,d))return!1;a=b.x;b=b.y;var e=c.x,g=c.y;c=d.x;d=d.y;if(a===e){var h;b<g?(h=b,a=g):(h=g,a=b);return d>=h&&d<=a}a<e?(h=a,a=e):h=e;return c>=h&&c<=a}
| X.prototype.pE=function(a,b,c){function d(a,b){for(var c=a.length,d=0;d<c;d++){var g=a[d];if(b.$s(g[0],g[1])>e)return!0}return!1}if(c&&null!==this.fill&&this.Qj(a,!0))return!0;var e=a.Uj(b);b=e;1.5<this.gb&&(e=this.gb/2+Math.sqrt(e),e*=e);var g=this.Na;null===g&&(gh(this,Infinity,Infinity),g=this.Na);if(!c){var h=g.Ib,k=h.x,l=h.y,m=h.x+h.width,h=h.y+h.height;if(Ta(a.x,a.y,k,l)<=e&&Ta(a.x,a.y,m,l)<=e&&Ta(a.x,a.y,k,h)<=e&&Ta(a.x,a.y,m,h)<=e)return!0}k=g.jc;l=g.tc;m=g.od;h=g.wd;if(g.type===Kc){if(c=
| Ra(a.x,a.y,k,l,m,h),g=(k-m)*(a.x-m)+(l-h)*(a.y-h),c<=(0<=(m-k)*(a.x-k)+(h-l)*(a.y-l)&&0<=g?e:b))return!0}else{if(g.type===Lc)return b=!1,c&&(b=Ra(a.x,a.y,k,l,k,h)<=e||Ra(a.x,a.y,k,l,m,l)<=e||Ra(a.x,a.y,m,l,m,h)<=e||Ra(a.x,a.y,k,h,m,h)<=e),b;if(g.type===Mc){b=a.x-(k+m)/2;var g=a.y-(l+h)/2,n=Math.abs(m-k)/2,p=Math.abs(h-l)/2;if(0===n||0===p)return c=Ra(a.x,a.y,k,l,m,h),c<=e?!0:!1;if(c){if(a=F.pI(n,p,b,g),a*a<=e)return!0}else return Ta(b,g,-n,0)>=e||Ta(b,g,0,-p)>=e||Ta(b,g,0,p)>=e||Ta(b,g,n,0)>=e?!1:
| !0}else if(g.type===Ac){h=g.Ib;k=h.x;l=h.y;m=h.x+h.width;h=h.y+h.height;if(a.x>m&&a.x<k&&a.y>h&&a.y<l&&Ra(a.x,a.y,k,l,k,h)>e&&Ra(a.x,a.y,k,l,m,l)>e&&Ra(a.x,a.y,m,h,k,h)>e&&Ra(a.x,a.y,m,h,m,l)>e)return!1;b=Math.sqrt(e);if(c){if(null===this.fill?od(g,a.x,a.y,b):g.Ga(a,b,!0))return!0}else{c=g.xb;for(b=0;b<c.count;b++){k=c.n[b];n=k.qa;p=k.ra;if(a.$s(n,p)>e)return!1;l=k.Fa.n;m=l.length;for(h=0;h<m;h++){var q=l[h];switch(q.type){case bd:case Oc:n=q.D;p=q.F;if(a.$s(n,p)>e)return!1;break;case cd:g=t.Cb();
| F.ze(n,p,q.yb,q.Mb,q.pe,q.qe,q.D,q.F,0.8,g);n=d(g,a);t.za(g);if(n)return!1;n=q.D;p=q.F;if(a.$s(n,p)>e)return!1;break;case dd:g=t.Cb();F.Lp(n,p,q.yb,q.Mb,q.D,q.F,0.8,g);n=d(g,a);t.za(g);if(n)return!1;n=q.D;p=q.F;if(a.$s(n,p)>e)return!1;break;case ed:case fd:var q=q.type===ed?gd(q,k):hd(q,k,n,p),r=q.length,s=null,g=t.Cb();for(b=0;b<r;b++)if(s=q[b],g.length=0,F.ze(s.x1,s.y1,s.x2,s.y2,s.ce,s.de,s.Qb,s.Rb,0.8,g),d(g,a))return t.za(g),!1;t.za(g);null!==s&&(n=s.Qb,p=s.Rb);break;default:t.l("Unknown Segment type: "+
| q.type)}}}return!0}}}return!1};t.g(X,"geometry",X.prototype.kd);t.defineProperty(X,{kd:"geometry"},function(){return this.vk?this.vk:this.Na},function(a){var b=this.Na;if(b!==a){null!==a?(f&&t.m(a,zc,X,"geometry"),this.vk=this.Na=a.freeze()):this.vk=this.Na=null;var c=this.S;c&&(c.xj=NaN);this.Qg=!0;this.ca();this.i("geometry",b,a)}});t.g(X,"geometryString",X.prototype.xE);
| t.defineProperty(X,{xE:"geometryString"},function(){return this.kd.toString()},function(a){var b=Rc(a);a=b.normalize();this.kd=b;var b=t.K(),c=this.position;c.N()?b.q(c.x-a.x,c.y-a.y):b.q(-a.x,-a.y);this.position=b;t.B(b)});t.defineProperty(X,{BA:"isGeometryPositioned"},function(){return this.Zq},function(a){f&&t.j(a,"boolean",X,"isGeometryPositioned");var b=this.Zq;b!==a&&(this.Zq=a,this.ca(),this.i("isGeometryPositioned",b,a))});X.prototype.Ye=function(){this.Qg?this.vk=null:this.Na=null;this.ca()};
| t.g(X,"fill",X.prototype.fill);t.defineProperty(X,{fill:"fill"},function(){return this.Pc},function(a){var b=this.Pc;b!==a&&(f&&null!==a&&t.Po(a,"Shape.fill"),a instanceof ea&&a.freeze(),this.Pc=a,this.ha(),this.i("fill",b,a))});t.g(X,"stroke",X.prototype.stroke);t.defineProperty(X,{stroke:"stroke"},function(){return this.Bb},function(a){var b=this.Bb;b!==a&&(f&&null!==a&&t.Po(a,"Shape.stroke"),a instanceof ea&&a.freeze(),this.Bb=a,this.ha(),this.i("stroke",b,a))});t.g(X,"strokeWidth",X.prototype.gb);
| t.defineProperty(X,{gb:"strokeWidth"},function(){return this.Rg},function(a){var b=this.Rg;if(b!==a)if(f&&t.p(a,X,"strokeWidth"),0<=a){this.Rg=a;this.ca();var c=this.S;c&&(c.xj=NaN);this.i("strokeWidth",b,a)}else t.ka(a,"val >= 0",X,"strokeWidth:val")});t.g(X,"strokeCap",X.prototype.jG);
| t.defineProperty(X,{jG:"strokeCap"},function(){return this.xo},function(a){var b=this.xo;b!==a&&("string"!==typeof a||"butt"!==a&&"round"!==a&&"square"!==a?t.ka(a,'"butt", "round", or "square"',X,"strokeCap"):(this.xo=a,this.ha(),this.i("strokeCap",b,a)))});t.g(X,"strokeJoin",X.prototype.GJ);
| t.defineProperty(X,{GJ:"strokeJoin"},function(){return this.yo},function(a){var b=this.yo;b!==a&&("string"!==typeof a||"miter"!==a&&"bevel"!==a&&"round"!==a?t.ka(a,'"miter", "bevel", or "round"',X,"strokeJoin"):(this.yo=a,this.ha(),this.i("strokeJoin",b,a)))});t.g(X,"strokeMiterLimit",X.prototype.HJ);
| t.defineProperty(X,{HJ:"strokeMiterLimit"},function(){return this.om},function(a){var b=this.om;if(b!==a)if(f&&t.p(a,X,"strokeMiterLimit"),0<a){this.om=a;this.ha();var c=this.S;c&&(c.xj=NaN);this.i("strokeMiterLimit",b,a)}else t.ka(a,"val > 0",X,"strokeWidth:val")});t.g(X,"strokeDashArray",X.prototype.sx);
| t.defineProperty(X,{sx:"strokeDashArray"},function(){return this.nm},function(a){var b=this.nm;if(b!==a){null===a||Array.isArray(a)||t.Xb(a,"Array",X,"strokeDashArray:val");if(null!==a)for(var c=a.length,d=0;d<c;d++){var e=a[d];("number"!==typeof e||isNaN(e)||0>e||!isFinite(e))&&t.l("strokeDashArray:val "+e+" is a negative number or not a real number.")}this.nm=a;this.ha();this.i("strokeDashArray",b,a)}});t.g(X,"strokeDashOffset",X.prototype.kG);
| t.defineProperty(X,{kG:"strokeDashOffset"},function(){return this.gd},function(a){var b=this.gd;b!==a&&(f&&t.p(a,X,"strokeDashOffset"),0<=a&&(this.gd=a,this.ha(),this.i("strokeDashOffset",b,a)))});t.g(X,"figure",X.prototype.Jb);
| t.defineProperty(X,{Jb:"figure"},function(){return this.Kn},function(a){var b=this.Kn;if(b!==a){f&&t.j(a,"string",X,"figure");var c=F.Ti[a];"function"===typeof c?c=a:(c=F.Ti[a.toLowerCase()])||t.l("Unknown Shape.figure: "+a);if(b!==c){if(a=this.S)a.xj=NaN;this.Kn=c;this.Qg=!1;this.Ye();this.i("figure",b,c)}}});t.g(X,"toArrow",X.prototype.dn);
| t.defineProperty(X,{dn:"toArrow"},function(){return this.Ao},function(a){var b=this.Ao;!0===a?a="Standard":!1===a&&(a="");if(b!==a){f&&t.j(a,"string",X,"toArrow");var c=F.GD(a);null===c?t.l("Unknown Shape.toArrow: "+a):b!==c&&(this.Ao=c,this.Qg=!1,this.Ye(),$l(this),this.i("toArrow",b,c))}});t.g(X,"fromArrow",X.prototype.Cw);
| t.defineProperty(X,{Cw:"fromArrow"},function(){return this.Nn},function(a){var b=this.Nn;!0===a?a="Standard":!1===a&&(a="");if(b!==a){f&&t.j(a,"string",X,"fromArrow");var c=F.GD(a);null===c?t.l("Unknown Shape.fromArrow: "+a):b!==c&&(this.Nn=c,this.Qg=!1,this.Ye(),$l(this),this.i("fromArrow",b,c))}});function $l(a){var b=a.h;null!==b&&b.ma.pb||(a.Mt=am,"None"!==a.Ao?(a.vf=-1,a.Mj=Vb):"None"!==a.Nn&&(a.vf=0,a.Mj=new H(1-Vb.x,Vb.y)))}
| t.defineProperty(X,{G:"spot1"},function(){return this.Bi},function(a){t.m(a,H,X,"spot1");var b=this.Bi;b.M(a)||(this.Bi=a=a.Z(),this.ca(),this.i("spot1",b,a))});t.defineProperty(X,{H:"spot2"},function(){return this.Ci},function(a){t.m(a,H,X,"spot2");var b=this.Ci;b.M(a)||(this.Ci=a=a.Z(),this.ca(),this.i("spot2",b,a))});t.defineProperty(X,{Ec:"parameter1"},function(){return this.Nr},function(a){var b=this.Nr;b!==a&&(this.Nr=a,this.ca(),this.i("parameter1",b,a))});
| t.defineProperty(X,{Ft:"parameter2"},function(){return this.Pr},function(a){var b=this.Pr;b!==a&&(this.Pr=a,this.ca(),this.i("parameter2",b,a))});t.A(X,{Pa:"naturalBounds"},function(){if(null!==this.Na)return this.dd.assign(this.Na.Ib),this.dd;var a=this.Ba;return new w(0,0,a.width,a.height)});t.g(X,"isRectangular",X.prototype.NI);
| t.defineProperty(X,{NI:"isRectangular"},function(){return this.dr},function(a){var b=this.dr;b!==a&&(f&&t.j(a,"boolean",X,"isRectangular"),this.dr=a,this.ca(),this.i("isRectangular",b,a))});t.g(X,"pathObject",X.prototype.UA);t.defineProperty(X,{UA:"pathObject"},function(){return this.Rr},function(a){var b=this.Rr;b!==a&&(f&&t.m(a,Q,X,"pathObject"),this.Rr=a,this.ha(),this.i("pathObject",b,a))});t.g(X,"geometryStretch",X.prototype.Dw);
| t.defineProperty(X,{Dw:"geometryStretch"},function(){return this.Uq},function(a){var b=this.Uq;b!==a&&(t.sb(a,Q,X,"geometryStretch"),this.Uq=a,this.i("geometryStretch",b,a))});t.g(X,"interval",X.prototype.interval);t.defineProperty(X,{interval:"interval"},function(){return this.Yq},function(a){var b=this.Yq;f&&t.p(a,X,"interval");a=Math.floor(a);b!==a&&0<=a&&(this.Yq=a,this.h&&Fi(this.h),this.ca(),this.i("interval",b,a))});
| X.defineFigureGenerator=function(a,b){t.j(a,"string",X,"defineFigureGenerator:name");t.j(b,"function",X,"defineFigureGenerator:func");var c=a.toLowerCase();""!==a&&"none"!==c&&a!==c||t.l("Shape.defineFigureGenerator name must not be empty or None or all-lower-case: "+a);var d=X.FigureGenerators;d[a]=b;d[c]=a};
| X.defineArrowheadGeometry=function(a,b){t.j(a,"string",X,"defineArrowheadGeometry:name");t.j(b,"string",X,"defineArrowheadGeometry:pathstr");var c=a.toLowerCase();""!==a&&"none"!==c&&a!==c||t.l("Shape.defineArrowheadGeometry name must not be empty or None or all-lower-case: "+a);var d=X.ArrowheadGeometries;d[a]=b;d[c]=a};
| function oa(){Q.call(this);this.he="";this.Bb="black";this.lh="13px sans-serif";this.Pd="start";this.ar=!0;this.Pl=this.Ql=!1;this.po=bm;this.pm=cm;this.$u=this.or=0;this.Mn=this.$y=this.az=null;this.fo={};this.Oq=!1;this.jf=this.Lj=this.As=null}t.ga("TextBlock",oa);t.Ka(oa,Q);oa.getEllipsis=function(){return t.uw};oa.setEllipsis=function(a){t.uw=a;t.Bw={};t.pA=0};
| oa.prototype.cloneProtected=function(a){Q.prototype.cloneProtected.call(this,a);a.he=this.he;a.Bb=this.Bb;a.lh=this.lh;a.Pd=this.Pd;a.ar=this.ar;a.Ql=this.Ql;a.Pl=this.Pl;a.pm=this.pm;a.po=this.po;a.or=this.or;a.$u=this.$u;a.az=this.az;a.$y=this.$y;a.Mn=this.Mn;a.fo=this.fo;a.Oq=this.Oq;a.As=this.As;a.Lj=this.Lj;a.jf=this.jf};oa.prototype.toString=function(){return 22<this.he.length?'TextBlock("'+this.he.substring(0,20)+'"...)':'TextBlock("'+this.he+'")'};var dm;oa.None=dm=t.w(oa,"None",0);var em;
| oa.WrapFit=em=t.w(oa,"WrapFit",1);var cm;oa.WrapDesiredSize=cm=t.w(oa,"WrapDesiredSize",2);var bm;oa.OverflowClip=bm=t.w(oa,"OverflowClip",0);var fm;oa.OverflowEllipsis=fm=t.w(oa,"OverflowEllipsis",1);oa.prototype.ca=function(){Q.prototype.ca.call(this);this.$y=this.az=null};t.g(oa,"font",oa.prototype.font);t.defineProperty(oa,{font:"font"},function(){return this.lh},function(a){var b=this.lh;b!==a&&(f&&t.j(a,"string",oa,"font"),this.lh=a,this.Mn=null,this.ca(),this.i("font",b,a))});
| t.g(oa,"text",oa.prototype.text);t.defineProperty(oa,{text:"text"},function(){return this.he},function(a){var b=this.he;a=null!==a&&void 0!==a?a.toString():"";b!==a&&(this.he=a,this.ca(),this.i("text",b,a))});t.g(oa,"textAlign",oa.prototype.textAlign);
| t.defineProperty(oa,{textAlign:"textAlign"},function(){return this.Pd},function(a){var b=this.Pd;b!==a&&(f&&t.j(a,"string",oa,"textAlign"),"start"===a||"end"===a||"left"===a||"right"===a||"center"===a?(this.Pd=a,this.ha(),this.i("textAlign",b,a)):t.ka(a,'"start", "end", "left", "right", or "center"',oa,"textAlign"))});
| t.A(oa,{Pa:"naturalBounds"},function(){if(!this.dd.N()){var a=gm(this,this.he,{},999999).width,b=hm(this,a,{}),c=this.Ba;isNaN(c.width)||(a=c.width);isNaN(c.height)||(b=c.height);Wa(this.dd,a,b)}return this.dd});t.g(oa,"isMultiline",oa.prototype.Ow);t.defineProperty(oa,{Ow:"isMultiline"},function(){return this.ar},function(a){var b=this.ar;b!==a&&(f&&t.j(a,"boolean",oa,"isMultiline"),this.ar=a,this.ca(),this.i("isMultiline",b,a))});t.g(oa,"isUnderline",oa.prototype.RI);
| t.defineProperty(oa,{RI:"isUnderline"},function(){return this.Ql},function(a){var b=this.Ql;b!==a&&(f&&t.j(a,"boolean",oa,"isUnderline"),this.Ql=a,this.ha(),this.i("isUnderline",b,a))});t.g(oa,"isStrikethrough",oa.prototype.OI);t.defineProperty(oa,{OI:"isStrikethrough"},function(){return this.Pl},function(a){var b=this.Pl;b!==a&&(f&&t.j(a,"boolean",oa,"isStrikethrough"),this.Pl=a,this.ha(),this.i("isStrikethrough",b,a))});t.g(oa,"wrap",oa.prototype.CB);
| t.defineProperty(oa,{CB:"wrap"},function(){return this.pm},function(a){var b=this.pm;b!==a&&(f&&t.sb(a,oa,oa,"wrap"),this.pm=a,this.ca(),this.i("wrap",b,a))});t.g(oa,"overflow",oa.prototype.overflow);t.defineProperty(oa,{overflow:"overflow"},function(){return this.po},function(a){var b=this.po;b!==a&&(f&&t.sb(a,oa,oa,"overflow"),this.po=a,this.ca(),this.i("overflow",b,a))});t.g(oa,"stroke",oa.prototype.stroke);
| t.defineProperty(oa,{stroke:"stroke"},function(){return this.Bb},function(a){var b=this.Bb;b!==a&&(f&&null!==a&&t.Po(a,"TextBlock.stroke"),a instanceof ea&&a.freeze(),this.Bb=a,this.ha(),this.i("stroke",b,a))});t.A(oa,{cF:"lineCount"},function(){return this.or});t.g(oa,"editable",oa.prototype.sw);t.defineProperty(oa,{sw:"editable"},function(){return this.Oq},function(a){var b=this.Oq;b!==a&&(f&&t.j(a,"boolean",oa,"editable"),this.Oq=a,this.i("editable",b,a))});t.g(oa,"textEditor",oa.prototype.uB);
| t.defineProperty(oa,{uB:"textEditor"},function(){return this.As},function(a){var b=this.As;b!==a&&(a instanceof HTMLElement||t.l("textEditor must be an HTMLElement"),this.As=a,this.i("textEditor",b,a))});t.g(oa,"errorFunction",oa.prototype.at);t.defineProperty(oa,{at:"errorFunction"},function(){return this.jf},function(a){var b=this.jf;b!==a&&(null!==a&&t.j(a,"function",oa,"errorFunction"),this.jf=a,this.i("errorFunction",b,a))});function rk(a,b){var c=a.lh;null!==c&&b.bu!==c&&(b.font=c,b.bu=c)}
| oa.prototype.el=function(a,b){if(null!==this.Bb&&0!==this.he.length&&null!==this.lh){var c=this.Pa.width,d=yh(this);a.textAlign=this.Pd;sk(this,a,this.Bb,!0);(this.Ql||this.Pl)&&sk(this,a,this.Bb,!1);var e=this.fo,g=0,h=!1,k=t.gc(0,0);this.ie.Ra(k);var l=t.gc(0,d);this.ie.Ra(l);var m=k.Uj(l);t.B(k);t.B(l);k=b.scale;8>m*k*k&&(h=!0);m=e.Ii.length;for(k=0;k<m;k++){var n=e.Ii[k],l=e.tm[k];n>c&&(n=c);var p=l,l=a,q=g,r=c,s=d,u=0;h?("start"===this.Pd||"left"===this.Pd?u=0:"end"===this.Pd||"right"===this.Pd?
| u=r-n:"center"===this.Pd?u=(r-n)/2:t.l("textAlign must be start, end, left, right, or center"),l.fillRect(0+u,q+0.25*s,n,1)):("start"===this.Pd||"left"===this.Pd?u=0:"end"===this.Pd||"right"===this.Pd?u=r:"center"===this.Pd?u=r/2:t.l("textAlign must be start, end, left, right, or center"),l.fillText(p,0+u,q+s-0.25*s),p=s/20|0,this.Ql&&("end"===this.Pd||"right"===this.Pd?u-=n:"center"===this.Pd&&(u-=n/2),l.beginPath(),l.lineWidth=p,l.moveTo(0+u,q+s-0.2*s),l.lineTo(0+u+n,q+s-0.2*s),l.stroke()),this.Pl&&
| (l.beginPath(),l.lineWidth=p,q=q+s-s/2.2|0,0!==p%2&&(q+=0.5),l.moveTo(0,q),l.lineTo(0+n,q),l.stroke()));g+=d}}};
| oa.prototype.ut=function(a,b,c,d){var e={},g=0,h=0;if(isNaN(this.Ba.width)){g=this.he;if(0===g.length)g=0;else if(this.Ow){for(var k=h=0,l=!1,m={$h:0};!l;){var n=im(g,k,m);-1===n&&(n=g.length,l=!0);k=jm(g.substr(k,n-k).replace(/^\s+|\s+$/g,""),this.lh);k>h&&(h=k);k=m.$h}g=h}else h=im(g,0,{}),0<=h&&(g=g.substr(0,h)),g=k=jm(g,this.lh);g=Math.min(g,a/this.scale);g=Math.max(8,g)}else g=this.Ba.width;this.ja&&(g=Math.min(g,this.ja.He.width),g=Math.max(g,this.ja.Nf.width));h=hm(this,g,e);h=isNaN(this.Ba.height)?
| Math.min(h,b/this.scale):this.Ba.height;if(this.CB===em||isNaN(this.Ba.width))g=e.Zi,isNaN(this.Ba.width)&&(g=Math.max(8,g));g=Math.max(c,g);h=Math.max(d,h);Wa(this.dd,g,h);ck(this,0,0,g,h);this.fo=e};oa.prototype.Pj=function(a,b,c,d){jk(this,a,b,c,d)};
| function gm(a,b,c,d){b=b.replace(/^\s+|\s+$/g,"");void 0===c.Zi&&(c.Zi=0);void 0===c.Ii&&(c.Ii=[]);void 0===c.tm&&(c.tm=[]);var e=0,g,h,k=a.lh;a.po===fm?(t.Vp!==k&&(t.an.font=k,t.Vp=k),g=0,void 0!==t.Bw[k]&&5E3>t.pA?g=t.Bw[k]:(g=t.an.measureText(t.uw).width,t.Bw[k]=g,t.pA++)):g=0;var l=g;if(a.pm===dm){c.$h=1;g=jm(b,k);if(0===l||g<=d)return c.Zi=g,c.Ii.push(c.Zi),c.tm.push(b),new fa(g,yh(a));var m=km(b);b=b.substr(m.length);h=km(b);for(g=jm(m+h,k);0<h.length&&g<=d;)m+=h,b=b.substr(h.length),h=km(b),
| g=jm((m+h).replace(/^\s+|\s+$/g,""),k);m+=h.replace(/^\s+|\s+$/g,"");for(d=Math.max(1,d-l);jm(m,k)>d&&1<m.length;)m=m.substr(0,m.length-1);m+=t.uw;h=jm(m,k);c.Ii.push(h);c.Zi=h;c.tm.push(m);return new fa(h,yh(a))}l=0;0===b.length&&(l=1,c.Ii.push(0),c.tm.push(b));for(;0<b.length;){m=km(b);for(b=b.substr(m.length);jm(m,k)>d;){var n=1;g=jm(m.substr(0,n),k);for(h=0;g<=d;)n++,h=g,g=jm(m.substr(0,n),k);1===n?(c.Ii[l]=g,e=Math.max(e,g)):(c.Ii[l]=h,e=Math.max(e,h));n--;1>n&&(n=1);c.tm[l]=m.substr(0,n);l++;
| m=m.substr(n)}h=km(b);for(g=jm(m+h,k);0<h.length&&g<=d;)m+=h,b=b.substr(h.length),h=km(b),g=jm((m+h).replace(/^\s+|\s+$/g,""),k);m=m.replace(/^\s+|\s+$/g,"");""!==m&&(0===h.length?(c.Ii.push(g),e=Math.max(e,g)):(h=jm(m,k),c.Ii.push(h),e=Math.max(e,h)),c.tm.push(m),l++)}c.$h=l;c.Zi=Math.max(c.Zi,e);return new fa(c.Zi,yh(a)*c.$h)}function km(a){for(var b=a.length,c=0;c<b&&" "!==a.charAt(c);)c++;for(;c<b&&" "===a.charAt(c);)c++;return c>=b?a:a.substr(0,c)}
| function jm(a,b){t.Vp!==b&&(t.an.font=b,t.Vp=b);return t.an.measureText(a).width}function yh(a){if(null!==a.Mn)return a.Mn;var b=a.lh;t.Vp!==b&&(t.an.font=b,t.Vp=b);var c=0;void 0!==t.qA[b]&&5E3>t.sE?c=t.qA[b]:(c=1.3*t.an.measureText("M").width,t.qA[b]=c,t.sE++);return a.Mn=c}function im(a,b,c){void 0===c.$h&&(c.$h=0);var d=a.indexOf("\r",b);-1===d&&(d=a.indexOf("\n",b));0<=d&&(c.$h="\r"===a[d]&&d+1<a.length&&"\n"===a[d+1]?d+2:d+1);return d}
| function hm(a,b,c){var d=a.he,e=yh(a);if(0===d.length)return c.Zi=0,a.or=1,e;if(!a.Ow){var g=im(d,0,{});0<=g&&(d=d.substr(0,g))}for(var h=g=0,k=0,l=-1,m={$h:0},n=!1;!n;)l=im(d,k,m),-1===l&&(l=d.length,n=!0),k<=l&&(k=d.substr(k,l-k),a.pm!==dm?(c.$h=0,k=gm(a,k,c,b),g+=k.height,h+=c.$h):(gm(a,k,c,b),g+=e,h++)),k=m.$h;a.or=h;return a.$u=g}t.g(oa,"textValidation",oa.prototype.Vt);
| t.defineProperty(oa,{Vt:"textValidation"},function(){return this.Lj},function(a){var b=this.Lj;b!==a&&(null!==a&&t.j(a,"function",oa,"textValidation"),this.Lj=a,this.i("textValidation",b,a))});function Qk(){Q.call(this);this.Zf=null;this.us="";this.Kj=(new w(NaN,NaN,NaN,NaN)).freeze();this.Rn=Cc;this.ys=this.jf=null;this.Su=this.ho=!1}t.ga("Picture",Qk);t.Ka(Qk,Q);var lm;
| Qk.clearCache=lm=function(a){void 0===a&&(a="");t.j(a,"string",Qk,"clearCache:url");""!==a?t.kt[a]&&(delete t.kt[a],t.Hw--):(t.kt={},t.Hw=0)};Qk.prototype.cloneProtected=function(a){Q.prototype.cloneProtected.call(this,a);a.element=this.Zf;a.us=this.us;a.Kj.assign(this.Kj);a.Rn=this.Rn;a.jf=this.jf};Qk.prototype.toString=function(){return"Picture("+this.source+")#"+t.ld(this)};t.g(Qk,"element",Qk.prototype.element);
| t.defineProperty(Qk,{element:"element"},function(){return this.Zf},function(a){var b=this.Zf;if(b!==a){a instanceof HTMLImageElement||a instanceof HTMLVideoElement||a instanceof HTMLCanvasElement||t.l("Picture.element must be an instance of Image, Canvas, or Video.");var c=this;a instanceof HTMLCanvasElement?this.Su=!0:(this.Su=!1,a.onerror=function(a){null!==c.jf&&c.jf(c,a)});this.Zf=a;!0===a.complete||void 0===a.complete?(this.ho=!0,this.Ba.N()||(gk(this,!1),this.ca())):(t.yB.push(this),null===
| t.gx&&(t.gx=setInterval(function(){for(var a=[],b=t.yB,c=b.length,h=0;h<c;h++){var k=b[h],l;l=k;var m=l.Zf;if(m)if(m.complete){l.ho=!0;l.Ba.N()||(gk(l,!1),l.ca());if(l.h)l.Ba.N()||l.h.Kc(),l.h.ha();else{l=t.iE;var n=l.length;if(0===n)for(var n=document.getElementsByTagName("canvas"),p=n.length,m=0;m<p;m++){var q=n[m];q.parentElement&&q.parentElement.U&&l.push(q.parentElement.U)}n=l.length;for(m=0;m<n;m++)l[m].ha()}l=!0}else l=!1;else l=!0;l||a.push(k)}0===a.length&&(clearInterval(t.gx),t.gx=null);
| t.yB=a},200)));this.i("element",b,a);this.ha()}});t.g(Qk,"source",Qk.prototype.source);t.defineProperty(Qk,{source:"source"},function(){return this.us},function(a){var b=this.us;if(b!==a){t.j(a,"string",Qk,"source");this.us=a;var c=t.kt;if(void 0!==c[a])this.element=c[a];else{10<t.Hw&&(lm(),c=t.kt);var d=document.createElement("img");d.src=a;c[a]=d;t.Hw++;d instanceof HTMLImageElement&&(this.element=d)}this.ha();this.i("source",b,a)}});t.g(Qk,"sourceRect",Qk.prototype.Wh);
| t.defineProperty(Qk,{Wh:"sourceRect"},function(){return this.Kj},function(a){var b=this.Kj;b.M(a)||(t.m(a,w,Qk,"sourceRect"),this.Kj=a=a.Z(),this.ha(),this.i("sourceRect",b,a))});t.g(Qk,"imageStretch",Qk.prototype.FI);t.defineProperty(Qk,{FI:"imageStretch"},function(){return this.Rn},function(a){var b=this.Rn;b!==a&&(t.sb(a,Q,Qk,"imageStretch"),this.Rn=a,this.ha(),this.i("imageStretch",b,a))});t.g(Qk,"errorFunction",Qk.prototype.at);
| t.defineProperty(Qk,{at:"errorFunction"},function(){return this.jf},function(a){var b=this.jf;if(b!==a){null!==a&&t.j(a,"function",Qk,"errorFunction");this.jf=a;if(this.Zf){var c=this;this.Zf.onerror=function(a){null!==c.jf&&c.jf(c,a)}}this.i("errorFunction",b,a)}});
| Qk.prototype.el=function(a,b){if(!b.Hn){if(null===this.ys)if(null===this.Zf)this.ys=!1;else{var c=document.createElement("canvas").getContext("2d");0!==this.Zf.width&&0!==this.Zf.height&&c.drawImage(this.Zf,0,0);try{c.getImageData(0,0,1,1),this.ys=!1}catch(d){this.ys=!0}}if(this.ys)return}c=this.Zf;if(null!==c){var e=c.src;null!==e&&""!==e||t.l("Element has no source attribute: "+c);var e=this.Pa,g=0,h=0,k=this.Su,l=k?+c.width:c.naturalWidth,k=k?+c.height:c.naturalHeight,l=l||e.width,k=k||e.height;
| void 0===l&&c.videoWidth&&(l=c.videoWidth||e.width);void 0===k&&c.videoHeight&&(k=c.videoHeight||e.height);if(0!==l&&0!==k){this.Wh.N()&&(g=this.Kj.x,h=this.Kj.y,l=this.Kj.width,k=this.Kj.height);var m=l,n=k,p=this.Rn;switch(p){case Tg:if(this.Wh.N())break;g+=Math.max((m-e.width)/2,0);h+=Math.max((n-e.height)/2,0);l=Math.min(e.width,m);k=Math.min(e.height,n);break;case Cc:m=e.width;n=e.height;break;case Vg:case Wg:p===Vg?(p=Math.min(e.height/n,e.width/m),m*=p,n*=p):p===Wg&&(p=Math.max(e.height/n,
| e.width/m),m*=p,n*=p,g+=(m-e.width)/2,h+=(n-e.height)/2,l*=1/(m/e.width),k*=1/(n/e.height),m=e.width,n=e.height)}try{a.drawImage(c,g,h,l,k,Math.max((e.width-m)/2,0),Math.max((e.height-n)/2,0),Math.min(e.width,m),Math.min(e.height,n))}catch(q){t.trace(q.toString())}}}};t.A(Qk,{Pa:"naturalBounds"},function(){return this.dd});
| Qk.prototype.ut=function(a,b,c,d){var e=this.Ba,g=fk(this),h=this.Zf,k=this.Su;if(k||!this.ho&&h&&h.complete)this.ho=!0;null===h&&(isFinite(a)||(a=0),isFinite(b)||(b=0));isFinite(e.width)||g===Cc||g===Xj?(isFinite(a)||(a=this.Wh.N()?this.Wh.width:k?+h.width:h.naturalWidth),c=0):null!==h&&!1!==this.ho&&(a=this.Wh.N()?this.Wh.width:k?+h.width:h.naturalWidth);isFinite(e.height)||g===Cc||g===Wj?(isFinite(b)||(b=this.Wh.N()?this.Wh.height:k?+h.height:h.naturalHeight),d=0):null!==h&&!1!==this.ho&&(b=this.Wh.N()?
| this.Wh.height:k?+h.height:h.naturalHeight);isFinite(e.width)&&(a=e.width);isFinite(e.height)&&(b=e.height);e=this.He;g=this.Nf;c=Math.max(c,g.width);d=Math.max(d,g.height);a=Math.min(e.width,a);b=Math.min(e.height,b);a=Math.max(c,a);b=Math.max(d,b);null===h||h.complete||(isFinite(a)||(a=0),isFinite(b)||(b=0));Wa(this.dd,a,b);ck(this,0,0,a,b)};Qk.prototype.Pj=function(a,b,c,d){jk(this,a,b,c,d)};function ja(){this.s=new zc;this.Sb=null}aa=ja.prototype;aa.reset=function(){this.s=new zc;this.Sb=null};
| function J(a,b,c,d,e,g){null===a.s&&t.l("StreamGeometryContext has been closed");void 0!==e&&!0===e?(null===a.Sb&&t.l("Need to call beginFigure first"),d=new M(bd),d.D=b,d.F=c,a.Sb.Fa.add(d)):(a.Sb=new Bc,a.Sb.qa=b,a.Sb.ra=c,a.Sb.mp=d,a.s.xb.add(a.Sb));void 0!==g&&(a.Sb.Xn=g)}function L(a){null===a.s&&t.l("StreamGeometryContext has been closed");null===a.Sb&&t.l("Need to call beginFigure first");var b=a.Sb.Fa.length;0<b&&a.Sb.Fa.n[b-1].close()}
| function Zc(a){null===a.s&&t.l("StreamGeometryContext has been closed");null===a.Sb&&t.l("Need to call beginFigure first");0<a.Sb.Fa.length&&(a.Sb.mp=!0)}aa.cb=function(a){null===this.s&&t.l("StreamGeometryContext has been closed");null===this.Sb&&t.l("Need to call beginFigure first");this.Sb.Xi=a};aa.moveTo=function(a,b,c){null===this.s&&t.l("StreamGeometryContext has been closed");null===this.Sb&&t.l("Need to call beginFigure first");var d=new M(bd);d.D=a;d.F=b;c&&d.close();this.Sb.Fa.add(d)};
| aa.lineTo=function(a,b,c){null===this.s&&t.l("StreamGeometryContext has been closed");null===this.Sb&&t.l("Need to call beginFigure first");var d=new M(Oc);d.D=a;d.F=b;c&&d.close();this.Sb.Fa.add(d)};function K(a,b,c,d,e,g,h,k){null===a.s&&t.l("StreamGeometryContext has been closed");null===a.Sb&&t.l("Need to call beginFigure first");var l=new M(cd);l.yb=b;l.Mb=c;l.pe=d;l.qe=e;l.D=g;l.F=h;k&&l.close();a.Sb.Fa.add(l)}
| function Sc(a,b,c,d,e){null===a.s&&t.l("StreamGeometryContext has been closed");null===a.Sb&&t.l("Need to call beginFigure first");var g=new M(dd);g.yb=b;g.Mb=c;g.D=d;g.F=e;a.Sb.Fa.add(g)}aa.arcTo=function(a,b,c,d,e,g,h){null===this.s&&t.l("StreamGeometryContext has been closed");null===this.Sb&&t.l("Need to call beginFigure first");var k=new M(ed);k.Cg=a;k.Yh=b;k.Ca=c;k.Oa=d;k.radiusX=e;k.radiusY=g?g:e;h&&k.close();this.Sb.Fa.add(k)};
| function Yc(a,b,c,d,e,g,h,k){null===a.s&&t.l("StreamGeometryContext has been closed");null===a.Sb&&t.l("Need to call beginFigure first");b=new M(fd,h,k,b,c,d,e,g);a.Sb.Fa.add(b)}
| F.makeGeometry=function(a,b,c){var d=a.Ba,e=d.width,d=d.height;void 0!==b&&!isNaN(b)&&isFinite(b)&&(e=b);void 0!==c&&!isNaN(c)&&isFinite(c)&&(d=c);isFinite(e)||(e=100);isFinite(d)||(d=100);b=void 0;"None"!==a.dn?b=F.um[a.dn]:"None"!==a.Cw?b=F.um[a.Cw]:(c=F.Ti[a.Jb],"string"===typeof c&&(c=F.Ti[c]),void 0===c&&t.l("Unknown Shape.figure: "+a.Jb),b=c(a,e,d),b.Vn=e,b.Un=d);void 0===b&&(c=F.Ti.Rectangle)&&(b=c(a,e,d));return b};
| F.Li=function(a,b,c,d,e,g,h,k,l,m,n,p,q,r){var s=1-l;a=a*s+c*l;b=b*s+d*l;c=c*s+e*l;d=d*s+g*l;e=e*s+h*l;g=g*s+k*l;k=a*s+c*l;h=b*s+d*l;c=c*s+e*l;d=d*s+g*l;m.x=a;m.y=b;n.x=k;n.y=h;p.x=k*s+c*l;p.y=h*s+d*l;q.x=c;q.y=d;r.x=e;r.y=g};F.So=function(a){a=F.Em(a);var b=t.Cb();b[0]=a[0];for(var c=1,d=1;c<a.length;c+=2,d+=3)b[d]=a[c],b[d+1]=a[c],b[d+2]=a[c+1];t.za(a);return b};
| F.Em=function(a){var b=F.cl(a),c=t.Cb(),d=Math.floor(b.length/2),e=b.length-1;a=0===a%2?2:1;for(var g=0;g<e;g++){var h=b[g],k=b[g+1],l=b[(d+g-1)%e],m=b[(d+g+a)%e];c[2*g]=h;c[2*g+1]=F.hl(h.x,h.y,l.x,l.y,k.x,k.y,m.x,m.y,new v)}c[c.length]=c[0];t.za(b);return c};F.hl=function(a,b,c,d,e,g,h,k,l){c=a-c;h=e-h;0===c||0===h?0===c?(h=(g-k)/h,k=a,e=h*k+(g-h*e)):(d=(b-d)/c,k=e,e=d*k+(b-d*a)):(d=(b-d)/c,h=(g-k)/h,a=b-d*a,k=(g-h*e-a)/(d-h),e=d*k+a);l.q(k,e);return l};
| F.cl=function(a){for(var b=t.Cb(),c=1.5*Math.PI,d=0,e=0;e<a;e++)d=2*Math.PI/a*e+c,b[e]=new v(0.5+0.5*Math.cos(d),0.5+0.5*Math.sin(d));b.push(b[0]);return b};F.FB=(new H(0.156,0.156)).Ja();F.GB=(new H(0.844,0.844)).Ja();
| F.Ti={None:"Rectangle",Rectangle:function(a,b,c){a=new zc;a.type=Lc;a.qa=0;a.ra=0;a.D=b;a.F=c;return a},Square:function(a,b,c){a=new zc;a.sc=Vg;a.type=Lc;a.qa=0;a.ra=0;a.D=b;a.F=c;return a},Ellipse:function(a,b,c){a=new zc;a.type=Mc;a.qa=0;a.ra=0;a.D=b;a.F=c;a.G=F.FB;a.H=F.GB;return a},Circle:function(a,b,c){a=new zc;a.sc=Vg;a.type=Mc;a.qa=0;a.ra=0;a.D=b;a.F=c;a.G=F.FB;a.H=F.GB;return a},Connector:"Ellipse",TriangleRight:function(a,b,c){a=new zc;var d=new Bc,e=new M;e.D=b;e.F=0.5*c;d.Fa.add(e);b=
| new M;b.D=0;b.F=c;d.Fa.add(b.close());a.xb.add(d);a.G=new H(0,0.25);a.H=new H(0.5,0.75);return a},TriangleDown:function(a,b,c){a=new zc;var d=new Bc,e=new M;e.D=b;e.F=0;d.Fa.add(e);e=new M;e.D=0.5*b;e.F=c;d.Fa.add(e.close());a.xb.add(d);a.G=new H(0.25,0);a.H=new H(0.75,0.5);return a},TriangleLeft:function(a,b,c){a=new zc;var d=new Bc;d.qa=b;d.ra=c;var e=new M;e.D=0;e.F=0.5*c;d.Fa.add(e);c=new M;c.D=b;c.F=0;d.Fa.add(c.close());a.xb.add(d);a.G=new H(0.5,0.25);a.H=new H(1,0.75);return a},TriangleUp:function(a,
| b,c){a=new zc;var d=new Bc;d.qa=b;d.ra=c;var e=new M;e.D=0;e.F=c;d.Fa.add(e);c=new M;c.D=0.5*b;c.F=0;d.Fa.add(c.close());a.xb.add(d);a.G=new H(0.25,0.5);a.H=new H(0.75,1);return a},Line1:function(a,b,c){a=new zc;a.type=Kc;a.qa=0;a.ra=0;a.D=b;a.F=c;return a},Line2:function(a,b,c){a=new zc;a.type=Kc;a.qa=b;a.ra=0;a.D=0;a.F=c;return a},MinusLine:"LineH",LineH:function(a,b,c){a=new zc;a.type=Kc;a.qa=0;a.ra=c/2;a.D=b;a.F=c/2;return a},LineV:function(a,b,c){a=new zc;a.type=Kc;a.qa=b/2;a.ra=0;a.D=b/2;a.F=
| c;return a},Curve1:function(a,b,c){var d=F.va;a=t.u();J(a,0,0,!1);K(a,d*b,0,1*b,(1-d)*c,b,c);b=a.s;t.v(a);return b},Curve2:function(a,b,c){var d=F.va;a=t.u();J(a,0,0,!1);K(a,0,d*c,(1-d)*b,c,b,c);b=a.s;t.v(a);return b},Curve3:function(a,b,c){var d=F.va;a=t.u();J(a,1*b,0,!1);K(a,1*b,d*c,d*b,1*c,0,1*c);b=a.s;t.v(a);return b},Curve4:function(a,b,c){var d=F.va;a=t.u();J(a,1*b,0,!1);K(a,(1-d)*b,0,0,(1-d)*c,0,1*c);b=a.s;t.v(a);return b},Alternative:"Triangle",Merge:"Triangle",Triangle:function(a,b,c){a=
| t.u();J(a,0.5*b,0*c,!0);a.lineTo(0*b,1*c);a.lineTo(1*b,1*c,!0);b=a.s;b.G=new H(0.25,0.5);b.H=new H(0.75,1);t.v(a);return b},Decision:"Diamond",Diamond:function(a,b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(0,0.5*c);a.lineTo(0.5*b,1*c);a.lineTo(1*b,0.5*c,!0);b=a.s;b.G=new H(0.25,0.25);b.H=new H(0.75,0.75);t.v(a);return b},Pentagon:function(a,b,c){var d=F.cl(5);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;5>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.2,0.22);b.H=new H(0.8,0.9);t.v(a);
| return b},DataTransmission:"Hexagon",Hexagon:function(a,b,c){var d=F.cl(6);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;6>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.07,0.25);b.H=new H(0.93,0.75);t.v(a);return b},Heptagon:function(a,b,c){var d=F.cl(7);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;7>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.2,0.15);b.H=new H(0.8,0.85);t.v(a);return b},Octagon:function(a,b,c){var d=F.cl(8);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);
| for(var e=1;8>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.15,0.15);b.H=new H(0.85,0.85);t.v(a);return b},Nonagon:function(a,b,c){var d=F.cl(9);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;9>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.17,0.13);b.H=new H(0.82,0.82);t.v(a);return b},Decagon:function(a,b,c){var d=F.cl(10);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.16,0.16);b.H=new H(0.84,
| 0.84);t.v(a);return b},Dodecagon:function(a,b,c){var d=F.cl(12);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.16,0.16);b.H=new H(0.84,0.84);t.v(a);return b},FivePointedStar:function(a,b,c){var d=F.Em(5);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;10>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.312,0.383);b.H=new H(0.693,0.765);t.v(a);return b},SixPointedStar:function(a,b,c){var d=F.Em(6);a=t.u();J(a,d[0].x*b,
| d[0].y*c,!0);for(var e=1;12>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.17,0.251);b.H=new H(0.833,0.755);t.v(a);return b},SevenPointedStar:function(a,b,c){var d=F.Em(7);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;14>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.363,0.361);b.H=new H(0.641,0.709);t.v(a);return b},EightPointedStar:function(a,b,c){var d=F.Em(8);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;16>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;
| b.G=new H(0.252,0.255);b.H=new H(0.75,0.75);t.v(a);return b},NinePointedStar:function(a,b,c){var d=F.Em(9);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;18>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.355,0.361);b.H=new H(0.645,0.651);t.v(a);return b},TenPointedStar:function(a,b,c){var d=F.Em(10);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;20>e;e++)a.lineTo(d[e].x*b,d[e].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.281,0.261);b.H=new H(0.723,0.748);t.v(a);return b},FivePointedBurst:function(a,
| b,c){var d=F.So(5);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.312,0.383);b.H=new H(0.693,0.765);t.v(a);return b},SixPointedBurst:function(a,b,c){var d=F.So(6);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.17,0.251);b.H=new H(0.833,0.755);t.v(a);return b},SevenPointedBurst:function(a,
| b,c){var d=F.So(7);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.363,0.361);b.H=new H(0.641,0.709);t.v(a);return b},EightPointedBurst:function(a,b,c){var d=F.So(8);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.252,0.255);b.H=new H(0.75,0.75);t.v(a);return b},NinePointedBurst:function(a,
| b,c){var d=F.So(9);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.355,0.361);b.H=new H(0.645,0.651);t.v(a);return b},TenPointedBurst:function(a,b,c){var d=F.So(10);a=t.u();J(a,d[0].x*b,d[0].y*c,!0);for(var e=1;e<d.length;e+=3)K(a,d[e].x*b,d[e].y*c,d[e+1].x*b,d[e+1].y*c,d[e+2].x*b,d[e+2].y*c);t.za(d);L(a);b=a.s;b.G=new H(0.281,0.261);b.H=new H(0.723,0.748);t.v(a);return b},Cloud:function(a,
| b,c){a=t.u();J(a,0.08034461*b,0.1944299*c,!0);K(a,-0.09239631*b,0.07836421*c,0.1406031*b,-0.0542823*c,0.2008615*b,0.05349299*c);K(a,0.2450511*b,-0.00697547*c,0.3776197*b,-0.01112067*c,0.4338609*b,0.074219*c);K(a,0.4539471*b,0,0.6066018*b,-0.02526587*c,0.6558228*b,0.07004196*c);K(a,0.6914277*b,-0.01904177*c,0.8921095*b,-0.01220843*c,0.8921095*b,0.08370865*c);K(a,1.036446*b,0.04105738*c,1.020377*b,0.3022052*c,0.9147671*b,0.3194596*c);K(a,1.04448*b,0.360238*c,0.992256*b,0.5219009*c,0.9082935*b,0.562044*
| c);K(a,1.032337*b,0.5771781*c,1.018411*b,0.8120651*c,0.9212406*b,0.8217117*c);K(a,1.028411*b,0.9571472*c,0.8556702*b,1.052487*c,0.7592566*b,0.9156953*c);K(a,0.7431877*b,1.009325*c,0.5624123*b,1.021761*c,0.5101666*b,0.9310455*c);K(a,0.4820677*b,1.031761*c,0.3030112*b,1.002796*c,0.2609328*b,0.9344623*c);K(a,0.2329994*b,1.01518*c,0.03213784*b,1.01518*c,0.08034461*b,0.870098*c);K(a,-0.02812061*b,0.9032597*c,-0.01205169*b,0.6835638*c,0.06829292*b,0.6545475*c);K(a,-0.01812061*b,0.6089503*c,-0.00606892*
| b,0.4555777*c,0.06427569*b,0.4265613*c);K(a,-0.01606892*b,0.3892545*c,-0.01205169*b,0.1944299*c,0.08034461*b,0.1944299*c);L(a);b=a.s;b.G=new H(0.1,0.1);b.H=new H(0.9,0.9);t.v(a);return b},Gate:"Crescent",Crescent:function(a,b,c){a=t.u();J(a,0,0,!0);K(a,1*b,0,1*b,1*c,0,1*c);K(a,0.5*b,0.75*c,0.5*b,0.25*c,0,0);L(a);b=a.s;b.G=new H(0.511,0.19);b.H=new H(0.776,0.76);t.v(a);return b},FramedRectangle:function(a,b,c){var d=t.u(),e=a?a.Ec:0;a=a?a.Ft:0;0===e&&(e=0.1);0===a&&(a=0.1);J(d,0,0,!0);d.lineTo(1*b,
| 0);d.lineTo(1*b,1*c);d.lineTo(0,1*c,!0);J(d,e*b,a*c,!1,!0);d.lineTo(e*b,(1-a)*c);d.lineTo((1-e)*b,(1-a)*c);d.lineTo((1-e)*b,a*c,!0);b=d.s;b.G=new H(e,a);b.H=new H(1-e,1-a);t.v(d);return b},Delay:"HalfEllipse",HalfEllipse:function(a,b,c){var d=F.va;a=t.u();J(a,0,0,!0);K(a,d*b,0,1*b,(0.5-d/2)*c,1*b,0.5*c);K(a,1*b,(0.5+d/2)*c,d*b,1*c,0,1*c);L(a);b=a.s;b.G=new H(0,0.2);b.H=new H(0.75,0.8);t.v(a);return b},Heart:function(a,b,c){a=t.u();J(a,0.5*b,1*c,!0);K(a,0.1*b,0.8*c,0,0.5*c,0*b,0.3*c);K(a,0*b,0,0.45*
| b,0,0.5*b,0.3*c);K(a,0.55*b,0,1*b,0,1*b,0.3*c);K(a,b,0.5*c,0.9*b,0.8*c,0.5*b,1*c);L(a);b=a.s;b.G=new H(0.15,0.29);b.H=new H(0.86,0.68);t.v(a);return b},Spade:function(a,b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(0.51*b,0.01*c);K(a,0.6*b,0.2*c,b,0.25*c,b,0.5*c);K(a,b,0.8*c,0.6*b,0.8*c,0.55*b,0.7*c);K(a,0.5*b,0.75*c,0.55*b,0.95*c,0.75*b,c);a.lineTo(0.25*b,c);K(a,0.45*b,0.95*c,0.5*b,0.75*c,0.45*b,0.7*c);K(a,0.4*b,0.8*c,0,0.8*c,0,0.5*c);K(a,0,0.25*c,0.4*b,0.2*c,0.49*b,0.01*c);L(a);b=a.s;b.G=new H(0.19,0.26);
| b.H=new H(0.8,0.68);t.v(a);return b},Club:function(a,b,c){a=t.u();J(a,0.4*b,0.6*c,!0);K(a,0.5*b,0.75*c,0.45*b,0.95*c,0.15*b,1*c);a.lineTo(0.85*b,c);K(a,0.55*b,0.95*c,0.5*b,0.75*c,0.6*b,0.6*c);var d=0.2,e=0.3,g=0,h=4*(Math.SQRT2-1)/3*d;K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+d+e)*b,(0.5+g)*c);K(a,(0.5+d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e+0.05)*
| b,(0.5-h+g-0.02)*c,0.65*b,0.36771243*c);d=0.2;e=0;g=-0.3;h=4*(Math.SQRT2-1)/3*d;K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+d+e)*b,(0.5+g)*c);K(a,(0.5+d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,0.35*b,0.36771243*c);d=0.2;e=-0.3;g=0;h=4*(Math.SQRT2-1)/3*d;K(a,(0.5+d+e-0.05)*b,(0.5-h+g-0.02)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);
| K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,0.4*b,0.6*c);L(a);b=a.s;b.G=new H(0.06,0.39);b.H=new H(0.93,0.58);t.v(a);return b},Ring:function(a,b,c){a=t.u();var d=4*(Math.SQRT2-1)/3*0.5;J(a,b,0.5*c,!0);K(a,b,(0.5-d)*c,(0.5+d)*b,0,0.5*b,0);K(a,(0.5-d)*b,0,0,(0.5-d)*c,0,0.5*c);K(a,0,(0.5+d)*c,(0.5-d)*b,c,0.5*b,c);K(a,(0.5+d)*b,c,b,(0.5+d)*c,b,0.5*
| c);d=4*(Math.SQRT2-1)/3*0.4;J(a,0.5*b,0.1*c,!0,!0);K(a,(0.5+d)*b,0.1*c,0.9*b,(0.5-d)*c,0.9*b,0.5*c);K(a,0.9*b,(0.5+d)*c,(0.5+d)*b,0.9*c,0.5*b,0.9*c);K(a,(0.5-d)*b,0.9*c,0.1*b,(0.5+d)*c,0.1*b,0.5*c);K(a,0.1*b,(0.5-d)*c,(0.5-d)*b,0.1*c,0.5*b,0.1*c);b=a.s;b.G=new H(0.146,0.146);b.H=new H(0.853,0.853);b.sc=Vg;t.v(a);return b},YinYang:function(a,b,c){var d=0.5;a=t.u();d=0.5;J(a,0.5*b,0,!0);a.arcTo(270,180,0.5*b,0.5*b,0.5*b);K(a,1*b,d*c,0,d*c,d*b,0,!0);var d=0.1,e=0.25;J(a,(0.5+d)*b,e*c,!0,!0);a.arcTo(0,
| -360,0.5*b,c*e,d*b);L(a);J(a,0.5*b,0,!1);a.arcTo(270,-180,0.5*b,0.5*b,0.5*b);a.cb(!1);e=0.75;J(a,(0.5+d)*b,e*c,!0);a.arcTo(0,360,0.5*b,c*e,d*b);L(a);b=a.s;b.sc=Vg;t.v(a);return b},Peace:function(a,b,c){a=t.u();var d=4*(Math.SQRT2-1)/3*0.5;J(a,b,0.5*c,!0);K(a,b,(0.5-d)*c,(0.5+d)*b,0,0.5*b,0);K(a,(0.5-d)*b,0,0,(0.5-d)*c,0,0.5*c);K(a,0,(0.5+d)*c,(0.5-d)*b,c,0.5*b,c);K(a,(0.5+d)*b,c,b,(0.5+d)*c,b,0.5*c);d=4*(Math.SQRT2-1)/3*0.4;J(a,0.5*b,0.1*c,!0,!0);K(a,(0.5+d)*b,0.1*c,0.9*b,(0.5-d)*c,0.9*b,0.5*c);K(a,
| 0.9*b,(0.5+d)*c,(0.5+d)*b,0.9*c,0.5*b,0.9*c);K(a,(0.5-d)*b,0.9*c,0.1*b,(0.5+d)*c,0.1*b,0.5*c);K(a,0.1*b,(0.5-d)*c,(0.5-d)*b,0.1*c,0.5*b,0.1*c);var d=0.07,e=0,g=-0.707*0.11,h=4*(Math.SQRT2-1)/3*d;J(a,(0.5+d+e)*b,(0.5+g)*c,!0);K(a,(0.5+d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,
| (0.5+d+e)*b,(0.5+g)*c);d=0.07;e=-0.707*0.11;g=0.707*0.11;h=4*(Math.SQRT2-1)/3*d;J(a,(0.5+d+e)*b,(0.5+g)*c,!0);K(a,(0.5+d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+d+e)*b,(0.5+g)*c);d=0.07;e=0.707*0.11;g=0.707*0.11;h=4*(Math.SQRT2-1)/3*d;J(a,(0.5+d+e)*b,(0.5+g)*c,!0);K(a,(0.5+
| d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+d+e)*b,(0.5+g)*c);b=a.s;b.G=new H(0.146,0.146);b.H=new H(0.853,0.853);b.sc=Vg;t.v(a);return b},NotAllowed:function(a,b,c){var d=F.va,e=0.5*d,g=0.5;a=t.u();J(a,0.5*b,(0.5-g)*c,!0);K(a,(0.5-e)*b,(0.5-g)*c,(0.5-g)*b,(0.5-e)*c,(0.5-
| g)*b,0.5*c);K(a,(0.5-g)*b,(0.5+e)*c,(0.5-e)*b,(0.5+g)*c,0.5*b,(0.5+g)*c);K(a,(0.5+e)*b,(0.5+g)*c,(0.5+g)*b,(0.5+e)*c,(0.5+g)*b,0.5*c);K(a,(0.5+g)*b,(0.5-e)*c,(0.5+e)*b,(0.5-g)*c,0.5*b,(0.5-g)*c);var g=0.4,e=0.4*d,d=t.K(),h=t.K(),k=t.K(),l=t.K();F.Li(0.5,0.5-g,0.5+e,0.5-g,0.5+g,0.5-e,0.5+g,0.5,0.42,d,h,k,l,l);var m=t.K(),n=t.K(),p=t.K();F.Li(0.5,0.5-g,0.5+e,0.5-g,0.5+g,0.5-e,0.5+g,0.5,0.58,l,l,p,m,n);var q=t.K(),r=t.K(),s=t.K();F.Li(0.5,0.5+g,0.5-e,0.5+g,0.5-g,0.5+e,0.5-g,0.5,0.42,q,r,s,l,l);var u=
| t.K(),x=t.K(),E=t.K();F.Li(0.5,0.5+g,0.5-e,0.5+g,0.5-g,0.5+e,0.5-g,0.5,0.58,l,l,E,u,x);J(a,E.x*b,E.y*c,!0,!0);K(a,u.x*b,u.y*c,x.x*b,x.y*c,(0.5-g)*b,0.5*c);K(a,(0.5-g)*b,(0.5-e)*c,(0.5-e)*b,(0.5-g)*c,0.5*b,(0.5-g)*c);K(a,d.x*b,d.y*c,h.x*b,h.y*c,k.x*b,k.y*c);a.lineTo(E.x*b,E.y*c);L(a);J(a,s.x*b,s.y*c,!0,!0);a.lineTo(p.x*b,p.y*c);K(a,m.x*b,m.y*c,n.x*b,n.y*c,(0.5+g)*b,0.5*c);K(a,(0.5+g)*b,(0.5+e)*c,(0.5+e)*b,(0.5+g)*c,0.5*b,(0.5+g)*c);K(a,q.x*b,q.y*c,r.x*b,r.y*c,s.x*b,s.y*c);L(a);t.B(d);t.B(h);t.B(k);
| t.B(l);t.B(m);t.B(n);t.B(p);t.B(q);t.B(r);t.B(s);t.B(u);t.B(x);t.B(E);b=a.s;t.v(a);b.sc=Vg;return b},Fragile:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.25*b,0);a.lineTo(0.2*b,0.15*c);a.lineTo(0.3*b,0.25*c);a.lineTo(0.29*b,0.33*c);a.lineTo(0.35*b,0.25*c);a.lineTo(0.3*b,0.15*c);a.lineTo(0.4*b,0);a.lineTo(1*b,0);K(a,1*b,0.25*c,0.75*b,0.5*c,0.55*b,0.5*c);a.lineTo(0.55*b,0.9*c);a.lineTo(0.7*b,0.9*c);a.lineTo(0.7*b,1*c);a.lineTo(0.3*b,1*c);a.lineTo(0.3*b,0.9*c);a.lineTo(0.45*b,0.9*c);a.lineTo(0.45*
| b,0.5*c);K(a,0.25*b,0.5*c,0,0.25*c,0,0);L(a);b=a.s;b.G=new H(0.25,0);b.H=new H(0.75,0.4);t.v(a);return b},HourGlass:function(a,b,c){a=t.u();J(a,0.65*b,0.5*c,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0.35*b,0.5*c);a.lineTo(0,0);a.lineTo(1*b,0);L(a);b=a.s;t.v(a);return b},Lightning:function(a,b,c){a=t.u();J(a,0*b,0.55*c,!0);a.lineTo(0.75*b,0);a.lineTo(0.25*b,0.45*c);a.lineTo(0.9*b,0.48*c);a.lineTo(0.4*b,1*c);a.lineTo(0.65*b,0.55*c);L(a);b=a.s;t.v(a);return b},Parallelogram1:function(a,b,c){a=a?
| a.Ec:0;0===a&&(a=0.1);var d=t.u();J(d,a*b,0,!0);d.lineTo(1*b,0);d.lineTo((1-a)*b,1*c);d.lineTo(0,1*c);L(d);b=d.s;b.G=new H(a,0);b.H=new H(1-a,1);t.v(d);return b},Input:"Output",Output:function(a,b,c){a=t.u();J(a,0,1*c,!0);a.lineTo(0.1*b,0);a.lineTo(1*b,0);a.lineTo(0.9*b,1*c);L(a);b=a.s;b.G=new H(0.1,0);b.H=new H(0.9,1);t.v(a);return b},Parallelogram2:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.25);var d=t.u();J(d,a*b,0,!0);d.lineTo(1*b,0);d.lineTo((1-a)*b,1*c);d.lineTo(0,1*c);L(d);b=d.s;b.G=new H(a,0);
| b.H=new H(1-a,1);t.v(d);return b},ThickCross:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.25);var d=t.u();J(d,(0.5-a/2)*b,0,!0);d.lineTo((0.5+a/2)*b,0);d.lineTo((0.5+a/2)*b,(0.5-a/2)*c);d.lineTo(1*b,(0.5-a/2)*c);d.lineTo(1*b,(0.5+a/2)*c);d.lineTo((0.5+a/2)*b,(0.5+a/2)*c);d.lineTo((0.5+a/2)*b,1*c);d.lineTo((0.5-a/2)*b,1*c);d.lineTo((0.5-a/2)*b,(0.5+a/2)*c);d.lineTo(0,(0.5+a/2)*c);d.lineTo(0,(0.5-a/2)*c);d.lineTo((0.5-a/2)*b,(0.5-a/2)*c);L(d);b=d.s;b.G=new H(0.5-a/2,0.5-a/2);b.H=new H(0.5+a/2,0.5+a/2);t.v(d);
| return b},ThickX:function(a,b,c){a=0.25/Math.SQRT2;var d=t.u();J(d,0.3*b,0,!0);d.lineTo(0.5*b,0.2*c);d.lineTo(0.7*b,0);d.lineTo(1*b,0.3*c);d.lineTo(0.8*b,0.5*c);d.lineTo(1*b,0.7*c);d.lineTo(0.7*b,1*c);d.lineTo(0.5*b,0.8*c);d.lineTo(0.3*b,1*c);d.lineTo(0,0.7*c);d.lineTo(0.2*b,0.5*c);d.lineTo(0,0.3*c);L(d);b=d.s;b.G=new H(0.5-a,0.5-a);b.H=new H(0.5+a,0.5+a);t.v(d);return b},ThinCross:function(a,b,c){var d=a?a.Ec:0;0===d&&(d=0.1);a=t.u();J(a,(0.5-d/2)*b,0,!0);a.lineTo((0.5+d/2)*b,0);a.lineTo((0.5+d/
| 2)*b,(0.5-d/2)*c);a.lineTo(1*b,(0.5-d/2)*c);a.lineTo(1*b,(0.5+d/2)*c);a.lineTo((0.5+d/2)*b,(0.5+d/2)*c);a.lineTo((0.5+d/2)*b,1*c);a.lineTo((0.5-d/2)*b,1*c);a.lineTo((0.5-d/2)*b,(0.5+d/2)*c);a.lineTo(0,(0.5+d/2)*c);a.lineTo(0,(0.5-d/2)*c);a.lineTo((0.5-d/2)*b,(0.5-d/2)*c);L(a);b=a.s;t.v(a);return b},ThinX:function(a,b,c){a=t.u();J(a,0.1*b,0,!0);a.lineTo(0.5*b,0.4*c);a.lineTo(0.9*b,0);a.lineTo(1*b,0.1*c);a.lineTo(0.6*b,0.5*c);a.lineTo(1*b,0.9*c);a.lineTo(0.9*b,1*c);a.lineTo(0.5*b,0.6*c);a.lineTo(0.1*
| b,1*c);a.lineTo(0,0.9*c);a.lineTo(0.4*b,0.5*c);a.lineTo(0,0.1*c);L(a);return a.s},RightTriangle:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);L(a);b=a.s;b.G=new H(0,0.5);b.H=new H(0.5,1);t.v(a);return b},RoundedIBeam:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(1*b,0);K(a,0.5*b,0.25*c,0.5*b,0.75*c,1*b,1*c);a.lineTo(0,1*c);K(a,0.5*b,0.75*c,0.5*b,0.25*c,0,0);L(a);b=a.s;t.v(a);return b},RoundedRectangle:function(a,b,c){var d=a?a.Ec:0;0>=d&&(d=5);d=Math.min(d,b/3);d=Math.min(d,
| c/3);a=d*F.va;var e=t.u();J(e,d,0,!0);e.lineTo(b-d,0);K(e,b-a,0,b,a,b,d);e.lineTo(b,c-d);K(e,b,c-a,b-a,c,b-d,c);e.lineTo(d,c);K(e,a,c,0,c-a,0,c-d);e.lineTo(0,d);K(e,0,a,a,0,d,0);L(e);b=e.s;1<a?(b.G=new H(0,0,a,a),b.H=new H(1,1,-a,-a)):(b.G=Eb,b.H=Pb);t.v(e);return b},Border:function(a,b,c){var d=a?a.Ec:0;0>=d&&(d=5);d=Math.min(d,b/3);d=Math.min(d,c/3);a=t.u();J(a,d,0,!0);a.lineTo(b-d,0);K(a,b-0,0,b,0,b,d);a.lineTo(b,c-d);K(a,b,c-0,b-0,c,b-d,c);a.lineTo(d,c);K(a,0,c,0,c-0,0,c-d);a.lineTo(0,d);K(a,
| 0,0,0,0,d,0);L(a);b=a.s;b.G=Eb;b.H=Pb;t.v(a);return b},SquareIBeam:function(a,b,c){var d=a?a.Ec:0;0===d&&(d=0.2);a=t.u();J(a,0,0,!0);a.lineTo(1*b,0);a.lineTo(1*b,d*c);a.lineTo((0.5+d/2)*b,d*c);a.lineTo((0.5+d/2)*b,(1-d)*c);a.lineTo(1*b,(1-d)*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,(1-d)*c);a.lineTo((0.5-d/2)*b,(1-d)*c);a.lineTo((0.5-d/2)*b,d*c);a.lineTo(0,d*c);L(a);b=a.s;t.v(a);return b},Trapezoid:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.2);var d=t.u();J(d,a*b,0,!0);d.lineTo((1-a)*b,0);d.lineTo(1*
| b,1*c);d.lineTo(0,1*c);L(d);b=d.s;b.G=new H(a,0);b.H=new H(1-a,1);t.v(d);return b},ManualLoop:"ManualOperation",ManualOperation:function(a,b,c){var d=a?a.Ec:0;a=t.u();J(a,d,0,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(0.9*b,1*c);a.lineTo(0.1*b,1*c);L(a);b=a.s;b.G=new H(0.1,0);b.H=new H(0.9,1);t.v(a);return b},GenderMale:function(a,b,c){a=t.u();var d=F.va,e=0.4*d,g=0.4,h=t.K(),k=t.K(),l=t.K(),m=t.K();J(a,(0.5-g)*b,0.5*c,!0);K(a,(0.5-g)*b,(0.5-e)*c,(0.5-e)*b,(0.5-g)*c,0.5*b,(0.5-g)*c);F.Li(0.5,0.5-
| g,0.5+e,0.5-g,0.5+g,0.5-e,0.5+g,0.5,0.44,l,m,k,h,h);K(a,l.x*b,l.y*c,m.x*b,m.y*c,k.x*b,k.y*c);var n=t.gc(k.x,k.y);F.Li(0.5,0.5-g,0.5+e,0.5-g,0.5+g,0.5-e,0.5+g,0.5,0.56,h,h,k,l,m);var p=t.gc(k.x,k.y);a.lineTo((0.1*n.x+0.855)*b,0.1*n.y*c);a.lineTo(0.85*b,0.1*n.y*c);a.lineTo(0.85*b,0);a.lineTo(1*b,0);a.lineTo(1*b,0.15*c);a.lineTo((0.1*p.x+0.9)*b,0.15*c);a.lineTo((0.1*p.x+0.9)*b,(0.1*p.y+0.05*0.9)*c);a.lineTo(p.x*b,p.y*c);K(a,l.x*b,l.y*c,m.x*b,m.y*c,(0.5+g)*b,0.5*c);K(a,(0.5+g)*b,(0.5+e)*c,(0.5+e)*b,(0.5+
| g)*c,0.5*b,(0.5+g)*c);K(a,(0.5-e)*b,(0.5+g)*c,(0.5-g)*b,(0.5+e)*c,(0.5-g)*b,0.5*c);g=0.35;e=0.35*d;J(a,0.5*b,(0.5-g)*c,!0,!0);K(a,(0.5-e)*b,(0.5-g)*c,(0.5-g)*b,(0.5-e)*c,(0.5-g)*b,0.5*c);K(a,(0.5-g)*b,(0.5+e)*c,(0.5-e)*b,(0.5+g)*c,0.5*b,(0.5+g)*c);K(a,(0.5+e)*b,(0.5+g)*c,(0.5+g)*b,(0.5+e)*c,(0.5+g)*b,0.5*c);K(a,(0.5+g)*b,(0.5-e)*c,(0.5+e)*b,(0.5-g)*c,0.5*b,(0.5-g)*c);J(a,(0.5-g)*b,0.5*c,!0);t.B(h);t.B(k);t.B(l);t.B(m);t.B(n);t.B(p);b=a.s;b.G=new H(0.202,0.257);b.H=new H(0.692,0.839);b.sc=Vg;t.v(a);
| return b},GenderFemale:function(a,b,c){a=t.u();var d=0.375,e=0,g=-0.125,h=4*(Math.SQRT2-1)/3*d;J(a,(0.525+e)*b,(0.5+d+g)*c,!0);K(a,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+d+e)*b,(0.5+g)*c);K(a,(0.5+d+e)*b,(0.5-h+g)*c,(0.5+h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5-h+e)*b,(0.5-d+g)*c,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-h+e)*b,(0.5+d+g)*c,(0.475+e)*b,(0.5+d+g)*c);a.lineTo(0.475*b,0.85*c);a.lineTo(0.425*b,0.85*c);a.lineTo(0.425*b,0.9*c);
| a.lineTo(0.475*b,0.9*c);a.lineTo(0.475*b,1*c);a.lineTo(0.525*b,1*c);a.lineTo(0.525*b,0.9*c);a.lineTo(0.575*b,0.9*c);a.lineTo(0.575*b,0.85*c);a.lineTo(0.525*b,0.85*c);L(a);d=0.325;e=0;g=-0.125;h=4*(Math.SQRT2-1)/3*d;J(a,(0.5+d+e)*b,(0.5+g)*c,!0,!0);K(a,(0.5+d+e)*b,(0.5+h+g)*c,(0.5+h+e)*b,(0.5+d+g)*c,(0.5+e)*b,(0.5+d+g)*c);K(a,(0.5-h+e)*b,(0.5+d+g)*c,(0.5-d+e)*b,(0.5+h+g)*c,(0.5-d+e)*b,(0.5+g)*c);K(a,(0.5-d+e)*b,(0.5-h+g)*c,(0.5-h+e)*b,(0.5-d+g)*c,(0.5+e)*b,(0.5-d+g)*c);K(a,(0.5+h+e)*b,(0.5-d+g)*c,
| (0.5+d+e)*b,(0.5-h+g)*c,(0.5+d+e)*b,(0.5+g)*c);J(a,(0.525+e)*b,(0.5+d+g)*c,!0);b=a.s;b.G=new H(0.232,0.136);b.H=new H(0.782,0.611);b.sc=Vg;t.v(a);return b},PlusLine:function(a,b,c){a=t.u();J(a,0,0.5*c,!1);a.lineTo(1*b,0.5*c);a.moveTo(0.5*b,0);a.lineTo(0.5*b,1*c);b=a.s;t.v(a);return b},XLine:function(a,b,c){a=t.u();J(a,0,1*c,!1);a.lineTo(1*b,0);a.moveTo(0,0);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},AsteriskLine:function(a,b,c){a=t.u();var d=0.2/Math.SQRT2;J(a,d*b,(1-d)*c,!1);a.lineTo((1-d)*b,d*c);
| a.moveTo(d*b,d*c);a.lineTo((1-d)*b,(1-d)*c);a.moveTo(0*b,0.5*c);a.lineTo(1*b,0.5*c);a.moveTo(0.5*b,0*c);a.lineTo(0.5*b,1*c);b=a.s;t.v(a);return b},CircleLine:function(a,b,c){var d=0.5*F.va;a=t.u();J(a,1*b,0.5*c,!1);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);b=a.s;b.G=new H(0.146,0.146);b.H=new H(0.853,0.853);b.sc=Vg;t.v(a);return b},Pie:function(a,b,c){a=t.u();var d=4*(Math.SQRT2-1)/
| 3*0.5;J(a,(0.5*Math.SQRT2/2+0.5)*b,(0.5-0.5*Math.SQRT2/2)*c,!0);K(a,0.7*b,0*c,0.5*b,0*c,0.5*b,0*c);K(a,(0.5-d+0)*b,0*c,0*b,(0.5-d+0)*c,0*b,0.5*c);K(a,0*b,(0.5+d+0)*c,(0.5-d+0)*b,1*c,0.5*b,1*c);K(a,(0.5+d+0)*b,1*c,1*b,(0.5+d+0)*c,1*b,0.5*c);a.lineTo(0.5*b,0.5*c);L(a);b=a.s;t.v(a);return b},PiePiece:function(a,b,c){var d=F.va/Math.SQRT2*0.5,e=Math.SQRT2/2,g=1-Math.SQRT2/2;a=t.u();J(a,b,c,!0);K(a,b,(1-d)*c,(e+d)*b,(g+d)*c,e*b,g*c);a.lineTo(0,c);L(a);b=a.s;t.v(a);return b},StopSign:function(a,b,c){a=
| 1/(Math.SQRT2+2);var d=t.u();J(d,a*b,0,!0);d.lineTo((1-a)*b,0);d.lineTo(1*b,a*c);d.lineTo(1*b,(1-a)*c);d.lineTo((1-a)*b,1*c);d.lineTo(a*b,1*c);d.lineTo(0,(1-a)*c);d.lineTo(0,a*c);L(d);b=d.s;b.G=new H(a/2,a/2);b.H=new H(1-a/2,1-a/2);t.v(d);return b},LogicImplies:function(a,b,c){var d=a?a.Ec:0;0===d&&(d=0.2);a=t.u();J(a,(1-d)*b,0*c,!1);a.lineTo(1*b,0.5*c);a.lineTo((1-d)*b,c);a.moveTo(0,0.5*c);a.lineTo(b,0.5*c);b=a.s;b.G=Eb;b.H=new H(0.8,0.5);t.v(a);return b},LogicIff:function(a,b,c){var d=a?a.Ec:0;
| 0===d&&(d=0.2);a=t.u();J(a,(1-d)*b,0*c,!1);a.lineTo(1*b,0.5*c);a.lineTo((1-d)*b,c);a.moveTo(0,0.5*c);a.lineTo(b,0.5*c);a.moveTo(d*b,0);a.lineTo(0,0.5*c);a.lineTo(d*b,c);b=a.s;b.G=new H(0.2,0);b.H=new H(0.8,0.5);t.v(a);return b},LogicNot:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(1*b,0);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},LogicAnd:function(a,b,c){a=t.u();J(a,0,1*c,!1);a.lineTo(0.5*b,0);a.lineTo(1*b,1*c);b=a.s;b.G=new H(0.25,0.5);b.H=new H(0.75,1);t.v(a);return b},LogicOr:function(a,b,c){a=t.u();
| J(a,0,0,!1);a.lineTo(0.5*b,1*c);a.lineTo(1*b,0);b=a.s;b.G=new H(0.219,0);b.H=new H(0.78,0.409);t.v(a);return b},LogicXor:function(a,b,c){a=t.u();J(a,0.5*b,0,!1);a.lineTo(0.5*b,1*c);a.moveTo(0,0.5*c);a.lineTo(1*b,0.5*c);var d=0.5*F.va;K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);b=a.s;b.sc=Vg;t.v(a);return b},LogicTruth:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(1*b,0);a.moveTo(0.5*
| b,0);a.lineTo(0.5*b,1*c);b=a.s;t.v(a);return b},LogicFalsity:function(a,b,c){a=t.u();J(a,0,1*c,!1);a.lineTo(1*b,1*c);a.moveTo(0.5*b,1*c);a.lineTo(0.5*b,0);b=a.s;t.v(a);return b},LogicThereExists:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(1*b,0);a.lineTo(1*b,0.5*c);a.lineTo(0,0.5*c);a.moveTo(1*b,0.5*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);b=a.s;t.v(a);return b},LogicForAll:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(0.5*b,1*c);a.lineTo(1*b,0);a.moveTo(0.25*b,0.5*c);a.lineTo(0.75*b,0.5*c);b=a.s;b.G=
| new H(0.25,0);b.H=new H(0.75,0.5);t.v(a);return b},LogicIsDefinedAs:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(b,0);a.moveTo(0,0.5*c);a.lineTo(b,0.5*c);a.moveTo(0,c);a.lineTo(b,c);b=a.s;b.G=new H(0.01,0.01);b.H=new H(0.99,0.49);t.v(a);return b},LogicIntersect:function(a,b,c){var d=0.5*F.va;a=t.u();J(a,0,1*c,!1);a.lineTo(0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);a.lineTo(1*b,1*c);b=a.s;b.G=new H(0,0.5);b.H=Pb;t.v(a);return b},LogicUnion:function(a,b,c){var d=
| 0.5*F.va;a=t.u();J(a,1*b,0,!1);a.lineTo(1*b,0.5*c);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);a.lineTo(0,0);b=a.s;b.G=Eb;b.H=new H(1,0.5);t.v(a);return b},Arrow:function(a,b,c){var d=a?a.Ec:0,e=a?a.Ft:0;0===d&&(d=0.3);0===e&&(e=0.3);a=t.u();J(a,0,(0.5-e/2)*c,!0);a.lineTo((1-d)*b,(0.5-e/2)*c);a.lineTo((1-d)*b,0);a.lineTo(1*b,0.5*c);a.lineTo((1-d)*b,1*c);a.lineTo((1-d)*b,(0.5+e/2)*c);a.lineTo(0,(0.5+e/2)*c);L(a);b=a.s;b.G=new H(0,0.5-e/2);d=F.hl(0,0.5+e/2,1,0.5+
| e/2,1-d,1,1,0.5,t.K());b.H=new H(d.x,d.y);t.B(d);t.v(a);return b},ISOProcess:"Chevron",Chevron:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.5*b,0);a.lineTo(1*b,0.5*c);a.lineTo(0.5*b,1*c);a.lineTo(0,1*c);a.lineTo(0.5*b,0.5*c);L(a);b=a.s;t.v(a);return b},DoubleArrow:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.3*b,0.214*c);a.lineTo(0.3*b,0);a.lineTo(1*b,0.5*c);a.lineTo(0.3*b,1*c);a.lineTo(0.3*b,0.786*c);a.lineTo(0,1*c);L(a);J(a,0.3*b,0.214*c,!1);a.lineTo(0.3*b,0.786*c);a.cb(!1);b=a.s;t.v(a);return b},
| DoubleEndArrow:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0.7*b,1*c);a.lineTo(0.7*b,0.7*c);a.lineTo(0.3*b,0.7*c);a.lineTo(0.3*b,1*c);a.lineTo(0,0.5*c);a.lineTo(0.3*b,0);a.lineTo(0.3*b,0.3*c);a.lineTo(0.7*b,0.3*c);a.lineTo(0.7*b,0);L(a);b=a.s;c=F.hl(0,0.5,0.3,0,0,0.3,0.3,0.3,t.K());b.G=new H(c.x,c.y);c=F.hl(0.7,1,1,0.5,0.7,0.7,1,0.7,c);b.H=new H(c.x,c.y);t.B(c);t.v(a);return b},IBeamArrow:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0.7*b,1*c);a.lineTo(0.7*b,0.7*c);a.lineTo(0.2*b,0.7*
| c);a.lineTo(0.2*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(0.2*b,0);a.lineTo(0.2*b,0.3*c);a.lineTo(0.7*b,0.3*c);a.lineTo(0.7*b,0);L(a);b=a.s;b.G=new H(0,0.3);c=F.hl(0.7,1,1,0.5,0.7,0.7,1,0.7,t.K());b.H=new H(c.x,c.y);t.B(c);t.v(a);return b},Pointer:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0,1*c);a.lineTo(0.2*b,0.5*c);a.lineTo(0,0);L(a);b=a.s;b.G=new H(0.2,0.35);c=F.hl(0.2,0.65,1,0.65,0,1,1,0.5,t.K());b.H=new H(c.x,c.y);t.B(c);t.v(a);return b},RoundedPointer:function(a,b,c){a=t.u();J(a,
| 1*b,0.5*c,!0);a.lineTo(0,1*c);K(a,0.5*b,0.75*c,0.5*b,0.25*c,0,0);L(a);b=a.s;b.G=new H(0.4,0.35);c=F.hl(0.2,0.65,1,0.65,0,1,1,0.5,t.K());b.H=new H(c.x,c.y);t.B(c);t.v(a);return b},SplitEndArrow:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0.7*b,1*c);a.lineTo(0.7*b,0.7*c);a.lineTo(0,0.7*c);a.lineTo(0.2*b,0.5*c);a.lineTo(0,0.3*c);a.lineTo(0.7*b,0.3*c);a.lineTo(0.7*b,0);L(a);b=a.s;b.G=new H(0.2,0.3);c=F.hl(0.7,1,1,0.5,0.7,0.7,1,0.7,t.K());b.H=new H(c.x,c.y);t.B(c);t.v(a);return b},MessageToUser:"SquareArrow",
| SquareArrow:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0.7*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(0.7*b,0);L(a);b=a.s;b.G=Eb;b.H=new H(0.7,1);t.v(a);return b},Cone1:function(a,b,c){var d=F.va;a=0.5*d;var e=0.1*d,d=t.u();J(d,0,0.9*c,!0);d.lineTo(0.5*b,0);d.lineTo(1*b,0.9*c);K(d,1*b,(0.9+e)*c,(0.5+a)*b,1*c,0.5*b,1*c);K(d,(0.5-a)*b,1*c,0,(0.9+e)*c,0,0.9*c);L(d);b=d.s;b.G=new H(0.25,0.5);b.H=new H(0.75,0.97);t.v(d);return b},Cone2:function(a,b,c){a=t.u();J(a,0,0.9*c,!0);K(a,(1-0.85/0.9)*
| b,1*c,0.85/0.9*b,1*c,1*b,0.9*c);a.lineTo(0.5*b,0);a.lineTo(0,0.9*c);L(a);J(a,0,0.9*c,!1);K(a,(1-0.85/0.9)*b,0.8*c,0.85/0.9*b,0.8*c,1*b,0.9*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.5);b.H=new H(0.75,0.82);t.v(a);return b},Cube1:function(a,b,c){a=t.u();J(a,0.5*b,1*c,!0);a.lineTo(1*b,0.85*c);a.lineTo(1*b,0.15*c);a.lineTo(0.5*b,0*c);a.lineTo(0*b,0.15*c);a.lineTo(0*b,0.85*c);L(a);J(a,0.5*b,1*c,!1);a.lineTo(0.5*b,0.3*c);a.lineTo(0,0.15*c);a.moveTo(0.5*b,0.3*c);a.lineTo(1*b,0.15*c);a.cb(!1);b=a.s;b.G=new H(0,
| 0.3);b.H=new H(0.5,0.85);t.v(a);return b},Cube2:function(a,b,c){a=t.u();J(a,0,0.3*c,!0);a.lineTo(0*b,1*c);a.lineTo(0.7*b,c);a.lineTo(1*b,0.7*c);a.lineTo(1*b,0*c);a.lineTo(0.3*b,0*c);L(a);J(a,0,0.3*c,!1);a.lineTo(0.7*b,0.3*c);a.lineTo(1*b,0*c);a.moveTo(0.7*b,0.3*c);a.lineTo(0.7*b,1*c);a.cb(!1);b=a.s;b.G=new H(0,0.3);b.H=new H(0.7,1);t.v(a);return b},MagneticData:"Cylinder1",Cylinder1:function(a,b,c){var d=F.va;a=0.5*d;var e=0.1*d,d=t.u();J(d,0,0.1*c,!0);K(d,0,(0.1-e)*c,(0.5-a)*b,0,0.5*b,0);K(d,(0.5+
| a)*b,0,1*b,(0.1-e)*c,1*b,0.1*c);d.lineTo(b,0.9*c);K(d,1*b,(0.9+e)*c,(0.5+a)*b,1*c,0.5*b,1*c);K(d,(0.5-a)*b,1*c,0,(0.9+e)*c,0,0.9*c);d.lineTo(0,0.1*c);J(d,0,0.1*c,!1);K(d,0,(0.1+e)*c,(0.5-a)*b,0.2*c,0.5*b,0.2*c);K(d,(0.5+a)*b,0.2*c,1*b,(0.1+e)*c,1*b,0.1*c);d.cb(!1);b=d.s;b.G=new H(0,0.2);b.H=new H(1,0.9);t.v(d);return b},Cylinder2:function(a,b,c){var d=F.va;a=0.5*d;var e=0.1*d,d=t.u();J(d,0,0.9*c,!0);d.lineTo(0,0.1*c);K(d,0,(0.1-e)*c,(0.5-a)*b,0,0.5*b,0);K(d,(0.5+a)*b,0,1*b,(0.1-e)*c,1*b,0.1*c);d.lineTo(1*
| b,0.9*c);K(d,1*b,(0.9+e)*c,(0.5+a)*b,1*c,0.5*b,1*c);K(d,(0.5-a)*b,1*c,0,(0.9+e)*c,0,0.9*c);J(d,0,0.9*c,!1);K(d,0,(0.9-e)*c,(0.5-a)*b,0.8*c,0.5*b,0.8*c);K(d,(0.5+a)*b,0.8*c,1*b,(0.9-e)*c,1*b,0.9*c);d.cb(!1);b=d.s;b.G=new H(0,0.1);b.H=new H(1,0.8);t.v(d);return b},Cylinder3:function(a,b,c){var d=F.va;a=0.1*d;var e=0.5*d,d=t.u();J(d,0.1*b,0,!0);d.lineTo(0.9*b,0);K(d,(0.9+a)*b,0,1*b,(0.5-e)*c,1*b,0.5*c);K(d,1*b,(0.5+e)*c,(0.9+a)*b,1*c,0.9*b,1*c);d.lineTo(0.1*b,1*c);K(d,(0.1-a)*b,1*c,0,(0.5+e)*c,0,0.5*
| c);K(d,0,(0.5-e)*c,(0.1-a)*b,0,0.1*b,0);J(d,0.1*b,0,!1);K(d,(0.1+a)*b,0,0.2*b,(0.5-e)*c,0.2*b,0.5*c);K(d,0.2*b,(0.5+e)*c,(0.1+a)*b,1*c,0.1*b,1*c);d.cb(!1);b=d.s;b.G=new H(0.2,0);b.H=new H(0.9,1);t.v(d);return b},DirectData:"Cylinder4",Cylinder4:function(a,b,c){var d=F.va;a=0.1*d;var e=0.5*d,d=t.u();J(d,0.9*b,0,!0);K(d,(0.9+a)*b,0,1*b,(0.5-e)*c,1*b,0.5*c);K(d,1*b,(0.5+e)*c,(0.9+a)*b,1*c,0.9*b,1*c);d.lineTo(0.1*b,1*c);K(d,(0.1-a)*b,1*c,0,(0.5+e)*c,0,0.5*c);K(d,0,(0.5-e)*c,(0.1-a)*b,0,0.1*b,0);d.lineTo(0.9*
| b,0);J(d,0.9*b,0,!1);K(d,(0.9-a)*b,0,0.8*b,(0.5-e)*c,0.8*b,0.5*c);K(d,0.8*b,(0.5+e)*c,(0.9-a)*b,1*c,0.9*b,1*c);d.cb(!1);b=d.s;b.G=new H(0.1,0);b.H=new H(0.8,1);t.v(d);return b},Prism1:function(a,b,c){a=t.u();J(a,0.25*b,0.25*c,!0);a.lineTo(0.75*b,0);a.lineTo(b,0.5*c);a.lineTo(0.5*b,c);a.lineTo(0,c);L(a);J(a,0.25*b,0.25*c,!1);a.lineTo(0.5*b,c);a.cb(!1);b=a.s;b.G=new H(0.408,0.172);b.H=new H(0.833,0.662);t.v(a);return b},Prism2:function(a,b,c){a=t.u();J(a,0,0.25*c,!0);a.lineTo(0.75*b,0);a.lineTo(1*b,
| 0.25*c);a.lineTo(0.75*b,0.75*c);a.lineTo(0,1*c);L(a);J(a,0,c,!1);a.lineTo(0.25*b,0.5*c);a.lineTo(b,0.25*c);a.moveTo(0,0.25*c);a.lineTo(0.25*b,0.5*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.5);b.H=new H(0.75,0.75);t.v(a);return b},Pyramid1:function(a,b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(b,0.75*c);a.lineTo(0.5*b,1*c);a.lineTo(0,0.75*c);L(a);J(a,0.5*b,0,!1);a.lineTo(0.5*b,1*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.367);b.H=new H(0.75,0.875);t.v(a);return b},Pyramid2:function(a,b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(b,
| 0.85*c);a.lineTo(0.5*b,1*c);a.lineTo(0,0.85*c);L(a);J(a,0.5*b,0,!1);a.lineTo(0.5*b,0.7*c);a.lineTo(0,0.85*c);a.moveTo(0.5*b,0.7*c);a.lineTo(1*b,0.85*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.367);b.H=new H(0.75,0.875);t.v(a);return b},Actor:function(a,b,c){var d=F.va,e=0.2*d,g=0.1*d,h=0.5,k=0.1;a=t.u();J(a,h*b,(k+0.1)*c,!0);K(a,(h-e)*b,(k+0.1)*c,(h-0.2)*b,(k+g)*c,(h-0.2)*b,k*c);K(a,(h-0.2)*b,(k-g)*c,(h-e)*b,(k-0.1)*c,h*b,(k-0.1)*c);K(a,(h+e)*b,(k-0.1)*c,(h+0.2)*b,(k-g)*c,(h+0.2)*b,k*c);K(a,(h+0.2)*b,(k+
| g)*c,(h+e)*b,(k+0.1)*c,h*b,(k+0.1)*c);e=0.05;g=d*e;J(a,0.5*b,0.2*c,!0);a.lineTo(0.95*b,0.2*c);h=0.95;k=0.25;K(a,(h+g)*b,(k-e)*c,(h+e)*b,(k-g)*c,(h+e)*b,k*c);a.lineTo(1*b,0.6*c);a.lineTo(0.85*b,0.6*c);a.lineTo(0.85*b,0.35*c);e=0.025;g=d*e;h=0.825;k=0.35;K(a,(h+e)*b,(k-g)*c,(h+g)*b,(k-e)*c,h*b,(k-e)*c);K(a,(h-g)*b,(k-e)*c,(h-e)*b,(k-g)*c,(h-e)*b,k*c);a.lineTo(0.8*b,1*c);a.lineTo(0.55*b,1*c);a.lineTo(0.55*b,0.7*c);e=0.05;g=d*e;h=0.5;k=0.7;K(a,(h+e)*b,(k-g)*c,(h+g)*b,(k-e)*c,h*b,(k-e)*c);K(a,(h-g)*b,
| (k-e)*c,(h-e)*b,(k-g)*c,(h-e)*b,k*c);a.lineTo(0.45*b,1*c);a.lineTo(0.2*b,1*c);a.lineTo(0.2*b,0.35*c);e=0.025;g=d*e;h=0.175;k=0.35;K(a,(h+e)*b,(k-g)*c,(h+g)*b,(k-e)*c,h*b,(k-e)*c);K(a,(h-g)*b,(k-e)*c,(h-e)*b,(k-g)*c,(h-e)*b,k*c);a.lineTo(0.15*b,0.6*c);a.lineTo(0*b,0.6*c);a.lineTo(0*b,0.25*c);e=0.05;g=d*e;h=0.05;k=0.25;K(a,(h-e)*b,(k-g)*c,(h-g)*b,(k-e)*c,h*b,(k-e)*c);a.lineTo(0.5*b,0.2*c);b=a.s;b.G=new H(0.2,0.2);b.H=new H(0.8,0.65);t.v(a);return b},Card:function(a,b,c){a=t.u();J(a,1*b,0*c,!0);a.lineTo(1*
| b,1*c);a.lineTo(0*b,1*c);a.lineTo(0*b,0.2*c);a.lineTo(0.2*b,0*c);L(a);b=a.s;b.G=new H(0,0.2);b.H=Pb;t.v(a);return b},Collate:function(a,b,c){a=t.u();J(a,0.5*b,0.5*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(0.5*b,0.5*c);J(a,0.5*b,0.5*c,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0.5*b,0.5*c);b=a.s;b.G=new H(0.25,0);b.H=new H(0.75,0.25);t.v(a);return b},CreateRequest:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.1);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);J(d,0,a*
| c,!1);d.lineTo(1*b,a*c);d.moveTo(0,(1-a)*c);d.lineTo(1*b,(1-a)*c);d.cb(!1);b=d.s;b.G=new H(0,a);b.H=new H(1,1-a);t.v(d);return b},Database:function(a,b,c){a=t.u();var d=F.va,e=0.5*d,d=0.1*d;J(a,1*b,0.1*c,!0);a.lineTo(1*b,0.9*c);K(a,1*b,(0.9+d)*c,(0.5+e)*b,1*c,0.5*b,1*c);K(a,(0.5-e)*b,1*c,0,(0.9+d)*c,0,0.9*c);a.lineTo(0,0.1*c);K(a,0,(0.1-d)*c,(0.5-e)*b,0,0.5*b,0);K(a,(0.5+e)*b,0,1*b,(0.1-d)*c,1*b,0.1*c);J(a,1*b,0.1*c,!1);K(a,1*b,(0.1+d)*c,(0.5+e)*b,0.2*c,0.5*b,0.2*c);K(a,(0.5-e)*b,0.2*c,0,(0.1+d)*
| c,0,0.1*c);a.moveTo(1*b,0.2*c);K(a,1*b,(0.2+d)*c,(0.5+e)*b,0.3*c,0.5*b,0.3*c);K(a,(0.5-e)*b,0.3*c,0,(0.2+d)*c,0,0.2*c);a.moveTo(1*b,0.3*c);K(a,1*b,(0.3+d)*c,(0.5+e)*b,0.4*c,0.5*b,0.4*c);K(a,(0.5-e)*b,0.4*c,0,(0.3+d)*c,0,0.3*c);a.cb(!1);b=a.s;b.G=new H(0,0.4);b.H=new H(1,0.9);t.v(a);return b},StoredData:"DataStorage",DataStorage:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.75*b,0);K(a,1*b,0,1*b,1*c,0.75*b,1*c);a.lineTo(0,1*c);K(a,0.25*b,0.9*c,0.25*b,0.1*c,0,0);L(a);b=a.s;b.G=new H(0.226,0);b.H=new H(0.81,
| 1);t.v(a);return b},DiskStorage:function(a,b,c){a=t.u();var d=F.va,e=0.5*d,d=0.1*d;J(a,1*b,0.1*c,!0);a.lineTo(1*b,0.9*c);K(a,1*b,(0.9+d)*c,(0.5+e)*b,1*c,0.5*b,1*c);K(a,(0.5-e)*b,1*c,0,(0.9+d)*c,0,0.9*c);a.lineTo(0,0.1*c);K(a,0,(0.1-d)*c,(0.5-e)*b,0,0.5*b,0);K(a,(0.5+e)*b,0,1*b,(0.1-d)*c,1*b,0.1*c);J(a,1*b,0.1*c,!1);K(a,1*b,(0.1+d)*c,(0.5+e)*b,0.2*c,0.5*b,0.2*c);K(a,(0.5-e)*b,0.2*c,0,(0.1+d)*c,0,0.1*c);a.moveTo(1*b,0.2*c);K(a,1*b,(0.2+d)*c,(0.5+e)*b,0.3*c,0.5*b,0.3*c);K(a,(0.5-e)*b,0.3*c,0,(0.2+d)*
| c,0,0.2*c);a.cb(!1);b=a.s;b.G=new H(0,0.3);b.H=new H(1,0.9);t.v(a);return b},Display:function(a,b,c){a=t.u();J(a,0.25*b,0,!0);a.lineTo(0.75*b,0);K(a,1*b,0,1*b,1*c,0.75*b,1*c);a.lineTo(0.25*b,1*c);a.lineTo(0,0.5*c);L(a);b=a.s;b.G=new H(0.25,0);b.H=new H(0.75,1);t.v(a);return b},DividedEvent:function(a,b,c){a=a?a.Ec:0;0===a?a=0.2:0.15>a&&(a=0.15);var d=t.u(),e=0.2*F.va;J(d,0,0.2*c,!0);K(d,0,(0.2-e)*c,(0.2-e)*b,0,0.2*b,0);d.lineTo(0.8*b,0);K(d,(0.8+e)*b,0,1*b,(0.2-e)*c,1*b,0.2*c);d.lineTo(1*b,0.8*c);
| K(d,1*b,(0.8+e)*c,(0.8+e)*b,1*c,0.8*b,1*c);d.lineTo(0.2*b,1*c);K(d,(0.2-e)*b,1*c,0,(0.8+e)*c,0,0.8*c);d.lineTo(0,0.2*c);J(d,0,a*c,!1);d.lineTo(1*b,a*c);d.cb(!1);b=d.s;b.G=new H(0,a);b.H=new H(1,1-a);t.v(d);return b},DividedProcess:function(a,b,c){a=a?a.Ec:0;0.1>a&&(a=0.1);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);J(d,0,a*c,!1);d.lineTo(1*b,a*c);d.cb(!1);b=d.s;b.G=new H(0,a);b.H=Pb;t.v(d);return b},Document:function(a,b,c){c/=0.8;a=t.u();J(a,0,0.7*c,!0);a.lineTo(0,
| 0);a.lineTo(1*b,0);a.lineTo(1*b,0.7*c);K(a,0.5*b,0.4*c,0.5*b,1*c,0,0.7*c);L(a);b=a.s;b.G=Eb;b.H=new H(1,0.6);t.v(a);return b},ExternalOrganization:function(a,b,c){a=a?a.Ec:0;0.2>a&&(a=0.2);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);J(d,a*b,0,!1);d.lineTo(0,a*c);d.moveTo(1*b,a*c);d.lineTo((1-a)*b,0);d.moveTo(0,(1-a)*c);d.lineTo(a*b,1*c);d.moveTo((1-a)*b,1*c);d.lineTo(1*b,(1-a)*c);d.cb(!1);b=d.s;b.G=new H(a/2,a/2);b.H=new H(1-a/2,1-a/2);t.v(d);return b},ExternalProcess:function(a,
| b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(1*b,0.5*c);a.lineTo(0.5*b,1*c);a.lineTo(0,0.5*c);L(a);J(a,0.1*b,0.4*c,!1);a.lineTo(0.1*b,0.6*c);a.moveTo(0.9*b,0.6*c);a.lineTo(0.9*b,0.4*c);a.moveTo(0.6*b,0.1*c);a.lineTo(0.4*b,0.1*c);a.moveTo(0.4*b,0.9*c);a.lineTo(0.6*b,0.9*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.25);b.H=new H(0.75,0.75);t.v(a);return b},File:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.75*b,0);a.lineTo(1*b,0.25*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);L(a);J(a,0.75*b,0,!1);a.lineTo(0.75*b,0.25*c);
| a.lineTo(1*b,0.25*c);a.cb(!1);b=a.s;b.G=new H(0,0.25);b.H=Pb;t.v(a);return b},Interrupt:function(a,b,c){a=t.u();J(a,1*b,0.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,0.5*c);J(a,1*b,0.5*c,!1);a.lineTo(1*b,1*c);J(a,1*b,0.5*c,!1);a.lineTo(1*b,0);b=a.s;b.G=new H(0,0.25);b.H=new H(0.5,0.75);t.v(a);return b},InternalStorage:function(a,b,c){var d=a?a.Ec:0;a=a?a.Ft:0;0===d&&(d=0.1);0===a&&(a=0.1);var e=t.u();J(e,0,0,!0);e.lineTo(1*b,0);e.lineTo(1*b,1*c);e.lineTo(0,1*c);L(e);J(e,d*b,0,!1);e.lineTo(d*
| b,1*c);e.moveTo(0,a*c);e.lineTo(1*b,a*c);e.cb(!1);b=e.s;b.G=new H(d,a);b.H=Pb;t.v(e);return b},Junction:function(a,b,c){a=t.u();var d=1/Math.SQRT2,e=(1-1/Math.SQRT2)/2,g=0.5*F.va;J(a,1*b,0.5*c,!0);K(a,1*b,(0.5+g)*c,(0.5+g)*b,1*c,0.5*b,1*c);K(a,(0.5-g)*b,1*c,0,(0.5+g)*c,0,0.5*c);K(a,0,(0.5-g)*c,(0.5-g)*b,0,0.5*b,0);K(a,(0.5+g)*b,0,1*b,(0.5-g)*c,1*b,0.5*c);J(a,(e+d)*b,(e+d)*c,!1);a.lineTo(e*b,e*c);a.moveTo(e*b,(e+d)*c);a.lineTo((e+d)*b,e*c);a.cb(!1);b=a.s;b.sc=Vg;t.v(a);return b},LinedDocument:function(a,
| b,c){c/=0.8;a=t.u();J(a,0,0.7*c,!0);a.lineTo(0,0);a.lineTo(1*b,0);a.lineTo(1*b,0.7*c);K(a,0.5*b,0.4*c,0.5*b,1*c,0,0.7*c);L(a);J(a,0.1*b,0,!1);a.lineTo(0.1*b,0.75*c);a.cb(!1);b=a.s;b.G=new H(0.1,0);b.H=new H(1,0.6);t.v(a);return b},LoopLimit:function(a,b,c){a=t.u();J(a,0,1*c,!0);a.lineTo(0,0.25*c);a.lineTo(0.25*b,0);a.lineTo(0.75*b,0);a.lineTo(1*b,0.25*c);a.lineTo(1*b,1*c);L(a);b=a.s;b.G=new H(0,0.25);b.H=Pb;t.v(a);return b},SequentialData:"MagneticTape",MagneticTape:function(a,b,c){a=t.u();var d=
| 0.5*F.va;J(a,0.5*b,1*c,!0);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);K(a,1*b,(0.5+d)*c,(0.5+d)*b,0.9*c,0.6*b,0.9*c);a.lineTo(1*b,0.9*c);a.lineTo(1*b,1*c);a.lineTo(0.5*b,1*c);b=a.s;b.G=new H(0.15,0.15);b.H=new H(0.85,0.8);t.v(a);return b},ManualInput:function(a,b,c){a=t.u();J(a,1*b,0,!0);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0.25*c);L(a);b=a.s;b.G=new H(0,0.25);b.H=Pb;t.v(a);return b},MessageFromUser:function(a,b,c){a=
| a?a.Ec:0;0===a&&(a=0.7);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(a*b,0.5*c);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);b=d.s;b.G=Eb;b.H=new H(a,1);t.v(d);return b},MicroformProcessing:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.25);var d=t.u();J(d,0,0,!0);d.lineTo(0.5*b,a*c);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0.5*b,(1-a)*c);d.lineTo(0,1*c);L(d);b=d.s;b.G=new H(0,a);b.H=new H(1,1-a);t.v(d);return b},MicroformRecording:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.75*b,0.25*c);a.lineTo(1*b,
| 0.15*c);a.lineTo(1*b,0.85*c);a.lineTo(0.75*b,0.75*c);a.lineTo(0,1*c);L(a);b=a.s;b.G=new H(0,0.25);b.H=new H(1,0.75);t.v(a);return b},MultiDocument:function(a,b,c){c/=0.8;a=t.u();J(a,b,0,!0);a.lineTo(b,0.5*c);K(a,0.96*b,0.47*c,0.93*b,0.45*c,0.9*b,0.44*c);a.lineTo(0.9*b,0.6*c);K(a,0.86*b,0.57*c,0.83*b,0.55*c,0.8*b,0.54*c);a.lineTo(0.8*b,0.7*c);K(a,0.4*b,0.4*c,0.4*b,1*c,0,0.7*c);a.lineTo(0,0.2*c);a.lineTo(0.1*b,0.2*c);a.lineTo(0.1*b,0.1*c);a.lineTo(0.2*b,0.1*c);a.lineTo(0.2*b,0);L(a);J(a,0.1*b,0.2*c,
| !1);a.lineTo(0.8*b,0.2*c);a.lineTo(0.8*b,0.54*c);a.moveTo(0.2*b,0.1*c);a.lineTo(0.9*b,0.1*c);a.lineTo(0.9*b,0.44*c);a.cb(!1);b=a.s;b.G=new H(0,0.25);b.H=new H(0.8,0.77);t.v(a);return b},MultiProcess:function(a,b,c){a=t.u();J(a,0.1*b,0.1*c,!0);a.lineTo(0.2*b,0.1*c);a.lineTo(0.2*b,0);a.lineTo(1*b,0);a.lineTo(1*b,0.8*c);a.lineTo(0.9*b,0.8*c);a.lineTo(0.9*b,0.9*c);a.lineTo(0.8*b,0.9*c);a.lineTo(0.8*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0.2*c);a.lineTo(0.1*b,0.2*c);L(a);J(a,0.2*b,0.1*c,!1);a.lineTo(0.9*b,
| 0.1*c);a.lineTo(0.9*b,0.8*c);a.moveTo(0.1*b,0.2*c);a.lineTo(0.8*b,0.2*c);a.lineTo(0.8*b,0.9*c);a.cb(!1);b=a.s;b.G=new H(0,0.2);b.H=new H(0.8,1);t.v(a);return b},OfflineStorage:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.1);var d=1-a,e=t.u();J(e,0,0,!0);e.lineTo(1*b,0);e.lineTo(0.5*b,1*c);L(e);J(e,0.5*a*b,a*c,!1);e.lineTo((1-0.5*a)*b,a*c);e.cb(!1);b=e.s;b.G=new H(d/4+0.5*a,a);b.H=new H(3*d/4+0.5*a,a+0.5*d);t.v(e);return b},OffPageConnector:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(0.75*b,0);a.lineTo(1*
| b,0.5*c);a.lineTo(0.75*b,1*c);a.lineTo(0,1*c);L(a);b=a.s;b.G=Eb;b.H=new H(0.75,1);t.v(a);return b},Or:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,1*b,0.5*c,!0);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);J(a,1*b,0.5*c,!1);a.lineTo(0,0.5*c);a.moveTo(0.5*b,1*c);a.lineTo(0.5*b,0);a.cb(!1);b=a.s;b.sc=Vg;t.v(a);return b},PaperTape:function(a,b,c){c/=0.8;a=t.u();J(a,0,0.7*c,!0);a.lineTo(0,
| 0.3*c);K(a,0.5*b,0.6*c,0.5*b,0,1*b,0.3);a.lineTo(1*b,0.7*c);K(a,0.5*b,0.4*c,0.5*b,1*c,0,0.7*c);L(a);b=a.s;b.G=new H(0,0.49);b.H=new H(1,0.75);t.v(a);return b},PrimitiveFromCall:function(a,b,c){var d=a?a.Ec:0;a=a?a.Ft:0;0===d&&(d=0.1);0===a&&(a=0.3);var e=t.u();J(e,0,0,!0);e.lineTo(1*b,0);e.lineTo((1-a)*b,0.5*c);e.lineTo(1*b,1*c);e.lineTo(0,1*c);L(e);b=e.s;b.G=new H(d,0);b.H=new H(1-a,1);t.v(e);return b},PrimitiveToCall:function(a,b,c){var d=a?a.Ec:0;a=a?a.Ft:0;0===d&&(d=0.1);0===a&&(a=0.3);var e=
| t.u();J(e,0,0,!0);e.lineTo((1-a)*b,0);e.lineTo(1*b,0.5*c);e.lineTo((1-a)*b,1*c);e.lineTo(0,1*c);L(e);b=e.s;b.G=new H(d,0);b.H=new H(1-a,1);t.v(e);return b},Subroutine:"Procedure",Procedure:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.1);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);J(d,(1-a)*b,0,!1);d.lineTo((1-a)*b,1*c);d.moveTo(a*b,0);d.lineTo(a*b,1*c);d.cb(!1);b=d.s;b.G=new H(a,0);b.H=new H(1-a,1);t.v(d);return b},Process:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.1);var d=
| t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0,1*c);L(d);J(d,a*b,0,!1);d.lineTo(a*b,1*c);d.cb(!1);b=d.s;b.G=new H(a,0);b.H=Pb;t.v(d);return b},Sort:function(a,b,c){a=t.u();J(a,0.5*b,0,!0);a.lineTo(1*b,0.5*c);a.lineTo(0.5*b,1*c);a.lineTo(0,0.5*c);L(a);J(a,0,0.5*c,!1);a.lineTo(1*b,0.5*c);a.cb(!1);b=a.s;b.G=new H(0.25,0.25);b.H=new H(0.75,0.5);t.v(a);return b},Start:function(a,b,c){a=t.u();J(a,0.25*b,0,!0);J(a,0.25*b,0,!0);a.arcTo(270,180,0.75*b,0.5*c,0.25*b,0.5*c);a.arcTo(90,180,0.25*
| b,0.5*c,0.25*b,0.5*c);J(a,0.25*b,0,!1);a.lineTo(0.25*b,1*c);a.moveTo(0.75*b,0);a.lineTo(0.75*b,1*c);a.cb(!1);b=a.s;b.G=new H(0.25,0);b.H=new H(0.75,1);t.v(a);return b},Terminator:function(a,b,c){a=t.u();J(a,0.25*b,0,!0);a.arcTo(270,180,0.75*b,0.5*c,0.25*b,0.5*c);a.arcTo(90,180,0.25*b,0.5*c,0.25*b,0.5*c);b=a.s;b.G=new H(0.23,0);b.H=new H(0.77,1);t.v(a);return b},TransmittalTape:function(a,b,c){a=a?a.Ec:0;0===a&&(a=0.1);var d=t.u();J(d,0,0,!0);d.lineTo(1*b,0);d.lineTo(1*b,1*c);d.lineTo(0.75*b,(1-a)*
| c);d.lineTo(0,(1-a)*c);L(d);b=d.s;b.G=Eb;b.H=new H(1,1-a);t.v(d);return b},AndGate:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,0,0,!0);a.lineTo(0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);a.lineTo(0,1*c);L(a);b=a.s;b.G=Eb;b.H=new H(0.55,1);t.v(a);return b},Buffer:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(1*b,0.5*c);a.lineTo(0,1*c);L(a);b=a.s;b.G=new H(0,0.25);b.H=new H(0.5,0.75);t.v(a);return b},Clock:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,1*
| b,0.5*c,!0);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);J(a,1*b,0.5*c,!1);a.lineTo(1*b,0.5*c);J(a,0.8*b,0.75*c,!1);a.lineTo(0.8*b,0.25*c);a.lineTo(0.6*b,0.25*c);a.lineTo(0.6*b,0.75*c);a.lineTo(0.4*b,0.75*c);a.lineTo(0.4*b,0.25*c);a.lineTo(0.2*b,0.25*c);a.lineTo(0.2*b,0.75*c);a.cb(!1);b=a.s;b.sc=Vg;t.v(a);return b},Ground:function(a,b,c){a=t.u();J(a,0.5*b,0,!1);a.lineTo(0.5*b,0.4*c);
| a.moveTo(0.2*b,0.6*c);a.lineTo(0.8*b,0.6*c);a.moveTo(0.3*b,0.8*c);a.lineTo(0.7*b,0.8*c);a.moveTo(0.4*b,1*c);a.lineTo(0.6*b,1*c);b=a.s;t.v(a);return b},Inverter:function(a,b,c){a=t.u();var d=0.1*F.va;J(a,0.8*b,0.5*c,!0);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(0.8*b,0.5*c);J(a,1*b,0.5*c,!0);K(a,1*b,(0.5+d)*c,(0.9+d)*b,0.6*c,0.9*b,0.6*c);K(a,(0.9-d)*b,0.6*c,0.8*b,(0.5+d)*c,0.8*b,0.5*c);K(a,0.8*b,(0.5-d)*c,(0.9-d)*b,0.4*c,0.9*b,0.4*c);K(a,(0.9+d)*b,0.4*c,1*b,(0.5-d)*c,1*b,0.5*c);b=a.s;b.G=new H(0,0.25);
| b.H=new H(0.4,0.75);t.v(a);return b},NandGate:function(a,b,c){a=t.u();var d=F.va,e=0.5*d,g=0.4*d,d=0.1*d;J(a,0.8*b,0.5*c,!0);K(a,0.8*b,(0.5+g)*c,(0.4+e)*b,1*c,0.4*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(0.4*b,0);K(a,(0.4+e)*b,0,0.8*b,(0.5-g)*c,0.8*b,0.5*c);J(a,1*b,0.5*c,!0);K(a,1*b,(0.5+d)*c,(0.9+d)*b,0.6*c,0.9*b,0.6*c);K(a,(0.9-d)*b,0.6*c,0.8*b,(0.5+d)*c,0.8*b,0.5*c);K(a,0.8*b,(0.5-d)*c,(0.9-d)*b,0.4*c,0.9*b,0.4*c);K(a,(0.9+d)*b,0.4*c,1*b,(0.5-d)*c,1*b,0.5*c);b=a.s;b.G=new H(0,0.05);b.H=new H(0.55,
| 0.95);t.v(a);return b},NorGate:function(a,b,c){a=t.u();var d=F.va,e=0.5,g=d*e,h=0,k=0.5;J(a,0.8*b,0.5*c,!0);K(a,0.7*b,(k+g)*c,(h+g)*b,(k+e)*c,0,1*c);K(a,0.25*b,0.75*c,0.25*b,0.25*c,0,0);K(a,(h+g)*b,(k-e)*c,0.7*b,(k-g)*c,0.8*b,0.5*c);e=0.1;g=0.1*d;h=0.9;k=0.5;J(a,(h-e)*b,k*c,!0);K(a,(h-e)*b,(k-g)*c,(h-g)*b,(k-e)*c,h*b,(k-e)*c);K(a,(h+g)*b,(k-e)*c,(h+e)*b,(k-g)*c,(h+e)*b,k*c);K(a,(h+e)*b,(k+g)*c,(h+g)*b,(k+e)*c,h*b,(k+e)*c);K(a,(h-g)*b,(k+e)*c,(h-e)*b,(k+g)*c,(h-e)*b,k*c);b=a.s;b.G=new H(0.2,0.25);
| b.H=new H(0.6,0.75);t.v(a);return b},OrGate:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,0,0,!0);K(a,(0+d+d)*b,0*c,0.8*b,(0.5-d)*c,1*b,0.5*c);K(a,0.8*b,(0.5+d)*c,(0+d+d)*b,1*c,0,1*c);K(a,0.25*b,0.75*c,0.25*b,0.25*c,0,0);L(a);b=a.s;b.G=new H(0.2,0.25);b.H=new H(0.75,0.75);t.v(a);return b},XnorGate:function(a,b,c){a=t.u();var d=F.va,e=0.5,g=d*e,h=0.2,k=0.5;J(a,0.1*b,0,!1);K(a,0.35*b,0.25*c,0.35*b,0.75*c,0.1*b,1*c);J(a,0.8*b,0.5*c,!0);K(a,0.7*b,(k+g)*c,(h+g)*b,(k+e)*c,0.2*b,1*c);K(a,0.45*b,0.75*c,0.45*
| b,0.25*c,0.2*b,0);K(a,(h+g)*b,(k-e)*c,0.7*b,(k-g)*c,0.8*b,0.5*c);e=0.1;g=0.1*d;h=0.9;k=0.5;J(a,(h-e)*b,k*c,!0);K(a,(h-e)*b,(k-g)*c,(h-g)*b,(k-e)*c,h*b,(k-e)*c);K(a,(h+g)*b,(k-e)*c,(h+e)*b,(k-g)*c,(h+e)*b,k*c);K(a,(h+e)*b,(k+g)*c,(h+g)*b,(k+e)*c,h*b,(k+e)*c);K(a,(h-g)*b,(k+e)*c,(h-e)*b,(k+g)*c,(h-e)*b,k*c);b=a.s;b.G=new H(0.4,0.25);b.H=new H(0.65,0.75);t.v(a);return b},XorGate:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,0.1*b,0,!1);K(a,0.35*b,0.25*c,0.35*b,0.75*c,0.1*b,1*c);J(a,0.2*b,0,!0);K(a,(0.2+
| d)*b,0*c,0.9*b,(0.5-d)*c,1*b,0.5*c);K(a,0.9*b,(0.5+d)*c,(0.2+d)*b,1*c,0.2*b,1*c);K(a,0.45*b,0.75*c,0.45*b,0.25*c,0.2*b,0);L(a);b=a.s;b.G=new H(0.4,0.25);b.H=new H(0.8,0.75);t.v(a);return b},Capacitor:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(0,1*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},Resistor:function(a,b,c){a=t.u();J(a,0,0.5*c,!1);a.lineTo(0.1*b,0);a.lineTo(0.2*b,1*c);a.lineTo(0.3*b,0);a.lineTo(0.4*b,1*c);a.lineTo(0.5*b,0);a.lineTo(0.6*b,1*c);a.lineTo(0.7*b,0.5*c);b=a.s;t.v(a);
| return b},Inductor:function(a,b,c){a=t.u();var d=0.1*F.va,e=0.1,g=0.5;J(a,(e-0.5*d)*b,(g+0.1)*c,!1);K(a,(e-d)*b,(g+0.1)*c,(e-0.1)*b,(g+d)*c,(e+0.1)*b,(g+d)*c);e=0.3;g=0.5;K(a,(e+0.1)*b,(g+d)*c,(e+d)*b,(g+0.1)*c,e*b,(g+0.1)*c);K(a,(e-d)*b,(g+0.1)*c,(e-0.1)*b,(g+d)*c,(e+0.1)*b,(g+d)*c);g=e=0.5;K(a,(e+0.1)*b,(g+d)*c,(e+d)*b,(g+0.1)*c,e*b,(g+0.1)*c);K(a,(e-d)*b,(g+0.1)*c,(e-0.1)*b,(g+d)*c,(e+0.1)*b,(g+d)*c);e=0.7;g=0.5;K(a,(e+0.1)*b,(g+d)*c,(e+d)*b,(g+0.1)*c,e*b,(g+0.1)*c);K(a,(e-d)*b,(g+0.1)*c,(e-0.1)*
| b,(g+d)*c,(e+0.1)*b,(g+d)*c);e=0.9;g=0.5;K(a,(e+0.1)*b,(g+d)*c,(e+d)*b,(g+0.1)*c,(e+0.5*d)*b,(g+0.1)*c);b=a.s;t.v(a);return b},ACvoltageSource:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,0*b,0.5*c,!1);K(a,0*b,(0.5-d)*c,(0.5-d)*b,0*c,0.5*b,0*c);K(a,(0.5+d)*b,0*c,1*b,(0.5-d)*c,1*b,0.5*c);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0*b,(0.5+d)*c,0*b,0.5*c);a.moveTo(0.1*b,0.5*c);K(a,0.5*b,0*c,0.5*b,1*c,0.9*b,0.5*c);b=a.s;b.sc=Vg;t.v(a);return b},DCvoltageSource:function(a,b,c){a=t.u();
| J(a,0,0.75*c,!1);a.lineTo(0,0.25*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},Diode:function(a,b,c){a=t.u();J(a,1*b,0,!1);a.lineTo(1*b,0.5*c);a.lineTo(0,1*c);a.lineTo(0,0);a.lineTo(1*b,0.5*c);a.lineTo(1*b,1*c);b=a.s;b.G=new H(0,0.25);b.H=new H(0.5,0.75);t.v(a);return b},Wifi:function(a,b,c){var d=b,e=c;b*=0.38;c*=0.6;a=t.u();var g=F.va,h=0.8*g,k=0.8,l=0,m=0.5,d=(d-b)/2,e=(e-c)/2;J(a,l*b+d,(m+k)*c+e,!0);K(a,(l-h)*b+d,(m+k)*c+e,(l-k)*b+d,(m+h)*c+e,(l-k)*b+d,m*c+e);K(a,(l-k)*b+d,(m-h)*
| c+e,(l-h)*b+d,(m-k)*c+e,l*b+d,(m-k)*c+e);K(a,l*b+d,(m-k)*c+e,(l-k+0.5*h)*b+d,(m-h)*c+e,(l-k+0.5*h)*b+d,m*c+e);K(a,(l-k+0.5*h)*b+d,(m+h)*c+e,l*b+d,(m+k)*c+e,l*b+d,(m+k)*c+e);L(a);h=0.4*g;k=0.4;l=0.2;m=0.5;J(a,l*b+d,(m+k)*c+e,!0);K(a,(l-h)*b+d,(m+k)*c+e,(l-k)*b+d,(m+h)*c+e,(l-k)*b+d,m*c+e);K(a,(l-k)*b+d,(m-h)*c+e,(l-h)*b+d,(m-k)*c+e,l*b+d,(m-k)*c+e);K(a,l*b+d,(m-k)*c+e,(l-k+0.5*h)*b+d,(m-h)*c+e,(l-k+0.5*h)*b+d,m*c+e);K(a,(l-k+0.5*h)*b+d,(m+h)*c+e,l*b+d,(m+k)*c+e,l*b+d,(m+k)*c+e);L(a);h=0.2*g;k=0.2;
| m=l=0.5;J(a,(l-k)*b+d,m*c+e,!0);K(a,(l-k)*b+d,(m-h)*c+e,(l-h)*b+d,(m-k)*c+e,l*b+d,(m-k)*c+e);K(a,(l+h)*b+d,(m-k)*c+e,(l+k)*b+d,(m-h)*c+e,(l+k)*b+d,m*c+e);K(a,(l+k)*b+d,(m+h)*c+e,(l+h)*b+d,(m+k)*c+e,l*b+d,(m+k)*c+e);K(a,(l-h)*b+d,(m+k)*c+e,(l-k)*b+d,(m+h)*c+e,(l-k)*b+d,m*c+e);h=0.4*g;k=0.4;l=0.8;m=0.5;J(a,l*b+d,(m-k)*c+e,!0);K(a,(l+h)*b+d,(m-k)*c+e,(l+k)*b+d,(m-h)*c+e,(l+k)*b+d,m*c+e);K(a,(l+k)*b+d,(m+h)*c+e,(l+h)*b+d,(m+k)*c+e,l*b+d,(m+k)*c+e);K(a,l*b+d,(m+k)*c+e,(l+k-0.5*h)*b+d,(m+h)*c+e,(l+k-0.5*
| h)*b+d,m*c+e);K(a,(l+k-0.5*h)*b+d,(m-h)*c+e,l*b+d,(m-k)*c+e,l*b+d,(m-k)*c+e);L(a);h=0.8*g;k=0.8;l=1;m=0.5;J(a,l*b+d,(m-k)*c+e,!0);K(a,(l+h)*b+d,(m-k)*c+e,(l+k)*b+d,(m-h)*c+e,(l+k)*b+d,m*c+e);K(a,(l+k)*b+d,(m+h)*c+e,(l+h)*b+d,(m+k)*c+e,l*b+d,(m+k)*c+e);K(a,l*b+d,(m+k)*c+e,(l+k-0.5*h)*b+d,(m+h)*c+e,(l+k-0.5*h)*b+d,m*c+e);K(a,(l+k-0.5*h)*b+d,(m-h)*c+e,l*b+d,(m-k)*c+e,l*b+d,(m-k)*c+e);L(a);b=a.s;t.v(a);return b},Email:function(a,b,c){a=t.u();J(a,0,0,!0);a.lineTo(1*b,0);a.lineTo(1*b,1*c);a.lineTo(0,1*
| c);a.lineTo(0,0);L(a);J(a,0,0,!1);a.lineTo(0.5*b,0.6*c);a.lineTo(1*b,0);a.moveTo(0,1*c);a.lineTo(0.45*b,0.54*c);a.moveTo(1*b,1*c);a.lineTo(0.55*b,0.54*c);a.cb(!1);b=a.s;t.v(a);return b},Ethernet:function(a,b,c){a=t.u();J(a,0.35*b,0,!0);a.lineTo(0.65*b,0);a.lineTo(0.65*b,0.4*c);a.lineTo(0.35*b,0.4*c);a.lineTo(0.35*b,0);L(a);J(a,0.1*b,1*c,!0,!0);a.lineTo(0.4*b,1*c);a.lineTo(0.4*b,0.6*c);a.lineTo(0.1*b,0.6*c);a.lineTo(0.1*b,1*c);L(a);J(a,0.6*b,1*c,!0,!0);a.lineTo(0.9*b,1*c);a.lineTo(0.9*b,0.6*c);a.lineTo(0.6*
| b,0.6*c);a.lineTo(0.6*b,1*c);L(a);J(a,0,0.5*c,!1);a.lineTo(1*b,0.5*c);a.moveTo(0.5*b,0.5*c);a.lineTo(0.5*b,0.4*c);a.moveTo(0.75*b,0.5*c);a.lineTo(0.75*b,0.6*c);a.moveTo(0.25*b,0.5*c);a.lineTo(0.25*b,0.6*c);a.cb(!1);b=a.s;t.v(a);return b},Power:function(a,b,c){a=t.u();var d=F.va,e=0.4*d,g=0.4,h=t.K(),k=t.K(),l=t.K(),m=t.K();F.Li(0.5,0.5-g,0.5+e,0.5-g,0.5+g,0.5-e,0.5+g,0.5,0.5,h,h,k,l,m);var n=t.gc(k.x,k.y);J(a,k.x*b,k.y*c,!0);K(a,l.x*b,l.y*c,m.x*b,m.y*c,(0.5+g)*b,0.5*c);K(a,(0.5+g)*b,(0.5+e)*c,(0.5+
| e)*b,(0.5+g)*c,0.5*b,(0.5+g)*c);K(a,(0.5-e)*b,(0.5+g)*c,(0.5-g)*b,(0.5+e)*c,(0.5-g)*b,0.5*c);F.Li(0.5-g,0.5,0.5-g,0.5-e,0.5-e,0.5-g,0.5,0.5-g,0.5,l,m,k,h,h);K(a,l.x*b,l.y*c,m.x*b,m.y*c,k.x*b,k.y*c);e=0.3*d;g=0.3;F.Li(0.5-g,0.5,0.5-g,0.5-e,0.5-e,0.5-g,0.5,0.5-g,0.5,l,m,k,h,h);a.lineTo(k.x*b,k.y*c);K(a,m.x*b,m.y*c,l.x*b,l.y*c,(0.5-g)*b,0.5*c);K(a,(0.5-g)*b,(0.5+e)*c,(0.5-e)*b,(0.5+g)*c,0.5*b,(0.5+g)*c);K(a,(0.5+e)*b,(0.5+g)*c,(0.5+g)*b,(0.5+e)*c,(0.5+g)*b,0.5*c);F.Li(0.5,0.5-g,0.5+e,0.5-g,0.5+g,0.5-
| e,0.5+g,0.5,0.5,h,h,k,l,m);K(a,m.x*b,m.y*c,l.x*b,l.y*c,k.x*b,k.y*c);L(a);J(a,0.45*b,0,!0);a.lineTo(0.45*b,0.5*c);a.lineTo(0.55*b,0.5*c);a.lineTo(0.55*b,0);L(a);t.B(h);t.B(k);t.B(l);t.B(m);t.B(n);b=a.s;b.G=new H(0.25,0.55);b.H=new H(0.75,0.8);t.v(a);return b},Fallout:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,0*b,0.5*c,!0);K(a,0*b,(0.5-d)*c,(0.5-d)*b,0*c,0.5*b,0*c);K(a,(0.5+d)*b,0*c,1*b,(0.5-d)*c,1*b,0.5*c);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0*b,(0.5+d)*c,0*b,0.5*c);var e=
| d=0;J(a,(0.3+d)*b,(0.8+e)*c,!0,!0);a.lineTo((0.5+d)*b,(0.5+e)*c);a.lineTo((0.1+d)*b,(0.5+e)*c);a.lineTo((0.3+d)*b,(0.8+e)*c);d=0.4;e=0;L(a);J(a,(0.3+d)*b,(0.8+e)*c,!0,!0);a.lineTo((0.5+d)*b,(0.5+e)*c);a.lineTo((0.1+d)*b,(0.5+e)*c);a.lineTo((0.3+d)*b,(0.8+e)*c);d=0.2;e=-0.3;L(a);J(a,(0.3+d)*b,(0.8+e)*c,!0,!0);a.lineTo((0.5+d)*b,(0.5+e)*c);a.lineTo((0.1+d)*b,(0.5+e)*c);a.lineTo((0.3+d)*b,(0.8+e)*c);L(a);b=a.s;b.sc=Vg;t.v(a);return b},IrritationHazard:function(a,b,c){a=t.u();J(a,0.2*b,0*c,!0);a.lineTo(0.5*
| b,0.3*c);a.lineTo(0.8*b,0*c);a.lineTo(1*b,0.2*c);a.lineTo(0.7*b,0.5*c);a.lineTo(1*b,0.8*c);a.lineTo(0.8*b,1*c);a.lineTo(0.5*b,0.7*c);a.lineTo(0.2*b,1*c);a.lineTo(0*b,0.8*c);a.lineTo(0.3*b,0.5*c);a.lineTo(0*b,0.2*c);L(a);b=a.s;b.G=new H(0.3,0.3);b.H=new H(0.7,0.7);t.v(a);return b},ElectricalHazard:function(a,b,c){a=t.u();J(a,0.37,0*c,!0);a.lineTo(0.5*b,0.11*c);a.lineTo(0.77*b,0.04*c);a.lineTo(0.33*b,0.49*c);a.lineTo(1*b,0.37*c);a.lineTo(0.63*b,0.86*c);a.lineTo(0.77*b,0.91*c);a.lineTo(0.34*b,1*c);a.lineTo(0.34*
| b,0.78*c);a.lineTo(0.44*b,0.8*c);a.lineTo(0.65*b,0.56*c);a.lineTo(0*b,0.68*c);L(a);b=a.s;t.v(a);return b},FireHazard:function(a,b,c){a=t.u();J(a,0.1*b,1*c,!0);K(a,-0.25*b,0.63*c,0.45*b,0.44*c,0.29*b,0*c);K(a,0.48*b,0.17*c,0.54*b,0.35*c,0.51*b,0.42*c);K(a,0.59*b,0.29*c,0.58*b,0.28*c,0.59*b,0.18*c);K(a,0.8*b,0.34*c,0.88*b,0.43*c,0.75*b,0.6*c);K(a,0.87*b,0.48*c,0.88*b,0.43*c,0.88*b,0.31*c);K(a,1.17*b,0.76*c,0.82*b,0.8*c,0.9*b,1*c);L(a);b=a.s;b.G=new H(0.05,0.645);b.H=new H(0.884,0.908);t.v(a);return b},
| BpmnActivityLoop:function(a,b,c){a=t.u();var d=4*(Math.SQRT2-1)/3*0.5;J(a,(0.5*Math.SQRT2/2+0.5)*b,(1-(0.5-0.5*Math.SQRT2/2))*c,!1);K(a,1*b,0.7*c,1*b,0.5*c,1*b,0.5*c);K(a,1*b,(0.5-d+0)*c,(0.5+d+0)*b,0*c,0.5*b,0*c);K(a,(0.5-d+0)*b,0*c,0*b,(0.5-d+0)*c,0*b,0.5*c);K(a,0*b,(0.5+d+0)*c,(0.5-d+0)*b,1*c,0.35*b,0.98*c);a.moveTo(0.35*b,0.8*c);a.lineTo(0.35*b,1*c);a.lineTo(0.15*b,1*c);b=a.s;t.v(a);return b},BpmnActivityParallel:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(0,1*c);a.moveTo(0.5*b,0);a.lineTo(0.5*
| b,1*c);a.moveTo(1*b,0);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},BpmnActivitySequential:function(a,b,c){a=t.u();J(a,0,0,!1);a.lineTo(1*b,0);a.moveTo(0,0.5*c);a.lineTo(1*b,0.5*c);a.moveTo(0,1*c);a.lineTo(1*b,1*c);b=a.s;t.v(a);return b},BpmnActivityAdHoc:function(a,b,c){a=t.u();J(a,0,0,!1);J(a,1*b,1*c,!1);J(a,0,0.5*c,!1);K(a,0.2*b,0.35*c,0.3*b,0.35*c,0.5*b,0.5*c);K(a,0.7*b,0.65*c,0.8*b,0.65*c,1*b,0.5*c);b=a.s;t.v(a);return b},BpmnActivityCompensation:function(a,b,c){a=t.u();J(a,0,0.5*c,!0);a.lineTo(0.5*
| b,0);a.lineTo(0.5*b,0.5*c);a.lineTo(1*b,1*c);a.lineTo(1*b,0);a.lineTo(0.5*b,0.5*c);a.lineTo(0.5*b,1*c);L(a);b=a.s;t.v(a);return b},BpmnTaskMessage:function(a,b,c){a=t.u();J(a,0,0.2*c,!0);a.lineTo(1*b,0.2*c);a.lineTo(1*b,0.8*c);a.lineTo(0,0.8*c);a.lineTo(0,0.8*c);L(a);J(a,0,0.2*c,!1);a.lineTo(0.5*b,0.5*c);a.lineTo(1*b,0.2*c);a.cb(!1);b=a.s;t.v(a);return b},BpmnTaskScript:function(a,b,c){a=t.u();J(a,0.7*b,1*c,!0);a.lineTo(0.3*b,1*c);K(a,0.6*b,0.5*c,0,0.5*c,0.3*b,0);a.lineTo(0.7*b,0);K(a,0.4*b,0.5*c,
| 1*b,0.5*c,0.7*b,1*c);L(a);J(a,0.45*b,0.73*c,!1);a.lineTo(0.7*b,0.73*c);a.moveTo(0.38*b,0.5*c);a.lineTo(0.63*b,0.5*c);a.moveTo(0.31*b,0.27*c);a.lineTo(0.56*b,0.27*c);a.cb(!1);b=a.s;t.v(a);return b},BpmnTaskUser:function(a,b,c){a=t.u();J(a,0,0,!1);J(a,0.335*b,(1-0.555)*c,!0);a.lineTo(0.335*b,0.595*c);a.lineTo(0.665*b,0.595*c);a.lineTo(0.665*b,(1-0.555)*c);K(a,0.88*b,0.46*c,0.98*b,0.54*c,1*b,0.68*c);a.lineTo(1*b,1*c);a.lineTo(0,1*c);a.lineTo(0,0.68*c);K(a,0.02*b,0.54*c,0.12*b,0.46*c,0.335*b,(1-0.555)*
| c);a.lineTo(0.365*b,0.405*c);var d=0.5-0.285,e=Math.PI/4,g=4*(1-Math.cos(e))/(3*Math.sin(e)),e=g*d,g=g*d;K(a,(0.5-(e+d)/2)*b,(d+(d+g)/2)*c,(0.5-d)*b,(d+g)*c,(0.5-d)*b,d*c);K(a,(0.5-d)*b,(d-g)*c,(0.5-e)*b,(d-d)*c,0.5*b,(d-d)*c);K(a,(0.5+e)*b,(d-d)*c,(0.5+d)*b,(d-g)*c,(0.5+d)*b,d*c);K(a,(0.5+d)*b,(d+g)*c,(0.5+(e+d)/2)*b,(d+(d+g)/2)*c,0.635*b,0.405*c);a.lineTo(0.635*b,0.405*c);a.lineTo(0.665*b,(1-0.555)*c);a.lineTo(0.665*b,0.595*c);a.lineTo(0.335*b,0.595*c);J(a,0.2*b,1*c,!1);a.lineTo(0.2*b,0.8*c);J(a,
| 0.8*b,1*c,!1);a.lineTo(0.8*b,0.8*c);b=a.s;t.v(a);return b},BpmnEventConditional:function(a,b,c){a=t.u();J(a,0.1*b,0,!0);a.lineTo(0.9*b,0);a.lineTo(0.9*b,1*c);a.lineTo(0.1*b,1*c);L(a);J(a,0.2*b,0.2*c,!1);a.lineTo(0.8*b,0.2*c);a.moveTo(0.2*b,0.4*c);a.lineTo(0.8*b,0.4*c);a.moveTo(0.2*b,0.6*c);a.lineTo(0.8*b,0.6*c);a.moveTo(0.2*b,0.8*c);a.lineTo(0.8*b,0.8*c);a.cb(!1);b=a.s;t.v(a);return b},BpmnEventError:function(a,b,c){a=t.u();J(a,0,1*c,!0);a.lineTo(0.33*b,0);a.lineTo(0.66*b,0.5*c);a.lineTo(1*b,0);a.lineTo(0.66*
| b,1*c);a.lineTo(0.33*b,0.5*c);L(a);b=a.s;t.v(a);return b},BpmnEventEscalation:function(a,b,c){a=t.u();J(a,0,0,!1);J(a,1*b,1*c,!1);J(a,0.1*b,1*c,!0);a.lineTo(0.5*b,0);a.lineTo(0.9*b,1*c);a.lineTo(0.5*b,0.5*c);L(a);b=a.s;t.v(a);return b},BpmnEventTimer:function(a,b,c){a=t.u();var d=0.5*F.va;J(a,1*b,0.5*c,!0);K(a,1*b,(0.5+d)*c,(0.5+d)*b,1*c,0.5*b,1*c);K(a,(0.5-d)*b,1*c,0,(0.5+d)*c,0,0.5*c);K(a,0,(0.5-d)*c,(0.5-d)*b,0,0.5*b,0);K(a,(0.5+d)*b,0,1*b,(0.5-d)*c,1*b,0.5*c);J(a,0.5*b,0,!1);a.lineTo(0.5*b,0.15*
| c);a.moveTo(0.5*b,1*c);a.lineTo(0.5*b,0.85*c);a.moveTo(0,0.5*c);a.lineTo(0.15*b,0.5*c);a.moveTo(1*b,0.5*c);a.lineTo(0.85*b,0.5*c);a.moveTo(0.5*b,0.5*c);a.lineTo(0.58*b,0.1*c);a.moveTo(0.5*b,0.5*c);a.lineTo(0.78*b,0.54*c);a.cb(!1);b=a.s;b.sc=Vg;t.v(a);return b}};F.WA={};for(var mm in F.Ti)F.Ti[mm.toLowerCase()]=mm;
| F.aw={"":"",Standard:"F1 m 0,0 l 8,4 -8,4 2,-4 z",Backward:"F1 m 8,0 l -2,4 2,4 -8,-4 z",Triangle:"F1 m 0,0 l 8,4.62 -8,4.62 z",BackwardTriangle:"F1 m 8,4 l 0,4 -8,-4 8,-4 0,4 z",Boomerang:"F1 m 0,0 l 8,4 -8,4 4,-4 -4,-4 z",BackwardBoomerang:"F1 m 8,0 l -8,4 8,4 -4,-4 4,-4 z",SidewaysV:"m 0,0 l 8,4 -8,4 0,-1 6,-3 -6,-3 0,-1 z",BackwardV:"m 8,0 l -8,4 8,4 0,-1 -6,-3 6,-3 0,-1 z",OpenTriangle:"m 0,0 l 8,4 -8,4",BackwardOpenTriangle:"m 8,0 l -8,4 8,4",OpenTriangleLine:"m 0,0 l 8,4 -8,4 m 8.5,0 l 0,-8",
| BackwardOpenTriangleLine:"m 8,0 l -8,4 8,4 m -8.5,0 l 0,-8",OpenTriangleTop:"m 0,0 l 8,4 m 0,4",BackwardOpenTriangleTop:"m 8,0 l -8,4 m 0,4",OpenTriangleBottom:"m 0,8 l 8,-4",BackwardOpenTriangleBottom:"m 0,4 l 8,4",HalfTriangleTop:"F1 m 0,0 l 0,4 8,0 z m 0,8",BackwardHalfTriangleTop:"F1 m 8,0 l 0,4 -8,0 z m 0,8",HalfTriangleBottom:"F1 m 0,4 l 0,4 8,-4 z",BackwardHalfTriangleBottom:"F1 m 8,4 l 0,4 -8,-4 z",ForwardSemiCircle:"m 4,0 b 270 180 0 4 4",BackwardSemiCircle:"m 4,8 b 90 180 0 -4 4",Feather:"m 0,0 l 3,4 -3,4",
| BackwardFeather:"m 3,0 l -3,4 3,4",DoubleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardDoubleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4",TripleFeathers:"m 0,0 l 3,4 -3,4 m 3,-8 l 3,4 -3,4 m 3,-8 l 3,4 -3,4",BackwardTripleFeathers:"m 3,0 l -3,4 3,4 m 3,-8 l -3,4 3,4 m 3,-8 l -3,4 3,4",ForwardSlash:"m 0,8 l 5,-8",BackSlash:"m 0,0 l 5,8",DoubleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8",DoubleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8",TripleForwardSlash:"m 0,8 l 4,-8 m -2,8 l 4,-8 m -2,8 l 4,-8",
| TripleBackSlash:"m 0,0 l 4,8 m -2,-8 l 4,8 m -2,-8 l 4,8",Fork:"m 0,4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4",LineFork:"m 0,0 l 0,8 m 0,-4 l 8,0 m -8,0 l 8,-4 m -8,4 l 8,4",BackwardLineFork:"m 8,4 l -8,0 m 8,0 l -8,-4 m 8,4 l -8,4 m 8,-8 l 0,8",CircleFork:"F1 m 6,4 b 0 360 -3 0 3 z m 0,0 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4",BackwardCircleFork:"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 6,0 b 0 360 -3 0 3",CircleLineFork:"F1 m 6,4 b 0 360 -3 0 3 z m 1,-4 l 0,8 m 0,-4 l 6,0 m -6,0 l 6,-4 m -6,4 l 6,4",
| BackwardCircleLineFork:"F1 m 0,4 l 6,0 m -6,-4 l 6,4 m -6,4 l 6,-4 m 0,-4 l 0,8 m 7,-4 b 0 360 -3 0 3",Circle:"F1 m 8,4 b 0 360 -4 0 4 z",Block:"F1 m 0,0 l 0,8 8,0 0,-8 z",StretchedDiamond:"F1 m 0,3 l 5,-3 5,3 -5,3 -5,-3 z",Diamond:"F1 m 0,4 l 4,-4 4,4 -4,4 -4,-4 z",Chevron:"F1 m 0,0 l 5,0 3,4 -3,4 -5,0 3,-4 -3,-4 z",StretchedChevron:"F1 m 0,0 l 8,0 3,4 -3,4 -8,0 3,-4 -3,-4 z",NormalArrow:"F1 m 0,2 l 4,0 0,-2 4,4 -4,4 0,-2 -4,0 z",X:"m 0,0 l 8,8 m 0,-8 l -8,8",TailedNormalArrow:"F1 m 0,0 l 2,0 1,2 3,0 0,-2 2,4 -2,4 0,-2 -3,0 -1,2 -2,0 1,-4 -1,-4 z",
| DoubleTriangle:"F1 m 0,0 l 4,4 -4,4 0,-8 z m 4,0 l 4,4 -4,4 0,-8 z",BigEndArrow:"F1 m 0,0 l 5,2 0,-2 3,4 -3,4 0,-2 -5,2 0,-8 z",ConcaveTailArrow:"F1 m 0,2 h 4 v -2 l 4,4 -4,4 v -2 h -4 l 2,-2 -2,-2 z",RoundedTriangle:"F1 m 0,1 a 1,1 0 0 1 1,-1 l 7,3 a 0.5,1 0 0 1 0,2 l -7,3 a 1,1 0 0 1 -1,-1 l 0,-6 z",SimpleArrow:"F1 m 1,2 l -1,-2 2,0 1,2 -1,2 -2,0 1,-2 5,0 0,-2 2,2 -2,2 0,-2 z",AccelerationArrow:"F1 m 0,0 l 0,8 0.2,0 0,-8 -0.2,0 z m 2,0 l 0,8 1,0 0,-8 -1,0 z m 3,0 l 2,0 2,4 -2,4 -2,0 0,-8 z",BoxArrow:"F1 m 0,0 l 4,0 0,2 2,0 0,-2 2,4 -2,4 0,-2 -2,0 0,2 -4,0 0,-8 z",
| TriangleLine:"F1 m 8,4 l -8,-4 0,8 8,-4 z m 0.5,4 l 0,-8",CircleEndedArrow:"F1 m 10,4 l -2,-3 0,2 -2,0 0,2 2,0 0,2 2,-3 z m -4,0 b 0 360 -3 0 3 z",DynamicWidthArrow:"F1 m 0,3 l 2,0 2,-1 2,-2 2,4 -2,4 -2,-2 -2,-1 -2,0 0,-2 z",EquilibriumArrow:"m 0,3 l 8,0 -3,-3 m 3,5 l -8,0 3,3",FastForward:"F1 m 0,0 l 3.5,4 0,-4 3.5,4 0,-4 1,0 0,8 -1,0 0,-4 -3.5,4 0,-4 -3.5,4 0,-8 z",Kite:"F1 m 0,4 l 2,-4 6,4 -6,4 -2,-4 z",HalfArrowTop:"F1 m 0,0 l 4,4 4,0 -8,-4 z m 0,8",HalfArrowBottom:"F1 m 0,8 l 4,-4 4,0 -8,4 z",
| OpposingDirectionDoubleArrow:"F1 m 0,4 l 2,-4 0,2 4,0 0,-2 2,4 -2,4 0,-2 -4,0 0,2 -2,-4 z",PartialDoubleTriangle:"F1 m 0,0 4,3 0,-3 4,4 -4,4 0,-3 -4,3 0,-8 z",LineCircle:"F1 m 0,0 l 0,8 m 7 -4 b 0 360 -3 0 3 z",DoubleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",TripleLineCircle:"F1 m 0,0 l 0,8 m 2,-8 l 0,8 m 2,-8 l 0,8 m 7 -4 b 0 360 -3 0 3 z",CircleLine:"F1 m 6 4 b 0 360 -3 0 3 z m 1,-4 l 0,8",DiamondCircle:"F1 m 8,4 l -4,4 -4,-4 4,-4 4,4 m 8,0 b 0 360 -4 0 4 z",PlusCircle:"F1 m 8,4 b 0 360 -4 0 4 l -8 0 z m -4 -4 l 0 8",
| OpenRightTriangleTop:"m 8,0 l 0,4 -8,0 m 0,4",OpenRightTriangleBottom:"m 8,8 l 0,-4 -8,0",Line:"m 0,0 l 0,8",DoubleLine:"m 0,0 l 0,8 m 2,0 l 0,-8",TripleLine:"m 0,0 l 0,8 m 2,0 l 0,-8 m 2,0 l 0,8",PentagonArrow:"F1 m 8,4 l -4,-4 -4,0 0,8 4,0 4,-4 z"};F.um={};F.DJ=function(){if(F.aw){for(var a in F.aw){var b=Rc(F.aw[a],!1);F.um[a]=b;a.toLowerCase()!==a&&(F.um[a.toLowerCase()]=a)}F.aw=void 0}};
| F.GD=function(a){F.DJ();var b=F.um[a];if(void 0===b){b=a.toLowerCase();if("none"===b)return"None";b=F.um[b]}return"string"===typeof b?b:b instanceof zc?a:null};X.FigureGenerators=F.Ti;X.ArrowheadGeometries=F.um;
| function B(a){0===arguments.length?y.call(this):y.call(this,a);this.W=311807;this.Ik=this.dh="";this.cs=this.$r=this.ms=this.mr=null;this.os="";this.bi=this.ns=this.jm=null;this.bs="";this.ro=null;this.as=(new fa(NaN,NaN)).freeze();this.ds="";this.so=null;this.he="";this.co=this.Bq=this.wk=null;this.Lg=(new v(NaN,NaN)).freeze();this.ur="";this.Lk=null;this.vr=Eb;this.Er=F.RG;this.xr=F.QG;this.Lq=null;this.nr=nm;this.mm=(new v(6,6)).freeze();this.lm="gray";this.km=4;this.fH=-1;this.bH=new w;this.Aj=
| null;this.xj=NaN}t.ga("Part",B);t.Ka(B,y);B.prototype.cloneProtected=function(a){y.prototype.cloneProtected.call(this,a);a.W=this.W&-4097|49152;a.dh=this.dh;a.Ik=this.Ik;a.mr=this.mr;a.ms=this.ms;a.$r=this.$r;a.cs=this.cs;a.os=this.os;a.ns=this.ns;a.bi=null;a.bs=this.bs;a.as.assign(this.as);a.ds=this.ds;a.he=this.he;a.Bq=this.Bq;a.Lg.assign(this.Lg);a.ur=this.ur;a.vr=this.vr.Z();a.Er=this.Er.Z();a.xr=this.xr.Z();a.Lq=this.Lq;a.nr=this.nr;a.mm.assign(this.mm);a.lm=this.lm;a.km=this.km};
| B.prototype.Lh=function(a){y.prototype.Lh.call(this,a);lk(a);a.jm=null;a.ro=null;a.so=null;a.Lk=null;a.Aj=null};B.prototype.toString=function(){var a=t.Wg(Object.getPrototypeOf(this))+"#"+t.ld(this);this.data&&(a+="("+xd(this.data)+")");return a};B.LayoutNone=0;var Vi;B.LayoutAdded=Vi=1;var aj;B.LayoutRemoved=aj=2;B.LayoutShown=4;B.LayoutHidden=8;B.LayoutNodeSized=16;var Fj;B.LayoutGroupLayout=Fj=32;B.LayoutNodeReplaced=64;var nm;B.LayoutStandard=nm=Vi|aj|28|Fj|64;
| B.prototype.Xm=function(a,b,c,d,e,g,h){var k=this.h;null!==k&&(a===vd&&"elements"===b?e instanceof y&&Wi(e,function(a){Xi(k,a)}):a===wd&&"elements"===b&&e instanceof y&&Wi(e,function(a){$i(k,a)}),k.Xc(a,b,c,d,e,g,h))};B.prototype.updateTargetBindings=B.prototype.Lb=function(a){y.prototype.Lb.call(this,a);if(null!==this.data){a=this.xa.n;for(var b=a.length,c=0;c<b;c++){var d=a[c];d instanceof y&&Wi(d,function(a){null!==a.data&&a.Lb()})}}};
| t.A(B,{Xv:"adornments"},function(){return null===this.bi?t.Vf:this.bi.ZE});B.prototype.findAdornment=B.prototype.Xo=function(a){f&&t.j(a,"string",B,"findAdornment:category");var b=this.bi;return null===b?null:b.ya(a)};
| B.prototype.addAdornment=B.prototype.Vk=function(a,b){if(null!==b){f&&(t.j(a,"string",B,"addAdornment:category"),t.m(b,Ge,B,"addAdornment:ad"));var c=null,d=this.bi;null!==d&&(c=d.ya(a));if(c!==b){if(null!==c){var e=c.h;null!==e&&e.remove(c)}null===d&&(this.bi=d=new la("string",Ge));b.dh!==a&&(b.Uc=a);d.add(a,b);c=this.h;null!==c&&(c.add(b),b.data=this.data)}}};
| B.prototype.removeAdornment=B.prototype.rl=function(a){f&&t.j(a,"string",B,"removeAdornment:category");var b=this.bi;if(null!==b){var c=b.ya(a);if(null!==c){var d=c.h;null!==d&&d.remove(c)}b.remove(a);0===b.count&&(this.bi=null)}};B.prototype.clearAdornments=B.prototype.Gf=function(){var a=this.bi;if(null!==a){for(var b=t.Cb(),a=a.k;a.next();)b.push(a.key);for(var a=b.length,c=0;c<a;c++)this.rl(b[c]);t.za(b)}};
| B.prototype.updateAdornments=function(){var a=this.h;if(null!==a){om(this,a);for(var a=a.ub.df.n,b=a.length,c=0;c<b;c++){var d=a[c];d.isEnabled&&d.updateAdornments(this)}for(a=this.Xv;a.next();)b=a.value,b.ml||null!==b.Ab&&b.ca()}};
| function om(a,b){if(a.fb&&a.VF){var c=a.Nt;if(null===c||!(a.sa.N()&&a.bb()&&c.nl()&&c.sa.N()))return;var d=a.Xo("Selection");if(null===d){d=a.WF;null===d&&(a instanceof U?d=b.gF:a instanceof B&&(d=a instanceof T?b.CE:b.vF));if(!(d instanceof Ge))return;Ie(d);d=d.copy();if(!(d instanceof Ge))return;d.Uc="Selection";d.ml=!0;d.kc=c}if(null!==d){var e=d.placeholder;if(null!==e){var g=c.$j(),h=0;c instanceof X&&(h=c.gb);var k=t.wl();k.q((c.Pa.width+h)*g,(c.Pa.height+h)*g);e.Ba=k;t.Yj(k)}d.angle=c.gl();
| d.type!==tg?(e=t.K(),d.location=c.ob(Eb,e),t.B(e)):d.ca();a.Vk("Selection",d);return}}a.rl("Selection")}t.A(B,{layer:"layer"},function(){return this.co});t.A(B,{h:"diagram"},function(){var a=this.co;return null!==a?a.h:null});t.g(B,"layerName",B.prototype.af);
| t.defineProperty(B,{af:"layerName"},function(){return this.Ik},function(a){var b=this.Ik;if(b!==a){t.j(a,"string",B,"layerName");var c=this.h;if(null===c||null!==c.ct(a)&&!c.kn)if(this.Ik=a,this.i("layerName",b,a),b=this.layer,null!==b&&b.name!==a&&(c=b.h,null!==c&&(a=c.ct(a),null!==a&&a!==b))){var d=b.Xe(-1,this,!0);0<=d&&c.Xc(wd,"parts",b,this,null,d,!0);d=a.kp(99999999,this,!0);0<=d&&c.Xc(vd,"parts",a,null,this,!0,d);d=this.qp;if(null!==d){var e=c.Ta;c.Ta=!0;d(this,b,a);c.Ta=e}}}});
| t.g(B,"layerChanged",B.prototype.qp);t.defineProperty(B,{qp:"layerChanged"},function(){return this.mr},function(a){var b=this.mr;b!==a&&(null!==a&&t.j(a,"function",B,"layerChanged"),this.mr=a,this.i("layerChanged",b,a))});t.A(B,{uc:"isTemporary"},function(){return null!==this.co?this.co.uc:!1});function pm(a){var b=a.h;null!==b&&(ti(b),0!==(a.W&16384)!==!0&&(a.W|=16384,a.ha(),b.ag.add(a),b.re()))}function Qh(a){0!==(a.W&16384)!==!1&&(a.updateAdornments(),a.W&=-16385,a=a.h,null!==a&&(a.Le=!0))}
| t.g(B,"location",B.prototype.location);t.defineProperty(B,{location:"location"},function(){return this.Lg},function(a){var b=this.Lg;if(!(b.M(a)||this instanceof U)){f&&t.m(a,v,B,"location");a=a.Z();var c=this.h;this.Lg=a;if(!1===Li(this)){var d=this.Ma,e=a.x-b.x,g=a.y-b.y,h=d.copy();d.q(h.x+e,h.y+g);Fk(this);!d.M(h)&&c&&this.i("position",h,d)}this.i("location",b,a)}});function Fk(a){if(!1===Mi(a)){var b=a.h;null!==b&&(b.ag.add(a),a instanceof S&&!b.ma.pb&&a.qf(),b.re());qm(a,!0)}}
| function rm(a){if(!1!==Mi(a)){var b=a.position,c=a.location;c.N()&&b.N()||(sm(a,b,c),hk(a));var b=a.Ma,c=a.Yb,d=c.copy();c.La();c.x=b.x;c.y=b.y;c.freeze();ik(a,d,c);qm(a,!1)}}t.A(B,{fc:"locationObject"},function(){if(null===this.Lk){var a=this.Ww;void 0!==a&&null!==a&&""!==a?(a=this.ke(a),this.Lk=null!==a?a:this):this.Lk=this instanceof Ge&&this.ba!==tg&&null!==this.Ab?this.Ab:this}return this.Lk.visible?this.Lk:this});t.g(B,"minLocation",B.prototype.oF);
| t.defineProperty(B,{oF:"minLocation"},function(){return this.Er},function(a){var b=this.Er;b.M(a)||(f&&t.m(a,v,B,"minLocation"),this.Er=a=a.Z(),this.i("minLocation",b,a))});t.g(B,"maxLocation",B.prototype.iF);t.defineProperty(B,{iF:"maxLocation"},function(){return this.xr},function(a){var b=this.xr;b.M(a)||(f&&t.m(a,v,B,"maxLocation"),this.xr=a=a.Z(),this.i("maxLocation",b,a))});t.g(B,"locationObjectName",B.prototype.Ww);
| t.defineProperty(B,{Ww:"locationObjectName"},function(){return this.ur},function(a){var b=this.ur;b!==a&&(f&&t.j(a,"string",B,"locationObjectName"),this.ur=a,this.Lk=null,yk(this),this.i("locationObjectName",b,a))});t.g(B,"locationSpot",B.prototype.bf);
| t.defineProperty(B,{bf:"locationSpot"},function(){return this.vr},function(a){var b=this.vr;b.M(a)||(f&&(t.m(a,H,B,"locationSpot"),a.sd()||t.l("Part.locationSpot must be a specific Spot value, not: "+a)),this.vr=a=a.Z(),yk(this),this.i("locationSpot",b,a))});B.prototype.move=B.prototype.move=function(a){this.position=a};B.prototype.moveTo=B.prototype.moveTo=function(a,b){var c=t.gc(a,b);this.move(c);t.B(c)};
| B.prototype.isVisible=B.prototype.bb=function(){if(!this.visible)return!1;var a=this.layer;if(null!==a&&!a.visible)return!1;a=this.mb;if(!(null===a||a.Ud&&a.bb()))return!1;if(this instanceof S){a=this.rE();if(null!==a&&!a.Mc)return!1;a=this.Wd;if(null!==a)return a.bb()}else if(this instanceof U){var b=!0,c=this.h;null!==c&&(b=c.md);c=this.aa;if(null!==c){if(this.Cc&&b&&!c.Mc)return!1;c=Og(c);if(null===c||c===a)return!1}c=this.ea;if(null!==c){if(this.Cc&&!b&&!c.Mc)return!1;b=Og(c);if(null===b||b===
| a)return!1}}return!0};B.prototype.Th=function(a){a?(this.J(4),pm(this)):(this.J(8),this.Gf())};B.prototype.findObject=B.prototype.ke=function(a){if(this.name===a)return this;null===this.Aj&&(this.Aj={});var b=this.Aj;if(void 0!==b[a])return b[a];for(var c=this.xa.n,d=c.length,e=0;e<d;e++){var g=c[e];if(g.name===a)return b[a]=g;if(g instanceof y)if(null===g.oi&&null===g.cg){if(g=g.ke(a),null!==g)return b[a]=g}else if(Ql(g)&&(g=g.xa.$a(),null!==g&&g.name===a))return b[a]=g}return b[a]=null};
| function tm(a,b,c,d){void 0===d&&(d=new v);c.Ge()&&(c=Hb);var e=b.Pa;d.q(e.width*c.x+c.offsetX,e.height*c.y+c.offsetY);if(null===b||b===a)return d;b.transform.Ra(d);for(b=b.ja;null!==b&&b!==a;)b.transform.Ra(d),b=b.ja;a.Kk.Ra(d);d.offset(-a.Rc.x,-a.Rc.y);return d}B.prototype.ensureBounds=B.prototype.Hf=function(){gh(this,Infinity,Infinity);this.Hc()};
| function Th(a,b,c){c=void 0===c?a.bH:c;var d;isNaN(a.xj)&&(a.xj=Rl(a));d=a.xj;var e=2*d;if(!a.Xi)return c.q(b.x-1-d,b.y-1-d,b.width+2+e,b.height+2+e),c;d=b.x;var e=b.y,g=b.width;b=b.height;var h=a.shadowBlur;a=a.cG;g+=h;b+=h;d-=h/2;e-=h/2;0<a.x?g+=a.x:(d+=a.x,g-=a.x);0<a.y?b+=a.y:(e+=a.y,b-=a.y);c.q(d-1,e-1,g+2,b+2);return c}aa=B.prototype;
| aa.Hc=function(){hk(this);if(!1===Li(this))rm(this);else{var a=t.yf();a.assign(this.Yb);vk(this);this.Yb.La();var b=Ph(this);this.Pj(0,0,this.Rc.width,this.Rc.height);var c=this.position;sm(this,c,this.location);var d=this.Yb;d.x=c.x;d.y=c.y;d.freeze();hk(this);ik(this,a,d);a.M(d)?this.Rf(b):!this.Gd()||F.I(a.width,d.width)&&F.I(a.height,d.height)||this.J(16);t.cc(a);qm(this,!1)}};
| aa.aG=function(a,b){if(!a.N()||this instanceof U)return!1;if(this.h&&!(this instanceof Ge)){var c=this.h.Wf;c.ed&&Fh(c,this,b.copy(),a.copy())}var c=this.Lg,d=c.copy();!1===Li(this)?(c.q(c.x+(a.x-this.Ma.x),c.y+(a.y-this.Ma.y)),this.Ma=a,Fk(this),hk(this),rm(this),c.M(d)||this.i("location",d,c)):(this.Ma=a,c.q(NaN,NaN));return!0};aa.bG=function(a,b){var c=this.Lg;!1===Li(this)?(this.Lg.q(c.x+a-this.Ma.x,c.y+b-this.Ma.y),this.Ma.q(a,b),Fk(this),hk(this)):(c.q(NaN,NaN),this.Ma.q(a,b))};
| function sm(a,b,c){var d=NaN,e=NaN,g=t.K(),h=a.bf,k=a.fc;h.Ge()&&t.l("determineOffset: Part's locationSpot must be real: "+h.toString());var l=k.Pa,d=0;k.gb&&(d=k.Rg);g.Pt(0,0,l.width+d,l.height+d,h);if(k!==a)for(k.gb&&g.offset(-d/2,-d/2),k.transform.Ra(g),h=k.ja;null!==h&&h!==a;)h.transform.Ra(g),h=h.ja;a.Kk.Ra(g);g.offset(-a.Rc.x,-a.Rc.y);h=a.h;c.N()?(k=b.x,l=b.y,d=c.x-g.x,e=c.y-g.y,b.q(d,e),c=!1,null!==h&&(d=h.Wf,d.rj?c=!0:!d.ed||a instanceof Ge||Fh(d,a,new v(k,l),b),c||b.x===k&&b.y===l||(d=h.Wa,
| h.Wa=!0,a.i("position",new v(k,l),b),h.Wa=d))):b.N()&&(d=b.x,e=b.y,b=c.copy(),c.q(d+g.x,e+g.y),c.M(b)||null===h||(d=h.Wa,h.Wa=!0,a.i("location",b,c),h.Wa=d));t.B(g)}function Yi(a,b,c){nk(a,!1);a instanceof S&&Nj(c,a);a.layer.uc||b||c.Kc();b=a.Yb;var d=c.vb;d.N()?(Ph(a)?eb(b,d)||(a.Rf(!1),pm(a)):b.Mf(d)&&a.Rf(!0),a.updateAdornments()):c.Gk=!0}aa.ll=function(){return!0};
| function Rh(a,b){if(a.visible){var c=a.Yb;if(0!==c.width&&0!==c.height&&!isNaN(c.x)&&!isNaN(c.y)){var d=a.transform,e=a.ja,g=a.ik;g.reset();null!==e&&(e.Tf()?g.multiply(e.ie):null!==e.ja&&g.multiply(e.ja.ie));g.multiply(a.hd);null!==a.qc&&(sk(a,b,a.qc,!0,!0),b.fillRect(c.x,c.y,c.width,c.height));null===a.qc&&null===a.Fb&&(b.fillStyle="rgba(0,0,0,0.4)",b.fillRect(c.x,c.y,c.width,c.height));null!==a.Fb&&(d.qt()||b.transform(d.m11,d.m12,d.m21,d.m22,d.dx,d.dy),e=a.Pa,c=e.width,e=e.height,sk(a,b,a.Fb,
| !0),b.fillRect(0,0,c+0,e+0),d.qt()||(c=1/(d.m11*d.m22-d.m12*d.m21),b.transform(d.m22*c,-d.m12*c,-d.m21*c,d.m11*c,c*(d.m21*d.dy-d.m22*d.dx),c*(d.m12*d.dx-d.m11*d.dy))))}}}aa.Gd=function(){return!0};t.g(B,"category",B.prototype.Uc);
| t.defineProperty(B,{Uc:"category"},function(){return this.dh},function(a){var b=this.dh;if(b!==a){t.j(a,"string",B,"category");this.dh=a;this.i("category",b,a);var c=this.h,d=this.data;if(null!==c&&null!==d){var e=c.fa;this instanceof U?(e instanceof P?e.ZF(d,a):e instanceof Kd&&e.BJ(d,a),c=c.findTemplateForLinkData(d,a),c instanceof U&&(Ie(c),c=c.copy(),c instanceof U&&um(this,c,b,a))):this instanceof Ge||(null!==e&&e.nx(d,a),c=c.findTemplateForNodeData(d,a),c instanceof B&&(Ie(c),c=c.copy(),c instanceof
| B&&!(c instanceof U)&&(c.location=this.location,um(this,c,b,a))))}this instanceof Ge&&(a=this.Jh,null!==a&&(c=a.bi,null!==c&&c.remove(b),a.Vk(this.dh,this)))}});
| function um(a,b,c,d){b.constructor===a.constructor||t.EG||(t.EG=!0,t.trace('Should not change the class of the Part when changing category from "'+c+'" to "'+d+'"'),t.trace(" Old class: "+t.Wg(a)+", new class: "+t.Wg(b)+", part: "+a.toString()));a.Gf();var e=a.data;c=a.af;var g=a.fb,h=a.og,k=!0,l=!0,m=!1;a instanceof S&&(k=a.Sh,l=a.Mc,m=a.en);b.Lh(a);b.cloneProtected(a);a.dh=d;a.ca();a.ha();b=a.h;d=!0;null!==b&&(d=b.Wa,b.Wa=!0);a.Hl=e;null!==e&&a.Lb();null!==b&&(b.Wa=d);e=a.af;e!==c&&(a.Ik=c,a.af=
| e);a instanceof S&&(a.Sh=k,a.Mc=l,a.en=m,a.Gd()&&a.J(64));a.fb=g;a.og=h}B.prototype.canCopy=function(){if(!this.WD)return!1;var a=this.layer;if(null===a)return!0;if(!a.Hi)return!1;a=a.h;return null===a?!0:a.Hi?!0:!1};B.prototype.canDelete=function(){if(!this.dE)return!1;var a=this.layer;if(null===a)return!0;if(!a.Yk)return!1;a=a.h;return null===a?!0:a.Yk?!0:!1};
| B.prototype.canEdit=function(){if(!this.mG)return!1;var a=this.layer;if(null===a)return!0;if(!a.Mo)return!1;a=a.h;return null===a?!0:a.Mo?!0:!1};B.prototype.canGroup=function(){if(!this.DE)return!1;var a=this.layer;if(null===a)return!0;if(!a.Io)return!1;a=a.h;return null===a?!0:a.Io?!0:!1};B.prototype.canMove=function(){if(!this.rF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Nj)return!1;a=a.h;return null===a?!0:a.Nj?!0:!1};
| B.prototype.canReshape=function(){if(!this.FF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Jo)return!1;a=a.h;return null===a?!0:a.Jo?!0:!1};B.prototype.canResize=function(){if(!this.GF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Ko)return!1;a=a.h;return null===a?!0:a.Ko?!0:!1};B.prototype.canRotate=function(){if(!this.MF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Lo)return!1;a=a.h;return null===a?!0:a.Lo?!0:!1};
| B.prototype.canSelect=function(){if(!this.sl)return!1;var a=this.layer;if(null===a)return!0;if(!a.Qe)return!1;a=a.h;return null===a?!0:a.Qe?!0:!1};t.g(B,"copyable",B.prototype.WD);t.defineProperty(B,{WD:"copyable"},function(){return 0!==(this.W&1)},function(a){var b=0!==(this.W&1);b!==a&&(f&&t.j(a,"boolean",B,"copyable"),this.W^=1,this.i("copyable",b,a))});t.g(B,"deletable",B.prototype.dE);
| t.defineProperty(B,{dE:"deletable"},function(){return 0!==(this.W&2)},function(a){var b=0!==(this.W&2);b!==a&&(f&&t.j(a,"boolean",B,"deletable"),this.W^=2,this.i("deletable",b,a))});t.g(B,"textEditable",B.prototype.mG);t.defineProperty(B,{mG:"textEditable"},function(){return 0!==(this.W&4)},function(a){var b=0!==(this.W&4);b!==a&&(f&&t.j(a,"boolean",B,"textEditable"),this.W^=4,this.i("textEditable",b,a),this.updateAdornments())});t.g(B,"groupable",B.prototype.DE);
| t.defineProperty(B,{DE:"groupable"},function(){return 0!==(this.W&8)},function(a){var b=0!==(this.W&8);b!==a&&(f&&t.j(a,"boolean",B,"groupable"),this.W^=8,this.i("groupable",b,a))});t.g(B,"movable",B.prototype.rF);t.defineProperty(B,{rF:"movable"},function(){return 0!==(this.W&16)},function(a){var b=0!==(this.W&16);b!==a&&(f&&t.j(a,"boolean",B,"movable"),this.W^=16,this.i("movable",b,a))});t.g(B,"selectionAdorned",B.prototype.VF);
| t.defineProperty(B,{VF:"selectionAdorned"},function(){return 0!==(this.W&32)},function(a){var b=0!==(this.W&32);b!==a&&(f&&t.j(a,"boolean",B,"selectionAdorned"),this.W^=32,this.i("selectionAdorned",b,a),this.updateAdornments())});t.g(B,"isInDocumentBounds",B.prototype.EA);t.defineProperty(B,{EA:"isInDocumentBounds"},function(){return 0!==(this.W&64)},function(a){var b=0!==(this.W&64);b!==a&&(f&&t.j(a,"boolean",B,"isInDocumentBounds"),this.W^=64,this.i("isInDocumentBounds",b,a))});
| t.g(B,"isLayoutPositioned",B.prototype.GA);t.defineProperty(B,{GA:"isLayoutPositioned"},function(){return 0!==(this.W&128)},function(a){var b=0!==(this.W&128);b!==a&&(f&&t.j(a,"boolean",B,"isLayoutPositioned"),this.W^=128,this.i("isLayoutPositioned",b,a),this.J(a?4:8))});t.g(B,"selectable",B.prototype.sl);t.defineProperty(B,{sl:"selectable"},function(){return 0!==(this.W&256)},function(a){var b=0!==(this.W&256);b!==a&&(f&&t.j(a,"boolean",B,"selectable"),this.W^=256,this.i("selectable",b,a),this.updateAdornments())});
| t.g(B,"reshapable",B.prototype.FF);t.defineProperty(B,{FF:"reshapable"},function(){return 0!==(this.W&512)},function(a){var b=0!==(this.W&512);b!==a&&(f&&t.j(a,"boolean",B,"reshapable"),this.W^=512,this.i("reshapable",b,a),this.updateAdornments())});t.g(B,"resizable",B.prototype.GF);t.defineProperty(B,{GF:"resizable"},function(){return 0!==(this.W&1024)},function(a){var b=0!==(this.W&1024);b!==a&&(f&&t.j(a,"boolean",B,"resizable"),this.W^=1024,this.i("resizable",b,a),this.updateAdornments())});
| t.g(B,"rotatable",B.prototype.MF);t.defineProperty(B,{MF:"rotatable"},function(){return 0!==(this.W&2048)},function(a){var b=0!==(this.W&2048);b!==a&&(f&&t.j(a,"boolean",B,"rotatable"),this.W^=2048,this.i("rotatable",b,a),this.updateAdornments())});t.g(B,"isSelected",B.prototype.fb);
| t.defineProperty(B,{fb:"isSelected"},function(){return 0!==(this.W&4096)},function(a){var b=0!==(this.W&4096);if(b!==a){f&&t.j(a,"boolean",B,"isSelected");var c=this.h;if(!a||this.canSelect()&&!(null!==c&&c.selection.count>=c.jF)){this.W^=4096;var d=!1;if(null!==c){d=c.Wa;c.Wa=!0;var e=c.selection;e.La();a?e.add(this):e.remove(this);e.freeze()}this.i("isSelected",b,a);pm(this);a=this.XF;null!==a&&a(this);null!==c&&(c.re(),c.Wa=d)}}});t.g(B,"isHighlighted",B.prototype.og);
| t.defineProperty(B,{og:"isHighlighted"},function(){return 0!==(this.W&524288)},function(a){var b=0!==(this.W&524288);if(b!==a){f&&t.j(a,"boolean",B,"isHighlighted");this.W^=524288;var c=this.h;null!==c&&(c=c.Gw,c.La(),a?c.add(this):c.remove(this),c.freeze());this.i("isHighlighted",b,a);this.ha()}});t.g(B,"isShadowed",B.prototype.Xi);
| t.defineProperty(B,{Xi:"isShadowed"},function(){return 0!==(this.W&8192)},function(a){var b=0!==(this.W&8192);b!==a&&(f&&t.j(a,"boolean",B,"isShadowed"),this.W^=8192,this.i("isShadowed",b,a),this.ha())});function Mi(a){return 0!==(a.W&32768)}function qm(a,b){a.W=b?a.W|32768:a.W&-32769}function nk(a,b){a.W=b?a.W|65536:a.W&-65537}function Ph(a){return 0!==(a.W&131072)}B.prototype.Rf=function(a){this.W=a?this.W|131072:this.W&-131073};t.g(B,"isAnimated",B.prototype.yA);
| t.defineProperty(B,{yA:"isAnimated"},function(){return 0!==(this.W&262144)},function(a){var b=0!==(this.W&262144);b!==a&&(f&&t.j(a,"boolean",B,"isAnimated"),this.W^=262144,this.i("isAnimated",b,a))});t.g(B,"selectionObjectName",B.prototype.mx);t.defineProperty(B,{mx:"selectionObjectName"},function(){return this.os},function(a){var b=this.os;b!==a&&(f&&t.j(a,"string",B,"selectionObjectName"),this.os=a,this.jm=null,this.i("selectionObjectName",b,a))});t.g(B,"selectionAdornmentTemplate",B.prototype.WF);
| t.defineProperty(B,{WF:"selectionAdornmentTemplate"},function(){return this.ms},function(a){var b=this.ms;b!==a&&(f&&t.m(a,Ge,B,"selectionAdornmentTemplate"),this instanceof U&&(a.type=tg),this.ms=a,this.i("selectionAdornmentTemplate",b,a))});t.A(B,{Nt:"selectionObject"},function(){if(null===this.jm){var a=this.mx;null!==a&&""!==a?(a=this.ke(a),this.jm=null!==a?a:this):this instanceof U?(a=this.path,this.jm=null!==a?a:this):this.jm=this}return this.jm});t.g(B,"selectionChanged",B.prototype.XF);
| t.defineProperty(B,{XF:"selectionChanged"},function(){return this.ns},function(a){var b=this.ns;b!==a&&(null!==a&&t.j(a,"function",B,"selectionChanged"),this.ns=a,this.i("selectionChanged",b,a))});t.g(B,"resizeAdornmentTemplate",B.prototype.HF);t.defineProperty(B,{HF:"resizeAdornmentTemplate"},function(){return this.$r},function(a){var b=this.$r;b!==a&&(f&&t.m(a,Ge,B,"resizeAdornmentTemplate"),this.$r=a,this.i("resizeAdornmentTemplate",b,a))});t.g(B,"resizeObjectName",B.prototype.KF);
| t.defineProperty(B,{KF:"resizeObjectName"},function(){return this.bs},function(a){var b=this.bs;b!==a&&(f&&t.j(a,"string",B,"resizeObjectName"),this.bs=a,this.ro=null,this.i("resizeObjectName",b,a))});t.A(B,{JF:"resizeObject"},function(){if(null===this.ro){var a=this.KF;null!==a&&""!==a?(a=this.ke(a),this.ro=null!==a?a:this):this.ro=this}return this.ro});t.g(B,"resizeCellSize",B.prototype.IF);
| t.defineProperty(B,{IF:"resizeCellSize"},function(){return this.as},function(a){var b=this.as;b.M(a)||(f&&t.m(a,fa,B,"resizeCellSize"),this.as=a=a.Z(),this.i("resizeCellSize",b,a))});t.g(B,"rotateAdornmentTemplate",B.prototype.NF);t.defineProperty(B,{NF:"rotateAdornmentTemplate"},function(){return this.cs},function(a){var b=this.cs;b!==a&&(f&&t.m(a,Ge,B,"rotateAdornmentTemplate"),this.cs=a,this.i("rotateAdornmentTemplate",b,a))});t.g(B,"rotateObjectName",B.prototype.PF);
| t.defineProperty(B,{PF:"rotateObjectName"},function(){return this.ds},function(a){var b=this.ds;b!==a&&(f&&t.j(a,"string",B,"rotateObjectName"),this.ds=a,this.so=null,this.i("rotateObjectName",b,a))});t.A(B,{OF:"rotateObject"},function(){if(null===this.so){var a=this.PF;null!==a&&""!==a?(a=this.ke(a),this.so=null!==a?a:this):this.so=this}return this.so});t.g(B,"text",B.prototype.text);
| t.defineProperty(B,{text:"text"},function(){return this.he},function(a){var b=this.he;b!==a&&(f&&t.j(a,"string",B,"text"),this.he=a,this.i("text",b,a))});t.g(B,"containingGroup",B.prototype.mb);
| t.defineProperty(B,{mb:"containingGroup"},function(){return this.wk},function(a){if(this.Gd()){var b=this.wk;if(b!==a){f&&null!==a&&t.m(a,T,B,"containingGroup");null===a||this!==a&&!a.kl(this)||(this===a&&t.l("Cannot make a Group a member of itself: "+this.toString()),t.l("Cannot make a Group indirectly contain itself: "+this.toString()+" already contains "+a.toString()));this.J(aj);var c=this.h;null!==b?vm(b,this):this instanceof T&&null!==c&&c.Tk.remove(this);this.wk=a;null!==a?wm(a,this):this instanceof
| T&&null!==c&&c.Tk.add(this);this.J(Vi);if(null!==c){var d=this.data,e=c.fa;null!==d&&e instanceof P&&e.lB(d,e.Ob(null!==a?a.data:null))}d=this.hA;null!==d&&(e=!0,null!==c&&(e=c.Ta,c.Ta=!0),d(this,b,a),null!==c&&(c.Ta=e));if(this instanceof T)for(c=new na(B),Fe(c,this,!0,0),c=c.k;c.next();)if(d=c.value,d instanceof S)for(d=d.oe;d.next();)e=d.value,oj(e);if(this instanceof S)for(d=this.oe;d.next();)e=d.value,oj(e);this.i("containingGroup",b,a);null!==a&&a.px()}}else t.l("cannot set the Part.containingGroup of a Link or Adornment")});
| function lk(a){a=a.mb;null!==a&&(a.ca(),null!==a.Ab&&a.Ab.ca(),a.qf())}B.prototype.lt=function(a){var b=this.wk;null===b||a||wm(b,this)};B.prototype.mt=function(a){var b=this.wk;null===b||a||vm(b,this)};B.prototype.Gm=function(){var a=this.data;if(null!==a){var b=this.h;null!==b&&(b=b.fa,null!==b&&b.ix(a))}};t.g(B,"containingGroupChanged",B.prototype.hA);
| t.defineProperty(B,{hA:"containingGroupChanged"},function(){return this.Bq},function(a){var b=this.Bq;b!==a&&(null!==a&&t.j(a,"function",B,"containingGroupChanged"),this.Bq=a,this.i("containingGroupChanged",b,a))});B.prototype.findTopLevelPart=function(){return xm(this,this)};function xm(a,b){var c=b.mb;return null!==c?xm(a,c):b instanceof S&&(c=b.Wd,null!==c)?xm(a,c):b}t.A(B,{pp:"isTopLevel"},function(){return null!==this.mb||this instanceof S&&this.Qh?!1:!0});
| B.prototype.isMemberOf=B.prototype.kl=function(a){return a instanceof T?ym(this,this,a):!1};function ym(a,b,c){if(b===c||null===c)return!1;var d=b.mb;return null===d||d!==c&&!ym(a,d,c)?b instanceof S&&(b=b.Wd,null!==b)?ym(a,b,c):!1:!0}B.prototype.findCommonContainingGroup=B.prototype.vI=function(a){return zm(this,this,a)};
| function zm(a,b,c){if(null===b||null===c)return null;var d=b.mb;if(null===d)return null;if(b===c)return d;var e=c.mb;return null===e?null:d===e?e:ym(a,c,d)?d:ym(a,b,e)?e:zm(a,d,e)}t.g(B,"layoutConditions",B.prototype.bF);t.defineProperty(B,{bF:"layoutConditions"},function(){return this.nr},function(a){var b=this.nr;b!==a&&(f&&t.j(a,"number",B,"layoutConditions"),this.nr=a,this.i("layoutConditions",b,a))});
| B.prototype.canLayout=function(){if(!this.GA||!this.bb())return!1;var a=this.layer;return null!==a&&a.uc||this instanceof S&&this.Qh?!1:!0};B.prototype.invalidateLayout=B.prototype.J=function(a){void 0===a&&(a=16777215);var b;this.GA&&0!==(a&this.bF)?(b=this.layer,null!==b&&b.uc||this instanceof S&&this.Qh?b=!1:(b=this.h,b=null!==b&&b.ma.pb?!1:!0)):b=!1;if(b)if(b=this.wk,null!==b){var c=b.ec;null!==c?c.J():b.J(a)}else a=this.h,null!==a&&(c=a.ec,null!==c&&c.J())};
| function Zi(a){if(!a.bb())return!1;a=a.layer;return null!==a&&a.uc?!1:!0}t.g(B,"dragComputation",B.prototype.lA);t.defineProperty(B,{lA:"dragComputation"},function(){return this.Lq},function(a){var b=this.Lq;b!==a&&(null!==a&&t.j(a,"function",B,"dragComputation"),this.Lq=a,this.i("dragComputation",b,a))});t.g(B,"shadowOffset",B.prototype.cG);
| t.defineProperty(B,{cG:"shadowOffset"},function(){return this.mm},function(a){var b=this.mm;b.M(a)||(f&&t.m(a,v,B,"shadowOffset"),this.mm=a=a.Z(),this.ha(),this.i("shadowOffset",b,a))});t.g(B,"shadowColor",B.prototype.shadowColor);t.defineProperty(B,{shadowColor:"shadowColor"},function(){return this.lm},function(a){var b=this.lm;b!==a&&(f&&t.j(a,"string",B,"shadowColor"),this.lm=a,this.ha(),this.i("shadowColor",b,a))});t.g(B,"shadowBlur",B.prototype.shadowBlur);
| t.defineProperty(B,{shadowBlur:"shadowBlur"},function(){return this.km},function(a){var b=this.km;b!==a&&(f&&t.j(a,"number",B,"shadowBlur"),this.km=a,this.ha(),this.i("shadowBlur",b,a))});function Ge(a){0===arguments.length?B.call(this,Yg):B.call(this,a);this.af="Adornment";this.hb=null;this.W&=-257;this.Lg=new v(NaN,NaN);this.ci=new A(w);this.Ab=null;this.er=!1}t.ga("Adornment",Ge);t.Ka(Ge,B);Ge.prototype.cloneProtected=function(a){B.prototype.cloneProtected.call(this,a);a.er=this.er};aa=Ge.prototype;
| aa.toString=function(){var a=this.Jh;return"Adornment("+this.Uc+")"+(null!==a?a.toString():"")};aa.pj=function(){return this.hb&&this.hb.S instanceof U?this.hb.S.pj():null};aa.Vq=function(){return null};aa.Xw=function(){var a=this.kc.S,b=this.kc;if(a instanceof U&&b instanceof X){var c=a.path,b=c.Na;a.Xw();for(var b=c.Na,a=this.xa,c=a.length,d=0;d<c;d++){var e=a.n[d];e.Wi&&e instanceof X&&(e.Na=b)}}};aa.Jy=function(){var a=this.Jh;return a instanceof U?a.Ac:null};
| t.A(Ge,{placeholder:"placeholder"},function(){return this.Ab});t.g(Ge,"isStandard",Ge.prototype.ml);t.defineProperty(Ge,{ml:"isStandard"},function(){return this.er},function(a){var b=this.er;b!==a&&(f&&t.j(a,"boolean",Ge,"isStandard"),this.er=a,this.i("isStandard",b,a))});t.g(Ge,"adornedObject",Ge.prototype.kc);
| t.defineProperty(Ge,{kc:"adornedObject"},function(){return this.hb},function(a){f&&null!==a&&t.m(a,Q,B,"adornedObject:val");var b=this.Jh,c=null;null!==a&&(c=a.S);null===b||null!==a&&b===c||b.rl(this.Uc);this.hb=a;c&&c.Vk(this.Uc,this)});t.A(Ge,{Jh:"adornedPart"},function(){var a=this.hb;return null!==a?a.S:null});Ge.prototype.ll=function(){var a=this.hb;if(null===a)return!0;a=a.S;return null===a||!Li(a)};Ge.prototype.Gd=function(){return!1};t.A(Ge,{mb:"containingGroup"},function(){return null});
| Ge.prototype.Xm=function(a,b,c,d,e,g,h){if(a===vd&&"elements"===b)if(e instanceof Sg)null===this.Ab?this.Ab=e:this.Ab!==e&&t.l("Cannot insert a second Placeholder into the visual tree of an Adornment.");else{if(e instanceof y){var k=e.bt(function(a){return a instanceof Sg});k instanceof Sg&&(null===this.Ab?this.Ab=k:this.Ab!==k&&t.l("Cannot insert a second Placeholder into the visual tree of an Adornment."))}}else a===wd&&"elements"===b&&null!==this.Ab&&(d===this.Ab?this.Ab=null:d instanceof y&&this.Ab.Vi(d)&&
| (this.Ab=null));B.prototype.Xm.call(this,a,b,c,d,e,g,h)};Ge.prototype.updateAdornments=function(){};Ge.prototype.Gm=function(){};function S(a){0===arguments.length?B.call(this,Yg):B.call(this,a);this.hc=new A(U);this.bo=this.Jk=this.rr=this.qr=null;this.gr=!0;this.Js=!1;this.Es=null;this.uq=this.hr=!0;this.vq=F.TG;this.Nd=this.bh=null;this.Ur=Am;this.Hh=!1}t.ga("Node",S);t.Ka(S,B);
| S.prototype.cloneProtected=function(a){B.prototype.cloneProtected.call(this,a);a.qr=this.qr;a.rr=this.rr;a.Jk=this.Jk;a.gr=this.gr;a.Js=this.Js;a.Es=this.Es;a.hr=this.hr;a.uq=this.uq;a.vq=this.vq.Z();a.Ur=this.Ur};S.prototype.Lh=function(a){B.prototype.Lh.call(this,a);a.qf();a.bh=this.bh;a.Nd=null};var Bm;S.DirectionDefault=Bm=t.w(S,"DirectionDefault",0);S.DirectionAbsolute=t.w(S,"DirectionAbsolute",1);var Cm;S.DirectionRotatedNode=Cm=t.w(S,"DirectionRotatedNode",2);var Zj;
| S.DirectionRotatedNodeOrthogonal=Zj=t.w(S,"DirectionRotatedNodeOrthogonal",3);S.SpreadingNone=t.w(S,"SpreadingNone",10);var Am;S.SpreadingEvenly=Am=t.w(S,"SpreadingEvenly",11);var Dm;S.SpreadingPacked=Dm=t.w(S,"SpreadingPacked",12);function Em(a,b){null!==b&&(null===a.bh&&(a.bh=new na(Fm)),a.bh.add(b))}
| S.prototype.Xm=function(a,b,c,d,e,g,h){a===vd&&"elements"===b?this.Nd=null:a===wd&&"elements"===b&&(null===this.h?this.Nd=null:d instanceof Q&&Ml(this,d,function(a,b){Gk(a,b,!0)}));B.prototype.Xm.call(this,a,b,c,d,e,g,h)};S.prototype.invalidateConnectedLinks=S.prototype.qf=function(a){void 0===a&&(a=null);for(var b=this.oe;b.next();){var c=b.value;null!==a&&a.contains(c)||(Gm(this,c.rd),Gm(this,c.be),c.Pb())}};function Gm(a,b){if(null!==b){b.Tr=null;var c=a.mb;null===c||c.Ud||Gm(c,c.fl(""))}}
| S.prototype.ll=function(){return!0};t.defineProperty(S,{rJ:"portSpreading"},function(){return this.Ur},function(a){var b=this.Ur;b!==a&&(f&&t.sb(a,S,S,"portSpreading"),this.Ur=a,this.i("portSpreading",b,a),a=this.h,null!==a&&a.ma.pb||this.qf())});t.g(S,"avoidable",S.prototype.bA);t.defineProperty(S,{bA:"avoidable"},function(){return this.uq},function(a){var b=this.uq;if(b!==a){f&&t.j(a,"boolean",S,"avoidable");this.uq=a;var c=this.h;null!==c&&Nj(c,this);this.i("avoidable",b,a)}});
| t.g(S,"avoidableMargin",S.prototype.ED);t.defineProperty(S,{ED:"avoidableMargin"},function(){return this.vq},function(a){"number"===typeof a?a=new ab(a):t.m(a,ab,S,"avoidableMargin");var b=this.vq;if(!b.M(a)){this.vq=a=a.Z();var c=this.h;null!==c&&Nj(c,this);this.i("avoidableMargin",b,a)}});S.prototype.canAvoid=function(){return this.bA&&!this.Qh};S.prototype.getAvoidableRect=function(a){a.set(this.sa);a.Wv(this.ED);return a};function Og(a){for(;null!==a&&!a.bb();)a=a.mb;return a}
| S.prototype.Th=function(a){B.prototype.Th.call(this,a);if(a)for(a=this.oe;a.next();)a.value.updateRoute()};t.A(S,{oe:"linksConnected"},function(){return this.hc.k});S.prototype.findLinksConnected=S.prototype.nE=function(a){void 0===a&&(a=null);if(null===a)return this.hc.k;f&&t.j(a,"string",S,"findLinksConnected:pid");var b=new Aa(this.hc),c=this;b.ql=function(b){return b.aa===c&&b.Jf===a||b.ea===c&&b.Eg===a};return b};
| S.prototype.findLinksOutOf=S.prototype.xw=function(a){void 0===a&&(a=null);f&&null!==a&&t.j(a,"string",S,"findLinksOutOf:pid");var b=new Aa(this.hc),c=this;b.ql=function(b){return b.aa!==c?!1:null===a?!0:b.Jf===a};return b};S.prototype.findLinksInto=S.prototype.mg=function(a){void 0===a&&(a=null);f&&null!==a&&t.j(a,"string",S,"findLinksInto:pid");var b=new Aa(this.hc),c=this;b.ql=function(b){return b.ea!==c?!1:null===a?!0:b.Eg===a};return b};
| S.prototype.findNodesConnected=S.prototype.oE=function(a){void 0===a&&(a=null);f&&null!==a&&t.j(a,"string",S,"findNodesConnected:pid");for(var b=null,c=null,d=this.hc.k;d.next();){var e=d.value;if(e.aa===this){if(null===a||e.Jf===a)e=e.ea,null!==b?b.add(e):null!==c&&c!==e?(b=new na(S),b.add(c),b.add(e)):c=e}else e.ea!==this||null!==a&&e.Eg!==a||(e=e.aa,null!==b?b.add(e):null!==c&&c!==e?(b=new na(S),b.add(c),b.add(e)):c=e)}return null!==b?b.k:null!==c?new za(c):t.Vf};
| S.prototype.findNodesOutOf=function(a){void 0===a&&(a=null);f&&null!==a&&t.j(a,"string",S,"findNodesOutOf:pid");for(var b=null,c=null,d=this.hc.k;d.next();){var e=d.value;e.aa!==this||null!==a&&e.Jf!==a||(e=e.ea,null!==b?b.add(e):null!==c&&c!==e?(b=new na(S),b.add(c),b.add(e)):c=e)}return null!==b?b.k:null!==c?new za(c):t.Vf};
| S.prototype.findNodesInto=function(a){void 0===a&&(a=null);f&&null!==a&&t.j(a,"string",S,"findNodesInto:pid");for(var b=null,c=null,d=this.hc.k;d.next();){var e=d.value;e.ea!==this||null!==a&&e.Eg!==a||(e=e.aa,null!==b?b.add(e):null!==c&&c!==e?(b=new na(S),b.add(c),b.add(e)):c=e)}return null!==b?b.k:null!==c?new za(c):t.Vf};
| S.prototype.findLinksBetween=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);f&&(t.m(a,S,S,"findLinksBetween:othernode"),null!==b&&t.j(b,"string",S,"findLinksBetween:pid"),null!==c&&t.j(c,"string",S,"findLinksBetween:otherpid"));var d=new Aa(this.hc),e=this;d.ql=function(d){return(d.aa!==e||d.ea!==a||null!==b&&d.Jf!==b||null!==c&&d.Eg!==c)&&(d.aa!==a||d.ea!==e||null!==c&&d.Jf!==c||null!==b&&d.Eg!==b)?!1:!0};return d};
| S.prototype.findLinksTo=function(a,b,c){void 0===b&&(b=null);void 0===c&&(c=null);f&&(t.m(a,S,S,"findLinksTo:othernode"),null!==b&&t.j(b,"string",S,"findLinksTo:pid"),null!==c&&t.j(c,"string",S,"findLinksTo:otherpid"));var d=new Aa(this.hc),e=this;d.ql=function(d){return d.aa!==e||d.ea!==a||null!==b&&d.Jf!==b||null!==c&&d.Eg===c?!1:!0};return d};t.g(S,"linkConnected",S.prototype.dF);
| t.defineProperty(S,{dF:"linkConnected"},function(){return this.qr},function(a){var b=this.qr;b!==a&&(null!==a&&t.j(a,"function",S,"linkConnected"),this.qr=a,this.i("linkConnected",b,a))});t.g(S,"linkDisconnected",S.prototype.eF);t.defineProperty(S,{eF:"linkDisconnected"},function(){return this.rr},function(a){var b=this.rr;b!==a&&(null!==a&&t.j(a,"function",S,"linkDisconnected"),this.rr=a,this.i("linkDisconnected",b,a))});t.g(S,"linkValidation",S.prototype.zp);
| t.defineProperty(S,{zp:"linkValidation"},function(){return this.Jk},function(a){var b=this.Jk;b!==a&&(null!==a&&t.j(a,"function",S,"linkValidation"),this.Jk=a,this.i("linkValidation",b,a))});
| function Hm(a,b,c){Gm(a,c);if(!a.hc.contains(b)){a.hc.add(b);var d=a.dF;if(null!==d){var e=!0,g=a.h;null!==g&&(e=g.Ta,g.Ta=!0);d(a,b,c);null!==g&&(g.Ta=e)}b.Cc&&(c=b.aa,b=b.ea,null!==c&&null!==b&&c!==b&&(d=!0,g=a.h,null!==g&&(d=g.md),a=d?b:c,e=d?c:b,a.Hh||(a.Hh=e),!e.Sh||null!==g&&g.ma.pb||(d?c===e&&(e.Sh=!1):b===e&&(e.Sh=!1))))}}
| function Im(a,b,c){Gm(a,c);if(a.hc.remove(b)){var d=a.eF,e=a.h;if(null!==d){var g=!0;null!==e&&(g=e.Ta,e.Ta=!0);d(a,b,c);null!==e&&(e.Ta=g)}b.Cc&&(c=!0,null!==e&&(c=e.md),a=c?b.ea:b.aa,b=c?b.aa:b.ea,null!==a&&(a.Hh=!1),null===b||b.Sh||(0===b.hc.count?(b.Hh=null,null!==e&&e.ma.pb||(b.Sh=!0)):Gj(b)))}}
| function Gj(a){a.Hh=!1;if(0!==a.hc.count){var b=!0,c=a.h;if(null===c||!c.ma.pb){null!==c&&(b=c.md);for(c=a.hc.k;c.next();){var d=c.value;if(d.Cc)if(b){if(d.aa===a){a.Sh=!1;return}}else if(d.ea===a){a.Sh=!1;return}}a.Sh=!0}}}S.prototype.lt=function(a){B.prototype.lt.call(this,a);a||Gj(this);var b=this.bo;null===b||a||Jm(b,this)};S.prototype.mt=function(a){B.prototype.mt.call(this,a);var b=this.bo;null===b||a||null===b.te||(b.te.remove(this),b.ca())};
| S.prototype.Gm=function(){if(0<this.hc.count){var a=this.h;if(null===a)return;for(var b=this.hc.copy().k;b.next();)a.remove(b.value)}this.Wd=null;B.prototype.Gm.call(this)};t.A(S,{Qh:"isLinkLabel"},function(){return null!==this.bo});t.g(S,"labeledLink",S.prototype.Wd);
| t.defineProperty(S,{Wd:"labeledLink"},function(){return this.bo},function(a){var b=this.bo;if(b!==a){f&&null!==a&&t.m(a,U,S,"labeledLink");var c=this.h,d=this.data;if(null!==b&&(null!==b.te&&(b.te.remove(this),b.ca()),null!==c&&null!==d&&!c.ma.pb)){var e=b.data,g=c.fa;if(null!==e&&g instanceof P){var h=g.Ob(d);void 0!==h&&g.vJ(e,h)}}this.bo=a;null!==a&&(Jm(a,this),null===c||null===d||c.ma.pb||(e=a.data,g=c.fa,null!==e&&g instanceof P&&(h=g.Ob(d),void 0!==h&&g.wD(e,h))));yk(this);this.i("labeledLink",
| b,a)}});S.prototype.findPort=S.prototype.fl=function(a){f&&t.j(a,"string",S,"findPort:pid");if(null===this.Nd){if(""===a&&!1===this.rh)return this;Hk(this)}var b=this.Nd.ya(a);return null!==b||""!==a&&(b=this.Nd.ya(""),null!==b)?b:this};t.A(S,{port:"port"},function(){return this.fl("")});t.A(S,{ports:"ports"},function(){null===this.Nd&&Hk(this);return this.Nd.ZE});
| function Hk(a){null===a.Nd?a.Nd=new la("string",Q):a.Nd.clear();Ml(a,a,function(a,c){var d=c.Jd;null!==d&&a.Nd.add(d,c)});0===a.Nd.count&&a.Nd.add("",a)}function Gk(a,b,c){var d=b.Jd;if(null!==d&&(null!==a.Nd&&a.Nd.remove(d),b=a.h,null!==b&&c)){c=null;for(a=a.nE(d);a.next();)null===c&&(c=t.Cb()),c.push(a.value);if(null!==c){for(a=0;a<c.length;a++)b.remove(c[a]);t.za(c)}}}
| S.prototype.isInTreeOf=function(a){if(null===a||a===this)return!1;var b=!0,c=this.h;null!==c&&(b=c.md);c=this;if(b)for(;c!==a;){for(var b=null,d=c.hc.k;d.next();){var e=d.value;if(e.Cc&&(b=e.aa,b!==c&&b!==this))break}if(b===this||null===b||b===c)return!1;c=b}else for(;c!==a;){b=null;for(d=c.hc.k;d.next()&&(e=d.value,!e.Cc||(b=e.ea,b===c||b===this)););if(b===this||null===b||b===c)return!1;c=b}return!0};
| S.prototype.findTreeRoot=function(){var a=!0,b=this.h;null!==b&&(a=b.md);b=this;if(a)for(;;){for(var a=null,c=b.hc.k;c.next();){var d=c.value;if(d.Cc&&(a=d.aa,a!==b&&a!==this))break}if(a===this)return this;if(null===a||a===b)return b;b=a}else for(;;){a=null;for(c=b.hc.k;c.next()&&(d=c.value,!d.Cc||(a=d.ea,a===b||a===this)););if(a===this)return this;if(null===a||a===b)return b;b=a}};
| S.prototype.findTreeParentLink=S.prototype.ft=function(){var a=!0,b=this.h;null!==b&&(a=b.md);b=this.hc.k;if(a)for(;b.next();){if(a=b.value,a.Cc&&a.aa!==this)return a}else for(;b.next();)if(a=b.value,a.Cc&&a.ea!==this)return a;return null};
| S.prototype.findTreeParentNode=S.prototype.rE=function(){if(null===this.Hh||this.Hh instanceof S)return this.Hh;var a=!0,b=this.h;null!==b&&(a=b.md);var b=this.hc.n,c=b.length;if(a)for(a=0;a<c;a++){var d=b[a];if(d.Cc&&(d=d.aa,d!==this))return this.Hh=d}else for(a=0;a<c;a++)if(d=b[a],d.Cc&&(d=d.ea,d!==this))return this.Hh=d;return this.Hh=null};
| S.prototype.findTreeChildrenLinks=S.prototype.Aw=function(){var a=!0,b=this.h;null!==b&&(a=b.md);if(a){var a=new Aa(this.hc),c=this;a.ql=function(a){return a.Cc&&a.aa===c?!0:!1}}else a=new Aa(this.hc),c=this,a.ql=function(a){return a.Cc&&a.ea===c?!0:!1};return a};
| S.prototype.findTreeChildrenNodes=S.prototype.qE=function(){var a=!0,b=this.h;null!==b&&(a=b.md);var c=b=null,d=this.hc.k;if(a)for(;d.next();)a=d.value,a.Cc&&a.aa===this&&(a=a.ea,null!==b?b.add(a):null!==c&&c!==a?(b=new A(S),b.add(c),b.add(a)):c=a);else for(;d.next();)a=d.value,a.Cc&&a.ea===this&&(a=a.aa,null!==b?b.add(a):null!==c&&c!==a?(b=new A(S),b.add(c),b.add(a)):c=a);return null!==b?b.k:null!==c?new za(c):t.Vf};
| S.prototype.findTreeParts=function(a){void 0===a&&(a=Infinity);t.j(a,"number",S,"collapseTree:level");var b=new na(B);Fe(b,this,!1,a);return b};S.prototype.collapseTree=S.prototype.collapseTree=function(a){void 0===a&&(a=1);t.p(a,S,"collapseTree:level");1>a&&(a=1);var b=this.h;if(null!==b&&!b.Sd){b.Sd=!0;var c=b.md,d=new na(S);d.add(this);Km(this,d,c,a,this.Mc);b.Sd=!1;b.ha()}};
| function Km(a,b,c,d,e){if(1<d)for(e=c?a.xw():a.mg();e.next();){var g=e.value;g.Cc&&(g=g.tA(a),null===g||g===a||b.contains(g)||(b.add(g),Km(g,b,c,d-1,g.Mc)))}else Lm(a,b,c,e)}function Lm(a,b,c,d){a.Mc=!1;for(var e=c?a.xw():a.mg();e.next();){var g=e.value;d&&g.Gf();g.Cc&&(g=g.tA(a),null===g||g===a||b.contains(g)||(b.add(g),d&&(g.ha(),lk(g),g.Th(!1)),g.Mc&&(g.en=g.Mc,Lm(g,b,c,g.en))))}}
| S.prototype.expandTree=S.prototype.expandTree=function(a){void 0===a&&(a=2);t.p(a,S,"collapseTree:level");2>a&&(a=2);var b=this.h;if(null!==b&&!b.Sd){var c=b.lc;0!==b.ma.Je&&c.Kp();b.Sd=!0;var d=b.md,e=new na(S);e.add(this);Mm(this,e,d,a,this.Mc,c,this);b.Sd=!1}};
| function Mm(a,b,c,d,e,g,h){a.Mc=!0;for(var k=c?a.xw():a.mg();k.next();){var l=k.value;l.Cc&&(e||(l.Sg||l.Pb(),l.updateAdornments()),l=l.tA(a),null!==l&&l!==a&&!b.contains(l)&&(b.add(l),e||(l.ha(),l.Th(!0),lk(l),Nh(g,l,h)),2<d||l.en))&&(l.en=!1,Mm(l,b,c,d-1,l.Mc,g,h))}}t.g(S,"isTreeExpanded",S.prototype.Mc);
| t.defineProperty(S,{Mc:"isTreeExpanded"},function(){return this.gr},function(a){var b=this.gr;if(b!==a){f&&t.j(a,"boolean",S,"isTreeExpanded");this.gr=a;var c=this.h;this.i("isTreeExpanded",b,a);b=this.yG;if(null!==b){var d=!0;null!==c&&(d=c.Ta,c.Ta=!0);b(this);null!==c&&(c.Ta=d)}null!==c&&c.ma.pb||(a?(a=2,2>a&&(a=2),null===c||c.Sd||(c.Sd=!0,b=c.md,d=new na(S),d.add(this),0!==c.ma.Je&&c.lc.Kp(),Mm(this,d,b,a,!1,c.lc,this),c.Sd=!1)):(a=1,1>a&&(a=1),null===c||c.Sd||(c.Sd=!0,b=c.md,d=new na(S),d.add(this),
| Km(this,d,b,a,!0),c.Sd=!1)))}});t.g(S,"wasTreeExpanded",S.prototype.en);t.defineProperty(S,{en:"wasTreeExpanded"},function(){return this.Js},function(a){var b=this.Js;b!==a&&(f&&t.j(a,"boolean",S,"wasTreeExpanded"),this.Js=a,this.i("wasTreeExpanded",b,a))});t.g(S,"treeExpandedChanged",S.prototype.yG);
| t.defineProperty(S,{yG:"treeExpandedChanged"},function(){return this.Es},function(a){var b=this.Es;b!==a&&(null!==a&&t.j(a,"function",S,"treeExpandedChanged"),this.Es=a,this.i("treeExpandedChanged",b,a))});t.g(S,"isTreeLeaf",S.prototype.Sh);t.defineProperty(S,{Sh:"isTreeLeaf"},function(){return this.hr},function(a){var b=this.hr;b!==a&&(f&&t.j(a,"boolean",S,"isTreeLeaf"),this.hr=a,this.i("isTreeLeaf",b,a))});
| function U(){B.call(this,tg);this.$f=null;this.oh="";this.ig=this.Tq=null;this.Eh="";this.Ds=null;this.Zr=this.Yr=this.Xr=!1;this.ir=!0;this.pq=wg;this.Cq=0;this.Fq=wg;this.Gq=NaN;this.fm=Vk;this.ts=0.5;this.yi=this.te=null;this.Ac=(new A(v)).freeze();this.to=this.ue=null;this.Sg=!1;this.pz=null;this.Az=!1;this.on=this.ki=this.Na=null;this.gf=0;this.Bn=this.xn=null;this.ci=new A(w);this.Fz=new v;this.jD=this.hD=null;this.hy=!1;this.P=null}t.ga("Link",U);t.Ka(U,B);
| U.prototype.cloneProtected=function(a){B.prototype.cloneProtected.call(this,a);a.oh=this.oh;a.Tq=this.Tq;a.Eh=this.Eh;a.Ds=this.Ds;a.Xr=this.Xr;a.Yr=this.Yr;a.Zr=this.Zr;a.ir=this.ir;a.pq=this.pq;a.Cq=this.Cq;a.Fq=this.Fq;a.Gq=this.Gq;a.fm=this.fm;a.ts=this.ts;if(null!==this.P){var b=this.P;a.P={qh:b.qh.Z(),Gh:b.Gh.Z(),nh:b.nh,Dh:b.Dh,mh:b.mh,Ch:b.Ch,ph:b.ph,Fh:b.Fh}}else a.P=null};
| U.prototype.Lh=function(a){B.prototype.Lh.call(this,a);this.oh=a.oh;this.Eh=a.Eh;a.yi=null;a.ue=null;a.Pb();a.on=this.on;a.gf=this.gf};var Vk;U.Normal=Vk=t.w(U,"Normal",1);U.Orthogonal=t.w(U,"Orthogonal",2);U.AvoidsNodes=t.w(U,"AvoidsNodes",6);var Nm;U.AvoidsNodesStraight=Nm=t.w(U,"AvoidsNodesStraight",7);var wg;U.None=wg=t.w(U,"None",0);var Mg;U.Bezier=Mg=t.w(U,"Bezier",9);var vg;U.JumpGap=vg=t.w(U,"JumpGap",10);var ug;U.JumpOver=ug=t.w(U,"JumpOver",11);var Sk;U.End=Sk=t.w(U,"End",17);var Tk;
| U.Scale=Tk=t.w(U,"Scale",18);var Uk;U.Stretch=Uk=t.w(U,"Stretch",19);var am;U.OrientAlong=am=t.w(U,"OrientAlong",21);var Om;U.OrientPlus90=Om=t.w(U,"OrientPlus90",22);var Pm;U.OrientMinus90=Pm=t.w(U,"OrientMinus90",23);var Qm;U.OrientOpposite=Qm=t.w(U,"OrientOpposite",24);var Rm;U.OrientUpright=Rm=t.w(U,"OrientUpright",25);var Sm;U.OrientPlus90Upright=Sm=t.w(U,"OrientPlus90Upright",26);var Tm;U.OrientMinus90Upright=Tm=t.w(U,"OrientMinus90Upright",27);var Um;
| U.OrientUpright45=Um=t.w(U,"OrientUpright45",28);U.prototype.Fe=function(){this.P={qh:xb,Gh:xb,nh:NaN,Dh:NaN,mh:Bm,Ch:Bm,ph:NaN,Fh:NaN}};U.prototype.ll=function(){var a=this.aa;if(null!==a&&(Li(a)||Mi(a)))return!1;a=this.ea;return null!==a&&(Li(a)||Mi(a))?!1:!0};U.prototype.Gd=function(){return!1};
| U.prototype.computeAngle=function(a,b,c){switch(b){default:case wg:a=0;break;case am:a=c;break;case Om:a=c+90;break;case Pm:a=c-90;break;case Qm:a=c+180;break;case Rm:a=F.Dt(c);90<a&&270>a&&(a-=180);break;case Sm:a=F.Dt(c+90);90<a&&270>a&&(a-=180);break;case Tm:a=F.Dt(c-90);90<a&&270>a&&(a-=180);break;case Um:a=F.Dt(c);if(45<a&&135>a||225<a&&315>a)return 0;90<a&&270>a&&(a-=180)}return F.Dt(a)};t.g(U,"fromNode",U.prototype.aa);
| t.defineProperty(U,{aa:"fromNode"},function(){return this.$f},function(a){var b=this.$f;if(b!==a){f&&null!==a&&t.m(a,S,U,"fromNode");var c=this.rd;null!==b&&(this.ig!==b&&Im(b,this,c),Vm(this),b.J(aj));this.$f=a;this.ki=null;this.Pb();var d=this.h;if(null!==d){var e=this.data,g=d.fa;if(null!==e)if(g instanceof P){var h=null!==a?a.data:null;g.jB(e,g.Ob(h))}else g instanceof Kd&&(h=null!==a?a.data:null,d.md?g.Vh(e,g.Ob(h)):(null!==b&&g.Vh(b.data,void 0),g.Vh(h,g.Ob(null!==this.ig?this.ig.data:null))))}e=
| this.rd;g=this.sA;null!==g&&(h=!0,null!==d&&(h=d.Ta,d.Ta=!0),g(this,c,e),null!==d&&(d.Ta=h));null!==a&&(this.ig!==a&&Hm(a,this,e),Wm(this),a.J(Vi));this.i("fromNode",b,a);oj(this)}});t.g(U,"fromPortId",U.prototype.Jf);
| t.defineProperty(U,{Jf:"fromPortId"},function(){return this.oh},function(a){var b=this.oh;if(b!==a){f&&t.j(a,"string",U,"fromPortId");var c=this.rd;null!==c&&Gm(this.aa,c);Vm(this);this.oh=a;var d=this.rd;null!==d&&Gm(this.aa,d);var e=this.h;if(null!==e){var g=this.data,h=e.fa;null!==g&&h instanceof P&&h.kB(g,a)}c!==d&&(this.ki=null,this.Pb(),g=this.sA,null!==g&&(h=!0,null!==e&&(h=e.Ta,e.Ta=!0),g(this,c,d),null!==e&&(e.Ta=h)));Wm(this);this.i("fromPortId",b,a)}});
| t.A(U,{rd:"fromPort"},function(){var a=this.$f;return null===a?null:a.fl(this.oh)});t.g(U,"fromPortChanged",U.prototype.sA);t.defineProperty(U,{sA:"fromPortChanged"},function(){return this.Tq},function(a){var b=this.Tq;b!==a&&(null!==a&&t.j(a,"function",U,"fromPortChanged"),this.Tq=a,this.i("fromPortChanged",b,a))});t.g(U,"toNode",U.prototype.ea);
| t.defineProperty(U,{ea:"toNode"},function(){return this.ig},function(a){var b=this.ig;if(b!==a){f&&null!==a&&t.m(a,S,U,"toNode");var c=this.be;null!==b&&(this.$f!==b&&Im(b,this,c),Vm(this),b.J(aj));this.ig=a;this.ki=null;this.Pb();var d=this.h;if(null!==d){var e=this.data,g=d.fa;if(null!==e)if(g instanceof P){var h=null!==a?a.data:null;g.oB(e,g.Ob(h))}else g instanceof Kd&&(h=null!==a?a.data:null,d.md?(null!==b&&g.Vh(b.data,void 0),g.Vh(h,g.Ob(null!==this.$f?this.$f.data:null))):g.Vh(e,g.Ob(h)))}e=
| this.be;g=this.xB;null!==g&&(h=!0,null!==d&&(h=d.Ta,d.Ta=!0),g(this,c,e),null!==d&&(d.Ta=h));null!==a&&(this.$f!==a&&Hm(a,this,e),Wm(this),a.J(Vi));this.i("toNode",b,a);oj(this)}});t.g(U,"toPortId",U.prototype.Eg);
| t.defineProperty(U,{Eg:"toPortId"},function(){return this.Eh},function(a){var b=this.Eh;if(b!==a){f&&t.j(a,"string",U,"toPortId");var c=this.be;null!==c&&Gm(this.ea,c);Vm(this);this.Eh=a;var d=this.be;null!==d&&Gm(this.ea,d);var e=this.h;if(null!==e){var g=this.data,h=e.fa;null!==g&&h instanceof P&&h.pB(g,a)}c!==d&&(this.ki=null,this.Pb(),g=this.xB,null!==g&&(h=!0,null!==e&&(h=e.Ta,e.Ta=!0),g(this,c,d),null!==e&&(e.Ta=h)));Wm(this);this.i("toPortId",b,a)}});
| t.A(U,{be:"toPort"},function(){var a=this.ig;return null===a?null:a.fl(this.Eh)});t.g(U,"toPortChanged",U.prototype.xB);t.defineProperty(U,{xB:"toPortChanged"},function(){return this.Ds},function(a){var b=this.Ds;b!==a&&(null!==a&&t.j(a,"function",U,"toPortChanged"),this.Ds=a,this.i("toPortChanged",b,a))});
| t.defineProperty(U,{nb:"fromSpot"},function(){return null!==this.P?this.P.qh:xb},function(a){null===this.P&&this.Fe();var b=this.P.qh;b.M(a)||(f&&t.m(a,H,U,"fromSpot"),a=a.Z(),this.P.qh=a,this.i("fromSpot",b,a),this.Pb())});
| t.defineProperty(U,{Zj:"fromEndSegmentLength"},function(){return null!==this.P?this.P.nh:NaN},function(a){null===this.P&&this.Fe();var b=this.P.nh;b!==a&&(f&&t.j(a,"number",U,"fromEndSegmentLength"),0>a&&t.ka(a,">= 0",U,"fromEndSegmentLength"),this.P.nh=a,this.i("fromEndSegmentLength",b,a),this.Pb())});
| t.defineProperty(U,{cp:"fromEndSegmentDirection"},function(){return null!==this.P?this.P.mh:Bm},function(a){null===this.P&&this.Fe();var b=this.P.mh;b!==a&&(f&&t.sb(a,S,U,"fromEndSegmentDirection"),this.P.mh=a,this.i("fromEndSegmentDirection",b,a),this.Pb())});t.defineProperty(U,{dp:"fromShortLength"},function(){return null!==this.P?this.P.ph:NaN},function(a){null===this.P&&this.Fe();var b=this.P.ph;b!==a&&(f&&t.j(a,"number",U,"fromShortLength"),this.P.ph=a,this.i("fromShortLength",b,a),this.Pb())});
| t.defineProperty(U,{qb:"toSpot"},function(){return null!==this.P?this.P.Gh:xb},function(a){null===this.P&&this.Fe();var b=this.P.Gh;b.M(a)||(f&&t.m(a,H,U,"toSpot"),a=a.Z(),this.P.Gh=a,this.i("toSpot",b,a),this.Pb())});
| t.defineProperty(U,{hk:"toEndSegmentLength"},function(){return null!==this.P?this.P.Dh:NaN},function(a){null===this.P&&this.Fe();var b=this.P.Dh;b!==a&&(f&&t.j(a,"number",U,"toEndSegmentLength"),0>a&&t.ka(a,">= 0",U,"toEndSegmentLength"),this.P.Dh=a,this.i("toEndSegmentLength",b,a),this.Pb())});
| t.defineProperty(U,{aq:"toEndSegmentDirection"},function(){return null!==this.P?this.P.Ch:Bm},function(a){null===this.P&&this.Fe();var b=this.P.Ch;b!==a&&(f&&t.sb(a,S,U,"toEndSegmentDirection"),this.P.Ch=a,this.i("toEndSegmentDirection",b,a),this.Pb())});t.defineProperty(U,{bq:"toShortLength"},function(){return null!==this.P?this.P.Fh:NaN},function(a){null===this.P&&this.Fe();var b=this.P.Fh;b!==a&&(f&&t.j(a,"number",U,"toShortLength"),this.P.Fh=a,this.i("toShortLength",b,a),this.Pb())});
| function oj(a){var b=a.aa,c=a.ea;null!==b&&null!==c?Xm(a,b.vI(c)):Xm(a,null)}function Xm(a,b){var c=a.wk;if(c!==b){null!==c&&vm(c,a);a.wk=b;null!==b&&wm(b,a);var d=a.hA;if(null!==d){var e=!0,g=a.h;null!==g&&(e=g.Ta,g.Ta=!0);d(a,c,b);null!==g&&(g.Ta=e)}!a.Sg||a.hD!==c&&a.jD!==c||a.Pb()}}U.prototype.getOtherNode=U.prototype.tA=function(a){f&&t.m(a,S,U,"getOtherNode:node");var b=this.aa;return a===b?this.ea:b};
| U.prototype.getOtherPort=function(a){f&&t.m(a,Q,U,"getOtherPort:port");var b=this.rd;return a===b?this.be:b};t.A(U,{kK:"isLabeledLink"},function(){return null===this.te?!1:0<this.te.count});t.A(U,{dk:"labelNodes"},function(){return null===this.te?t.Vf:this.te.k});function Jm(a,b){null===a.te&&(a.te=new na(S));a.te.add(b);a.ca()}
| U.prototype.lt=function(a){B.prototype.lt.call(this,a);Ym(this)&&xg(this,this.sa);if(!a){a=this.$f;var b=this.ig;null!==a&&(Hm(a,this,this.rd),Wm(this));null!==b&&(Hm(b,this,this.be),Wm(this))}};U.prototype.mt=function(a){B.prototype.mt.call(this,a);Ym(this)&&xg(this,this.sa);if(!a){a=this.$f;var b=this.ig;null!==a&&(Im(a,this,this.rd),Vm(this));null!==b&&(Im(b,this,this.be),Vm(this))}};
| U.prototype.Gm=function(){if(null!==this.te){var a=this.h;if(null===a)return;for(var b=this.te.copy().k;b.next();)a.remove(b.value)}b=this.data;null!==b&&(a=this.h,null!==a&&(a=a.fa,a instanceof P?a.dB(b):a instanceof Kd&&a.Vh(b,void 0)))};U.prototype.move=U.prototype.move=function(a){var b=this.position,c=b.x;isNaN(c)&&(c=0);b=b.y;isNaN(b)&&(b=0);c=a.x-c;b=a.y-b;B.prototype.move.call(this,a);this.ol(c,b);for(a=this.dk;a.next();){var d=a.value,e=d.position;d.moveTo(e.x+c,e.y+b)}};
| t.g(U,"relinkableFrom",U.prototype.AF);t.defineProperty(U,{AF:"relinkableFrom"},function(){return this.Xr},function(a){var b=this.Xr;b!==a&&(f&&t.j(a,"boolean",U,"relinkableFrom"),this.Xr=a,this.i("relinkableFrom",b,a),this.updateAdornments())});t.g(U,"relinkableTo",U.prototype.BF);t.defineProperty(U,{BF:"relinkableTo"},function(){return this.Yr},function(a){var b=this.Yr;b!==a&&(f&&t.j(a,"boolean",U,"relinkableTo"),this.Yr=a,this.i("relinkableTo",b,a),this.updateAdornments())});
| U.prototype.canRelinkFrom=function(){if(!this.AF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Oj)return!1;a=a.h;return null===a||a.Oj?!0:!1};U.prototype.canRelinkTo=function(){if(!this.BF)return!1;var a=this.layer;if(null===a)return!0;if(!a.Oj)return!1;a=a.h;return null===a||a.Oj?!0:!1};t.g(U,"resegmentable",U.prototype.Mp);
| t.defineProperty(U,{Mp:"resegmentable"},function(){return this.Zr},function(a){var b=this.Zr;b!==a&&(f&&t.j(a,"boolean",U,"resegmentable"),this.Zr=a,this.i("resegmentable",b,a),this.updateAdornments())});t.g(U,"isTreeLink",U.prototype.Cc);t.defineProperty(U,{Cc:"isTreeLink"},function(){return this.ir},function(a){var b=this.ir;b!==a&&(f&&t.j(a,"boolean",U,"isTreeLink"),this.ir=a,this.i("isTreeLink",b,a),null!==this.aa&&Gj(this.aa),null!==this.ea&&Gj(this.ea))});
| t.A(U,{path:"path"},function(){var a=this.yi;if(null!==a)return a;a=this.xa;a=zk(this,a,a.length);return a instanceof X?this.yi=a:null});U.prototype.Vq=function(){return this.path};U.prototype.Jy=function(){return this.Ac};U.prototype.pj=function(){this.updateRoute();var a=new w;this.nf(a);return this.pz=a};
| U.prototype.nf=function(a){var b=Infinity,c=Infinity,d=this.oa;if(0===d)return a.q(NaN,NaN,0,0),a;if(1===d)d=this.o(0),b=Math.min(d.x,b),c=Math.min(d.y,c),a.q(d.x,d.y,0,0);else if(2===d){var e=this.o(0),g=this.o(1),b=Math.min(e.x,g.x),c=Math.min(e.y,g.y);a.q(e.x,e.y,0,0);a.cj(g)}else if(this.computeCurve()===Mg&&3<=d&&!this.dc)if(e=this.o(0),b=e.x,c=e.y,a.q(b,c,0,0),3===d)d=this.o(1),b=Math.min(d.x,b),c=Math.min(d.y,c),g=this.o(2),b=Math.min(g.x,b),c=Math.min(g.y,c),F.Oo(e.x,e.y,d.x,d.y,d.x,d.y,g.x,
| g.y,0.5,a);else for(var h,k,l=3;l<d;l+=3)h=this.o(l-2),l+3>=d&&(l=d-1),k=this.o(l-1),g=this.o(l),F.Oo(e.x,e.y,h.x,h.y,k.x,k.y,g.x,g.y,0.5,a),b=Math.min(g.x,b),c=Math.min(g.y,c),e=g;else for(e=this.o(0),g=this.o(1),b=Math.min(e.x,g.x),c=Math.min(e.y,g.y),a.q(e.x,e.y,0,0),a.cj(g),l=2;l<d;l++)e=this.o(l),b=Math.min(e.x,b),c=Math.min(e.y,c),a.cj(e);this.Fz.q(b-a.x,c-a.y);return a};t.A(U,{nF:"midPoint"},function(){this.updateRoute();return this.computeMidPoint(new v)});
| U.prototype.computeMidPoint=function(a){var b=this.oa;if(0===b)return a.assign(F.SG),a;if(1===b)return a.assign(this.o(0)),a;if(2===b){var c=this.o(0),d=this.o(1);a.q((c.x+d.x)/2,(c.y+d.y)/2);return a}if(this.computeCurve()===Mg&&3<=b&&!this.dc){if(3===b)return this.o(1);var b=(b-1)/3|0,e=3*(b/2|0);1===b%2?(c=this.o(e),d=this.o(e+1),b=this.o(e+2),e=this.o(e+3),F.RH(c.x,c.y,d.x,d.y,b.x,b.y,e.x,e.y,a)):a.assign(this.o(e));return a}for(var e=0,g=t.Cb(),h=0;h<b-1;h++)c=this.o(h),d=this.o(h+1),F.Ha(c.x,
| d.x)?(c=d.y-c.y,0>c&&(c=-c)):F.Ha(c.y,d.y)?(c=d.x-c.x,0>c&&(c=-c)):c=Math.sqrt(c.Uj(d)),g.push(c),e+=c;for(d=h=c=0;c<e/2&&h<b;){d=g[h];if(c+d>e/2)break;c+=d;h++}t.za(g);b=this.o(h);g=this.o(h+1);b.x===g.x?b.y>g.y?a.q(b.x,b.y-(e/2-c)):a.q(b.x,b.y+(e/2-c)):b.y===g.y?b.x>g.x?a.q(b.x-(e/2-c),b.y):a.q(b.x+(e/2-c),b.y):(e=(e/2-c)/d,a.q(b.x+e*(g.x-b.x),b.y+e*(g.y-b.y)));return a};t.A(U,{mF:"midAngle"},function(){this.updateRoute();return this.computeMidAngle()});
| U.prototype.computeMidAngle=function(){var a=this.oa;if(2>a)return NaN;if(this.computeCurve()===Mg&&4<=a&&!this.dc){var b=(a-1)/3|0,c=3*(b/2|0);if(1===b%2){var c=Math.floor(c),a=this.o(c),b=this.o(c+1),d=this.o(c+2),c=this.o(c+3);return F.QH(a.x,a.y,b.x,b.y,d.x,d.y,c.x,c.y)}if(0<c&&c+1<a)return a=this.o(c-1),b=this.o(c+1),a.Qi(b)}d=a/2|0;if(0===a%2)return a=this.o(d-1),b=this.o(d),a.Qi(b);var a=this.o(d-1),b=this.o(d),d=this.o(d+1),c=a.Uj(b),e=b.Uj(d);return c>e?a.Qi(b):b.Qi(d)};t.g(U,"points",U.prototype.points);
| t.defineProperty(U,{points:"points"},function(){return this.Ac},function(a){var b=this.Ac;if(b!==a){f&&(Array.isArray(a)||a instanceof A||t.l("Link.points value is not an instance of List or Array"));var c=a;if(Array.isArray(a)){var d=0===a.length%2;if(d)for(var e=0;e<a.length;e++)if("number"!==typeof a[e]){d=!1;break}if(d)for(c=new A(v),d=0;d<a.length/2;d++)e=(new v(a[2*d],a[2*d+1])).freeze(),c.add(e);else t.l("Link.points array must contain only numbers")}else for(c=a.copy(),a=c.k;a.next();)a.value.freeze();
| c.freeze();this.Ac=c;this.Ye();Zm(this);this.h&&this.h.lc.ed&&(this.to=c);this.i("points",b,c)}});t.A(U,{oa:"pointsCount"},function(){return this.Ac.count});U.prototype.getPoint=U.prototype.o=function(a){return this.Ac.n[a]};U.prototype.setPoint=U.prototype.wf=function(a,b){f&&(t.m(b,v,U,"setPoint"),b.N()||t.l("Link.setPoint called with a Point that does not have real numbers: "+b.toString()));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.Bg(a,b)};
| U.prototype.setPointAt=U.prototype.Y=function(a,b,c){f&&(t.p(b,U,"setPointAt:x"),t.p(c,U,"setPointAt:y"));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.Bg(a,new v(b,c))};U.prototype.insertPoint=function(a,b){f&&(t.m(b,v,U,"insertPoint"),b.N()||t.l("Link.insertPoint called with a Point that does not have real numbers: "+b.toString()));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.Ed(a,b)};
| U.prototype.insertPointAt=U.prototype.C=function(a,b,c){f&&(t.p(b,U,"insertPointAt:x"),t.p(c,U,"insertPointAt:y"));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.Ed(a,new v(b,c))};U.prototype.addPoint=U.prototype.Ih=function(a){f&&(t.m(a,v,U,"addPoint"),a.N()||t.l("Link.addPoint called with a Point that does not have real numbers: "+a.toString()));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.add(a)};
| U.prototype.addPointAt=U.prototype.Wk=function(a,b){f&&(t.p(a,U,"insertPointAt:x"),t.p(b,U,"insertPointAt:y"));null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.add(new v(a,b))};U.prototype.removePoint=U.prototype.DF=function(a){null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.nd(a)};
| U.prototype.clearPoints=U.prototype.Qo=function(){null===this.ue&&t.l("Call Link.startRoute before modifying the points of the route.");this.Ac.clear()};U.prototype.movePoints=U.prototype.ol=function(a,b){for(var c=new A(v),d=this.Ac.k;d.next();){var e=d.value;c.add((new v(e.x+a,e.y+b)).freeze())}c.freeze();d=this.Ac;this.Ac=c;this.Ye();Zm(this);this.h&&this.h.lc.ed&&(this.to=c);this.i("points",d,c)};U.prototype.startRoute=U.prototype.vl=function(){null===this.ue&&(this.ue=this.Ac,this.Ac=this.Ac.copy())};
| U.prototype.commitRoute=U.prototype.Mi=function(){if(null!==this.ue){for(var a=this.ue,b=this.Ac,c=Infinity,d=Infinity,e=a.count,g=0;g<e;g++)var h=a.n[g],c=Math.min(h.x,c),d=Math.min(h.y,d);for(var k=Infinity,l=Infinity,m=b.count,g=0;g<m;g++)h=b.n[g],k=Math.min(h.x,k),l=Math.min(h.y,l),h.freeze();b.freeze();if(m===e)for(g=0;g<m;g++){if(e=a.n[g],h=b.n[g],e.x-c!==h.x-k||e.y-d!==h.y-l){this.Ye();break}}else this.Ye();this.ue=null;this.h&&this.h.lc.ed&&(this.to=b);Zm(this);this.i("points",a,b)}};
| U.prototype.rollbackRoute=U.prototype.xJ=function(){null!==this.ue&&(this.Ac=this.ue,this.ue=null)};function Zm(a){0===a.Ac.count?a.Sg=!1:(a.Sg=!0,a.xn=a.o(0).copy(),a.Bn=a.o(a.oa-1).copy(),$m(a,!1))}U.prototype.invalidateRoute=U.prototype.Pb=function(){if(!(this.Az||this.h&&this.h.ma.pb)){var a=this.Vq();null!==a&&(this.Sg=!1,this.Ye(),a.ca())}};t.defineProperty(U,{Zp:null},function(){return this.Az},function(a){this.Az=a});
| U.prototype.updateRoute=function(){if(!this.Sg&&!this.hy){var a=!0;try{this.hy=!0,this.vl(),a=this.computePoints()}finally{this.hy=!1,a?this.Mi():this.xJ()}}};
| U.prototype.computePoints=function(){var a=this.h;if(null===a)return!1;var b=this.aa,c=null;null===b?(a.gm||(a.xv=new X,a.xv.Ba=F.kq,a.xv.gb=0,a.gm=new S,a.gm.add(a.xv),a.gm.Hf()),this.xn&&(a.gm.position=a.gm.location=this.xn,a.gm.Hf(),b=a.gm,c=a.xv)):c=this.rd;if(null!==c){var d=Ik(c);d!==b&&b.bb()?c=d:(d=Og(b),null!==d&&d!==b?(b=d,c=d.fl("")):b=d)}this.hD=b;if(null===b||null===c||!b.location.N())return!1;var d=this.ea,e=null;null===d?(a.hm||(a.yv=new X,a.yv.Ba=F.kq,a.yv.gb=0,a.hm=new S,a.hm.add(a.yv),
| a.hm.Hf()),this.Bn&&(a.hm.position=a.hm.location=this.Bn,a.hm.Hf(),d=a.hm,e=a.yv)):e=this.be;null!==e&&(a=Ik(e),a!==d&&d.bb()?e=a:(a=Og(d),null!==a&&a!==d?(d=a,e=a.fl("")):d=a));this.jD=d;if(null===d||null===e||!d.location.N())return!1;var a=this.oa,g=an(this,c),h=bn(this,e),k=c===e,l=this.dc,m=this.De===Mg;this.ki=k&&!l?m=!0:!1;var n=this.Ho===wg||k;if(l||g!==wb||h!==wb||k){m=this.Ui;n&&(l&&m||k)&&this.Qo();var p=k?this.computeCurviness():0,q=this.getLinkPoint(b,c,g,!0,l,d,e),r=0,s=0,u=0;if(l||g!==
| wb||k){var x=this.computeEndSegmentLength(b,c,g,!0),u=this.getLinkDirection(b,c,q,g,!0,l,d,e);k&&(u-=l?90:30,0>p&&(u-=180));0>u?u+=360:360<=u&&(u-=360);k&&(x+=Math.abs(p));0===u?r=x:90===u?s=x:180===u?r=-x:270===u?s=-x:(r=x*Math.cos(u*Math.PI/180),s=x*Math.sin(u*Math.PI/180));if(g.Ge()&&k){var E=c.ob(Hb,t.K()),G=t.gc(E.x+1E3*r,E.y+1E3*s);this.getLinkPointFromPoint(b,c,E,G,!0,q);t.B(E);t.B(G)}}var x=this.getLinkPoint(d,e,h,!1,l,b,c),C=0,I=0,O=0;if(l||h!==wb||k)E=this.computeEndSegmentLength(d,e,h,
| !1),O=this.getLinkDirection(d,e,x,h,!1,l,b,c),k&&(O+=l?0:30,0>p&&(O+=180)),0>O?O+=360:360<=O&&(O-=360),k&&(E+=Math.abs(p)),0===O?C=E:90===O?I=E:180===O?C=-E:270===O?I=-E:(C=E*Math.cos(O*Math.PI/180),I=E*Math.sin(O*Math.PI/180)),h.Ge()&&k&&(E=e.ob(Hb,t.K()),G=t.gc(E.x+1E3*C,E.y+1E3*I),this.getLinkPointFromPoint(d,e,E,G,!1,x),t.B(E),t.B(G));e=q;if(l||g!==wb||k)e=new v(q.x+r,q.y+s);c=x;if(l||h!==wb||k)c=new v(x.x+C,x.y+I);!n&&!l&&g===wb&&3<a&&this.adjustPoints(0,q,a-2,c)?this.wf(a-1,x):!n&&!l&&h===wb&&
| 3<a&&this.adjustPoints(1,e,a-1,x)?this.wf(0,q):!n&&!l&&4<a&&this.adjustPoints(1,e,a-2,c)?(this.wf(0,q),this.wf(a-1,x)):!n&&l&&6<=a&&!m&&this.adjustPoints(1,e,a-2,c)?(this.wf(0,q),this.wf(a-1,x)):(this.Qo(),this.Ih(q),(l||g!==wb||k)&&this.Ih(e),l&&this.addOrthoPoints(e,u,c,O,b,d),(l||h!==wb||k)&&this.Ih(c),this.Ih(x))}else g=!1,!n&&3<=a&&(n=this.getLinkPoint(b,c,wb,!0,!1,d,e),g=this.getLinkPoint(d,e,wb,!1,!1,b,c),g=this.adjustPoints(0,n,a-1,g)),g||(this.Qo(),m?(a=this.getLinkPoint(b,c,wb,!0,!1,d,e),
| n=this.getLinkPoint(d,e,wb,!1,!1,b,c),g=n.x-a.x,h=n.y-a.y,k=this.computeCurviness(),m=l=0,q=a.x+g/3,u=a.y+h/3,r=q,s=u,F.I(h,0)?s=0<g?s-k:s+k:(l=-g/h,m=Math.sqrt(k*k/(l*l+1)),0>k&&(m=-m),r=(0>h?-1:1)*m+q,s=l*(r-q)+u),q=a.x+2*g/3,u=a.y+2*h/3,x=q,C=u,F.I(h,0)?C=0<g?C-k:C+k:(x=(0>h?-1:1)*m+q,C=l*(x-q)+u),this.Qo(),this.Ih(a),this.Wk(r,s),this.Wk(x,C),this.Ih(n),this.wf(0,this.getLinkPoint(b,c,wb,!0,!1,d,e)),this.wf(3,this.getLinkPoint(d,e,wb,!1,!1,b,c))):(a=d,d=this.getLinkPoint(b,c,wb,!0,!1,a,e),e=this.getLinkPoint(a,
| e,wb,!1,!1,b,c),this.hasCurviness()?(h=e.x-d.x,b=e.y-d.y,c=this.computeCurviness(),a=d.x+h/2,n=d.y+b/2,g=a,k=n,F.I(b,0)?k=0<h?k-c:k+c:(h=-h/b,g=Math.sqrt(c*c/(h*h+1)),0>c&&(g=-g),g=(0>b?-1:1)*g+a,k=h*(g-a)+n),this.Ih(d),this.Wk(g,k)):this.Ih(d),this.Ih(e)));return!0};function cn(a,b){Math.abs(b.x-a.x)>Math.abs(b.y-a.y)?(b.x=b.x>=a.x?a.x+9E9:a.x-9E9,b.y=a.y):(b.y=b.y>=a.y?a.y+9E9:a.y-9E9,b.x=a.x);return b}
| U.prototype.getLinkPointFromPoint=function(a,b,c,d,e,g){void 0===g&&(g=new v);if(null===a||null===b)return g.assign(c),g;a.bb()||(e=Og(a),null!==e&&e!==a&&(b=e.port));var h;a=null;if(null===b.ja)e=d.x,d=d.y,h=c.x,c=c.y;else{a=b.ja.ie;e=1/(a.m11*a.m22-a.m12*a.m21);h=a.m22*e;var k=-a.m12*e,l=-a.m21*e,m=a.m11*e,n=e*(a.m21*a.dy-a.m22*a.dx),p=e*(a.m12*a.dx-a.m11*a.dy);e=d.x*h+d.y*l+n;d=d.x*k+d.y*m+p;h=c.x*h+c.y*l+n;c=c.x*k+c.y*m+p}b.gp(e,d,h,c,g);a&&g.transform(a);return g};
| function dn(a,b){var c=b.Tr;null===c&&(c=new en,c.port=b,c.Dc=b.S,b.Tr=c);return fn(c,a)}
| U.prototype.getLinkPoint=function(a,b,c,d,e,g,h,k){void 0===k&&(k=new v);if(c.sd())return b.ob(c,k),k;if(c.op()&&(c=dn(this,b),null!==c)){k.assign(c.vp);if(e&&this.Kt===Nm){var l=dn(this,h);if(c.Dm<l.Dm){c=t.K();var l=t.K(),m=new w(b.ob(Eb,c),b.ob(Pb,l)),n=this.computeSpot(!d);a=this.getLinkPoint(g,h,n,!d,e,a,b,l);a.x>=m.x&&a.x<=m.x+m.width?k.x=a.x:a.y>=m.y&&a.y<=m.y+m.height&&(k.y=a.y);t.B(c);t.B(l)}}return k}g=b.ob(Hb,t.K());c=null;this.oa>(e?6:2)?(h=d?this.o(1):this.o(this.oa-2),e&&(h=cn(g,h.copy()))):
| (c=t.K(),h=h.ob(Hb,c),e&&(h=cn(g,h)));this.getLinkPointFromPoint(a,b,g,h,d,k);t.B(g);null!==c&&t.B(c);return k};
| U.prototype.getLinkDirection=function(a,b,c,d,e,g,h,k){a:if(d.sd())c=d.x>d.y?d.x>1-d.y?0:d.x<1-d.y?270:315:d.x<d.y?d.x>1-d.y?90:d.x<1-d.y?180:135:0.5>d.x?225:0.5<d.x?45:0;else{if(d.op()&&(a=dn(this,b),null!==a))switch(a.Yd){case t.Yc:c=270;break a;case t.Fc:c=180;break a;default:case t.Oc:c=0;break a;case t.Nc:c=90;break a}a=b.ob(Hb,t.K());d=null;this.oa>(g?6:2)?(k=e?this.o(1):this.o(this.oa-2),k=g?cn(a,k.copy()):c):(d=t.K(),k=k.ob(Hb,d));c=Math.abs(k.x-a.x)>Math.abs(k.y-a.y)?k.x>=a.x?0:180:k.y>=
| a.y?90:270;t.B(a);null!==d&&t.B(d)}g=Bm;g=e?this.cp:this.aq;g===Bm&&(g=e?b.cp:b.aq);switch(g){case Cm:b=b.gl();c+=b;360<=c&&(c-=360);break;case Bm:case Zj:b=b.gl();if(0===b)break;45<=b&&135>b?c+=90:135<=b&&225>b?c+=180:225<=b&&315>b&&(c+=270);360<=c&&(c-=360)}return c};U.prototype.computeEndSegmentLength=function(a,b,c,d){if(null!==b&&c.op()&&(a=dn(this,b),null!==a))return a.vw;a=NaN;a=d?this.Zj:this.hk;null!==b&&isNaN(a)&&(a=d?b.Zj:b.hk);isNaN(a)&&(a=10);return a};
| U.prototype.computeSpot=function(a){return a?an(this,this.rd):bn(this,this.be)};function an(a,b){if(null===b)return Hb;var c=a.nb;c.Lc()&&(void 0===b&&(b=a.rd),null!==b&&(c=b.nb));return c===xb?wb:c}function bn(a,b){if(null===b)return Hb;var c=a.qb;c.Lc()&&(void 0===b&&(b=a.be),null!==b&&(c=b.qb));return c===xb?wb:c}U.prototype.computeOtherPoint=function(a,b){var c=b.ob(Hb),d;d=b.Tr;d=null!==d?fn(d,this):null;null!==d&&(c=d.vp);return c};
| U.prototype.computeShortLength=function(a){return a?gn(this):hn(this)};function gn(a){var b=a.dp;isNaN(b)&&(a=a.rd,null!==a&&(b=a.dp));return isNaN(b)?0:b}function hn(a){var b=a.bq;isNaN(b)&&(a=a.be,null!==a&&(b=a.bq));return isNaN(b)?0:b}
| U.prototype.Xj=function(a,b,c,d,e,g){if(!1===this.uf)return!1;void 0===b&&(b=null);void 0===c&&(c=null);var h=g;void 0===g&&(h=t.ah(),h.reset());h.multiply(this.transform);if(this.Bm(a,h))return Sl(this,b,c,e),void 0===g&&t.We(h),!0;if(this.Mf(a,h)){var k=!1;if(!this.Ig)for(var l=this.xa.length;l--;){var m=this.xa.n[l];if(m.visible||m===this.fc){var n=m.sa,p=this.Pa;if(!(n.x>p.width||n.y>p.height||0>n.x+n.width||0>n.y+n.height)){n=t.ah();n.set(h);if(m instanceof y)k=m.Xj(a,b,c,d,e,n);else if(this.path===
| m){var k=m,q=a,r=d,p=n;if(!1===k.uf)k=!1;else if(p.multiply(k.transform),r)b:{var s=q,u=p;if(k.Bm(s,u))k=!0;else{if(void 0===u&&(u=k.transform,s.Rj(k.sa))){k=!0;break b}var p=s.left,q=s.right,r=s.top,s=s.bottom,x=t.K(),E=t.K(),G=t.K(),C=t.ah();C.set(u);C.sF(k.transform);C.xA();E.x=q;E.y=r;E.transform(C);x.x=p;x.y=r;x.transform(C);u=!1;Zl(k,x,E,G)?u=!0:(x.x=q,x.y=s,x.transform(C),Zl(k,x,E,G)?u=!0:(E.x=p,E.y=s,E.transform(C),Zl(k,x,E,G)?u=!0:(x.x=p,x.y=r,x.transform(C),Zl(k,x,E,G)&&(u=!0))));t.We(C);
| t.B(x);t.B(E);t.B(G);k=u}}else k=k.Bm(q,p)}else k=ek(m,a,d,n);k&&(null!==b&&(m=b(m)),m&&(null===c||c(m))&&e.add(m));t.We(n)}}}void 0===g&&t.We(h);return k||null!==this.background||null!==this.Zk}void 0===g&&t.We(h);return!1};t.A(U,{dc:"isOrthogonal"},function(){return 2===(this.fm.value&2)});t.A(U,{Ui:"isAvoiding"},function(){return 4===(this.fm.value&4)});U.prototype.computeCurve=function(){if(null===this.ki){var a=this.dc;this.ki=this.rd===this.be&&!a}return this.ki?Mg:this.De};
| U.prototype.computeCorner=function(){if(this.De===Mg)return 0;var a=this.lw;if(isNaN(a)||0>a)a=10;return a};U.prototype.computeCurviness=function(){var a=this.Zs;if(isNaN(a)){var b=this.gf;if(0!==b){var a=10,c=this.h;null!==c&&(a=c.wp);c=Math.abs(b);a=a/2+((c-1)/2|0)*a;0===c%2&&(a=-a);0>b&&(a=-a)}else a=10}return a};U.prototype.computeThickness=function(){var a=this.path;return null!==a?Math.max(a.gb,1):1};U.prototype.hasCurviness=function(){return!isNaN(this.Zs)||0!==this.gf&&!this.dc};
| U.prototype.adjustPoints=function(a,b,c,d){var e=this.Ho;if(this.dc){if(e===Tk)return!1;e===Uk&&(e=Sk)}switch(e){case Tk:var g=this.o(a),h=this.o(c);if(!g.M(b)||!h.M(d)){var e=g.x,g=g.y,k=h.x-e,l=h.y-g,m=Math.sqrt(k*k+l*l);if(!F.I(m,0)){var n;F.I(k,0)?n=0>l?-Math.PI/2:Math.PI/2:(n=Math.atan(l/Math.abs(k)),0>k&&(n=Math.PI-n));var h=b.x,p=b.y,k=d.x-h,q=d.y-p,l=Math.sqrt(k*k+q*q);F.I(k,0)?q=0>q?-Math.PI/2:Math.PI/2:(q=Math.atan(q/Math.abs(k)),0>k&&(q=Math.PI-q));m=l/m;n=q-n;this.wf(a,b);for(a+=1;a<c;a++)b=
| this.o(a),k=b.x-e,l=b.y-g,b=Math.sqrt(k*k+l*l),F.I(b,0)||(F.I(k,0)?l=0>l?-Math.PI/2:Math.PI/2:(l=Math.atan(l/Math.abs(k)),0>k&&(l=Math.PI-l)),k=l+n,b*=m,this.Y(a,h+b*Math.cos(k),p+b*Math.sin(k)));this.wf(c,d)}}return!0;case Uk:g=this.o(a);p=this.o(c);if(!g.M(b)||!p.M(d)){e=g.x;g=g.y;h=p.x;p=p.y;m=(h-e)*(h-e)+(p-g)*(p-g);k=b.x;n=b.y;var l=d.x,q=d.y,r=0,s=1,r=0!==l-k?(q-n)/(l-k):9E9;0!==r&&(s=Math.sqrt(1+1/(r*r)));this.wf(a,b);for(a+=1;a<c;a++){b=this.o(a);var u=b.x,x=b.y,E=0.5;0!==m&&(E=((e-u)*(e-
| h)+(g-x)*(g-p))/m);var G=e+E*(h-e),C=g+E*(p-g);b=Math.sqrt((u-G)*(u-G)+(x-C)*(x-C));x<r*(u-G)+C&&(b=-b);0<r&&(b=-b);u=k+E*(l-k);E=n+E*(q-n);0!==r?(b=u+b/s,this.Y(a,b,E-(b-u)/r)):this.Y(a,u,E+b)}this.wf(c,d)}return!0;case Sk:return this.dc&&(e=this.o(a),g=this.o(a+1),h=this.o(a+2),F.I(e.y,g.y)?F.I(g.x,h.x)?this.Y(a+1,g.x,b.y):F.I(g.y,h.y)&&this.Y(a+1,b.x,g.y):F.I(e.x,g.x)&&(F.I(g.y,h.y)?this.Y(a+1,b.x,g.y):F.I(g.x,h.x)&&this.Y(a+1,g.x,b.y)),e=this.o(c),g=this.o(c-1),h=this.o(c-2),F.I(e.y,g.y)?F.I(g.x,
| h.x)?this.Y(c-1,g.x,d.y):F.I(g.y,h.y)&&this.Y(c-1,d.x,g.y):F.I(e.x,g.x)&&(F.I(g.y,h.y)?this.Y(c-1,d.x,g.y):F.I(g.x,h.x)&&this.Y(c-1,g.x,d.y))),this.wf(a,b),this.wf(c,d),!0;default:return!1}};
| U.prototype.addOrthoPoints=function(a,b,c,d,e,g){b=-45<=b&&45>b?0:45<=b&&135>b?90:135<=b&&225>b?180:270;d=-45<=d&&45>d?0:45<=d&&135>d?90:135<=d&&225>d?180:270;var h=e.sa.copy(),k=g.sa.copy();if(h.N()&&k.N()){h.Lf(8,8);k.Lf(8,8);h.cj(a);k.cj(c);var l,m;if(0===b)if(c.x>a.x||270===d&&c.y<a.y&&k.right>a.x||90===d&&c.y>a.y&&k.right>a.x)l=new v(c.x,a.y),m=new v(c.x,(a.y+c.y)/2),180===d?(l.x=this.computeMidOrthoPosition(a.x,c.x,!1),m.x=l.x,m.y=c.y):270===d&&c.y<a.y||90===d&&c.y>a.y?(l.x=a.x<k.left?this.computeMidOrthoPosition(a.x,
| k.left,!1):a.x<k.right&&(270===d&&a.y<k.top||90===d&&a.y>k.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.right,m.x=l.x,m.y=c.y):0===d&&a.x<k.left&&a.y>k.top&&a.y<k.bottom&&(l.x=a.x,l.y=a.y<c.y?Math.min(c.y,k.top):Math.max(c.y,k.bottom),m.y=l.y);else{l=new v(a.x,c.y);m=new v((a.x+c.x)/2,c.y);if(180===d||90===d&&c.y<h.top||270===d&&c.y>h.bottom)180===d&&(k.Ga(a)||h.Ga(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.y<a.y&&(180===d||90===d)?l.y=this.computeMidOrthoPosition(h.top,Math.max(c.y,
| k.bottom),!0):c.y>a.y&&(180===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y<h.bottom)if(c.x>=h.left&&c.x<=a.x||a.x<=k.right&&a.x>=c.x){if(90===d||270===d)l=new v(Math.max((a.x+c.x)/2,a.x),a.y),m=new v(l.x,c.y)}else l.y=270===d||(0===d||180===d)&&c.y<a.y?Math.min(c.y,0===d?h.top:Math.min(h.top,k.top)):Math.max(c.y,0===d?h.bottom:Math.max(h.bottom,k.bottom)),m.x=c.x,m.y=l.y}else if(180===b)if(c.x<a.x||270===d&&c.y<a.y&&k.left<a.x||
| 90===d&&c.y>a.y&&k.left<a.x)l=new v(c.x,a.y),m=new v(c.x,(a.y+c.y)/2),0===d?(l.x=this.computeMidOrthoPosition(a.x,c.x,!1),m.x=l.x,m.y=c.y):270===d&&c.y<a.y||90===d&&c.y>a.y?(l.x=a.x>k.right?this.computeMidOrthoPosition(a.x,k.right,!1):a.x>k.left&&(270===d&&a.y<k.top||90===d&&a.y>k.bottom)?this.computeMidOrthoPosition(a.x,c.x,!1):k.left,m.x=l.x,m.y=c.y):180===d&&a.x>k.right&&a.y>k.top&&a.y<k.bottom&&(l.x=a.x,l.y=a.y<c.y?Math.min(c.y,k.top):Math.max(c.y,k.bottom),m.y=l.y);else{l=new v(a.x,c.y);m=new v((a.x+
| c.x)/2,c.y);if(0===d||90===d&&c.y<h.top||270===d&&c.y>h.bottom)0===d&&(k.Ga(a)||h.Ga(c))?l.y=this.computeMidOrthoPosition(a.y,c.y,!0):c.y<a.y&&(0===d||90===d)?l.y=this.computeMidOrthoPosition(h.top,Math.max(c.y,k.bottom),!0):c.y>a.y&&(0===d||270===d)&&(l.y=this.computeMidOrthoPosition(h.bottom,Math.min(c.y,k.top),!0)),m.x=c.x,m.y=l.y;if(l.y>h.top&&l.y<h.bottom)if(c.x<=h.right&&c.x>=a.x||a.x>=k.left&&a.x<=c.x){if(90===d||270===d)l=new v(Math.min((a.x+c.x)/2,a.x),a.y),m=new v(l.x,c.y)}else l.y=270===
| d||(0===d||180===d)&&c.y<a.y?Math.min(c.y,180===d?h.top:Math.min(h.top,k.top)):Math.max(c.y,180===d?h.bottom:Math.max(h.bottom,k.bottom)),m.x=c.x,m.y=l.y}else if(90===b)if(c.y>a.y||180===d&&c.x<a.x&&k.bottom>a.y||0===d&&c.x>a.x&&k.bottom>a.y)l=new v(a.x,c.y),m=new v((a.x+c.x)/2,c.y),270===d?(l.y=this.computeMidOrthoPosition(a.y,c.y,!0),m.x=c.x,m.y=l.y):180===d&&c.x<a.x||0===d&&c.x>a.x?(l.y=a.y<k.top?this.computeMidOrthoPosition(a.y,k.top,!0):a.y<k.bottom&&(180===d&&a.x<k.left||0===d&&a.x>k.right)?
| this.computeMidOrthoPosition(a.y,c.y,!0):k.bottom,m.x=c.x,m.y=l.y):90===d&&a.y<k.top&&a.x>k.left&&a.x<k.right&&(l.x=a.x<c.x?Math.min(c.x,k.left):Math.max(c.x,k.right),l.y=a.y,m.x=l.x);else{l=new v(c.x,a.y);m=new v(c.x,(a.y+c.y)/2);if(270===d||0===d&&c.x<h.left||180===d&&c.x>h.right)270===d&&(k.Ga(a)||h.Ga(c))?l.x=this.computeMidOrthoPosition(a.x,c.x,!1):c.x<a.x&&(270===d||0===d)?l.x=this.computeMidOrthoPosition(h.left,Math.max(c.x,k.right),!1):c.x>a.x&&(270===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,
| Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x<h.right)if(c.y>=h.top&&c.y<=a.y||a.y<=k.bottom&&a.y>=c.y){if(0===d||180===d)l=new v(a.x,Math.max((a.y+c.y)/2,a.y)),m=new v(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.x<a.x?Math.min(c.x,90===d?h.left:Math.min(h.left,k.left)):Math.max(c.x,90===d?h.right:Math.max(h.right,k.right)),m.x=l.x,m.y=c.y}else if(c.y<a.y||180===d&&c.x<a.x&&k.top<a.y||0===d&&c.x>a.x&&k.top<a.y)l=new v(a.x,c.y),m=new v((a.x+c.x)/2,c.y),90===d?(l.y=this.computeMidOrthoPosition(a.y,
| c.y,!0),m.x=c.x,m.y=l.y):180===d&&c.x<a.x||0===d&&c.x>=a.x?(l.y=a.y>k.bottom?this.computeMidOrthoPosition(a.y,k.bottom,!0):a.y>k.top&&(180===d&&a.x<k.left||0===d&&a.x>k.right)?this.computeMidOrthoPosition(a.y,c.y,!0):k.top,m.x=c.x,m.y=l.y):270===d&&a.y>k.bottom&&a.x>k.left&&a.x<k.right&&(l.x=a.x<c.x?Math.min(c.x,k.left):Math.max(c.x,k.right),l.y=a.y,m.x=l.x);else{l=new v(c.x,a.y);m=new v(c.x,(a.y+c.y)/2);if(90===d||0===d&&c.x<h.left||180===d&&c.x>h.right)90===d&&(k.Ga(a)||h.Ga(c))?l.x=this.computeMidOrthoPosition(a.x,
| c.x,!1):c.x<a.x&&(90===d||0===d)?l.x=this.computeMidOrthoPosition(h.left,Math.max(c.x,k.right),!1):c.x>a.x&&(90===d||180===d)&&(l.x=this.computeMidOrthoPosition(h.right,Math.min(c.x,k.left),!1)),m.x=l.x,m.y=c.y;if(l.x>h.left&&l.x<h.right)if(c.y<=h.bottom&&c.y>=a.y||a.y>=k.top&&a.y<=c.y){if(0===d||180===d)l=new v(a.x,Math.min((a.y+c.y)/2,a.y)),m=new v(c.x,l.y)}else l.x=180===d||(90===d||270===d)&&c.x<a.x?Math.min(c.x,270===d?h.left:Math.min(h.left,k.left)):Math.max(c.x,270===d?h.right:Math.max(h.right,
| k.right)),m.x=l.x,m.y=c.y}var n=l,p=m;if(this.Ui){var q=this.h,r;(r=null===q)||(q.lc.bk?r=!1:(r=q.Ua,r=r instanceof $e?!r.xs||r.QE:!0),r=!r);if(r||h.Ga(c)||k.Ga(a)||e===g||this.layer.uc)a=!1;else if(e=Ij(q,this),jn(e,Math.min(a.x,n.x),Math.min(a.y,n.y),Math.abs(a.x-n.x),Math.abs(a.y-n.y))&&jn(e,Math.min(n.x,p.x),Math.min(n.y,p.y),Math.abs(n.x-p.x),Math.abs(n.y-p.y))&&jn(e,Math.min(p.x,c.x),Math.min(p.y,c.y),Math.abs(p.x-c.x),Math.abs(p.y-c.y)))a=!1;else if(h=h.copy().dj(k),h.Lf(2*e.ym,2*e.xm),kn(e,
| a,b,c,d,h),k=ln(e,c.x,c.y),e.abort||k!==mn||(Lj(e),k=e.fG,h.Lf(e.ym*k,e.xm*k),kn(e,a,b,c,d,h),k=ln(e,c.x,c.y)),e.abort||k!==mn||(Lj(e),k=e.$E,h.Lf(e.ym*k,e.xm*k),kn(e,a,b,c,d,h),k=ln(e,c.x,c.y)),!e.abort&&k===mn&&e.LG&&(Lj(e),kn(e,a,b,c,d,e.Ib),k=ln(e,c.x,c.y)),!e.abort&&k<mn&&0!==ln(e,c.x,c.y)){nn(this,e,c.x,c.y,d,!0);d=this.o(2);if(4>this.oa)0===b||180===b?(d.x=a.x,d.y=c.y):(d.x=c.x,d.y=a.y),this.Y(2,d.x,d.y),this.C(3,d.x,d.y);else if(c=this.o(3),0===b||180===b)F.I(d.x,c.x)?(b=0===b?Math.max(d.x,
| a.x):Math.min(d.x,a.x),this.Y(2,b,a.y),this.Y(3,b,c.y)):F.I(d.y,c.y)?(Math.abs(a.y-d.y)<=e.xm/2&&(this.Y(2,d.x,a.y),this.Y(3,c.x,a.y)),this.C(2,d.x,a.y)):this.Y(2,a.x,d.y);else if(90===b||270===b)F.I(d.y,c.y)?(b=90===b?Math.max(d.y,a.y):Math.min(d.y,a.y),this.Y(2,a.x,b),this.Y(3,c.x,b)):F.I(d.x,c.x)?(Math.abs(a.x-d.x)<=e.ym/2&&(this.Y(2,a.x,d.y),this.Y(3,a.x,c.y)),this.C(2,a.x,d.y)):this.Y(2,d.x,a.y);a=!0}else a=!1}else a=!1;a||(this.Ih(l),this.Ih(m))}};
| U.prototype.computeMidOrthoPosition=function(a,b){if(this.hasCurviness()){var c=this.computeCurviness();return(a+b)/2+c}return(a+b)/2};function yf(a){if(!a.Ui)return!1;var b=a.points.n,c=b.length;if(4>c)return!1;a=Ij(a.h,a);for(var d=1;d<c-2;d++){var e=b[d],g=b[d+1];if(!jn(a,Math.min(e.x,g.x),Math.min(e.y,g.y),Math.abs(e.x-g.x),Math.abs(e.y-g.y)))return!0}return!1}
| function nn(a,b,c,d,e,g){var h=b.ym,k=b.xm,l=ln(b,c,d),m=c,n=d;for(0===e?m+=h:90===e?n+=k:180===e?m-=h:n-=k;l>on&&ln(b,m,n)===l-pn;)c=m,d=n,0===e?m+=h:90===e?n+=k:180===e?m-=h:n-=k,l-=pn;if(g){if(l>on)if(180===e||0===e)c=Math.floor(c/h)*h+h/2;else if(90===e||270===e)d=Math.floor(d/k)*k+k/2}else c=Math.floor(c/h)*h+h/2,d=Math.floor(d/k)*k+k/2;l>on&&(g=e,m=c,n=d,0===e?(g=90,n+=k):90===e?(g=180,m-=h):180===e?(g=270,n-=k):270===e&&(g=0,m+=h),ln(b,m,n)===l-pn?nn(a,b,m,n,g,!1):(m=c,n=d,0===e?(g=270,n-=
| k):90===e?(g=0,m+=h):180===e?(g=90,n+=k):270===e&&(g=180,m-=h),ln(b,m,n)===l-pn&&nn(a,b,m,n,g,!1)));a.Wk(c,d)}U.prototype.findClosestSegment=function(a){f&&t.m(a,v,U,"findClosestSegment:p");var b=a.x;a=a.y;for(var c=this.o(0),d=this.o(1),e=Ra(b,a,c.x,c.y,d.x,d.y),g=0,h=1;h<this.oa-1;h++){var c=this.o(h+1),k=Ra(b,a,d.x,d.y,c.x,c.y),d=c;k<e&&(g=h,e=k)}return g};U.prototype.invalidateGeometry=U.prototype.Ye=function(){this.yi=this.Na=null;this.ca()};
| t.A(U,{kd:"geometry"},function(){null===this.Na&&(this.updateRoute(),this.Na=this.makeGeometry());return this.Na});U.prototype.Xw=function(){if(null===this.Na&&!1!==this.Sg){this.Na=this.makeGeometry();var a=this.Vq();if(null!==a){a.Na=this.Na;for(var b=this.xa,c=b.length,d=0;d<c;d++){var e=b.n[d];e!==a&&e.Wi&&e instanceof X&&(e.Na=this.Na)}}}};
| U.prototype.makeGeometry=function(){var a=this.oa;if(2>a){var b=new zc(Ac),c=new Bc(0,0);b.xb.add(c);return b}var d=!1,b=this.h;null!==b&&0!==b.ma.Je&&Ym(this)&&(d=!0);var e=this.o(0).copy(),g=e.copy(),h=this.computeCurve();if(h===Mg&&3<=a&&!F.Ha(this.bn,0))if(3===a)var k=this.o(1),b=Math.min(e.x,k.x),c=Math.min(e.y,k.y),k=this.o(2),b=Math.min(b,k.x),c=Math.min(c,k.y);else{if(this.dc)for(k=0;k<a;k++)b=this.Ac.n[k],g.x=Math.min(b.x,g.x),g.y=Math.min(b.y,g.y);else for(var l,k=3;k<a;k+=3)k+3>=a&&(k=
| a-1),l=this.o(k),g.x=Math.min(l.x,g.x),g.y=Math.min(l.y,g.y);b=g.x;c=g.y}else{for(k=0;k<a;k++)b=this.Ac.n[k],g.x=Math.min(b.x,g.x),g.y=Math.min(b.y,g.y);b=g.x;c=g.y}b-=this.Fz.x;c-=this.Fz.y;e.x-=b;e.y-=c;if(2===a){var m=this.o(1).copy();m.x-=b;m.y-=c;0!==gn(this)&&qn(this,e,!0,g);0!==hn(this)&&qn(this,m,!1,g);b=new zc(Kc);b.qa=e.x;b.ra=e.y;b.D=m.x;b.F=m.y}else{m=t.u();0!==gn(this)&&qn(this,e,!0,g);J(m,e.x,e.y,!1,!1);if(h===Mg&&3<=a&&!F.Ha(this.bn,0))if(3===a)k=this.o(1),a=k.x-b,d=k.y-c,k=this.o(2).copy(),
| k.x-=b,k.y-=c,0!==hn(this)&&qn(this,k,!1,g),K(m,a,d,a,d,k.x,k.y);else if(this.dc){g=new v(b,c);e=this.o(1).copy();h=new v(b,c);a=new v(b,c);d=this.o(0);l=null;for(var n=this.bn/3,k=1;k<this.oa-1;k++){l=this.o(k);var p=d,q=l,r=this.o(rn(this,l,k,!1));if(!F.Ha(p.x,q.x)||!F.Ha(q.x,r.x))if(!F.Ha(p.y,q.y)||!F.Ha(q.y,r.y)){var s=n,u=h,x=a;isNaN(s)&&(s=this.bn/3);var E=p.x,p=p.y,G=q.x,q=q.y,C=r.x,r=r.y,I=s*sn(E,p,G,q),s=s*sn(G,q,C,r);F.Ha(p,q)&&F.Ha(G,C)&&(G>E?r>q?(u.x=G-I,u.y=q-I,x.x=G+s,x.y=q+s):(u.x=
| G-I,u.y=q+I,x.x=G+s,x.y=q-s):r>q?(u.x=G+I,u.y=q-I,x.x=G-s,x.y=q+s):(u.x=G+I,u.y=q+I,x.x=G-s,x.y=q-s));F.Ha(E,G)&&F.Ha(q,r)&&(q>p?(C>G?(u.x=G-I,u.y=q-I,x.x=G+s):(u.x=G+I,u.y=q-I,x.x=G-s),x.y=q+s):(C>G?(u.x=G-I,u.y=q+I,x.x=G+s):(u.x=G+I,u.y=q+I,x.x=G-s),x.y=q-s));if(F.Ha(E,G)&&F.Ha(G,C)||F.Ha(p,q)&&F.Ha(q,r))E=0.5*(E+C),p=0.5*(p+r),u.x=E,u.y=p,x.x=E,x.y=p;1===k?(e.x=0.5*(d.x+l.x),e.y=0.5*(d.y+l.y)):2===k&&F.Ha(d.x,this.o(0).x)&&F.Ha(d.y,this.o(0).y)&&(e.x=0.5*(d.x+l.x),e.y=0.5*(d.y+l.y));K(m,e.x-b,
| e.y-c,h.x-b,h.y-c,l.x-b,l.y-c);g.set(h);e.set(a);d=l}}k=d.x;d=d.y;g=this.o(this.oa-1);k=0.5*(k+g.x);d=0.5*(d+g.y);K(m,a.x-b,a.y-c,k-b,d-c,g.x-b,g.y-c)}else for(k=3;k<a;k+=3)d=this.o(k-2),k+3>=a&&(k=a-1),g=this.o(k-1),l=this.o(k),k===a-1&&0!==hn(this)&&(l=l.copy(),qn(this,l,!1,F.fj)),K(m,d.x-b,d.y-c,g.x-b,g.y-c,l.x-b,l.y-c);else{g=t.K();g.assign(this.o(0));for(k=1;k<a;){k=rn(this,g,k,1<k);u=this.o(k);if(k>=a-1){g!==u&&(0!==hn(this)&&(u=u.copy(),qn(this,u,!1,F.fj)),tn(this,m,-b,-c,g,u,d));break}k=rn(this,
| u,k+1,k<a-3);e=m;h=-b;l=-c;n=g;x=this.o(k);E=g;p=d;F.I(n.y,u.y)&&F.I(u.x,x.x)?(s=this.computeCorner(),s=Math.min(s,Math.abs(u.x-n.x)/2),s=G=Math.min(s,Math.abs(x.y-u.y)/2),F.I(s,0)?(tn(this,e,h,l,n,u,p),E.assign(u)):(q=u.x,C=u.y,r=q,I=C,q=u.x>n.x?u.x-s:u.x+s,I=x.y>u.y?u.y+G:u.y-G,tn(this,e,h,l,n,new v(q,C),p),Sc(e,u.x+h,u.y+l,r+h,I+l),E.q(r,I))):F.I(n.x,u.x)&&F.I(u.y,x.y)?(s=this.computeCorner(),G=Math.min(s,Math.abs(u.y-n.y)/2),G=s=Math.min(G,Math.abs(x.x-u.x)/2),F.I(s,0)?(tn(this,e,h,l,n,u,p),E.assign(u)):
| (q=u.x,I=C=u.y,C=u.y>n.y?u.y-G:u.y+G,r=x.x>u.x?u.x+s:u.x-s,tn(this,e,h,l,n,new v(q,C),p),Sc(e,u.x+h,u.y+l,r+h,I+l),E.q(r,I))):(tn(this,e,h,l,n,u,p),E.assign(u))}t.B(g)}b=m.s;t.v(m)}return b};function sn(a,b,c,d){a=c-a;if(isNaN(a)||Infinity===a||-Infinity===a)return NaN;0>a&&(a=-a);b=d-b;if(isNaN(b)||Infinity===b||-Infinity===b)return NaN;0>b&&(b=-b);return F.Ha(a,0)?b:F.Ha(b,0)?a:Math.sqrt(a*a+b*b)}
| function qn(a,b,c,d){var e=a.oa;if(!(2>e))if(c){var g=a.o(1);c=g.x-d.x;d=g.y-d.y;g=sn(b.x,b.y,c,d);0!==g&&(e=2===e?0.5*g:g,a=gn(a),a>e&&(a=e),c=a*(c-b.x)/g,a=a*(d-b.y)/g,b.x+=c,b.y+=a)}else g=a.o(e-2),c=g.x-d.x,d=g.y-d.y,g=sn(b.x,b.y,c,d),0!==g&&(e=2===e?0.5*g:g,a=hn(a),a>e&&(a=e),c=a*(b.x-c)/g,a=a*(b.y-d)/g,b.x-=c,b.y-=a)}
| function rn(a,b,c,d){for(var e=a.oa,g=b;F.Ha(b.x,g.x)&&F.Ha(b.y,g.y);){if(c>=e)return e-1;g=a.o(c++)}if(!F.Ha(b.x,g.x)&&!F.Ha(b.y,g.y))return c-1;for(var h=g;F.Ha(b.x,g.x)&&F.Ha(g.x,h.x)&&(!d||(b.y>=g.y?g.y>=h.y:g.y<=h.y))||F.Ha(b.y,g.y)&&F.Ha(g.y,h.y)&&(!d||(b.x>=g.x?g.x>=h.x:g.x<=h.x));){if(c>=e)return e-1;h=a.o(c++)}return c-2}
| function tn(a,b,c,d,e,g,h){if(!h&&Ym(a)){h=[];var k=0;a.bb()&&(k=un(a,e,g,h));var l=e.x,l=e.y;if(0<k)if(F.I(e.y,g.y))if(e.x<g.x)for(var m=0;m<k;){var n=Math.max(e.x,Math.min(h[m++]-5,g.x-10));b.lineTo(n+c,g.y+d);for(var l=n+c,p=Math.min(n+10,g.x);m<k;){var q=h[m];if(q<p+10)m++,p=Math.min(q+5,g.x);else break}q=(n+p)/2+c;q=g.y-10+d;n=p+c;p=g.y+d;a.De===vg?J(b,n,p,!1,!1):K(b,l,q,n,q,n,p)}else for(m=k-1;0<=m;){n=Math.min(e.x,Math.max(h[m--]+5,g.x+10));b.lineTo(n+c,g.y+d);l=n+c;for(p=Math.max(n-10,g.x);0<=
| m;)if(q=h[m],q>p-10)m--,p=Math.max(q-5,g.x);else break;q=g.y-10+d;n=p+c;p=g.y+d;a.De===vg?J(b,n,p,!1,!1):K(b,l,q,n,q,n,p)}else if(F.I(e.x,g.x))if(e.y<g.y)for(m=0;m<k;){n=Math.max(e.y,Math.min(h[m++]-5,g.y-10));b.lineTo(g.x+c,n+d);l=n+d;for(p=Math.min(n+10,g.y);m<k;)if(q=h[m],q<p+10)m++,p=Math.min(q+5,g.y);else break;q=g.x-10+c;n=g.x+c;p+=d;a.De===vg?J(b,n,p,!1,!1):K(b,q,l,q,p,n,p)}else for(m=k-1;0<=m;){n=Math.min(e.y,Math.max(h[m--]+5,g.y+10));b.lineTo(g.x+c,n+d);l=n+d;for(p=Math.max(n-10,g.y);0<=
| m;)if(q=h[m],q>p-10)m--,p=Math.max(q-5,g.y);else break;q=g.x-10+c;n=g.x+c;p+=d;a.De===vg?J(b,n,p,!1,!1):K(b,q,l,q,p,n,p)}}b.lineTo(g.x+c,g.y+d)}
| function un(a,b,c,d){var e=a.h;if(null===e||b.M(c))return 0;for(e=e.Tw;e.next();){var g=e.value;if(null!==g&&g.visible)for(var g=g.zb.n,h=g.length,k=0;k<h;k++){var l=g[k];if(l===a)return 0<d.length&&d.sort(function(a,b){return a-b}),d.length;if(l instanceof U&&l.bb()&&Ym(l)){var m=l.pj();m.N()&&a.pj().Mf(m)&&!a.usesSamePort(l)&&(m=l.path,null!==m&&m.nl()&&vn(b,c,d,l))}}}0<d.length&&d.sort(function(a,b){return a-b});return d.length}
| function vn(a,b,c,d){for(var e=F.I(a.y,b.y),g=d.oa,h=d.o(0),k=t.K(),l=1;l<g;l++){var m=d.o(l);if(l<g-1){var n=d.o(l+1);if(h.y===m.y&&m.y===n.y){if(m.x>h.x&&n.x>m.x||m.x<h.x&&n.x<m.x)m=n,l++}else h.x===m.x&&m.x===n.x&&(m.y>h.y&&n.y>m.y||m.y<h.y&&n.y<m.y)&&(m=n,l++)}a:{var n=k,p=a.x,q=a.y,r=b.x,s=b.y,u=h.x,h=h.y,x=m.x,E=m.y;if(!F.I(p,r)){if(F.I(q,s)&&F.I(u,x)&&Math.min(p,r)<u&&Math.max(p,r)>u&&Math.min(h,E)<q&&Math.max(h,E)>q&&!F.I(h,E)){n.x=u;n.y=q;n=!0;break a}}else if(!F.I(q,s)&&F.I(h,E)&&Math.min(q,
| s)<h&&Math.max(q,s)>h&&Math.min(u,x)<p&&Math.max(u,x)>p&&!F.I(u,x)){n.x=p;n.y=h;n=!0;break a}n.x=0;n.y=0;n=!1}n&&(e?c.push(k.x):c.push(k.y));h=m}t.B(k)}t.A(U,{gt:"firstPickIndex"},function(){return 2>=this.oa?0:this.dc||an(this)!==wb?1:0});t.A(U,{Rw:"lastPickIndex"},function(){var a=this.oa;return 0===a?0:2>=a?a-1:this.dc||bn(this)!==wb?a-2:a-1});function Ym(a){a=a.De;return a===ug||a===vg}function $m(a,b){if(b||Ym(a)){var c=a.h;null===c||c.En.contains(a)||null===a.pz||c.En.add(a,a.pz)}}
| function xg(a,b){var c=a.layer;if(null!==c&&c.visible&&!c.uc){var d=c.h;if(null!==d)for(var e=!1,d=d.Tw;d.next();){var g=d.value;if(g.visible)if(g===c)for(var e=!0,h=!1,g=g.zb.n,k=g.length,l=0;l<k;l++){var m=g[l];m instanceof U&&(m===a?h=!0:h&&wn(a,m,b))}else if(e)for(g=g.zb.n,k=g.length,l=0;l<k;l++)m=g[l],m instanceof U&&wn(a,m,b)}}}function wn(a,b,c){if(null!==b&&Ym(b)&&null!==b.Na){var d=b.pj();d.N()&&(a.pj().Mf(d)||c.Mf(d))&&(a.usesSamePort(b)||b.Ye())}}
| U.prototype.usesSamePort=function(a){var b=this.oa,c=a.oa;if(0<b&&0<c){if(this.o(0).Si(a.o(0))||this.o(b-1).Si(a.o(c-1)))return!0}else if(this.aa===a.aa||this.ea===a.ea)return!0;return!1};U.prototype.Th=function(a){B.prototype.Th.call(this,a);if(null!==this.te)for(var b=this.te.k;b.next();)b.value.Th(a)};t.g(U,"adjusting",U.prototype.Ho);t.defineProperty(U,{Ho:"adjusting"},function(){return this.pq},function(a){var b=this.pq;b!==a&&(f&&t.sb(a,U,U,"adjusting"),this.pq=a,this.i("adjusting",b,a))});
| t.g(U,"corner",U.prototype.lw);t.defineProperty(U,{lw:"corner"},function(){return this.Cq},function(a){var b=this.Cq;b!==a&&(f&&t.j(a,"number",U,"corner"),this.Cq=a,this.Ye(),this.i("corner",b,a))});t.g(U,"curve",U.prototype.De);t.defineProperty(U,{De:"curve"},function(){return this.Fq},function(a){var b=this.Fq;b!==a&&(f&&t.sb(a,U,U,"curve"),this.Fq=a,this.Pb(),$m(this,b===vg||b===ug||a===vg||a===ug),this.i("curve",b,a))});t.g(U,"curviness",U.prototype.Zs);
| t.defineProperty(U,{Zs:"curviness"},function(){return this.Gq},function(a){var b=this.Gq;b!==a&&(f&&t.j(a,"number",U,"curviness"),this.Gq=a,this.Pb(),this.i("curviness",b,a))});t.g(U,"routing",U.prototype.Kt);t.defineProperty(U,{Kt:"routing"},function(){return this.fm},function(a){var b=this.fm;b!==a&&(f&&t.sb(a,U,U,"routing"),this.fm=a,this.ki=null,this.Pb(),$m(this,2===(b.value&2)||2===(a.value&2)),this.i("routing",b,a))});t.g(U,"smoothness",U.prototype.bn);
| t.defineProperty(U,{bn:"smoothness"},function(){return this.ts},function(a){var b=this.ts;b!==a&&(f&&t.j(a,"number",U,"smoothness"),this.ts=a,this.Ye(),this.i("smoothness",b,a))});
| function Wm(a){var b=a.$f;if(null!==b){var c=a.ig;if(null!==c){var d=a.oh;a=a.Eh;var e;a:{if(null!==c&&null!==b.bh)for(e=b.bh.k;e.next();){var g=e.value;if(g.Fp===b&&g.At===c&&g.ax===d&&g.bx===a||g.Fp===c&&g.At===b&&g.ax===a&&g.bx===d){e=g;break a}}e=null}for(var h=g=null,k=b.hc.n,l=k.length,m=0;m<l;m++){var n=k[m];if(n.$f===b&&n.oh===d&&n.ig===c&&n.Eh===a||n.$f===c&&n.oh===a&&n.ig===b&&n.Eh===d)null===h?h=n:(null===g&&(g=new A(U),g.add(h)),g.add(n))}if(null!==g)for(null===e&&(e=new Fm,e.Fp=b,e.ax=
| d,e.At=c,e.bx=a,Em(b,e),Em(c,e)),e.links=g,m=0;m<g.count;m++)if(n=g.n[m],0===n.gf){b=1;for(c=0;c<g.count;c++)Math.abs(g.n[c].gf)===b&&(b++,c=-1);n.on=e;n.gf=n.aa===e.Fp?b:-b;n.Pb()}}}}
| function Vm(a){var b=a.on;if(null!==b){var c=a.gf;a.on=null;a.gf=0;a.Pb();b.links.remove(a);if(2>b.links.count)1===b.links.count&&(c=b.links.n[0],c.on=null,c.gf=0,c.Pb()),c=b.Fp,null!==b&&null!==c.bh&&c.bh.remove(b),c=b.At,null!==b&&null!==c.bh&&c.bh.remove(b);else for(c=Math.abs(c),a=0===c%2,b=b.links.k;b.next();){var d=b.value,e=Math.abs(d.gf),g=0===e%2;e>c&&a===g&&(d.gf=0<d.gf?d.gf-2:d.gf+2,d.Pb())}}}function Fm(){t.wc(this);this.links=this.bx=this.At=this.ax=this.Fp=null}
| t.Rd(Fm,{Fp:!0,ax:!0,At:!0,bx:!0,links:!0,spacing:!0});function Jj(){t.wc(this);this.group=null;this.nt=!0;this.abort=!1;this.fg=this.eg=1;this.zr=this.yr=-1;this.fe=this.ee=8;this.rc=null;this.LG=!1;this.fG=22;this.$E=111}t.Rd(Jj,{group:!0,nt:!0,abort:!0,LG:!0,fG:!0,$E:!0});var on=1,pn=1,mn=999999999,xn=mn;
| Jj.prototype.initialize=function(a){if(!(0>=a.width||0>=a.height)){var b=a.y,c=a.x+a.width,d=a.y+a.height;this.eg=Math.floor((a.x-this.ee)/this.ee)*this.ee;this.fg=Math.floor((b-this.fe)/this.fe)*this.fe;this.yr=Math.ceil((c+2*this.ee)/this.ee)*this.ee;this.zr=Math.ceil((d+2*this.fe)/this.fe)*this.fe;a=1+(Math.ceil((this.yr-this.eg)/this.ee)|0);b=1+(Math.ceil((this.zr-this.fg)/this.fe)|0);if(null===this.rc||this.Bo<a-1||this.Co<b-1){c=[];for(d=0;d<=a;d++){for(var e=[],g=0;g<=b;g++)e[g]=0;c[d]=e}this.rc=
| c;this.Bo=a-1;this.Co=b-1}if(null!==this.rc)for(a=0;a<=this.Bo;a++)for(b=0;b<=this.Co;b++)this.rc[a][b]=xn}};t.A(Jj,{Ib:null},function(){return new w(this.eg,this.fg,this.yr-this.eg,this.zr-this.fg)});t.g(Jj,"cellWidth",Jj.prototype.ym);t.defineProperty(Jj,{ym:null},function(){return this.ee},function(a){0<a&&a!==this.ee&&(this.ee=a,this.initialize(this.Ib))});t.g(Jj,"cellHeight",Jj.prototype.xm);t.defineProperty(Jj,{xm:null},function(){return this.fe},function(a){0<a&&a!==this.fe&&(this.fe=a,this.initialize(this.Ib))});
| function yn(a,b,c){return a.eg<=b&&b<=a.yr&&a.fg<=c&&c<=a.zr}function ln(a,b,c){if(!yn(a,b,c))return 0;b-=a.eg;b/=a.ee;c-=a.fg;c/=a.fe;return a.rc[b|0][c|0]}function Mj(a,b,c){yn(a,b,c)&&(b-=a.eg,b/=a.ee,c-=a.fg,c/=a.fe,a.rc[b|0][c|0]=0)}function Lj(a){if(null!==a.rc)for(var b=0;b<=a.Bo;b++)for(var c=0;c<=a.Co;c++)a.rc[b][c]>=on&&(a.rc[b][c]|=mn)}
| function jn(a,b,c,d,e){if(b>a.yr||b+d<a.eg||c>a.zr||c+e<a.fg)return!0;b=(b-a.eg)/a.ee|0;c=(c-a.fg)/a.fe|0;d=Math.max(0,d)/a.ee+1|0;var g=Math.max(0,e)/a.fe+1|0;0>b&&(d+=b,b=0);0>c&&(g+=c,c=0);if(0>d||0>g)return!0;e=Math.min(b+d-1,a.Bo)|0;for(d=Math.min(c+g-1,a.Co)|0;b<=e;b++)for(g=c;g<=d;g++)if(0===a.rc[b][g])return!1;return!0}
| function zn(a,b,c,d,e,g,h,k,l){if(!(b<g||b>h||c<k||c>l)){var m,n;m=b|0;n=c|0;var p=a.rc[m][n];if(p>=on&&p<mn)for(e?n+=d:m+=d,p+=pn;g<=m&&m<=h&&k<=n&&n<=l&&!(p>=a.rc[m][n]);)a.rc[m][n]=p,p+=pn,e?n+=d:m+=d;m=e?n:m;if(e)if(0<d)for(c+=d;c<m;c+=d)zn(a,b,c,1,!e,g,h,k,l),zn(a,b,c,-1,!e,g,h,k,l);else for(c+=d;c>m;c+=d)zn(a,b,c,1,!e,g,h,k,l),zn(a,b,c,-1,!e,g,h,k,l);else if(0<d)for(b+=d;b<m;b+=d)zn(a,b,c,1,!e,g,h,k,l),zn(a,b,c,-1,!e,g,h,k,l);else for(b+=d;b>m;b+=d)zn(a,b,c,1,!e,g,h,k,l),zn(a,b,c,-1,!e,g,h,
| k,l)}}function An(a,b,c,d,e,g,h,k,l,m,n){for(var p=b|0,q=c|0,r=a.rc[p][q];0===r&&p>k&&p<l&&q>m&&q<n;)if(h?q+=g:p+=g,r=a.rc[p][q],1>=Math.abs(p-d)&&1>=Math.abs(q-e))return a.abort=!0,0;p=b|0;q=c|0;r=a.rc[p][q];b=on;for(a.rc[p][q]=b;0===r&&p>k&&p<l&&q>m&&q<n;)h?q+=g:p+=g,r=a.rc[p][q],a.rc[p][q]=b,b+=pn;return h?q:p}
| function kn(a,b,c,d,e,g){if(null!==a.rc){a.abort=!1;var h=b.x,k=b.y;if(yn(a,h,k)){var h=h-a.eg,h=h/a.ee,k=k-a.fg,k=k/a.fe,l=d.x,m=d.y;if(yn(a,l,m))if(l-=a.eg,l/=a.ee,m-=a.fg,m/=a.fe,1>=Math.abs(h-l)&&1>=Math.abs(k-m))a.abort=!0;else{var n=g.x;b=g.y;d=g.x+g.width;var p=g.y+g.height,n=n-a.eg,n=n/a.ee;b-=a.fg;b/=a.fe;d-=a.eg;d/=a.ee;p-=a.fg;p/=a.fe;g=Math.max(0,Math.min(a.Bo,n|0));d=Math.min(a.Bo,Math.max(0,d|0));b=Math.max(0,Math.min(a.Co,b|0));var p=Math.min(a.Co,Math.max(0,p|0)),h=h|0,k=k|0,l=l|0,
| m=m|0,n=h,q=k,r=0===c||90===c?1:-1;(c=90===c||270===c)?q=An(a,h,k,l,m,r,c,g,d,b,p):n=An(a,h,k,l,m,r,c,g,d,b,p);if(!a.abort){a:{c=0===e||90===e?1:-1;e=90===e||270===e;for(var r=l|0,s=m|0,u=a.rc[r][s];0===u&&r>g&&r<d&&s>b&&s<p;)if(e?s+=c:r+=c,u=a.rc[r][s],1>=Math.abs(r-h)&&1>=Math.abs(s-k)){a.abort=!0;break a}r=l|0;s=m|0;u=a.rc[r][s];for(a.rc[r][s]=xn;0===u&&r>g&&r<d&&s>b&&s<p;)e?s+=c:r+=c,u=a.rc[r][s],a.rc[r][s]=xn}a.abort||(zn(a,n,q,1,!1,g,d,b,p),zn(a,n,q,-1,!1,g,d,b,p),zn(a,n,q,1,!0,g,d,b,p),zn(a,
| n,q,-1,!0,g,d,b,p))}}}}}function en(){t.wc(this);this.port=this.Dc=null;this.ug=[];this.Ep=!1}t.Rd(en,{Dc:!0,port:!0,ug:!0,Ep:!0});en.prototype.toString=function(){for(var a=this.ug,b=this.Dc.toString()+" "+a.length.toString()+":",c=0;c<a.length;c++){var d=a[c];null!==d&&(b+="\n "+d.toString())}return b};
| function Bn(a,b,c,d){b=b.offsetY;switch(b){case t.Nc:return 90;case t.Fc:return 180;case t.Yc:return 270;case t.Oc:return 0}switch(b){case t.Nc|t.Yc:return 180<c?270:90;case t.Fc|t.Oc:return 90<c&&270>=c?180:0}a=180*Math.atan2(a.height,a.width)/Math.PI;switch(b){case t.Fc|t.Yc:return c>a&&c<=180+a?180:270;case t.Yc|t.Oc:return c>180-a&&c<=360-a?270:0;case t.Oc|t.Nc:return c>a&&c<=180+a?90:0;case t.Nc|t.Fc:return c>180-a&&c<=360-a?180:90;case t.Fc|t.Yc|t.Oc:return 90<c&&c<=180+a?180:c>180+a&&c<=360-
| a?270:0;case t.Yc|t.Oc|t.Nc:return 180<c&&c<=360-a?270:c>a&&180>=c?90:0;case t.Oc|t.Nc|t.Fc:return c>a&&c<=180-a?90:c>180-a&&270>=c?180:0;case t.Nc|t.Fc|t.Yc:return c>180-a&&c<=180+a?180:c>180+a?270:90}d&&b!==(t.Fc|t.Yc|t.Oc|t.Nc)&&(c-=15,0>c&&(c+=360));return c>a&&c<180-a?90:c>=180-a&&c<=180+a?180:c>180+a&&c<360-a?270:0}
| function fn(a,b){var c=a.ug;if(0===c.length){a:if(!a.Ep){c=a.Ep;a.Ep=!0;var d,e=null,g=a.Dc;if(g instanceof T&&!g.Ud){if(!g.sa.N()){a.Ep=c;break a}e=g;d=e.mE()}else d=a.Dc.nE();var h=a.ug.length=0,k=a.port.ob(Eb,t.K()),l=a.port.ob(Pb,t.K()),g=t.gk(k.x,k.y,0,0);g.cj(l);t.B(k);t.B(l);k=t.gc(g.x+g.width/2,g.y+g.height/2);for(d=d.k;d.next();)if(l=d.value,l.bb()){var m=wb,n=l.rd===a.port||l.aa.kl(e),m=n?an(l,a.port):bn(l,a.port);if(m.op()&&(n=n?l.be:l.rd,null!==n)){var p=n.S;if(null!==p){var n=l.computeOtherPoint(p,
| n),p=k.Qi(n),m=Bn(g,m,p,l.dc),q;0===m?(q=t.Oc,180<p&&(p-=360)):q=90===m?t.Nc:180===m?t.Fc:t.Yc;(m=a.ug[h])?(m.link=l,m.angle=p,m.Yd=q):(m=new Cn(l,p,q),a.ug[h]=m);m.$w.set(n);h++}}}t.B(k);a.ug.sort(en.prototype.fJ);e=a.ug.length;k=-1;for(h=d=0;h<e;h++)m=a.ug[h],null!==m&&(m.Yd!==k&&(k=m.Yd,d=0),m.jp=d,d++);k=-1;d=0;for(h=e-1;0<=h;h--)m=a.ug[h],null!==m&&(m.Yd!==k&&(k=m.Yd,d=m.jp+1),m.Dm=d);h=a.ug;n=a.port;e=a.Dc.rJ;k=t.K();d=t.K();l=t.K();m=t.K();n.ob(Eb,k);n.ob(Gb,d);n.ob(Pb,l);n.ob(Lb,m);var r=
| q=p=n=0;if(e===Dm)for(var s=0;s<h.length;s++){var u=h[s];if(null!==u){var x=u.link.computeThickness();switch(u.Yd){case t.Nc:q+=x;break;case t.Fc:r+=x;break;case t.Yc:n+=x;break;default:case t.Oc:p+=x}}}for(var E=0,G,C,I=0,O=C=0,N=1,s=0;s<h.length;s++)if(u=h[s],null!==u){if(E!=u.Yd){E=u.Yd;switch(E){case t.Nc:G=l;C=m;break;case t.Fc:G=m;C=k;break;case t.Yc:G=k;C=d;break;default:case t.Oc:G=d,C=l}I=C.x-G.x;C=C.y-G.y;switch(E){case t.Nc:q>Math.abs(I)?(N=Math.abs(I)/q,q=Math.abs(I)):N=1;break;case t.Fc:r>
| Math.abs(C)?(N=Math.abs(C)/r,r=Math.abs(C)):N=1;break;case t.Yc:n>Math.abs(I)?(N=Math.abs(I)/n,n=Math.abs(I)):N=1;break;default:case t.Oc:p>Math.abs(C)?(N=Math.abs(C)/p,p=Math.abs(C)):N=1}O=0}var V=u.vp;if(e===Dm){x=u.link.computeThickness();x*=N;V.set(G);switch(E){case t.Nc:V.x=G.x+I/2+q/2-O-x/2;break;case t.Fc:V.y=G.y+C/2+r/2-O-x/2;break;case t.Yc:V.x=G.x+I/2-n/2+O+x/2;break;default:case t.Oc:V.y=G.y+C/2-p/2+O+x/2}O+=x}else x=0.5,e===Am&&(x=(u.jp+1)/(u.Dm+1)),V.x=G.x+I*x,V.y=G.y+C*x}t.B(k);t.B(d);
| t.B(l);t.B(m);G=a.ug;for(h=0;h<G.length;h++)e=G[h],null!==e&&(e.vw=a.computeEndSegmentLength(e));a.Ep=c;t.cc(g)}c=a.ug}for(g=0;g<c.length;g++)if(G=c[g],null!==G&&G.link===b)return G;return null}en.prototype.fJ=function(a,b){return a===b?0:null===a?-1:null===b?1:a.Yd<b.Yd?-1:a.Yd>b.Yd?1:a.angle<b.angle?-1:a.angle>b.angle?1:0};
| en.prototype.computeEndSegmentLength=function(a){var b=a.link,c=b.computeEndSegmentLength(this.Dc,this.port,wb,b.rd===this.port),d=a.jp;if(0>d)return c;var e=a.Dm;if(1>=e||!b.dc)return c;var b=a.$w,g=a.vp;if(a.Yd===t.Fc||a.Yd===t.Nc)d=e-1-d;return((a=a.Yd===t.Fc||a.Yd===t.Oc)?b.y<g.y:b.x<g.x)?c+8*d:(a?b.y===g.y:b.x===g.x)?c:c+8*(e-1-d)};function Cn(a,b,c){this.link=a;this.angle=b;this.Yd=c;this.$w=new v;this.Dm=this.jp=0;this.vp=new v;this.vw=0}
| t.Rd(Cn,{link:!0,angle:!0,Yd:!0,$w:!0,jp:!0,Dm:!0,vp:!0,vw:!0});Cn.prototype.toString=function(){return this.link.toString()+" "+this.angle.toString()+" "+this.Yd.toString()+":"+this.jp.toString()+"/"+this.Dm.toString()+" "+this.vp.toString()+" "+this.vw.toString()+" "+this.$w.toString()};
| function T(a){0===arguments.length?S.call(this,Yg):S.call(this,a);this.Br=new na(B);this.lo=new na(T);this.Mk=this.Cr=this.Ar=null;this.Hs=!1;this.fr=!0;this.Is=!1;this.Ab=this.ws=null;this.yq=!1;this.zq=!0;this.Aq=!1;this.Ld=new be;this.Ld.group=this}t.ga("Group",T);t.Ka(T,S);
| T.prototype.cloneProtected=function(a){S.prototype.cloneProtected.call(this,a);a.Ar=this.Ar;a.Cr=this.Cr;a.Mk=this.Mk;a.Hs=this.Hs;a.fr=this.fr;a.Is=this.Is;a.ws=this.ws;var b=a.bt(function(a){return a instanceof Sg});a.Ab=b instanceof Sg?b:null;a.yq=this.yq;a.zq=this.zq;a.Aq=this.Aq;null!==this.Ld?(a.Ld=this.Ld.copy(),a instanceof T&&(a.Ld.group=a)):(null!==a.Ld&&(a.Ld.group=null),a.Ld=null)};
| T.prototype.Lh=function(a){S.prototype.Lh.call(this,a);var b=a.Zo();for(a=a.Vc;a.next();){var c=a.value;c.ca();c.J(8);c.Gf();c instanceof T&&(c.wx=c.Ud,Dn(c,b));if(c instanceof S)c.qf(b);else if(c instanceof U)for(c=c.dk;c.next();)c.value.qf(b)}};
| T.prototype.Xm=function(a,b,c,d,e,g,h){if(a===vd&&"elements"===b)if(e instanceof Sg)null===this.Ab?this.Ab=e:this.Ab!==e&&t.l("Cannot insert a second Placeholder into the visual tree of a Group.");else{if(e instanceof y){var k=e.bt(function(a){return a instanceof Sg});k instanceof Sg&&(null===this.Ab?this.Ab=k:this.Ab!==k&&t.l("Cannot insert a second Placeholder into the visual tree of a Group."))}}else a===wd&&"elements"===b&&null!==this.Ab&&(d===this.Ab?this.Ab=null:d instanceof y&&this.Ab.Vi(d)&&
| (this.Ab=null));S.prototype.Xm.call(this,a,b,c,d,e,g,h)};T.prototype.Pj=function(a,b,c,d){this.Lk=this.Ab;y.prototype.Pj.call(this,a,b,c,d)};T.prototype.ll=function(){if(!S.prototype.ll.call(this))return!1;for(var a=this.Vc;a.next();){var b=a.value;if(b instanceof S){if(b.bb()&&Li(b))return!1}else if(b instanceof U&&b.bb()&&Li(b)&&b.aa!==this&&b.ea!==this)return!1}return!0};t.A(T,{placeholder:"placeholder"},function(){return this.Ab});t.g(T,"computesBoundsAfterDrag",T.prototype.gA);
| t.defineProperty(T,{gA:"computesBoundsAfterDrag"},function(){return this.yq},function(a){var b=this.yq;b!==a&&(t.j(a,"boolean",T,"computesBoundsAfterDrag"),this.yq=a,this.i("computesBoundsAfterDrag",b,a))});t.g(T,"computesBoundsIncludingLinks",T.prototype.QD);t.defineProperty(T,{QD:"computesBoundsIncludingLinks"},function(){return this.zq},function(a){t.j(a,"boolean",T,"computesBoundsIncludingLinks");var b=this.zq;b!==a&&(this.zq=a,this.i("computesBoundsIncludingLinks",b,a))});
| t.g(T,"computesBoundsIncludingLocation",T.prototype.RD);t.defineProperty(T,{RD:"computesBoundsIncludingLocation"},function(){return this.Aq},function(a){t.j(a,"boolean",T,"computesBoundsIncludingLocation");var b=this.Aq;b!==a&&(this.Aq=a,this.i("computesBoundsIncludingLocation",b,a))});t.A(T,{Vc:"memberParts"},function(){return this.Br.k});
| function wm(a,b){if(a.Br.add(b)){b instanceof T&&a.lo.add(b);var c=a.kF;if(null!==c){var d=!0,e=a.h;null!==e&&(d=e.Ta,e.Ta=!0);c(a,b);null!==e&&(e.Ta=d)}}c=a.Ab;null===c&&(c=a);c.ca()}function vm(a,b){if(a.Br.remove(b)){b instanceof T&&a.lo.remove(b);var c=a.lF;if(null!==c){var d=!0,e=a.h;null!==e&&(d=e.Ta,e.Ta=!0);c(a,b);null!==e&&(e.Ta=d)}}c=a.Ab;null===c&&(c=a);c.ca()}T.prototype.Gm=function(){if(0<this.Br.count){var a=this.h;if(null===a)return;for(var b=this.Br.copy().k;b.next();)a.remove(b.value)}S.prototype.Gm.call(this)};
| T.prototype.px=function(){var a=this.layer;null!==a&&a.px(this)};t.g(T,"layout",T.prototype.ec);t.defineProperty(T,{ec:"layout"},function(){return this.Ld},function(a){var b=this.Ld;b!==a&&(null!==a&&t.m(a,be,T,"layout"),null!==b&&(b.h=null,b.group=null),this.Ld=a,null!==a&&(a.h=this.h,a.group=this),this.i("layout",b,a))});t.g(T,"memberAdded",T.prototype.kF);
| t.defineProperty(T,{kF:"memberAdded"},function(){return this.Ar},function(a){var b=this.Ar;b!==a&&(null!==a&&t.j(a,"function",T,"memberAdded"),this.Ar=a,this.i("memberAdded",b,a))});t.g(T,"memberRemoved",T.prototype.lF);t.defineProperty(T,{lF:"memberRemoved"},function(){return this.Cr},function(a){var b=this.Cr;b!==a&&(null!==a&&t.j(a,"function",T,"memberRemoved"),this.Cr=a,this.i("memberRemoved",b,a))});t.g(T,"memberValidation",T.prototype.vt);
| t.defineProperty(T,{vt:"memberValidation"},function(){return this.Mk},function(a){var b=this.Mk;b!==a&&(null!==a&&t.j(a,"function",T,"memberValidation"),this.Mk=a,this.i("memberValidation",b,a))});T.prototype.canAddMembers=function(a){var b=this.h;if(null===b)return!1;b=b.Te;for(a=Le(a).k;a.next();)if(!b.isValidMember(this,a.value))return!1;return!0};
| T.prototype.addMembers=function(a,b){var c=this.h;if(null===c)return!1;for(var c=c.Te,d=!0,e=Le(a).k;e.next();){var g=e.value;!b||c.isValidMember(this,g)?g.mb=this:d=!1}return d};t.g(T,"ungroupable",T.prototype.AG);t.defineProperty(T,{AG:"ungroupable"},function(){return this.Hs},function(a){var b=this.Hs;b!==a&&(t.j(a,"boolean",T,"ungroupable"),this.Hs=a,this.i("ungroupable",b,a))});
| T.prototype.canUngroup=function(){if(!this.AG)return!1;var a=this.layer;if(null!==a&&!a.No)return!1;a=a.h;return null===a||a.No?!0:!1};T.prototype.invalidateConnectedLinks=T.prototype.qf=function(a){void 0===a&&(a=null);S.prototype.qf.call(this,a);if(!this.Ud)for(var b=this.mE();b.next();){var c=b.value;if(null===a||!a.contains(c)){var d=c.aa;null!==d&&d.kl(this)&&!d.bb()?c.Pb():(d=c.ea,null!==d&&d.kl(this)&&!d.bb()&&c.Pb())}}};
| T.prototype.findExternalLinksConnected=T.prototype.mE=function(){var a=this.Zo();a.add(this);for(var b=new na(U),c=a.k;c.next();){var d=c.value;if(d instanceof S)for(d=d.oe;d.next();){var e=d.value;a.contains(e)||b.add(e)}}return b.k};T.prototype.findExternalNodesConnected=function(){var a=this.Zo();a.add(this);for(var b=new na(S),c=a.k;c.next();){var d=c.value;if(d instanceof S)for(d=d.oe;d.next();){var e=d.value,g=e.aa;a.contains(g)&&g!==this||b.add(g);e=e.ea;a.contains(e)&&e!==this||b.add(e)}}return b.k};
| T.prototype.findSubGraphParts=T.prototype.Zo=function(){var a=new na(B);Fe(a,this,!0,0);a.remove(this);return a};T.prototype.collapseSubGraph=T.prototype.collapseSubGraph=function(){var a=this.h;if(null!==a&&!a.Sd){a.Sd=!0;var b=this.Zo();Dn(this,b);a.Sd=!1}};function Dn(a,b){a.Ud=!1;for(var c=a.Vc;c.next();){var d=c.value;d.Th(!1);d instanceof T&&(d.wx=d.Ud,Dn(d,b));if(d instanceof S)d.qf(b);else if(d instanceof U)for(d=d.dk;d.next();)d.value.qf(b)}}
| T.prototype.expandSubGraph=T.prototype.expandSubGraph=function(){var a=this.h;if(null!==a&&!a.Sd){var b=a.lc;0!==a.ma.Je&&b.Kp();a.Sd=!0;var c=this.Zo();En(this,c,b,this);a.Sd=!1}};function En(a,b,c,d){a.Ud=!0;for(a=a.Vc;a.next();){var e=a.value;e.ca();e.Th(!0);e instanceof T&&e.wx&&En(e,b,c,d);if(e instanceof S)e.qf(b),Nh(c,e,d);else if(e instanceof U)for(e=e.dk;e.next();)e.value.qf(b)}}t.g(T,"isSubGraphExpanded",T.prototype.Ud);
| t.defineProperty(T,{Ud:"isSubGraphExpanded"},function(){return this.fr},function(a){var b=this.fr;if(b!==a){t.j(a,"boolean",T,"isSubGraphExpanded");this.fr=a;var c=this.h;this.i("isSubGraphExpanded",b,a);b=this.lG;if(null!==b){var d=!0;null!==c&&(d=c.Ta,c.Ta=!0);b(this);null!==c&&(c.Ta=d)}null!==c&&c.ma.pb||(a?this.expandSubGraph():this.collapseSubGraph())}});t.g(T,"wasSubGraphExpanded",T.prototype.wx);
| t.defineProperty(T,{wx:"wasSubGraphExpanded"},function(){return this.Is},function(a){var b=this.Is;b!==a&&(t.j(a,"boolean",T,"wasSubGraphExpanded"),this.Is=a,this.i("wasSubGraphExpanded",b,a))});t.g(T,"subGraphExpandedChanged",T.prototype.lG);t.defineProperty(T,{lG:"subGraphExpandedChanged"},function(){return this.ws},function(a){var b=this.ws;b!==a&&(null!==a&&t.j(a,"function",T,"subGraphExpandedChanged"),this.ws=a,this.i("subGraphExpandedChanged",b,a))});
| T.prototype.move=T.prototype.move=function(a){var b=this.position,c=b.x;isNaN(c)&&(c=0);b=b.y;isNaN(b)&&(b=0);var c=a.x-c,b=a.y-b,d=t.gc(c,b);S.prototype.move.call(this,a);for(a=this.Zo().k;a.next();){var e=a.value;if(!(e instanceof U||e.Qh)){var g=e.position;d.x=g.x+c;d.y=g.y+b;S.prototype.move.call(e,d)}}for(a.reset();a.next();)e=a.value,e instanceof U&&(g=e.position,d.x=g.x+c,d.y=g.y+b,e.move(d));t.B(d)};function Sg(){Q.call(this);this.Oe=F.jq;this.gs=new w(NaN,NaN,NaN,NaN)}
| t.ga("Placeholder",Sg);t.Ka(Sg,Q);Sg.prototype.cloneProtected=function(a){Q.prototype.cloneProtected.call(this,a);a.Oe=this.Oe.Z();a.gs=this.gs.copy()};Sg.prototype.Qj=function(a){if(null===this.background&&null===this.Zk)return!1;var b=this.Pa;return nb(0,0,b.width,b.height,a.x,a.y)};
| Sg.prototype.ut=function(){var a=this.S;null!==a&&(a instanceof T||a instanceof Ge)||t.l("Placeholder is not inside a Group or Adornment.");if(a instanceof T){var b=this.computeBorder(this.gs),c=this.dd;Wa(c,b.width||0,b.height||0);ck(this,0,0,c.width,c.height);for(var c=a.Vc,d=!1;c.next();)if(c.value.bb()){d=!0;break}!d||isNaN(b.x)||isNaN(b.y)||(c=new v,c.Ot(b,a.bf),a.location=new v(c.x,c.y))}else{var b=this.Ba,c=this.dd,a=this.padding,d=a.left+a.right,e=a.top+a.bottom;if(b.N())Wa(c,b.width+d||0,
| b.height+e||0),ck(this,-a.left,-a.top,c.width,c.height);else{var g=this.S,h=g.kc,k=h.ob(Eb,t.K()),b=t.gk(k.x,k.y,0,0);b.cj(h.ob(Pb,k));b.cj(h.ob(Gb,k));b.cj(h.ob(Lb,k));g.Lg.q(b.x,b.y);Wa(c,b.width+d||0,b.height+e||0);ck(this,-a.left,-a.top,c.width,c.height);t.B(k);t.cc(b)}}};Sg.prototype.Pj=function(a,b,c,d){var e=this.sa;e.x=a;e.y=b;e.width=c;e.height=d};
| Sg.prototype.computeBorder=function(a){var b=this.S;if(b instanceof T&&b.gA&&this.gs.N()){var c=b.h;if(null!==c&&(c=c.Ua,c instanceof $e&&!c.Mq&&null!==c.Bc&&!c.Bc.contains(b)))return a.assign(this.gs),a}var c=t.yf(),d=this.computeMemberBounds(c),e=this.padding;a.q(d.x-e.left,d.y-e.top,d.width+e.left+e.right,d.height+e.top+e.bottom);t.cc(c);b instanceof T&&b.RD&&b.location.N()&&a.cj(b.location);return a};
| Sg.prototype.computeMemberBounds=function(a){var b=this.S;if(!(b instanceof T))return a.q(0,0,0,0),a;for(var c=Infinity,d=Infinity,e=-Infinity,g=-Infinity,h=b.Vc;h.next();){var k=h.value;if(k.bb()){if(k instanceof U){if(!b.QD)continue;if(Ki(k))continue;if(k.aa===b||k.ea===b)continue}k=k.sa;k.left<c&&(c=k.left);k.top<d&&(d=k.top);k.right>e&&(e=k.right);k.bottom>g&&(g=k.bottom)}}isFinite(c)&&isFinite(d)?a.q(c,d,e-c,g-d):(b=b.location,c=this.padding,a.q(b.x+c.left,b.y+c.top,0,0));return a};
| t.g(Sg,"padding",Sg.prototype.padding);t.defineProperty(Sg,{padding:"padding"},function(){return this.Oe},function(a){"number"===typeof a?(0>a&&t.ka(a,">= 0",Sg,"padding"),a=new ab(a)):(t.m(a,ab,Sg,"padding"),0>a.left&&t.ka(a.left,">= 0",Sg,"padding:val.left"),0>a.right&&t.ka(a.right,">= 0",Sg,"padding:val.right"),0>a.top&&t.ka(a.top,">= 0",Sg,"padding:val.top"),0>a.bottom&&t.ka(a.bottom,">= 0",Sg,"padding:val.bottom"));var b=this.Oe;b.M(a)||(this.Oe=a=a.Z(),this.i("padding",b,a))});
| function be(){0<arguments.length&&t.l("Layout constructor cannot take any arguments.");t.wc(this);this.Ny=this.U=null;this.$q=this.br=!0;this.jr=this.Yn=!1;this.rq=(new v(0,0)).freeze();this.Vy=!0;this.fz=null;this.cr=!0}t.ga("Layout",be);be.prototype.cloneProtected=function(a){a.br=this.br;a.$q=this.$q;this.$q||(a.Yn=!0);a.jr=this.jr;a.rq.assign(this.rq);a.cr=this.cr};be.prototype.copy=function(){var a=new this.constructor;this.cloneProtected(a);return a};
| be.prototype.toString=function(){var a=t.Wg(Object.getPrototypeOf(this)),a=a+"(";null!==this.group&&(a+=" in "+this.group);null!==this.h&&(a+=" for "+this.h);return a+")"};t.g(be,"diagram",be.prototype.h);t.defineProperty(be,{h:"diagram"},function(){return this.U},function(a){this.U!==a&&(null!==a&&t.m(a,z,be,"diagram"),this.U=a)});t.g(be,"group",be.prototype.group);
| t.defineProperty(be,{group:"group"},function(){return this.Ny},function(a){this.Ny!==a&&(null!==a&&t.m(a,T,be,"group"),this.Ny=a,null!==a&&(this.U=a.h))});t.g(be,"isOngoing",be.prototype.VE);t.defineProperty(be,{VE:"isOngoing"},function(){return this.br},function(a){this.br!==a&&(t.j(a,"boolean",be,"isOngoing"),this.br=a)});t.g(be,"isInitial",be.prototype.UE);t.defineProperty(be,{UE:"isInitial"},function(){return this.$q},function(a){t.j(a,"boolean",be,"isInitial");this.$q=a;a||(this.Yn=!0)});
| t.g(be,"isValidLayout",be.prototype.$e);t.defineProperty(be,{$e:"isValidLayout"},function(){return this.Yn},function(a){this.Yn!==a&&(t.j(a,"boolean",be,"isValidLayout"),this.Yn=a,a||(a=this.h,null!==a&&(a.ku=!0)))});be.prototype.invalidateLayout=be.prototype.J=function(){if(this.Yn){var a=this.h;if(null!==a&&!a.ma.pb){var b=a.lc;!b.Xy&&(b.bk&&b.Yp(),this.VE&&a.Af||this.UE&&!a.Af)&&(this.$e=!1,a.re())}}};t.g(be,"isRealtime",be.prototype.Pw);
| t.defineProperty(be,{Pw:"isRealtime"},function(){return this.cr},function(a){this.cr!==a&&(t.j(a,"boolean",be,"isRealtime"),this.cr=a)});t.g(be,"isViewportSized",be.prototype.st);t.defineProperty(be,{st:"isViewportSized"},function(){return this.jr},function(a){this.jr!==a&&(t.j(a,"boolean",be,"isViewportSized"),(this.jr=a)&&this.J())});t.g(be,"isRouting",be.prototype.rt);
| t.defineProperty(be,{rt:"isRouting"},function(){return this.Vy},function(a){this.Vy!==a&&(t.j(a,"boolean",be,"isRouting"),this.Vy=a)});t.g(be,"network",be.prototype.network);t.defineProperty(be,{network:"network"},function(){return this.fz},function(a){var b=this.fz;b!==a&&(null!==a&&t.m(a,ta,be,"network"),null!==b&&Fn(b,null),this.fz=a,null!==a&&Fn(a,this))});be.prototype.createNetwork=function(){var a=new ta;Fn(a,this);return a};
| be.prototype.makeNetwork=function(a){var b=this.createNetwork();a instanceof z?(b.Ns(a.aj,!0),b.Ns(a.links,!0)):a instanceof T?b.Ns(a.Vc):b.Ns(a.k);return b};be.prototype.updateParts=function(){var a=this.h;if(null===a&&null!==this.network)for(var b=this.network.vertexes.k;b.next();){var c=b.value.Dc;if(null!==c&&(a=c.h,null!==a))break}this.$e=!0;null!==a&&a.pc("Layout");this.commitLayout();null!==a&&a.Ce("Layout")};be.prototype.commitLayout=function(){};
| be.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");var b=new na(B);a===this.h?(Gn(this,b,a.aj,!0,this.PA,!0,!1,!0),Gn(this,b,a.Jp,!0,this.PA,!0,!1,!0)):a===this.group?Gn(this,b,a.Vc,!1,this.PA,!0,!1,!0):b.Pe(a.k);var c=b.count;if(0<c){a=this.h;null!==a&&a.pc("Layout");for(var c=Math.ceil(Math.sqrt(c)),d=this.Bd.x,e=d,g=this.Bd.y,h=0,k=0,b=b.k;b.next();){var l=b.value;l.Hf();var m=l.Ea,n=m.width,m=m.height;
| l.moveTo(e,g);delete l.RC;e+=Math.max(n,50)+20;k=Math.max(k,Math.max(m,50));h>=c-1?(h=0,e=d,g+=k+20,k=0):h++}null!==a&&a.Ce("Layout")}this.$e=!0};be.prototype.PA=function(a){return!a.location.N()||a instanceof T&&a.RC?!0:!1};function Gn(a,b,c,d,e,g,h,k){for(c=c.k;c.next();){var l=c.value;d&&!l.pp||e&&!e(l)||l.canLayout()&&(g&&l instanceof S?l.Qh||(l instanceof T&&null===l.ec?Gn(a,b,l.Vc,!1,e,g,h,k):b.add(l)):h&&l instanceof U?b.add(l):!k||!l.Gd()||l instanceof S||b.add(l))}}
| t.g(be,"arrangementOrigin",be.prototype.Bd);t.defineProperty(be,{Bd:"arrangementOrigin"},function(){return this.rq},function(a){this.rq.M(a)||(t.m(a,v,be,"arrangementOrigin"),this.rq.assign(a),this.J())});be.prototype.initialOrigin=function(a){var b=this.group;if(null!==b){var c=b.location;if(isNaN(c.x)||isNaN(c.y))return a;a=b.placeholder;null!==a?(c=a.ob(Eb),c.x+=a.padding.left,c.y+=a.padding.top):c=b.position.copy();return c}return a};function ta(){t.wc(this);this.Ld=null;this.clear()}
| t.ga("LayoutNetwork",ta);ta.prototype.clear=function(){if(this.vertexes)for(var a=this.vertexes.k;a.next();){var b=a.value;b.clear();b.network=null}if(this.edges)for(a=this.edges.k;a.next();)b=a.value,b.clear(),b.network=null;this.vertexes=new na(ua);this.edges=new na(va);this.SA=new la(S,ua);this.IA=new la(U,va)};ta.prototype.toString=function(){return"LayoutNetwork"+(null!==this.ec?"("+this.ec.toString()+")":"")};t.A(ta,{ec:"layout"},function(){return this.Ld});
| function Fn(a,b){f&&null!==b&&t.m(b,be,ta,"setLayout");a.Ld=b}ta.prototype.createVertex=function(){return new ua};ta.prototype.createEdge=function(){return new va};
| ta.prototype.addParts=ta.prototype.Ns=function(a,b){if(null!==a){void 0===b&&(b=!1);t.j(b,"boolean",ta,"addParts:toplevelonly");for(var c=a.k;c.next();){var d=c.value;if(d instanceof S&&(!b||d.pp)&&d.canLayout()&&!d.Qh)if(d instanceof T&&null===d.ec)this.Ns(d.Vc,!1);else if(null===this.Km(d)){var e=this.createVertex();e.Dc=d;this.Xk(e)}}for(c.reset();c.next();)if(d=c.value,d instanceof U&&(!b||d.pp)&&d.canLayout()&&null===this.ww(d)){var g=d.aa,e=d.ea;g!==e&&(g=this.findGroupVertex(g),e=this.findGroupVertex(e),
| null!==g&&null!==e&&this.Sm(g,e,d))}}};ta.prototype.findGroupVertex=function(a){if(null===a)return null;a=Og(a);if(null===a)return null;var b=this.Km(a);if(null!==b)return b;a=a.mb;return null!==a&&(b=this.Km(a),null!==b)?b:null};ta.prototype.addVertex=ta.prototype.Xk=function(a){if(null!==a){f&&t.m(a,ua,ta,"addVertex:vertex");this.vertexes.add(a);var b=a.Dc;null!==b&&this.SA.add(b,a);a.network=this}};
| ta.prototype.addNode=ta.prototype.Go=function(a){if(null===a)return null;f&&t.m(a,S,ta,"addNode:node");var b=this.Km(a);null===b&&(b=this.createVertex(),b.Dc=a,this.Xk(b));return b};ta.prototype.deleteVertex=ta.prototype.gE=function(a){if(null!==a&&(f&&t.m(a,ua,ta,"deleteVertex:vertex"),Hn(this,a))){for(var b=a.ef,c=b.count-1;0<=c;c--){var d=b.wa(c);this.Uo(d)}b=a.Ue;for(c=b.count-1;0<=c;c--)d=b.wa(c),this.Uo(d)}};
| function Hn(a,b){if(null===b)return!1;var c=a.vertexes.remove(b);c&&(a.SA.remove(b.Dc),b.network=null);return c}ta.prototype.deleteNode=function(a){null!==a&&(f&&t.m(a,S,ta,"deleteNode:node"),a=this.Km(a),null!==a&&this.gE(a))};ta.prototype.findVertex=ta.prototype.Km=function(a){if(null===a)return null;f&&t.m(a,S,ta,"findVertex:node");return this.SA.ya(a)};
| ta.prototype.addEdge=ta.prototype.Fo=function(a){if(null!==a){f&&t.m(a,va,ta,"addEdge:edge");this.edges.add(a);var b=a.link;null!==b&&null===this.ww(b)&&this.IA.add(b,a);b=a.toVertex;null!==b&&b.xD(a);b=a.fromVertex;null!==b&&b.vD(a);a.network=this}};
| ta.prototype.addLink=function(a){if(null===a)return null;f&&t.m(a,U,ta,"addLink:link");var b=a.aa,c=a.ea,d=this.ww(a);null===d?(d=this.createEdge(),d.link=a,null!==b&&(d.fromVertex=this.Go(b)),null!==c&&(d.toVertex=this.Go(c)),this.Fo(d)):(d.fromVertex=null!==b?this.Go(b):null,d.toVertex=null!==c?this.Go(c):null);return d};ta.prototype.deleteEdge=ta.prototype.Uo=function(a){if(null!==a){f&&t.m(a,va,ta,"deleteEdge:edge");var b=a.toVertex;null!==b&&b.fE(a);b=a.fromVertex;null!==b&&b.eE(a);In(this,a)}};
| function In(a,b){null!==b&&a.edges.remove(b)&&(a.IA.remove(b.link),b.network=null)}ta.prototype.deleteLink=function(a){null!==a&&(f&&t.m(a,U,ta,"deleteLink:link"),a=this.ww(a),null!==a&&this.Uo(a))};ta.prototype.findEdge=ta.prototype.ww=function(a){if(null===a)return null;f&&t.m(a,U,ta,"findEdge:link");return this.IA.ya(a)};
| ta.prototype.linkVertexes=ta.prototype.Sm=function(a,b,c){if(null===a||null===b)return null;f&&(t.m(a,ua,ta,"linkVertexes:fromVertex"),t.m(b,ua,ta,"linkVertexes:toVertex"),null!==c&&t.m(c,U,ta,"linkVertexes:link"));if(a.network===this&&b.network===this){var d=this.createEdge();d.link=c;d.fromVertex=a;d.toVertex=b;this.Fo(d);return d}return null};
| ta.prototype.reverseEdge=ta.prototype.jx=function(a){if(null!==a){f&&t.m(a,va,ta,"reverseEdge:edge");var b=a.fromVertex,c=a.toVertex;null!==b&&null!==c&&(b.eE(a),c.fE(a),a.jx(),b.xD(a),c.vD(a))}};ta.prototype.deleteSelfEdges=ta.prototype.rw=function(){for(var a=t.Cb(),b=this.edges.k;b.next();){var c=b.value;c.fromVertex===c.toVertex&&a.push(c)}b=a.length;for(c=0;c<b;c++)this.Uo(a[c]);t.za(a)};
| ta.prototype.deleteArtificialVertexes=function(){for(var a=t.Cb(),b=this.vertexes.k;b.next();){var c=b.value;null===c.Dc&&a.push(c)}c=a.length;for(b=0;b<c;b++)this.gE(a[b]);c=t.Cb();for(b=this.edges.k;b.next();){var d=b.value;null===d.link&&c.push(d)}d=c.length;for(b=0;b<d;b++)this.Uo(c[b]);t.za(a);t.za(c)};function Jn(a){for(var b=t.Cb(),c=a.edges.k;c.next();){var d=c.value;null!==d.fromVertex&&null!==d.toVertex||b.push(d)}c=b.length;for(d=0;d<c;d++)a.Uo(b[d]);t.za(b)}
| ta.prototype.splitIntoSubNetworks=ta.prototype.FJ=function(){this.deleteArtificialVertexes();Jn(this);this.rw();for(var a=new A(ta),b=!0;b;)for(var b=!1,c=this.vertexes.k;c.next();){var d=c.value;if(0<d.ef.count||0<d.Ue.count){b=this.ec.createNetwork();a.add(b);Kn(this,b,d);b=!0;break}}a.sort(function(a,b){return null===a||null===b||a===b?0:b.vertexes.count-a.vertexes.count});return a};
| function Kn(a,b,c){if(null!==c&&c.network!==b){Hn(a,c);b.Xk(c);for(var d=c.oc;d.next();){var e=d.value;e.network!==b&&(In(a,e),b.Fo(e),Kn(a,b,e.fromVertex))}for(d=c.bc;d.next();)e=d.value,e.network!==b&&(In(a,e),b.Fo(e),Kn(a,b,e.toVertex))}}ta.prototype.findAllParts=function(){for(var a=new na(B),b=this.vertexes.k;b.next();)a.add(b.value.Dc);for(b=this.edges.k;b.next();)a.add(b.value.link);return a};
| function ua(){t.wc(this);this.network=null;this.T=(new w(0,0,10,10)).freeze();this.O=(new v(5,5)).freeze();this.clear()}t.ga("LayoutVertex",ua);ua.prototype.clear=function(){this.pd=null;this.ef=new A(va);this.Ue=new A(va)};ua.prototype.toString=function(){return"LayoutVertex#"+t.ld(this)+(null!==this.Dc?"("+this.Dc.toString()+")":"")};t.g(ua,"node",ua.prototype.Dc);
| t.defineProperty(ua,{Dc:"node"},function(){return this.pd},function(a){if(this.pd!==a){f&&null!==a&&t.m(a,S,ua,"node");this.pd=a;a.Hf();var b=a.sa,c=b.x,d=b.y,e=b.width,b=b.height;isNaN(c)&&(c=0);isNaN(d)&&(d=0);this.T.q(c,d,e,b);if(!(a instanceof T)&&(a=a.fc.ob(Hb),a.N())){this.O.q(a.x-c,a.y-d);return}this.O.q(e/2,b/2)}});t.g(ua,"bounds",ua.prototype.Ib);t.defineProperty(ua,{Ib:"bounds"},function(){return this.T},function(a){this.T.M(a)||(f&&t.m(a,w,ua,"bounds"),this.T.assign(a))});
| t.g(ua,"focus",ua.prototype.focus);t.defineProperty(ua,{focus:"focus"},function(){return this.O},function(a){this.O.M(a)||(f&&t.m(a,v,ua,"focus"),this.O.assign(a))});t.g(ua,"centerX",ua.prototype.Ca);t.defineProperty(ua,{Ca:"centerX"},function(){return this.T.x+this.O.x},function(a){var b=this.T;b.x+this.O.x!==a&&(f&&t.p(a,ua,"centerX"),b.La(),b.x=a-this.O.x,b.freeze())});t.g(ua,"centerY",ua.prototype.Oa);
| t.defineProperty(ua,{Oa:"centerY"},function(){return this.T.y+this.O.y},function(a){var b=this.T;b.y+this.O.y!==a&&(f&&t.p(a,ua,"centerY"),b.La(),b.y=a-this.O.y,b.freeze())});t.g(ua,"focusX",ua.prototype.ap);t.defineProperty(ua,{ap:"focusX"},function(){return this.O.x},function(a){var b=this.O;b.x!==a&&(b.La(),b.x=a,b.freeze())});t.g(ua,"focusY",ua.prototype.bp);t.defineProperty(ua,{bp:"focusY"},function(){return this.O.y},function(a){var b=this.O;b.y!==a&&(b.La(),b.y=a,b.freeze())});t.g(ua,"x",ua.prototype.x);
| t.defineProperty(ua,{x:"x"},function(){return this.T.x},function(a){var b=this.T;b.x!==a&&(b.La(),b.x=a,b.freeze())});t.g(ua,"y",ua.prototype.y);t.defineProperty(ua,{y:"y"},function(){return this.T.y},function(a){var b=this.T;b.y!==a&&(b.La(),b.y=a,b.freeze())});t.g(ua,"width",ua.prototype.width);t.defineProperty(ua,{width:"width"},function(){return this.T.width},function(a){var b=this.T;b.width!==a&&(b.La(),b.width=a,b.freeze())});t.g(ua,"height",ua.prototype.height);
| t.defineProperty(ua,{height:"height"},function(){return this.T.height},function(a){var b=this.T;b.height!==a&&(b.La(),b.height=a,b.freeze())});ua.prototype.commit=function(){var a=this.Dc;if(null!==a){var b=this.Ib;if(!(a instanceof T)){var c=a.sa,d=a.fc.ob(Hb);if(c.N()&&d.N()){a.moveTo(b.x+this.ap-(d.x-c.x),b.y+this.bp-(d.y-c.y));return}}a.moveTo(b.x,b.y)}};ua.prototype.addSourceEdge=ua.prototype.xD=function(a){null!==a&&(f&&t.m(a,va,ua,"addSourceEdge:edge"),this.ef.contains(a)||this.ef.add(a))};
| ua.prototype.deleteSourceEdge=ua.prototype.fE=function(a){null!==a&&(f&&t.m(a,va,ua,"deleteSourceEdge:edge"),this.ef.remove(a))};ua.prototype.addDestinationEdge=ua.prototype.vD=function(a){null!==a&&(f&&t.m(a,va,ua,"addDestinationEdge:edge"),this.Ue.contains(a)||this.Ue.add(a))};ua.prototype.deleteDestinationEdge=ua.prototype.eE=function(a){null!==a&&(f&&t.m(a,va,ua,"deleteDestinationEdge:edge"),this.Ue.remove(a))};
| t.A(ua,{EJ:"sourceVertexes"},function(){for(var a=new na(ua),b=this.oc;b.next();){var c=b.value.fromVertex;null===c||a.contains(c)||a.add(c)}return a.k});t.A(ua,{oI:"destinationVertexes"},function(){for(var a=new na(ua),b=this.bc;b.next();){var c=b.value.toVertex;null===c||a.contains(c)||a.add(c)}return a.k});
| t.A(ua,{vertexes:"vertexes"},function(){for(var a=new na(ua),b=this.oc;b.next();){var c=b.value,c=c.fromVertex;null===c||a.contains(c)||a.add(c)}for(b=this.bc;b.next();)c=b.value,c=c.toVertex,null===c||a.contains(c)||a.add(c);return a.k});t.A(ua,{oc:"sourceEdges"},function(){return this.ef.k});t.A(ua,{bc:"destinationEdges"},function(){return this.Ue.k});t.A(ua,{edges:"edges"},function(){for(var a=new A(va),b=this.oc;b.next();){var c=b.value;a.add(c)}for(b=this.bc;b.next();)c=b.value,a.add(c);return a.k});
| t.A(ua,{uI:"edgesCount"},function(){return this.ef.count+this.Ue.count});var Ln;ua.standardComparer=Ln=function(a,b){f&&t.m(a,ua,ua,"standardComparer:m");f&&t.m(b,ua,ua,"standardComparer:n");var c=a.pd,d=b.pd;return c?d?(c=c.text,d=d.text,c<d?-1:c>d?1:0):1:null!==d?-1:0};
| ua.smartComparer=function(a,b){f&&t.m(a,ua,ua,"smartComparer:m");f&&t.m(b,ua,ua,"smartComparer:n");if(null!==a){if(null!==b){var c=a.pd,d=b.pd;if(null!==c){if(null!==d){var c=c.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=d.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e;for(e=0;e<c.length;e++)if(""!==d[e]&&void 0!==d[e]){var g=parseFloat(c[e]),h=parseFloat(d[e]);if(isNaN(g)){if(!isNaN(h))return 1;if(0!==c[e].localeCompare(d[e]))return c[e].localeCompare(d[e])}else{if(isNaN(h))return-1;
| if(0!==g-h)return g-h}}else if(""!==c[e])return 1;return""!==d[e]&&void 0!==d[e]?-1:0}return 1}return null!==d?-1:0}return 1}return null!==b?-1:0};function va(){t.wc(this);this.network=null;this.clear()}t.ga("LayoutEdge",va);va.prototype.clear=function(){this.toVertex=this.fromVertex=this.link=null};va.prototype.toString=function(){return"LayoutEdge#"+t.ld(this)+(null!==this.link?"("+this.link.toString()+")":"")};
| va.prototype.jx=function(){var a=this.fromVertex;this.fromVertex=this.toVertex;this.toVertex=a};va.prototype.commit=function(){};va.prototype.getOtherVertex=va.prototype.yI=function(a){f&&t.m(a,ua,va,"getOtherVertex:v");return this.toVertex===a?this.fromVertex:this.fromVertex===a?this.toVertex:null};
| function Sj(){0<arguments.length&&t.l("GridLayout constructor cannot take any arguments.");be.call(this);this.st=!0;this.Ks=this.Ls=NaN;this.jj=(new fa(NaN,NaN)).freeze();this.Ah=(new fa(10,10)).freeze();this.se=cl;this.Zc=al;this.zh=Xk;this.fh=Mn}t.ga("GridLayout",Sj);t.Ka(Sj,be);Sj.prototype.cloneProtected=function(a){be.prototype.cloneProtected.call(this,a);a.Ls=this.Ls;a.Ks=this.Ks;a.jj.assign(this.jj);a.Ah.assign(this.Ah);a.se=this.se;a.Zc=this.Zc;a.zh=this.zh;a.fh=this.fh};
| Sj.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");var b=this.h;null===b&&null===this.group&&t.l("The diagram for this layout is not set.");this.Bd=this.initialOrigin(this.Bd);var c=new na(B);a===b?(Gn(this,c,a.aj,!0,null,!0,!0,!0),Gn(this,c,a.links,!0,null,!0,!0,!0),Gn(this,c,a.Jp,!0,null,!0,!0,!0)):a===this.group?Gn(this,c,a.Vc,!1,null,!0,!0,!0):c.Pe(a.k);for(a=c.copy().k;a.next();){var d=a.value;if(d instanceof
| U&&(null!==d.aa||null!==d.ea))c.remove(d);else if(d.Hf(),d instanceof T)for(d=d.Vc;d.next();)c.remove(d.value)}c=c.Ie();if(0!==c.length){switch(this.sorting){case $k:c.reverse();break;case Xk:c.sort(this.comparer);break;case Yk:c.sort(this.comparer),c.reverse()}var e=this.NG;isNaN(e)&&(e=0);var g=this.DB,g=isNaN(g)?Math.max(b.vb.width-b.padding.left-b.padding.right,0):Math.max(this.DB,0);0>=e&&0>=g&&(e=1);a=this.spacing.width;isFinite(a)||(a=0);d=this.spacing.height;isFinite(d)||(d=0);b.pc("Layout");
| var h=[];switch(this.alignment){case dl:var k=a,l=d,m=Math.max(this.$k.width,1);if(!isFinite(m))for(var n=m=0;n<c.length;n++)var p=c[n],q=p.Ea,m=Math.max(m,q.width);var m=Math.max(m+k,1),r=Math.max(this.$k.height,1);if(!isFinite(r))for(n=r=0;n<c.length;n++)p=c[n],q=p.Ea,r=Math.max(r,q.height);for(var r=Math.max(r+l,1),s=this.Re,u=this.Bd.x,x=u,E=this.Bd.y,G=0,C=0,n=0;n<c.length;n++){var p=c[n],q=p.Ea,I=Math.ceil((q.width+k)/m)*m,O=Math.ceil((q.height+l)/r)*r,N;switch(s){case bl:N=Math.abs(x-q.width);
| break;default:N=x+q.width}if(0<e&&G>e-1||0<g&&0<G&&N>g)h.push(new w(0,E,g,C+l)),G=0,x=u,E+=C,C=0;C=Math.max(C,O);switch(s){case bl:q=-q.width;break;default:q=0}p.moveTo(x+q,E);switch(s){case bl:x-=I;break;default:x+=I}G++}h.push(new w(0,E,g,C+l));break;case cl:k=a;l=d;m=Math.max(this.$k.width,1);n=G=q=0;p=t.K();for(r=0;r<c.length;r++)s=c[r],u=s.Ea,x=tm(s,s.fc,s.bf,p),q=Math.max(q,x.x),G=Math.max(G,u.width-x.x),n=Math.max(n,x.y);E=this.Re;switch(E){case bl:q+=k;break;default:G+=k}var m=isFinite(m)?
| Math.max(m+k,1):Math.max(q+G,1),V=G=this.Bd.x,C=this.Bd.y,I=0;g>=q&&(g-=q);q=0;O=Math.max(this.$k.height,1);N=n=0;for(var W=!0,Y=t.K(),r=0;r<c.length;r++){s=c[r];u=s.Ea;x=tm(s,s.fc,s.bf,p);if(0<I)switch(E){case bl:V=Math.floor((V-G-(u.width-x.x))/m)*m+G;break;default:V=Math.ceil((V-G+x.x)/m)*m+G}else switch(E){case bl:q=V+x.x+u.width;break;default:q=V-x.x}var R;switch(E){case bl:R=-(V+x.x)+q;break;default:R=V+u.width-x.x-q}if(0<e&&I>e-1||0<g&&0<I&&R>g){h.push(new w(0,C,g,(W?N:N+n)+l));for(V=0;V<I&&
| r!==I;V++){R=c[r-I+V];var wa=tm(R,R.fc,R.bf,Y);R.moveTo(R.position.x,R.position.y+n-wa.y)}N+=l;C=W?C+N:C+(N+n);I=N=n=0;V=G;W=!1}n=Math.max(n,x.y);N=Math.max(N,u.height-x.y);isFinite(O)&&(N=Math.max(N,Math.max(u.height,O)-x.y));W?s.moveTo(V-x.x,C-x.y):s.moveTo(V-x.x,C);switch(E){case bl:V-=x.x+k;break;default:V+=u.width-x.x+k}I++}h.push(new w(0,C,g,(W?N:N+n)+l));for(V=0;V<I&&r!==I;V++)R=c[r-I+V],wa=tm(R,R.fc,R.bf,p),R.moveTo(R.position.x,R.position.y+n-wa.y);t.B(p);t.B(Y)}this.commitLayers(h,new v(-a/
| 2,-d/2));b.Ce("Layout");this.$e=!0}};Sj.prototype.commitLayers=function(){};t.g(Sj,"wrappingWidth",Sj.prototype.DB);t.defineProperty(Sj,{DB:"wrappingWidth"},function(){return this.Ls},function(a){this.Ls!==a&&(0<a||isNaN(a))&&(this.Ls=a,this.st=isNaN(a),this.J())});t.g(Sj,"wrappingColumn",Sj.prototype.NG);t.defineProperty(Sj,{NG:"wrappingColumn"},function(){return this.Ks},function(a){this.Ks!==a&&(0<a||isNaN(a))&&(this.Ks=a,this.J())});t.g(Sj,"cellSize",Sj.prototype.$k);
| t.defineProperty(Sj,{$k:"cellSize"},function(){return this.jj},function(a){this.jj.M(a)||(this.jj.assign(a),this.J())});t.g(Sj,"spacing",Sj.prototype.spacing);t.defineProperty(Sj,{spacing:"spacing"},function(){return this.Ah},function(a){this.Ah.M(a)||(this.Ah.assign(a),this.J())});t.g(Sj,"alignment",Sj.prototype.alignment);t.defineProperty(Sj,{alignment:"alignment"},function(){return this.se},function(a){this.se!==a&&(f&&t.m(a,ca,Sj,"alignment"),a===cl||a===dl)&&(this.se=a,this.J())});
| t.g(Sj,"arrangement",Sj.prototype.Re);t.defineProperty(Sj,{Re:"arrangement"},function(){return this.Zc},function(a){this.Zc!==a&&(f&&t.m(a,ca,Sj,"arrangement"),a===al||a===bl)&&(this.Zc=a,this.J())});t.g(Sj,"sorting",Sj.prototype.sorting);t.defineProperty(Sj,{sorting:"sorting"},function(){return this.zh},function(a){this.zh!==a&&(f&&t.m(a,ca,Sj,"sorting"),a===Zk||a===$k||a===Xk||a===Yk)&&(this.zh=a,this.J())});t.g(Sj,"comparer",Sj.prototype.comparer);
| t.defineProperty(Sj,{comparer:"comparer"},function(){return this.fh},function(a){this.fh!==a&&(f&&t.j(a,"function",Sj,"comparer"),this.fh=a,this.J())});var Mn;Sj.standardComparer=Mn=function(a,b){f&&t.m(a,B,Sj,"standardComparer:a");f&&t.m(b,B,Sj,"standardComparer:b");var c=a.text,d=b.text;return c<d?-1:c>d?1:0};
| Sj.smartComparer=function(a,b){f&&t.m(a,B,Sj,"standardComparer:a");f&&t.m(b,B,Sj,"standardComparer:b");if(null!==a){if(null!==b){var c=a.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),d=b.text.toLocaleLowerCase().split(/([+\-]?[\.]?\d+(?:\.\d*)?(?:e[+\-]?\d+)?)/),e;for(e=0;e<c.length;e++)if(""!==d[e]&&void 0!==d[e]){var g=parseFloat(c[e]),h=parseFloat(d[e]);if(isNaN(g)){if(!isNaN(h))return 1;if(0!==c[e].localeCompare(d[e]))return c[e].localeCompare(d[e])}else{if(isNaN(h))return-1;
| if(0!==g-h)return g-h}}else if(""!==c[e])return 1;return""!==d[e]&&void 0!==d[e]?-1:0}return 1}return null!==b?-1:0};var dl;Sj.Position=dl=t.w(Sj,"Position",0);var cl;Sj.Location=cl=t.w(Sj,"Location",1);var al;Sj.LeftToRight=al=t.w(Sj,"LeftToRight",2);var bl;Sj.RightToLeft=bl=t.w(Sj,"RightToLeft",3);var Zk;Sj.Forward=Zk=t.w(Sj,"Forward",4);var $k;Sj.Reverse=$k=t.w(Sj,"Reverse",5);var Xk;Sj.Ascending=Xk=t.w(Sj,"Ascending",6);var Yk;Sj.Descending=Yk=t.w(Sj,"Descending",7);
| function el(){0<arguments.length&&t.l("CircularLayout constructor cannot take any arguments.");be.call(this);this.Ey=this.In=this.vd=0;this.Nq=360;this.Dy=ul;this.yk=0;this.qC=ul;this.uu=this.kg=this.mD=0;this.Sv=new Nn;this.xu=this.cm=0;this.iH=600;this.Vr=NaN;this.tq=1;this.xe=0;this.ye=360;this.Zc=ul;this.pa=ml;this.zh=jl;this.fh=Ln;this.Ah=6;this.Mr=xl}t.ga("CircularLayout",el);t.Ka(el,be);
| el.prototype.cloneProtected=function(a){be.prototype.cloneProtected.call(this,a);a.Vr=this.Vr;a.tq=this.tq;a.xe=this.xe;a.ye=this.ye;a.Zc=this.Zc;a.pa=this.pa;a.zh=this.zh;a.fh=this.fh;a.Ah=this.Ah;a.Mr=this.Mr};el.prototype.createNetwork=function(){var a=new On;Fn(a,this);return a};
| el.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");null===this.network&&(this.network=this.makeNetwork(a));a=this.network.vertexes;if(1>=a.count)1===a.count&&(a=a.$a(),a.Ca=0,a.Oa=0);else{var b=new A(Pn);b.Pe(a.k);a=new A(Pn);var c=new A(Pn),b=this.sort(b);a=new A(Pn);var c=new A(Pn),d=this.Dy,e=this.qC,g=this.vd,h=this.In,k=this.Ey,l=this.Nq,m=this.yk,n=this.mD,p=this.kg,q=this.uu,d=this.Re,e=this.Bt,g=
| this.zF;if(!isFinite(g)||0>=g)g=NaN;h=this.CD;if(!isFinite(h)||0>=h)h=1;k=this.Cg;isFinite(k)||(k=0);l=this.Yh;if(!isFinite(l)||360<l||1>l)l=360;m=this.spacing;isFinite(m)||(m=NaN);d===vl&&e===wl?d=ul:d===vl&&e!==wl&&(e=wl,d=this.Re);if((this.direction===kl||this.direction===ll)&&this.sorting!==jl){for(var r=0;!(r>=b.length);r+=2){a.add(b.wa(r));if(r+1>=b.length)break;c.add(b.wa(r+1))}this.direction===kl?(this.Re===vl&&a.reverse(),b=new A(Pn),b.Pe(a),b.Pe(c)):(this.Re===vl&&c.reverse(),b=new A(Pn),
| b.Pe(c),b.Pe(a))}for(var s=b.length,u=n=0,r=0;r<b.length;r++){var p=k+l*u*(this.direction===ml?1:-1)/s,x=b.wa(r).diameter;isNaN(x)&&(x=Qn(b.wa(r),p));360>l&&(0===r||r===b.length-1)&&(x/=2);n+=x;u++}if(isNaN(g)||d===vl){isNaN(m)&&(m=6);if(d!==ul&&d!==vl){x=-Infinity;for(r=0;r<s;r++){var q=b.wa(r),E=b.wa(r===s-1?0:r+1);isNaN(q.diameter)&&Qn(q,0);isNaN(E.diameter)&&Qn(E,0);x=Math.max(x,(q.diameter+E.diameter)/2)}q=x+m;d===sl?(p=2*Math.PI/s,g=(x+m)/p):g=Rn(this,q*(360<=l?s:s-1),h,k*Math.PI/180,l*Math.PI/
| 180)}else g=Rn(this,n+(360<=l?s:s-1)*(d!==vl?m:1.6*m),h,k*Math.PI/180,l*Math.PI/180);p=g*h}else if(p=g*h,u=Sn(this,g,p,k*Math.PI/180,l*Math.PI/180),isNaN(m)){if(d===ul||d===vl)m=(u-n)/(360<=l?s:s-1)}else if(d===ul||d===vl)r=(u-n)/(360<=l?s:s-1),r<m?(g=Rn(this,n+m*(360<=l?s:s-1),h,k*Math.PI/180,l*Math.PI/180),p=g*h):m=r;else{x=-Infinity;for(r=0;r<s;r++)q=b.wa(r),E=b.wa(r===s-1?0:r+1),isNaN(q.diameter)&&Qn(q,0),isNaN(E.diameter)&&Qn(E,0),x=Math.max(x,(q.diameter+E.diameter)/2);q=x+m;r=Rn(this,q*(360<=
| l?s:s-1),h,k*Math.PI/180,l*Math.PI/180);r>g?(g=r,p=g*h):q=u/(360<=l?s:s-1)}this.Dy=d;this.qC=e;this.vd=g;this.In=h;this.Ey=k;this.Nq=l;this.yk=m;this.mD=n;this.kg=p;this.uu=q;c=[b,a,c];b=c[0];a=c[1];c=c[2];d=this.Dy;e=this.vd;h=this.Ey;k=this.Nq;l=this.yk;m=this.kg;n=this.uu;if(this.direction!==kl&&this.direction!==ll||d!==vl)if(this.direction===kl||this.direction===ll){g=0;switch(d){case tl:g=180*Tn(this,e,m,h,n)/Math.PI;break;case ul:n=b=0;g=a.$a();null!==g&&(b=Qn(g,Math.PI/2));g=c.$a();null!==
| g&&(n=Qn(g,Math.PI/2));g=180*Tn(this,e,m,h,l+(b+n)/2)/Math.PI;break;case sl:g=k/b.length}if(this.direction===kl){switch(d){case tl:Un(this,a,h,nl);break;case ul:Vn(this,a,h,nl);break;case sl:Wn(this,a,k/2,h,nl)}switch(d){case tl:Un(this,c,h+g,ml);break;case ul:Vn(this,c,h+g,ml);break;case sl:Wn(this,c,k/2,h+g,ml)}}else{switch(d){case tl:Un(this,c,h,nl);break;case ul:Vn(this,c,h,nl);break;case sl:Wn(this,c,k/2,h,nl)}switch(d){case tl:Un(this,a,h+g,ml);break;case ul:Vn(this,a,h+g,ml);break;case sl:Wn(this,
| a,k/2,h+g,ml)}}}else switch(d){case tl:Un(this,b,h,this.direction);break;case ul:Vn(this,b,h,this.direction);break;case sl:Wn(this,b,k,h,this.direction);break;case vl:Xn(this,b,k,h,this.direction)}else Xn(this,b,k,h-k/2,ml)}this.updateParts();this.network=null;this.$e=!0};
| function Wn(a,b,c,d,e){var g=a.Nq,h=a.vd;a=a.kg;d=d*Math.PI/180;c=c*Math.PI/180;for(var k=b.length,l=0;l<k;l++){var m=d+(e===ml?l*c/(360<=g?k:k-1):-(l*c)/k),n=b.wa(l),p=h*Math.tan(m)/a,p=Math.sqrt((h*h+a*a*p*p)/(1+p*p));n.Ca=p*Math.cos(m);n.Oa=p*Math.sin(m);n.actualAngle=180*m/Math.PI}}
| function Vn(a,b,c,d){var e=a.vd,g=a.kg,h=a.yk;c=c*Math.PI/180;for(var k=b.length,l=0;l<k;l++){var m=b.wa(l),n=b.wa(l===k-1?0:l+1),p=g*Math.sin(c);m.Ca=e*Math.cos(c);m.Oa=p;m.actualAngle=180*c/Math.PI;isNaN(m.diameter)&&Qn(m,0);isNaN(n.diameter)&&Qn(n,0);m=Tn(a,e,g,d===ml?c:-c,(m.diameter+n.diameter)/2+h);c+=d===ml?m:-m}}
| function Un(a,b,c,d){var e=a.vd,g=a.kg,h=a.uu;c=c*Math.PI/180;for(var k=b.length,l=0;l<k;l++){var m=b.wa(l);m.Ca=e*Math.cos(c);m.Oa=g*Math.sin(c);m.actualAngle=180*c/Math.PI;m=Tn(a,e,g,d===ml?c:-c,h);c+=d===ml?m:-m}}function Xn(a,b,c,d,e){var g=a.xu,g=a.Nq;a.cm=0;a.Sv=new Nn;if(360>c){for(g=d+(e===ml?g:-g);0>g;)g+=360;g%=360;180<g&&(g-=360);g*=Math.PI/180;a.xu=g;Yn(a,b,c,d,e)}else Zn(a,b,c,d,e);a.Sv.commit(b)}
| function Zn(a,b,c,d,e){var g=a.vd,h=a.yk,k=a.In,l=g*Math.cos(d*Math.PI/180),m=a.kg*Math.sin(d*Math.PI/180),n=b.Ie();if(3===n.length)n[0].Ca=g,n[0].Oa=0,n[1].Ca=n[0].Ca-n[0].width/2-n[1].width/2-h,n[1].y=n[0].y,n[2].Ca=(n[0].Ca+n[1].Ca)/2,n[2].y=n[0].y-n[2].height-h;else if(4===n.length)n[0].Ca=g,n[0].Oa=0,n[2].Ca=-n[0].Ca,n[2].Oa=n[0].Oa,n[1].Ca=0,n[1].y=Math.min(n[0].y,n[2].y)-n[1].height-h,n[3].Ca=0,n[3].y=Math.max(n[0].y+n[0].height+h,n[2].y+n[2].height+h);else{for(g=0;g<n.length;g++){n[g].Ca=
| l;n[g].Oa=m;if(g>=n.length-1)break;var p=$n(a,l,m,n,g,e);p[0]||(p=ao(a,l,m,n,g,e));l=p[1];m=p[2]}a.cm++;if(!(23<a.cm)){var l=n[0].Ca,m=n[0].Oa,g=n[n.length-1].Ca,p=n[n.length-1].Oa,q=Math.abs(l-g)-((n[0].width+n[n.length-1].width)/2+h),r=Math.abs(m-p)-((n[0].height+n[n.length-1].height)/2+h),h=0;1>Math.abs(r)?Math.abs(l-g)<(n[0].width+n[n.length-1].width)/2&&(h=0):h=0<r?r:1>Math.abs(q)?0:q;q=!1;q=Math.abs(g)>Math.abs(p)?0<g!==m>p:0<p!==l<g;if(q=e===ml?q:!q)h=-Math.abs(h),h=Math.min(h,-n[n.length-
| 1].width),h=Math.min(h,-n[n.length-1].height);l=a.Sv;if(0<h&&0>l.ep||Math.abs(h)<Math.abs(l.ep)&&!(0>h&&0<l.ep))for(l.ep=h,l.fn=[],l.dq=[],m=0;m<n.length;m++)l.fn[m]=n[m].Ib.x,l.dq[m]=n[m].Ib.y;1<Math.abs(h)&&(a.vd=8>a.cm?a.vd-h/(2*Math.PI):5>n.length&&10<h?a.vd/2:a.vd-(0<h?1.7:-2.3),a.kg=a.vd*k,Zn(a,b,c,d,e))}}}
| function Yn(a,b,c,d,e){for(var g=a.vd,h=a.kg,k=a.In,l=g*Math.cos(d*Math.PI/180),m=h*Math.sin(d*Math.PI/180),n=b.Ie(),p=0;p<n.length;p++){n[p].Ca=l;n[p].Oa=m;if(p>=n.length-1)break;var q=$n(a,l,m,n,p,e);q[0]||(q=ao(a,l,m,n,p,e));l=q[1];m=q[2]}a.cm++;if(!(23<a.cm)){l=Math.atan2(m,l);l=e===ml?a.xu-l:l-a.xu;l=Math.abs(l)<Math.abs(l-2*Math.PI)?l:l-2*Math.PI;g=l*(g+h)/2;h=a.Sv;if(Math.abs(g)<Math.abs(h.ep))for(h.ep=g,h.fn=[],h.dq=[],l=0;l<n.length;l++)h.fn[l]=n[l].Ib.x,h.dq[l]=n[l].Ib.y;1<Math.abs(g)&&
| (a.vd=8>a.cm?a.vd-g/(2*Math.PI):a.vd-(0<g?1.7:-2.3),a.kg=a.vd*k,Yn(a,b,c,d,e))}}function $n(a,b,c,d,e,g){var h=a.vd,k=a.kg,l=0,m=0;a=(d[e].width+d[e+1].width)/2+a.yk;var n=!1;if(0<=c!==(g===ml)){if(l=b+a,l>h){l=b-a;if(l<-h)return b=[!1],b[1]=l,b[2]=m,b;n=!0}}else if(l=b-a,l<-h){l=b+a;if(l>h)return b=[!1],b[1]=l,b[2]=m,b;n=!0}m=Math.sqrt(1-Math.min(1,l*l/(h*h)))*k;0>c!==n&&(m=-m);b=Math.abs(c-m)>(d[e].height+d[e+1].height)/2?[!1]:[!0];b[1]=l;b[2]=m;return b}
| function ao(a,b,c,d,e,g){var h=a.vd,k=a.kg,l=0,m=0;a=(d[e].height+d[e+1].height)/2+a.yk;var n=!1;if(0<=b!==(g===ml)){if(m=c-a,m<-k){m=c+a;if(m>k)return b=[!1],b[1]=l,b[2]=m,b;n=!0}}else if(m=c+a,m>k){m=c-a;if(m<-k)return b=[!1],b[1]=l,b[2]=m,b;n=!0}l=Math.sqrt(1-Math.min(1,m*m/(k*k)))*h;0>b!==n&&(l=-l);b=Math.abs(b-l)>(d[e].width+d[e+1].width)/2?[!1]:[!0];b[1]=l;b[2]=m;return b}function Nn(){this.ep=-Infinity;this.dq=this.fn=null}
| Nn.prototype.commit=function(a){if(null!==this.fn&&null!==this.dq)for(var b=0;b<this.fn.length;b++){var c=a.wa(b);c.x=this.fn[b];c.y=this.dq[b]}};el.prototype.commitLayout=function(){this.commitNodes();this.rt&&this.commitLinks()};el.prototype.commitNodes=function(){for(var a=this.qH,b=this.network.vertexes.k,c;b.next();)c=b.value,c.x+=a.x,c.y+=a.y,c.commit()};el.prototype.commitLinks=function(){for(var a=this.network.edges.k;a.next();)a.value.commit()};
| function Sn(a,b,c,d,e){var g=a.iH;if(0.001>Math.abs(a.In-1))return void 0!==d&&void 0!==e?e*b:2*Math.PI*b;a=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c;var h=0,k;k=void 0!==d&&void 0!==e?e/(g+1):Math.PI/(2*(g+1));for(var l=0;l<=g;l++)var m=Math.sin(void 0!==d&&void 0!==e?d+l*e/g:l*Math.PI/(2*g)),h=h+Math.sqrt(1-a*a*m*m)*k;return void 0!==d&&void 0!==e?(b>c?b:c)*h:4*(b>c?b:c)*h}function Rn(a,b,c,d,e){a=void 0!==d&&void 0!==e?Sn(a,1,c,d,e):Sn(a,1,c);return b/a}
| function Tn(a,b,c,d,e){if(0.001>Math.abs(a.In-1))return e/b;var g=b>c?Math.sqrt(b*b-c*c)/b:Math.sqrt(c*c-b*b)/c,h=0;a=2*Math.PI/(700*a.network.vertexes.count);b>c&&(d+=Math.PI/2);for(var k=0;;k++){var l=Math.sin(d+k*a),h=h+(b>c?b:c)*Math.sqrt(1-g*g*l*l)*a;if(h>=e)return k*a}return 0}
| el.prototype.sort=function(a){switch(this.sorting){case hl:break;case il:a.reverse();break;case fl:a.sort(this.comparer);break;case gl:a.sort(this.comparer);a.reverse();break;case jl:for(var b=[],c=0;c<a.length;c++)b.push(0);for(var d=new A(Pn),c=0;c<a.length;c++){var e=-1,g=-1;if(0===c)for(var h=0;h<a.length;h++){var k=a.wa(h).uI;k>e&&(e=k,g=h)}else for(h=0;h<a.length;h++)k=b[h],k>e&&(e=k,g=h);d.add(a.wa(g));b[g]=-1;g=a.wa(g);e=g.oc;for(g=g.bc;e.next();)h=e.value,h=h.fromVertex,h=a.indexOf(h),0>
| h||0<=b[h]&&b[h]++;for(;g.next();)h=g.value,h=h.toVertex,h=a.indexOf(h),0>h||0<=b[h]&&b[h]++}a=[];for(b=0;b<d.length;b++){k=d.wa(b);a[b]=[];for(var c=k.bc,e=k.oc,l,m;c.next();)l=c.value,m=d.indexOf(l.toVertex),m!==b&&0>a[b].indexOf(m)&&a[b].push(m);for(;e.next();)l=e.value,m=d.indexOf(l.fromVertex),m!==b&&0>a[b].indexOf(m)&&a[b].push(m)}k=[];for(b=0;b<a.length;b++)k[b]=0;for(var c=[],n=[],p=[],e=[],g=new A(Pn),h=b=0;b<a.length;b++){var q=a[b].length;if(1===q)e.push(b);else if(0===q)g.add(d.wa(b));
| else{if(0===h)c.push(b);else{for(var r=Infinity,s=Infinity,u=-1,x=[],q=0;q<c.length;q++)0>a[c[q]].indexOf(c[q===c.length-1?0:q+1])&&x.push(q===c.length-1?0:q+1);if(0===x.length)for(q=0;q<c.length;q++)x.push(q);for(q=0;q<x.length;q++){var E=x[q],G;m=a[b];l=n;G=p;for(var C=k,I=E,O=c,N=0,V=0;V<l.length;V++){var W=C[l[V]],Y=C[G[V]],R=0,wa=0;W<Y?(R=W,wa=Y):(R=Y,wa=W);if(R<I&&I<=wa)for(W=0;W<m.length;W++)Y=m[W],0>O.indexOf(Y)||R<C[Y]&&C[Y]<wa||R===C[Y]||wa===C[Y]||N++;else for(W=0;W<m.length;W++)Y=m[W],
| 0>O.indexOf(Y)||R<C[Y]&&C[Y]<wa&&R!==C[Y]&&wa!==C[Y]&&N++}G=N;for(l=C=0;l<a[b].length;l++)m=c.indexOf(a[b][l]),0<=m&&(m=Math.abs(E-(m>=E?m+1:m)),C+=m<c.length+1-m?m:c.length+1-m);for(l=0;l<n.length;l++)m=k[n[l]],I=k[p[l]],m>=E&&m++,I>=E&&I++,m>I&&(O=I,I=m,m=O),I-m<(c.length+2)/2===(m<E&&E<=I)&&C++;if(G<r||G===r&&C<s)r=G,s=C,u=E}c.splice(u,0,b);for(q=0;q<c.length;q++)k[c[q]]=q;for(q=0;q<a[b].length;q++)r=a[b][q],0<=c.indexOf(r)&&(n.push(b),p.push(r))}h++}}n=!1;for(p=c.length;;){n=!0;for(k=0;k<e.length;k++)if(b=
| e[k],q=a[b][0],m=c.indexOf(q),0<=m){for(h=s=0;h<a[q].length;h++)r=a[q][h],r=c.indexOf(r),0>r||r===m||(u=r>m?r-m:m-r,s+=r<m!==u>p-u?1:-1);c.splice(0>s?m:m+1,0,b);e.splice(k,1);k--}else n=!1;if(n)break;else c.push(e[0]),e.splice(0,1)}for(b=0;b<c.length;b++)m=c[b],g.add(d.wa(m));return g;default:t.l("Invalid sorting type.")}return a};t.g(el,"radius",el.prototype.zF);t.defineProperty(el,{zF:"radius"},function(){return this.Vr},function(a){this.Vr!==a&&(0<a||isNaN(a))&&(this.Vr=a,this.J())});
| t.g(el,"aspectRatio",el.prototype.CD);t.defineProperty(el,{CD:"aspectRatio"},function(){return this.tq},function(a){this.tq!==a&&0<a&&(this.tq=a,this.J())});t.g(el,"startAngle",el.prototype.Cg);t.defineProperty(el,{Cg:"startAngle"},function(){return this.xe},function(a){this.xe!==a&&(this.xe=a,this.J())});t.g(el,"sweepAngle",el.prototype.Yh);t.defineProperty(el,{Yh:"sweepAngle"},function(){return this.ye},function(a){this.ye!==a&&(this.ye=0<a&&360>=a?a:360,this.J())});t.g(el,"arrangement",el.prototype.Re);
| t.defineProperty(el,{Re:"arrangement"},function(){return this.Zc},function(a){this.Zc!==a&&(f&&t.m(a,ca,el,"arrangement"),a===vl||a===ul||a===tl||a===sl)&&(this.Zc=a,this.J())});t.g(el,"direction",el.prototype.direction);t.defineProperty(el,{direction:"direction"},function(){return this.pa},function(a){this.pa!==a&&(f&&t.m(a,ca,el,"direction"),a===ml||a===nl||a===kl||a===ll)&&(this.pa=a,this.J())});t.g(el,"sorting",el.prototype.sorting);
| t.defineProperty(el,{sorting:"sorting"},function(){return this.zh},function(a){this.zh!==a&&(f&&t.m(a,ca,el,"sorting"),a===hl||a===il||a===fl||gl||a===jl)&&(this.zh=a,this.J())});t.g(el,"comparer",el.prototype.comparer);t.defineProperty(el,{comparer:"comparer"},function(){return this.fh},function(a){this.fh!==a&&(f&&t.j(a,"function",el,"comparer"),this.fh=a,this.J())});t.g(el,"spacing",el.prototype.spacing);
| t.defineProperty(el,{spacing:"spacing"},function(){return this.Ah},function(a){this.Ah!==a&&(this.Ah=a,this.J())});t.g(el,"nodeDiameterFormula",el.prototype.Bt);t.defineProperty(el,{Bt:"nodeDiameterFormula"},function(){return this.Mr},function(a){this.Mr!==a&&(f&&t.m(a,ca,el,"nodeDiameterFormula"),a===xl||a===wl)&&(this.Mr=a,this.J())});t.A(el,{rH:"actualXRadius"},function(){return this.vd});t.A(el,{sH:"actualYRadius"},function(){return this.kg});t.A(el,{QJ:"actualSpacing"},function(){return this.yk});
| t.A(el,{qH:"actualCenter"},function(){return isNaN(this.Bd.x)||isNaN(this.Bd.y)?new v(0,0):new v(this.Bd.x+this.rH,this.Bd.y+this.sH)});var ul;el.ConstantSpacing=ul=t.w(el,"ConstantSpacing",0);var tl;el.ConstantDistance=tl=t.w(el,"ConstantDistance",1);var sl;el.ConstantAngle=sl=t.w(el,"ConstantAngle",2);var vl;el.Packed=vl=t.w(el,"Packed",3);var ml;el.Clockwise=ml=t.w(el,"Clockwise",4);var nl;el.Counterclockwise=nl=t.w(el,"Counterclockwise",5);var kl;
| el.BidirectionalLeft=kl=t.w(el,"BidirectionalLeft",6);var ll;el.BidirectionalRight=ll=t.w(el,"BidirectionalRight",7);var hl;el.Forwards=hl=t.w(el,"Forwards",8);var il;el.Reverse=il=t.w(el,"Reverse",9);var fl;el.Ascending=fl=t.w(el,"Ascending",10);var gl;el.Descending=gl=t.w(el,"Descending",11);var jl;el.Optimized=jl=t.w(el,"Optimized",12);var xl;el.Pythagorean=xl=t.w(el,"Pythagorean",13);var wl;el.Circular=wl=t.w(el,"Circular",14);function On(){ta.call(this)}t.ga("CircularNetwork",On);t.Ka(On,ta);
| On.prototype.createVertex=function(){return new Pn};On.prototype.createEdge=function(){return new bo};function Pn(){ua.call(this);this.actualAngle=this.diameter=NaN}t.ga("CircularVertex",Pn);t.Ka(Pn,ua);
| function Qn(a,b){var c=a.network;if(null===c)return NaN;c=c.ec;if(null===c)return NaN;if(c.Re===vl)if(c.Bt===wl)a.diameter=Math.max(a.width,a.height);else{var c=Math.abs(Math.sin(b)),d=Math.abs(Math.cos(b));if(0===c)return a.width;if(0===d)return a.height;a.diameter=Math.min(a.height/c,a.width/d)}else a.diameter=c.Bt===wl?Math.max(a.width,a.height):Math.sqrt(a.width*a.width+a.height*a.height);return a.diameter}function bo(){va.call(this)}t.ga("CircularEdge",bo);t.Ka(bo,va);
| function co(){0<arguments.length&&t.l("ForceDirectedLayout constructor cannot take any arguments.");be.call(this);this.jg=null;this.lr=0;this.Xf=(new fa(100,100)).freeze();this.sq=!1;this.yh=!0;this.eh=!1;this.io=100;this.Pq=1;this.sh=1E3;this.An=0.05;this.zn=50;this.wn=150;this.yn=0;this.Jq=10;this.Iq=5}t.ga("ForceDirectedLayout",co);t.Ka(co,be);
| co.prototype.cloneProtected=function(a){be.prototype.cloneProtected.call(this,a);a.Xf.assign(this.Xf);a.sq=this.sq;a.yh=this.yh;a.eh=this.eh;a.io=this.io;a.Pq=this.Pq;a.sh=this.sh;a.An=this.An;a.zn=this.zn;a.wn=this.wn;a.yn=this.yn;a.Jq=this.Jq;a.Iq=this.Iq};co.prototype.createNetwork=function(){var a=new eo;Fn(a,this);return a};
| co.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");null===this.network&&(this.network=this.makeNetwork(a));a=this.Yw;if(0<this.network.vertexes.count){this.network.rw();for(var b=this.network.vertexes.k;b.next();){var c=b.value;c.charge=this.electricalCharge(c);c.mass=this.gravitationalMass(c)}for(b=this.network.edges.k;b.next();)c=b.value,c.stiffness=this.springStiffness(c),c.length=this.springLength(c);
| this.Yz();this.lr=0;if(this.needsClusterLayout()){for(var b=this.network,d=b.FJ().k;d.next();){var e=d.value;this.network=e;for(c=this.network.vertexes.k;c.next();){for(var e=c.value,g=0,h=e.vertexes;h.next();)g++;e.Pf=g;e.ek=1;e.Am=null;e.Zg=null}fo(this,0,a)}this.network=b;d.reset();f&&t.m(b,eo,co,"arrangeConnectedGraphs:singletons");for(var c=this.$v,k=d.count,l=!0,g=e=0,h=t.Cb(),m=0;m<k+b.vertexes.count+2;m++)h[m]=null;k=0;d.reset();for(m=t.yf();d.next();){var n=d.value;this.nf(n,m);if(l)l=!1,
| e=m.x+m.width/2,g=m.y+m.height/2,h[0]=new v(m.x+m.width+c.width,m.y),h[1]=new v(m.x,m.y+m.height+c.height),k=2;else{var p=ho(h,k,e,g,m.width,m.height,c),q=h[p],r=new v(q.x+m.width+c.width,q.y),s=new v(q.x,q.y+m.height+c.height);p+1<k&&h.splice(p+1,0,null);h[p]=r;h[p+1]=s;k++;p=q.x-m.x;q=q.y-m.y;for(n=n.vertexes.k;n.next();){var u=n.value;u.Ca+=p;u.Oa+=q}}}t.cc(m);for(n=b.vertexes.k;n.next();)u=n.value,l=u.T,2>k?(e=l.x+l.width/2,g=l.y+l.height/2,h[0]=new v(l.x+l.width+c.width,l.y),h[1]=new v(l.x,l.y+
| l.height+c.height),k=2):(p=ho(h,k,e,g,l.width,l.height,c),q=h[p],r=new v(q.x+l.width+c.width,q.y),s=new v(q.x,q.y+l.height+c.height),p+1<k&&h.splice(p+1,0,null),h[p]=r,h[p+1]=s,k++,u.Ca=q.x+u.width/2,u.Oa=q.y+u.height/2);t.za(h);for(d.reset();d.next();){e=d.value;for(g=e.vertexes.k;g.next();)c=g.value,b.Xk(c);for(e=e.edges.k;e.next();)c=e.value,b.Fo(c)}}io(this,a);this.updateParts()}this.io=a;this.network=null;this.$e=!0};
| co.prototype.needsClusterLayout=function(){if(3>this.network.vertexes.count)return!1;var a=0,b=0,c=this.network.vertexes.k;c.next();for(var d=c.value.T;c.next();){if(c.value.T.Mf(d)&&(a++,1<a))return!0;if(10<b)break;b++}return!1};co.prototype.nf=function(a,b){for(var c=!0,d=a.vertexes.k;d.next();){var e=d.value;c?(c=!1,b.set(e.T)):b.dj(e.T)}return b};
| function jo(a,b,c){f&&(t.p(b,co,"computeClusterLayoutIterations:level"),t.p(c,co,"computeClusterLayoutIterations:maxiter"));return Math.max(Math.min(a.network.vertexes.count,c*(b+1)/11),10)}
| function fo(a,b,c){f&&(t.p(b,co,"layoutClusters:level"),t.p(c,co,"layoutClusters:maxiter"));if(lo(a,b)){var d=a.sh;a.sh*=1+1/(b+1);var e=mo(a,b),g=Math.max(0,jo(a,b,c));a.Yw+=g;fo(a,b+1,c);io(a,g);no(a,e,b);c=a.jg;null===c?c=new A(oo):c.clear();c.Pe(e.vertexes);c.sort(function(a,b){return null===a||null===b||a===b?0:b.Pf-a.Pf});for(e=c.k;e.next();)po(a,e.value,b);a.sh=d}}
| function lo(a,b){f&&t.p(b,co,"hasClusters:level");if(10<b||3>a.network.vertexes.count)return!1;null===a.jg?a.jg=new A(oo):a.jg.clear();a.jg.Pe(a.network.vertexes);var c=a.jg;c.sort(function(a,b){return null===a||null===b||a===b?0:b.Pf-a.Pf});for(var d=c.count-1;0<=d&&1>=c.n[d].Pf;)d--;return 1<c.count-d}
| function mo(a,b){f&&t.p(b,co,"pushSubNetwork:level");for(var c=a.network,d=new eo,e=a.jg.k;e.next();){var g=e.value;if(1<g.Pf){d.Xk(g);var h={IB:g.Pf,KB:g.width,HB:g.height,OG:g.O.x,PG:g.O.y};null===g.Zg&&(g.Zg=new A);g.Zg.add(h);g.gB=g.Zg.count-1}else break}for(var k=c.edges.k;k.next();){var l=k.value;if(l.fromVertex.network===d&&l.toVertex.network===d)d.Fo(l);else if(l.fromVertex.network===d){var m=l.fromVertex.Am;null===m&&(m=new A(oo),l.fromVertex.Am=m);m.add(l.toVertex);l.fromVertex.Pf--;l.fromVertex.ek+=
| l.toVertex.ek}else l.toVertex.network===d&&(m=l.toVertex.Am,null===m&&(m=new A(oo),l.toVertex.Am=m),m.add(l.fromVertex),l.toVertex.Pf--,l.toVertex.ek+=l.fromVertex.ek)}for(k=d.edges.k;k.next();)l=k.value,l.length*=Math.max(1,F.sqrt((l.fromVertex.ek+l.toVertex.ek)/(4*b+1)));for(e=d.vertexes.k;e.next();)if(g=e.value,m=g.Am,null!==m&&0<m.count&&(h=g.Zg.n[g.Zg.count-1],h=h.IB-g.Pf,!(0>=h))){for(var n=0,p=0,q=m.count-h;q<m.count;q++){for(var r=m.n[q],l=null,k=r.edges.k;k.next();){var s=k.value;if(s.yI(r)===
| g){l=s;break}}null!==l&&(p+=l.length,n+=r.width*r.height)}m=g.Ca;k=g.Oa;l=g.width;q=g.height;r=g.O;s=l*q;1>s&&(s=1);n=F.sqrt((n+s+p*p*4/(h*h))/s);h=(n-1)*l/2;n=(n-1)*q/2;g.Ib=new w(m-r.x-h,k-r.y-n,l+2*h,q+2*n);g.focus=new v(r.x+h,r.y+n)}a.network=d;return c}
| function no(a,b,c){f&&(t.m(b,eo,co,"popNetwork:oldnet"),t.p(c,co,"popNetwork:level"));for(c=a.network.vertexes.k;c.next();){var d=c.value;d.network=b;if(null!==d.Zg){var e=d.Zg.n[d.gB];d.Pf=e.IB;var g=e.OG,h=e.PG;d.Ib=new w(d.Ca-g,d.Oa-h,e.KB,e.HB);d.focus=new v(g,h);d.gB--}}for(c=a.network.edges.k;c.next();)c.value.network=b;a.network=b}
| function po(a,b,c){f&&(t.m(b,oo,co,"surroundNode:oldnet"),t.p(c,co,"surroundNode:level"));var d=b.Am;if(null!==d&&0!==d.count){c=b.Ca;var e=b.Oa,g=b.width,h=b.height;null!==b.Zg&&0<b.Zg.count&&(h=b.Zg.n[0],g=h.KB,h=h.HB);for(var g=F.sqrt(g*g+h*h)/2,k=!1,l=h=0,m=0,n=b.vertexes.k;n.next();){var p=n.value;1>=p.Pf?l++:(k=!0,m++,h+=Math.atan2(b.Oa-p.Oa,b.Ca-p.Ca))}if(0!==l)for(0<m&&(h/=m),m=b=0,b=k?2*Math.PI/(l+1):2*Math.PI/l,0===l%2&&(m=b/2),1<d.count&&d.sort(function(a,b){return null===a||null===b||
| a===b?0:b.width*b.height-a.width*a.height}),k=0===l%2?0:1,n=d.k;n.next();)if(p=n.value,!(1<p.Pf||a.isFixed(p))){d=null;for(l=p.edges.k;l.next();){d=l.value;break}var l=p.width,q=p.height,l=F.sqrt(l*l+q*q)/2,d=g+d.length+l,l=h+(b*(k/2>>1)+m)*(0===k%2?1:-1);p.Ca=c+d*Math.cos(l);p.Oa=e+d*Math.sin(l);k++}}}
| function ho(a,b,c,d,e,g,h){var k=9E19,l=-1,m=0;a:for(;m<b;m++){var n=a[m],p=n.x-c,q=n.y-d,p=p*p+q*q;if(p<k){for(q=m-1;0<=q;q--)if(a[q].y>n.y&&a[q].x-n.x<e+h.width)continue a;for(q=m+1;q<b;q++)if(a[q].x>n.x&&a[q].y-n.y<g+h.height)continue a;l=m;k=p}}return l}co.prototype.Yz=function(){if(this.comments)for(var a=this.network.vertexes.k;a.next();)this.addComments(a.value)};
| co.prototype.addComments=function(a){var b=a.Dc;if(null!==b)for(b=b.oE();b.next();){var c=b.value;if("Comment"===c.Uc&&c.bb()){var d=this.network.Km(c);null===d&&(d=this.network.Go(c));d.charge=this.ZD;for(var c=null,e=d.bc;e.next();)if(e.value.toVertex===a){c=e.value;break}if(null===c)for(e=d.oc;e.next();)if(e.value.fromVertex===a){c=e.value;break}null===c&&(c=this.network.Sm(a,d,null));c.length=this.$D}}};
| function qo(a,b){f&&(t.m(a,oo,co,"getNodeDistance:vertexA"),t.m(b,oo,co,"getNodeDistance:vertexB"));var c=a.T,d=c.x,e=c.y,g=c.width,c=c.height,h=b.T,k=h.x,l=h.y,m=h.width,h=h.height;return d+g<k?e>l+h?(d=d+g-k,e=e-l-h,F.sqrt(d*d+e*e)):e+c<l?(d=d+g-k,e=e+c-l,F.sqrt(d*d+e*e)):k-(d+g):d>k+m?e>l+h?(d=d-k-m,e=e-l-h,F.sqrt(d*d+e*e)):e+c<l?(d=d-k-m,e=e+c-l,F.sqrt(d*d+e*e)):d-(k+m):e>l+h?e-(l+h):e+c<l?l-(e+c):0.1}
| function io(a,b){f&&t.p(b,co,"performIterations:num");a.jg=null;for(var c=a.lr+b;a.lr<c&&(a.lr++,ro(a)););a.jg=null}
| function ro(a){null===a.jg&&(a.jg=new A(oo),a.jg.Pe(a.network.vertexes));var b=a.jg.n;if(0>=b.length)return!1;var c=b[0];c.forceX=0;c.forceY=0;for(var d=c.Ca,e=d,g=c.Oa,h=g,c=1;c<b.length;c++){var k=b[c];k.forceX=0;k.forceY=0;var l=k.Ca,k=k.Oa,d=Math.min(d,l),e=Math.max(e,l),g=Math.min(g,k),h=Math.max(h,k)}(g=e-d>h-g)?b.sort(function(a,b){return null===a||null===b||a===b?0:a.Ca-b.Ca}):b.sort(function(a,b){return null===a||null===b||a===b?0:a.Oa-b.Oa});for(var h=a.sh,m=0,n=0,p=0,c=0;c<b.length;c++){var k=
| b[c],l=k.T,q=k.O,d=l.x+q.x,l=l.y+q.y,n=k.charge*a.electricalFieldX(d,l),p=k.charge*a.electricalFieldY(d,l),n=n+k.mass*a.gravitationalFieldX(d,l),p=p+k.mass*a.gravitationalFieldY(d,l);k.forceX+=n;k.forceY+=p;for(q=c+1;q<b.length;q++)if(e=b[q],e!==k){var n=e.T,r=e.O,p=n.x+r.x,r=n.y+r.y;if(d-p>h||p-d>h){if(g)break}else if(l-r>h||r-l>h){if(!g)break}else{var s=qo(k,e);1>s?(d>p?(n=Math.abs(e.T.right-k.T.x),n=(1+n)*Math.random()):d<p?(n=Math.abs(e.T.x-k.T.right),n=-(1+n)*Math.random()):(n=Math.max(e.width,
| k.width),n=(1+n)*Math.random()-n/2),l>r?(p=Math.abs(e.T.bottom-k.T.y),p=(1+p)*Math.random()):d<p?(p=Math.abs(e.T.y-k.T.bottom),p=-(1+p)*Math.random()):(p=Math.max(e.height,k.height),p=(1+p)*Math.random()-p/2)):(m=-(k.charge*e.charge)/(s*s),n=(p-d)/s*m,p=(r-l)/s*m);k.forceX+=n;k.forceY+=p;e.forceX-=n;e.forceY-=p}}}for(c=a.network.edges.k;c.next();)g=c.value,k=g.fromVertex,e=g.toVertex,l=k.T,q=k.O,d=l.x+q.x,l=l.y+q.y,n=e.T,r=e.O,p=n.x+r.x,r=n.y+r.y,s=qo(k,e),1>s?(n=(d>p?1:-1)*(1+(e.width>k.width)?e.width:
| k.width)*Math.random(),p=(l>r?1:-1)*(1+(e.height>k.height)?e.height:k.height)*Math.random()):(m=g.stiffness*(s-g.length),n=(p-d)/s*m,p=(r-l)/s*m),k.forceX+=n,k.forceY+=p,e.forceX-=n,e.forceY-=p;c=0;d=Math.max(a.sh/20,50);for(e=0;e<b.length;e++)k=b[e],a.isFixed(k)?a.moveFixedVertex(k):(g=k.forceX,h=k.forceY,g<-d?g=-d:g>d&&(g=d),h<-d?h=-d:h>d&&(h=d),k.Ca+=g,k.Oa+=h,c=Math.max(c,g*g+h*h));return c>a.mA*a.mA}co.prototype.moveFixedVertex=function(){};
| co.prototype.commitLayout=function(){this.nB();this.commitNodes();this.rt&&this.commitLinks()};co.prototype.nB=function(){if(this.ul)for(var a=this.network.edges.k;a.next();){var b=a.value.link;null!==b&&(b.nb=xb,b.qb=xb)}};co.prototype.commitNodes=function(){var a=0,b=0;if(this.AD){var c=t.yf();this.nf(this.network,c);b=this.Bd;a=b.x-c.x;b=b.y-c.y;t.cc(c)}for(var c=t.yf(),d=this.network.vertexes.k;d.next();){var e=d.value;if(0!==a||0!==b)c.assign(e.T),c.x+=a,c.y+=b,e.Ib=c;e.commit()}t.cc(c)};
| co.prototype.commitLinks=function(){for(var a=this.network.edges.k;a.next();)a.value.commit()};co.prototype.springStiffness=function(a){a=a.stiffness;return isNaN(a)?this.An:a};co.prototype.springLength=function(a){a=a.length;return isNaN(a)?this.zn:a};co.prototype.electricalCharge=function(a){a=a.charge;return isNaN(a)?this.wn:a};co.prototype.electricalFieldX=function(){return 0};co.prototype.electricalFieldY=function(){return 0};
| co.prototype.gravitationalMass=function(a){a=a.mass;return isNaN(a)?this.yn:a};co.prototype.gravitationalFieldX=function(){return 0};co.prototype.gravitationalFieldY=function(){return 0};co.prototype.isFixed=function(a){return a.isFixed};t.A(co,{SJ:"currentIteration"},function(){return this.lr});t.g(co,"arrangementSpacing",co.prototype.$v);t.defineProperty(co,{$v:"arrangementSpacing"},function(){return this.Xf},function(a){this.Xf.M(a)||(this.Xf.assign(a),this.J())});t.g(co,"arrangesToOrigin",co.prototype.AD);
| t.defineProperty(co,{AD:"arrangesToOrigin"},function(){return this.sq},function(a){this.sq!==a&&(this.sq=a,this.J())});t.g(co,"setsPortSpots",co.prototype.ul);t.defineProperty(co,{ul:"setsPortSpots"},function(){return this.yh},function(a){this.yh!==a&&(this.yh=a,this.J())});t.g(co,"comments",co.prototype.comments);t.defineProperty(co,{comments:"comments"},function(){return this.eh},function(a){this.eh!==a&&(this.eh=a,this.J())});t.g(co,"maxIterations",co.prototype.Yw);
| t.defineProperty(co,{Yw:"maxIterations"},function(){return this.io},function(a){this.io!==a&&0<=a&&(this.io=a,this.J())});t.g(co,"epsilonDistance",co.prototype.mA);t.defineProperty(co,{mA:"epsilonDistance"},function(){return this.Pq},function(a){this.Pq!==a&&0<a&&(this.Pq=a,this.J())});t.g(co,"infinityDistance",co.prototype.GI);t.defineProperty(co,{GI:"infinityDistance"},function(){return this.sh},function(a){this.sh!==a&&1<a&&(this.sh=a,this.J())});t.g(co,"defaultSpringStiffness",co.prototype.nI);
| t.defineProperty(co,{nI:"defaultSpringStiffness"},function(){return this.An},function(a){this.An!==a&&(this.An=a,this.J())});t.g(co,"defaultSpringLength",co.prototype.mI);t.defineProperty(co,{mI:"defaultSpringLength"},function(){return this.zn},function(a){this.zn!==a&&(this.zn=a,this.J())});t.g(co,"defaultElectricalCharge",co.prototype.gI);t.defineProperty(co,{gI:"defaultElectricalCharge"},function(){return this.wn},function(a){this.wn!==a&&(this.wn=a,this.J())});
| t.g(co,"defaultGravitationalMass",co.prototype.hI);t.defineProperty(co,{hI:"defaultGravitationalMass"},function(){return this.yn},function(a){this.yn!==a&&(this.yn=a,this.J())});t.g(co,"defaultCommentSpringLength",co.prototype.$D);t.defineProperty(co,{$D:"defaultCommentSpringLength"},function(){return this.Jq},function(a){this.Jq!==a&&(this.Jq=a,this.J())});t.g(co,"defaultCommentElectricalCharge",co.prototype.ZD);
| t.defineProperty(co,{ZD:"defaultCommentElectricalCharge"},function(){return this.Iq},function(a){this.Iq!==a&&(this.Iq=a,this.J())});function eo(){ta.call(this)}t.ga("ForceDirectedNetwork",eo);t.Ka(eo,ta);eo.prototype.createVertex=function(){return new oo};eo.prototype.createEdge=function(){return new so};function oo(){ua.call(this);this.isFixed=!1;this.mass=this.charge=NaN;this.ek=this.Pf=this.forceY=this.forceX=0;this.Zg=this.Am=null;this.gB=0}t.ga("ForceDirectedVertex",oo);t.Ka(oo,ua);
| function so(){va.call(this);this.length=this.stiffness=NaN}t.ga("ForceDirectedEdge",so);t.Ka(so,va);
| function Wk(){0<arguments.length&&t.l("LayeredDigraphLayout constructor cannot take any arguments.");be.call(this);this.ud=this.Vl=25;this.pa=0;this.vn=to;this.eo=uo;this.Tn=vo;this.Sl=4;this.ln=wo;this.wi=xo;this.yh=!0;this.tj=4;this.Db=this.Zu=this.ib=-1;this.Cf=this.Dr=0;this.Hb=this.Bf=this.dg=this.Jg=this.Kd=null;this.Jr=0;this.hv=this.Zl=null;this.gg=0;this.Kr=null;this.Mg=[];this.Mg.length=100}t.ga("LayeredDigraphLayout",Wk);t.Ka(Wk,be);
| Wk.prototype.cloneProtected=function(a){be.prototype.cloneProtected.call(this,a);a.Vl=this.Vl;a.ud=this.ud;a.pa=this.pa;a.vn=this.vn;a.eo=this.eo;a.Tn=this.Tn;a.Sl=this.Sl;a.ln=this.ln;a.wi=this.wi;a.yh=this.yh;a.tj=this.tj};Wk.prototype.createNetwork=function(){var a=new yo;Fn(a,this);return a};
| Wk.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");null===this.network&&(this.network=this.makeNetwork(a));this.Bd=this.initialOrigin(this.Bd);this.Zu=-1;this.Cf=this.Dr=0;this.Kr=this.hv=this.Zl=null;for(a=0;a<this.Mg.length;a++)this.Mg[a]=null;if(0<this.network.vertexes.count){this.network.rw();for(a=this.network.edges.k;a.next();)a.value.rev=!1;switch(this.vn){default:case zo:var b=0,c=this.network.vertexes.count-
| 1;a=[];a.length=c+1;for(var d=this.network.vertexes.k;d.next();)d.value.valid=!0;for(;null!==Ao(this.network);){for(d=Bo(this.network);null!==d;)a[c]=d,c--,d.valid=!1,d=Bo(this.network);for(d=Ko(this.network);null!==d;)a[b]=d,b++,d.valid=!1,d=Ko(this.network);for(var d=null,e=0,g=this.network.vertexes.k;g.next();){var h=g.value;if(h.valid){for(var k=0,l=h.bc;l.next();)l.value.toVertex.valid&&k++;for(var l=0,m=h.oc;m.next();)m.value.fromVertex.valid&&l++;if(null===d||e<k-l)d=h,e=k-l}}null!==d&&(a[b]=
| d,b++,d.valid=!1)}for(b=0;b<this.network.vertexes.count;b++)a[b].index=b;for(a=this.network.edges.k;a.next();)b=a.value,b.fromVertex.index>b.toVertex.index&&(this.network.jx(b),b.rev=!0);break;case to:for(b=this.network.vertexes.k;b.next();)b.value.Vo=-1,b.value.finish=-1;for(a=this.network.edges.k;a.next();)a.value.forest=!1;this.Jr=0;for(b.reset();b.next();)0===b.value.oc.count&&Qo(this,b.value);for(b.reset();b.next();)-1===b.value.Vo&&Qo(this,b.value);for(a.reset();a.next();)b=a.value,b.forest||
| (c=b.fromVertex,d=c.finish,e=b.toVertex,g=e.finish,e.Vo<c.Vo&&d<g&&(this.network.jx(b),b.rev=!0))}for(a=this.network.vertexes.k;a.next();)b=a.value,b.layer=-1;this.ib=-1;this.assignLayers();for(a.reset();a.next();)this.ib=Math.max(this.ib,a.value.layer);c=this.network.edges.k;for(b=[];c.next();)a=c.value,a.valid=!1,b.push(a);for(c=0;c<b.length;c++)if(a=b[c],!a.valid&&(null!==a.fromVertex.pd&&null!==a.toVertex.pd||a.fromVertex.layer!==a.toVertex.layer)){g=k=h=l=0;e=a.fromVertex;d=a.toVertex;if(null!==
| a.link){k=a.link;if(null===k)continue;var n=e.pd,g=d.pd;if(null===n||null===g)continue;var p=k.aa,h=k.ea,q=k.rd,l=k.be;a.rev&&(k=p,m=q,p=h,q=l,h=k,l=m);var r=e.O,k=a.toVertex.O,s=a.rev?d.T:e.T,m=t.K();isNaN(s.x)?m.assign(r):tm(p,q,Hb,m);n!==p&&!isNaN(s.x)&&p.bb()&&(n=e.T,isNaN(n.x)||(m.x+=s.x-n.x,m.y+=s.y-n.y));p=a.rev?e.T:d.T;n=t.K();isNaN(p.x)?n.assign(k):tm(h,l,Hb,n);g!==h&&!isNaN(p.x)&&h.bb()&&(g=d.T,isNaN(g.x)||(n.x+=p.x-g.x,n.y+=p.y-g.y));90===this.pa||270===this.pa?(g=Math.round((m.x-r.x)/
| this.ud),h=m.x,k=Math.round((n.x-k.x)/this.ud),l=n.x):(g=Math.round((m.y-r.y)/this.ud),h=m.y,k=Math.round((n.y-k.y)/this.ud),l=n.y);t.B(m);t.B(n);a.portFromColOffset=g;a.portFromPos=h;a.portToColOffset=k;a.portToPos=l}else a.portFromColOffset=0,a.portFromPos=0,a.portToColOffset=0,a.portToPos=0;m=e.layer;r=d.layer;n=a;p=0;s=n.link;if(null!==s){var u=s.rd,x=s.be;if(null!==u&&null!==x){var E=s.aa,q=s.ea;if(null!==E&&null!==q){var G=u.nb,C=x.qb;this.ul||(s.nb.Lc()||(G=s.nb),s.qb.Lc()||(C=s.qb));if(G.Lc()||
| G===wb)G=Ro(this,!0);if(C.Lc()||C===wb)C=Ro(this,!1);var I=s.dc,O=s.getLinkPoint(E,u,G,!0,I,q,x,t.K()),G=s.getLinkDirection(E,u,O,G,!0,I,q,x);t.B(O);G===So(this,n,!0)?p+=1:this.ul&&null!==E&&1===E.ports.count&&n.rev&&(p+=1);O=s.getLinkPoint(q,x,C,!1,I,E,u,t.K());s=s.getLinkDirection(q,x,O,C,!1,I,E,u);t.B(O);s===So(this,n,!1)?p+=2:this.ul&&null!==q&&1===q.ports.count&&n.rev&&(p+=2)}}}n=1===p||3===p?!0:!1;if(p=2===p||3===p?!0:!1)q=this.network.createVertex(),q.pd=null,q.vm=1,q.layer=m,q.near=e,this.network.Xk(q),
| e=this.network.Sm(e,q,a.link),e.valid=!1,e.rev=a.rev,e.portFromColOffset=g,e.portToColOffset=0,e.portFromPos=h,e.portToPos=0,e=q;s=1;n&&s--;if(m-r>s&&0<m){a.valid=!1;q=this.network.createVertex();q.pd=null;q.vm=2;q.layer=m-1;this.network.Xk(q);e=this.network.Sm(e,q,a.link);e.valid=!0;e.rev=a.rev;e.portFromColOffset=p?0:g;e.portToColOffset=0;e.portFromPos=p?0:h;e.portToPos=0;e=q;for(m--;m-r>s&&0<m;)q=this.network.createVertex(),q.pd=null,q.vm=3,q.layer=m-1,this.network.Xk(q),e=this.network.Sm(e,q,
| a.link),e.valid=!0,e.rev=a.rev,e.portFromColOffset=0,e.portToColOffset=0,e.portFromPos=0,e.portToPos=0,e=q,m--;e=this.network.Sm(q,d,a.link);e.valid=!n;n&&(q.near=d);e.rev=a.rev;e.portFromColOffset=0;e.portToColOffset=k;e.portFromPos=0;e.portToPos=l}else a.valid=!0}b=this.Kd=[];for(c=0;c<=this.ib;c++)b[c]=0;for(a=this.network.vertexes.k;a.next();)a.value.index=-1;this.initializeIndices();this.Zu=-1;for(c=this.Cf=this.Dr=0;c<=this.ib;c++)b[c]>b[this.Cf]&&(this.Zu=b[c]-1,this.Cf=c),b[c]<b[this.Dr]&&
| (this.Dr=c);this.Kr=[];for(c=0;c<b.length;c++)this.Kr[c]=[];for(a.reset();a.next();)c=a.value,b=c.layer,this.Kr[b][c.index]=c;this.Db=-1;for(a=0;a<=this.ib;a++){b=To(this,a);c=0;d=this.Kd[a];for(e=0;e<d;e++)g=b[e],c+=this.nodeMinColumnSpace(g,!0),g.column=c,c+=1,c+=this.nodeMinColumnSpace(g,!1);this.Db=Math.max(this.Db,c-1);Uo(this,a,b)}this.reduceCrossings();this.straightenAndPack();this.updateParts()}this.network=null;this.$e=!0};
| function Vo(a){var b=a.toVertex,c=0;for(a=a.fromVertex.bc;a.next();)a.value.toVertex===b&&c++;return 1<c?2:1}function Wo(a){var b=a.fromVertex.pd;a=a.toVertex.pd;return null===b&&null===a?8:null===b||null===a?4:1}Wk.prototype.nodeMinLayerSpace=function(a,b){return null===a.pd?0:90===this.pa||270===this.pa?b?a.O.y+10:a.T.height-a.O.y+10:b?a.O.x+10:a.T.width-a.O.x+10};
| Wk.prototype.nodeMinColumnSpace=function(a,b){if(null===a.pd)return 0;var c=b?a.RA:a.QA;if(void 0!==c)return c;c=this.pa;return 90===c||270===c?b?a.RA=a.O.x/this.ud+1|0:a.QA=(a.T.width-a.O.x)/this.ud+1|0:b?a.RA=a.O.y/this.ud+1|0:a.QA=(a.T.height-a.O.y)/this.ud+1|0};function Xo(a){null===a.Zl&&(a.Zl=[]);for(var b=0,c=a.network.vertexes.k,d;c.next();)d=c.value,a.Zl[b]=d.layer,b++,a.Zl[b]=d.column,b++,a.Zl[b]=d.index,b++;return a.Zl}
| function Yo(a,b){for(var c=0,d=a.network.vertexes.k,e;d.next();)e=d.value,e.layer=b[c],c++,e.column=b[c],c++,e.index=b[c],c++}
| function Zo(a,b,c){f&&(t.p(b,Wk,"crossingMatrix:unfixedLayer"),t.p(c,Wk,"crossingMatrix:direction"));var d=To(a,b),e=a.Kd[b];a.hv||(a.hv=[]);for(var g=a.hv,h,k=0;k<e;k++){h=0;var l=d[k],m=l.near,n,p;if(null!==m&&m.layer===l.layer)if(l=m.index,l>k)for(p=k+1;p<l;p++)n=d[p],n.near===m&&n.vm===m.vm||h++;else for(p=k-1;p>l;p--)n=d[p],n.near===m&&n.vm===m.vm||h++;var q,r,s,u,x,E;if(0<=c)for(l=d[k].ef,m=0;m<l.count;m++)if(q=l.n[m],q.valid&&q.fromVertex.layer!==b)for(n=q.fromVertex.index,p=q.portToPos,q=
| q.portFromPos,r=m+1;r<l.count;r++)s=l.n[r],s.valid&&s.fromVertex.layer!==b&&(u=s.fromVertex.index,x=s.portToPos,s=s.portFromPos,p<x&&(n>u||n===u&&q>s)&&h++,x<p&&(u>n||u===n&&s>q)&&h++);if(0>=c)for(l=d[k].Ue,m=0;m<l.count;m++)if(q=l.n[m],q.valid&&q.toVertex.layer!==b)for(n=q.toVertex.index,p=q.portToPos,q=q.portFromPos,r=m+1;r<l.count;r++)s=l.n[r],s.valid&&s.toVertex.layer!==b&&(u=s.toVertex.index,x=s.portToPos,s=s.portFromPos,q<s&&(n>u||n===u&&p>x)&&h++,s<q&&(u>n||u===n&&x>p)&&h++);g[k*e+k]=h;for(l=
| k+1;l<e;l++){var G=0,C=0;if(0<=c)for(h=d[k].ef,E=d[l].ef,m=0;m<h.count;m++)if(q=h.n[m],q.valid&&q.fromVertex.layer!==b)for(n=q.fromVertex.index,q=q.portFromPos,r=0;r<E.count;r++)s=E.n[r],s.valid&&s.fromVertex.layer!==b&&(u=s.fromVertex.index,s=s.portFromPos,(n<u||n===u&&q<s)&&C++,(u<n||u===n&&s<q)&&G++);if(0>=c)for(h=d[k].Ue,E=d[l].Ue,m=0;m<h.count;m++)if(q=h.n[m],q.valid&&q.toVertex.layer!==b)for(n=q.toVertex.index,p=q.portToPos,r=0;r<E.count;r++)s=E.n[r],s.valid&&s.toVertex.layer!==b&&(u=s.toVertex.index,
| x=s.portToPos,(n<u||n===u&&p<x)&&C++,(u<n||u===n&&x<p)&&G++);g[k*e+l]=G;g[l*e+k]=C}}Uo(a,b,d);return g}Wk.prototype.countCrossings=function(){var a,b=0,c,d;for(a=0;a<=this.ib;a++){c=Zo(this,a,1);d=this.Kd[a];for(var e=0;e<d;e++)for(var g=e;g<d;g++)b+=c[e*d+g]}return b};
| function $o(a){for(var b=0,c=0;c<=a.ib;c++){for(var d=a,e=c,g=To(d,e),h=d.Kd[e],k=0,l=void 0,l=0;l<h;l++){var m=g[l].Ue,n,p,q;if("undefined"!==typeof m)for(var r=0;r<m.count;r++)n=m.n[r],n.valid&&n.toVertex.layer!==e&&(p=n.fromVertex.column+n.portFromColOffset,q=n.toVertex.column+n.portToColOffset,k+=(Math.abs(p-q)+1)*Wo(n))}Uo(d,e,g);b+=k}return b}
| Wk.prototype.normalize=function(){var a=Infinity;this.Db=-1;for(var b=this.network.vertexes.k,c;b.next();)c=b.value,a=Math.min(a,c.column-this.nodeMinColumnSpace(c,!0)),this.Db=Math.max(this.Db,c.column+this.nodeMinColumnSpace(c,!1));for(b.reset();b.next();)b.value.column-=a;this.Db-=a};
| function ap(a,b,c){f&&(t.p(b,Wk,"barycenters:unfixedLayer"),t.p(c,Wk,"barycenters:direction"));var d=To(a,b),e=a.Kd[b],g=[],h;for(h=0;h<e;h++){var k=d[h],l=null;0>=c&&(l=k.ef);var m=null;0<=c&&(m=k.Ue);var n=0,p=0,q=k.near;null!==q&&q.layer===k.layer&&(n+=q.column-1,p++);if(null!==l)for(q=0;q<l.count;q++){var k=l.n[q],r=k.fromVertex;k.valid&&!k.rev&&r.layer!==b&&(n+=r.column+k.portFromColOffset,p++)}if(null!==m)for(l=0;l<m.count;l++)k=m.n[l],q=k.toVertex,k.valid&&!k.rev&&q.layer!==b&&(n+=q.column+
| k.portToColOffset,p++);g[h]=0===p?-1:n/p}Uo(a,b,d);return g}
| function bp(a,b,c){f&&(t.p(b,Wk,"medians:unfixedLayer"),t.p(c,Wk,"medians:direction"));for(var d=To(a,b),e=a.Kd[b],g=[],h=0;h<e;h++){var k=d[h],l=null;0>=c&&(l=k.ef);var m=null;0<=c&&(m=k.Ue);var n=0,p=[],q=k.near;null!==q&&q.layer===k.layer&&(p[n]=q.column-1,n++);if(null!==l)for(q=0;q<l.count;q++){var k=l.n[q],r=k.fromVertex;k.valid&&!k.rev&&r.layer!==b&&(p[n]=r.column+k.portFromColOffset,n++)}if(null!==m)for(l=0;l<m.count;l++)k=m.n[l],q=k.toVertex,k.valid&&!k.rev&&q.layer!==b&&(p[n]=q.column+k.portToColOffset,
| n++);0===n?g[h]=-1:(p.sort(function(a,b){return a-b}),m=n>>1,g[h]=n&1?p[m]:p[m-1]+p[m]>>1)}Uo(a,b,d);return g}function cp(a,b,c,d,e,g){if(b.component===d){b.component=c;var h,k;if(e)for(var l=b.bc;l.next();){var m=l.value.toVertex;h=b.layer-m.layer;k=Vo(l.value);h===k&&cp(a,m,c,d,e,g)}if(g)for(l=b.oc;l.next();)m=l.value.fromVertex,h=m.layer-b.layer,k=Vo(l.value),h===k&&cp(a,m,c,d,e,g)}}
| function dp(a,b,c,d,e,g){if(b.component===d){b.component=c;if(e)for(var h=b.bc,k;h.next();)k=h.value.toVertex,dp(a,k,c,d,e,g);if(g)for(b=b.oc;b.next();)h=b.value.fromVertex,dp(a,h,c,d,e,g)}}function Ao(a){for(a=a.vertexes.k;a.next();){var b=a.value;if(b.valid)return b}return null}function Bo(a){for(a=a.vertexes.k;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.bc;d.next();)if(d.value.toVertex.valid){c=!1;break}if(c)return b}}return null}
| function Ko(a){for(a=a.vertexes.k;a.next();){var b=a.value;if(b.valid){for(var c=!0,d=b.oc;d.next();)if(d.value.fromVertex.valid){c=!1;break}if(c)return b}}return null}function Qo(a,b){b.Vo=a.Jr;a.Jr++;for(var c=b.bc;c.next();){var d=c.value,e=d.toVertex;-1===e.Vo&&(d.forest=!0,Qo(a,e))}b.finish=a.Jr;a.Jr++}
| Wk.prototype.assignLayers=function(){switch(this.eo){case ep:fp(this);break;case gp:for(var a,b=this.network.vertexes.k;b.next();)a=hp(this,b.value),this.ib=Math.max(a,this.ib);for(b.reset();b.next();)a=b.value,a.layer=this.ib-a.layer;break;default:case uo:fp(this);for(b=this.network.vertexes.k;b.next();)b.value.valid=!1;for(b.reset();b.next();)0===b.value.oc.count&&ip(this,b.value);a=Infinity;for(b.reset();b.next();)a=Math.min(a,b.value.layer);this.ib=-1;for(b.reset();b.next();)b.value.layer-=a,
| this.ib=Math.max(this.ib,b.value.layer)}};function fp(a){for(var b=a.network.vertexes.k;b.next();){var c=jp(a,b.value);a.ib=Math.max(c,a.ib)}}function jp(a,b){var c=0;if(-1===b.layer){for(var d=b.bc;d.next();)var e=d.value,g=Vo(e),c=Math.max(c,jp(a,e.toVertex)+g);b.layer=c}else c=b.layer;return c}function hp(a,b){var c=0;if(-1===b.layer){for(var d,e,g=b.oc;g.next();)e=g.value,d=Vo(e),c=Math.max(c,hp(a,e.fromVertex)+d);b.layer=c}else c=b.layer;return c}
| function ip(a,b){if(!b.valid){b.valid=!0;for(var c=b.bc;c.next();)ip(a,c.value.toVertex);for(c=a.network.vertexes.k;c.next();)c.value.component=-1;for(var d=b.ef.n,e=d.length,g=0;g<e;g++){var h=d[g],k=Vo(h);h.fromVertex.layer-h.toVertex.layer>k&&cp(a,h.fromVertex,0,-1,!0,!1)}for(cp(a,b,1,-1,!0,!0);0!==b.component;){for(var k=0,d=Infinity,l=0,m=null,n=a.network.vertexes.k;n.next();){var p=n.value;if(1===p.component){for(var q=0,r=!1,s=p.ef.n,e=s.length,g=0;g<e;g++){var h=s[g],u=h.fromVertex,q=q+1;
| 1!==u.component&&(k+=1,u=u.layer-p.layer,h=Vo(h),d=Math.min(d,u-h))}h=p.Ue.n;e=h.length;for(g=0;g<e;g++)s=h[g].toVertex,q-=1,1!==s.component?k-=1:r=!0;(null===m||q<l)&&!r&&(m=p,l=q)}}if(0<k){for(c.reset();c.next();)e=c.value,1===e.component&&(e.layer+=d);b.component=0}else m.component=0}for(c=a.network.vertexes.k;c.next();)c.value.component=-1;for(cp(a,b,1,-1,!0,!1);0!==b.component;){g=0;e=Infinity;d=0;k=null;for(l=a.network.vertexes.k;l.next();)if(m=l.value,1===m.component){n=0;p=!1;h=m.ef.n;q=h.length;
| for(r=0;r<q;r++)s=h[r].fromVertex,n+=1,1!==s.component?g+=1:p=!0;h=m.Ue.n;q=h.length;for(r=0;r<q;r++)s=h[r],u=s.toVertex,n-=1,1!==u.component&&(g-=1,u=m.layer-u.layer,s=Vo(s),e=Math.min(e,u-s));(null===k||n>d)&&!p&&(k=m,d=n)}if(0>g){for(c.reset();c.next();)g=c.value,1===g.component&&(g.layer-=e);b.component=0}else k.component=0}}}function So(a,b,c){return 90===a.pa?c&&!b.rev||!c&&b.rev?270:90:180===a.pa?c&&!b.rev||!c&&b.rev?0:180:270===a.pa?c&&!b.rev||!c&&b.rev?90:270:c&&!b.rev||!c&&b.rev?180:0}
| Wk.prototype.initializeIndices=function(){switch(this.Tn){default:case kp:for(var a,b=this.network.vertexes.k;b.next();){var c=b.value;a=c.layer;c.index=this.Kd[a];this.Kd[a]++}break;case vo:b=this.network.vertexes.k;for(a=this.ib;0<=a;a--){for(;b.next();)b.value.layer===a&&-1===b.value.index&&lp(this,b.value);b.reset()}break;case mp:for(b=this.network.vertexes.k,a=0;a<=this.ib;a++){for(;b.next();)b.value.layer===a&&-1===b.value.index&&np(this,b.value);b.reset()}}};
| function lp(a,b){var c=b.layer;b.index=a.Kd[c];a.Kd[c]++;for(var c=b.Ue.Ie(),d=!0,e;d;)for(d=!1,e=0;e<c.length-1;e++){var g=c[e],h=c[e+1];g.portFromColOffset>h.portFromColOffset&&(d=!0,c[e]=h,c[e+1]=g)}for(e=0;e<c.length;e++)d=c[e],d.valid&&(d=d.toVertex,-1===d.index&&lp(a,d))}
| function np(a,b){var c=b.layer;b.index=a.Kd[c];a.Kd[c]++;for(var c=b.ef.Ie(),d=!0,e;d;)for(d=!1,e=0;e<c.length-1;e++){var g=c[e],h=c[e+1];g.portToColOffset>h.portToColOffset&&(d=!0,c[e]=h,c[e+1]=g)}for(e=0;e<c.length;e++)d=c[e],d.valid&&(d=d.fromVertex,-1===d.index&&np(a,d))}
| Wk.prototype.reduceCrossings=function(){var a=this.countCrossings(),b=Xo(this),c,d,e;for(c=0;c<this.Sl;c++){for(d=0;d<=this.ib;d++)op(this,d,1),pp(this,d,1);e=this.countCrossings();e<a&&(a=e,b=Xo(this));for(d=this.ib;0<=d;d--)op(this,d,-1),pp(this,d,-1);e=this.countCrossings();e<a&&(a=e,b=Xo(this))}Yo(this,b);for(c=0;c<this.Sl;c++){for(d=0;d<=this.ib;d++)op(this,d,0),pp(this,d,0);e=this.countCrossings();e<a&&(a=e,b=Xo(this));for(d=this.ib;0<=d;d--)op(this,d,0),pp(this,d,0);e=this.countCrossings();
| e<a&&(a=e,b=Xo(this))}Yo(this,b);var g,h,k;switch(this.ln){case qp:break;case rp:for(k=a+1;(d=this.countCrossings())<k;)for(k=d,c=this.ib;0<=c;c--)for(h=0;h<=c;h++){for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,-1)||g;e=this.countCrossings();e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,1)||g;e=this.countCrossings();e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=pp(this,d,1)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=
| pp(this,d,-1)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,0)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=pp(this,d,0)||g;e>=a?Yo(this,b):(a=e,b=Xo(this))}break;default:case wo:for(c=this.ib,h=0,k=a+1;(d=this.countCrossings())<k;){k=d;for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,-1)||g;e=this.countCrossings();e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,1)||g;e=this.countCrossings();e>=a?Yo(this,b):
| (a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=pp(this,d,1)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=pp(this,d,-1)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=c;d>=h;d--)g=pp(this,d,0)||g;e>=a?Yo(this,b):(a=e,b=Xo(this));for(g=!0;g;)for(g=!1,d=h;d<=c;d++)g=pp(this,d,0)||g;e>=a?Yo(this,b):(a=e,b=Xo(this))}}Yo(this,b)};
| function op(a,b,c){f&&(t.p(b,Wk,"medianBarycenterCrossingReduction:unfixedLayer"),t.p(c,Wk,"medianBarycenterCrossingReduction:direction"));var d=To(a,b),e=a.Kd[b],g=bp(a,b,c),h=ap(a,b,c);for(c=0;c<e;c++)-1===h[c]&&(h[c]=d[c].column),-1===g[c]&&(g[c]=d[c].column);for(var k=!0,l;k;)for(k=!1,c=0;c<e-1;c++)if(g[c+1]<g[c]||g[c+1]===g[c]&&h[c+1]<h[c])k=!0,l=g[c],g[c]=g[c+1],g[c+1]=l,l=h[c],h[c]=h[c+1],h[c+1]=l,l=d[c],d[c]=d[c+1],d[c+1]=l;for(c=g=0;c<e;c++)l=d[c],l.index=c,g+=a.nodeMinColumnSpace(l,!0),
| l.column=g,g+=1,g+=a.nodeMinColumnSpace(l,!1);Uo(a,b,d)}
| function pp(a,b,c){var d=To(a,b),e=a.Kd[b];c=Zo(a,b,c);var g,h;h=[];for(g=0;g<e;g++)h[g]=-1;var k;k=[];for(g=0;g<e;g++)k[g]=-1;for(var l=!1,m=!0;m;)for(m=!1,g=0;g<e-1;g++){var n=c[d[g].index*e+d[g+1].index],p=c[d[g+1].index*e+d[g].index],q=0,r=0,s=d[g].column,u=d[g+1].column,x=a.nodeMinColumnSpace(d[g],!0),E=a.nodeMinColumnSpace(d[g],!1),G=a.nodeMinColumnSpace(d[g+1],!0),C=a.nodeMinColumnSpace(d[g+1],!1),x=s-x+G,E=u-E+C,I=d[g].oc.k;for(I.reset();I.next();)if(C=I.value,C.valid&&C.fromVertex.layer===
| b){C=C.fromVertex;for(G=0;d[G]!==C;)G++;G<g&&(q+=2*(g-G),r+=2*(g+1-G));G===g+1&&(q+=1);G>g+1&&(q+=4*(G-g),r+=4*(G-(g+1)))}I=d[g].bc.k;for(I.reset();I.next();)if(C=I.value,C.valid&&C.toVertex.layer===b){C=C.toVertex;for(G=0;d[G]!==C;)G++;G===g+1&&(r+=1)}I=d[g+1].oc.k;for(I.reset();I.next();)if(C=I.value,C.valid&&C.fromVertex.layer===b){C=C.fromVertex;for(G=0;d[G]!==C;)G++;G<g&&(q+=2*(g+1-G),r+=2*(g-G));G===g&&(r+=1);G>g+1&&(q+=4*(G-(g+1)),r+=4*(G-g))}I=d[g+1].bc.k;for(I.reset();I.next();)if(C=I.value,
| C.valid&&C.toVertex.layer===b){C=C.toVertex;for(G=0;d[G]!==C;)G++;G===g&&(q+=1)}var G=C=0,I=h[d[g].index],O=k[d[g].index],N=h[d[g+1].index],V=k[d[g+1].index];-1!==I&&(C+=Math.abs(I-s),G+=Math.abs(I-E));-1!==O&&(C+=Math.abs(O-s),G+=Math.abs(O-E));-1!==N&&(C+=Math.abs(N-u),G+=Math.abs(N-x));-1!==V&&(C+=Math.abs(V-u),G+=Math.abs(V-x));if(r<q-0.5||r===q&&p<n-0.5||r===q&&p===n&&G<C-0.5)m=l=!0,d[g].column=E,d[g+1].column=x,n=d[g],d[g]=d[g+1],d[g+1]=n}for(g=0;g<e;g++)d[g].index=g;Uo(a,b,d);return l}
| Wk.prototype.straightenAndPack=function(){var a,b,c=0!==(this.wi&sp);a=this.wi===xo;1E3<this.network.edges.count&&!a&&(c=!1);if(c){b=[];for(a=0;a<=this.ib;a++)b[a]=0;for(var d=this.network.vertexes.k,e,g;d.next();)e=d.value,a=e.layer,g=e.column,e=this.nodeMinColumnSpace(e,!1),b[a]=Math.max(b[a],g+e);for(d.reset();d.next();)e=d.value,a=e.layer,g=e.column,e.column=(8*(this.Db-b[a])>>1)+8*g;this.Db*=8}if(0!==(this.wi&tp))for(b=!0;b;){b=!1;for(a=this.Cf+1;a<=this.ib;a++)b=up(this,a,1)||b;for(a=this.Cf-
| 1;0<=a;a--)b=up(this,a,-1)||b;b=up(this,this.Cf,0)||b}if(0!==(this.wi&vp)){for(a=this.Cf+1;a<=this.ib;a++)wp(this,a,1);for(a=this.Cf-1;0<=a;a--)wp(this,a,-1);wp(this,this.Cf,0)}c&&(xp(this,-1),xp(this,1));if(0!==(this.wi&tp))for(b=!0;b;){b=!1;b=up(this,this.Cf,0)||b;for(a=this.Cf+1;a<=this.ib;a++)b=up(this,a,0)||b;for(a=this.Cf-1;0<=a;a--)b=up(this,a,0)||b}};function up(a,b,c){f&&(t.p(b,Wk,"bendStraighten:unfixedLayer"),t.p(c,Wk,"bendStraighten:direction"));for(var d=!1;yp(a,b,c);)d=!0;return d}
| function yp(a,b,c){f&&(t.p(b,Wk,"shiftbendStraighten:unfixedLayer"),t.p(c,Wk,"shiftbendStraighten:direction"));var d,e=To(a,b),g=a.Kd[b],h=ap(a,b,-1);if(0<c)for(d=0;d<g;d++)h[d]=-1;var k=ap(a,b,1);if(0>c)for(d=0;d<g;d++)k[d]=-1;for(var l=!1,m=!0;m;)for(m=!1,d=0;d<g;d++){var n=e[d].column,p=a.nodeMinColumnSpace(e[d],!0),q=a.nodeMinColumnSpace(e[d],!1),p=0>d-1||n-e[d-1].column-1>p+a.nodeMinColumnSpace(e[d-1],!1)?n-1:n,q=d+1>=g||e[d+1].column-n-1>q+a.nodeMinColumnSpace(e[d+1],!0)?n+1:n,r=0,s=0,u=0,x,
| E,G,C;if(0>=c)for(var I=e[d].oc.k;I.next();)x=I.value,x.valid&&x.fromVertex.layer!==b&&(E=Wo(x),G=x.portFromColOffset,C=x.portToColOffset,x=x.fromVertex.column,r+=(Math.abs(n+C-(x+G))+1)*E,s+=(Math.abs(p+C-(x+G))+1)*E,u+=(Math.abs(q+C-(x+G))+1)*E);if(0<=c)for(I=e[d].bc.k;I.next();)x=I.value,x.valid&&x.toVertex.layer!==b&&(E=Wo(x),G=x.portFromColOffset,C=x.portToColOffset,x=x.toVertex.column,r+=(Math.abs(n+G-(x+C))+1)*E,s+=(Math.abs(p+G-(x+C))+1)*E,u+=(Math.abs(q+G-(x+C))+1)*E);C=G=E=0;x=h[e[d].index];
| I=k[e[d].index];-1!==x&&(E+=Math.abs(x-n),G+=Math.abs(x-p),C+=Math.abs(x-q));-1!==I&&(E+=Math.abs(I-n),G+=Math.abs(I-p),C+=Math.abs(I-q));if(s<r||s===r&&G<E)m=l=!0,e[d].column=p;if(u<r||u===r&&C<E)m=l=!0,e[d].column=q}Uo(a,b,e);a.normalize();return l}
| function wp(a,b,c){f&&(t.p(b,Wk,"medianStraighten:unfixedLayer"),t.p(c,Wk,"medianStraighten:direction"));var d=To(a,b),e=a.Kd[b],g=bp(a,b,c),h=[];for(c=0;c<e;c++)h[c]=g[c];for(g=!0;g;)for(g=!1,c=0;c<e;c++){var k=d[c].column,l=a.nodeMinColumnSpace(d[c],!0),m=a.nodeMinColumnSpace(d[c],!1),n=0,p;-1===h[c]?0===c&&c===e-1?n=k:0===c?(p=d[c+1].column,n=p-k===m+a.nodeMinColumnSpace(d[c+1],!0)?k-1:k):c===e-1?(p=d[c-1].column,n=k-p===l+a.nodeMinColumnSpace(d[c-1],!1)?k+1:k):(p=d[c-1].column,l=p+a.nodeMinColumnSpace(d[c-
| 1],!1)+l+1,p=d[c+1].column,m=p-a.nodeMinColumnSpace(d[c+1],!0)-m-1,n=(l+m)/2|0):0===c&&c===e-1?n=h[c]:0===c?(p=d[c+1].column,m=p-a.nodeMinColumnSpace(d[c+1],!0)-m-1,n=Math.min(h[c],m)):c===e-1?(p=d[c-1].column,l=p+a.nodeMinColumnSpace(d[c-1],!1)+l+1,n=Math.max(h[c],l)):(p=d[c-1].column,l=p+a.nodeMinColumnSpace(d[c-1],!1)+l+1,p=d[c+1].column,m=p-a.nodeMinColumnSpace(d[c+1],!0)-m-1,l<h[c]&&h[c]<m?n=h[c]:l>=h[c]?n=l:m<=h[c]&&(n=m));n!==k&&(g=!0,d[c].column=n)}Uo(a,b,d);a.normalize()}
| function zp(a,b){f&&(t.p(b,Wk,"packAux:column"),t.p(1,Wk,"packAux:direction"));for(var c=!0,d=a.network.vertexes.k,e;d.next();){e=d.value;var g=a.nodeMinColumnSpace(e,!0),h=a.nodeMinColumnSpace(e,!1);if(e.column-g<=b&&e.column+h>=b){c=!1;break}}g=!1;if(c)for(d.reset();d.next();)e=d.value,e.column>b&&(e.column-=1,g=!0);return g}
| function Ap(a,b){f&&(t.p(b,Wk,"tightPackAux:column"),t.p(1,Wk,"tightPackAux:direction"));var c=b,c=b+1,d,e=[],g=[];for(d=0;d<=a.ib;d++)e[d]=!1,g[d]=!1;for(var h=a.network.vertexes.k;h.next();){d=h.value;var k=d.column-a.nodeMinColumnSpace(d,!0),l=d.column+a.nodeMinColumnSpace(d,!1);k<=b&&l>=b&&(e[d.layer]=!0);k<=c&&l>=c&&(g[d.layer]=!0)}k=!0;c=!1;for(d=0;d<=a.ib;d++)k=k&&!(e[d]&&g[d]);if(k)for(h.reset();h.next();)d=h.value,d.column>b&&(d.column-=1,c=!0);return c}
| function xp(a,b){f&&t.p(b,Wk,"componentPack:direction");for(var c=0;c<=a.Db;c++)for(;zp(a,c););a.normalize();for(c=0;c<a.Db;c++)for(;Ap(a,c););a.normalize();var d,e,g,h;if(0<b)for(c=0;c<=a.Db;c++)for(d=Xo(a),e=$o(a),g=e+1;e<g;)g=e,Bp(a,c,1),h=$o(a),h>e?Yo(a,d):h<e&&(e=h,d=Xo(a));if(0>b)for(c=a.Db;0<=c;c--)for(d=Xo(a),e=$o(a),g=e+1;e<g;)g=e,Bp(a,c,-1),h=$o(a),h>e?Yo(a,d):h<e&&(e=h,d=Xo(a));a.normalize()}
| function Bp(a,b,c){a.gg=0;for(var d=a.network.vertexes.k,e;d.next();)d.value.component=-1;if(0<c)for(d.reset();d.next();)e=d.value,e.column-a.nodeMinColumnSpace(e,!0)<=b&&(e.component=a.gg);if(0>c)for(d.reset();d.next();)e=d.value,e.column+a.nodeMinColumnSpace(e,!1)>=b&&(e.component=a.gg);a.gg++;for(d.reset();d.next();)e=d.value,-1===e.component&&(dp(a,e,a.gg,-1,!0,!0),a.gg++);b=[];for(e=0;e<a.gg*a.gg;e++)b[e]=!1;var g=[];for(e=0;e<(a.ib+1)*(a.Db+1);e++)g[e]=-1;for(d.reset();d.next();){e=d.value;
| for(var h=e.layer,k=Math.max(0,e.column-a.nodeMinColumnSpace(e,!0)),l=Math.min(a.Db,e.column+a.nodeMinColumnSpace(e,!1));k<=l;k++)g[h*(a.Db+1)+k]=e.component}for(e=0;e<=a.ib;e++){if(0<c)for(k=0;k<a.Db;k++)-1!==g[e*(a.Db+1)+k]&&-1!==g[e*(a.Db+1)+k+1]&&g[e*(a.Db+1)+k]!==g[e*(a.Db+1)+k+1]&&(b[g[e*(a.Db+1)+k]*a.gg+g[e*(a.Db+1)+k+1]]=!0);if(0>c)for(k=a.Db;0<k;k--)-1!==g[e*(a.Db+1)+k]&&-1!==g[e*(a.Db+1)+k-1]&&g[e*(a.Db+1)+k]!==g[e*(a.Db+1)+k-1]&&(b[g[e*(a.Db+1)+k]*a.gg+g[e*(a.Db+1)+k-1]]=!0)}g=[];for(e=
| 0;e<a.gg;e++)g[e]=!0;h=new A("number");for(h.add(0);0!==h.count;)if(l=h.n[h.count-1],h.nd(h.count-1),g[l])for(g[l]=!1,e=0;e<a.gg;e++)b[l*a.gg+e]&&h.Ed(0,e);if(0<c)for(d.reset();d.next();)e=d.value,g[e.component]&&(e.column-=1);if(0>c)for(d.reset();d.next();)e=d.value,g[e.component]&&(e.column+=1)}Wk.prototype.commitLayout=function(){if(this.ul)for(var a=Ro(this,!0),b=Ro(this,!1),c=this.network.edges.k,d;c.next();)d=c.value.link,null!==d&&(d.nb=a,d.qb=b);this.commitNodes();this.fA();this.rt&&this.commitLinks()};
| function Ro(a,b){return 270===a.pa?b?Qb:Wb:90===a.pa?b?Wb:Qb:180===a.pa?b?Ub:Vb:b?Vb:Ub}
| Wk.prototype.commitNodes=function(){this.Jg=[];this.dg=[];this.Bf=[];this.Hb=[];for(var a=0;a<=this.ib;a++)this.Jg[a]=0,this.dg[a]=0,this.Bf[a]=0,this.Hb[a]=0;for(var a=this.network.vertexes.k,b,c;a.next();)b=a.value,c=b.layer,this.Jg[c]=Math.max(this.Jg[c],this.nodeMinLayerSpace(b,!0)),this.dg[c]=Math.max(this.dg[c],this.nodeMinLayerSpace(b,!1));var d=0,e=this.Vl;for(b=0;b<=this.ib;b++)c=e,0>=this.Jg[b]+this.dg[b]&&(c=0),0<b&&(d+=c/2),90===this.pa||0===this.pa?(d+=this.dg[b],this.Bf[b]=d,d+=this.Jg[b]):
| (d+=this.Jg[b],this.Bf[b]=d,d+=this.dg[b]),b<this.ib&&(d+=c/2),this.Hb[b]=d;e=d;d=this.Bd;for(b=0;b<=this.ib;b++)270===this.pa?this.Bf[b]=d.y+this.Bf[b]:90===this.pa?(this.Bf[b]=d.y+e-this.Bf[b],this.Hb[b]=e-this.Hb[b]):180===this.pa?this.Bf[b]=d.x+this.Bf[b]:(this.Bf[b]=d.x+e-this.Bf[b],this.Hb[b]=e-this.Hb[b]);for(a.reset();a.next();){b=a.value;c=b.layer;var g=b.column|0;270===this.pa||90===this.pa?(e=d.x+this.ud*g,c=this.Bf[c]):(e=this.Bf[c],c=d.y+this.ud*g);b.Ca=e;b.Oa=c;b.commit()}};
| Wk.prototype.fA=function(){for(var a=0,b=this.Vl,c=0;c<=this.ib;c++)a+=this.Jg[c],a+=this.dg[c];for(var a=a+this.ib*b,b=[],c=this.ud*this.Db,d=this.bJ;0<=d;d--)270===this.pa?0===d?b.push(new w(0,0,c,Math.abs(this.Hb[0]))):b.push(new w(0,this.Hb[d-1],c,Math.abs(this.Hb[d-1]-this.Hb[d]))):90===this.pa?0===d?b.push(new w(0,this.Hb[0],c,Math.abs(this.Hb[0]-a))):b.push(new w(0,this.Hb[d],c,Math.abs(this.Hb[d-1]-this.Hb[d]))):180===this.pa?0===d?b.push(new w(0,0,Math.abs(this.Hb[0]),c)):b.push(new w(this.Hb[d-
| 1],0,Math.abs(this.Hb[d-1]-this.Hb[d]),c)):0===d?b.push(new w(this.Hb[0],0,Math.abs(this.Hb[0]-a),c)):b.push(new w(this.Hb[d],0,Math.abs(this.Hb[d-1]-this.Hb[d]),c));this.commitLayers(b,F.fj)};Wk.prototype.commitLayers=function(){};
| Wk.prototype.commitLinks=function(){for(var a=this.network.edges.k,b,c;a.next();)c=a.value.link,"undefined"!==typeof c&&null!==c&&(c.vl(),c.Qo(),c.Mi());for(a.reset();a.next();)c=a.value.link,"undefined"!==typeof c&&null!==c&&c.updateRoute();for(a.reset();a.next();)if(b=a.value,c=b.link){c.vl();var d=c,e=d.aa,g=d.ea,h=d.rd,k=d.be;if(b.valid){if(c.De===Mg&&4===c.oa){if(b.rev)var l=e,e=g,g=l,m=h,h=k,k=m;if(b.fromVertex.column===b.toVertex.column){var n=c.getLinkPoint(e,h,c.computeSpot(!0),!0,!1,g,k),
| p=c.getLinkPoint(g,k,c.computeSpot(!1),!1,!1,e,h);c.Qo();c.Wk(n.x,n.y);c.Wk((2*n.x+p.x)/3,(2*n.y+p.y)/3);c.Wk((n.x+2*p.x)/3,(n.y+2*p.y)/3);c.Wk(p.x,p.y)}else{var q=!1,r=!1;null!==h&&c.computeSpot(!0)===wb&&(q=!0);null!==k&&c.computeSpot(!1)===wb&&(r=!0);if(q||r){var s=c.o(0).x,u=c.o(0).y,x=c.o(1).x,E=c.o(1).y,G=c.o(2).x,C=c.o(2).y,I=c.o(3).x,O=c.o(3).y;if(q){90===this.pa||270===this.pa?(x=s,E=(u+O)/2):(x=(s+I)/2,E=u);c.Y(1,x,E);var N=c.getLinkPoint(e,h,c.computeSpot(!0),!0,!1,g,k);c.Y(0,N.x,N.y)}r&&
| (90===this.pa||270===this.pa?(G=I,C=(u+O)/2):(G=(s+I)/2,C=O),c.Y(2,G,C),N=c.getLinkPoint(g,k,c.computeSpot(!1),!1,!1,e,h),c.Y(3,N.x,N.y))}}}c.Mi()}else if(b.fromVertex.layer===b.toVertex.layer)c.Mi();else{var V=!1,W=!1,Y,R=c.gt+1;if(c.dc)W=!0,Y=c.oa,4<Y&&c.points.removeRange(2,Y-3);else if(c.De===Mg)V=!0,Y=c.oa,4<Y&&c.points.removeRange(2,Y-3),R=2;else{Y=c.oa;var wa=c.computeSpot(!0)===wb,Sa=c.computeSpot(!1)===wb;2<Y&&wa&&Sa?c.points.removeRange(1,Y-2):3<Y&&wa&&!Sa?c.points.removeRange(1,Y-3):3<
| Y&&!wa&&Sa?c.points.removeRange(2,Y-2):4<Y&&!wa&&!Sa&&c.points.removeRange(2,Y-3)}var Ea=b.fromVertex,Ga=b.toVertex,ia,Oa;if(b.rev){for(var Ha;null!==Ga&&Ea!==Ga;){Oa=ia=null;for(var Jf=Ga.oc.k;Jf.next()&&(hc=Jf.value,hc.link!==b.link||(ia=hc.fromVertex,Oa=hc.toVertex,null!==ia.pd)););ia!==Ea&&(kb=c.o(R-1).x,fb=c.o(R-1).y,Ja=ia.Ca,Ka=ia.Oa,W?180===this.pa||0===this.pa?2===R?(c.C(R++,kb,fb),c.C(R++,kb,Ka)):(jd=null!==Oa?Oa.Oa:fb,jd!==Ka&&(Ya=this.Hb[ia.layer-1],c.C(R++,Ya,fb),c.C(R++,Ya,Ka))):2===
| R?(c.C(R++,kb,fb),c.C(R++,Ja,fb)):(lf=null!==Oa?Oa.Ca:kb,lf!==Ja&&(Ya=this.Hb[ia.layer-1],c.C(R++,kb,Ya),c.C(R++,Ja,Ya))):2===R?V?(db=Math.max(10,this.Jg[Ga.layer]),Ab=Math.max(10,this.dg[Ga.layer]),180===this.pa?(Ha=Ga.T.x,c.C(R++,Ha-db,Ka),c.C(R++,Ha,Ka),c.C(R++,Ha+Ab,Ka)):90===this.pa?(Ha=Ga.T.y+Ga.T.height,c.C(R++,Ja,Ha+Ab),c.C(R++,Ja,Ha),c.C(R++,Ja,Ha-db)):270===this.pa?(Ha=Ga.T.y,c.C(R++,Ja,Ha-db),c.C(R++,Ja,Ha),c.C(R++,Ja,Ha+Ab)):(Ha=Ga.T.x+Ga.T.width,c.C(R++,Ha+Ab,Ka),c.C(R++,Ha,Ka),c.C(R++,
| Ha-db,Ka))):(c.C(R++,kb,fb),180===this.pa||0===this.pa?c.C(R++,kb,Ka):c.C(R++,Ja,fb),c.C(R++,Ja,Ka)):(db=Math.max(10,this.Jg[ia.layer]),Ab=Math.max(10,this.dg[ia.layer]),180===this.pa?(V&&c.C(R++,Ja-db,Ka),c.C(R++,Ja,Ka),V&&c.C(R++,Ja+Ab,Ka)):90===this.pa?(V&&c.C(R++,Ja,Ka+Ab),c.C(R++,Ja,Ka),V&&c.C(R++,Ja,Ka-db)):270===this.pa?(V&&c.C(R++,Ja,Ka-db),c.C(R++,Ja,Ka),V&&c.C(R++,Ja,Ka+Ab)):(V&&c.C(R++,Ja+Ab,Ka),c.C(R++,Ja,Ka),V&&c.C(R++,Ja-db,Ka))));Ga=ia}if(null===k||c.computeSpot(!1)!==wb)if(kb=c.o(R-
| 1).x,fb=c.o(R-1).y,Ja=c.o(R).x,Ka=c.o(R).y,W){var kf=this.dg[Ea.layer],Yb;180===this.pa||0===this.pa?(Yb=fb,Yb>=Ea.T.y&&Yb<=Ea.T.bottom&&(Ha=Ea.Ca+kf,Yb=Yb<Ea.T.y+Ea.T.height/2?Ea.T.y-this.ud/2:Ea.T.bottom+this.ud/2,c.C(R++,Ha,fb),c.C(R++,Ha,Yb)),c.C(R++,Ja,Yb)):(Yb=kb,Yb>=Ea.T.x&&Yb<=Ea.T.right&&(Ha=Ea.Oa+kf,Yb=Yb<Ea.T.x+Ea.T.width/2?Ea.T.x-this.ud/2:Ea.T.right+this.ud/2,c.C(R++,kb,Ha),c.C(R++,Yb,Ha)),c.C(R++,Yb,Ka));c.C(R++,Ja,Ka)}else V?(db=Math.max(10,this.Jg[Ea.layer]),Ab=Math.max(10,this.dg[Ea.layer]),
| 180===this.pa?(Ha=Ea.T.x+Ea.T.width,c.Y(R-2,Ha,fb),c.Y(R-1,Ha+Ab,fb)):90===this.pa?(Ha=Ea.T.y,c.Y(R-2,kb,Ha),c.Y(R-1,kb,Ha-db)):270===this.pa?(Ha=Ea.T.y+Ea.T.height,c.Y(R-2,kb,Ha),c.Y(R-1,kb,Ha+Ab)):(Ha=Ea.T.x,c.Y(R-2,Ha,fb),c.Y(R-1,Ha-db,fb))):(180===this.pa||0===this.pa?c.C(R++,Ja,fb):c.C(R++,kb,Ka),c.C(R++,Ja,Ka))}else{for(;null!==Ea&&Ea!==Ga;){Oa=ia=null;for(var hg=Ea.bc.k,hc;hg.next()&&(hc=hg.value,hc.link!==b.link||(ia=hc.toVertex,Oa=hc.fromVertex,null!==Oa.pd&&(Oa=null),null!==ia.pd)););var kb,
| fb,Ja,Ka,Ya,db,Ab;if(ia!==Ga)if(kb=c.o(R-1).x,fb=c.o(R-1).y,Ja=ia.Ca,Ka=ia.Oa,W)if(180===this.pa||0===this.pa){var jd=null!==Oa?Oa.Oa:fb;jd!==Ka&&(Ya=this.Hb[ia.layer],2===R&&(Ya=0===this.pa?Math.max(Ya,kb):Math.min(Ya,kb)),c.C(R++,Ya,fb),c.C(R++,Ya,Ka))}else{var lf=null!==Oa?Oa.Ca:kb;lf!==Ja&&(Ya=this.Hb[ia.layer],2===R&&(Ya=90===this.pa?Math.max(Ya,fb):Math.min(Ya,fb)),c.C(R++,kb,Ya),c.C(R++,Ja,Ya))}else db=Math.max(10,this.Jg[ia.layer]),Ab=Math.max(10,this.dg[ia.layer]),180===this.pa?(c.C(R++,
| Ja+Ab,Ka),V&&c.C(R++,Ja,Ka),c.C(R++,Ja-db,Ka)):90===this.pa?(c.C(R++,Ja,Ka-db),V&&c.C(R++,Ja,Ka),c.C(R++,Ja,Ka+Ab)):270===this.pa?(c.C(R++,Ja,Ka+Ab),V&&c.C(R++,Ja,Ka),c.C(R++,Ja,Ka-db)):(c.C(R++,Ja-db,Ka),V&&c.C(R++,Ja,Ka),c.C(R++,Ja+Ab,Ka));Ea=ia}W&&(kb=c.o(R-1).x,fb=c.o(R-1).y,Ja=c.o(R).x,Ka=c.o(R).y,180===this.pa||0===this.pa?fb!==Ka&&(Ya=0===this.pa?Math.min(Math.max((Ja+kb)/2,this.Hb[Ga.layer]),Ja):Math.max(Math.min((Ja+kb)/2,this.Hb[Ga.layer]),Ja),c.C(R++,Ya,fb),c.C(R++,Ya,Ka)):kb!==Ja&&(Ya=
| 90===this.pa?Math.min(Math.max((Ka+fb)/2,this.Hb[Ga.layer]),Ka):Math.max(Math.min((Ka+fb)/2,this.Hb[Ga.layer]),Ka),c.C(R++,kb,Ya),c.C(R++,Ja,Ya)))}if(null!==d&&V){if(null!==h){if(c.computeSpot(!0)===wb){var Dd=c.o(0),kd=c.o(2);Dd.M(kd)||c.Y(1,(Dd.x+kd.x)/2,(Dd.y+kd.y)/2)}N=c.getLinkPoint(e,h,wb,!0,!1,g,k);c.Y(0,N.x,N.y)}null!==k&&(c.computeSpot(!1)===wb&&(Dd=c.o(c.oa-1),kd=c.o(c.oa-3),Dd.M(kd)||c.Y(c.oa-2,(Dd.x+kd.x)/2,(Dd.y+kd.y)/2)),N=c.getLinkPoint(g,k,wb,!1,!1,e,h),c.Y(c.oa-1,N.x,N.y))}c.Mi();
| b.commit()}}for(var Ne=new A(U),Ed=this.network.edges.k,se;Ed.next();)se=Ed.value.link,null!==se&&se.dc&&!Ne.contains(se)&&Ne.add(se);if(0<Ne.count)if(90===this.pa||270===this.pa){for(var Kf=0,Bb=new A(Cp),Dg=Ne.k,Ib,rb,Za;Dg.next();)if(Ib=Dg.value,null!==Ib&&Ib.dc)for(var yb=2;yb<Ib.oa-3;yb++)if(rb=Ib.o(yb),Za=Ib.o(yb+1),this.I(rb.y,Za.y)&&!this.I(rb.x,Za.x)){var ic=new Cp;ic.layer=Math.floor(rb.y/2);var Lf=Ib.o(0),Mf=Ib.o(Ib.oa-1);ic.$a=Lf.x*Lf.x+Lf.y;ic.Xd=Mf.x*Mf.x+Mf.y;ic.Be=Math.min(rb.x,Za.x);
| ic.Qd=Math.max(rb.x,Za.x);ic.index=yb;ic.link=Ib;if(yb+2<Ib.oa){var jc=Ib.o(yb-1),Tc=Ib.o(yb+2),ld=0;jc.y<rb.y?ld=Tc.y<rb.y?3:rb.x<Za.x?2:1:jc.y>rb.y&&(ld=Tc.y>rb.y?0:Za.x<rb.x?2:1);ic.Zh=ld}Bb.add(ic)}if(1<Bb.count){Bb.sort(this.TF);for(var dc=0;dc<Bb.count;){for(var md=Bb.n[dc].layer,$a=dc+1;$a<Bb.count&&Bb.n[$a].layer===md;)$a++;if(1<$a-dc)for(var Ua=dc;Ua<$a;){for(var Rb=Bb.n[Ua].Qd,Jb=dc+1;Jb<$a&&Bb.n[Jb].Be<Rb;)Rb=Math.max(Rb,Bb.n[Jb].Qd),Jb++;var Oe=Jb-Ua;if(1<Oe){Bb.Wp(this.lx,Ua,Ua+Oe);for(var Pd=
| 1,oc=Bb.n[Ua].Xd,Kb,yb=Ua;yb<Jb;yb++)Kb=Bb.n[yb],Kb.Xd!==oc&&(Pd++,oc=Kb.Xd);Bb.Wp(this.SF,Ua,Ua+Oe);for(var ce=1,oc=Bb.n[Ua].$a,yb=Ua;yb<Jb;yb++)Kb=Bb.n[yb],Kb.$a!==oc&&(ce++,oc=Kb.$a);var sb,Fd;Pd<ce?(sb=!1,Fd=Pd,oc=Bb.n[Ua].Xd,Bb.Wp(this.lx,Ua,Ua+Oe)):(sb=!0,Fd=ce,oc=Bb.n[Ua].$a);for(var Eg=0,yb=Ua;yb<Jb;yb++){Kb=Bb.n[yb];(sb?Kb.$a:Kb.Xd)!==oc&&(Eg++,oc=sb?Kb.$a:Kb.Xd);Ib=Kb.link;rb=Ib.o(Kb.index);Za=Ib.o(Kb.index+1);var Pe=this.wp*(Eg-(Fd-1)/2);if(!Ib.Ui||Dp(rb.x,rb.y+Pe,Za.x,Za.y+Pe))Kf++,Ib.vl(),
| Ib.Y(Kb.index,rb.x,rb.y+Pe),Ib.Y(Kb.index+1,Za.x,Za.y+Pe),Ib.Mi()}}Ua=Jb}dc=$a}}}else{for(var Gd=0,gb=new A(Cp),mf=Ne.k,hb,tb,Uc;mf.next();)if(hb=mf.value,null!==hb&&hb.dc)for(var Nb=2;Nb<hb.oa-3;Nb++)if(tb=hb.o(Nb),Uc=hb.o(Nb+1),this.I(tb.x,Uc.x)&&!this.I(tb.y,Uc.y)){var Qd=new Cp;Qd.layer=Math.floor(tb.x/2);var Rd=hb.o(0),de=hb.o(hb.oa-1);Qd.$a=Rd.x+Rd.y*Rd.y;Qd.Xd=de.x+de.y*de.y;Qd.Be=Math.min(tb.y,Uc.y);Qd.Qd=Math.max(tb.y,Uc.y);Qd.index=Nb;Qd.link=hb;if(Nb+2<hb.oa){var Dc=hb.o(Nb-1),te=hb.o(Nb+
| 2),Ec=0;Dc.x<tb.x?Ec=te.x<tb.x?3:tb.y<Uc.y?2:1:Dc.x>tb.x&&(Ec=te.x>tb.x?0:Uc.y<tb.y?2:1);Qd.Zh=Ec}gb.add(Qd)}if(1<gb.count){gb.sort(this.TF);for(var Cb=0;Cb<gb.count;){for(var Qe=gb.n[Cb].layer,nd=Cb+1;nd<gb.count&&gb.n[nd].layer===Qe;)nd++;if(1<nd-Cb)for(var lb=Cb;lb<nd;){for(var Hd=gb.n[lb].Qd,Db=Cb+1;Db<nd&&gb.n[Db].Be<Hd;)Hd=Math.max(Hd,gb.n[Db].Qd),Db++;var Sd=Db-lb;if(1<Sd){gb.Wp(this.lx,lb,lb+Sd);for(var Id=1,kc=gb.n[lb].Xd,Ob,Nb=lb;Nb<Db;Nb++)Ob=gb.n[Nb],Ob.Xd!==kc&&(Id++,kc=Ob.Xd);gb.Wp(this.SF,
| lb,lb+Sd);for(var ub=1,kc=gb.n[lb].$a,Nb=lb;Nb<Db;Nb++)Ob=gb.n[Nb],Ob.$a!==kc&&(ub++,kc=Ob.$a);var nf,bb;Id<ub?(nf=!1,bb=Id,kc=gb.n[lb].Xd,gb.Wp(this.lx,lb,lb+Sd)):(nf=!0,bb=ub,kc=gb.n[lb].$a);for(var ee=0,Nb=lb;Nb<Db;Nb++){Ob=gb.n[Nb];(nf?Ob.$a:Ob.Xd)!==kc&&(ee++,kc=nf?Ob.$a:Ob.Xd);hb=Ob.link;tb=hb.o(Ob.index);Uc=hb.o(Ob.index+1);var Vc=this.wp*(ee-(bb-1)/2);if(!hb.Ui||Dp(tb.x+Vc,tb.y,Uc.x+Vc,Uc.y))Gd++,hb.vl(),hb.Y(Ob.index,tb.x+Vc,tb.y),hb.Y(Ob.index+1,Uc.x+Vc,Uc.y),hb.Mi()}}lb=Db}Cb=nd}}}};
| function Cp(){this.index=this.Qd=this.Be=this.Xd=this.$a=this.layer=0;this.link=null;this.Zh=0}t.Rd(Cp,{layer:!0,$a:!0,Xd:!0,Be:!0,Qd:!0,index:!0,link:!0,Zh:!0});Wk.prototype.TF=function(a,b){return a instanceof Cp&&b instanceof Cp&&a!==b?a.layer<b.layer?-1:a.layer>b.layer?1:a.Be<b.Be?-1:a.Be>b.Be?1:a.Qd<b.Qd?-1:a.Qd>b.Qd?1:0:0};
| Wk.prototype.SF=function(a,b){return a instanceof Cp&&b instanceof Cp&&a!==b?a.$a<b.$a?-1:a.$a>b.$a||a.Zh<b.Zh?1:a.Zh>b.Zh||a.Be<b.Be?-1:a.Be>b.Be?1:a.Qd<b.Qd?-1:a.Qd>b.Qd?1:0:0};Wk.prototype.lx=function(a,b){return a instanceof Cp&&b instanceof Cp&&a!==b?a.Xd<b.Xd?-1:a.Xd>b.Xd||a.Zh<b.Zh?1:a.Zh>b.Zh||a.Be<b.Be?-1:a.Be>b.Be?1:a.Qd<b.Qd?-1:a.Qd>b.Qd?1:0:0};Wk.prototype.I=function(a,b){f&&(t.p(a,Wk,"isApprox:a"),t.p(b,Wk,"isApprox:b"));var c=a-b;return-1<c&&1>c};
| function Dp(a,b,c,d){f&&(t.p(a,Wk,"isUnoccupied2:px"),t.p(b,Wk,"isUnoccupied2:py"),t.p(c,Wk,"isUnoccupied2:qx"),t.p(d,Wk,"isUnoccupied2:qy"));return!0}function To(a,b){var c,d=a.Kd[b];if(d>=a.Mg.length){c=[];var e;for(e=0;e<a.Mg.length;e++)c[e]=a.Mg[e];a.Mg=c}"undefined"===typeof a.Mg[d]||null===a.Mg[d]?c=[]:(c=a.Mg[d],a.Mg[d]=null);var d=a.Kr[b],g;for(e=0;e<d.length;e++)g=d[e],g instanceof Ep&&(c[g.index]=g);return c}function Uo(a,b,c){a.Mg[a.Kd[b]]=c}t.g(Wk,"layerSpacing",Wk.prototype.layerSpacing);
| t.defineProperty(Wk,{layerSpacing:"layerSpacing"},function(){return this.Vl},function(a){this.Vl!==a&&"number"===typeof a&&0<=a&&(this.Vl=a,this.J())});t.g(Wk,"columnSpacing",Wk.prototype.VH);t.defineProperty(Wk,{VH:"columnSpacing"},function(){return this.ud},function(a){this.ud!==a&&"number"===typeof a&&0<=a&&(this.ud=a,this.J())});t.g(Wk,"direction",Wk.prototype.direction);
| t.defineProperty(Wk,{direction:"direction"},function(){return this.pa},function(a){this.pa!==a&&"number"===typeof a&&(this.pa=a,this.J())});t.g(Wk,"cycleRemoveOption",Wk.prototype.YD);t.defineProperty(Wk,{YD:"cycleRemoveOption"},function(){return this.vn},function(a){this.vn!==a&&(f&&t.m(a,ca,yo,"cycleRemoveOption"),a===zo||a===to)&&(this.vn=a,this.J())});t.g(Wk,"layeringOption",Wk.prototype.aF);
| t.defineProperty(Wk,{aF:"layeringOption"},function(){return this.eo},function(a){this.eo!==a&&(f&&t.m(a,ca,yo,"layeringOption"),a===uo||a===ep||a===gp)&&(this.eo=a,this.J())});t.g(Wk,"initializeOption",Wk.prototype.OE);t.defineProperty(Wk,{OE:"initializeOption"},function(){return this.Tn},function(a){this.Tn!==a&&(f&&t.m(a,ca,yo,"initializeOption"),a===vo||a===mp||a===kp)&&(this.Tn=a,this.J())});t.g(Wk,"iterations",Wk.prototype.UI);
| t.defineProperty(Wk,{UI:"iterations"},function(){return this.Sl},function(a){f&&t.p(a,yo,"iterations");this.Sl!==a&&"number"===typeof a&&0<=a&&(this.Sl=a,this.J())});t.g(Wk,"aggressiveOption",Wk.prototype.yD);t.defineProperty(Wk,{yD:"aggressiveOption"},function(){return this.ln},function(a){this.ln!==a&&(f&&t.m(a,ca,yo,"cycleRemoveOption"),a===qp||a===wo||a===rp)&&(this.ln=a,this.J())});t.g(Wk,"packOption",Wk.prototype.pJ);
| t.defineProperty(Wk,{pJ:"packOption"},function(){return this.wi},function(a){this.wi!==a&&"number"===typeof a&&0<=a&&8>a&&(this.wi=a,this.J())});t.g(Wk,"setsPortSpots",Wk.prototype.ul);t.defineProperty(Wk,{ul:"setsPortSpots"},function(){return this.yh},function(a){this.yh!==a&&"boolean"===typeof a&&(this.yh=a,this.J())});t.g(Wk,"linkSpacing",Wk.prototype.wp);t.defineProperty(Wk,{wp:"linkSpacing"},function(){return this.tj},function(a){this.tj!==a&&(this.tj=a,this.J())});t.A(Wk,{bJ:"maxLayer"},function(){return this.ib});
| t.A(Wk,{oK:"maxIndex"},function(){return this.Zu});t.A(Wk,{nK:"maxColumn"},function(){return this.Db});t.A(Wk,{qK:"minIndexLayer"},function(){return this.Dr});t.A(Wk,{pK:"maxIndexLayer"},function(){return this.Cf});var to;Wk.CycleDepthFirst=to=t.w(Wk,"CycleDepthFirst",0);var zo;Wk.CycleGreedy=zo=t.w(Wk,"CycleGreedy",1);var uo;Wk.LayerOptimalLinkLength=uo=t.w(Wk,"LayerOptimalLinkLength",0);var ep;Wk.LayerLongestPathSink=ep=t.w(Wk,"LayerLongestPathSink",1);var gp;
| Wk.LayerLongestPathSource=gp=t.w(Wk,"LayerLongestPathSource",2);var vo;Wk.InitDepthFirstOut=vo=t.w(Wk,"InitDepthFirstOut",0);var mp;Wk.InitDepthFirstIn=mp=t.w(Wk,"InitDepthFirstIn",1);var kp;Wk.InitNaive=kp=t.w(Wk,"InitNaive",2);var qp;Wk.AggressiveNone=qp=t.w(Wk,"AggressiveNone",0);var wo;Wk.AggressiveLess=wo=t.w(Wk,"AggressiveLess",1);var rp;Wk.AggressiveMore=rp=t.w(Wk,"AggressiveMore",2);Wk.PackNone=0;var sp;Wk.PackExpand=sp=1;var tp;Wk.PackStraighten=tp=2;var vp;Wk.PackMedian=vp=4;var xo;
| Wk.PackAll=xo=7;function yo(){ta.call(this)}t.ga("LayeredDigraphNetwork",yo);t.Ka(yo,ta);yo.prototype.createVertex=function(){return new Ep};yo.prototype.createEdge=function(){return new Fp};function Ep(){ua.call(this);this.index=this.column=this.layer=-1;this.component=NaN;this.near=null;this.valid=!1;this.finish=this.Vo=NaN;this.vm=0;this.QA=this.RA=void 0}t.ga("LayeredDigraphVertex",Ep);t.Ka(Ep,ua);
| function Fp(){va.call(this);this.forest=this.rev=this.valid=!1;this.portToPos=this.portFromPos=NaN;this.portToColOffset=this.portFromColOffset=0}t.ga("LayeredDigraphEdge",Fp);t.Ka(Fp,va);function Z(){0<arguments.length&&t.l("TreeLayout constructor cannot take any arguments.");be.call(this);this.Tc=new na(Object);this.yi=Gp;this.zf=Hp;this.Fs=Ip;this.Vu=Jp;this.RB=null;this.eh=!0;this.Zc=Kp;this.Xf=(new fa(10,10)).freeze();this.ua=new Lp;this.ta=new Lp}t.ga("TreeLayout",Z);t.Ka(Z,be);
| Z.prototype.cloneProtected=function(a){be.prototype.cloneProtected.call(this,a);a.yi=this.yi;a.Fs=this.Fs;a.Vu=this.Vu;a.eh=this.eh;a.Zc=this.Zc;a.Xf.assign(this.Xf);a.ua.copyInheritedPropertiesFrom(this.ua);a.ta.copyInheritedPropertiesFrom(this.ta)};Z.prototype.createNetwork=function(){var a=new Mp;Fn(a,this);return a};Z.prototype.makeNetwork=function(a){var b=this.createNetwork();a instanceof z?(Np(this,b,a.aj,!0),Np(this,b,a.links,!0)):a instanceof T?Np(this,b,a.Vc,!1):Np(this,b,a.k,!1);return b};
| function Np(a,b,c,d){for(c=c.k;c.next();){var e=c.value;e instanceof S&&e.canLayout()&&"Comment"!==e.Uc&&(!d||e.pp)&&(e.Qh||(e instanceof T&&null===e.ec?Np(a,b,e.Vc,!1):b.Go(e)))}for(c.reset();c.next();)if(e=c.value,e instanceof U&&e.canLayout()&&"Comment"!==e.Uc&&(!d||e.pp)){var g=e.aa;a=e.ea;null!==g&&null!==a&&g!==a&&"Comment"!==g.Uc&&"Comment"!==a.Uc&&(g=b.findGroupVertex(g),a=b.findGroupVertex(a),null!==g&&null!==a&&b.Sm(g,a,e))}}
| Z.prototype.doLayout=function(a){a||t.l("Layout.doLayout(collection) argument must not be null but a Diagram, a Group, or an Iterable of Parts");null===this.network&&(this.network=this.makeNetwork(a));this.Re!==Op&&(this.Bd=this.initialOrigin(this.Bd));var b=this.h;null===b&&a instanceof z&&(b=a);this.zf=this.path===Gp&&null!==b?b.md?Hp:Pp:this.path===Gp?Hp:this.path;if(0<this.network.vertexes.count){this.network.rw();for(b=this.network.vertexes.k;b.next();)a=b.value,a.initialized=!1,a.level=0,a.parent=
| null,a.children=[];if(0<this.Tc.count)for(b=this.Tc.k,this.Tc=new na(Lp);b.next();)a=b.value,a instanceof S?(a=this.network.Km(a),null!==a&&this.Tc.add(a)):a instanceof Lp&&this.Tc.add(a);if(0===this.Tc.count){for(a=this.network.vertexes.k;a.next();)switch(b=a.value,this.zf){case Hp:0===b.oc.count&&this.Tc.add(b);break;case Pp:0===b.bc.count&&this.Tc.add(b);break;default:t.l("Unhandled path value "+this.zf.toString())}if(0===this.Tc.count){a=999999;for(var b=null,c=this.network.vertexes.k;c.next();){var d=
| c.value;switch(this.zf){case Hp:d.oc.count<a&&(a=d.oc.count,b=d);break;case Pp:d.bc.count<a&&(a=d.bc.count,b=d);break;default:t.l("Unhandled path value "+this.zf.toString())}}null!==b&&this.Tc.add(b)}}for(b=this.Tc.k;b.next();)a=b.value,a.initialized||(a.initialized=!0,Qp(this,a));for(a=this.Tc.k;a.next();)Rp(this,a.value);for(a=this.Tc.k;a.next();)Sp(this,a.value);for(a=this.Tc.k;a.next();)Tp(this,a.value);this.Yz();if(this.Sw===Up){d=[];for(a=this.network.vertexes.k;a.next();){b=a.value;(c=b.parent)||
| (c=b);var c=0===c.angle||180===c.angle,e=d[b.level];void 0===e&&(e=0);d[b.level]=Math.max(e,c?b.width:b.height)}for(e=0;e<d.length;e++)void 0===d[e]&&(d[e]=0);this.RB=d;for(a=this.network.vertexes.k;a.next();)b=a.value,(c=b.parent)||(c=b),0===c.angle||180===c.angle?(180===c.angle&&(b.ap+=d[b.level]-b.width),b.width=d[b.level]):(270===c.angle&&(b.bp+=d[b.level]-b.height),b.height=d[b.level])}else if(this.Sw===Vp)for(a=this.network.vertexes.k;a.next();){b=a.value;c=0===b.angle||180===b.angle;d=-1;for(e=
| 0;e<b.children.length;e++)var g=b.children[e],d=Math.max(d,c?g.width:g.height);if(0<=d)for(e=0;e<b.children.length;e++)g=b.children[e],c?(180===b.angle&&(g.ap+=d-g.width),g.width=d):(270===b.angle&&(g.bp+=d-g.height),g.height=d)}for(a=this.Tc.k;a.next();)this.layoutTree(a.value);this.arrangeTrees();this.updateParts()}this.network=null;this.Tc=new na(Object);this.$e=!0};
| function Qp(a,b){f&&t.m(b,Lp,Z,"walkTree:v");if(null!==b){switch(a.zf){case Hp:if(0<b.bc.count){for(var c=new A(Lp),d=b.oI;d.next();){var e=d.value;Wp(a,b,e)&&c.add(e)}0<c.count&&(b.children=c.Ie())}break;case Pp:if(0<b.oc.count){c=new A(Lp);for(d=b.EJ;d.next();)e=d.value,Wp(a,b,e)&&c.add(e);0<c.count&&(b.children=c.Ie())}break;default:t.l("Unhandled path value"+a.zf.toString())}for(var c=b.children,d=c.length,g=0;g<d;g++)e=c[g],e.initialized=!0,e.level=b.level+1,e.parent=b,a.Tc.remove(e);for(g=0;g<
| d;g++)e=c[g],Qp(a,e)}}function Wp(a,b,c){f&&t.m(b,Lp,Z,"walkOK:v");f&&t.m(c,Lp,Z,"walkOK:c");if(c.initialized){var d;f&&t.m(c,Lp,Z,"isAncestor:a");f&&t.m(b,Lp,Z,"isAncestor:b");if(null===b)d=!1;else{for(d=b.parent;null!==d&&d!==c;)d=d.parent;d=d===c}if(d||c.level>b.level)return!1;a.removeChild(c.parent,c)}return!0}
| Z.prototype.removeChild=function(a,b){f&&t.m(a,Lp,Z,"removeChild:p");f&&t.m(b,Lp,Z,"removeChild:c");if(null!==a&&null!==b){for(var c=a.children,d=0,e=0;e<c.length;e++)c[e]===b&&d++;if(0<d){for(var d=Array(c.length-d),g=0,e=0;e<c.length;e++)c[e]!==b&&(d[g++]=c[e]);a.children=d}}};
| function Rp(a,b){f&&t.m(b,Lp,Z,"initializeTree:v");if(null!==b){a.initializeTreeVertexValues(b);b.alignment===Xp&&a.sortTreeVertexChildren(b);for(var c=0,d=b.zm,e=0,g=b.children,h=g.length,k=0;k<h;k++){var l=g[k];Rp(a,l);c+=l.descendantCount+1;d=Math.max(d,l.maxChildrenCount);e=Math.max(e,l.maxGenerationCount)}b.descendantCount=c;b.maxChildrenCount=d;b.maxGenerationCount=0<d?e+1:0}}
| function Yp(a,b){f&&t.m(b,Lp,Z,"mom:v");switch(a.Fs){default:case Ip:return null!==b.parent?b.parent:a.ua;case Zp:return null===b.parent?a.ua:null===b.parent.parent?a.ta:b.parent;case $p:if(null!==b.parent)return null!==b.parent.parent?b.parent.parent:a.ta;case aq:var c=!0;if(0===b.zm)c=!1;else for(var d=b.children,e=d.length,g=0;g<e;g++)if(0<d[g].zm){c=!1;break}return c&&null!==b.parent?a.ta:null!==b.parent?b.parent:a.ua}}
| Z.prototype.initializeTreeVertexValues=function(a){f&&t.m(a,Lp,Z,"initializeTreeVertexValues:v");var b=Yp(this,a);a.copyInheritedPropertiesFrom(b);if(null!==a.parent&&a.parent.alignment===Xp){for(var b=a.angle,c=a.parent.children,d=0;d<c.length&&a!==c[d];)d++;0===d%2?d!==c.length-1&&(b=90===b?180:180===b?270:270===b?180:270):b=90===b?0:180===b?90:270===b?0:90;a.angle=b}a.initialized=!0};
| function Sp(a,b){f&&t.m(b,Lp,Z,"assignTree:v");if(null!==b){a.assignTreeVertexValues(b);for(var c=b.children,d=c.length,e=0;e<d;e++)Sp(a,c[e])}}Z.prototype.assignTreeVertexValues=function(){};function Tp(a,b){f&&t.m(b,Lp,Z,"sortTree:v");if(null!==b){b.alignment!==Xp&&a.sortTreeVertexChildren(b);for(var c=b.children,d=c.length,e=0;e<d;e++)Tp(a,c[e])}}
| Z.prototype.sortTreeVertexChildren=function(a){f&&t.m(a,Lp,Z,"sortTreeVertexChildren:v");switch(a.sorting){case bq:break;case cq:a.children.reverse();break;case dq:a.children.sort(a.comparer);break;case eq:a.children.sort(a.comparer);a.children.reverse();break;default:t.l("Unhandled sorting value "+a.sorting.toString())}};Z.prototype.Yz=function(){if(this.comments)for(var a=this.network.vertexes.k;a.next();)this.addComments(a.value)};
| Z.prototype.addComments=function(a){f&&t.m(a,Lp,Z,"addComments:v");var b=a.angle,c=a.parent,d=0,e=fq,e=!1;null!==c&&(d=c.angle,e=c.alignment,e=gq(e));var b=90===b||270===b,d=90===d||270===d,c=0===a.zm,g=0,h=0,k=0,l=a.commentSpacing;if(null!==a.Dc)for(var m=a.Dc.oE();m.next();){var n=m.value;"Comment"===n.Uc&&n.bb()&&(null===a.comments&&(a.comments=[]),a.comments.push(n),n.Hf(),n=n.Ea,b&&!c||!e&&!d&&c||e&&d&&c?(g=Math.max(g,n.width),h+=n.height+Math.abs(k)):(g+=n.width+Math.abs(k),h=Math.max(h,n.height)),
| k=l)}null!==a.comments&&(b&&!c||!e&&!d&&c||e&&d&&c?(g+=Math.abs(a.commentMargin),h=Math.max(0,h-a.height)):(h+=Math.abs(a.commentMargin),g=Math.max(0,g-a.width)),e=t.gk(0,0,a.T.width+g,a.T.height+h),a.Ib=e,t.cc(e))};function gq(a){return a===hq||a===Xp||a===iq||a===jq}function kq(a){return a===hq||a===Xp}
| function lq(a){f&&t.m(a,Lp,Z,"isLeftSideBus:v");var b=a.parent;if(null!==b){var c=b.alignment;if(gq(c)){if(kq(c)){b=b.children;for(c=0;c<b.length&&a!==b[c];)c++;return 0===c%2}if(c===iq)return!0}}return!1}
| Z.prototype.layoutComments=function(a){f&&t.m(a,Lp,Z,"layoutComments:v");if(null!==a.comments){var b=a.Dc.Ea,c=a.parent,d=a.angle,e=0,g=fq,g=!1;null!==c&&(e=c.angle,g=c.alignment,g=gq(g));for(var d=90===d||270===d,h=90===e||270===e,k=0===a.zm,l=lq(a),m=0,n=a.comments,p=n.length,q=t.K(),r=0;r<p;r++){var c=n[r],s=c.Ea;if(d&&!k||!g&&!h&&k||g&&h&&k){if(135<e&&!g||h&&l)if(0<=a.commentMargin){q.q(a.T.x-a.commentMargin-s.width,a.T.y+m);c.location=q;for(var u=c.mg();u.next();)c=u.value,c.nb=Ub,c.qb=Vb}else for(q.q(a.T.x+
| 2*a.O.x-a.commentMargin,a.T.y+m),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Vb,c.qb=Ub;else if(0<=a.commentMargin)for(q.q(a.T.x+2*a.O.x+a.commentMargin,a.T.y+m),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Vb,c.qb=Ub;else for(q.q(a.T.x+a.commentMargin-s.width,a.T.y+m),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Ub,c.qb=Vb;m=0<=a.commentSpacing?m+(s.height+a.commentSpacing):m+(a.commentSpacing-s.height)}else{if(135<e&&!g||!h&&l)if(0<=a.commentMargin)for(q.q(a.T.x+m,a.T.y-a.commentMargin-s.height),
| c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Qb,c.qb=Wb;else for(q.q(a.T.x+m,a.T.y+2*a.O.y-a.commentMargin),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Wb,c.qb=Qb;else if(0<=a.commentMargin)for(q.q(a.T.x+m,a.T.y+2*a.O.y+a.commentMargin),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Wb,c.qb=Qb;else for(q.q(a.T.x+m,a.T.y+a.commentMargin-s.height),c.location=q,u=c.mg();u.next();)c=u.value,c.nb=Qb,c.qb=Wb;m=0<=a.commentSpacing?m+(s.width+a.commentSpacing):m+(a.commentSpacing-s.width)}}t.B(q);b=
| m-a.commentSpacing-(d?b.height:b.width);if(this.zf===Hp)for(a=a.bc;a.next();)e=a.value,(c=e.link)&&!c.Ui&&(c.Zj=0<b?b:NaN);else for(a=a.oc;a.next();)e=a.value,(c=e.link)&&!c.Ui&&(c.hk=0<b?b:NaN)}};
| Z.prototype.layoutTree=function(a){f&&t.m(a,Lp,Z,"layoutTree:v");if(null!==a){for(var b=a.children,c=b.length,d=0;d<c;d++)this.layoutTree(b[d]);switch(a.compaction){case mq:nq(this,a);break;case oq:if(a.alignment===Xp)nq(this,a);else if(f&&t.m(a,Lp,Z,"layoutTreeBlock:v"),0===a.zm){var d=a.parent,b=!1,c=0,e=fq;null!==d&&(c=d.angle,e=d.alignment,b=gq(e));d=lq(a);a.na.q(0,0);a.Za.q(a.width,a.height);null===a.parent||null===a.comments||(180!==c&&270!==c||b)&&!d?a.Ia.q(0,0):180===c&&!b||(90===c||270===
| c)&&d?a.Ia.q(a.width-2*a.O.x,0):a.Ia.q(0,a.height-2*a.O.y);a.tt=null;a.Jt=null}else{for(var g=pq(a),b=90===g||270===g,h=0,k=a.children,l=k.length,m=0;m<l;m++)var n=k[m],h=Math.max(h,b?n.Za.width:n.Za.height);var p=a.alignment,d=p===qq,q=p===rq,r=gq(p),s=Math.max(0,a.breadthLimit),c=sq(a),u=a.nodeSpacing,x=tq(a),E=a.rowSpacing,G=0;if(d||q||a.Qp||a.Rp&&1===a.maxGenerationCount)G=Math.max(0,a.rowIndent);var d=a.width,e=a.height,C=0,I=0,O=0,N=null,V=null,W=0,Y=0,R=0,wa=0,Sa=0,Ea=0,Ga=0,ia=0,n=0;r&&!kq(p)&&
| 135<g&&k.reverse();if(kq(p))if(1<l)for(m=0;m<l;m++)0===m%2&&m!==l-1?ia=Math.max(ia,b?k[m].Za.width:k[m].Za.height):0!==m%2&&(n=Math.max(n,b?k[m].Za.width:k[m].Za.height));else 1===l&&(ia=b?k[0].Za.width:k[0].Za.height);if(r){switch(p){case hq:Y=135>g?uq(a,k,ia,C,I):vq(a,k,ia,C,I);ia=Y[0];C=Y[1];I=Y[2];break;case iq:for(m=0;m<l;m++){var n=k[m],Oa=n.Za,N=0===Ea?0:E;b?(n.na.q(h-Oa.width,wa+N),C=Math.max(C,Oa.width),I=Math.max(I,wa+N+Oa.height),wa+=N+Oa.height):(n.na.q(R+N,h-Oa.height),C=Math.max(C,R+
| N+Oa.width),I=Math.max(I,Oa.height),R+=N+Oa.width);Ea++}break;case jq:for(m=0;m<l;m++)n=k[m],Oa=n.Za,N=0===Ea?0:E,b?(n.na.q(u/2+a.O.x,wa+N),C=Math.max(C,Oa.width),I=Math.max(I,wa+N+Oa.height),wa+=N+Oa.height):(n.na.q(R+N,u/2+a.O.y),C=Math.max(C,R+N+Oa.width),I=Math.max(I,Oa.height),R+=N+Oa.width),Ea++}N=wq(this,2);V=wq(this,2);b?(N[0].q(0,0),N[1].q(0,I),V[0].q(C,0)):(N[0].q(0,0),N[1].q(C,0),V[0].q(0,I));V[1].q(C,I)}else for(m=0;m<l;m++){n=k[m];Oa=n.Za;if(b){0<s&&0<Ea&&R+u+Oa.width>s&&(R<h&&xq(a,p,
| h-R,0,Ga,m-1),Sa++,Ea=0,Ga=m,O=I,R=0,wa=135<g?-I-E:I+E);yq(this,n,0,wa);var Ha=0;if(0===Ea){if(N=n.tt,V=n.Jt,W=Oa.width,Y=Oa.height,null===N||null===V||g!==pq(n))N=wq(this,2),V=wq(this,2),N[0].q(0,0),N[1].q(0,Y),V[0].q(W,0),V[1].q(W,Y)}else Y=zq(this,a,n,N,V,W,Y),Ha=Y[0],N=Y[1],V=Y[2],W=Y[3],Y=Y[4],R<Oa.width&&0>Ha&&(Aq(a,-Ha,0,Ga,m-1),Bq(N,-Ha,0),Bq(V,-Ha,0),Ha=0);n.na.q(Ha,wa);C=Math.max(C,W);I=Math.max(I,O+(0===Sa?0:E)+Oa.height);R=W}else{0<s&&0<Ea&&wa+u+Oa.height>s&&(wa<h&&xq(a,p,0,h-wa,Ga,m-
| 1),Sa++,Ea=0,Ga=m,O=C,wa=0,R=135<g?-C-E:C+E);yq(this,n,R,0);Ha=0;if(0===Ea){if(N=n.tt,V=n.Jt,W=Oa.width,Y=Oa.height,null===N||null===V||g!==pq(n))N=wq(this,2),V=wq(this,2),N[0].q(0,0),N[1].q(W,0),V[0].q(0,Y),V[1].q(W,Y)}else Y=zq(this,a,n,N,V,W,Y),Ha=Y[0],N=Y[1],V=Y[2],W=Y[3],Y=Y[4],wa<Oa.height&&0>Ha&&(Aq(a,0,-Ha,Ga,m-1),Bq(N,0,-Ha),Bq(V,0,-Ha),Ha=0);n.na.q(R,Ha);I=Math.max(I,Y);C=Math.max(C,O+(0===Sa?0:E)+Oa.width);wa=Y}Ea++}0<Sa&&(b?(I+=Math.max(0,c),R<C&&xq(a,p,C-R,0,Ga,l-1),0<G&&(q||Aq(a,G,0,
| 0,l-1),C+=G)):(C+=Math.max(0,c),wa<I&&xq(a,p,0,I-wa,Ga,l-1),0<G&&(q||Aq(a,0,G,0,l-1),I+=G)));q=h=0;switch(p){case Cq:b?h+=C/2-a.O.x-x/2:q+=I/2-a.O.y-x/2;break;case fq:0<Sa?b?h+=C/2-a.O.x-x/2:q+=I/2-a.O.y-x/2:b?(m=k[0].na.x+k[0].Ia.x,ia=k[l-1].na.x+k[l-1].Ia.x+2*k[l-1].O.x,h+=m+(ia-m)/2-a.O.x-x/2):(m=k[0].na.y+k[0].Ia.y,ia=k[l-1].na.y+k[l-1].Ia.y+2*k[l-1].O.y,q+=m+(ia-m)/2-a.O.y-x/2);break;case qq:b?(h-=x,C+=x):(q-=x,I+=x);break;case rq:b?(h+=C-a.width+x,C+=x):(q+=I-a.height+x,I+=x);break;case hq:b?
| h=1<l?h+(ia+u/2-a.O.x):h+(k[0].O.x-a.O.x+k[0].Ia.x):q=1<l?q+(ia+u/2-a.O.y):q+(k[0].O.y-a.O.y+k[0].Ia.y);break;case iq:b?h+=C+u/2-a.O.x:q+=I+u/2-a.O.y;break;case jq:break;default:t.l("Unhandled alignment value "+p.toString())}for(m=0;m<l;m++)n=k[m],b?n.na.q(n.na.x+n.Ia.x-h,n.na.y+(135<g?(r?-I:-n.Za.height)+n.Ia.y-c:e+c+n.Ia.y)):n.na.q(n.na.x+(135<g?(r?-C:-n.Za.width)+n.Ia.x-c:d+c+n.Ia.x),n.na.y+n.Ia.y-q);l=k=0;r?b?(C=Dq(a,C,h),0>h&&(h=0),135<g&&(q+=I+c),I+=e+c,p===jq&&(k+=u/2+a.O.x),l+=e+c):(135<g&&
| (h+=C+c),C+=d+c,I=Eq(a,I,q),0>q&&(q=0),p===jq&&(l+=u/2+a.O.y),k+=d+c):b?(null===a.comments?d>C&&(p=Fq(p,d-C,0),k=p[0],l=p[1],C=d,h=0):C=Dq(a,C,h),0>h&&(k-=h,h=0),135<g&&(q+=I+c),I=Math.max(Math.max(I,e),I+e+c),l+=e+c):(135<g&&(h+=C+c),C=Math.max(Math.max(C,d),C+d+c),null===a.comments?e>I&&(p=Fq(p,0,e-I),k=p[0],l=p[1],I=e,q=0):I=Eq(a,I,q),0>q&&(l-=q,q=0),k+=d+c);if(0<Sa)g=wq(this,4),p=wq(this,4),b?(g[2].q(0,e+c),g[3].q(g[2].x,I),p[2].q(C,g[2].y),p[3].q(p[2].x,g[3].y)):(g[2].q(d+c,0),g[3].q(C,g[2].y),
| p[2].q(g[2].x,I),p[3].q(g[3].x,p[2].y));else{g=wq(this,N.length+2);p=wq(this,V.length+2);for(m=0;m<N.length;m++)r=N[m],g[m+2].q(r.x+k,r.y+l);for(m=0;m<V.length;m++)r=V[m],p[m+2].q(r.x+k,r.y+l)}b?(g[0].q(h,0),g[1].q(g[0].x,e),g[2].y<g[1].y&&(g[2].x>g[0].x?g[2].assign(g[1]):g[1].assign(g[2])),g[3].y<g[2].y&&(g[3].x>g[0].x?g[3].assign(g[2]):g[2].assign(g[3])),p[0].q(h+d,0),p[1].q(p[0].x,e),p[2].y<p[1].y&&(p[2].x<p[0].x?p[2].assign(p[1]):p[1].assign(p[2])),p[3].y<p[2].y&&(p[3].x<p[0].x?p[3].assign(p[2]):
| p[2].assign(p[3])),g[2].y-=c/2,p[2].y-=c/2):(g[0].q(0,q),g[1].q(d,g[0].y),g[2].x<g[1].x&&(g[2].y>g[0].y?g[2].assign(g[1]):g[1].assign(g[2])),g[3].x<g[2].x&&(g[3].y>g[0].y?g[3].assign(g[2]):g[2].assign(g[3])),p[0].q(0,q+e),p[1].q(d,p[0].y),p[2].x<p[1].x&&(p[2].y<p[0].y?p[2].assign(p[1]):p[1].assign(p[2])),p[3].x<p[2].x&&(p[3].y<p[0].y?p[3].assign(p[2]):p[2].assign(p[3])),g[2].x-=c/2,p[2].x-=c/2);Gq(this,N);Gq(this,V);a.tt=g;a.Jt=p;a.Ia.q(h,q);a.Za.q(C,I)}break;default:t.l("Unhandled compaction value "+
| a.compaction.toString())}}};
| function nq(a,b){f&&t.m(b,Lp,Z,"layoutTreeNone:v");if(0===b.zm){var c=!1,d=0,e=fq;null!==b.parent&&(d=b.parent.angle,e=b.parent.alignment,c=gq(e));e=lq(b);b.na.q(0,0);b.Za.q(b.width,b.height);null===b.parent||null===b.comments||(180!==d&&270!==d||c)&&!e?b.Ia.q(0,0):180===d&&!c||(90===d||270===d)&&e?b.Ia.q(b.width-2*b.O.x,0):b.Ia.q(0,b.height-2*b.O.y)}else{for(var c=pq(b),d=90===c||270===c,g=0,e=b.children,h=e.length,k=0;k<h;k++)var l=e[k],g=Math.max(g,d?l.Za.width:l.Za.height);var m=b.alignment,n=
| m===qq,p=m===rq,q=gq(m),r=Math.max(0,b.breadthLimit),s=sq(b),u=b.nodeSpacing,x=tq(b),E=n||p?0:x/2,G=b.rowSpacing,C=0;if(n||p||b.Qp||b.Rp&&1===b.maxGenerationCount)C=Math.max(0,b.rowIndent);var n=b.width,I=b.height,O=0,N=0,V=0,W=0,Y=0,R=0,wa=0,Sa=0,Ea=0,Ga=0;q&&!kq(m)&&135<c&&e.reverse();if(kq(m))if(1<h)for(k=0;k<h;k++){var l=e[k],ia=l.Za;0===k%2&&k!==h-1?Ea=Math.max(Ea,(d?ia.width:ia.height)+Hq(l)-u):0!==k%2&&(Ga=Math.max(Ga,(d?ia.width:ia.height)+Hq(l)-u))}else 1===h&&(Ea=d?e[0].Za.width:e[0].Za.height);
| if(q)switch(m){case hq:case Xp:N=135>c?uq(b,e,Ea,O,N):vq(b,e,Ea,O,N);Ea=N[0];O=N[1];N=N[2];break;case iq:for(k=0;k<h;k++)l=e[k],ia=l.Za,r=0===wa?0:G,d?(l.na.q(g-ia.width,Y+r),O=Math.max(O,ia.width),N=Math.max(N,Y+r+ia.height),Y+=r+ia.height):(l.na.q(W+r,g-ia.height),O=Math.max(O,W+r+ia.width),N=Math.max(N,ia.height),W+=r+ia.width),wa++;break;case jq:for(g=0;g<h;g++)l=e[g],ia=l.Za,r=0===wa?0:G,d?(l.na.q(u/2+b.O.x,Y+r),O=Math.max(O,ia.width),N=Math.max(N,Y+r+ia.height),Y+=r+ia.height):(l.na.q(W+r,u/
| 2+b.O.y),O=Math.max(O,W+r+ia.width),N=Math.max(N,ia.height),W+=r+ia.width),wa++}else for(k=0;k<h;k++)l=e[k],ia=l.Za,d?(0<r&&0<wa&&W+u+ia.width>r&&(W<g&&xq(b,m,g-W,0,Sa,k-1),R++,wa=0,Sa=k,V=N,W=0,Y=135<c?-N-G:N+G),Ga=0===wa?E:u,yq(a,l,0,Y),l.na.q(W+Ga,Y),O=Math.max(O,W+Ga+ia.width),N=Math.max(N,V+(0===R?0:G)+ia.height),W+=Ga+ia.width):(0<r&&0<wa&&Y+u+ia.height>r&&(Y<g&&xq(b,m,0,g-Y,Sa,k-1),R++,wa=0,Sa=k,V=O,Y=0,W=135<c?-O-G:O+G),Ga=0===wa?E:u,yq(a,l,W,0),l.na.q(W,Y+Ga),N=Math.max(N,Y+Ga+ia.height),
| O=Math.max(O,V+(0===R?0:G)+ia.width),Y+=Ga+ia.height),wa++;0<R&&(d?(N+=Math.max(0,s),W<O&&xq(b,m,O-W,0,Sa,h-1),0<C&&(p||Aq(b,C,0,0,h-1),O+=C)):(O+=Math.max(0,s),Y<N&&xq(b,m,0,N-Y,Sa,h-1),0<C&&(p||Aq(b,0,C,0,h-1),N+=C)));C=p=0;switch(m){case Cq:d?p+=O/2-b.O.x-x/2:C+=N/2-b.O.y-x/2;break;case fq:0<R?d?p+=O/2-b.O.x-x/2:C+=N/2-b.O.y-x/2:d?(m=e[0].na.x+e[0].Ia.x,u=e[h-1].na.x+e[h-1].Ia.x+2*e[h-1].O.x,p+=m+(u-m)/2-b.O.x-x/2):(m=e[0].na.y+e[0].Ia.y,u=e[h-1].na.y+e[h-1].Ia.y+2*e[h-1].O.y,C+=m+(u-m)/2-b.O.y-
| x/2);break;case qq:d?(p-=x,O+=x):(C-=x,N+=x);break;case rq:d?(p+=O-b.width+x,O+=x):(C+=N-b.height+x,N+=x);break;case hq:case Xp:d?p=1<h?p+(Ea+u/2-b.O.x):p+(e[0].O.x-b.O.x+e[0].Ia.x):C=1<h?C+(Ea+u/2-b.O.y):C+(e[0].O.y-b.O.y+e[0].Ia.y);break;case iq:d?p+=O+u/2-b.O.x:C+=N+u/2-b.O.y;break;case jq:break;default:t.l("Unhandled alignment value "+m.toString())}for(k=0;k<h;k++)l=e[k],d?l.na.q(l.na.x+l.Ia.x-p,l.na.y+(135<c?(q?-N:-l.Za.height)+l.Ia.y-s:I+s+l.Ia.y)):l.na.q(l.na.x+(135<c?(q?-O:-l.Za.width)+l.Ia.x-
| s:n+s+l.Ia.x),l.na.y+l.Ia.y-C);d?(O=Dq(b,O,p),0>p&&(p=0),135<c&&(C+=N+s),N+=I+s):(135<c&&(p+=O+s),O+=n+s,N=Eq(b,N,C),0>C&&(C=0));b.Ia.q(p,C);b.Za.q(O,N)}}
| function uq(a,b,c,d,e){f&&t.m(a,Lp,Z,"layoutBusChildrenPosDir:v");var g=b.length;if(0===g)return a=[],a[0]=c,a[1]=d,a[2]=e,a;if(1===g){var h=b[0];d=h.Za.width;e=h.Za.height;a=[];a[0]=c;a[1]=d;a[2]=e;return a}for(var k=a.nodeSpacing,l=a.rowSpacing,m=90===pq(a),n=0,p=0,q=0,r=0;r<g;r++)if(!(0!==r%2||1<g&&r===g-1)){var h=b[r],s=h.Za,u=0===n?0:l;if(m){var x=Hq(h)-k;h.na.q(c-(s.width+x),q+u);d=Math.max(d,s.width+x);e=Math.max(e,q+u+s.height);q+=u+s.height}else x=Hq(h)-k,h.na.q(p+u,c-(s.height+x)),e=Math.max(e,
| s.height+x),d=Math.max(d,p+u+s.width),p+=u+s.width;n++}var n=0,E=p,G=q;m?(p=c+k,q=0):(p=0,q=c+k);for(r=0;r<g;r++)0!==r%2&&(h=b[r],s=h.Za,u=0===n?0:l,m?(x=Hq(h)-k,h.na.q(p+x,q+u),d=Math.max(d,p+s.width+x),e=Math.max(e,q+u+s.height),q+=u+s.height):(x=Hq(h)-k,h.na.q(p+u,q+x),d=Math.max(d,p+u+s.width),e=Math.max(e,q+s.height+x),p+=u+s.width),n++);1<g&&1===g%2&&(h=b[g-1],s=h.Za,b=Iq(h,m?Math.max(Math.abs(G),Math.abs(q)):Math.max(Math.abs(E),Math.abs(p))),m?(h.na.q(c+k/2-h.O.x-h.Ia.x,e+b),m=c+k/2-h.O.x-
| h.Ia.x,d=Math.max(d,m+s.width),0>m&&(d-=m),e=Math.max(e,Math.max(G,q)+b+s.height),0>h.na.x&&(c=Oq(a,h.na.x,!1,c,k))):(h.na.q(d+b,c+k/2-h.O.y-h.Ia.y),d=Math.max(d,Math.max(E,p)+b+s.width),m=c+k/2-h.O.y-h.Ia.y,e=Math.max(e,m+s.height),0>m&&(e-=m),0>h.na.y&&(c=Oq(a,h.na.y,!0,c,k))));a=[];a[0]=c;a[1]=d;a[2]=e;return a}
| function vq(a,b,c,d,e){f&&t.m(a,Lp,Z,"layoutBusChildrenNegDir:v");var g=b.length;if(0===g)return a=[],a[0]=c,a[1]=d,a[2]=e,a;if(1===g){var h=b[0];d=h.Za.width;e=h.Za.height;a=[];a[0]=c;a[1]=d;a[2]=e;return a}for(var k=a.nodeSpacing,l=a.rowSpacing,m=270===pq(a),n=0,p=0,q=0,r=0;r<g;r++)if(!(0!==r%2||1<g&&r===g-1)){var h=b[r],s=h.Za,u=0===n?0:l;if(m){var x=Hq(h)-k,q=q-(u+s.height);h.na.q(c-(s.width+x),q);d=Math.max(d,s.width+x);e=Math.max(e,Math.abs(q))}else x=Hq(h)-k,p-=u+s.width,h.na.q(p,c-(s.height+
| x)),e=Math.max(e,s.height+x),d=Math.max(d,Math.abs(p));n++}var n=0,E=p,G=q;m?(p=c+k,q=0):(p=0,q=c+k);for(r=0;r<g;r++)0!==r%2&&(h=b[r],s=h.Za,u=0===n?0:l,m?(x=Hq(h)-k,q-=u+s.height,h.na.q(p+x,q),d=Math.max(d,p+s.width+x),e=Math.max(e,Math.abs(q))):(x=Hq(h)-k,p-=u+s.width,h.na.q(p,q+x),e=Math.max(e,q+s.height+x),d=Math.max(d,Math.abs(p))),n++);1<g&&1===g%2&&(h=b[g-1],s=h.Za,l=Iq(h,m?Math.max(Math.abs(G),Math.abs(q)):Math.max(Math.abs(E),Math.abs(p))),m?(h.na.q(c+k/2-h.O.x-h.Ia.x,-e-s.height-l),p=c+
| k/2-h.O.x-h.Ia.x,d=Math.max(d,p+s.width),0>p&&(d-=p),e=Math.max(e,Math.abs(Math.min(G,q))+l+s.height),0>h.na.x&&(c=Oq(a,h.na.x,!1,c,k))):(h.na.q(-d-s.width-l,c+k/2-h.O.y-h.Ia.y),d=Math.max(d,Math.abs(Math.min(E,p))+l+s.width),p=c+k/2-h.O.y-h.Ia.y,e=Math.max(e,p+s.height),0>p&&(e-=p),0>h.na.y&&(c=Oq(a,h.na.y,!0,c,k))));for(r=0;r<g;r++)h=b[r],m?h.na.q(h.na.x,h.na.y+e):h.na.q(h.na.x+d,h.na.y);a=[];a[0]=c;a[1]=d;a[2]=e;return a}
| function Hq(a){f&&t.m(a,Lp,Z,"fixRelativePostions:child");return null===a.parent?0:a.parent.nodeSpacing}function Iq(a){f&&t.m(a,Lp,Z,"fixRelativePostions:lastchild");return null===a.parent?0:a.parent.rowSpacing}function Oq(a,b,c,d,e){f&&t.m(a,Lp,Z,"fixRelativePostions:v");a=a.children;for(var g=a.length,h=0;h<g;h++)c?a[h].na.q(a[h].na.x,a[h].na.y-b):a[h].na.q(a[h].na.x-b,a[h].na.y);b=a[g-1];return Math.max(d,c?b.Ia.y+b.O.y-e/2:b.Ia.x+b.O.x-e/2)}
| function Dq(a,b,c){f&&t.m(a,Lp,Z,"calculateSubwidth:v");switch(a.alignment){case fq:case Cq:var d=b;c+a.width>d&&(d=c+a.width);0>c&&(d-=c);return d;case qq:return a.width>b?a.width:b;case rq:return 2*a.O.x>b?a.width:b+a.width-2*a.O.x;case hq:case Xp:return d=Math.min(0,c),c=Math.max(b,c+a.width),Math.max(a.width,c-d);case iq:return a.width-a.O.x+a.nodeSpacing/2+b;case jq:return Math.max(a.width,a.O.x+a.nodeSpacing/2+b);default:return b}}
| function Eq(a,b,c){f&&t.m(a,Lp,Z,"calculateSubheight:v");switch(a.alignment){case fq:case Cq:var d=b;c+a.height>d&&(d=c+a.height);0>c&&(d-=c);return d;case qq:return a.height>b?a.height:b;case rq:return 2*a.O.y>b?a.height:b+a.height-2*a.O.y;case hq:case Xp:return d=Math.min(0,c),c=Math.max(b,c+a.height),Math.max(a.height,c-d);case iq:return a.height-a.O.y+a.nodeSpacing/2+b;case jq:return Math.max(a.height,a.O.y+a.nodeSpacing/2+b);default:return b}}
| function Fq(a,b,c){f&&t.m(a,ca,Z,"alignOffset:align");switch(a){case Cq:b/=2;c/=2;break;case fq:b/=2;c/=2;break;case qq:c=b=0;break;case rq:break;default:t.l("Unhandled alignment value "+a.toString())}a=[];a[0]=b;a[1]=c;return a}function xq(a,b,c,d,e,g){f&&t.m(a,Lp,Z,"shiftRelPosAlign:v");f&&t.m(b,ca,Z,"shiftRelPosAlign:align");b=Fq(b,c,d);Aq(a,b[0],b[1],e,g)}function Aq(a,b,c,d,e){f&&t.m(a,Lp,Z,"shiftRelPos:v");if(0!==b||0!==c)for(a=a.children;d<=e;d++){var g=a[d].na;g.x+=b;g.y+=c}}
| function yq(a,b,c,d){f&&(t.m(b,Lp,Z,"recordMidPoints:v"),t.j(c,"number",Z,"recordMidPoints:x"),t.j(d,"number",Z,"recordMidPoints:y"));var e=b.parent;switch(a.zf){case Hp:for(a=b.oc;a.next();)b=a.value,b.fromVertex===e&&b.Wr.q(c,d);break;case Pp:for(a=b.bc;a.next();)b=a.value,b.toVertex===e&&b.Wr.q(c,d);break;default:t.l("Unhandled path value "+a.zf.toString())}}function Bq(a,b,c){for(var d=0;d<a.length;d++){var e=a[d];e.x+=b;e.y+=c}}
| function zq(a,b,c,d,e,g,h){f&&t.m(b,Lp,Z,"mergeFringes:parent");f&&t.m(c,Lp,Z,"mergeFringes:child");var k=pq(b),l=90===k||270===k,m=b.nodeSpacing;b=d;var n=e;d=g;e=h;var p=c.tt,q=c.Jt;h=c.Za;var r=l?Math.max(e,h.height):Math.max(d,h.width);if(null===p||k!==pq(c))p=wq(a,2),q=wq(a,2),l?(p[0].q(0,0),p[1].q(0,h.height),q[0].q(h.width,0),q[1].q(q[0].x,p[1].y)):(p[0].q(0,0),p[1].q(h.width,0),q[0].q(0,h.height),q[1].q(p[1].x,q[0].y));if(l){c=d;d=9999999;if(!(null===n||2>n.length||null===p||2>p.length))for(g=
| e=0;e<n.length&&g<p.length;){var k=n[e],s=p[g],l=s.x,u=s.y,l=l+c,x=k;e+1<n.length&&(x=n[e+1]);var E=s,s=E.x,E=E.y;g+1<p.length&&(E=p[g+1],s=E.x,E=E.y,s+=c);var G=d;k.y===u?G=l-k.x:k.y>u&&k.y<E?G=l+(k.y-u)/(E-u)*(s-l)-k.x:u>k.y&&u<x.y&&(G=l-(k.x+(u-k.y)/(x.y-k.y)*(x.x-k.x)));G<d&&(d=G);x.y<=k.y?e++:E<=u?g++:(x.y<=E&&e++,E<=x.y&&g++)}c-=d;c+=m;e=p;g=c;if(null===b||2>b.length||null===e||2>e.length)d=null;else{m=wq(a,b.length+e.length);for(d=l=k=0;l<e.length&&e[l].y<b[0].y;)u=e[l++],m[d++].q(u.x+g,u.y);
| for(;k<b.length;)u=b[k++],m[d++].q(u.x,u.y);for(k=b[b.length-1].y;l<e.length&&e[l].y<=k;)l++;for(;l<e.length&&e[l].y>k;)u=e[l++],m[d++].q(u.x+g,u.y);e=wq(a,d);for(k=0;k<d;k++)e[k].assign(m[k]);Gq(a,m);d=e}l=q;u=c;if(null===n||2>n.length||null===l||2>l.length)e=null;else{m=wq(a,n.length+l.length);for(g=x=e=0;e<n.length&&n[e].y<l[0].y;)k=n[e++],m[g++].q(k.x,k.y);for(;x<l.length;)k=l[x++],m[g++].q(k.x+u,k.y);for(l=l[l.length-1].y;e<n.length&&n[e].y<=l;)e++;for(;e<n.length&&n[e].y>l;)k=n[e++],m[g++].q(k.x,
| k.y);k=wq(a,g);for(e=0;e<g;e++)k[e].assign(m[e]);Gq(a,m);e=k}g=Math.max(0,c)+h.width;h=r}else{c=e;d=9999999;if(!(null===n||2>n.length||null===p||2>p.length))for(g=e=0;e<n.length&&g<p.length;)k=n[e],s=p[g],l=s.x,u=s.y,u+=c,x=k,e+1<n.length&&(x=n[e+1]),E=s,s=E.x,E=E.y,g+1<p.length&&(E=p[g+1],s=E.x,E=E.y,E+=c),G=d,k.x===l?G=u-k.y:k.x>l&&k.x<s?G=u+(k.x-l)/(s-l)*(E-u)-k.y:l>k.x&&l<x.x&&(G=u-(k.y+(l-k.x)/(x.x-k.x)*(x.y-k.y))),G<d&&(d=G),x.x<=k.x?e++:s<=l?g++:(x.x<=s&&e++,s<=x.x&&g++);c-=d;c+=m;e=p;g=c;
| if(null===b||2>b.length||null===e||2>e.length)d=null;else{m=wq(a,b.length+e.length);for(d=l=k=0;l<e.length&&e[l].x<b[0].x;)u=e[l++],m[d++].q(u.x,u.y+g);for(;k<b.length;)u=b[k++],m[d++].q(u.x,u.y);for(k=b[b.length-1].x;l<e.length&&e[l].x<=k;)l++;for(;l<e.length&&e[l].x>k;)u=e[l++],m[d++].q(u.x,u.y+g);e=wq(a,d);for(k=0;k<d;k++)e[k].assign(m[k]);Gq(a,m);d=e}l=q;u=c;if(null===n||2>n.length||null===l||2>l.length)e=null;else{m=wq(a,n.length+l.length);for(g=x=e=0;e<n.length&&n[e].x<l[0].x;)k=n[e++],m[g++].q(k.x,
| k.y);for(;x<l.length;)k=l[x++],m[g++].q(k.x,k.y+u);for(l=l[l.length-1].x;e<n.length&&n[e].x<=l;)e++;for(;e<n.length&&n[e].x>l;)k=n[e++],m[g++].q(k.x,k.y);k=wq(a,g);for(e=0;e<g;e++)k[e].assign(m[e]);Gq(a,m);e=k}g=r;h=Math.max(0,c)+h.height}Gq(a,b);Gq(a,p);Gq(a,n);Gq(a,q);a=[];a[0]=c;a[1]=d;a[2]=e;a[3]=g;a[4]=h;return a}function wq(a,b){a.zs||(a.zs=[]);var c=a.zs[b];if(void 0!==c&&(c=c.pop(),void 0!==c))return c;for(var c=[],d=0;d<b;d++)c[d]=new v;return c}
| function Gq(a,b){if(a.zs){var c=b.length,d=a.zs[c];void 0===d&&(d=[],a.zs[c]=d);d.push(b)}}
| Z.prototype.arrangeTrees=function(){if(this.Zc===Op)for(var a=this.Tc.k;a.next();){var b=a.value,c=b.Dc;if(null!==c){var d=c.position,c=d.x,d=d.y;isFinite(c)||(c=0);isFinite(d)||(d=0);Pq(this,b,c,d)}}else for(a=this.Bd,c=a.x,d=a.y,a=this.Tc.k;a.next();)switch(b=a.value,Pq(this,b,c+b.Ia.x,d+b.Ia.y),this.Zc){case Kp:d+=b.Za.height+this.Xf.height;break;case Qq:c+=b.Za.width+this.Xf.width;break;default:t.l("Unhandled arrangement value "+this.Zc.toString())}};
| function Pq(a,b,c,d){if(null!==b){f&&t.m(b,Lp,Z,"assignAbsolutePositions:v");b.x=c;b.y=d;b=b.children;for(var e=b.length,g=0;g<e;g++){var h=b[g];Pq(a,h,c+h.na.x,d+h.na.y)}}}Z.prototype.commitLayout=function(){this.nB();this.commitNodes();this.fA();this.rt&&this.commitLinks()};Z.prototype.commitNodes=function(){for(var a=this.network.vertexes.k,b;a.next();)b=a.value,b.commit();for(a.reset();a.next();)b=a.value,this.layoutComments(b)};
| Z.prototype.fA=function(){if(this.Sw===Up){for(var a=this.RB,b=[],c=null,d=this.network.vertexes.k;d.next();){var e=d.value;null===c?c=e.Ib.copy():c.dj(e.Ib);var g=b[e.level],g=void 0===g?sq(e):Math.max(g,sq(e));b[e.level]=g}for(d=0;d<b.length;d++)void 0===b[d]&&(b[d]=0);90===this.angle||270===this.angle?(c.Lf(this.nodeSpacing/2,this.layerSpacing),e=new v(-this.nodeSpacing/2,-this.layerSpacing/2)):(c.Lf(this.layerSpacing,this.nodeSpacing/2),e=new v(-this.layerSpacing/2,-this.nodeSpacing/2));var g=
| [],c=90===this.angle||270===this.angle?c.width:c.height,h=0;if(180===this.angle||270===this.angle)for(d=0;d<a.length;d++)h+=a[d]+b[d];for(d=0;d<a.length;d++){var k=a[d]+b[d];270===this.angle?(h-=k,g.push(new w(0,h,c,k))):90===this.angle?(g.push(new w(0,h,c,k)),h+=k):180===this.angle?(h-=k,g.push(new w(h,0,k,c))):(g.push(new w(h,0,k,c)),h+=k)}this.commitLayers(g,e)}};Z.prototype.commitLayers=function(){};Z.prototype.commitLinks=function(){for(var a=this.network.edges.k;a.next();)a.value.commit()};
| Z.prototype.nB=function(){for(var a=this.Tc.k;a.next();)Rq(this,a.value)};function Rq(a,b){if(null!==b){f&&t.m(b,Lp,Z,"setPortSpotsTree:v");a.setPortSpots(b);for(var c=b.children,d=c.length,e=0;e<d;e++)Rq(a,c[e])}}
| Z.prototype.setPortSpots=function(a){f&&t.m(a,Lp,Z,"setPortSpots:v");var b=a.alignment;if(gq(b)){f&&t.m(a,Lp,Z,"setPortSpotsBus:v");f&&t.m(b,ca,Z,"setPortSpots:align");var c=this.zf===Hp,d=pq(a),e;switch(d){case 0:e=Vb;break;case 90:e=Wb;break;case 180:e=Ub;break;default:e=Qb}var g=a.children,h=g.length;switch(b){case hq:case Xp:for(b=0;b<h;b++){var k=g[b],k=c?k.oc:k.bc;if(k.next()){var l=k.value,l=l.link;if(null!==l){var m=90===d||270===d?Ub:Qb;if(1===h||b===h-1&&1===h%2)switch(d){case 0:m=Ub;break;
| case 90:m=Qb;break;case 180:m=Vb;break;default:m=Wb}else 0===b%2&&(m=90===d||270===d?Vb:Wb);c?(a.setsPortSpot&&(l.nb=e),a.setsChildPortSpot&&(l.qb=m)):(a.setsPortSpot&&(l.nb=m),a.setsChildPortSpot&&(l.qb=e))}}}break;case iq:m=90===d||270===d?Vb:Wb;for(k=c?a.bc:a.oc;k.next();)l=k.value,l=l.link,null!==l&&(c?(a.setsPortSpot&&(l.nb=e),a.setsChildPortSpot&&(l.qb=m)):(a.setsPortSpot&&(l.nb=m),a.setsChildPortSpot&&(l.qb=e)));break;case jq:for(m=90===d||270===d?Ub:Qb,k=c?a.bc:a.oc;k.next();)l=k.value,l=
| l.link,null!==l&&(c?(a.setsPortSpot&&(l.nb=e),a.setsChildPortSpot&&(l.qb=m)):(a.setsPortSpot&&(l.nb=m),a.setsChildPortSpot&&(l.qb=e)))}}else if(c=pq(a),this.zf===Hp)for(d=a.bc;d.next();){if(e=d.value,e=e.link,null!==e){if(a.setsPortSpot)if(a.portSpot.Lc())switch(c){case 0:e.nb=Vb;break;case 90:e.nb=Wb;break;case 180:e.nb=Ub;break;default:e.nb=Qb}else e.nb=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Lc())switch(c){case 0:e.qb=Ub;break;case 90:e.qb=Qb;break;case 180:e.qb=Vb;break;default:e.qb=
| Wb}else e.qb=a.childPortSpot}}else for(d=a.oc;d.next();)if(e=d.value,e=e.link,null!==e){if(a.setsPortSpot)if(a.portSpot.Lc())switch(c){case 0:e.qb=Vb;break;case 90:e.qb=Wb;break;case 180:e.qb=Ub;break;default:e.qb=Qb}else e.qb=a.portSpot;if(a.setsChildPortSpot)if(a.childPortSpot.Lc())switch(c){case 0:e.nb=Ub;break;case 90:e.nb=Qb;break;case 180:e.nb=Vb;break;default:e.nb=Wb}else e.nb=a.childPortSpot}};function pq(a){a=a.angle;return 45>=a?0:135>=a?90:225>=a?180:315>=a?270:0}
| function sq(a){f&&t.m(a,Lp,Z,"computeLayerSpacing:v");var b=pq(a),b=90===b||270===b,c=a.layerSpacing;if(0<a.layerSpacingParentOverlap)var d=Math.min(1,a.layerSpacingParentOverlap),c=c-(b?a.height*d:a.width*d);c<(b?-a.height:-a.width)&&(c=b?-a.height:-a.width);return c}function tq(a){f&&t.m(a,Lp,Z,"computeNodeIndent:v");var b=pq(a),b=90===b||270===b,c=a.nodeIndent;if(0<a.nodeIndentPastParent)var d=Math.min(1,a.nodeIndentPastParent),c=c+(b?a.width*d:a.height*d);return c=Math.max(0,c)}
| t.g(Z,"roots",Z.prototype.zJ);t.defineProperty(Z,{zJ:"roots"},function(){return this.Tc},function(a){this.Tc!==a&&(t.m(a,na,Z,"roots"),this.Tc=a,this.J())});t.g(Z,"path",Z.prototype.path);t.defineProperty(Z,{path:"path"},function(){return this.yi},function(a){this.yi!==a&&(t.m(a,ca,Z,"path"),this.yi=a,this.J())});t.g(Z,"treeStyle",Z.prototype.zG);
| t.defineProperty(Z,{zG:"treeStyle"},function(){return this.Fs},function(a){this.Zc!==a&&(f&&t.m(a,ca,Z,"treeStyle"),a===Ip||a===$p||a===aq||a===Zp)&&(this.Fs=a,this.J())});t.g(Z,"layerStyle",Z.prototype.Sw);t.defineProperty(Z,{Sw:"layerStyle"},function(){return this.Vu},function(a){this.Zc!==a&&(f&&t.m(a,ca,Z,"layerStyle"),a===Jp||a===Vp||a===Up)&&(this.Vu=a,this.J())});t.g(Z,"comments",Z.prototype.comments);
| t.defineProperty(Z,{comments:"comments"},function(){return this.eh},function(a){this.eh!==a&&(this.eh=a,this.J())});t.g(Z,"arrangement",Z.prototype.Re);t.defineProperty(Z,{Re:"arrangement"},function(){return this.Zc},function(a){this.Zc!==a&&(f&&t.m(a,ca,Z,"arrangement"),a===Kp||a===Qq||a===Op)&&(this.Zc=a,this.J())});t.g(Z,"arrangementSpacing",Z.prototype.$v);t.defineProperty(Z,{$v:"arrangementSpacing"},function(){return this.Xf},function(a){this.Xf.M(a)||(this.Xf.assign(a),this.J())});
| t.g(Z,"rootDefaults",Z.prototype.yJ);t.defineProperty(Z,{yJ:"rootDefaults"},function(){return this.ua},function(a){this.ua!==a&&(f&&t.m(a,Lp,Z,"rootDefaults"),this.ua=a,this.J())});t.g(Z,"alternateDefaults",Z.prototype.DH);t.defineProperty(Z,{DH:"alternateDefaults"},function(){return this.ta},function(a){this.ta!==a&&(f&&t.m(a,Lp,Z,"alternateDefaults"),this.ta=a,this.J())});t.g(Z,"sorting",Z.prototype.sorting);
| t.defineProperty(Z,{sorting:"sorting"},function(){return this.ua.sorting},function(a){this.ua.sorting!==a&&(f&&t.m(a,ca,Z,"sorting"),a===bq||a===cq||a===dq||eq)&&(this.ua.sorting=a,this.J())});t.g(Z,"comparer",Z.prototype.comparer);t.defineProperty(Z,{comparer:"comparer"},function(){return this.ua.comparer},function(a){this.ua.comparer!==a&&(f&&t.j(a,"function",Z,"comparer"),this.ua.comparer=a,this.J())});t.g(Z,"angle",Z.prototype.angle);
| t.defineProperty(Z,{angle:"angle"},function(){return this.ua.angle},function(a){this.ua.angle===a||0!==a&&90!==a&&180!==a&&270!==a||(this.ua.angle=a,this.J())});t.g(Z,"alignment",Z.prototype.alignment);t.defineProperty(Z,{alignment:"alignment"},function(){return this.ua.alignment},function(a){this.ua.alignment!==a&&(f&&t.sb(a,Z,Z,"alignment"),this.ua.alignment=a,this.J())});t.g(Z,"nodeIndent",Z.prototype.nodeIndent);
| t.defineProperty(Z,{nodeIndent:"nodeIndent"},function(){return this.ua.nodeIndent},function(a){this.ua.nodeIndent!==a&&0<=a&&(this.ua.nodeIndent=a,this.J())});t.g(Z,"nodeIndentPastParent",Z.prototype.nodeIndentPastParent);t.defineProperty(Z,{nodeIndentPastParent:"nodeIndentPastParent"},function(){return this.ua.nodeIndentPastParent},function(a){this.ua.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.ua.nodeIndentPastParent=a,this.J())});t.g(Z,"nodeSpacing",Z.prototype.nodeSpacing);
| t.defineProperty(Z,{nodeSpacing:"nodeSpacing"},function(){return this.ua.nodeSpacing},function(a){this.ua.nodeSpacing!==a&&(this.ua.nodeSpacing=a,this.J())});t.g(Z,"layerSpacing",Z.prototype.layerSpacing);t.defineProperty(Z,{layerSpacing:"layerSpacing"},function(){return this.ua.layerSpacing},function(a){this.ua.layerSpacing!==a&&(this.ua.layerSpacing=a,this.J())});t.g(Z,"layerSpacingParentOverlap",Z.prototype.layerSpacingParentOverlap);
| t.defineProperty(Z,{layerSpacingParentOverlap:"layerSpacingParentOverlap"},function(){return this.ua.layerSpacingParentOverlap},function(a){this.ua.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.ua.layerSpacingParentOverlap=a,this.J())});t.g(Z,"compaction",Z.prototype.compaction);t.defineProperty(Z,{compaction:"compaction"},function(){return this.ua.compaction},function(a){this.ua.compaction!==a&&(f&&t.m(a,ca,Z,"compaction"),a===mq||a===oq)&&(this.ua.compaction=a,this.J())});
| t.g(Z,"breadthLimit",Z.prototype.breadthLimit);t.defineProperty(Z,{breadthLimit:"breadthLimit"},function(){return this.ua.breadthLimit},function(a){this.ua.breadthLimit!==a&&0<=a&&(this.ua.breadthLimit=a,this.J())});t.g(Z,"rowSpacing",Z.prototype.rowSpacing);t.defineProperty(Z,{rowSpacing:"rowSpacing"},function(){return this.ua.rowSpacing},function(a){this.ua.rowSpacing!==a&&(this.ua.rowSpacing=a,this.J())});t.g(Z,"rowIndent",Z.prototype.rowIndent);
| t.defineProperty(Z,{rowIndent:"rowIndent"},function(){return this.ua.rowIndent},function(a){this.ua.rowIndent!==a&&0<=a&&(this.ua.rowIndent=a,this.J())});t.g(Z,"commentSpacing",Z.prototype.commentSpacing);t.defineProperty(Z,{commentSpacing:"commentSpacing"},function(){return this.ua.commentSpacing},function(a){this.ua.commentSpacing!==a&&(this.ua.commentSpacing=a,this.J())});t.g(Z,"commentMargin",Z.prototype.commentMargin);
| t.defineProperty(Z,{commentMargin:"commentMargin"},function(){return this.ua.commentMargin},function(a){this.ua.commentMargin!==a&&(this.ua.commentMargin=a,this.J())});t.g(Z,"setsPortSpot",Z.prototype.setsPortSpot);t.defineProperty(Z,{setsPortSpot:"setsPortSpot"},function(){return this.ua.setsPortSpot},function(a){this.ua.setsPortSpot!==a&&(this.ua.setsPortSpot=a,this.J())});t.g(Z,"portSpot",Z.prototype.portSpot);
| t.defineProperty(Z,{portSpot:"portSpot"},function(){return this.ua.portSpot},function(a){this.ua.portSpot.M(a)||(this.ua.portSpot=a,this.J())});t.g(Z,"setsChildPortSpot",Z.prototype.setsChildPortSpot);t.defineProperty(Z,{setsChildPortSpot:"setsChildPortSpot"},function(){return this.ua.setsChildPortSpot},function(a){this.ua.setsChildPortSpot!==a&&(this.ua.setsChildPortSpot=a,this.J())});t.g(Z,"childPortSpot",Z.prototype.childPortSpot);
| t.defineProperty(Z,{childPortSpot:"childPortSpot"},function(){return this.ua.childPortSpot},function(a){this.ua.childPortSpot.M(a)||(this.ua.childPortSpot=a,this.J())});t.g(Z,"alternateSorting",Z.prototype.OH);t.defineProperty(Z,{OH:"alternateSorting"},function(){return this.ta.sorting},function(a){this.ta.sorting!==a&&(f&&t.m(a,ca,Z,"alternateSorting"),a===bq||a===cq||a===dq||eq)&&(this.ta.sorting=a,this.J())});t.g(Z,"alternateComparer",Z.prototype.CH);
| t.defineProperty(Z,{CH:"alternateComparer"},function(){return this.ta.comparer},function(a){this.ta.comparer!==a&&(f&&t.j(a,"function",Z,"alternateComparer"),this.ta.comparer=a,this.J())});t.g(Z,"alternateAngle",Z.prototype.wH);t.defineProperty(Z,{wH:"alternateAngle"},function(){return this.ta.angle},function(a){this.ta.angle===a||0!==a&&90!==a&&180!==a&&270!==a||(this.ta.angle=a,this.J())});t.g(Z,"alternateAlignment",Z.prototype.vH);
| t.defineProperty(Z,{vH:"alternateAlignment"},function(){return this.ta.alignment},function(a){this.ta.alignment!==a&&(f&&t.sb(a,Z,Z,"alternateAlignment"),this.ta.alignment=a,this.J())});t.g(Z,"alternateNodeIndent",Z.prototype.GH);t.defineProperty(Z,{GH:"alternateNodeIndent"},function(){return this.ta.nodeIndent},function(a){this.ta.nodeIndent!==a&&0<=a&&(this.ta.nodeIndent=a,this.J())});t.g(Z,"alternateNodeIndentPastParent",Z.prototype.HH);
| t.defineProperty(Z,{HH:"alternateNodeIndentPastParent"},function(){return this.ta.nodeIndentPastParent},function(a){this.ta.nodeIndentPastParent!==a&&0<=a&&1>=a&&(this.ta.nodeIndentPastParent=a,this.J())});t.g(Z,"alternateNodeSpacing",Z.prototype.IH);t.defineProperty(Z,{IH:"alternateNodeSpacing"},function(){return this.ta.nodeSpacing},function(a){this.ta.nodeSpacing!==a&&(this.ta.nodeSpacing=a,this.J())});t.g(Z,"alternateLayerSpacing",Z.prototype.EH);
| t.defineProperty(Z,{EH:"alternateLayerSpacing"},function(){return this.ta.layerSpacing},function(a){this.ta.layerSpacing!==a&&(this.ta.layerSpacing=a,this.J())});t.g(Z,"alternateLayerSpacingParentOverlap",Z.prototype.FH);t.defineProperty(Z,{FH:"alternateLayerSpacingParentOverlap"},function(){return this.ta.layerSpacingParentOverlap},function(a){this.ta.layerSpacingParentOverlap!==a&&0<=a&&1>=a&&(this.ta.layerSpacingParentOverlap=a,this.J())});t.g(Z,"alternateCompaction",Z.prototype.BH);
| t.defineProperty(Z,{BH:"alternateCompaction"},function(){return this.ta.compaction},function(a){this.ta.compaction!==a&&(f&&t.m(a,ca,Z,"alternateCompaction"),a===mq||a===oq)&&(this.ta.compaction=a,this.J())});t.g(Z,"alternateBreadthLimit",Z.prototype.xH);t.defineProperty(Z,{xH:"alternateBreadthLimit"},function(){return this.ta.breadthLimit},function(a){this.ta.breadthLimit!==a&&0<=a&&(this.ta.breadthLimit=a,this.J())});t.g(Z,"alternateRowSpacing",Z.prototype.LH);
| t.defineProperty(Z,{LH:"alternateRowSpacing"},function(){return this.ta.rowSpacing},function(a){this.ta.rowSpacing!==a&&(this.ta.rowSpacing=a,this.J())});t.g(Z,"alternateRowIndent",Z.prototype.KH);t.defineProperty(Z,{KH:"alternateRowIndent"},function(){return this.ta.rowIndent},function(a){this.ta.rowIndent!==a&&0<=a&&(this.ta.rowIndent=a,this.J())});t.g(Z,"alternateCommentSpacing",Z.prototype.AH);
| t.defineProperty(Z,{AH:"alternateCommentSpacing"},function(){return this.ta.commentSpacing},function(a){this.ta.commentSpacing!==a&&(this.ta.commentSpacing=a,this.J())});t.g(Z,"alternateCommentMargin",Z.prototype.zH);t.defineProperty(Z,{zH:"alternateCommentMargin"},function(){return this.ta.commentMargin},function(a){this.ta.commentMargin!==a&&(this.ta.commentMargin=a,this.J())});t.g(Z,"alternateSetsPortSpot",Z.prototype.NH);
| t.defineProperty(Z,{NH:"alternateSetsPortSpot"},function(){return this.ta.setsPortSpot},function(a){this.ta.setsPortSpot!==a&&(this.ta.setsPortSpot=a,this.J())});t.g(Z,"alternatePortSpot",Z.prototype.JH);t.defineProperty(Z,{JH:"alternatePortSpot"},function(){return this.ta.portSpot},function(a){this.ta.portSpot.M(a)||(this.ta.portSpot=a,this.J())});t.g(Z,"alternateSetsChildPortSpot",Z.prototype.MH);
| t.defineProperty(Z,{MH:"alternateSetsChildPortSpot"},function(){return this.ta.setsChildPortSpot},function(a){this.ta.setsChildPortSpot!==a&&(this.ta.setsChildPortSpot=a,this.J())});t.g(Z,"alternateChildPortSpot",Z.prototype.yH);t.defineProperty(Z,{yH:"alternateChildPortSpot"},function(){return this.ta.childPortSpot},function(a){this.ta.childPortSpot.M(a)||(this.ta.childPortSpot=a,this.J())});var Gp;Z.PathDefault=Gp=t.w(Z,"PathDefault",-1);var Hp;Z.PathDestination=Hp=t.w(Z,"PathDestination",0);var Pp;
| Z.PathSource=Pp=t.w(Z,"PathSource",1);var bq;Z.SortingForwards=bq=t.w(Z,"SortingForwards",10);var cq;Z.SortingReverse=cq=t.w(Z,"SortingReverse",11);var dq;Z.SortingAscending=dq=t.w(Z,"SortingAscending",12);var eq;Z.SortingDescending=eq=t.w(Z,"SortingDescending",13);var Cq;Z.AlignmentCenterSubtrees=Cq=t.w(Z,"AlignmentCenterSubtrees",20);var fq;Z.AlignmentCenterChildren=fq=t.w(Z,"AlignmentCenterChildren",21);var qq;Z.AlignmentStart=qq=t.w(Z,"AlignmentStart",22);var rq;
| Z.AlignmentEnd=rq=t.w(Z,"AlignmentEnd",23);var hq;Z.AlignmentBus=hq=t.w(Z,"AlignmentBus",24);var Xp;Z.AlignmentBusBranching=Xp=t.w(Z,"AlignmentBusBranching",25);var iq;Z.AlignmentTopLeftBus=iq=t.w(Z,"AlignmentTopLeftBus",26);var jq;Z.AlignmentBottomRightBus=jq=t.w(Z,"AlignmentBottomRightBus",27);var mq;Z.CompactionNone=mq=t.w(Z,"CompactionNone",30);var oq;Z.CompactionBlock=oq=t.w(Z,"CompactionBlock",31);var Ip;Z.StyleLayered=Ip=t.w(Z,"StyleLayered",40);var aq;
| Z.StyleLastParents=aq=t.w(Z,"StyleLastParents",41);var $p;Z.StyleAlternating=$p=t.w(Z,"StyleAlternating",42);var Zp;Z.StyleRootOnly=Zp=t.w(Z,"StyleRootOnly",43);var Kp;Z.ArrangementVertical=Kp=t.w(Z,"ArrangementVertical",50);var Qq;Z.ArrangementHorizontal=Qq=t.w(Z,"ArrangementHorizontal",51);var Op;Z.ArrangementFixedRoots=Op=t.w(Z,"ArrangementFixedRoots",52);var Jp;Z.LayerIndividual=Jp=t.w(Z,"LayerIndividual",60);var Vp;Z.LayerSiblings=Vp=t.w(Z,"LayerSiblings",61);var Up;
| Z.LayerUniform=Up=t.w(Z,"LayerUniform",62);function Mp(){ta.call(this)}t.ga("TreeNetwork",Mp);t.Ka(Mp,ta);Mp.prototype.createVertex=function(){return new Lp};Mp.prototype.createEdge=function(){return new Sq};
| function Lp(){ua.call(this);this.initialized=!1;this.parent=null;this.children=[];this.maxGenerationCount=this.maxChildrenCount=this.descendantCount=this.level=0;this.comments=null;this.na=new v(0,0);this.Za=new fa(0,0);this.Ia=new v(0,0);this.Rp=this.Qp=this.AJ=!1;this.Jt=this.tt=null;this.sorting=bq;this.comparer=Ln;this.angle=0;this.alignment=fq;this.nodeIndentPastParent=this.nodeIndent=0;this.nodeSpacing=20;this.layerSpacing=50;this.layerSpacingParentOverlap=0;this.compaction=oq;this.breadthLimit=
| 0;this.rowSpacing=25;this.commentSpacing=this.rowIndent=10;this.commentMargin=20;this.setsPortSpot=!0;this.portSpot=xb;this.setsChildPortSpot=!0;this.childPortSpot=xb}t.ga("TreeVertex",Lp);t.Ka(Lp,ua);
| Lp.prototype.copyInheritedPropertiesFrom=function(a){null!==a&&(this.sorting=a.sorting,this.comparer=a.comparer,this.angle=a.angle,this.alignment=a.alignment,this.nodeIndent=a.nodeIndent,this.nodeIndentPastParent=a.nodeIndentPastParent,this.nodeSpacing=a.nodeSpacing,this.layerSpacing=a.layerSpacing,this.layerSpacingParentOverlap=a.layerSpacingParentOverlap,this.compaction=a.compaction,this.breadthLimit=a.breadthLimit,this.rowSpacing=a.rowSpacing,this.rowIndent=a.rowIndent,this.commentSpacing=a.commentSpacing,
| this.commentMargin=a.commentMargin,this.setsPortSpot=a.setsPortSpot,this.portSpot=a.portSpot,this.setsChildPortSpot=a.setsChildPortSpot,this.childPortSpot=a.childPortSpot)};t.A(Lp,{zm:"childrenCount"},function(){return this.children.length});t.g(Lp,"relativePosition",Lp.prototype.uJ);t.defineProperty(Lp,{uJ:"relativePosition"},function(){return this.na},function(a){t.m(a,v,Lp,"relativePosition");this.na.set(a)});t.g(Lp,"subtreeSize",Lp.prototype.KJ);
| t.defineProperty(Lp,{KJ:"subtreeSize"},function(){return this.Za},function(a){t.m(a,fa,Lp,"subtreeSize");this.Za.set(a)});t.g(Lp,"subtreeOffset",Lp.prototype.JJ);t.defineProperty(Lp,{JJ:"subtreeOffset"},function(){return this.Ia},function(a){t.m(a,v,Lp,"subtreeOffset");this.Ia.set(a)});function Sq(){va.call(this);this.Wr=new v(0,0)}t.ga("TreeEdge",Sq);t.Ka(Sq,va);
| Sq.prototype.commit=function(){var a=this.link;if(null!==a&&!a.Ui){var b=this.network.ec,c=null,d=null;switch(b.zf){case Hp:c=this.fromVertex;d=this.toVertex;break;case Pp:c=this.toVertex;d=this.fromVertex;break;default:t.l("Unhandled path value "+b.zf.toString())}if(null!==c&&null!==d)if(b=this.Wr,0!==b.x||0!==b.y||c.AJ){var d=c.Ib,e=pq(c),g=sq(c),h=c.rowSpacing;a.updateRoute();var k=a.De===Mg,l=a.dc,m,n,p,q;a.vl();if(l||k){for(m=2;4<a.oa;)a.DF(2);n=a.o(1);p=a.o(2)}else{for(m=1;3<a.oa;)a.DF(1);n=
| a.o(0);p=a.o(a.oa-1)}q=a.o(a.oa-1);0===e?(c.alignment===rq?(e=d.bottom+b.y,0===b.y&&n.y>q.y+c.rowIndent&&(e=Math.min(e,Math.max(n.y,e-tq(c))))):c.alignment===qq?(e=d.top+b.y,0===b.y&&n.y<q.y-c.rowIndent&&(e=Math.max(e,Math.min(n.y,e+tq(c))))):e=c.Qp||c.Rp&&1===c.maxGenerationCount?d.top-c.Ia.y+b.y:d.y+d.height/2+b.y,k?(a.C(m,n.x,e),m++,a.C(m,d.right+g,e),m++,a.C(m,d.right+g+(b.x-h)/3,e),m++,a.C(m,d.right+g+2*(b.x-h)/3,e),m++,a.C(m,d.right+g+(b.x-h),e),m++,a.C(m,p.x,e)):(l&&(a.C(m,d.right+g/2,n.y),
| m++),a.C(m,d.right+g/2,e),m++,a.C(m,d.right+g+b.x-(l?h/2:h),e),m++,l&&a.C(m,a.o(m-1).x,p.y))):90===e?(c.alignment===rq?(e=d.right+b.x,0===b.x&&n.x>q.x+c.rowIndent&&(e=Math.min(e,Math.max(n.x,e-tq(c))))):c.alignment===qq?(e=d.left+b.x,0===b.x&&n.x<q.x-c.rowIndent&&(e=Math.max(e,Math.min(n.x,e+tq(c))))):e=c.Qp||c.Rp&&1===c.maxGenerationCount?d.left-c.Ia.x+b.x:d.x+d.width/2+b.x,k?(a.C(m,e,n.y),m++,a.C(m,e,d.bottom+g),m++,a.C(m,e,d.bottom+g+(b.y-h)/3),m++,a.C(m,e,d.bottom+g+2*(b.y-h)/3),m++,a.C(m,e,d.bottom+
| g+(b.y-h)),m++,a.C(m,e,p.y)):(l&&(a.C(m,n.x,d.bottom+g/2),m++),a.C(m,e,d.bottom+g/2),m++,a.C(m,e,d.bottom+g+b.y-(l?h/2:h)),m++,l&&a.C(m,p.x,a.o(m-1).y))):180===e?(c.alignment===rq?(e=d.bottom+b.y,0===b.y&&n.y>q.y+c.rowIndent&&(e=Math.min(e,Math.max(n.y,e-tq(c))))):c.alignment===qq?(e=d.top+b.y,0===b.y&&n.y<q.y-c.rowIndent&&(e=Math.max(e,Math.min(n.y,e+tq(c))))):e=c.Qp||c.Rp&&1===c.maxGenerationCount?d.top-c.Ia.y+b.y:d.y+d.height/2+b.y,k?(a.C(m,n.x,e),m++,a.C(m,d.left-g,e),m++,a.C(m,d.left-g+(b.x+
| h)/3,e),m++,a.C(m,d.left-g+2*(b.x+h)/3,e),m++,a.C(m,d.left-g+(b.x+h),e),m++,a.C(m,p.x,e)):(l&&(a.C(m,d.left-g/2,n.y),m++),a.C(m,d.left-g/2,e),m++,a.C(m,d.left-g+b.x+(l?h/2:h),e),m++,l&&a.C(m,a.o(m-1).x,p.y))):270===e?(c.alignment===rq?(e=d.right+b.x,0===b.x&&n.x>q.x+c.rowIndent&&(e=Math.min(e,Math.max(n.x,e-tq(c))))):c.alignment===qq?(e=d.left+b.x,0===b.x&&n.x<q.x-c.rowIndent&&(e=Math.max(e,Math.min(n.x,e+tq(c))))):e=c.Qp||c.Rp&&1===c.maxGenerationCount?d.left-c.Ia.x+b.x:d.x+d.width/2+b.x,k?(a.C(m,
| e,n.y),m++,a.C(m,e,d.top-g),m++,a.C(m,e,d.top-g+(b.y+h)/3),m++,a.C(m,e,d.top-g+2*(b.y+h)/3),m++,a.C(m,e,d.top-g+(b.y+h)),m++,a.C(m,e,p.y)):(l&&(a.C(m,n.x,d.top-g/2),m++),a.C(m,e,d.top-g/2),m++,a.C(m,e,d.top-g+b.y+(l?h/2:h)),m++,l&&a.C(m,p.x,a.o(m-1).y))):t.l("Invalid angle "+e);a.Mi()}else g=c,h=d,f&&t.m(g,Lp,Sq,"adjustRouteForAngleChange:parent"),f&&t.m(h,Lp,Sq,"adjustRouteForAngleChange:child"),a=this.link,c=pq(g),c!==pq(h)&&(b=sq(g),d=g.Ib,g=h.Ib,0===c&&g.left-d.right<b+1||90===c&&g.top-d.bottom<
| b+1||180===c&&d.left-g.right<b+1||270===c&&d.top-g.bottom<b+1||(a.updateRoute(),g=a.De===Mg,h=a.dc,k=gq(this.fromVertex.alignment),a.vl(),0===c?(c=d.right+b/2,g?4===a.oa&&(b=a.o(3).y,a.Y(1,c-20,a.o(1).y),a.C(2,c-20,b),a.C(3,c,b),a.C(4,c+20,b),a.Y(5,a.o(5).x,b)):h?k?a.Y(3,a.o(2).x,a.o(4).y):6===a.oa&&(a.Y(2,c,a.o(2).y),a.Y(3,c,a.o(3).y)):4===a.oa?a.C(2,c,a.o(2).y):3===a.oa?a.Y(1,c,a.o(2).y):2===a.oa&&a.C(1,c,a.o(1).y)):90===c?(b=d.bottom+b/2,g?4===a.oa&&(c=a.o(3).x,a.Y(1,a.o(1).x,b-20),a.C(2,c,b-20),
| a.C(3,c,b),a.C(4,c,b+20),a.Y(5,c,a.o(5).y)):h?k?a.Y(3,a.o(2).x,a.o(4).y):6===a.oa&&(a.Y(2,a.o(2).x,b),a.Y(3,a.o(3).x,b)):4===a.oa?a.C(2,a.o(2).x,b):3===a.oa?a.Y(1,a.o(2).x,b):2===a.oa&&a.C(1,a.o(1).x,b)):180===c?(c=d.left-b/2,g?4===a.oa&&(b=a.o(3).y,a.Y(1,c+20,a.o(1).y),a.C(2,c+20,b),a.C(3,c,b),a.C(4,c-20,b),a.Y(5,a.o(5).x,b)):h?k?a.Y(3,a.o(2).x,a.o(4).y):6===a.oa&&(a.Y(2,c,a.o(2).y),a.Y(3,c,a.o(3).y)):4===a.oa?a.C(2,c,a.o(2).y):3===a.oa?a.Y(1,c,a.o(2).y):2===a.oa&&a.C(1,c,a.o(1).y)):270===c&&(b=
| d.top-b/2,g?4===a.oa&&(c=a.o(3).x,a.Y(1,a.o(1).x,b+20),a.C(2,c,b+20),a.C(3,c,b),a.C(4,c,b-20),a.Y(5,c,a.o(5).y)):h?k?a.Y(3,a.o(2).x,a.o(4).y):6===a.oa&&(a.Y(2,a.o(2).x,b),a.Y(3,a.o(3).x,b)):4===a.oa?a.C(2,a.o(2).x,b):3===a.oa?a.Y(1,a.o(2).x,b):2===a.oa&&a.C(1,a.o(1).x,b)),a.Mi()))}};t.g(Sq,"relativePoint",Sq.prototype.tJ);t.defineProperty(Sq,{tJ:"relativePoint"},function(){return this.Wr},function(a){this.Wr.set(a)});function Tq(){this.Qn=[]}
| function Mk(a){var b=new Tq,c;if("string"===typeof a)c=(new DOMParser).parseFromString(a,"text/xml");else if(a instanceof Document)c=a.implementation.createDocument("http://www.w3.org/2000/svg","svg",null),c.appendChild(c.importNode(a.documentElement,!0));else return null;a=c.getElementsByTagName("svg");if(0===a.length)return null;var d=a[0],e=c.getElementsByTagName("linearGradient"),g=c.getElementsByTagName("radialGradient");for(a=0;a<e.length;a++){for(var h=e[a],k=Nk(ea,Od,{start:Xb,end:Zb}),l=
| h.childNodes,m=0;m<l.length;m++)if("stop"===l[m].tagName){var n=Uq(b,l[m],"stop-color");if(n){var p=Uq(b,l[m],"offset");p||(p="0");var q=parseFloat(p);isNaN(q)&&(q=0);k.addColorStop((-1!==p.indexOf("%")?0.01:1)*q,n)}}h=h.getAttribute("id");"string"===typeof h&&(b["_brush"+h]=k)}for(a=0;a<g.length;a++){h=g[a];k=Nk(ea,Zd,{start:Hb,end:Hb});l=h.childNodes;for(m=0;m<l.length;m++)"stop"===l[m].tagName&&(n=Uq(b,l[m],"stop-color"))&&((p=Uq(b,l[m],"offset"))||(p="0"),q=parseFloat(p),isNaN(q)&&(q=0),k.addColorStop((-1!==
| p.indexOf("%")?0.01:1)*q,n));h=h.getAttribute("id");"string"===typeof h&&(b["_brush"+h]=k)}for(e=!0;e;)for(e=!1,g=c.getElementsByTagName("use"),a=0;a<g.length;a++)k=g[a],0===k.childNodes.length&&(h=k.href,void 0!==h&&(h=c.getElementById(h.baseVal.substring(1)),null!==h&&(h=h.cloneNode(!0),h.removeAttribute("id"),l=parseFloat(k.getAttribute("x")),isNaN(l)&&(l=0),m=parseFloat(k.getAttribute("y")),isNaN(m)&&(m=0),n=k.getAttribute("transform"),null===n&&(n=""),k.setAttribute("transform",n+" translate("+
| l+","+m+")"),k.appendChild(h),"use"===h.tagName&&(e=!0))));Vq(b,d,null);c=new y;if(0===b.Qn.length)return c;if(1===b.Qn.length)return b.Qn[0];for(a=0;a<b.Qn.length;a++)c.add(b.Qn[a]);return c}function Wq(a,b){var c=a.getAttribute(b);"string"!==typeof c&&a.style&&(c=a.style[b]);return"string"!==typeof c?null:c}
| function Uq(a,b,c){var d=b.getAttribute(c);"string"!==typeof d&&b.style&&(d=b.style[c]);return"string"!==typeof d||""===d||"inherit"===d?(b=b.parentNode,"g"===b.tagName||"use"===b.tagName?Uq(a,b,c):null):d}
| function Vq(a,b,c){var d=b.tagName;if(("g"===d||"svg"===d||"use"===d||"symbol"===d)&&"none"!==Uq(a,b,"display")){for(var d=b.childNodes,e=0;e<d.length;e++){var g=d[e],h=null;if(void 0!==g.getAttribute){var k=g.getAttribute("transform");switch(g.tagName){case "g":null===k?Vq(a,g,null):(h=new y,Vq(a,g,h));break;case "use":null===k?Vq(a,g,null):(h=new y,Vq(a,g,h));break;case "symbol":if("use"!==b.tagName)break;h=new y;Vq(a,g,h);var l=h,m=a,n=g;Uq(m,n,"preserveAspectRatio");Uq(m,n,"viewBox");l.scale=
| 1;break;case "path":l=g;h=new X;l=l.getAttribute("d");"string"===typeof l&&(h.xE=Qc(l));break;case "line":var p=g,h=new X,l=parseFloat(p.getAttribute("x1"));isNaN(l)&&(l=0);m=parseFloat(p.getAttribute("y1"));isNaN(m)&&(m=0);n=parseFloat(p.getAttribute("x2"));isNaN(n)&&(n=0);p=parseFloat(p.getAttribute("y2"));isNaN(p)&&(p=0);var q=new zc(Kc);h.position=new v(Math.min(l,n),Math.min(m,p));0<(n-l)/(p-m)?(q.qa=0,q.ra=0,q.D=Math.abs(n-l),q.F=Math.abs(p-m)):(q.qa=0,q.ra=Math.abs(p-m),q.D=Math.abs(n-l),q.F=
| 0);h.kd=q;break;case "circle":n=g;h=new X;l=parseFloat(n.getAttribute("r"));isNaN(l)||0>l?h=null:(m=parseFloat(n.getAttribute("cx")),isNaN(m)&&(m=0),n=parseFloat(n.getAttribute("cy")),isNaN(n)&&(n=0),p=new zc(Mc),p.qa=0,p.ra=0,p.D=2*l,p.F=2*l,h.position=new v(m-l,n-l),h.kd=p);break;case "ellipse":p=g;h=new X;l=parseFloat(p.getAttribute("rx"));isNaN(l)||0>l?h=null:(m=parseFloat(p.getAttribute("ry")),isNaN(m)||0>m?h=null:(n=parseFloat(p.getAttribute("cx")),isNaN(n)&&(n=0),p=parseFloat(p.getAttribute("cy")),
| isNaN(p)&&(p=0),q=new zc(Mc),q.qa=0,q.ra=0,q.D=2*l,q.F=2*m,h.position=new v(n-l,p-m),h.kd=q));break;case "rect":q=g;h=new X;l=parseFloat(q.getAttribute("width"));if(isNaN(l)||0>l)h=null;else if(m=parseFloat(q.getAttribute("height")),isNaN(m)||0>m)h=null;else{n=parseFloat(q.getAttribute("x"));isNaN(n)&&(n=0);p=parseFloat(q.getAttribute("y"));isNaN(p)&&(p=0);var r=q.getAttribute("rx"),s=q.getAttribute("ry"),q=parseFloat(r);if(isNaN(q)||0>q)q=0;var u=parseFloat(s);if(isNaN(u)||0>u)u=0;!r&&s?q=u:r&&!s&&
| (u=q);q=Math.min(q,l/2);u=Math.min(u,m/2);s=void 0;0===q&&0===u?(s=new zc(Lc),s.qa=0,s.ra=0,s.D=l,s.F=m):(s=F.va/2,r=t.u(),J(r,q,0,!0),r.lineTo(l-q,0),K(r,l-q*s,0,l,u*s,l,u),r.lineTo(l,m-u),K(r,l,m-u*s,l-q*s,m,l-q,m),r.lineTo(q,m),K(r,q*s,m,0,m-u*s,0,m-u),r.lineTo(0,u),K(r,0,u*s,q*s,0,q,0),L(r),s=r.s,t.v(r));h.position=new v(n,p);h.kd=s}break;case "polygon":h=Xq(g);break;case "polyline":h=Xq(g)}if(null!==h){if(h instanceof X){l=Uq(a,g,"fill");null!==l&&-1!==l.indexOf("url")?(l=l.substring(l.indexOf("#")+
| 1,l.length-1),l=a["_brush"+l],h.fill=l instanceof ea?l:"black"):h.fill=null===l?"black":"none"===l?null:l;l=Uq(a,g,"stroke");null!==l&&-1!==l.indexOf("url")?(l=l.substring(l.indexOf("#")+1,l.length-1),l=a["_brush"+l],h.stroke=l instanceof ea?l:"black"):h.stroke="none"===l?null:l;l=parseFloat(Uq(a,g,"stroke-width"));isNaN(l)||(h.gb=l);l=Uq(a,g,"stroke-linecap");null!==l&&(h.jG=l);if(l=Uq(a,g,"stroke-dasharray")){m=l.split(",");n=[];for(l=0;l<m.length;l++)p=parseFloat(m[l]),!isNaN(p)&&0<p&&n.push(p);
| h.sx=n}if(g=Uq(a,g,"stroke-dashoffset"))g=parseFloat(g),isNaN(g)||(h.kG=g);h.BA=!0}if(null!==k){k=k.split(")");g=!0;for(l=0;l<k.length;l++)/\(.*[^0-9\.,\s-]/.test(k[l])&&(g=!1),/\(.*[0-9]-[0-9]/.test(k[l])&&(g=!1);if(g)for(l=k.length-1;0<=l;l--)if(m=k[l],""!==m)switch(n=m.indexOf("("),g=m.substring(0,n).replace(/\s*/,""),n=m.substring(n+1).split(/\s*[\s,]\s*/),g){case "rotate":Yq(a,h,n);break;case "translate":g=h;m=parseFloat(n[0]);isNaN(m)&&(m=0);n=parseFloat(n[1]);isNaN(n)&&(n=0);if(0!==m||0!==
| n)p=g.position.copy(),isNaN(p.x)&&(p.x=0),isNaN(p.y)&&(p.y=0),g.position=new v(m+p.x,n+p.y);break;case "scale":Zq(a,h,n);break;case "skewX":$q(a,h,n);break;case "skewY":ar(a,h,n);break;case "matrix":br(a,h,n)}}if(h instanceof y){k=h.elements.k;l=g=0;m=h.position.copy();isNaN(m.x)&&(m.x=0);isNaN(m.y)&&(m.y=0);for(;k.next();)n=k.value.position.copy(),isNaN(n.x)&&(n.x=0),isNaN(n.y)&&(n.y=0),n.x<g&&(g=n.x),n.y<l&&(l=n.y);m.x+=g;m.y+=l;h.position=m}null===c?a.Qn.push(h):c.add(h)}}}if(null!==h){a=Wq(b,
| "visibility");if("hidden"===a||"collapse"===a)h.visible=!1;if(b=Wq(b,"opacity"))b=parseFloat(b),isNaN(b)||(h.opacity=b)}}}
| function br(a,b,c){var d=parseFloat(c[0]),e=parseFloat(c[1]),g=parseFloat(c[2]),h=parseFloat(c[3]),k=parseFloat(c[4]),l=parseFloat(c[5]);if(!isNaN(d+e+g+h+k+l)){var m=b.position.copy();isNaN(m.x)&&(m.x=0);isNaN(m.y)&&(m.y=0);if(b instanceof X){c=b.kd.copy();if(c.type===Lc)c=a.Gs(c);else if(c.type===Mc)c=cr(c);else if(c.type===Kc){c.type=Ac;a=new Bc(c.qa,c.ra);var n=new M(Oc,c.D,c.F);a.Fa.add(n);c.xb.add(a)}c.offset(m.x,m.y);c.transform(d,e,g,h,k-m.x,l-m.y);a=c.normalize();b.kd=c;m.x-=a.x;m.y-=a.y;
| b.position=m}else{for(b=b.elements.k;b.next();)d=b.value.position.copy(),d.x+=m.x,d.y+=m.y,b.value.position=d;for(b.reset();b.next();)br(a,b.value,c);for(b.reset();b.next();)d=b.value.position.copy(),d.x-=m.x,d.y-=m.y,b.value.position=d}}}
| function Yq(a,b,c){var d=parseFloat(c[0]);isNaN(d)&&(d=0);var e=parseFloat(c[1]);isNaN(e)&&(e=0);var g=parseFloat(c[2]);isNaN(g)&&(g=0);if(0!==d){var h=d*Math.PI/180,k=b.position.copy();isNaN(k.x)&&(k.x=0);isNaN(k.y)&&(k.y=0);if(b instanceof X){c=b.kd.copy();c.type===Mc?c=cr(c):c.type===Lc&&(c=a.Gs(c));if(c.type===Ac)c.rotate(d,e-k.x,g-k.y),g=c.normalize(),b.kd=c,k.x-=g.x,k.y-=g.y,b.position=k;else{var d=c.qa-e+k.x,l=c.ra-g+k.y,m=c.D-e+k.x,n=c.F-g+k.y;a=d*Math.cos(h)-l*Math.sin(h)+e-k.x;d=l*Math.cos(h)+
| d*Math.sin(h)+g-k.y;e=m*Math.cos(h)-n*Math.sin(h)+e-k.x;g=n*Math.cos(h)+m*Math.sin(h)+g-k.y;m=Math.min(a,e);n=Math.min(d,g);c.qa=a-m;c.ra=d-n;c.D=e-m;c.F=g-n;k.x+=m;k.y+=n;b.position=k;b.kd=c}b.fill instanceof ea&&(k=b.fill.copy(),c=Math.atan((0.5-k.start.y)/(0.5-k.start.x)),isNaN(c)||(c+=h,k.start=new H((1-Math.cos(c))/2,(1-Math.sin(c))/2),k.end=new H((1+Math.cos(c))/2,(1+Math.sin(c))/2)),b.fill=k);b.stroke instanceof ea&&(k=b.stroke.copy(),c=Math.atan((0.5-k.start.y)/(0.5-k.start.x)),isNaN(c)||
| (c+=h,k.start=new H((1-Math.cos(c))/2,(1-Math.sin(c))/2),k.end=new H((1+Math.cos(c))/2,(1+Math.sin(c))/2)),b.stroke=k)}else{for(b=b.elements.k;b.next();)h=b.value.position.copy(),h.x+=k.x,h.y+=k.y,b.value.position=h;for(b.reset();b.next();)Yq(a,b.value,c);for(b.reset();b.next();)h=b.value.position.copy(),h.x-=k.x,h.y-=k.y,b.value.position=h}}}
| function Zq(a,b,c){var d=parseFloat(c[0]);isNaN(d)&&(d=1);var e=parseFloat(c[1]);isNaN(e)&&(e=d);if(1!==d||1!==e){var g=b.position.copy();isNaN(g.x)&&(g.x=0);isNaN(g.y)&&(g.y=0);if(b instanceof X)a=b.kd.copy(),g.x*=d,g.y*=e,b.position=g,a.scale(d,e),b.kd=a;else{for(b=b.elements.k;b.next();)d=b.value.position.copy(),d.x+=g.x,d.y+=g.y,b.value.position=d;for(b.reset();b.next();)Zq(a,b.value,c);for(b.reset();b.next();)d=b.value.position.copy(),d.x-=g.x,d.y-=g.y,b.value.position=d}}}
| function $q(a,b,c){var d=parseFloat(c[0]);if(!isNaN(d)){var d=d*Math.PI/180,e=b.position.copy();isNaN(e.x)&&(e.x=0);isNaN(e.y)&&(e.y=0);if(b instanceof X){c=b.kd.copy();if(c.type===Lc)c=a.Gs(c);else if(c.type===Mc)c=cr(c);else if(c.type===Kc){c.type=Ac;a=new Bc(c.qa,c.ra);var g=new M(Oc,c.D,c.F);a.Fa.add(g);c.xb.add(a)}c.offset(e.x,e.y);c.transform(1,0,Math.tan(d),1,-e.x,-e.y);a=c.normalize();b.kd=c;e.x-=a.x;e.y-=a.y;b.position=e}else{for(b=b.elements.k;b.next();)d=b.value.position.copy(),d.x+=e.x,
| d.y+=e.y,b.value.position=d;for(b.reset();b.next();)$q(a,b.value,c);for(b.reset();b.next();)d=b.value.position.copy(),d.x-=e.x,d.y-=e.y,b.value.position=d}}}
| function ar(a,b,c){var d=parseFloat(c[0]);if(!isNaN(d)){var d=d*Math.PI/180,e=b.position.copy();isNaN(e.x)&&(e.x=0);isNaN(e.y)&&(e.y=0);if(b instanceof X){c=b.kd.copy();if(c.type===Lc)c=a.Gs(c);else if(c.type===Mc)c=cr(c);else if(c.type===Kc){c.type=Ac;a=new Bc(c.qa,c.ra);var g=new M(Oc,c.D,c.F);a.Fa.add(g);c.xb.add(a)}c.offset(e.x,e.y);c.transform(1,Math.tan(d),0,1,-e.x,-e.y);a=c.normalize();b.kd=c;e.x-=a.x;e.y-=a.y;b.position=e}else{for(b=b.elements.k;b.next();)d=b.value.position.copy(),d.x+=e.x,
| d.y+=e.y,b.value.position=d;for(b.reset();b.next();)ar(a,b.value,c);for(b.reset();b.next();)d=b.value.position.copy(),d.x-=e.x,d.y-=e.y,b.value.position=d}}}
| function Xq(a){var b=!1;if("polygon"===a.tagName)b=!0;else if("polyline"!==a.tagName)return null;var c=new X,d=a.getAttribute("points");a=new zc;var e=new A(Bc),g=d.split(/\s*[\s,]\s*/);if(4>g.length)return null;for(var h,d=new A(M),k,l,m=1;m<g.length;m+=2){k=eval(g[m-1]);l=eval(g[m]);if("number"!==typeof k||isNaN(k)||"number"!==typeof l||isNaN(l))return null;1===m?h=new Bc(k,l):d.add(new M(Oc,k,l))}b&&(b=new M(Oc,h.qa,h.ra),b.close(),d.add(b));h.Fa=d;e.add(h);a.xb=e;h=a.normalize();c.position=new v(-h.x,
| -h.y);c.kd=a;return c}
| function cr(a){var b=a.qa,c=a.ra,d=a.D,e=a.F,g=Math.abs(d-b)/2,h=Math.abs(e-c)/2,b=Math.min(b,d)+g,c=Math.min(c,e)+h;new v;e=new Bc(b,c-h);d=new M(cd);d.yb=b+F.va*g;d.Mb=c-h;d.pe=b+g;d.qe=c-F.va*h;d.D=b+g;d.F=c;e.Fa.add(d);d=new M(cd);d.yb=b+g;d.Mb=c+F.va*h;d.pe=b+F.va*g;d.qe=c+h;d.D=b;d.F=c+h;e.Fa.add(d);d=new M(cd);d.yb=b-F.va*g;d.Mb=c+h;d.pe=b-g;d.qe=c+F.va*h;d.D=b-g;d.F=c;e.Fa.add(d);d=new M(cd);d.yb=b-g;d.Mb=c-F.va*h;d.pe=b-F.va*g;d.qe=c-h;d.D=b;d.F=c-h;e.Fa.add(d);a.type=Ac;a.xb.add(e);return a}
| Tq.prototype.Gs=function(a){var b=a.qa,c=a.ra,d=a.D,e=a.F,g=Math.min(b,d),h=Math.min(c,e),b=Math.abs(d-b),c=Math.abs(e-c),e=new Bc(g,h);e.Fa.add(new M(Oc,g+b,h));e.Fa.add(new M(Oc,g+b,h+c));e.Fa.add((new M(Oc,g,h+c)).close());a.type=Ac;a.xb.add(e);return a};ba.version="1.4.3";
| window&&(window.module&&"object"===typeof window.module&&"object"===typeof window.module.exports?window.module.exports=ba:window.define&&"function"===typeof window.define&&window.define.amd?(window.go=ba,window.define(ba)):window.go=ba); })(window);
|
|