65:
37:
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by
38:
others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes.
2029:// annoSwitch = mw.util.addPortletLink( 'p-tb', '#', 'Annotations \(hide\)', 'ca-anno', 'Hide the annotations', 'a' );
1672:// annoSwitch = mw.util.addPortletLink( 'p-tb', '#', 'Annotations \(show\)', 'ca-anno', 'Show the annotations', 'a' );
75:
216:
with that class. There is probably a much more efficient method than the one I use below. If you happen to know of one, please let me know.
43:
42:
to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the
1188://For each annotation above the viewport, get the difference in height in the containing element as that annotation is hidden
112:
23:
209:
It wraps the annotations in <span class="anno"> and </span>. Then it hides/shows the elements
39:
71:
447:// End the script if "Editing " is in the page title (so it doesn't conflict with script editor)
148:
Based on: https://en.wikipedia.org/search/?title=User:PleaseStand/hide-vector-sidebar.js&oldid=580854231
17:
227:
Besides that, the script isn't finished yet. The current problem I'm trying to solve is this:
202:
Currently, this script applies regex upon matches within the ID element 'mw-content-text'.
339:// Start off with a bodyguard function to reserve mw and $ (see Explanatory notes on talk page).
256:
I'd like the material that was in the viewport to stay there, which means the viewport
378:// we can now rely on mw and $ within the safety of our “bodyguard” function, to mean
263:
must be repositioned relative to the top of the page each time the toggle is activated.
310:
notes on what the source code does and how it works, see the Script's workshop on
908:// Below are the functions called in the core control structure of the program above.
238:
Hiding or showing annotations affects the position of the viewport, so unfortunately,
500:// use a return statement to end the local function and hence the program's body
410:// it makes the rest of the script wait until the page's DOM is loaded and ready
303:
Brief comments are provided within the sourcecode below. For extensive explanatory
191:
it in the sidebar menu interferes with the script's page scrolling adjustment.
1028://Select the set of annotations that are above where the viewpoint is scrolled to
1746:// prevents any default action -- we want only the following action to run:
2089:// prevents any default action -- we want only the following action to run:
64:
87:
After saving, you have to bypass your browser's cache to see the changes.
403:// below is jQuery short-hand for $ (document).ready(function() { ... });
1690:// (which activates the actions between the curly brakets when clicked):
901:// Functions (aka subroutines) are activated only when they are called.
137:/* anno.js: Adds a sidebar menu item and hot key to toggle annotations.
111:
toolbar button. For details and instructions about other browsers, see
177:
IMPORTANT: The menu item for this script is not in the side bar menu.
915:// They are at the end of the program, so that the script's flow
440:// ============== deactivation filters (guard clauses) ==============
274:
If you have any ideas on how to fix this, I'd be most interested.
1389://Hide the remaining annotations (hide elements with the anno class)
184:
It is in the more tab at the top of the page. This is because having
894:// ======================== Subroutines ===========================
245:
the reader is jolted away from what he was reading. This is bad.
1683:// make the menu item clickable by binding it to a click handler
655:'$ 1<span class="anno">$ 2</span>'
507:// important: this approach does not work outside of a function
396:// ============== ready() event listener/handler ==============
155:
and https://en.wikipedia.org/User:Thespaceface/MetricFirst.js
669:// ================= Core control structure =================
59:
33:
385:// "mediawiki" and "jQuery", respectively
612:// wrap the annotations in spans with class "anno"
1958:// and then we create it (or its replacement) from scratch:
1886:// (referred to in this script as "annoSwitch").
1846:// show the annotations (show elements with the anno class)
1784:// ============ Function to show annotations ==============
1601:// and then we create it (or its replacement) from scratch:
1529:// (referred to in this script as "annoSwitch").
933:// ============ Function to hide annotations ==============
2166:// sample code for getting and setting viewport position:
1472:// alert( "vertical scroll position is " + y1);
1017:// alert( "vertical scroll position is " + y1);
2180:// alert( "vertical scroll position is " + y);
801:// run the function corresponding to the current status
539:// =================== Prep work =====================
126:// <syntaxhighlight lang="javascript">
24:
1893:// To do that, first we remove it (if it exists):
1536:// To do that, first we remove it (if it exists):
752:// get the value of our status variable from memory
1807:// store status so it persists across page loads
956:// store status so it persists across page loads
8:
76:User:The Transhumanist/ViewAnnotationToggler
1483://Scroll the window by the required amount
759:// (this tells us what mode to start in)
104:
1879:// now we have to update the menu item
1522:// now we have to update the menu item
74:seems to have a documentation page at
52:be executed when previewing this page.
7:
119:
31:
113:Knowledge (XXG):Bypass your cache
63:
676:// Only activate on Vector skin
2001:'Annotations \(hide\)'
1644:'Annotations \(show\)'
1:
166:The hot key is Shift-Alt-a.
2155:// </syntaxhighlight>
2204:
2184:
2177:
2170:
2163:
2159:
2152:
2130:
2120:
2113:
2103:
2093:
2074:
2037:
2033:
2026:
2013:'Hide annotations'
1962:
1955:
1951:
1944:
1916:
1897:
1890:
1883:
1876:
1872:
1850:
1843:
1839:
1811:
1804:
1788:
1781:
1777:
1770:
1760:
1750:
1731:
1694:
1687:
1680:
1676:
1669:
1656:'Show annotations'
1605:
1598:
1594:
1587:
1559:
1540:
1533:
1526:
1519:
1515:
1487:
1480:
1476:
1469:
1447:
1419:
1415:
1393:
1386:
1382:
1372:
1341:
1298:
1276:
1233:
1211:
1192:
1185:
1181:
1171:
1164:
1151:
1138:
1125:
2187:// window.scrollTo(0, y);
1094:
1069:
1032:
1025:
1021:
1014:
992:
988:
960:
953:
937:
930:
926:
919:
912:
905:
898:
891:
887:
880:
870:
863:
853:
840:
830:
805:
798:
794:
763:
756:
749:
745:
726:
680:
673:
666:
662:
616:
609:
602:'mw-content-text'
578:
565:
543:
536:
532:
528:
521:
511:
504:
497:
451:
444:
437:
433:
414:
407:
400:
393:
389:
382:
375:
371:
343:
336:
332:
325:
321:
314:
307:
300:
296:
289:
282:
278:
271:
267:
260:
253:
249:
242:
235:
231:
224:
220:
213:
206:
199:
195:
188:
181:
174:
649:/(<li>.*?)( –.*)/g
170:
163:
159:
152:
145:
141:
134:
130:
123:
120:
44:appropriate village pump
922:// is easier to follow.
2173:// y = window.scrollY;
1826:"annostatus"
975:"annostatus"
18:User:The Transhumanist
1087:getBoundingClientRect
1989:'p-cactions'
1632:'p-cactions'
787:'annostatus'
478:"Editing "
107:key and click the
1859:".anno"
1402:".anno"
1050:".anno"
292:The Transhumanist
82:
81:
56:
55:
22:(Redirected from
2195:
2189:
2188:
2182:
2181:
2175:
2174:
2168:
2167:
2161:
2157:
2156:
2150:
2149:
2146:
2143:
2140:
2137:
2134:
2128:
2127:
2124:
2118:
2117:
2111:
2110:
2107:
2101:
2100:
2097:
2091:
2090:
2087:
2084:
2081:
2078:
2072:
2071:
2068:
2065:
2062:
2059:
2056:
2053:
2050:
2047:
2044:
2041:
2035:
2031:
2030:
2024:
2023:
2020:
2017:
2014:
2011:
2008:
2005:
2002:
1999:
1996:
1993:
1990:
1987:
1984:
1981:
1978:
1975:
1972:
1969:
1966:
1960:
1959:
1953:
1949:
1948:
1942:
1941:
1938:
1935:
1932:
1929:
1926:
1923:
1920:
1914:
1913:
1910:
1907:
1904:
1901:
1895:
1894:
1888:
1887:
1881:
1880:
1874:
1870:
1869:
1866:
1863:
1860:
1857:
1854:
1848:
1847:
1841:
1837:
1836:
1833:
1832:"show"
1830:
1827:
1824:
1821:
1818:
1815:
1809:
1808:
1802:
1801:
1798:
1795:
1792:
1786:
1785:
1779:
1775:
1774:
1768:
1767:
1764:
1758:
1757:
1754:
1748:
1747:
1744:
1741:
1738:
1735:
1729:
1728:
1725:
1722:
1719:
1716:
1713:
1710:
1707:
1704:
1701:
1698:
1692:
1691:
1685:
1684:
1678:
1674:
1673:
1667:
1666:
1663:
1660:
1657:
1654:
1651:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1603:
1602:
1596:
1592:
1591:
1585:
1584:
1581:
1578:
1575:
1572:
1569:
1566:
1563:
1557:
1556:
1553:
1550:
1547:
1544:
1538:
1537:
1531:
1530:
1524:
1523:
1517:
1513:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1485:
1484:
1478:
1474:
1473:
1467:
1466:
1463:
1460:
1457:
1454:
1451:
1445:
1444:
1441:
1438:
1435:
1432:
1429:
1426:
1423:
1417:
1413:
1412:
1409:
1406:
1403:
1400:
1397:
1391:
1390:
1384:
1380:
1379:
1376:
1370:
1369:
1366:
1363:
1360:
1357:
1354:
1351:
1348:
1345:
1339:
1338:
1335:
1332:
1329:
1326:
1323:
1320:
1317:
1314:
1311:
1308:
1305:
1302:
1296:
1295:
1292:
1289:
1286:
1283:
1280:
1274:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1249:
1246:
1243:
1240:
1237:
1231:
1230:
1227:
1224:
1221:
1218:
1215:
1209:
1208:
1205:
1202:
1199:
1196:
1190:
1189:
1183:
1179:
1178:
1175:
1169:
1168:
1162:
1161:
1158:
1155:
1149:
1148:
1145:
1142:
1136:
1135:
1132:
1129:
1123:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1092:
1091:
1088:
1085:
1082:
1079:
1076:
1073:
1067:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1030:
1029:
1023:
1019:
1018:
1012:
1011:
1008:
1005:
1002:
999:
996:
990:
986:
985:
982:
981:"hide"
979:
976:
973:
970:
967:
964:
958:
957:
951:
950:
947:
944:
941:
935:
934:
928:
924:
923:
917:
916:
910:
909:
903:
902:
896:
895:
889:
885:
884:
878:
877:
874:
868:
867:
861:
860:
857:
851:
850:
847:
844:
838:
837:
834:
828:
827:
824:
821:
820:"hide"
818:
815:
812:
809:
803:
802:
796:
792:
791:
788:
785:
782:
779:
776:
773:
770:
767:
761:
760:
754:
753:
747:
743:
742:
739:
736:
733:
730:
724:
723:
720:
717:
716:'vector'
714:
711:
708:
705:
702:
699:
696:
693:
690:
687:
684:
678:
677:
671:
670:
664:
660:
659:
656:
653:
650:
647:
644:
641:
638:
635:
632:
629:
626:
623:
620:
614:
613:
607:
606:
603:
600:
597:
594:
591:
588:
585:
582:
576:
575:
572:
569:
563:
562:
559:
556:
553:
550:
547:
541:
540:
534:
530:
526:
525:
519:
518:
515:
509:
508:
502:
501:
495:
494:
491:
488:
485:
482:
479:
476:
473:
470:
467:
464:
461:
458:
455:
449:
448:
442:
441:
435:
431:
430:
427:
424:
421:
418:
412:
411:
405:
404:
398:
397:
391:
387:
386:
380:
379:
373:
369:
368:
365:
362:
359:
356:
353:
350:
347:
341:
340:
334:
330:
329:
323:
319:
318:
312:
311:
305:
304:
298:
294:
293:
287:
286:
280:
276:
275:
269:
265:
264:
258:
257:
251:
247:
246:
240:
239:
233:
229:
228:
222:
218:
217:
211:
210:
204:
203:
197:
193:
192:
186:
185:
179:
178:
172:
168:
167:
161:
157:
156:
150:
149:
143:
139:
138:
132:
128:
127:
116:
103:: Hold down the
67:
60:
34:
27:
2203:
2202:
2198:
2197:
2196:
2194:
2193:
2192:
2191:
2190:
2186:
2183:
2179:
2176:
2172:
2169:
2165:
2162:
2158:
2154:
2151:
2147:
2144:
2141:
2138:
2135:
2132:
2129:
2125:
2122:
2119:
2115:
2112:
2108:
2105:
2102:
2098:
2095:
2092:
2088:
2085:
2082:
2079:
2076:
2073:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2032:
2028:
2025:
2021:
2018:
2015:
2012:
2009:
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1985:
1982:
1979:
1976:
1973:
1970:
1967:
1964:
1961:
1957:
1954:
1950:
1946:
1943:
1939:
1936:
1933:
1930:
1927:
1924:
1921:
1918:
1915:
1911:
1908:
1905:
1902:
1899:
1896:
1892:
1889:
1885:
1882:
1878:
1875:
1871:
1867:
1864:
1861:
1858:
1855:
1852:
1849:
1845:
1842:
1838:
1834:
1831:
1828:
1825:
1822:
1819:
1816:
1813:
1810:
1806:
1803:
1799:
1796:
1793:
1790:
1787:
1783:
1780:
1776:
1772:
1769:
1765:
1762:
1759:
1755:
1752:
1749:
1745:
1742:
1739:
1736:
1733:
1730:
1726:
1723:
1720:
1717:
1714:
1711:
1708:
1705:
1702:
1699:
1696:
1693:
1689:
1686:
1682:
1679:
1675:
1671:
1668:
1664:
1661:
1658:
1655:
1652:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1600:
1597:
1593:
1589:
1586:
1582:
1579:
1576:
1573:
1570:
1567:
1564:
1561:
1558:
1554:
1551:
1548:
1545:
1542:
1539:
1535:
1532:
1528:
1525:
1521:
1518:
1514:
1510:
1507:
1504:
1501:
1498:
1495:
1492:
1489:
1486:
1482:
1479:
1475:
1471:
1468:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1414:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1388:
1385:
1381:
1377:
1374:
1371:
1367:
1364:
1361:
1358:
1355:
1352:
1349:
1346:
1343:
1340:
1336:
1333:
1330:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1293:
1290:
1287:
1284:
1281:
1278:
1275:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1228:
1225:
1222:
1219:
1216:
1213:
1210:
1206:
1203:
1200:
1197:
1194:
1191:
1187:
1184:
1180:
1176:
1173:
1170:
1166:
1163:
1159:
1156:
1153:
1150:
1146:
1143:
1140:
1137:
1133:
1130:
1127:
1124:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
1099:
1096:
1093:
1089:
1086:
1083:
1080:
1077:
1074:
1071:
1068:
1064:
1061:
1058:
1055:
1052:
1049:
1046:
1043:
1040:
1037:
1034:
1031:
1027:
1024:
1020:
1016:
1013:
1009:
1006:
1003:
1000:
997:
994:
991:
987:
983:
980:
977:
974:
971:
968:
965:
962:
959:
955:
952:
948:
945:
942:
939:
936:
932:
929:
925:
921:
918:
914:
911:
907:
904:
900:
897:
893:
890:
886:
882:
879:
875:
872:
869:
865:
862:
858:
855:
852:
848:
845:
842:
839:
835:
832:
829:
825:
822:
819:
816:
813:
810:
807:
804:
800:
797:
793:
789:
786:
783:
780:
777:
774:
771:
768:
765:
762:
758:
755:
751:
748:
744:
740:
737:
734:
731:
728:
725:
721:
718:
715:
712:
709:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
675:
672:
668:
665:
661:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
611:
608:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
573:
570:
567:
564:
560:
557:
554:
551:
548:
545:
542:
538:
535:
531:
527:
523:
520:
516:
513:
510:
506:
503:
499:
496:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
446:
443:
439:
436:
432:
428:
425:
422:
419:
416:
413:
409:
406:
402:
399:
395:
392:
388:
384:
381:
377:
374:
370:
366:
363:
360:
357:
354:
351:
348:
345:
342:
338:
335:
331:
327:
324:
320:
316:
313:
309:
306:
302:
299:
295:
291:
288:
284:
281:
277:
273:
270:
266:
262:
259:
255:
252:
248:
244:
241:
237:
234:
230:
226:
223:
219:
215:
212:
208:
205:
201:
198:
194:
190:
187:
183:
180:
176:
173:
169:
165:
162:
158:
154:
151:
147:
144:
140:
136:
133:
129:
125:
122:
118:
117:
106:
83:
57:
47:
29:
28:
21:
20:
12:
11:
5:
2201:
2199:
2083:preventDefault
1983:addPortletLink
1740:preventDefault
1626:addPortletLink
707:'skin'
596:getElementById
317:the talk page.
121:
97:Microsoft Edge
80:
79:
68:
58:
54:
53:
32:
30:
15:
14:
13:
10:
9:
6:
4:
3:
2:
2200:
2185:
2178:
2171:
2164:
2160:
2153:
2131:
2121:
2114:
2104:
2094:
2075:
2038:
2034:
2027:
1963:
1956:
1952:
1945:
1917:
1898:
1891:
1884:
1877:
1873:
1851:
1844:
1840:
1812:
1805:
1789:
1782:
1778:
1771:
1761:
1751:
1732:
1695:
1688:
1681:
1677:
1670:
1606:
1599:
1595:
1588:
1560:
1541:
1534:
1527:
1520:
1516:
1508:scroll_amount
1488:
1481:
1477:
1470:
1448:
1420:
1416:
1394:
1387:
1383:
1373:
1365:height_before
1350:scroll_amount
1344:scroll_amount
1342:
1299:
1277:
1239:height_before
1234:
1214:$ annos_above
1212:
1198:scroll_amount
1193:
1186:
1182:
1172:
1165:
1152:
1139:
1126:
1095:
1070:
1038:$ annos_above
1033:
1026:
1022:
1015:
993:
989:
961:
954:
938:
931:
927:
920:
913:
906:
899:
892:
888:
881:
871:
864:
854:
841:
831:
806:
799:
795:
764:
757:
750:
746:
727:
681:
674:
667:
663:
617:
610:
579:
566:
544:
537:
533:
529:
522:
512:
505:
498:
452:
445:
438:
434:
415:
408:
401:
394:
390:
383:
376:
372:
344:
337:
333:
326:
322:
315:
308:
301:
297:
290:
283:
279:
272:
268:
261:
254:
250:
243:
236:
232:
225:
221:
214:
207:
200:
196:
189:
182:
175:
171:
164:
160:
153:
146:
142:
135:
131:
124:
114:
110:
102:
98:
94:
90:
89:Google Chrome
86:
77:
73:
69:
66:
62:
61:
51:
45:
41:
36:
35:
25:
19:
1814:localStorage
1359:height_after
1304:height_after
963:localStorage
775:localStorage
108:
100:
96:
92:
88:
84:
49:
2019:'a'
1995:'#'
1931:removeChild
1662:'a'
1638:'#'
1574:removeChild
1328:outerHeight
1263:outerHeight
72:user script
2046:annoSwitch
2007:''
1965:annoSwitch
1937:annoSwitch
1925:parentNode
1919:annoSwitch
1906:annoSwitch
1703:annoSwitch
1650:''
1608:annoSwitch
1580:annoSwitch
1568:parentNode
1562:annoSwitch
1549:annoSwitch
814:annostatus
769:annostatus
571:annoSwitch
285:Sincerely,
48:This code
2136:mediaWiki
637:outerHTML
625:outerHTML
2096:annoHide
2058:function
1794:annoShow
1791:function
1753:annoShow
1715:function
1496:scrollBy
1428:scrollTo
1226:function
1062:function
943:annoHide
940:function
856:annoShow
833:annoHide
735:function
590:document
460:document
423:function
349:function
1820:setItem
1462:scrollY
1007:scrollY
969:setItem
781:getItem
643:replace
472:indexOf
105:⇧ Shift
93:Firefox
40:A guide
2142:jQuery
1490:window
1456:window
1422:window
1322:parent
1257:parent
1154:return
1128:return
1109:bottom
1056:filter
1001:window
695:config
514:return
109:Reload
101:Safari
2052:click
1709:click
1157:false
466:title
85:Note:
70:This
16:<
1977:util
1865:show
1620:util
1408:hide
1334:true
1316:this
1291:hide
1285:this
1269:true
1251:this
1220:each
1144:else
1131:true
1112:<
1103:rect
1081:this
1075:rect
846:else
631:cont
619:cont
584:cont
99:and
50:will
2099:();
2086:();
1868:();
1756:();
1743:();
1411:();
1325:().
1301:var
1294:();
1260:().
1236:var
1229:(){
1195:var
1090:();
1072:var
1065:(){
1035:var
859:();
836:();
817:===
766:var
713:===
701:get
581:var
568:var
555:var
546:var
484:===
2148:);
2133:}(
2126:);
2109:);
2049:).
2040:$
2022:);
1971:mw
1940:);
1900:if
1862:).
1853:$
1835:);
1797:()
1766:);
1706:).
1697:$
1665:);
1614:mw
1583:);
1543:if
1511:);
1450:y1
1443:);
1440:y1
1405:).
1396:$
1378:);
1368:);
1337:);
1319:).
1310:$
1288:).
1279:$
1272:);
1254:).
1245:$
1177:);
1097:if
1053:).
1044:$
995:y1
984:);
946:()
876:);
808:if
790:);
738:()
729:$
689:mw
683:if
658:);
605:);
558:y2
549:y1
454:if
426:()
417:$
361:$
355:mw
328:*/
95:,
91:,
2145:)
2139:,
2123:}
2116:}
2106:}
2080:.
2077:e
2070:{
2067:)
2064:e
2061:(
2055:(
2043:(
2016:,
2010:,
2004:,
1998:,
1992:,
1986:(
1980:.
1974:.
1968:=
1947:}
1934:(
1928:.
1922:.
1912:{
1909:)
1903:(
1856:(
1829:,
1823:(
1817:.
1800:{
1773:}
1763:}
1737:.
1734:e
1727:{
1724:)
1721:e
1718:(
1712:(
1700:(
1659:,
1653:,
1647:,
1641:,
1635:,
1629:(
1623:.
1617:.
1611:=
1590:}
1577:(
1571:.
1565:.
1555:{
1552:)
1546:(
1505:,
1502:0
1499:(
1493:.
1465:;
1459:.
1453:=
1437:,
1434:0
1431:(
1425:.
1399:(
1375:}
1362:-
1356:(
1353:+
1347:=
1331:(
1313:(
1307:=
1282:(
1266:(
1248:(
1242:=
1223:(
1217:.
1207:;
1204:0
1201:=
1174:}
1167:}
1160:;
1147:{
1141:}
1134:;
1121:{
1118:)
1115:0
1106:.
1100:(
1084:.
1078:=
1059:(
1047:(
1041:=
1010:;
1004:.
998:=
978:,
972:(
966:.
949:{
883:}
873:}
866:}
849:{
843:}
826:{
823:)
811:(
784:(
778:.
772:=
741:{
732:(
722:{
719:)
710:)
704:(
698:.
692:.
686:(
652:,
646:(
640:.
634:.
628:=
622:.
599:(
593:.
587:=
574:;
561:;
552:;
524:}
517:;
493:{
490:)
487:0
481:)
475:(
469:.
463:.
457:(
429:{
420:(
367:{
364:)
358:,
352:(
346:(
115:.
78:.
46:.
26:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.