Wikipedia gvwiki https://gv.wikipedia.org/wiki/Ard-ghuillag MediaWiki 1.47.0-wmf.14 first-letter Meanyn Er lheh Resooney Ymmydeyr Resooney ymmydeyr Wikipedia Resooney Wikipedia Coadan Resooney coadan MediaWiki Resooney MediaWiki Clowan Resooney clowan Cooney Resooney cooney Ronney Resooney ronney TimedText TimedText talk Module Module talk Event Event talk Mannin 0 596 388618 383083 2026-08-09T05:03:40Z MacTire02 219 lettyr beg 388618 wikitext text/x-wiki {{Kishtey fys çheer |ennym_dooghyssagh = Mannin |ennym_foddey_cadjincliaghtagh= {{nobold|Isle of Man {{small|([[Baarle]])}}}} |ennym_gienneydagh = Vannin |jalloo_brattagh = Flag of the Isle of Man.svg |jalloo_cleinney = Coat of arms of the Isle of Man.svg |jalloo_caslys = Europe-Isle_of_Man.svg |jarroo-raa = "[[Rolley jarroo-raaghyn yn Oarpey|Quocunque Jeceris Stabit]]" <small>([[Ladjyn]])</small><br />"Aghterbee ceauee shiu eh, shassee eh" <small>([[Gaelg]])</small> |arrane_ashoonagh = "[[O Halloo Nyn Ghooie]]"{{efn|Haink "[[O Halloo Nyn Ghooie]]" dy ve ymmydit dy neu-oikoil veih'n vlein 1907 as hooar eh staydys ashoonagh myr yn arrane ashoonagh 'sy vlein 2003.<ref>{{cite web |title=National anthem – The World Factbook |url=https://www.cia.gov/the-world-factbook/field/national-anthem |access-date=30 Mayrnt 2021 |website=CIA.gov |archive-date=19 Mayrnt 2021 |archive-url=https://web.archive.org/web/20210319002941/https://www.cia.gov/the-world-factbook/field/national-anthem |url-status=live}}</ref>}}{{parabr}}{{center|[[Coadan:Arrane Ashoonagh Vannin.ogg]]}} |arrane_reeoil = "[[God Save the King]]"{{Efn|Hannee "[[God Save the King]]" myr yn arrane reeoil as t'eh foast cloiet myr kiaull yeshchliaghtagh tra ta olteynyn y Chrooin Ghoaldagh ayn.<ref>{{cite news |date=27 Jerrey Geuree 2003 |title=New Manx anthem shifts loyalty to land of their birth |url=http://www.theguardian.com/uk/2003/jan/27/britishidentity.paulmacinnes |access-date=30 Mayrnt 2021 |work=[[The Guardian]] |archive-date=11 Averil 2021 |archive-url=https://web.archive.org/web/20210411000200/https://www.theguardian.com/uk/2003/jan/27/britishidentity.paulmacinnes |url-status=live}}</ref>}}<br/>(Gaelg: "Dy Sauail Jee yn Ree"){{parabr}}{{center|[[Coadan:United_States_Navy_Band_-_God_Save_the_Queen.ogg]]}} |çhengaghyn_oikoil = {{hlist|[[Baarle]]|[[Gaelg]]}} |preeu-valley = [[Doolish]] |latd=54 |latm=09 |latNS=N |longd=4 |longm=29 |longEW=W |latNSgael=Hwoaie |longEWgael=Heear |balley_smoo = preeu-valley |sorçh_reiltys = [[Monarkaght vunraghtoil]] [[corys parlamaidagh|pharlamaidagh]] |enmys1_fer-toshee = [[Çhiarn Vannin]] |ennym1_fer-toshee = [[Çhalse III y Reeriaght Unnaneysit|Çhalse III]] |enmys2_fer-toshee = [[Lhiass-chiannoort Vannin|Lhiass-chiannoort]] |ennym2_fer-toshee = [[John Lorimer (offishear yn armee Ghoaldagh)|John Lorimer]] |enmys3_fer-toshee = [[Ard-hirveishagh Vannin|Ard-hirveishagh]] |ennym3_fer-toshee = [[Alfred Cannan]] |enmys4_fer-toshee = [[Eaghtyrane Tinvaal]] |ennym4_fer-toshee = [[Lawrence Skelly]] |eaghtyr_km2 = 572 |eaghtyr_mi_ker = 221 |eaghtyr_rhenk = 221d |ushtey_sy_cheead = 0 |pobble_ooley = |blein_ooley_pobble = |pobble_coontey = {{WD Earroo yn Phobble cour Kishtey Fys}} |blein_coontey_pobble = |rhenk_coontey_pobble = |glooaght_pobble_km2 = 131.2 |glooaght_pobble_mi_ker = 339.6 |rhenk_glooaght_pobble = 75oo |possanyn_kynneeagh = |blein_LTS_CCK = 2025 |LTS_CCK = $7.931 billoon |rhenk_LTS_CCK = |LTS_CCK_yn_dooinney = $89,706 |rhenk_LTS_CCK_yn_dooinney = |LTS_ennymagh = |rhenk_LTS_ennymagh = |blein_LTS_ennymagh = |LTS_ennymagh_yn_dooinney = |rhenk_LTS_ennymagh_yn_dooinney = |blein_ALD = |ALD = 0.940 |rhenk_ALD = 15oo |ronney_ALD = <span style="color:#090">feer ard</span> |sorçh_kiondeeaght = Steat kionedeeagh ta freggyrtagh er son Vannin |note_kiondeeaght = [[Reeriaght Unnaneysit]] |taghyrt1_bunnit = [[Reeriaght ny h-Ellanyn|Reirey Loghlynagh]] |date1_bunnit = 9oo eash |taghyrt2_bunnit = [[Conaant Peairt|Gurneilys Albinagh]] |date2_bunnit = 2 Jerrey Souree 1266 |taghyrt3_bunnit = [[Reeriaght Hostyn|Gurneilys Sostynagh]] |date3_bunnit = 1399 |taghyrt4_bunnit = [[Isle of Man Purchase Act 1765|Revested into British Crown]] |date4_bunnit = 10 Boaldyn 1765 |argid = {{Ubl|[[Punt Manninagh]]|[[Punt Sostynagh]]}} |coad_argid = GBP |traa_ynnydagh = [[Traa Mean Ghreenwich|GMT]] |ashchur_utc = +0 |traa_ynnydagh_TTLS = [[Traa Houree Ghoaldagh|BST]] |ashchur_utc_TTLS = +1 |cctld = [[.im]] |coad_çhellvane = 44 |note_coad_çhellvane = |fo-note1 = }} She [[Croghaneyn-crooin y Reeriaght Unnaneysit|Croghane-crooin]] hene-reiltagh Goaldagh '''Mannin''', as ish ny lhie eddyr [[Nerin]] as [[yn Vretyn Vooar]] ayns mean [[Mooir Vannin|Vooir Vannin]]. She Çhairn Vannin yn ennym t'ad cur da'n chione-çheerey, as eshyn yn peiagh cheddin ta cummal crooin yn [[Reeriaght Unnaneysit]]. Er yn oyr shoh, ta [[Lhiass-chiannoort Vannin|Fo-Chiannoort]] ayn, myr ynnydagh oikoil Hiarn Vannin. She [[Doolish]] yn [[preeu-valley]], as ta'n [[Punt Manninagh]] ymmydit myr yn argid-cadjin oikoil. Kyndagh rish e shennaghys, cultoor as çhengey, tadyr gra dy nee nane jeh ny [[ashoon Celtiagh|h-ashoonyn Celtiagh]] t'ayn. Va sleih cummal ayns Mannin roish y vlein 6500 RC, as haink cultoor Gaelgagh ayns yn 5oo lhing BNJ as veih shen haink [[Gaelg Vanninagh]]. Voish mysh BNJ 850, haink Mannin dy ve ny sheshaght Gaelgagh-Loghlynagh, kyndagh rish Loghlynee garraghey dys yn Ellan. Lurg lhing jeh reiltys neuchinjagh, eddyr reeaghyn [[Nalbin]] as [[Sostyn|Hostyn]], haink Mannin dy ve fo çhiarnys [[Crooin Hostyn|Chrooin Hostyn]] ayns 1765 liorish yn [[Isle of Man Purchase Act 1765|Slattys Aa-Ghreim]]. == Shennaghys == {{Ardart|Shennaghys Vannin}} === Shenn Traaghyn dys Jiu === Ta Mannin coontit myr fer jeh ny shey [[ashoonyn Celtiagh]] as t'eh ry-akin ayns y çhennaghys eck. Ta lorgyn sleih [[yn Eash Chloaie|ny h-Eash Chloaie Veanagh]] ry-akin ayns Mannin. V'ad cummal ayns buill fastee najooragh, shelgey as geeastaghey as çhaglym bea. Va greieyn cloaiey oc, as fir jeusyn ry-akin ayns Thie Tashtee Vannin. Ayns [[yn Eash Chloaie|yn Eash Chloaie Noa]], haink ny smoo fys oc er [[eirinys]], greieyn, as [[crayderaght]]. Ghow ad toshiaght troggal claghyn cooinaghtyn er yn Ellan. Ta fir jeu ry-akin foast, faggys dy [[Laksaa]], [[Creneash]] as buill elley. Ny kied chleinyn va cummal 'syn Ellan, s'cosoyley dy vel ad nyn [[Brythonagh|Mrythonee]], agh mysh [[700|700 BNJ]] haink ny Yernee, er lhieu. Veih'n sleih shoh haink y pobbyl Manninagh leah. S'leayr shen ayns caghlaa 'sy çhengey v'ad jannoo ymmyd jeh ayns cowraghyn grainnit [[Ogham]]. Ta mooinjerys foast eddyr [[Gaelg|Gaelg Vanninagh]], [[Yernish]] as [[Gaelg Albinagh]]. Ec jerrey yn hoghtoo cheead, ghow ny [[Loghlynagh|Loghlynee]] toshiaght cummal ayns Mannin. Er lhimmey jeh croo [[Tinvaal]] as rheynn yn thalloo, cha row caghlaaghyn mooarey dys cultoor ny Manninee. Ga dy row Loghlynish gobbraghey er Gaelg, v'eh gyn monney bree. Ren [[Gorree Crovan]] croo yn reeriaght Loghlynagh [[Reeriaght Mannin as ny h-Ellanyn|Mannin as ny h-Ellanyn]] ayns [[1079]]. Ayns [[1266]], rere [[Conaant Pheairt]], ren Ree Loghlyn [[Magnus VI]] lhiggey ny h-ellanyn da [[Nalbin]]. Haink Mannin fo stiurey Sostnagh 'sy jeihoo cheead as kiare, as fo [[Crooin Hostyn]] ayns [[1765]]. Car traaghyn Loghlynagh, v'ad gra roo ellanyn [[Reeriaght Mannin as ny h-Ellanyn]] Loghlynagh ''Súðreyjar'' ny "Sudreys" (ellanyn y jiass) soie noi ry hoi ny ''Norðreyjar'' (ellanyn y twoie) as adsyn [[yn Orkaid]] as [[Shetlynn]]. Haink yn ennym shoh dy ve Sodor. T'ad gra rish aspickys [[Agglish Hostyn]] foast [[Aspickys Sodor as Mannin]], ga nagh vel agh Mannin ayn. Tra screeu yn [[W.V. Awdry|Arrymagh W. V. Awdry]], ren eh cooiney yn ellan [[Sodor]] myr ellan conrieugh as eshyn soit eddyr Mannin as slyst [[Cumbria|Chumbria]]. Va ymmyd jeant jeh Mannin myr boayl son campyn [[Prysoonys]] Shivoilee Joaree rish y [[Kied Chaggey Mooar|Chied Chaggey Mooar]] as y [[Nah Chaggey Mooar]] reesht. === Tinvaal === {{Ardart|Tinvaal}} Ta Tinvaal ny ardwhaill Vannin, as v'eh currit er bun ayns 979 RC dy ennymagh. Dy so-arganeagh, t'eh yn ardwhaill shinney gyn scuirr erbee 'sy teihll.<ref> Ta ardwhaillyn ny [[Althing|h-Eeslynn]] as ny [[Løgting|h-Ellanyn Faaroagh]] ny shinney, agh v'ad astyrid eddyr 1800 dys 1845, as eddyr 1816 dys 1852, er lheh</ref>. Ta çhaglym bleinoil jesh-chliaghtagh foast freayll taghyrt ec Cronk Keeill Eoin ayns Jerrey Sourey er Laa Tinvaal. She laa ashoonagh yn Ellan eh, traa t'ad fockley magh ardenmyn as cur coontey giare jeh ny leighyn noa ta Quaill Tinvaal er nyannoo rish y blein roish shen. == Çheer-oaylleeaght == {{Ardart|Çheer-oaylleeaght Vannin}} {{Jeeagh|Rolley ellanyn Vannin}} [[Coadan:Isle of Man map-en.svg|250px|thumb|Caslys-çheer jeh Mannin]] [[Coadan:Isle-of-Man-Ramsey-Kirk-Michael.jpg|right|250px|thumb|Mannin]] Chammah as ellan mooar Vannin hene, ta Mannin goaill stiagh ny h-ellanyn beggey [[Yn Cholloo]], [[Carrick ny Kylliu]] as [[Ellan Noo Perrick]]. Ta Mannin soit ayns mean y [[Mooir Vannin|Vooir Vannin]], as ish kiangley da'n [[Keayn Sheear|Cheayn Sheear]] lesh [[Mooir Vretin]] eddyr [[Nerin]] as [[Bretin]] as [[Kernow]] da'n jiass, as lesh [[Ammyr ny h-Albey]] eddyr [[Nerin]] as [[Nalbin]]. Ta Mannin ny kuse jeh ny h-[[Ellanyn Goaldagh]], ellanragh faggys da slyst sheear-hwoaie ny h-Oarpey neuellanagh. Ta'n ellan soit ayns [[Mooir Vannin]] mysh coaggys da [[Sostyn]], [[Nalbin]] as [[Nerin]]. Mysh 52 kilomeadar (32 meeillaghyn) er liurid, as eddyr 13 as 24 kilomeader (8 as 15 meeillaghyn) er lheead, ta boayl mysh [[1 E8 m²|572 km²]] (221 [[meeiley cherrinagh|meeilaghyn kerrinagh]]) eck. Ta cruink 'sy twoaie as 'sy jiass, as coan meanagh rheynn yn ellan. Ta gob y twoaie ny rea dy neuchadjin. T'eh jeant seose jeh ny ren awinyn rioee cur sheese tra v'ad gleashaghey veih Nalbin Sheear rish traaghyn ny s'feayrey. Cha nel agh un slieau ny syrjey na daa housane trieyn (610m), [[Sniaull]] as eshyn 621m er yrjid. Rere yn shennockle, veih'n vullagh ta shey reeriaghtyn ry-akin: Mannin, [[Nalbin]], [[Sostyn]], [[Nerin]], [[Bretin]] as [[Niau]]. <ref>http://www.iomguide.com/mountainrailway.php</ref><ref>{{Cite web |title=Archive copy |url=http://www.gov.im/tourism/culture/attractions/snaefell_attract.xml |accessdate=2007-09-30 |archivedate=2007-09-30 |archiveurl=https://web.archive.org/web/20070930181229/http://www.gov.im/tourism/culture/attractions/snaefell_attract.xml }}</ref><ref>{{Cite web |title=Archive copy |url=http://www.bestloved.com/attractions/snaefell-mountain-railway-in-douglas-isle-of-man-the-north-england-uk.php |accessdate=2008-01-29 |archivedate=2007-09-29 |archiveurl=https://web.archive.org/web/20070929012827/http://www.bestloved.com/attractions/snaefell-mountain-railway-in-douglas-isle-of-man-the-north-england-uk.php }}</ref> Ta kuse dy lhiegganyn cur reeriaght shiaghtoo daue: ny t'ec [[Manannan Mac Lir]] (ny [[Neptune]]), Reeriaght y Cheayn. <ref>{{Cite web |title=Archive copy |url=http://www.isle-of-man.com/manxnotebook/tourism/pcards/snaefell.htm |access-date=2008-01-29 |archive-date=2008-05-14 |archive-url=https://web.archive.org/web/20080514221156/http://www.isle-of-man.com/manxnotebook/tourism/pcards/snaefell.htm |url-status=dead }}</ref><ref>http://www.uwm.edu/Dept/celtic/ekeltoi/volumes/vol2/2_4/maddrell_2_4.pdf</ref> === Baljyn as baljyn beggey ayns Mannin === She [[Doolish]] preeu-valley Vannin neayr's 1863, as [[Balley Chashtal]] v'eh roish shen. Ta [[Tinvaal]] çhaglym ayns Doolish er-lhimmey jeh [[Laa Tinvaal]] tra t'eh ny hoie ec [[Cronk Keeill Eoin]]. Ta'n ard-hiamble ynrican 'syn Ellan ayns [[Purt ny hInshey]], as rere shen ta sleih gra dy vel ee ny "h-ard-valley ynrican Vannin". Shoh thie [[Aspick Hodor as Vannin]]. Baljyn elley 'syn Ellan, t'ad goaill stiagh [[Rhumsaa]], [[Laksaa]], [[Purt le Moirrey]], [[Purt Chiarn]], [[Balley Beg]], [[Balley Sallagh]], [[Balley Drine]], [[Forsdal]], [[Balley Keeil Eoin]], [[Kione Droghad]], as [[Creneash]]. == Sleih == {{Ardart|Manninee }} Rere sleih-earroo 2016,<ref>{{Cite web |title=Summary results of the Isle of Man Census 2006 |url=http://www.gov.im/lib/docs/treasury/economic/census/isleofmancensusreport2006.pdf |accessdate=2007-06-14 |archivedate=2007-06-14 |archiveurl=https://web.archive.org/web/20070614044009/http://www.gov.im/lib/docs/treasury/economic/census/isleofmancensusreport2006.pdf }}</ref> ta 83,314 sleih cummal ayns Mannin, as 26,997 jeu cummal 'sy ard-valley eck, [[Doolish]]. Rug yn chooid sloo jeh'n phobble ayns ny h-[[Ellanyn Goaldagh]]. Rug 47.6% jeu ayns Mannin, 37.2% ayns Sostyn, 3.4% ayns Nalbin, 2,1% ayns Nerin Twoaie, 2.1% ayns Pobblaght Nerin, 1.2% ayns Bretin as 0.3% ayns ny h-Ellanyn Vooir Eeaght. == Cultoor == {{jeeagh|Kiaull Vannin}} Ta kiangley mooar ayn eddyr kiaull Mannin as kiaull Jernish as Loghlynagh. Lurg baase [[Ned Maddrell]] ayns 1974 va [[kiaull]] as [[cultoor Manninagh]] gowit toshiaght reesht ec [[Yn Chruinnaght]] ayns [[Rhumsaa]]. Ayns y tra t'ayn, ta monney kiaulleyderyn ayn myr [[The Mollag Band]], [[King Chiaullee]] as [[Paitçhyn Vannin]] ta cloie kiaull ayns Gaelg. === Shennaghys yn ennym === Ta bunnys yn ennym Vannin neuchronnal. T'ad cur er yn Ellan ''Mannin'' ny ''Mannin''. Yn kied cummey jeh'n ennym as fys er, t'eh ''{{lang|gv|Manu}}'' ny ''{{lang|gv|Mana}}''<ref>''The Isle of Man. A Social, Cultural and Political History.'' liorish R.H. Kinvig, dg 18 (1975) (3rd Edition) Liverpool University Press ISBN 0-85323-391-8</ref>. Ta shen cur yn ennym [[gienneydagh]] ''{{lang|gv|Manann}}'' as eshyn çheet dy ve ''{{lang|gv|Mannin}}''. Rish amm [[Julius Caesar]], as eh cur shilley er Yn Vretin Vooar rish 55 as 54 RC, ren eh screeu mychione "ellan as ad cur ''Mona'' jee", as eshyn soit ayns mean ny marrey ta rheynn Yn Vretin Vooar veih Nerin.'<ref>''The Isle of Man. A Social, Cultural and Political History.'' liorish R.H. Kinvig, dgn 18-19 (1975) (3rd Edition) Liverpool University Press ISBN 0-85323-391-8</ref> === Çhengaghyn === {{jeeagh|Gaelg}} Ta çhengaghyn oikoil Mannin [[Gaelg]] as [[Baarle]]. Ta abbyrt Vaarle goll er loayrt, as ad cur [[Baarle Vanninagh]] j'ee. She çhengey [[çhengaghyn Celtiagh|Cheltiagh]] [[çhengaghyn Gaelgagh|Ghaelgagh]] ee yn Ghaelg, as ish ny fer jeh ny [[çhengaghyn Celtiagh ellanagh]] ta goll er loayrt ayns ny h-Ellanyn Goaldagh. Ta ennym oikoil er Gaelg myr [[çhengaghyn ardjynagh|çhengey ardjynagh]] [[çhengaghyn dooie|ghooie]] rere y [[Conaant son Çhengaghyn Ardjynagh ny Fo-hengaghyn]]. Ren y Reeriaght Unnaneyssit shickyraghey eh er 27 Mart 2001 ass lieh reiltys Vannin. Ta faggys-mooinjerys eddyr [[Gaelg|Gaelg Vanninagh]], [[Gaelg Albinagh]] as [[Yernish]]. Ec mean y feedoo cheead, cha row agh beggan [[loayrteyder dooie|loayrteyderyn dooie]] faagit. Hooar y fer s'jerree jeu, [[Ned Maddrell]], baase er [[27 Mee ny Nollick]], [[1974]]. Roish shen va aavioghey er ngoaill toshiaght ny vud ny sleih, as va ram jou gynsaghey Gaelg myr nah hengey. Ta ny kied loayreyderyn dooie Gaelg (daa-hengagh marish Baarle) rish ymmodee bleeantyn er jeet rish: paitçhyn hie er troggal liorish ayraghyn as moiraghyn as Gaelg oc. Ta ynsee bunscoill ry-gheddyn veih reiltys Vannin: neayr 2003, ta'n [[Bunscoill Ghaelgagh|Vunscoill Ghaelgagh]] er yannoo ymmyd jeh'n shenn troggal Scoill [[Balley Keeill Eoin|Valley Keeill Eoin]]. Ta keimyn 'sy Ghaelg ry-gheddyn veih [[Colleish Mannin]] as [[Laare-studeyrys Manninagh]]. Ta possanyn-cloie Gaelg ayn neesht, as ta brastyllyn Gaelg ry-gheddyn ayns scoillyn er yn Ellan. Rere kione-earroo 2001, ren 1,689 veih 76,312, ny 2.2% jeh'n phobbyl, aggyrt dy row Gaelg oc. Cha row Gaelg flaaoil ec dagh fer jeu, fodmayd goaill ass laue. Ta ymmyd cadjin jeant jeh ny bannaghtyn ''moghrey mie'' as ''fastyr mie''. Chammah as shen ta ''traa dy liooar'' ry-chlashtyn dy cadjin, as shen soilshaghey barel beaynchrooagh veh'n ymmyrkey bea Manninagh. === Cowraghyn === [[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|thumb|Tree cassyn Mannin.]] Rish cheeadyn, ta cowrey yn Ellan er ve yn shenn [[tree cassyn Mannin]]: tree cassyn lhoobit, dy cheilley ry lheayst, as jialg vrasnee ec dagh jeu. Cha nel lhieggan oikoil jeh'n Tree Cassyn; ta jallooyn anchasley ec clouyn yn reiltys, argid, brattaghyn, Boayrt Failt as fir elley. Ta mooinjerys eddyr ny tree cassyn as jarroo-raa ny hEllan, as hie eshyn er doltey anmagh er e hennaghys: ''Quocunque Jeceris Stabit'', ny 'sy Ghaelg, ''Aghterbee ceauee shiu eh, shassee eh''. Dy mennick, t'ad soilshaghey yn jarroo-raa dy chur trimmid er beayn-hassooaght. Ta ram scoillyn caghaa yn jaroo-raa beggan dys greinnaghey lhiantyn rish as gobbraghey dy creoi. Ta bun ny Tree Cassyn Mannin shenn-skeeal Manninagh, as eshyn gra ren [[Manannan mac Lir|Manannan]] castey soiagh liorish caghlaa eh hene dys cummey ny tree cassyn as queeylley neose y chronk orroo. Ta'n tree cassyn goll er jannoo foast reesht er cowraghyn cleinney lesh crouwyn y lught-thie ooasle Loghlynagh va reilley Mannin derrey yn treeoo cheead jeig . Yn lhieggan shoh, s'lesh yn crouw [[Skancke]] eh, as nyn ennym çheet veih'n 'ockle Loghlynagh "shank", ny "cass" 'sy Ghaelg. Hannee lught-thie reeoil Vannin er yn Ellan rish kuse dy vleeantyn lurg baase [[Magnus III jeh Loghlyn|Magnus III]] as toshiaght reill Albinagh. Cha ren ad arraghey ersooyl derrey eab jerrinagh liorish ny Manninee, ayns 1275, ny shenn reeraghtys Sudreyar erash y chur lhein. Ren ad irree magh noi ny h-Albinee, agh she cragh v'eh, as keeadyn jeh sleih geddyn baase (goaill stiagh yn Ree Loghlynagh jerrinagh Vannin [[Godred IV Magnuson]]) tra hie ad fo haart ec [[Caggey Roonysvie]], faggys da [[Balley Chashtal]]. Hie ny fir ooasle dys Loghlyn as stiagh 'syn chooyrt reeoil, raad hooar ad ard-cheimyn fo'n chrooin dy tappee. === Feayn-skeeallyn as beeal-arrish === Rere feayn-skeeallydaght Manninagh, hie yn Ellan er reill liorish [[Manannan mac Lir]]. Cha nel skeeallyn ayns coardailys my row eh ny jee ny ny fer obbee niartal, agh v'eh ny ard-reiltagh giastyllagh as choadee eh yn Ellan noi dagh ooilley noidyn. Foddee eh ceau cloagey kay mygeayrt yn Ellan dys follaghey ee veih ruegeyderyn. Rish beeal-arrish Manninagh, shimmey skeeal t'ayn mychione cretooryn as sleih far-skeealagh. T'ad goaill stiagh ny [[Buggane]] – spyrryd olk goanlyssagh, ren sheidey ersool mullagh cheeill Trinian Noo fo fergey. T'ad gra dy 'oddee eh caghlaa eh hene dys moddey mooar doo, ny gruagagh, ny ram jallooyn elley, dys cur aggle er peiagh. Chammah as eshyn ta'n [[Fynoderee]], fer mooar as geayshteenagh; yn [[Glashtyn]] ta caghlaa dys cabbyl as geabbey baih sleih; as yn [[Moddey Doo]], baagh neuheiltagh va ny hooyl trooid corradoyryn as boallaghyn Chashtal Purt ny h-Inshey. Cumaltee smoo ard-ghooagh Vannin, shen y [[Mooinjer Veggey]], as sleih cur 'ad hene' orroo dy mennick. As uss goll harrish [[Droghad Skylley Vraddan]], t'ad gra dy vel eh drogh aigh mannagh vel shiu cur failt er ad hene lesh ''moghrey mie'' ny ''fastyr mie''. Ta shenn skeeal Yernagh gra dy hie [[Logh Nay]] er jannoo rish caggey ayns Nerin eddyr yn foawr ard-ghooagh Yernagh, [[Finn Mac Cooil]], as foawr ruy Albinagh. Hooar Finn yn varriaght, as chouds va'n foawr Albinagh hea ersooyl, ghow Finn greim er croaglagh thalloo Nerin as cheau eh eh ny yei. Ren eh coayl, as huitt yn ceab thalloo stiagh ayns [[Mooir Vannin]], as shen yn aght hie Mannin er croo. == Beiyn == Rere beiyn çheeragh, ta'n [[kayt Manninagh|chayt Manninagh]] y fer as fys ec cagh er. Ta'n ennym cadjin echey ''Stubbin''. Ta'n [[cheyrrey loaghtyn]] ny keyrrey nagh vel ry-akin raad elley, as ee jeh sliught kirree vunneydagh [[Nalbin|ny h-Albey]]. Ta'n [[scraayl]] ny [[ushag varrey]], ''Manx shearwater'' 'sy Vaarle er y fa dy row coloin mooar scraaylyn er [[Yn Cholloo|y Cholloo]]. Ren y kynney parail er coontey ny roddanyn haink 'syn ellan veih lhong-vrishey anmagh 'sy hoghtoo cheead jeig. Ny yei shen, ta ny roddanyn er ngoll er scughey veih'n Cholloo er y gherrid, as myr shen ta earrooyn ny scraaylyn bishaghey. Ta'n [[caaig|chaaig]] ny h-oltey jeh sheel y fannag as gob jiarg baghtal echey. == Bee as jough == She bee ashoonagh yn Ellan ''skeddan as praasyn''. Va ny Manninee gee ad rish eashyn, as adsyn nyn croiteyr as eeasteyryn son y chooid smoo. Ga nagh vel eeastyn cho scanshoil da bea yn Ellan nish, ta ram eeast goll er ee liorish ny Manninee foast. Rish ny bleeantyn shoh chaie ta'n eeastey traghtee er ngoll shymley, agh ta meeryn-vlastal goaill stiagh [[skeddan jiarg]] veih thieyn jaagh [[Purt ny h-Inshey|Phurt ny h-Inshey]]. Jiu t'ad jannoo ymmyd jeh skeddan [[Mooir Hostyn|Vooir Hostyn]] son y chooid smoo. T'ad jannoo sur-vee elley myr [[braddan jaaghit]] as [[bagoon]] myrgeddin. Ta [[partan]], [[gimmagh]] as [[roagan]]yn goll er eeastey dy traghtee, as ta [[mynroagan]] nyn meeryn-vlastal er lheh, as blass millish, eddrym oc. Ta [[bioddagh]] as [[breck]] ry-gheddyn veih keayn, awinyn as loghyn yn Ellan, lesh cooney guirrlan eeast yn Reiltys ec [[Cornaa]]. Ta [[ollagh|ollee]], [[keyrrey|kirree]], [[muc]]yn as [[eeanlee]] ooilley goll er gerinagh, as ta eayn chrink Vannin ny lhongey cadjin. Ta feill mea ec yn Loaghtan, as ard-choagyryn foayragh da er [[Masterchef]] er y [[BBC]]. Ta [[bainney]] as [[caashey]] goll er jannoo liorish keylann ''IOM Creameries''. Haink caashey Vannish lesh er lheh, ayns sorçhyn jaaghit as blast losseree, as t'eh ry-gheddyn ayns ymmodee ard-vargaghyn yn RU. Ta thieyn imbyl [[Okells Brewery]] as [[Bushy's Brewery]] imbyl [[lhune]] dy traghtee. == Reiltys == [[Coadan:IoM.JPG|right|280px|right|thumb|Jalloo cruinlagh Mannin]] {{Ardart|Reiltys Vannin}} Ta'n [[Reeriaght Unnaneyssit]] freggyrtagh son coadey yn Ellan, as son reiltys mie dy jerrinagh. Chammah as shen t'eh loayrt son yn Ellan rish cooishyn eddyr-ashoonagh, choud's ta reiltys Vannin hene stiurey dagh cooish Manninagh. === Troggal === {{Ardart|Leigh Vannin}} She [[Tinvaal]] ardwhaill Vannin, as eshyn goaill toshiaght ayns 979 RC. T'eh ny ardwhaill shinney gyn brishey 'sy teihll. Ta quaill daahamyragh ec Tinvaal: yn [[Kiare as Feed]] (dagh oltey er ny reih liorish teiy cadjin) as yn [[Coonseil slattyssagh|Choonseil Slattyssagh]] (jeant seose veih olteyn trooid oik ny adsyn t'er ny reih dy neuyeeragh). Ta ny daa phossanyn shoh çhaglym ry-cheilley dy hoie myr Tinvaal. Ta crouw kianoortagh yn reiltys yn [[Coonseil ny Shirveishee]]. T'eh jeant seose veih olteynyn Hinvaal. Ta [[Ard-Shirveishagh]] ny ard-chione echey; ec y traa t'ayn nish (2018) shen [[Howard Quayle]] [[Oltey jeh'n Kiare as Feed|OKF]]. Ta'n [[Lhiass-chiannoort Mannin|Fo-Chiannoort Mannin]] jannoo currymyn fo-reeoil. === Mooinjerys Çheumooie === Rere [[leigh Vretin Vooar]], cha nel Mannin ny rheynn yn Reeriaght Unnaneyssit. Ny yei shen, ta'n RU goaill kiaral jeh ny cooishyn çheumooie as ny ta bentyn rish coadey. Chammah as shen, ta ard-niart ec yn RU da jannoo slattys son yn Ellan. ==== Seyraanaght ==== Ta seyraanaght Vannin rere leigh yn [[Reeriaght Unnaneyssit]], as ta Manninee coontit myr [[seyranee Vretin Vooar]]. Ny ta gyn shenn ayr ny shenn vooir va ruggit 'syn RU (as adsyn gyn cummal rish queig bleiney ny smoo 'syn RU gyn brishey), cha nel ny kiedyn cheddin oc myr oc seyranee Vretin Vooar elley, bentyn rish gobbraghey as cummal ayns yn [[Unnaneyns Europagh]]. ==== Yn Unnaneys Oarpagh ==== Cha nel olteynys ny co-olteynys yn [[Unnaneys Oarpagh]] ec Mannin. Ta Reill Tree chonaant goll stiagh y Reeriaght Unnaneyssit lhiggey da sleih dellal cooidjyn Manninagh gyn keesh.<ref>{{Cite web |title=Archive copy |url=http://www.bmdf.co.uk/ukaccessiontreaty.pdf |accessdate=2008-01-29 |archivedate=2007-06-14 |archiveurl=https://web.archive.org/web/20070614044010/http://www.bmdf.co.uk/ukaccessiontreaty.pdf }}</ref> Ry-cheilley marish Conaant Custym as Maail rish yn RU, t'eh cur raad da dellal seyr rish yn RU. Ga dy nod cooidjyn Manninagh goll er arraghey dy seyr sthie yn UO, cha nod sleih, bun-argid ny shirveishyn. Foddee seyranee yn UO troailt as cummal 'syn Ellan gyn lhiettalys. ==== Y Co-unnaneys Goaldagh ==== Cha nel Mannin hene ny oltey jeh'n [[Yn Co-unnaneys Goaldagh|Cho-unnaneys Goaldagh]]. Er coontey e mooinjerys rish yn RU, t'eh goaill ayrn ayns kuse dy commyn jeh'n Cho-unnaneys Goaldagh, goaill stiagh [[Sheshaght Ardwhaillagh y Cho-unnaneys Goaldagh]] as [[Gammanyn y Cho-unnaneys Goaldagh]]. === Politickaght === [[Coadan:Isle of Man.png|thumb|Sheadinyn Vannin]] {{Ardart|Politickaght Mannin}} Ta'n chooid smoo jeh politickeyryn Manninagh cur stiagh son reihys myr fir gyn partee. Cha nel ad nyn ynnydee parteeyn politickagh. Ga dy vel parteeyn ayn, cha nel ny cummaght oc cho lajer as t'ayns Reeriaght Unnaneyssit. Ta'n partee politickagh smoo yn [[Partee Libraalagh Vannin]], noa currit er bun, as eshyn aggyrt ny smoo seyrsnys da Mannin as ny smoo freggyrtys 'sy Reiltys. Ta daa olteynyn Tinvaal ec y PLV, goaill stiagh yn Ard-chione [[Kate Beecroft]] [[Oltey jeh'n Kiare as Feed|OKF]]. Ta possan broo ashoonagh [[Mec Vannin]] coyrlaghey cur er bun [[pobblaght]] neuchroghagh. === Gurneilys ynnydagh === {{Ardart|Gurneilys ynnydagh ayns Mannin}} Ta gurneilys ynnydagh er yn Ellan soit er ny shenn skeeryn. Ta tree sorçhyn jeh lughtyn-reill ayn: balley corpagh, coyrlyn valjey as coyrlyn skeerey. == Farrys == She farrys injil-cheesh Mannin, gyn [[keesh cosnaghyn bun-argidagh]], [[keesh berçhys]], [[keesh chlouag]] ny [[keesh eiraght]]<ref>{{Cite web |title=Archive copy |url=http://www.gov.im/iomfinance/tax/directtax.xml |accessdate=2008-01-29 |archivedate=2012-04-19 |archiveurl=https://web.archive.org/web/20120419122502/http://www.gov.im/iomfinance/tax/directtax.xml }}</ref>. Ta [[keesh çheet stiagh]] er 10% as 18%; [[keesh traght]] er 0%. <ref>{{Cite web |title=Archive copy |url=http://www.gov.im/treasury/incometax/strategy/viewnews.gov?page=lib/news/treasury/incometax/newassessorofinc.xml&menuid= |access-date=2012-08-03 |archive-date=2012-11-08 |archive-url=https://web.archive.org/web/20121108050511/http://www.gov.im/treasury/incometax/strategy/viewnews.gov?page=lib/news/treasury/incometax/newassessorofinc.xml&menuid= |url-status=dead }}</ref><ref>{{Cite web |title=Archive copy |url=http://money.independent.co.uk/personal_finance/tax/article349147.ece |accessdate=2008-01-29 |archivedate=2007-05-10 |archiveurl=https://web.archive.org/web/20070510060817/http://money.independent.co.uk/personal_finance/tax/article349147.ece }}</ref> Ta [[banceyraght]], [[jeantys]] as [[turrysaght]] nyn rheynnyn mooar yn farrys. [[Eirinaght]] as [[eeasteyraght]], bun-chlaghyn y farrys dy row, ta ny symmyn dy vel ad cur dys [[Slane Troar Thie]] (STT/GDP) leodaghey. Son y chooid smoo, ta'n Ellan dellal rish y [[Reeriaght Unnaneyssit]]. Ta reiltys Vannin greinnaghey jannoo filmyn 'syn Ellan trooid cur da costyssyn jannoo. === Arraghey === Ta 800km jeh raadyn theayagh 'syn Ellan, as ad slane pheamadit. Cha nel cagliagh bieauid ec ram jeu. Ta baatyn cadjin dys as veih yn [[Reeriaght Unnaneyssit]] as [[Pobblaght Nerin]]. Ta ny baatyn ooilley goll er obbyr liorish yn [[Isle of Man Steam Packet Company]]. Ta'n purt-aer traghtee ynrican er yn ellan [[Purt Aer Vannin]] ec [[Roonysvaie]]. == Spoyrtyn == She [[cammag]] yn [[spoyrt]] ashoonagh, ta gollrish [[iomain]] Nerin ny [[shinty]] Nalbin. Roish v'eh ny spoyrt smoo cadjin 'syn Ellan, agh haink jerrey er ec toshiaght yn feedoo cheead. Er y gherrid t'eh er ngoll er aavioghey as ta troddyn ayn dagh blein ec [[Balley Keeil Eoin]]. She [[spoyrt]] mooar [[gleash-wheeylaght]], as ta'n [[TT Vannin]] er haghyr roish 1907. Ta fwirran dirdyn obbyr yn ashoonagh as commeeys [[bluckan coshey]] ec Mannin, agh cha nel ad ayns [[FIFA]] kyndagh rish e cheimeeaght politickagh. Ta Mannin goaill ayrn ayns [[Gammanyn y Cho-unnaneys Goaldagh]] as [[Sheshaght Ghammanyn Ellanyn Eddyr-ashoonagh|Gammanyn ny h-Ellanyn]], as bee ee ny h-olteyr da ny IV [[Gammanyn Aeglagh y Cho-unnaneys Goaldagh]] ayns 2011. Hug yn Ellan toshiaght er yn [[Sheshaght Ghammanyn Ellanyn Eddyr-ashoonagh]] ayns 1985. === Ratçhal roar-bree === {{Jeeagh|TT Mannin}} Yn cruinnaght smoo eddyr-ashoonagh roar-bree ta bentyn rish yn Ellan, she yn [[TT Mannin]] eh. Hug ad bun er ayns 1907, as t'eh taghyrt anmagh ayns Mee Boaldyn. Ta [[Grand Prix Vannin]] ny cruinnaght roar-bree da ancheirdee as yeearreyderyn gyn oik ta jannoo ymmyd jeh'n coorse 37.73 meeilley [[Coorse Sniaul|Sniaul]] cheddin anmagh ayns Mee Luanistyn as leah ayns Mean Fouyir. == Cummaltee ard-ghooagh == {{Ardart| Cummaltee ard-ghooagh Vannin}} === Hie er ruggey ny troggal 'syn Ellan === * [[Ny Bee Gees]] * [[Mark Cavendish]], daawheeylleyder. * [[Charles Kerruish]], yn chied Manninagh dy ve ny Chione y reiltys ayns 1961. * [[Illiam Dhone]], va ec kione irree magh noi reill Sostnagh er yn Ellan. Hug ad baase er ayns 1663. * [[Nigel Kneale]], screeudeyr-film far-skeealyn sheanse as scoagh. <!--- Cha lhisagh agh beggan beg sleih feer scanshoil ve ayns shoh. Cur-shiu nyn enmyn er nyn duillag hene hoshiaght--> === Haink dys yn Ellan === * [[Jeremy Clarkson]], earisheyr as fer çhellveeish. * [[Neil Hodgson]], reih Superbike as World Superbike 2003. * [[Norman Wisdom|Sir Norman Wisdom]], cloiedeyr as fer aitt. * [[John Rhys Davies]], cloiedeyr. * [[Andy Kershaw]], DJ. <!--- Cha lhisagh agh beggan beg sleih feer scanshoil ve ayns shoh. Cur-shiu nyn enmyn er nyn duillag hene hoshiaght--> == Artyn elley == [[Gaelg]], [[Tinvaal]], [[Ned Maddrell]], [[Colleish Ree Illiam]], [[Reiltys Vannin]], [[Kiare as Feed]], [[Coonseil Slattyssagh Vannin]], [[Mec Vannin]]. == Jeeagh er neesht == {{collooghyn |width=300px |gap=10px |col1 = * [[Gaelg]] * [[Kayt Manninagh]] |col2 = * [[Baljyn Mannin]] * [[Laa Tinvaal]] * [[Rolley reeaghyn Vannin]] |col3 = * [[Rolley ashoonyn gyn lane seyrsnys]] * [[Blaanid as beiyn Vannin]] }} ==Noteyn== {{notelist}} == Imraaghyn == {{reflist}} {{imraaghyntoshiaght}} * Russel, G. 1988. Distribution and development of some Manx epiphyte populations. ''Helgolander Meeresunters.'' '''42''': 477 - 492. {{imraaghynjerrey}} == Kianglaghyn magh == * [http://www.isleofman.com/ isleofman.com] Mannin er-voggyl. * [http://www.iomguide.com/ Isle of Man Guide] Oayllys lhean da Mannin. * [http://www.gov.im Manx Government] Reiltys Vannin, as ram cooishyn bea Manninagh. * [http://www.manxscenes.com/ Manx Scenes.com] Lioar-hasht lhean caslys-soilshagh. * [http://www.virtualiom.com/ Isle of Man Tour] Jallooyn 360 keimyn jeh Mannin. * [https://web.archive.org/web/20080304093626/http://www.manxviews.com/ Manxviews] Ny smoo na 1300 jallooyn Manninagh. {{Co-rheynnyn y Reeriaght Unnaneysit}} {{Celtee}} {{gurneil eaghtyrys}} [[Ronney:Mannin| ]] [[Ronney:Ellanyn Vannin]] [[Ronney:Ellanyn Goaldagh]] [[Ronney:Ny h-Ellanyn Goaldagh]] [[Ronney:Çheeraghyn as thallooyn Celtiagh]] [[Ronney:Croghaneyn-crooin]] [[Ronney:Croghaneyn yn Oarpey]] [[Ronney:Eear-choloinyn Norlynnagh]] [[Ronney:Çheeraghyn ellanagh]] 320m5i5p7pg573o11jo6oskebw2vh3z Yn Cholombey 0 1852 388619 359861 2026-08-09T09:22:49Z Martin Macha 2111 16409 /* */ 388619 wikitext text/x-wiki {{Kishtey fys çheer |ennym_dooghyssagh = Pobblaght y Cholombey |ennym_foddey_cadjincliaghtagh= {{nobold|República de Colombia {{small|([[Spaainish]])}}}} |ennym_gienneydagh = y Cholombey |jalloo_brattagh = Flag of Colombia.svg |jalloo_cleinney = Coat of arms of Colombia.svg |jalloo_caslys = COL orthographic (San Andrés and Providencia special).svg |jarroo-raa = {{lang|es|"Libertad y Orden"}}<br/>"Seyrsnys as Oardagh" |arrane_ashoonagh = {{lang|es|''[[Arrane Ashoonagh y Cholombey|Himno Nacional de la República de Colombia]]''}}<br />"Arrane Ashoonagh Phobblaght y Cholombey"{{parabr}}{{center|[[Coadan:United States Navy Band - ¡Oh, gloria inmarcesible!.ogg]]}} |çhengaghyn_oikoil = [[Spaainish]] |çhengaghyn_ardjynagh = [[Creeole San Andrés–Providencia|Creeole Baarlagh]] (ayns [[San Andrés as Providencia]])<ref>{{cite web |title=Por la cual se dictan normas especiales para la organización y el funcionamiento del Departamento Archipiélago de San Andrés, Providencia y Santa Catalina. |url=http://www.secretariasenado.gov.co/senado/basedoc/ley_0047_1993.html |access-date=18 Jerrey Fouyir 2023 |quote=ARTÍCULO 42. IDIOMA Y LENGUA OFICIAL EN EL DEPARTAMENTO ARCHIPIELAGO. Son oficiales en el Departamento Archipiélago de San Andrés, Providencia y Santa Catalina el castellano y el inglés comunmente hablado por las comunidades nativas del Archipiélago. |archive-date=5 Sauin 2023 |archive-url=https://web.archive.org/web/20231105153804/http://www.secretariasenado.gov.co/senado/basedoc/ley_0047_1993.html |url-status=live }}</ref><br>[[Çhengaghyn y Cholombey|64 çhengey elley]]{{efn|Ga dy vel Bunraght y Cholombey genmyssey yn Spaainish (''Castellano'') myr y [[çhengey oikoil]] feie slane thalloo yn Cholombey, ta staydys oikoil ec ny çhengaghyn elley ta loayrit ec dagh fer jeh ny possanyn kynneeagh ayn.<ref> Rere [[Bunraght y Cholombey]] veih'n vlein 1991 (Enmys I – Bentyn rish ny Bun-leeideilee – Art 10)</ref> ta staydys oikoil ec y Vaarle chammah ayns [[ellanragh San Andrés, Providencia, as Santa Catalina]].<ref name="LEY47DE1993">{{cite web|url=http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=2780|title=LEY 47 DE 1993|publisher=alcaldiabogota.gov.co|language=es|access-date=23 Toshiaght Arree 2014|archive-date=11 Jerrey Geuree 2012|archive-url=https://web.archive.org/web/20120111165257/http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=2780|url-status=live}}</ref>}} |possanyn_kynneeagh = |preeu-valley = [[Bogotá]] |latd=4 |latm=39 |latNS=N |longd=74 |longm=03 |longEW=W |latNSgael=Hwoaie |longEWgael=Heear |balley_smoo = preeu-valley |sorçh_reiltys = [[Corys eaghtyraneagh|Pobblaght eaghtyraneagh]] unnaneagh |enmys1_fer-toshee = [[Eaghtyrane y Cholombey|Eaghtyrane]] |ennym1_fer-toshee = [[Abelardo de la Espriella]] |enmys2_fer-toshee = [[Lhiass-eaghtyrane y Cholombey|Lhiass-eaghtyrane]] |ennym2_fer-toshee = [[José Manuel Restrepo]] |eaghtyr_km2 = 1,141,748 |eaghtyr_mi_ker = 440,839 |eaghtyr_rhenk = 26oo |ushtey_sy_cheead = 8.8 |pobble_ooley = 44,087,000 |blein_ooley_pobble = 2008 |rhenk_ooley_pobble = 29oo |pobble_coontey = {{WD Earroo yn Phobble}} |blein_coontey_pobble = |rhenk_coontey_pobble = |glooaght_pobble_km2 = 40 |glooaght_pobble_mi_ker = 104 |rhenk_glooaght_pobble = 161d |blein_LTS_CCK = 2005 |LTS_CCK = $337.286 billioon |rhenk_LTS_CCK = 29-oo |LTS_CCK_yn_dooinney = $6,724 |rhenk_LTS_CCK_yn_dooinney = 81-d |LTS_ennymagh = |rhenk_LTS_ennymagh = |blein_LTS_ennymagh = |LTS_ennymagh_yn_dooinney = |rhenk_LTS_ennymagh_yn_dooinney = |Gini = 52 |blein_Gini = 2006 |ronney_Gini = <span style="color:red;">ard</span> |blein_ALD = 2007 |ALD = {{bishaghey}} 0.791 |rhenk_ALD = 75-oo |ronney_ALD = <span style="color:#ffcc00;">meanagh</span> |sorçh_kiondeeaght = Seyrsnys |note_kiondeeaght = veih'n [[Yn Spaainey|Spaainey]] | taghyrt1_bunnit = [[Caggey Neuchrogheydys y Cholombey|Fogrit magh]] | date1_bunnit = 20 Jerrey Souree 1810 | taghyrt2_bunnit = [[Yn Cholombey Vooar|Ennit]] | date2_bunnit = 7 Luanistyn 1819 | taghyrt3_bunnit = Goaill magh y [[Yn Phanamaa|Phanamaa]] | date3_bunnit = 6 Sauin 1903 | taghyrt4_bunnit = {{nowrap|[[Bunraght y Cholombey, 1991|Bunraght roie]]}} | date4_bunnit = 4 Jerrey Souree 1991 |argid = [[Peso yn Cholombey]] |coad_argid = COP |traa_ynnydagh = |ashchur_utc = -5 |traa_ynnydagh_TTLS = |ashchur_utc_TTLS = |cctld = [[.co]] |coad_çhellvane = 57 |fo-note1 = }} She çheer ayns [[America Yiass]] ee '''yn Cholombey'''. T'ee çhemmit liorish [[yn Phanamaa|y Phanamaa]] da'n sheear hwoaie, [[Yn Keayn Sheear|y Cheayn Sheear]] da'n twoaie, [[Yn Veneswaaley|y Veneswaaley]] da'n shiar, liorish [[Yn Vrasseel|y Vrasseel]] da'n shiar yiass, liorish [[Yn Pheroo|y Pheroo]] as [[Ecuador]] da'n jiass, as liorish [[Yn Keayn Sheealtagh|y Cheayn Sheealtagh]] da'n sheear. She [[Bogotá]] yn [[preeu-valley]]. ==Noteyn== {{notelist}} ==Imraaghyn== {{reflist}} {{Yn Americkey Yiass}} {{Gurneil eaghtyrys}} {{Coord|4|N|72|W|display=title}} {{DEFAULTSORT:Cholombey, Yn}} {{bun}} [[Ronney:Yn Cholombey| ]] [[Ronney:Yn Boodeeys Andeeagh]] [[Ronney:Pobblaghtyn bunraghtoil]] [[Ronney:Çheeraghyn America Yiass]] [[Ronney:Eear-choloinyn Spaainagh]] [[Ronney:Çheeraghyn-oltey ny h-Ashoonyn Unnaneysit]] [[Ronney:Çheeraghyn-oltey yn RCTL]] [[Ronney:Pobblaghtyn]] [[Ronney:Steatyn as thallooyn bunnit 'sy vlein 1810]] cbk6ujdwlamej068lvp797x1ain18er Clowan:- 10 2132 388615 196969 2026-08-09T01:06:39Z PK2 2039 Redirected page to [[Clowan:Glenney]] 388615 wikitext text/x-wiki #REDIRECT [[Clowan:Glenney]] iqx0al878k5yteu47o7c8taxp1bmxra Ymmydeyr:MacTire02 2 2593 388616 301816 2026-08-09T02:30:34Z MacTire02 219 ++ 388616 wikitext text/x-wiki <div style="border:1px solid #a2a9b1; border-radius:12px; overflow:hidden; background:#fff; max-width:1000px; margin:auto;"> <table style="width:100%; height:180px; border-collapse:collapse; margin-bottom:20px; background:#CF142B;"> <tr> <td style="width:65%; background:#CF142B; color:white; padding:30px; vertical-align:middle;"> <div style="font-size:32px; font-weight:bold;">Failt ort gys my ghuillag!</div> </td> <td style="width:35%; background:#CF142B; padding:0; vertical-align:middle; text-align:center;"> [[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|frameless|center|150px|upright=1.5]] </td> </tr> </table> <div style="padding:20px 25px;"> <div style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;"> <div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;"> <div style="font-size:20px; font-weight:bold;">💬 Duillag resoonaght</div> <p>Ta mee cur failt er feyshtyn, faaueyn, co-obbraghey, as resoonaght.</p> <div style="text-align:center; margin-top:12px;"> <span style="font-size:16px;">'''[[Resooney_ymmydeyr:{{PAGENAME}}|Jeeagh er my ghuillag resoonaght]]'''</span> </div> </div> <div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;"> <div style="font-size:20px; font-weight:bold;">➕ Bun-chooish noa</div> <p>Cor toshiaght rish resoonaght noa er my ghuillag resoonaght.</p> <div style="text-align:center; margin-top:12px;"> <span style="font-size:16px;">'''[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit&section=new}} Cur bun-chooish noa rish]'''</span> </div> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:25px 0 15px;"> <span style="font-size:23px; font-weight:bold;">My chishtaghyn geinee</span> </div> <div style="display:flex; flex-wrap:wrap; gap:12px;"> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee01|Ard-chishtey geinee]]'''<br /> <span style="color:#54595d;">My phlannyn</span> </div> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee02|Kishtey geinnee 2]]'''<br /> <span style="color:#54595d;">Lhiasaghey as ronsaght cour artyn</span> </div> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee03|Kishtey geinnee 3]]'''<br /> <span style="color:#54595d;">Tooilley shaleeyn</span> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;"> <span style="font-size:23px; font-weight:bold;">Obbyr Wikipedia</span> </div> <div style="display:flex; flex-wrap:wrap; gap:12px;"> <div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;"> '''[[Er_lheh:Contributions/MacTire02|My chohoyrtyssyn]]'''<br /> <span style="color:#54595d;">Artyn, reaghaghyn, as cohoyrtyssyn elley aym</span> </div> <div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;"> '''[[Special:PrefixIndex/User:MacTire02/|My ghuillagyn ymmydeyr]]'''<br /> <span style="color:#54595d;">Ronsee my ghuillagyn ymmydeyr</span> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;"> <span style="font-size:23px; font-weight:bold;">Ny ta mee gobbraghey er ec y traa t'ayn</span> </div> * Boayl-enmyn Manninagh * Çheer-oaylleeaght Vannin * Shennaghys as shenndaaleeaght Vannin * Lhiasaghey clowanyn as moddylyn er y Wiki shoh * Rang-oardraghey ny h-artyn <div style="margin-top:30px; padding-top:12px; border-top:1px solid #c8ccd1; color:#54595d; font-size:13px; text-align:center;"> '''Shoh duillag ymmydeyr persoonagh.''' &nbsp; · &nbsp; [[Resooney_ymmydeyr:{{PAGENAME}}|Resoonaght]] &nbsp; · &nbsp; [{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit&section=new}} Bun-chooish noa] &nbsp; · &nbsp; [[Er_lheh:Contributions/{{PAGENAME}}|Cohoyrtyssyn]] </div> </div> </div> ilio5sqau000tbv06np3kjhs4pccuij 388617 388616 2026-08-09T02:31:05Z MacTire02 219 lettyraghey 388617 wikitext text/x-wiki <div style="border:1px solid #a2a9b1; border-radius:12px; overflow:hidden; background:#fff; max-width:1000px; margin:auto;"> <table style="width:100%; height:180px; border-collapse:collapse; margin-bottom:20px; background:#CF142B;"> <tr> <td style="width:65%; background:#CF142B; color:white; padding:30px; vertical-align:middle;"> <div style="font-size:32px; font-weight:bold;">Failt ort gys my ghuillag!</div> </td> <td style="width:35%; background:#CF142B; padding:0; vertical-align:middle; text-align:center;"> [[Coadan:The armoured triskelion on the flag of the Isle of Man.svg|frameless|center|150px|upright=1.5]] </td> </tr> </table> <div style="padding:20px 25px;"> <div style="display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;"> <div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;"> <div style="font-size:20px; font-weight:bold;">💬 Duillag resoonaght</div> <p>Ta mee cur failt er feyshtyn, faaueyn, co-obbraghey, as resoonaght.</p> <div style="text-align:center; margin-top:12px;"> <span style="font-size:16px;">'''[[Resooney_ymmydeyr:{{PAGENAME}}|Jeeagh er my ghuillag resoonaght]]'''</span> </div> </div> <div style="flex:1 1 280px; min-width:250px; border:1px solid #a2a9b1; border-radius:8px; padding:16px; background:#f8f9fa;"> <div style="font-size:20px; font-weight:bold;">➕ Bun-chooish noa</div> <p>Cur toshiaght rish resoonaght noa er my ghuillag resoonaght.</p> <div style="text-align:center; margin-top:12px;"> <span style="font-size:16px;">'''[{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit&section=new}} Cur bun-chooish noa rish]'''</span> </div> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:25px 0 15px;"> <span style="font-size:23px; font-weight:bold;">My chishtaghyn geinee</span> </div> <div style="display:flex; flex-wrap:wrap; gap:12px;"> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee01|Ard-chishtey geinee]]'''<br /> <span style="color:#54595d;">My phlannyn</span> </div> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee02|Kishtey geinnee 2]]'''<br /> <span style="color:#54595d;">Lhiasaghey as ronsaght cour artyn</span> </div> <div style="flex:1 1 200px; border:1px solid #c8ccd1; border-radius:8px; padding:14px; background:#fff;"> '''[[Ymmydeyr:MacTire02/kishtey geinnee03|Kishtey geinnee 3]]'''<br /> <span style="color:#54595d;">Tooilley shaleeyn</span> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;"> <span style="font-size:23px; font-weight:bold;">Obbyr Wikipedia</span> </div> <div style="display:flex; flex-wrap:wrap; gap:12px;"> <div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;"> '''[[Er_lheh:Contributions/MacTire02|My chohoyrtyssyn]]'''<br /> <span style="color:#54595d;">Artyn, reaghaghyn, as cohoyrtyssyn elley aym</span> </div> <div style="flex:1 1 250px; border:1px solid #c8ccd1; border-radius:8px; padding:14px;"> '''[[Special:PrefixIndex/User:MacTire02/|My ghuillagyn ymmydeyr]]'''<br /> <span style="color:#54595d;">Ronsee my ghuillagyn ymmydeyr</span> </div> </div> <div style="border-bottom:2px solid #2c3e50; margin:28px 0 15px;"> <span style="font-size:23px; font-weight:bold;">Ny ta mee gobbraghey er ec y traa t'ayn</span> </div> * Boayl-enmyn Manninagh * Çheer-oaylleeaght Vannin * Shennaghys as shenndaaleeaght Vannin * Lhiasaghey clowanyn as moddylyn er y Wiki shoh * Rang-oardraghey ny h-artyn <div style="margin-top:30px; padding-top:12px; border-top:1px solid #c8ccd1; color:#54595d; font-size:13px; text-align:center;"> '''Shoh duillag ymmydeyr persoonagh.''' &nbsp; · &nbsp; [[Resooney_ymmydeyr:{{PAGENAME}}|Resoonaght]] &nbsp; · &nbsp; [{{fullurl:Resooney_ymmydeyr:{{PAGENAME}}|action=edit&section=new}} Bun-chooish noa] &nbsp; · &nbsp; [[Er_lheh:Contributions/{{PAGENAME}}|Cohoyrtyssyn]] </div> </div> </div> gc68her7lye4l944ujtb88kboa0zrdi RMS Lusitania 0 5380 388404 350030 2026-08-08T15:21:14Z MacTire02 219 ronney elley 388404 wikitext text/x-wiki {{DISPLAYTITLE:RMS ''Lusitania''}} {{WD Kishtey Fys Saagh |capacitat = 3,125 troailtee }} She [[laineyr faarkey]] va'n '''RMS Lusitania''' (va enmyssit ass y [[Lusitania|wheiggey Raueagh 'syn Oarpey Heear]] ta co-reggyrt rish y Phortiugal noa-emshyragh). V'eh launshit liorish y [[Cunard Line]] ayns 1906 as dreill eh yn [[Rybban Gorrym]] da'n çhiaulley Atlantagh s'tappee ayns 1908. Feie tammylt giare, v'eh ny lhong hroailtagh smoo er y theihll derrey va troggalys y ''[[RMS Mauretania (1906)|Mauretania]]'' jeant tree meeghyn ny s'anmey. Va'n ''Lusitania'' baiht er e 202h varrinys tessen y Cheayn Sheear, er 7 Boaldyn 1915, liorish [[SM U-20 (y Ghermaan)|U-baatey]] Germaanagh 11 veeilley (18 km) magh veih [[an Seancheann]], Nerin, raad va 1,199 troailtee as skimmee marrooit.<ref>{{cite web |title=The Lusitania Resource: Lusitania Passengers & Crew, Facts & History |url=http://www.rmslusitania.info |url-status=live |archive-url=https://web.archive.org/web/20190708151740/http://www.rmslusitania.info/ |archive-date=8 Jerrey Souree 2019 |access-date=3 Mean Souree 2016 |publisher=Rmslusitania.info |ref={{sfnref|The Lusitania Resource}}}}</ref> ==Imraaghyn== {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons category|Lusitania (ship, 1906, Clydebank)|RMS Lusitania (1906, Clydebank)}} *[http://www.encyclopedia-titanica.org/lest-we-forget-the-lusitania.html ''Lest We Forget: The'' Lusitania – veih Encyclopedia Titanica] *[https://www.pbs.org/lostliners/lusitania.html ''RMS'' Lusitania], Public Broadcasting Service (PBS) *[https://www.youtube.com/watch?v=qluFYy2iiac ''Sinking of the'' Lusitania (1918)] {{Gurneil eaghtyrys}} {{DEFAULTSORT:Lusitania}} [[Ronney:RMS Lusitania| ]] [[Ronney:Lhongyn veih'n vlein1906]] [[Ronney:Shellooderyn y Rybban Gorrym]] [[Ronney:Streeughyn 'sy vlein 1915]] [[Ronney:Sheinyssyn co-chialg]] [[Ronney:Laineyryn kiare funnylyn]] [[Ronney:Taghyrtyn marrey 'sy vlein 1915]] [[Ronney:Taghyrtyn marrey ayns Nerin]] [[Ronney:Lhongyn troailtagh y Reeriaght Unnaneysit]] [[Ronney:Lhongyn troggit er Awin y Chleayee]] [[Ronney:Lhongyn ny h-Albey]] [[Ronney:Lhongyn y Cunard Line]] [[Ronney:Lhongyn va baiht liorish fovooiraneyn Germaanagh 'sy Chied Chaggey Dowanagh]] [[Ronney:Mooirçhooraghyn Nerin]] [[Ronney:Mooirçhooraghyn y Chied Chaggey Dowanagh 'sy Cheayn Sheear]] 3clocgnhaqomd1zilp0evgy2q1ggmh0 388405 388404 2026-08-08T15:21:24Z MacTire02 219 lettyraghey 388405 wikitext text/x-wiki {{DISPLAYTITLE:RMS ''Lusitania''}} {{WD Kishtey Fys Saagh |capacitat = 3,125 troailtee }} She [[laineyr faarkey]] va'n '''RMS Lusitania''' (va enmyssit ass y [[Lusitania|wheiggey Raueagh 'syn Oarpey Heear]] ta co-reggyrt rish y Phortiugal noa-emshyragh). V'eh launshit liorish y [[Cunard Line]] ayns 1906 as dreill eh yn [[Rybban Gorrym]] da'n çhiaulley Atlantagh s'tappee ayns 1908. Feie tammylt giare, v'eh ny lhong hroailtagh smoo er y theihll derrey va troggalys y ''[[RMS Mauretania (1906)|Mauretania]]'' jeant tree meeghyn ny s'anmey. Va'n ''Lusitania'' baiht er e 202h varrinys tessen y Cheayn Sheear, er 7 Boaldyn 1915, liorish [[SM U-20 (y Ghermaan)|U-baatey]] Germaanagh 11 veeilley (18 km) magh veih [[an Seancheann]], Nerin, raad va 1,199 troailtee as skimmee marrooit.<ref>{{cite web |title=The Lusitania Resource: Lusitania Passengers & Crew, Facts & History |url=http://www.rmslusitania.info |url-status=live |archive-url=https://web.archive.org/web/20190708151740/http://www.rmslusitania.info/ |archive-date=8 Jerrey Souree 2019 |access-date=3 Mean Souree 2016 |publisher=Rmslusitania.info |ref={{sfnref|The Lusitania Resource}}}}</ref> ==Imraaghyn== {{rolleyimraaghyn}} ==Kianglaghyn magh== {{Commons category|Lusitania (ship, 1906, Clydebank)|RMS Lusitania (1906, Clydebank)}} *[http://www.encyclopedia-titanica.org/lest-we-forget-the-lusitania.html ''Lest We Forget: The'' Lusitania – veih Encyclopedia Titanica] *[https://www.pbs.org/lostliners/lusitania.html ''RMS'' Lusitania], Public Broadcasting Service (PBS) *[https://www.youtube.com/watch?v=qluFYy2iiac ''Sinking of the'' Lusitania (1918)] {{Gurneil eaghtyrys}} {{DEFAULTSORT:Lusitania}} [[Ronney:RMS Lusitania| ]] [[Ronney:Lhongyn veih'n vlein 1906]] [[Ronney:Shellooderyn y Rybban Gorrym]] [[Ronney:Streeughyn 'sy vlein 1915]] [[Ronney:Sheinyssyn co-chialg]] [[Ronney:Laineyryn kiare funnylyn]] [[Ronney:Taghyrtyn marrey 'sy vlein 1915]] [[Ronney:Taghyrtyn marrey ayns Nerin]] [[Ronney:Lhongyn troailtagh y Reeriaght Unnaneysit]] [[Ronney:Lhongyn troggit er Awin y Chleayee]] [[Ronney:Lhongyn ny h-Albey]] [[Ronney:Lhongyn y Cunard Line]] [[Ronney:Lhongyn va baiht liorish fovooiraneyn Germaanagh 'sy Chied Chaggey Dowanagh]] [[Ronney:Mooirçhooraghyn Nerin]] [[Ronney:Mooirçhooraghyn y Chied Chaggey Dowanagh 'sy Cheayn Sheear]] b916ucnm9flr7lbjjzf54uyrxdw0t7g Ronney:Jee-vunneeaghtyn 'sy vlein 1922 14 6599 388383 333524 2026-08-08T15:07:36Z MacTire02 219 ++ 388383 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jerraghyn 'sy vlein 1922]] [[Ronney:Jee-vunneeaghtyn ayns ny 1920yn| 2]] [[Ronney:Jee-vunneeaghtyn rere blein|1922]] t2b2zgv736vjrjn7ucxl1wt0wkuondo Ronney:Jee-vunneeaghtyn ayns ny 1920yn 14 6600 388385 333527 2026-08-08T15:08:11Z MacTire02 219 +clowan 388385 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jee-vunneeaghtyn 'sy 20oo eash| 2]] [[Ronney:Jerraghyn ayns ny 1920yn]] [[Ronney:Jee-vunneeaghtyn rere jeihaght|1920]] [[Ronney:Taghyrtyn ayns ny 1920yn]] n7ef5xpfo59qwrjf4penujlpemz093r 388386 388385 2026-08-08T15:08:27Z MacTire02 219 -ronney 388386 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jee-vunneeaghtyn 'sy 20oo eash| 2]] [[Ronney:Jerraghyn ayns ny 1920yn]] [[Ronney:Jee-vunneeaghtyn rere jeihaght|1920]] t49bgk6qg1vo2etsn1o64a4jibhp44h Ronney:1320yn 14 7512 388315 280805 2026-08-08T12:51:29Z MacTire02 219 +clowan 388315 wikitext text/x-wiki {{category series navigation}} [[Ronney:14oo eash| 2]] [[Ronney:Jeihaghtyn]] {{Commonscat|1320s|1320yn}} 8vck6hqhidmodny5xoie0flbzw05iwy Ronney:Jee-vunneeaghtyn 'sy vlein 1521 14 7514 388377 284562 2026-08-08T15:04:05Z MacTire02 219 +clowan 388377 wikitext text/x-wiki {{category series navigation}} [[Ronney:1521]] [[Ronney:Jee-vunneeaghtyn ayns ny 1520yn| 1]] 9ps0b0tnxluhpa526doqrnksutd9b05 388378 388377 2026-08-08T15:04:35Z MacTire02 219 +ronney 388378 wikitext text/x-wiki {{category series navigation}} [[Ronney:1521]] [[Ronney:Jee-vunneeaghtyn ayns ny 1520yn| 1]] [[Ronney:Jee-vunneeaghtyn rere blein|1521]] 4v8ekvwjxq788hcal5918kwm2nkx94h Ronney:1740yn 14 10100 388354 280947 2026-08-08T12:59:08Z MacTire02 219 +clowan 388354 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1740s|1740yn}} [[Ronney:18oo eash| 4]] [[Ronney:Jeihaghtyn]] raoynur7eaovt0bpcdo4t51tn2rgv1h Ronney:1840yn 14 10103 388365 280950 2026-08-08T13:05:46Z MacTire02 219 +clowan 388365 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1840s|1840yn}} [[Ronney:19oo eash| 4]] [[Ronney:Jeihaghtyn]] 6lty52ffhqwpu574mjc8jw687rkx7ee Ronney:1100yn 14 10124 388301 349742 2026-08-08T12:48:56Z MacTire02 219 +clowan 388301 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1100s|1100yn}} [[Ronney:12h eash| 0]] [[Ronney:Jeihaghtyn]] 2tubovlcacuekdv5qhsex33dt6j9tvj Ronney:1520yn 14 11503 388332 278373 2026-08-08T12:55:10Z MacTire02 219 +clowan 388332 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1520s|1520yn}} [[Ronney:16oo eash| 2]] [[Ronney:Jeihaghtyn]] 2tpoq7ynk1cc63fd2uwabt5ewbio1tj Ronney:1920yn 14 11504 388369 352112 2026-08-08T13:06:35Z MacTire02 219 +clowan 388369 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1920s|1920yn}} [[Ronney:Jeihaghtyn]] [[Ronney:20oo eash| 2]] [[Ronney:Yn earish eddyr-chaggee]] 2sf9onlxr19ioz42ikdp52leqmfrizl Ronney:1950yn 14 11766 388370 278238 2026-08-08T13:07:15Z MacTire02 219 +clowan 388370 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1950s|1950yn}} [[Ronney:Jeihaghtyn]] [[Ronney:20oo eash| 5]] 4t1fthepv38hj566ky3rmspk2l8nojf Ronney:1680yn 14 11768 388348 276209 2026-08-08T12:57:51Z MacTire02 219 +clowan 388348 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1680s|1680yn}} [[Ronney:17oo eash| 8]] [[Ronney:Jeihaghtyn]] rbj7dwwz3b21wch4j8yh5chd3f0m02d Ronney:1670yn 14 13014 388347 278384 2026-08-08T12:57:39Z MacTire02 219 +clowan 388347 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1670s|1670yn}} [[Ronney:17oo eash| 7]] [[Ronney:Jeihaghtyn]] jn4uqwt5tqiy5fqqjcl51h9usjpktl6 Ronney:1020yn 14 13030 388296 278390 2026-08-08T12:47:57Z MacTire02 219 +clowan 388296 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1020s|1020yn}} [[Ronney:11d eash| 20]] [[Ronney:Jeihaghtyn]] 2yt6d5why3u11y8evkrt549pfga84jq Ronney:1030yn 14 13032 388297 278392 2026-08-08T12:48:06Z MacTire02 219 +clowan 388297 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1030s|1030yn}} [[Ronney:11d eash| 3]] [[Ronney:Jeihaghtyn]] n7ba419kzbcjryc2xlmyu948us49swa Ronney:1260yn 14 13036 388312 278394 2026-08-08T12:50:55Z MacTire02 219 +clowan 388312 wikitext text/x-wiki {{category series navigation}} [[Ronney:13oo eash| 6]] [[Ronney:Jeihaghtyn]] {{Commonscat|1260s|1260yn}} 55zu6m2eimgp804ubwyoqzvsgre1x8f Ronney:1450yn 14 13040 388328 278396 2026-08-08T12:54:16Z MacTire02 219 +clowan 388328 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1450s|1450yn}} [[Ronney:15oo eash| 5]] [[Ronney:Jeihaghtyn]] fy5imt51h95syw7xy13icsa935kkvyv Ronney:1830yn 14 13051 388364 281990 2026-08-08T13:05:37Z MacTire02 219 +clowan 388364 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1830s|1830yn}} [[Ronney:19oo eash| 3]] [[Ronney:Jeihaghtyn]] ka90g7kruhniyzwu2f2si441mvrvaad Ronney:1530yn 14 13072 388333 278400 2026-08-08T12:55:23Z MacTire02 219 +clowan 388333 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1530s|1530yn}} [[Ronney:16oo eash| 3]] [[Ronney:Jeihaghtyn]] h4it88xt3t4wy6mgvtvpfgj2b8vhgfe Ronney:1600yn 14 13076 388340 281991 2026-08-08T12:56:30Z MacTire02 219 +clowan 388340 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1600s|1600yn}} [[Ronney:17oo eash| 0]] [[Ronney:Jeihaghtyn]] gx9sm7wixakn0nbitupc7d2uqb0jf0p Ronney:1620yn 14 13080 388342 281992 2026-08-08T12:56:49Z MacTire02 219 +clowan 388342 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1620s|1620yn}} [[Ronney:Jeihaghtyn]] [[Ronney:17oo eash| 2]] hhhw4y6anf7fsdo7w5fo85d4tz4bl0s Ronney:1720yn 14 13084 388352 278406 2026-08-08T12:58:45Z MacTire02 219 +clowan 388352 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1720s|1720yn}} [[Ronney:18oo eash| 2]] [[Ronney:Jeihaghtyn]] eplh7ov01kvv385a32mcpfzgmylmufc Ronney:1730yn 14 13086 388353 278408 2026-08-08T12:58:58Z MacTire02 219 +clowan 388353 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1730s|1730yn}} [[Ronney:18oo eash| 3]] [[Ronney:Jeihaghtyn]] q2kzo279jo9hnrpxxhusbdhbl26wsqp Ronney:1750yn 14 13089 388355 278411 2026-08-08T12:59:25Z MacTire02 219 +clowan 388355 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1750s|1750yn}} [[Ronney:18oo eash| 5]] [[Ronney:Jeihaghtyn]] cewek79akiutwiga4am2wu8s5dd18h5 Ronney:1760yn 14 13091 388356 278413 2026-08-08T12:59:34Z MacTire02 219 +clowan 388356 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1760s|1760yn}} [[Ronney:18oo eash| 6]] [[Ronney:Jeihaghtyn]] qiz2s6kjhrse1l7vsndpj2uqy09f0ua Ronney:1770yn 14 13093 388357 278415 2026-08-08T12:59:45Z MacTire02 219 +clowan 388357 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1770s|1770yn}} [[Ronney:18oo eash| 7]] [[Ronney:Jeihaghtyn]] o5ohscdsku0here9df7evgx7ssmuqhb Ronney:1780yn 14 13095 388361 278417 2026-08-08T13:04:55Z MacTire02 219 +clowan 388361 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1780s|1780yn}} [[Ronney:18oo eash| 8]] [[Ronney:Jeihaghtyn]] p30fixwd69hblgaaza7lwg5aufejtay Ronney:1790yn 14 13097 388362 278418 2026-08-08T13:05:04Z MacTire02 219 +clowan 388362 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1790s|1790yn}} [[Ronney:18oo eash| 9]] [[Ronney:Jeihaghtyn]] 0eli4pw4mvguns65hh77kdw3ue6v3c0 Ronney:1820yn 14 13102 388363 278423 2026-08-08T13:05:28Z MacTire02 219 +clowan 388363 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1820s|1820yn}} [[Ronney:19oo eash| 2]] [[Ronney:Jeihaghtyn]] abz1rz0yzkjc7cg0k1tq903kmez1eoi Ronney:1850yn 14 13105 388366 278426 2026-08-08T13:05:56Z MacTire02 219 +clowan 388366 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1850s|1850yn}} [[Ronney:19oo eash| 5]] [[Ronney:Jeihaghtyn]] k5xmnk444kiirlhi9tbwagb92bx5hcu Ronney:1860yn 14 13108 388367 278429 2026-08-08T13:06:05Z MacTire02 219 +clowan 388367 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1860s|1860yn}} [[Ronney:19oo eash| 6]] [[Ronney:Jeihaghtyn]] ehe1829qerdtj1ezj5zkmmmw4he4x7z Ronney:1900yn 14 13119 388368 278264 2026-08-08T13:06:23Z MacTire02 219 +clowan 388368 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1900s|1900yn}} [[Ronney:20oo eash| 0]] [[Ronney:Jeihaghtyn]] 27l8k5txa830bqlxrve0mjoavf4kaut Ronney:1000yn 14 13170 388295 281993 2026-08-08T12:47:47Z MacTire02 219 +clowan 388295 wikitext text/x-wiki {{category series navigation}} [[Ronney:11d eash| 0]] [[Ronney:Jeihaghtyn]] {{Commonscat|1000s|1000yn}} qdejh1d07a3ua0nfn2l8t1zs4z8r47v Ronney:1090yn 14 13173 388300 278416 2026-08-08T12:48:46Z MacTire02 219 +clowan 388300 wikitext text/x-wiki {{category series navigation}} [[Ronney:11d eash| 9]] [[Ronney:Jeihaghtyn]] {{Commonscat|1090s|1090yn}} d17b74y2f013ob2ja77piov454kydt1 Ronney:1060yn 14 13174 388298 281025 2026-08-08T12:48:18Z MacTire02 219 +clowan 388298 wikitext text/x-wiki {{category series navigation}} [[Ronney:11d eash| 6]] [[Ronney:Jeihaghtyn]] {{Commonscat|1060s|1060yn}} hwahaxzr456okv2ai1etlq1z640owlf Ronney:1590yn 14 13195 388339 281994 2026-08-08T12:56:21Z MacTire02 219 +clowan 388339 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1590s|1590yn}} [[Ronney:16oo eash| 9]] [[Ronney:Jeihaghtyn]] 188auecslet8eudemjbovm4ykfmnr0d Ronney:1650yn 14 13199 388345 278424 2026-08-08T12:57:18Z MacTire02 219 +clowan 388345 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1650s|1650yn}} [[Ronney:17oo eash| 5]] [[Ronney:Jeihaghtyn]] 9tj4mjk631204affhhgogacgzxxchgz Ronney:1660yn 14 13220 388346 281027 2026-08-08T12:57:29Z MacTire02 219 +clowan 388346 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1660s|1660yn}} [[Ronney:17oo eash| 6]] [[Ronney:Jeihaghtyn]] b9t02agyvtw47ox6pr4ql70zxd1d6me Ronney:1500yn 14 13248 388330 278435 2026-08-08T12:54:51Z MacTire02 219 +clowan 388330 wikitext text/x-wiki {{category series navigation}} [[Ronney:16oo eash| 0]] [[Ronney:Jeihaghtyn]] {{Commonscat|1500s|1500yn}} pdgbshisrnwlky3a03t4sxzlqfiwbo1 Ronney:1550yn 14 13251 388335 281029 2026-08-08T12:55:42Z MacTire02 219 +clowan 388335 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1550s|1550yn}} [[Ronney:16oo eash| 5]] [[Ronney:Jeihaghtyn]] fxb4r2ijaqugfkc3ex100xrk6i852jh Ronney:1690yn 14 13255 388349 281996 2026-08-08T12:58:08Z MacTire02 219 +clowan 388349 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1690s|1690yn}} [[Ronney:17oo eash| 9]] [[Ronney:Jeihaghtyn]] iclx08x30juv2auxw3oi1plwhicw67b Ronney:1630yn 14 13256 388343 278436 2026-08-08T12:56:59Z MacTire02 219 +clowan 388343 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1630s|1630yn}} [[Ronney:17oo eash| 3]] [[Ronney:Jeihaghtyn]] 0hxp1uhx7kzo1orrpqs924fz39ywsp1 Ronney:1700yn 14 13290 388350 278439 2026-08-08T12:58:23Z MacTire02 219 +clowan 388350 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1700s|1700yn}} [[Ronney:18oo eash| 0]] [[Ronney:Jeihaghtyn]] kar1p13v4lnrr48c306avcsrlrcu5xi Ronney:1710yn 14 13291 388351 278440 2026-08-08T12:58:33Z MacTire02 219 +clowan 388351 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1710s|1710yn}} [[Ronney:18oo eash| 1]] [[Ronney:Jeihaghtyn]] m63s1hoh9psl9rp9uw8vq3wwik9dele Ronney:1180yn 14 13388 388306 349737 2026-08-08T12:49:45Z MacTire02 219 +clowan 388306 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1180s|1180yn}} [[Ronney:12h eash| 8]] [[Ronney:Jeihaghtyn]] cruw9luqzoehxf55t23fgutl7jhk7wp Ronney:1470yn 14 13543 388329 278447 2026-08-08T12:54:33Z MacTire02 219 +clowan 388329 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1470s|1470yn}} [[Ronney:15oo eash| 7]] [[Ronney:Jeihaghtyn]] 698ljzoy4d97pu89v935dream83wfap Ronney:Jee-vunneeaghtyn ayns ny 1520yn 14 13548 388379 282810 2026-08-08T15:05:00Z MacTire02 219 +clowan 388379 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1520s disestablishments|Jee-vunneeaghtyn ayns ny 1520yn}} [[Ronney:Jee-vunneeaghtyn 'sy 16oo eash| 2]] [[Ronney:1520yn]] lfiorjo0asv56ezreezbmomafydv5ut 388380 388379 2026-08-08T15:06:11Z MacTire02 219 ++ 388380 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1520s disestablishments|Jee-vunneeaghtyn ayns ny 1520yn}} [[Ronney:Jee-vunneeaghtyn 'sy 16oo eash| 2]] [[Ronney:Jerraghyn ayns ny 1520yn]] [[Ronney:Jee-vunneeaghtyn rere jeihaght|1520]] r3g9w0vux4nvkvqrcj7g9co5rdhfqzj Ronney:Oaylleeaght ayns ny 1750yn 14 13680 388392 341422 2026-08-08T15:11:25Z MacTire02 219 +clowan 388392 wikitext text/x-wiki {{category series navigation}} [[Ronney:1750yn|Oaylleeaght]] [[Ronney:Oaylleeaght rere jeihaght|1750]] [[Ronney:Oaylleeaght 'sy 18oo eash| 50]] lcsufkvu7m2fgyyrvscz3am8uaj27cz Ronney:Oaylleeaght 'sy vlein 1753 14 13691 388393 366689 2026-08-08T15:11:35Z MacTire02 219 +clowan 388393 wikitext text/x-wiki {{category series navigation}} {{catmore}} [[Ronney:1753|Oaylleeaght]] [[Ronney:Oaylleeaght ayns ny 1750yn| 3]] [[Ronney:Oaylleeaght rere blein|1753]] c9up4nf0ifdpxvs6tzf8ek18d8h97xc Ronney:1560yn 14 18636 388336 286021 2026-08-08T12:55:52Z MacTire02 219 +clowan 388336 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1560s|1560yn}} [[Ronney:16oo eash| 6]] [[Ronney:Jeihaghtyn]] 6my1cgb1sdm5at6vvsv5m241h8pb573 Ronney:1580yn 14 18637 388338 286022 2026-08-08T12:56:12Z MacTire02 219 +clowan 388338 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1580s|1580yn}} [[Ronney:16oo eash| 8]] [[Ronney:Jeihaghtyn]] oxv3j2qkgasvuymb9eciijzutrqk0nb Ronney:1250yn 14 18642 388311 286029 2026-08-08T12:50:45Z MacTire02 219 +clowan 388311 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1250s|1250yn}} [[Ronney:13oo eash| 5]] [[Ronney:Jeihaghtyn]] 3i36b8e497uf3dsuiakrn9u1o1kcl8c Ronney:Oaylleeaght ayns ny 1780yn 14 19056 388389 341423 2026-08-08T15:09:51Z MacTire02 219 +clowan 388389 wikitext text/x-wiki {{category series navigation}} [[Ronney:1780yn|Oaylleeaght]] [[Ronney:Oaylleeaght rere jeihaght|1780]] [[Ronney:Oaylleeaght 'sy 18oo eash| 80]] 6iep8h37anamsdpfdkr8f5d7ns60zoq Ronney:1360yn 14 20134 388317 295524 2026-08-08T12:51:48Z MacTire02 219 +clowan 388317 wikitext text/x-wiki {{category series navigation}} [[Ronney:14oo eash| 6]] [[Ronney:Jeihaghtyn]] {{Commonscat|1360s|1360yn}} kk1y5mrkzpepryevqr2bozpl7r1hk5g Ronney:1380yn 14 20135 388319 295525 2026-08-08T12:52:08Z MacTire02 219 +clowan 388319 wikitext text/x-wiki {{category series navigation}} [[Ronney:14oo eash| 8]] [[Ronney:Jeihaghtyn]] {{Commonscat|1380s|1380yn}} f6folswq7ug42ryqgso057ide7gweog Ronney:2020yn 14 20649 388371 299608 2026-08-08T13:08:14Z MacTire02 219 +clowan 388371 wikitext text/x-wiki {{category series navigation}} {{Commonscat|2020s|2020yn}} [[Ronney:Jeihaghtyn]] [[Ronney:21d eash| 2]] oa5aef9z5qr6leitpabdamy2bzpttg1 Ronney:1230yn 14 21100 388310 301785 2026-08-08T12:50:28Z MacTire02 219 +clowan 388310 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1230s|1230yn}} [[Ronney:Jeihaghtyn]] [[Ronney:13oo eash| 3]] hlxodvya2mwyhh9kb04c7e8td1005x6 Ronney:1300yn 14 21120 388313 301818 2026-08-08T12:51:09Z MacTire02 219 +clowan 388313 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1300s|1300yn}} [[Ronney:Jeihaghtyn]] [[Ronney:14oo eash| 0]] kemcgfjnxy5muaovazxus2znwaysudf Ronney:1310yn 14 21121 388314 301819 2026-08-08T12:51:20Z MacTire02 219 +clowan 388314 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1310s|1310yn}} [[Ronney:Jeihaghtyn]] [[Ronney:14oo eash| 1]] c3qga1dhl3o5dy8ha13b7esxzujsljb Ronney:1540yn 14 21126 388334 301862 2026-08-08T12:55:32Z MacTire02 219 +clowan 388334 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1540s|1540yn}} [[Ronney:Jeihaghtyn]] [[Ronney:16oo eash| 4]] bdpaitmp58pdvmco4rn23od8y7d7t3j Ronney:1400yn 14 21127 388321 301863 2026-08-08T12:52:28Z MacTire02 219 +clowan 388321 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1400s|1400yn}} [[Ronney:Jeihaghtyn]] [[Ronney:15oo eash| 0]] psfyz82xaoaur83kwj6ibngx9w4emb4 Ronney:1200yn 14 21128 388308 301866 2026-08-08T12:50:06Z MacTire02 219 +clowan 388308 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1200s|1200yn}} [[Ronney:Jeihaghtyn]] [[Ronney:13oo eash| 0]] 3jn1fb8igbixwzaj9jufifsiatrpvf2 Ronney:1070yn 14 21129 388299 301867 2026-08-08T12:48:28Z MacTire02 219 +clowan 388299 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1070s|1070yn}} [[Ronney:Jeihaghtyn]] [[Ronney:11d eash| 7]] po91bdkot74lnj5c114o5wjl4gp7g07 Ronney:100yn 14 21130 388281 324692 2026-08-08T12:44:17Z MacTire02 219 +clowan 388281 wikitext text/x-wiki {{category series navigation}} {{Commonscat|100s|100yn}} [[Ronney:Jeihaghtyn|0100]] [[Ronney:2h eash| 0]] s2epfmrtemk4gvlx63kfv3zszmxlwm0 Ronney:1640yn 14 21145 388344 301893 2026-08-08T12:57:08Z MacTire02 219 +clowan 388344 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1640s|1640yn}} [[Ronney:Jeihaghtyn]] [[Ronney:17oo eash| 4]] t0urgcjrwk3r8dfyr3r5ofk2qm183bw Ronney:1150yn 14 21147 388303 349740 2026-08-08T12:49:15Z MacTire02 219 +clowan 388303 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1150s|1150yn}} [[Ronney:Jeihaghtyn]] [[Ronney:12h eash| 5]] 0fn3psmuvf7msc92cpdiu8oswgi2jlj Ronney:30yn 14 21149 388278 324693 2026-08-08T12:43:45Z MacTire02 219 +clowan 388278 wikitext text/x-wiki {{category series navigation}} {{Commonscat|30s|30yn}} [[Ronney:Jeihaghtyn|0030]] [[Ronney:1d eash| 3]] 67ml6o6e5pm0onls4bgf9zx4dx93ybs Ronney:700yn 14 21165 388283 324699 2026-08-08T12:45:09Z MacTire02 219 +clowan 388283 wikitext text/x-wiki {{category series navigation}} {{Commonscat|700s|700yn}} [[Ronney:8oo eash| 0]] [[Ronney:Jeihaghtyn|0700]] 6h6rk61i3s8tjswjqs3wroerf0u6sl0 Ronney:770yn 14 21186 388287 324695 2026-08-08T12:45:59Z MacTire02 219 +clowan 388287 wikitext text/x-wiki {{category series navigation}} {{Commonscat|770s|770yn}} [[Ronney:8oo eash| 7]] [[Ronney:Jeihaghtyn|0770]] j0pcar6vd0hdry9b46kpqcthp29sre1 Ronney:710yn 14 21227 388284 342917 2026-08-08T12:45:19Z MacTire02 219 +clowan 388284 wikitext text/x-wiki {{category series navigation}} {{Commonscat|710s|710yn}} [[Ronney:Jeihaghtyn|0710]] [[Ronney:8oo eash| 1]] dgp8wgvltpt5h2phpp9dv1pk4s4pmgw Ronney:1570yn 14 21228 388337 301982 2026-08-08T12:56:02Z MacTire02 219 +clowan 388337 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1570s|1570yn}} [[Ronney:Jeihaghtyn]] [[Ronney:16oo eash| 7]] noed6r2er3iy4rk88j3xsr1ej47xkre Ronney:1190yn 14 21229 388307 349736 2026-08-08T12:49:55Z MacTire02 219 +clowan 388307 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1190s|1190yn}} [[Ronney:Jeihaghtyn]] [[Ronney:12h eash| 9]] dseoktpz5yx9p85mhd8slfqkikp6aof Ronney:1130yn 14 21246 388302 349741 2026-08-08T12:49:06Z MacTire02 219 +clowan 388302 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1130s|1130yn}} [[Ronney:12h eash| 3]] [[Ronney:Jeihaghtyn]] crct6y2wpxgov8qi131vvpg6agllx7k Ronney:60yn 14 21247 388279 324697 2026-08-08T12:43:56Z MacTire02 219 +clowan 388279 wikitext text/x-wiki {{category series navigation}} {{Commonscat|60s|60yn}} [[Ronney:Jeihaghtyn|0060]] [[Ronney:1d eash| 6]] sbrc065ibyycd8sq1daxdsxmfq2q93h Ronney:1510yn 14 24617 388331 309762 2026-08-08T12:55:00Z MacTire02 219 +clowan 388331 wikitext text/x-wiki {{category series navigation}} [[Ronney:16oo eash| 1]] [[Ronney:Jeihaghtyn]] {{Commonscat|1510s|1510yn}} p702gpqylgka4fp71r2qe17x2zxmhh0 Ronney:1430yn 14 26208 388324 315960 2026-08-08T12:52:58Z MacTire02 219 +clowan 388324 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1430s|1430yn}} [[Ronney:Jeihaghtyn]] [[Ronney:15oo eash| 3]] c2xgfuphx9e6yx8ub9fy5uofi2vu2nh Ronney:1370yn 14 26211 388318 315963 2026-08-08T12:51:58Z MacTire02 219 +clowan 388318 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1370s|1370yn}} [[Ronney:14oo eash| 7]] [[Ronney:Jeihaghtyn]] s2tw0i0htdyrg5crnf2v5mrqzs4e202 Ronney:1610yn 14 26377 388341 316267 2026-08-08T12:56:40Z MacTire02 219 +clowan 388341 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1610s|1610yn}} [[Ronney:Jeihaghtyn]] [[Ronney:17oo eash| 1]] fh4rjiarnm5tl7uaf1ee0rxsosnzsqn Ronney:1410yn 14 28592 388322 320849 2026-08-08T12:52:37Z MacTire02 219 +clowan 388322 wikitext text/x-wiki {{category series navigation}} [[Ronney:15oo eash| 1]] [[Ronney:Jeihaghtyn]] {{Commonscat|1410s|1410yn}} ree7rdzcuu8jqp6dcye2ludvnsx7vh3 Ronney:70yn 14 28711 388280 324696 2026-08-08T12:44:06Z MacTire02 219 +clowan 388280 wikitext text/x-wiki {{category series navigation}} {{Commonscat|70s|70yn}} [[Ronney:Jeihaghtyn|0070]] [[Ronney:1d eash| 7]] ejnu8ha02av1z5435fcfzki6yg3cjvc Ronney:360yn 14 28742 388282 321229 2026-08-08T12:44:35Z MacTire02 219 +clowan 388282 wikitext text/x-wiki {{category series navigation}} {{Commonscat|360s|360yn}} [[Ronney:4oo eash| 6]] [[Ronney:Jeihaghtyn|0360]] kuxq1sy22t9j3umna8b24negpo2waod Ronney:1160yn 14 28780 388304 349739 2026-08-08T12:49:25Z MacTire02 219 +clowan 388304 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1160s|1160yn}} [[Ronney:Jeihaghtyn]] [[Ronney:12h eash| 6]] fb4mkoyx888lb0x8tt94lls6imx8phx Ronney:1220yn 14 29242 388309 322210 2026-08-08T12:50:17Z MacTire02 219 +clowan 388309 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1220s|1220yn}} [[Ronney:13oo eash| 2]] [[Ronney:Jeihaghtyn]] 81ylz2uzw0jroqqc967kz4qj7cojerg Ronney:1340yn 14 29261 388316 322245 2026-08-08T12:51:38Z MacTire02 219 +clowan 388316 wikitext text/x-wiki {{category series navigation}} [[Ronney:14oo eash| 4]] [[Ronney:Jeihaghtyn]] {{Commonscat|1340s|1340yn}} 4m3y5eapx7ysrilovg90zwnvsug3f21 Ronney:800yn 14 29935 388289 352198 2026-08-08T12:46:18Z MacTire02 219 +clowan 388289 wikitext text/x-wiki {{category series navigation}} {{Commonscat|800s|800yn}} [[Ronney:9oo eash| 0]] [[Ronney:Jeihaghtyn|0800]] hxf9p71ujupv37cxzkeqicrsa528xa0 Ronney:1170yn 14 30657 388305 349738 2026-08-08T12:49:35Z MacTire02 219 +clowan 388305 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1170s|1170yn}} [[Ronney:12h eash| 7]] [[Ronney:Jeihaghtyn]] 3a3th0yj9pqarj5mfoay48xyof3fo55 Ronney:1390yn 14 30883 388320 326806 2026-08-08T12:52:19Z MacTire02 219 +clowan 388320 wikitext text/x-wiki {{category series navigation}} [[Ronney:14oo eash| 9]] [[Ronney:Jeihaghtyn]] {{Commonscat|1390s|1390yn}} nva2yoyyuat6bsbohaz6d9nxciv91fb Ronney:730yn 14 30888 388285 326812 2026-08-08T12:45:30Z MacTire02 219 +clowan 388285 wikitext text/x-wiki {{category series navigation}} {{Commonscat|730s|730yn}} [[Ronney:8oo eash| 3]] [[Ronney:Jeihaghtyn|0730]] mdh0f5l0t95rhslw1fzy3hnxympogk1 Ronney:790yn 14 30891 388288 326815 2026-08-08T12:46:09Z MacTire02 219 +clowan 388288 wikitext text/x-wiki {{category series navigation}} {{Commonscat|790s|790yn}} [[Ronney:8oo eash| 9]] [[Ronney:Jeihaghtyn|0790]] rpc3cmht66ahqbdl4zq1h26lqtja8tk Ronney:1440yn 14 30949 388325 326898 2026-08-08T12:53:08Z MacTire02 219 +clowan 388325 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1440s|1440yn}} [[Ronney:15oo eash| 4]] [[Ronney:Jeihaghtyn]] mgs8ywm452w2up8dnm9a5q4ow1x0k3o Ronney:Droghadyn troggit 'sy vlein 1883 14 31069 388398 357453 2026-08-08T15:18:50Z MacTire02 219 +clowan 388398 wikitext text/x-wiki {{category series navigation}} {{commons category|Bridges completed in 1883|Droghadyn troggit 'sy vlein 1883}} [[Ronney:Droghadyn rere blein troggee|1883]] [[ROnney:Droghadyn troggit ayns ny 1880yn| 3]] [[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1883]] [[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1883]] s97b1nnl5z4rqzq5p1vsvmkfqvyx7tj Ronney:Bun-troggalys arraghey troggit 'sy vlein 1883 14 31075 388400 357450 2026-08-08T15:19:20Z MacTire02 219 +clowan 388400 wikitext text/x-wiki {{category series navigation}} [[Ronney:Bun-troggalys arraghey rere blein troggee|1883]] [[Ronney:Bun-troggalys arraghey troggit ayns ny 1880yn| 3]] [[Ronney:Bun-troggalys troggit 'sy vlein 1883|Arraghey]] [[Ronney:Arraghey 'sy vlein 1883]] 48p5ogwcgsy1mxmus80ti1l3tuxl5ov Ronney:Droghadyn troggit 'sy vlein 1995 14 31087 388399 357402 2026-08-08T15:19:03Z MacTire02 219 +clowan 388399 wikitext text/x-wiki {{category series navigation}} {{commons category|Bridges completed in 1995|Droghadyn troggit 'sy vlein 1995}} [[Ronney:Droghadyn rere blein troggee|1995]] [[ROnney:Droghadyn troggit ayns ny 1990yn| 5]] [[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1995]] [[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1995]] bxswiroobuylixpxhaq3alvheimoo6j Ronney:Bun-troggalys arraghey troggit 'sy vlein 1995 14 31088 388406 357399 2026-08-08T15:21:58Z MacTire02 219 +clowan 388406 wikitext text/x-wiki {{category series navigation}} [[Ronney:Bun-troggalys arraghey rere blein troggee|1995]] [[Ronney:Bun-troggalys arraghey troggit ayns ny 1990yn| 5]] [[Ronney:Bun-troggalys troggit 'sy vlein 1995|Arraghey]] [[Ronney:Arraghey 'sy vlein 1995]] 6zpcpl2j0yybwan9am1nmdkhbbc855p Ronney:850yn 14 31154 388292 328272 2026-08-08T12:46:49Z MacTire02 219 +clowan 388292 wikitext text/x-wiki {{category series navigation}} {{Commonscat|850s|850yn}} [[Ronney:9oo eash| 5]] [[Ronney:Jeihaghtyn|0850]] rlj2vlrfcore3cx525bpi2yjzyurs3g Ronney:Droghadyn troggit 'sy vlein 1850 14 31190 388397 357463 2026-08-08T15:18:32Z MacTire02 219 +clowan 388397 wikitext text/x-wiki {{category series navigation}} {{commons category|Bridges completed in 1850|Droghadyn troggit 'sy vlein 1850}} [[Ronney:Droghadyn rere blein troggee|1850]] [[ROnney:Droghadyn troggit ayns ny 1850yn| 0]] [[Ronney:Bun-troggalys arraghey troggit 'sy vlein 1850]] [[Ronney:Troggalyssyn as strughtooryn troggit 'sy vlein 1850]] dbdtoydhb3sx4ltxijhxvr6wmjr8uyx Ronney:Bun-troggalys arraghey troggit 'sy vlein 1850 14 31191 388396 357460 2026-08-08T15:16:20Z MacTire02 219 +clowan 388396 wikitext text/x-wiki {{category series navigation}} [[Ronney:Bun-troggalys arraghey rere blein troggee|1850]] [[Ronney:Bun-troggalys arraghey troggit ayns ny 1850yn| 0]] [[Ronney:Bun-troggalys troggit 'sy vlein 1850|Arraghey]] [[Ronney:Arraghey 'sy vlein 1850]] 9s4d7m9h4e55iztqsx2rm06h6hp9xfn Ronney:740yn 14 31537 388286 328997 2026-08-08T12:45:40Z MacTire02 219 +clowan 388286 wikitext text/x-wiki {{category series navigation}} {{Commonscat|740s|740yn}} [[Ronney:8oo eash| 4]] [[Ronney:Jeihaghtyn|0740]] 4b90qw9p5u5hccduqqltjgp0mgodh0g Ronney:810yn 14 31540 388290 329000 2026-08-08T12:46:28Z MacTire02 219 +clowan 388290 wikitext text/x-wiki {{category series navigation}} {{Commonscat|810s|810yn}} [[Ronney:9oo eash| 1]] [[Ronney:Jeihaghtyn|0810]] ffwmgav7h446csepeng4t72fej4q347 Ronney:Lhongyn veih'n vlein 1906 14 31551 388401 357445 2026-08-08T15:19:33Z MacTire02 219 +clowan 388401 wikitext text/x-wiki {{category series navigation}} {{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}} [[Ronney:Lhongyn rere blein|1906]] [[Ronney:Lhongyn veih ny 1900yn| 06]] [[Ronney:Arraghey 'sy vlein 1906]] [[Ronney:Carbid va currit stiagh 'sy vlein 1906]] 0tj6zl95klmuy60ga32kqkgs1n82vcm 388402 388401 2026-08-08T15:20:05Z MacTire02 219 MacTire02 moved page [[Ronney:Lhongyn 1906]] to [[Ronney:Lhongyn launshit 'sy vlein 1906]] without leaving a redirect: aght 388401 wikitext text/x-wiki {{category series navigation}} {{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}} [[Ronney:Lhongyn rere blein|1906]] [[Ronney:Lhongyn veih ny 1900yn| 06]] [[Ronney:Arraghey 'sy vlein 1906]] [[Ronney:Carbid va currit stiagh 'sy vlein 1906]] 0tj6zl95klmuy60ga32kqkgs1n82vcm 388403 388402 2026-08-08T15:20:37Z MacTire02 219 MacTire02 moved page [[Ronney:Lhongyn launshit 'sy vlein 1906]] to [[Ronney:Lhongyn veih'n vlein 1906]] without leaving a redirect: ny share; foddee dy row ad troggit agh nagh row ad launshit 388401 wikitext text/x-wiki {{category series navigation}} {{commonscat|Ships built in 1906|Lhongyn er nyn droggal 'sy vlein 1906}} [[Ronney:Lhongyn rere blein|1906]] [[Ronney:Lhongyn veih ny 1900yn| 06]] [[Ronney:Arraghey 'sy vlein 1906]] [[Ronney:Carbid va currit stiagh 'sy vlein 1906]] 0tj6zl95klmuy60ga32kqkgs1n82vcm Ronney:1420yn 14 32285 388323 330577 2026-08-08T12:52:48Z MacTire02 219 +clowan 388323 wikitext text/x-wiki {{category series navigation}} {{Commonscat|1420s|1420yn}} [[Ronney:15oo eash| 2]] [[Ronney:Jeihaghtyn]] 9fdo9qaruo3z58lda62de5g3g0rno51 Ronney:0yn RC 14 32541 388277 332090 2026-08-08T12:43:24Z MacTire02 219 +clowan 388277 wikitext text/x-wiki {{category series navigation}} {{Commonscat|0s BC|0yn RC}} [[Ronney:Jeihaghtyn|-0000]] [[Ronney:1d eash RC| 00]] k0v45x4guydy0tqbsgtinbw67n1qjdw Ronney:830yn 14 32747 388291 333479 2026-08-08T12:46:37Z MacTire02 219 +clowan 388291 wikitext text/x-wiki {{category series navigation}} {{Commonscat|830s|830yn}} [[Ronney:9oo eash| 3]] [[Ronney:Jeihaghtyn|0830]] ns20mc9hy0lqmjs9qt20sdcu1y5ogdz Ronney:Jee-vunneeaghtyn 'sy vlein 1763 14 32775 388381 333529 2026-08-08T15:07:05Z MacTire02 219 ++ 388381 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jerraghyn 'sy vlein 1763]] [[Ronney:Jee-vunneeaghtyn ayns ny 1760yn| 3]] [[Ronney:Jee-vunneeaghtyn rere blein|1763]] 5ju7p0e66u2i2cboukf7v6zj54e5p3u Ronney:Steatyn as thallooyn jee-vunnit 'sy vlein 1920 14 35513 388387 342415 2026-08-08T15:08:48Z MacTire02 219 +clowan 388387 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jee-vunneeaghtyn 'sy vlein 1920]] [[Ronney:Steatyn as thallooyn jee-vunnit ayns ny 1920yn| 0]] [[Ronney:Steatyn as thallooyn rere blein jee-vunneeaght|1920]] [[Ronney:Politickaght 'sy vlein 1920]] 2o6l6lfbve1fej2h5v8xuq00ch2kh2q Ronney:Jee-vunneeaghtyn 'sy vlein 1920 14 35514 388382 342416 2026-08-08T15:07:20Z MacTire02 219 +clowan 388382 wikitext text/x-wiki {{category series navigation}} [[Ronney:Jee-vunneeaghtyn ayns ny 1920yn| 0]] [[Ronney:Jerraghyn 'sy vlein 1920]] [[Ronney:Jee-vunneeaghtyn rere blein|1920]] 68l8l9ca17lxg9scg3jab6bn3oyufuw Ronney:Jerraghyn 'sy vlein 1920 14 35515 388384 348561 2026-08-08T15:07:55Z MacTire02 219 +clowan 388384 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1920}} [[Ronney:1920]] [[Ronney:Jerraghyn ayns ny 1920yn| 0]] [[Ronney:Jerraghyn rere blein|1920]] edemyputykqp6t0spaq2kqlo5bq9usb Module:Category series navigation 828 36546 388275 387228 2026-08-08T12:31:02Z MacTire02 219 prowal 388275 Scribunto text/plain require('strict') local p = {} local horizontal = require('Module:List').horizontal local rtarget = require('Module:Resolve category redirect').rtarget --[[==========================================================================]] --[[ Globals ]] --[[==========================================================================]] local currtitle = mw.title.getCurrentTitle() local nexistingcats = 0 local errors = '' local testcasecolon = '' local testcases = string.match(currtitle.subpageText, '^testcases') if testcases then testcasecolon = ':' end local navborder = true local followRs = true local skipgaps = false local skipgaps_limit = 50 local term_limit = 10 local hgap_limit = 6 local ygap_limit = 5 local listall = false local tlistall = {} local tlistallbwd = {} local tlistallfwd = {} local ttrackingcats = { --when reindexing, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]' '', -- [1] placeholder for [[Category:Category series navigation using cat parameter]] '', -- [2] placeholder for [[Category:Category series navigation using testcase parameter]] '', -- [3] placeholder for [[Category:Category series navigation using unknown parameter]] '', -- [4] placeholder for [[Category:Category series navigation range not using en dash]] '', -- [5] placeholder for [[Category:Category series navigation range abbreviated (MOS)]] '', -- [6] placeholder for [[Category:Category series navigation range redirected (base change)]] '', -- [7] placeholder for [[Category:Category series navigation range redirected (var change)]] '', -- [8] placeholder for [[Category:Category series navigation range redirected (end)]] '', -- [9] placeholder for [[Category:Category series navigation range redirected (MOS)]] '', --[10] placeholder for [[Category:Category series navigation range redirected (other)]] '', --[11] placeholder for [[Category:Category series navigation range gaps]] '', --[12] placeholder for [[Category:Category series navigation range irregular]] '', --[13] placeholder for [[Category:Category series navigation range irregular, 0-length]] '', --[14] placeholder for [[Category:Category series navigation range ends (present)]] '', --[15] placeholder for [[Category:Category series navigation range ends (blank, MOS)]] '', --[16] placeholder for [[Category:Category series navigation isolated]] '', --[17] placeholder for [[Category:Category series navigation default season gap size]] '', --[18] placeholder for [[Category:Category series navigation decade redirected]] '', --[19] placeholder for [[Category:Category series navigation year redirected (base change)]] '', --[20] placeholder for [[Category:Category series navigation year redirected (var change)]] '', --[21] placeholder for [[Category:Category series navigation year redirected (other)]] '', --[22] placeholder for [[Category:Category series navigation roman numeral redirected]] '', --[23] placeholder for [[Category:Category series navigation nordinal redirected]] '', --[24] placeholder for [[Category:Category series navigation wordinal redirected]] '', --[25] placeholder for [[Category:Category series navigation TV season redirected]] '', --[26] placeholder for [[Category:Category series navigation using skip-gaps parameter]] '', --[27] placeholder for [[Category:Category series navigation blein as reayn]] '', --[28] placeholder for [[Category:Category series navigation blein as jeihaght]] '', --[29] placeholder for [[Category:Category series navigation jeihaght as eash]] '', --[30] placeholder for [[Category:Category series navigation in mainspace]] '', --[31] placeholder for [[Category:Category series navigation redirection error]] } local avoidself = (not string.match(currtitle.text, 'Category series navigation with') and not string.match(currtitle.text, 'Category series navigation.*/doc') and not string.match(currtitle.text, 'Category series navigation.*/sandbox') and currtitle.text ~= 'Category series navigation' and currtitle.nsText:gsub('_', ' ') ~= 'User talk' and -- [[phab:T369784]] currtitle.nsText:gsub('_', ' ') ~= 'Template talk' and (currtitle.nsText ~= 'Template' or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}}) --[[==========================================================================]] --[[ Utility & category functions ]] --[[==========================================================================]] --Determine if a category exists (in a function for easier localization). local function catexists( title ) return mw.title.new( title, 'Category' ).exists end --Error message handling. function p.errorclass( msg ) return mw.text.tag( 'span', {class='error mw-ext-cite-error'}, '<b>Error!</b> '..string.gsub(msg, '&#', '&amp;#') ) end --Failure handling. function p.failedcat( errors, sortkey ) if avoidself then return (errors or '')..'&#42;&#42;&#42;Category series navigation failed to generate navbox***'.. '[['..testcasecolon..'Category:Category series navigation failed to generate navbox|'..(sortkey or 'O')..']]\n' end return '' end --Tracking cat handling. -- key: 15 (when reindexing ttrackingcats{}, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]') -- cat: 'Category series navigation isolated'; '' to remove --Used by main, all nav_*(), & several utility functions. local function trackcat( key, cat ) if avoidself and key and cat then if cat ~= '' then ttrackingcats[key] = '[['..testcasecolon..'Category:'..cat..']]' else ttrackingcats[key] = '' end end return end --Check for unknown parameters. --Used by main only. local function checkforunknownparams( tbl ) local knownparams = { --parameter whitelist ['min'] = 'min', ['max'] = 'max', ['cat'] = 'cat', ['show'] = 'show', ['testcase'] = 'testcase', ['testcasegap'] = 'testcasegap', ['skip-gaps'] = 'skip-gaps', ['list-all-links'] = 'list-all-links', ['follow-redirects'] = 'follow-redirects', } for k, _ in pairs (tbl) do if knownparams[k] == nil then trackcat(3, 'Category series navigation using unknown parameter') break end end end --Check for nav_*() navigational isolation (not necessarily an error). --Used by all nav_*(). local function isolatedcat() if nexistingcats == 0 then trackcat(16, 'Category series navigation isolated') end end --Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists; --if it doesn't exist, just display the greyed link title without linking. --Follows {{Category redirect}}s. --Returns { -- ['cat'] = cat, -- ['catexists'] = true, -- ['rtarget'] = <#R target>, -- ['navelement'] = <#R target navelement>, -- ['displaytext'] = displaytext, -- } -- if #R followed; --returns { -- ['cat'] = cat, -- ['catexists'] = <true|false>, -- ['rtarget'] = nil, -- ['navelement'] = <cat navelement>, -- ['displaytext'] = displaytext, -- } -- otherwise. --Used by all nav_*(). local function catlinkfollowr( frame, cat, displaytext, displayend, listoverride ) cat = mw.text.trim(cat or '') displaytext = mw.text.trim(displaytext or '') displayend = displayend or false --bool flag to override displaytext IIF the cat/target is terminal (e.g. "2021–present" or "2021–") local disp = cat if displaytext ~= '' then --use 'displaytext' parameter if present disp = mw.ustring.gsub(displaytext, '%s+%(.+$', ''); --strip any trailing disambiguator end local link, nilorR local exists = catexists(cat) if exists then nexistingcats = nexistingcats + 1 if followRs then local R = rtarget(cat, frame) --find & follow #R if R ~= cat then --#R followed nilorR = R end if displayend then local y, hyph, ending = mw.ustring.match(R, '^.-(%d+)([–-])(.*)$') if ending == 'present' then disp = y..hyph..ending elseif ending == '' then disp = y..hyph..'<span style="visibility:hidden">'..y..'</span>' --hidden y to match spacing end end link = '[[:Category:'..R..'|'..disp..']]' else link = '[[:Category:'..cat..'|'..disp..']]' end else link = '<span class="categorySeriesNavigation-item-inactive">'..disp..'</span>' end if listall and listoverride == nil then if nilorR then --#R followed table.insert( tlistall, '[[:Category:'..cat..']] → '..'[[:Category:'..nilorR..']] ('..link..')' ) else --no #R table.insert( tlistall, '[[:Category:'..cat..']] ('..link..')' ) end end return { ['cat'] = cat, ['catexists'] = exists, ['rtarget'] = nilorR, ['navelement'] = link, ['displaytext'] = disp, } end --Returns a numbered list of all {{Category redirect}}s followed by catlinkfollowr() -> rtarget(). --For a nav_hyphen() cat, also returns a formatted list of all cats searched for & found, & all loop indices. --Used by all nav_*(). local function listalllinks() local nl = '\n# ' local out = '' if currtitle.nsText == 'Category' then errors = p.errorclass('The <b><code>|list-all-links=yes</code></b> parameter/utility '.. 'should not be saved in category space, only previewed.') out = p.failedcat(errors, 'Z') end local bwd, fwd = '', '' if tlistallbwd[1] then bwd = '\n\nbackward search:'..nl..table.concat(tlistallbwd, nl) end if tlistallfwd[1] then fwd = '\n\nforward search:'..nl..table.concat(tlistallfwd, nl) end if tlistall[1] then return out..nl..table.concat(tlistall, nl)..bwd..fwd else return out..nl..'No links found!?'..bwd..fwd end end --Returns the difference b/w 2 ints separated by endash|hyphen, nil if error. --Used by nav_hyphen() only. local function find_duration( cat ) local from, to = mw.ustring.match(cat, '(%d+)[–-](%d+)') if from and to then if to == '00' then return nil end --doesn't follow MOS:DATERANGE if (#from == 4) and (#to == 2) then --1900-01 to = string.match(from, '(%d%d)%d%d')..to --1900-1901 elseif (#from == 2) and (#to == 4) then -- 01-1902 from = string.match(to, '(%d%d)%d%d')..from --1901-1902 end return (tonumber(to) - tonumber(from)) end return 0 end --Returns the ending of a terminal cat, and sets the appropriate tracking cat, else nil. --Used by nav_hyphen() only. local function find_terminaltxt( cat ) local terminaltxt = nil if mw.ustring.match(cat, '%d+[–-]present$') then terminaltxt = 'present' trackcat(14, 'Category series navigation range ends (present)') elseif mw.ustring.match(cat, '%d+[–-]$') then terminaltxt = '' trackcat(15, 'Category series navigation range ends (blank, MOS)') end return terminaltxt end --Returns an unsigned string of the 1-4 digit decade ending in "0", else nil. --Used by nav_decade() only. local function sterilizedec( decade ) if decade == nil or decade == '' then return nil end local dec = string.match(decade, '^[-%+]?(%d?%d?%d?0)$') or string.match(decade, '^[-%+]?(%d?%d?%d?0)%D') if dec then return dec else --fix 2-4 digit decade local decade_fixed234 = string.match(decade, '^[-%+]?(%d%d?%d?)%d$') or string.match(decade, '^[-%+]?(%d%d?%d?)%d%D') if decade_fixed234 then return decade_fixed234..'0' end --fix 1-digit decade local decade_fixed1 = string.match(decade, '^[-%+]?(%d)$') or string.match(decade, '^[-%+]?(%d)%D') if decade_fixed1 then return '0' end --unfixable return nil end end --Check for nav_hyphen default gap size + isolatedcat() (not necessarily an error). --Used by nav_hyphen() only. local function defaultgapcat( bool ) if bool and nexistingcats == 0 then --using "nexistingcats > 0" isn't as useful, since the default gap size obviously worked trackcat(17, 'Category series navigation default season gap size') end end --12 -> 12h, etc. --Used by nav_nordinal() & nav_wordinal(). function p.addord( i ) if tonumber(i) then local s = tostring(i) local n = tonumber(i) local ones = n % 10 if ones == 1 then return s .. 'd' elseif ones == 2 then return s .. 'h' else return s .. 'oo' end end return i end --Returns the properly formatted central nav element. --Expects an integer i, and a catlinkfollowr() table. --Used by nav_decade() & nav_ordinal() only. local function navcenter( i, catlink ) if i == 0 then --center nav element if navborder == true then return '<b>'..catlink.displaytext..'</b>' else return '<b>'..catlink.navelement..'</b>' end else return catlink.navelement end end --Wrap one or two navs in a <div> with ARIA attributes; add TemplateStyles --before it. This also aligns the navs in case some floating element (like a --portal box) breaks their alignment. --Used by main only. local function wrap( nav1, nav2 ) local templatestyles = require("Module:TemplateStyles")( "Module:Category series navigation/styles.css" ) local prepare = function (nav) if nav then nav = '\n'..nav else nav = '' end return nav end return templatestyles.. '<div class="categorySeriesNavigation" role="navigation" aria-label="Range">'.. prepare(nav1)..prepare(nav2).. '\n</div>' end --[[==========================================================================]] --[[ Formerly separated templates/modules ]] --[[==========================================================================]] --[[==========================={{ nav_hyphen }}=============================]] local function nav_hyphen( frame, start, hyph, finish, firstpart, lastpart, minseas, maxseas, testgap ) --Expects a PAGENAME of the form "Some sequential 2015–16 example cat", where -- start = 2015 -- hyph = – -- finish = 16 (sequential years can be abbreviated, but others should be full year, e.g. "2001–2005") -- firstpart = Some sequential -- lastpart = example cat -- minseas = 1800 ('min' starting season shown; optional; defaults to -9999) -- maxseas = 2000 ('max' starting season shown; optional; defaults to 9999; 2000 will show 2000-01) -- testgap = 0 (testcasegap parameter for easier testing; optional) --sterilize start if string.match(start or '', '^%d%d?%d?%d?$') == nil then --1-4 digits, AD only local start_fixed = mw.ustring.match(start or '', '^%s*(%d%d?%d?%d?)%D') if start_fixed then start = start_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize the number "'..(start or '')..'" '.. 'in the first part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "2015" is expected via "|2015|–|16|".') return p.failedcat(errors, 'H') end end local nstart = tonumber(start) --en dash check if hyph ~= '–' then trackcat(4, 'Category series navigation range not using en dash') --nav still processable, but track end --sterilize finish & check for weird parents local tgaps = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for -3 <= j <= 3 local tgapsj4 = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for j = { -4, 4 } local ttlens = {} --table of term lengths found w/i terms { [<term length found>] = 1 } local tirregs = {} --table of ir/regular-term-length cats' "from"s & "to"s found local regularparent = true if (finish == -1) or --"Members of the Scottish Parliament 2021–present" (finish == 0) --"Members of the Scottish Parliament 2021–" then regularparent = false if maxseas == nil or maxseas == '' then maxseas = start --hide subsequent ranges end if finish == -1 then trackcat(14, 'Category series navigation range ends (present)') else trackcat(15, 'Category series navigation range ends (blank, MOS)') end elseif (start == finish) and (ttrackingcats[16] ~= '') --nav_year found isolated; check for surrounding hyphenated terms (e.g. UK MPs 1974) then trackcat(16, '') --reset for another check later trackcat(13, 'Category series navigation range irregular, 0-length') ttlens[0] = 1 --calc ttlens for std cases below regularparent = 'isolated' end if (string.match(finish or '', '^%d+$') == nil) and (string.match(finish or '', '^%-%d+$') == nil) then local finish_fixed = mw.ustring.match(finish or '', '^%s*(%d%d?%d?%d?)%D') if finish_fixed then finish = finish_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize "'..(finish or '')..'" '.. 'in the second part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "16" is expected via "|2015|–|16|".') return p.failedcat(errors, 'I') end else if string.len(finish) >= 5 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should only be four or fewer digits, not "'..(finish or '')..'". '.. 'See [[MOS:DATERANGE]] for details.') return p.failedcat(errors, 'J') end end local nfinish = tonumber(finish) --save sterilized parent range for easier lookup later tirregs['from0'] = nstart tirregs['to0'] = nfinish --sterilize min/max local nminseas_default = -9999 local nmaxseas_default = 9999 local nminseas = tonumber(minseas) or nminseas_default --same behavior as nav_year local nmaxseas = tonumber(maxseas) or nmaxseas_default --same behavior as nav_year if nminseas > nstart then nminseas = nstart end if nmaxseas < nstart then nmaxseas = nstart end local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '%($') then lspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats if string.match(lastpart, '^%)') then tspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats --calculate term length/intRAseason size & finishing year local t = 1 while t <= term_limit and regularparent == true do local nish = nstart + t --use switchADBC to flip this sign to work for years BC, if/when the time comes if (nish == nfinish) or (string.match(nish, '%d?%d$') == finish) then ttlens[t] = 1 break end if t == term_limit then errors = p.errorclass('Function nav_hyphen can\'t determine a reasonable term length for "'..start..hyph..finish..'".') return p.failedcat(errors, 'K') end t = t + 1 end --apply MOS:DATERANGE to parent local lenstart = string.len(start) local lenfinish = string.len(finish) if lenstart == 4 and regularparent == true then --"2001–..." if t == 1 then --"2001–02" & "2001–2002" both allowed if lenfinish ~= 2 and lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be two or four digits, not "'..finish..'".') return p.failedcat(errors, 'L') end else --"2001–2005" is required for t > 1; track "2001–05"; anything else = error if lenfinish == 2 then trackcat(5, 'Category series navigation range abbreviated (MOS)') elseif lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be four digits, not "'..finish..'".') return p.failedcat(errors, 'M') end end if finish == '00' then --full year required regardless of term length trackcat(5, 'Category series navigation range abbreviated (MOS)') end end --calculate intERseason gap size local hgap_default = 0 --assume & start at the most common case: 2001–02 -> 2002–03, etc. local hgap_limit_reg = hgap_limit --less expensive per-increment (inc x 4) local hgap_limit_irreg = hgap_limit --more expensive per-increment (inc x 23 = inc x (k_bwd + k_fwd) = inc x (12 + 11)) local hgap_success = false local hgap = hgap_default while hgap <= hgap_limit_reg and regularparent == true do --verify local prevseason2 = firstpart..lspace..(nstart-t-hgap)..hyph..string.match(nstart-hgap, '%d?%d$') ..tspace..lastpart local nextseason2 = firstpart..lspace..(nstart+t+hgap)..hyph..string.match(nstart+2*t+hgap, '%d?%d$')..tspace..lastpart local prevseason4 = firstpart..lspace..(nstart-t-hgap)..hyph..(nstart-hgap) ..tspace..lastpart local nextseason4 = firstpart..lspace..(nstart+t+hgap)..hyph..(nstart+2*t+hgap)..tspace..lastpart if t == 1 then --test abbreviated range first, then full range, to be frugal with expensive functions if catexists(prevseason2) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason2) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason4) or catexists(nextseason4) then hgap_success = true break end elseif t > 1 then --test full range first, then abbreviated range, to be frugal with expensive functions if catexists(prevseason4) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason4) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason2) or catexists(nextseason2) then hgap_success = true break end end hgap = hgap + 1 end if hgap_success == false then hgap = tonumber(testgap) or hgap_default --tracked via defaultgapcat() end --preliminary scan to determine ir/regular spacing of nearby cats; --to limit expensive function calls, MOS:DATERANGE-violating cats are ignored; --an irregular-term-length series should follow "YYYY..hyph..YYYY" throughout local jlimit = 4 --4-a-side if all YYYY-YY, 3-a-side if all YYYY-YYYY, with some threshold in between if hgap <= hgap_limit_reg then --also to isolate temp vars --find # of nav-visible ir/regular-term-length cats local bwanchor = nstart --backward anchor/common year local fwanchor = bwanchor + t --forward anchor/common year if regularparent == 'isolated' then fwanchor = bwanchor end local spangreen = '[<span style="color:green">j, g, k = ' --used for/when debugging via list-all-links=yes local spanblue = '<span style="color:blue">' local spanred = ' (<span style="color:red">' local span = '</span>' local lastg = nil --to check for run-on searches local lastk = nil --to check for run-on searches local endfound = false --switch used to stop searching forward local iirregs = 0 --index of tirregs[] for j < 0, since search starts from parent local j = -jlimit --index of tirregs[] for j > 0 & pseudo navh position while j <= jlimit do if j < 0 then --search backward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = 0 --term length: 0 = "0-length", 1+ = normal while k <= term_limit do local from = bwanchor - k - g local to = bwanchor - g local full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) if k == 0 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to = '0-length' full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= 1) or --the normal case; only continue k = 0 if 0-length found (to == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to match j>0 case ("1995–96 in Federal Republic of Yugoslavia basketball") (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series local to2 = string.match(to, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) to = to2 full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to == '0-length' then trackcat(13, 'Category series navigation range irregular, 0-length') end tlistallbwd[#tlistallbwd] = spanblue..tlistallbwd[#tlistallbwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == -1 then tgapsj4[g] = 1 -- -1 since bwd search starts from parent @ -4 and ends at -1 else tgaps[g] = 1 end iirregs = iirregs + 1 tirregs['from-'..iirregs] = from tirregs['to-'..iirregs] = to bwanchor = from --ratchet down if to ~= '0-length' then gbreak = true break else g = 0 --soft-reset g, to keep stepping thru k j = j + 1 --save, but keep searching thru k if j > 0 then --(restore "> 3" if acts up) lest we keep searching bwd & finding 0-length cats ("MEPs for the Republic of Ireland 1973" & down) j = -1 --allow a normal, full search fwd after break gbreak = true break end end elseif (j >= 0) and (lastg and lastk) and ((lastg >= hgap_limit_irreg) or (lastk >= term_limit)) then --bwd search exhausted and/or done (runaway bwd search on "2018–19 FIA World Endurance Championship season") j = -1 --allow a normal, full search fwd after break gbreak = true break end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j < 0 if j > 0 and endfound == false then --search forward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = -2 --term length: -2 = "0-length", -1 = "2020–present", 0 = "2020–", 1+ = normal while k <= term_limit do local from = fwanchor + g local to4 = fwanchor + k + g --override carefully local to2 = nil --last 2 digits of to4, IIF exists if k == -1 then to4 = 'present' --see if end-cat exists (present) elseif k == 0 then to4 = '' end --see if end-cat exists (blank) local full = mw.text.trim( firstpart..lspace..from..hyph..to4..tspace..lastpart ) if k == -2 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to4 = '0-length' --see if 0-length cat exists full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to4 = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= -1) or --only continue k = -2 if 0-length found (to4 == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to let "2002–03 in Scottish women's football" find "2008–09 in Scottish women's football" (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series to2 = string.match(to4, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) full = mw.text.trim( firstpart..lspace..from..hyph..to2..tspace..lastpart ) table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to4 == '0-length' then if rtarget(full, frame) == full then --only use 0-length cats that don't #R trackcat(13, 'Category series navigation range irregular, 0-length') end end tirregs['from'..j] = from tirregs['to'..j] = (to2 or to4) if (k == -1) or (k == 0) then endfound = true --tentative else --k == { -2, > 0 } tlistallfwd[#tlistallfwd] = spanblue..tlistallfwd[#tlistallfwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == 4 then tgapsj4[g] = 1 else tgaps[g] = 1 end endfound = false if to4 ~= '0-length' then --k > 0 fwanchor = to4 --ratchet up gbreak = true break --only break on k > 0 b/c old end-cat #Rs still exist like "Members of the Scottish Parliament 2011–" else --k == -2 j = j + 1 --save, but keep searching k's, in case "1974" → "1974-1979" if j > jlimit then --lest we keep searching & finding 0-length cats ("2018 CONCACAF Champions League" & up) gbreak = true break elseif g == hgap_limit_irreg then --keep searching, since not a runaway, just far away ("American soccer clubs 1958–59 season") hgap_limit_irreg = hgap_limit_irreg + 1 end end end end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j > 0 and endfound == false then if (lastg and lastk) and (lastg > hgap_limit_irreg) and (lastk > term_limit) then --search exhausted if j < 0 then j = 0 --bwd search exhausted; continue fwd elseif j > 0 then break end --fwd search exhausted end j = j + 1 end --while j <= jlimit end --if hgap <= hgap_limit_reg --determine # of displayed navh elements based on "YYYY-YY" vs. "YYYY-YYYY" counts local Ythreshold = 3.3 --((YYYY-YY x 7) + (YYYY-YYYY x 2))/18 = 3.222; ((YYYY-YY x 6) + (YYYY-YYYY x 3))/18 = 3.333 local Ycount = 0 --"Y" count local ycount = 0 --tirregs counter; # of contiguous #s for k, v in pairs (tirregs) do local dummy, dunce = mw.ustring.gsub(tostring(v), '%d', '') --why can't gsub just return a table?? Ycount = Ycount + dunce ycount = ycount + 1 end local ycount_limit = ((jlimit * 2) + 1) * 2 --i.e. ((4 * 2) + 1) * 2 = 18 if ycount < ycount_limit then --fill in the blanks with Ycount_parent, since hidden/dne cats aren't in tirregs local dummy_finish = finish if not regularparent then dummy_finish = start end local dummy, dunce_from = mw.ustring.gsub(start, '%d', '') local dummy, dunce_to = mw.ustring.gsub(dummy_finish, '%d', '') local Ycount_parent_avg = (dunce_from + dunce_to)/2 --"YYYY-YYYY" = 4; "YYYY-YY" = 3 Ycount = Ycount + (Ycount_parent_avg * (ycount_limit - ycount)) ycount = ycount_limit end local iwidth = 3 --default to 3-a-side, 7 total local Y_per_y = Ycount / ycount --normalized range: [3-4] if Y_per_y < Ythreshold then iwidth = 4 --extend to 4-a-side, 9 total end --begin navhyphen local navh = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local terminalcat = false --switch used to hide future cats local terminaltxt = nil local i = -iwidth --nav position while i <= iwidth do local from = nstart + i*(t+hgap) --the logical, but not necessarily correct, 'from' if tirregs['from'..i] then --prefer the irregular term table from = tonumber(tirregs['from'..i]) else --fallback to lazy/naive 'from' if i > 0 and tirregs['from'..(i-1)] and tirregs['from'..(i-1)] >= from then --end of the line: avoid dups/past, and create reasonable grey'd ranges local greyto = tonumber(tirregs['to' .. (i-1)]) or -9999 local greyfrom = tonumber(tirregs['from'..(i-1)]) or -9999 local grey = greyto --prefer 'to' if greyfrom > greyto then grey = greyfrom end --'from' fallback, in case "1995–96", "1995-present", etc. if grey > -9999 then if grey ~= greyto then from = grey + t + hgap --account for missing/incomplete 'to' else from = grey + hgap end tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end elseif i < 0 then local greyfrom local ii = 0 while ii < 3 do ii = ii + 1 greyfrom = tonumber(tirregs['from'..(i+ii)]) if greyfrom then break end end from = (greyfrom or nstart) - ii*(t+hgap) tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end end local from2 = string.match(from, '%d?%d$') local to = tostring(from+t) --the logical, naive range, but if tirregs['to'..i] then --prefer irregular term table to = tirregs['to'..i] elseif regularparent == false and tirregs and i > 0 then to = tirregs['to-1'] --special treatment for parent terminal cats, since they have no natural 'to' end local to2 = string.match(to, '%d?%d$') local tofinal = (to2 or '') --assume t=1 and abbreviated 'to' (the most common case) if t > 1 or --per MOS:DATERANGE (e.g. 1999-2004) (from2 - (to2 or from2)) > 0 --century transition exception (e.g. 1999–2000) then tofinal = (to or '') --default to the MOS-correct format, in case no fallbacks found end if to == '0-length' then tofinal = to end --check existance of 4-digit, MOS-correct range, with abbreviation fallback if tofinal ~= '0-length' then if t > 1 and string.len(from) == 4 then --e.g. 1999-2004 --determine which link exists (full or abbr) local full = firstpart..lspace..from..hyph..tofinal..tspace..lastpart if not catexists(full) then local abbr = firstpart..lspace..from..hyph..to2..tspace..lastpart if catexists(abbr) then tofinal = (to2 or '') --rv to MOS-incorrect format; if full AND abbr DNE, then tofinal is still in its MOS-correct format end end elseif t == 1 then --full-year consecutive ranges are also allowed local abbr = firstpart..lspace..from..hyph..tofinal..tspace..lastpart --assume tofinal is in abbr format if not catexists(abbr) and tofinal ~= to then local full = firstpart..lspace..from..hyph..to..tspace..lastpart if catexists(full) then tofinal = (to or '') --if abbr AND full DNE, then tofinal is still in its abbr format (unless it's a century transition) end end end end --populate navh if i ~= 0 then --left/right navh local orig = firstpart..lspace..from..hyph..tofinal..tspace..lastpart local disp = from..hyph..tofinal if tofinal == '0-length' then orig = firstpart..lspace..from..tspace..lastpart disp = from end local catlink = catlinkfollowr(frame, orig, disp, true) --force terminal cat display if terminalcat == false then terminaltxt = find_terminaltxt( disp ) --also sets tracking cats terminalcat = (terminaltxt ~= nil) end if catlink.rtarget and avoidself then --a {{Category redirect}} was followed, figure out why --determine new term length & gap size ttlens[ find_duration( catlink.rtarget ) ] = 1 if i > -iwidth then local lastto = tirregs['to'..(i-1)] if lastto == nil then local lastfrom = nstart + (i-1)*(t+hgap) lastto = lastfrom+t --use last logical 'from' to calc lastto end if lastto then local gapcat = lastto..'-'..from --dummy cat to calc with local gap = find_duration(gapcat) or -1 --in case of nil, if iwidth == 4 then tgapsj4[ gap ] = 1 --tgapsj4[-1] are ignored later else tgaps[ gap ] = 1 --tgaps[-1] are ignored later end end end --display/tracking handling local base_regex = '%d+[–-]%d+' local origbase = mw.ustring.gsub(orig, base_regex, '') local rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex, '') if rtarbase_success == 0 then local base_regex_lax = '%d%d%d%d' --in case rtarget is a year cat rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex_lax, '') end local terminal_regex = '%d+[–-]'..(terminaltxt or '')..'$' --more manual ORs bc Lua regex sux if mw.ustring.match(orig, terminal_regex) then origbase = mw.ustring.gsub(orig, terminal_regex, '') end if mw.ustring.match(catlink.rtarget, terminal_regex) then --finagle/overload terminalcat type to set nmaxseas on 1st occurence only if terminalcat == false then terminalcat = 1 end local dummy = find_terminaltxt( catlink.rtarget ) --also sets tracking cats rtarbase = mw.ustring.gsub(catlink.rtarget, terminal_regex, '') end origbase = mw.text.trim(origbase) rtarbase = mw.text.trim(rtarbase) if origbase ~= rtarbase then trackcat(6, 'Category series navigation range redirected (base change)') elseif terminalcat == 1 then trackcat(8, 'Category series navigation range redirected (end)') else --origbase == rtarbase local all4s_regex = '%d%d%d%d[–-]%d%d%d%d' local orig_all4s = mw.ustring.match(orig, all4s_regex) local rtar_all4s = mw.ustring.match(catlink.rtarget, all4s_regex) if orig_all4s and rtar_all4s then trackcat(10, 'Category series navigation range redirected (other)') else local year_regex1 = '%d%d%d%d$' local year_regex2 = '%d%d%d%d[%s%)]' local year_rtar = mw.ustring.match(catlink.rtarget, year_regex1) or mw.ustring.match(catlink.rtarget, year_regex2) if orig_all4s and year_rtar then trackcat(7, 'Category series navigation range redirected (var change)') else trackcat(9, 'Category series navigation range redirected (MOS)') end end end end if terminalcat then --true or 1 if type(terminalcat) ~= 'boolean' then nmaxseas = from end --only want to do this once terminalcat = true --done finagling/overloading end if (from >= 0) and (nminseas <= from) and (from <= nmaxseas) then table.insert(navlist, catlink.navelement) if terminalcat then nmaxseas = nminseas_default end --prevent display of future ranges else local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navh if finish == -1 then finish = 'present' elseif finish == 0 then finish = '<span style="visibility:hidden">'..start..'</span>' end local disp = start..hyph..finish if regularparent == 'isolated' then disp = start end table.insert(navlist, '<b>'..disp..'</b>') end i = i + 1 end -- add the list navh = navh..horizontal(navlist)..'\n' --tracking cats & finalize if avoidself then local igaps = 0 --# of diff gap sizes > 0 found local itlens = 0 --# of diff term lengths found for s = 1, hgap_limit_reg do --must loop; #tgaps, #ttlens unreliable igaps = igaps + (tgaps[s] or 0) end if iwidth == 4 then --only count gaps if they were displayed ("Karnataka MLAs 1957–1962") for s = 1, hgap_limit_reg do igaps = igaps + (tgapsj4[s] or 0) end end for s = 0, term_limit do itlens = itlens + (ttlens[s] or 0) end if igaps > 0 then trackcat(11, 'Category series navigation range gaps') end if itlens > 1 and ttrackingcats[13] == '' then --avoid duplication in "Category series navigation range irregular, 0-length" trackcat(12, 'Category series navigation range irregular') end end isolatedcat() defaultgapcat(not hgap_success) if listall then return listalllinks() else return navh..'</div>' end end --[[=========================={{ nav_tvseason }}============================]] local function nav_tvseason( frame, firstpart, tv, lastpart, maximumtv ) --Expects a PAGENAME of the form "Futurama season 1 episodes", where -- firstpart = Futurama season -- tv = 1 -- lastpart = episodes -- maximumtv = 7 ('max' tv season parameter; optional; defaults to 9999) tv = tonumber(tv) if tv == nil then errors = p.errorclass('Function nav_tvseason can\'t recognize the TV season number sent to its 3rd parameter.') return p.failedcat(errors, 'T') end --"(season 1) episodes" -> "season 1 episodes" following March 2024 RfC: --[[Wikipedia talk:Naming conventions (television)#Follow-up RfC on TV season article titles]] -- [[Special:Permalink/1216885280#Follow-up RfC on TV season article titles]] local tspace = ' ' --"season 1 episodes" local parenth_check = string.match(lastpart, '^%)') if parenth_check then tspace = '' end --accommodate old style "(season 1) episodes" just in case local maxtv_default = 9999 local maxtv = tonumber(maximumtv) or maxtv_default --allow +/- qualifier if maxtv < tv then maxtv = tv end --input error; maxtv should be >= parent --begin navtvseason local navt = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local t = tv + i if i ~= 0 then --left/right navt local catlink = catlinkfollowr( frame, firstpart..' '..t..tspace..lastpart, t ) if t >= 1 and t <= maxtv then --hardcode mintv if catlink.rtarget then --a {{Category redirect}} was followed trackcat(25, 'Category series navigation TV season redirected') end if catlink.catexists or (maxtv ~= maxtv_default and t <= maxtv) then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end elseif t < 1 then prepad = prepad..'<span style="visibility:hidden"> • '..'0'..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end else --t > maxtv local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navt table.insert(navlist, prepad..'<b>'..tv..'</b>') prepad = '' end i = i + 1 end -- add the list navt = navt..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navt..'</div>' end end --[[==========================={{ nav_decade }}=============================]] local function nav_decade( frame, firstpart, decade, lastpart, mindecade, maxdecade ) --Expects a PAGENAME of the form "Some sequential 2000 example cat", where -- firstpart = Some sequential -- decade = 2000 -- lastpart = example cat -- mindecade = 1800 ('min' decade parameter; optional; defaults to -9999) -- maxdecade = 2020 ('max' decade parameter; optional; defaults to 9999) --sterilize dec local dec = sterilizedec(decade) if dec == nil then errors = p.errorclass('Function nav_decade was sent "'..(decade or '')..'" as its 2nd parameter, '.. 'but expects a 1 to 4-digit year ending in "0".') return p.failedcat(errors, 'D') end local ndec = tonumber(dec) --sterilize mindecade & determine AD/BC local mindefault = '-9999' local mindec = sterilizedec(mindecade) --returns a tostring(unsigned int), or nil if mindec then if string.match(mindecade, '-%d') or string.match(mindecade, 'RC') then mindec = '-'..mindec --better +/-0 behavior with strings (0-initialized int == "-0" string...) end elseif mindec == nil and mindecade and mindecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(mindecade or '')..'" as its 4th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the earliest decade to be shown.') return p.failedcat(errors, 'E') else --mindec == nil mindec = mindefault --tonumber() later, after error checks end --sterilize maxdecade & determine AD/BC local maxdefault = '9999' local maxdec = sterilizedec(maxdecade) --returns a tostring(unsigned int), or nil + error if maxdec then if string.match(maxdecade, '-%d') or string.match(maxdecade, 'RC') then --better +/-0 behavior with strings (0-initialized int == "-0" string...), maxdec = '-'..maxdec --but a "-0" string -> tonumber() -> tostring() = "-0", end --and a "0" string -> tonumber() -> tostring() = "0" elseif maxdec == nil and maxdecade and maxdecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(maxdecade or '')..'" as its 5th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the highest decade to be shown.') return p.failedcat(errors, 'F') else --maxdec == nil maxdec = maxdefault end local tspace = ' ' --assume trailing space for "1950s in X"-type cats if string.match(lastpart, '^-') then tspace = '' end --DNE for "1970s-related"-type cats --AD/BC switches & varR local parentBC = string.match(lastpart, '^RC') --following the "0s BC" convention for all years BC local BCe = parentBC and 'RC' or 'BC' --use RC for Manx categories, BC otherwise lastpart = mw.ustring.gsub(lastpart, '^RC%s*', '') --handle BC separately; AD never used --TODO?: handle BCE, but only if it exists in the wild local dec0to40AD = (ndec >= 0 and ndec <= 40 and not parentBC) --special behavior in this range local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local BCdisp = '' local D = -math.huge --secondary switch & iterator for AD/BC transition --check non-default min/max more carefully if mindec ~= mindefault then if tonumber(mindec) > ndec*switchADBC then mindec = tostring(ndec*switchADBC) --input error; mindec should be <= parent end end if maxdec ~= maxdefault then if tonumber(maxdec) < ndec*switchADBC then maxdec = tostring(ndec*switchADBC) --input error; maxdec should be >= parent end end local nmindec = tonumber(mindec) --similar behavior to nav_year & nav_nordinal local nmaxdec = tonumber(maxdec) --similar behavior to nav_nordinal --begin navdecade local bnb = '' --border/no border if navborder == false then --for Category series navigation year and decade bnb = 'categorySeriesNavigation-range-transparent' end local navd = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -50 --nav position x 10 while i <= 50 do local d = ndec + i*switchADBC local BC = '' BCdisp = '' if dec0to40AD then if D < -10 then d = math.abs(d + 10) --b/c 2 "0s" decades exist: "0s BC" & "0s" (AD) BC = 'RC ' if d == 0 then D = -10 --track 1st d = 0 use (BC) end elseif D >= -10 then D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use end elseif parentBC then if switchADBC == -1 then --parentBC looking at the BC side (the common case) BC = 'RC ' if d == 0 then --prepare to switch to the AD side on the next iteration switchADBC = 1 --1st d = 0 use (BC) D = -10 --prep end elseif switchADBC == 1 then --switched to the AD side D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use (on first use) end end if BC ~= '' and ndec <= 50 then BCdisp = ' '..BCe --show BC/RC for all BC decades whenever a "0yn" is displayed on the nav end --determine target cat local disp = d..'yn'..BCdisp local catlink = catlinkfollowr( frame, firstpart..' '..d..'yn'..tspace..BC..lastpart, disp ) if catlink.rtarget then --a {{Category redirect}} was followed trackcat(18, 'Category series navigation decade redirected') end --populate left/right navd local shown = navcenter(i, catlink) local hidden = '<span style="visibility:hidden">'..disp..'</span>' local dsign = d --use d for display & dsign for logic if BC ~= '' then dsign = -dsign end if (nmindec <= dsign) and (dsign <= nmaxdec) then if dsign == 0 and (nmindec == 0 or nmaxdec == 0) then --distinguish b/w -0 (BC) & 0 (AD) --"zoom in" on +/- 0 and turn dsign/min/max temporarily into +/- 1 for easier processing local zsign, zmin, zmax = 1, nmindec, nmaxdec if BC ~= '' then zsign = -1 end if mindec == '-0' then zmin = -1 elseif mindec == '0' then zmin = 1 end if maxdec == '-0' then zmax = -1 elseif maxdec == '0' then zmax = 1 end if (zmin <= zsign) and (zsign <= zmax) then table.insert(navlist, shown) hidden = nil else table.insert(navlist, hidden) end else table.insert(navlist, shown)--the common case hidden = nil end else table.insert(navlist, hidden) end if listall and hidden then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end i = i + 10 end -- add the list navd = navd..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navd..'</div>' end end --[[============================{{ nav_year }}==============================]] local function nav_year( frame, firstpart, year, lastpart, minimumyear, maximumyear ) --Expects a PAGENAME of the form "Some sequential 1760 example cat", where -- firstpart = Some sequential -- year = 1760 -- lastpart = example cat -- minimumyear = 1758 ('min' year parameter; optional) -- maximumyear = 1800 ('max' year parameter; optional) local minyear_default = -9999 local maxyear_default = 9999 year = tonumber(year) or tonumber(mw.ustring.match(year or '', '^%s*(%d*)')) local minyear = tonumber(string.match(minimumyear or '', '-?%d+')) or minyear_default --allow +/- qualifier local maxyear = tonumber(string.match(maximumyear or '', '-?%d+')) or maxyear_default --allow +/- qualifier if string.match(minimumyear or '', 'RC') then minyear = -math.abs(minyear) end --allow BC qualifier (AD otherwise assumed) if string.match(maximumyear or '', 'RC') then maxyear = -math.abs(maxyear) end --allow BC qualifier (AD otherwise assumed) if year == nil then errors = p.errorclass('Function nav_year can\'t recognize the year sent to its 3rd parameter.') return p.failedcat(errors, 'Y') end --AD/BC switches & vars local yearBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['example_Hebrew people_example'] = 'BCE', --example entry format; add to & adjust as needed } local parentAD = string.match(firstpart, 'BNJ$') --following the "AD 1" convention from AD 1 to AD 10 local parentBC = string.match(lastpart, '^RC?') --following the "1 BC" convention for all years BC firstpart = mw.ustring.gsub(firstpart, '%s*BNJ$', '') --handle AD/BC separately for easier & faster accounting lastpart = mw.ustring.gsub(lastpart, '^RC?%s*', '') local BCe = parentBC or yearBCElastparts[lastpart] or 'RC' --"BC" default local year1to10 = (year >= 1 and year <= 10) local year1to10ADBC = year1to10 and (parentBC or parentAD) --special behavior 1-10 for low-# non-year series local year1to15AD = (year >= 1 and year <= 15 and not parentBC) --special behavior 1-15 for AD/BC display local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local Y = 0 --secondary iterator for AD-on-a-BC-parent if minyear > year*switchADBC then minyear = year*switchADBC end --input error; minyear should be <= parent if maxyear < year*switchADBC then maxyear = year*switchADBC end --input error; maxyear should be >= parent local lspace = ' ' --leading space before year, after firstpart if string.match(firstpart, '[%-VW]$') then lspace = '' --e.g. "Straight-8 engines" end local tspace = ' ' --trailing space after year, before lastpart if string.match(lastpart, '^-') then tspace = '' --e.g. "2018-related timelines" end --determine interyear gap size to condense special category types, if possible local ygapdefault = 1 --assume/start at the most common case: 2001, 2002, etc. local ygap = ygapdefault if string.match(lastpart, 'presidential') then local ygap1, ygap2 = ygapdefault, ygapdefault --need to determine previous & next year gaps indepedently local ygap1_success, ygap2_success = false, false local prevseason = nil while ygap1 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms prevseason = firstpart..lspace..(year-ygap1)..tspace..lastpart if catexists(prevseason) then ygap1_success = true break end ygap1 = ygap1 + 1 end local nextseason = nil while ygap2 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms nextseason = firstpart..lspace..(year+ygap2)..tspace..lastpart if catexists(nextseason) then ygap2_success = true break end ygap2 = ygap2 + 1 end if ygap1_success and ygap2_success then if ygap1 == ygap2 then ygap = ygap1 end elseif ygap1_success then ygap = ygap1 elseif ygap2_success then ygap = ygap2 end end --skip non-existing years, if requested local ynogaps = {} --populate with existing years in the range, at most, [year - (skipgaps_limit * 5), year + (skipgaps_limit * 5)] if skipgaps then if minyear == minyear_default then minyear = 0 --automatically set minyear to 0, as AD/BC not supported anyway end if (year > 70) or --add support for AD/BC (<= AD 10) if/when needed (minyear >= 0 and --must be a non-year series like "AC with 0 elements" not parentAD and not parentBC) then local yskipped = {} --track skipped y's to avoid double-checking local cat, found, Yeary --populate nav element queue outwards positively from the parent local Year = year --to save/ratchet progression local i = 1 while i <= 5 do local y = 1 while y <= skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y + 1 end if found then Year = Yeary else Year = Year + 1 end ynogaps[i] = Year i = i + 1 end ynogaps[0] = year --the parent --populate nav element queue outwards negatively from the parent Year = year --reset ratchet i = -1 while i >= -5 do local y = -1 while y >= -skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y - 1 end if found then Year = Yeary else Year = Year - 1 end ynogaps[i] = Year i = i - 1 end else skipgaps = false --TODO: AD/BC support, then lift BC restrictions @ [[Template:Establishment category BC]] & [[Template:Year category header/core]] end end --begin navyears local navy = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local y local j = 0 --decrementor for special cases "2021 World Rugby Sevens Series" -> "2021–2022" local i = -5 --nav position while i <= 5 do if skipgaps then y = ynogaps[i] else y = year + i*ygap*switchADBC - j end local BCdisp = '' if i ~= 0 then --left/right navy local AD = '' local BC = '' if year1to15AD and not (year1to10 and not year1to10ADBC) --don't AD/BC 1-10's if parents don't contain AD/BC then if year >= 11 then --parent = AD 11-15 if y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end elseif year >= 1 then --parent = AD 1-10 if y <= 0 then BC = BCe..' ' y = math.abs(y - 1) --skip y = 0 (DNE) elseif y >= 1 and y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end end elseif parentBC then if switchADBC == -1 then --displayed y is in the BC regime if y >= 1 then --the common case BC = BCe..' ' elseif y == 0 then --switch from BC to AD regime switchADBC = 1 end end if switchADBC == 1 then --displayed y is now in the AD regime Y = Y + 1 --skip y = 0 (DNE) y = Y --easiest solution: start another iterator for these AD y's displayed on a BC year parent AD = 'AD ' end end if BC ~= '' and year <= 5 then --only show 'BC' for parent years <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav year that doesn't need a disambiguator; end --the center/parent year will always show BC, so no need to show it another 10x --populate left/right navy local ysign = y --use y for display & ysign for logic local disp = y..BCdisp if BC ~= '' then ysign = -ysign end local firsttry = firstpart..lspace..AD..y..tspace..BC..lastpart if (minyear <= ysign) and (ysign <= maxyear) then local catlinkAD = catlinkfollowr( frame, firsttry, disp ) --try AD local catlink = catlinkAD --tentative winner if AD ~= '' then --for "ACArt with 5 suppressed elements"-type cats local catlinkNoAD = catlinkfollowr( frame, firstpart..lspace..y..tspace..BC..lastpart, disp ) --try !AD if catlinkNoAD.catexists == true then catlink = catlinkNoAD --usurp elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>1</sup>' end end if (AD..BC == '') and (catlink.catexists == false) and (y >= 1000) then --!ADBC & DNE; 4-digit only, to be frugal --try basic hyphenated cats: 1-year, endash, MOS-correct only, no #Rs local yHyph_4 = y..'–'..(y+1) --try 2010–2011 type cats local catlinkHyph_4 = catlinkfollowr( frame, firstpart..lspace..yHyph_4..tspace..BC..lastpart, yHyph_4 ) if catlinkHyph_4.catexists and catlinkHyph_4.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_4 --usurp trackcat(27, 'Category series navigation year and range') else if listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>2</sup>' end local yHyph_2 = y..'–'..string.match(y+1, '%d%d$') --try 2010–11 type cats if i == 1 then local yHyph_2_special = (y-1)..'–'..string.match(y, '%d%d$') --try special case 2021 -> 2021–22 local catlinkHyph_2_special = catlinkfollowr( frame, firstpart..lspace..yHyph_2_special..tspace..BC..lastpart, yHyph_2_special ) if catlinkHyph_2_special.catexists and catlinkHyph_2_special.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2_special --usurp trackcat(27, 'Category series navigation year and range') j = 1 elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>3</sup>' end end if not (i == 1 and j == 1) then local catlinkHyph_2 = catlinkfollowr( frame, firstpart..lspace..yHyph_2..tspace..BC..lastpart, yHyph_2 ) if catlinkHyph_2.catexists and catlinkHyph_2.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2 --usurp trackcat(27, 'Category series navigation year and range') elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>4</sup>' end end end end if catlink.rtarget then --#R followed; determine why local r = catlink.rtarget local c = catlink.cat local year_regex = '%d%d%d%d[–-]?%d?%d?%d?%d?' --prioritize year/range stripping, e.g. for "2006 Super 14 season" local hyph_regex = '%d%d%d%d[–-]%d+' --stricter local num_regex = '%d+' --strip any number otherwise local final_regex = nil --best choice goes here if mw.ustring.match(r, year_regex) and mw.ustring.match(c, year_regex) then final_regex = year_regex elseif mw.ustring.match(r, num_regex) and mw.ustring.match(c, num_regex) then final_regex = num_regex end if final_regex then local r_base = mw.ustring.gsub(r, final_regex, '') local c_base = mw.ustring.gsub(c, final_regex, '') if r_base ~= c_base then trackcat(19, 'Category series navigation year redirected (base change)') --acceptable #R target elseif mw.ustring.match(r, hyph_regex) then trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "2008 in Scottish women's football" to "2008–09" else trackcat(21, 'Category series navigation year redirected (other)') --exceptions go here end else trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "V2 engines" to "V-twin engines" end end table.insert(navlist, catlink.navelement) else --OOB vs min/max local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then local dummy = catlinkfollowr( frame, firsttry, disp ) tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navy if parentBC then BCdisp = ' '..BCe end table.insert(navlist, '<b>'..year..BCdisp..'</b>') end i = i + 1 end --add the list navy = navy..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navy..'</div>' end end --[[==========================={{ nav_roman }}==============================]] local function nav_roman( frame, firstpart, roman, lastpart, minimumrom, maximumrom ) local toarabic = require('Module:ConvertNumeric').roman_to_numeral local toroman = require('Module:Roman').main --sterilize/convert rom/num local num = tonumber(toarabic(roman)) local rom = toroman({ [1] = num }) if num == nil or rom == nil then --out of range or some other error errors = p.errorclass('Function nav_roman can\'t recognize one or more of "'..(num or 'nil')..'" & "'.. (rom or 'nil')..'" in category "'..firstpart..' '..roman..' '..lastpart..'".') return p.failedcat(errors, 'R') end --sterilize min/max local minrom = tonumber(minimumrom or '') or tonumber(toarabic(minimumrom or '')) local maxrom = tonumber(maximumrom or '') or tonumber(toarabic(maximumrom or '')) if minrom < 1 then minrom = 1 end --toarabic() returns -1 on error if maxrom < 1 then maxrom = 9999 end --toarabic() returns -1 on error if minrom > num then minrom = num end if maxrom < num then maxrom = num end --begin navroman local navr = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local n = num + i if n >= 1 then local r = toroman({ [1] = n }) if i ~= 0 then --left/right navr local catlink = catlinkfollowr( frame, firstpart..' '..r..' '..lastpart, r ) if minrom <= n and n <= maxrom then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(22, 'Category series navigation roman numeral redirected') end table.insert(navlist, catlink.navelement) else local hidden = '<span style="visibility:hidden">'..r..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navr table.insert(navlist, '<b>'..r..'</b>') end else table.insert(navlist, '<span style="visibility:hidden">I</span>') end i = i + 1 end -- add the list navr = navr..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navr..'</div>' end end --[[=========================={{ nav_nordinal }}============================]] local function nav_nordinal( frame, firstpart, ord, lastpart, minimumord, maximumord ) local nord = tonumber(ord) local minord = tonumber(string.match(minimumord or '', '(-?%d+)[snrt]?[tdh]?')) or -9999 --allow full ord & +/- qualifier local maxord = tonumber(string.match(maximumord or '', '(-?%d+)[snrt]?[tdh]?')) or 9999 --allow full ord & +/- qualifier if string.match(minimumord or '', 'BC') or string.match(minimumord or '', 'RC') then minord = -math.abs(minord) end if string.match(maximumord or '', 'BC') or string.match(maximumord or '', 'RC') then maxord = -math.abs(maxord) end local temporal = string.match(lastpart, 'century') or string.match(lastpart, 'millennium') or string.match(lastpart, 'milley bleeaney') or string.match(lastpart, 'villey bleeaney') or string.match(lastpart, '^eash') local isManxMillenium = string.match(lastpart, 'milley bleeaney') or string.match(lastpart, 'villey bleeaney') local isManxCentury = string.match(lastpart, '^eash') local tspace = ' ' --assume a trailing space after ordinal if string.match(lastpart, '^-') then tspace = '' end --DNE for "19th-century"-type cats --AD/BC switches & vars local ordBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --lists the lastpart of valid BCE cats --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['-century Hebrew people'] = 'BCE', --WP:CFD/Log/2016 June 21#Category:11th-century BC Hebrew people ['-century Jews'] = 'BCE', --co-nominated ['-century Judaism'] = 'BCE', --co-nominated ['-century rabbis'] = 'BCE', --co-nominated ['-century High Priests of Israel'] = 'BCE', } local parentBC = mw.ustring.match(lastpart, '%s(BCE?)') or mw.ustring.match(lastpart, '%s(RC)') local lastpartNoBC = mw.ustring.gsub(lastpart, '%sBCE?', '') lastpartNoBC = mw.ustring.gsub(lastpartNoBC, '%sRC', '') local BCe = parentBC or ordBCElastparts[lastpartNoBC] or ((isManxMillenium or isManxCentury) and 'RC') or 'BC' local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local O = 0 --secondary iterator for AD-on-a-BC-parent if not temporal and not parentBC and minord < 1 then minord = 1 end if not temporal and parentBC and maxord < 1 then maxord = -1 end if minord > nord*switchADBC then minord = nord*switchADBC end --input error; minord should be <= parent if maxord < nord*switchADBC then maxord = nord*switchADBC end --input error; maxord should be >= parent --begin navnordinal local bnb = '' --border/no border if navborder == false then --for Category series navigation decade and century bnb = 'categorySeriesNavigation-range-transparent' end local navo = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local o = nord + i*switchADBC local BC = '' local BCdisp = '' if parentBC then if switchADBC == -1 then --parentBC looking at the BC side if o >= 1 then --the common case BC = ' '..BCe elseif o == 0 then --switch to the AD side BC = '' switchADBC = 1 end end if switchADBC == 1 then --displayed o is now in the AD regime O = O + 1 --skip o = 0 (DNE) o = O --easiest solution: start another iterator for these AD o's displayed on a BC year parent end elseif o <= 0 then --parentAD looking at BC side BC = ' '..BCe o = math.abs(o - 1) --skip o = 0 (DNE) end if BC ~= '' and nord <= 5 then --only show 'BC' for parent ords <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav ord that doesn't need a disambiguator; end --the center/parent ord will always show BC, so no need to show it another 10x --populate left/right navo local oth = (isManxMillenium or isManxCentury) and p.addord(o) or tostring(o) local osign = o if BC ~= '' and temporal then osign = -osign end local hidden = '<span style="visibility:hidden">'..oth..'</span>' if temporal then --e.g. "3rd-century BC" local lastpart = lastpartNoBC --lest we recursively add multiple "BC"s if isManxMillenium then -- 1d and 2h trigger lenition: villey bleeaney -- 3oo and above use the base form: milley bleeaney local ones = o % 10 local correct_form if ones == 1 or ones == 2 then correct_form = 'villey bleeaney' else correct_form = 'milley bleeaney' end local replacement = correct_form if BC ~= '' then replacement = replacement .. BC end lastpart = string.gsub(lastpart, temporal, replacement, 1) --swap in the correct mutation, preserving the rest of lastpart elseif BC ~= '' then lastpart = string.gsub(lastpart, temporal, temporal..BC) --replace BC if needed end local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth..BCdisp ) if (minord <= osign) and (osign <= maxord) then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end elseif minord <= osign and osign <= maxord then local catTarget = firstpart..' '..oth..tspace..lastpartNoBC if BC ~= '' then catTarget = firstpart..' '..oth..tspace..lastpartNoBC..BC end local dispText = oth..BCdisp local catlink = catlinkfollowr( frame, catTarget, dispText ) if catlink.rtarget then trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else --out-of-range: hide table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end i = i + 1 end navo = navo..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navo..'</div>' end end --[[========================={{ nav_wordinal }}=============================]] local function nav_wordinal( frame, firstpart, word, lastpart, minimumword, maximumword, ordinal, frame ) --Module:ConvertNumeric.spell_number2() args: -- ordinal == true : 'second' is output instead of 'two' -- ordinal == false: 'two' is output instead of 'second' local ord2eng = require('Module:ConvertNumeric').spell_number2 local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local th = 'th' if not ordinal then th = '' eng2ord = require('Module:ConvertNumeric').english_to_numeral end local capitalize = nil ~= string.match(word, '^%u') --determine capitalization local nord = eng2ord(string.lower(word)) --operate on/with lowercase, and restore any capitalization later local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '[%-%(]$') then lspace = '' end --DNE for "Straight-eight engines"-type cats if string.match(lastpart, '^[%-%)]' ) then tspace = '' end --DNE for "Nine-cylinder engines"-type cats --sterilize min/max local maxword_default = 99 local maxword = maxword_default local minword = 1 if minimumword then local num = tonumber(minimumword) if num and 0 < num and num < maxword then minword = num else local ord = eng2ord(minimumword) if 0 < ord and ord < maxword then minword = ord end end end if maximumword then local num = tonumber(maximumword) if num and 0 < num and num < maxword then maxword = num else local ord = eng2ord(maximumword) if 0 < ord and ord < maxword then maxword = ord end end end if minword > nord then minword = nord end if maxword < nord then maxword = nord end --determine max existing cat local listoverride = true local n_max = nord local m = 1 while m <= 5 do local n = nord + m local nth = p.addord(n) if not ordinal then nth = n end local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth, nil, listoverride ) if catlink.catexists then n_max = n end m = m + 1 end --begin navwordinal local navw = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local n = nord + i if n >= 1 then local nth = p.addord(n) if not ordinal then nth = n end if i ~= 0 then --left/right navw local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth ) if minword <= n and n <= maxword then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(24, 'Category series navigation wordinal redirected') end if n <= n_max or maxword ~= maxword_default then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navw table.insert(navlist, prepad..'<b>'..nth..'</b>') prepad = '' end else --n < 1 prepad = prepad..'<span style="visibility:hidden"> • '..'0'..th..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end end i = i + 1 end -- Add the list navw = navw..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navw..'</div>' end end --[[==========================={{ find_var }}===============================]] local function find_var( pn ) --Extracts the variable text (e.g. 2015, 2015–16, 2000s, 3rd, III, etc.) from a string, --and returns { ['vtype'] = <'year'|'season'|etc.>, <v> = <2015|2015–16|etc.> } local pagename = currtitle.text if pn and pn ~= '' then pagename = pn end local cpagename = 'Ronney:'..pagename --limited-Lua-regex workaround local d_season = mw.ustring.match(cpagename, ':(%d+yn).+%(%d+[–-]%d+%)') --i.e. "1760yn in the Province of Quebec (1763–1791)" local y_season = mw.ustring.match(cpagename, ':(%d+) .+%(%d+[–-]%d+%)') --i.e. "1763 establishments in the Province of Quebec (1763–1791)" local e_season = mw.ustring.match(cpagename, '%s(%d+[–-])$') or --irreg; ending unknown, e.g. "Members of the Scottish Parliament 2021–" mw.ustring.match(cpagename, '%s(%d+[–-]jiu)$') --e.g. "UK MPs 2019–present" local season = mw.ustring.match(cpagename, '[:%s%(](%d+[–-]%d+)[%)%s]') or --split in 2 b/c you can't frontier '$'/eos? mw.ustring.match(cpagename, '[:%s](%d+[–-]%d+)$') local tvseason = mw.ustring.match(cpagename, 'season (%d+)') or mw.ustring.match(cpagename, 'series (%d+)') or mw.ustring.match(cpagename, 'meetup (%d+)') -- Require at least the two-character core of an ordinal suffix (st, nd, rd, th) -- so that bare numbers and yn-suffixed decades do not match as nordinals. local nordinal = string.match(pagename, '%d+[snrt][tdh]') or string.match(pagename, '%d+oo%f[%A]') or string.match(pagename, '%d+[dh]%f[%A]') local decade = mw.ustring.match(cpagename, '[:%s](%d+yn)[%s-]') or mw.ustring.match(cpagename, '[:%s](%d+yn)$') local year = mw.ustring.match(cpagename, '[:%s](%d%d%d%d)%s') or --prioritize 4-digit years mw.ustring.match(cpagename, '[:%s](%d%d%d%d)$') or mw.ustring.match(cpagename, '[:%s](%d+)%s') or mw.ustring.match(cpagename, '[:%s](%d+)$') or --expand/combine exceptions below as needed mw.ustring.match(cpagename, '[:%s](%d+)-related') or mw.ustring.match(cpagename, '[:%s](%d+)-cylinder') or mw.ustring.match(cpagename, '[:%-VW](%d+)%s') --e.g. "Straight-8 engines" local roman = mw.ustring.match(cpagename, '%s([IVXLCDM]+)%s') local found = d_season or y_season or e_season or season or tvseason or nordinal or decade or year or roman if found then if string.match(found, '%d%d%d%d%d') == nil then --return in order of decreasing complexity/chance for duplication if nordinal and season --i.e. "18th-century establishments in the Province of Quebec (1763–1791)" then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if d_season then return { ['vtype'] = 'decade', ['v'] = d_season } end if y_season then return { ['vtype'] = 'year', ['v'] = y_season } end if e_season then return { ['vtype'] = 'ending', ['v'] = e_season } end if season then return { ['vtype'] = 'season', ['v'] = season } end if tvseason then return { ['vtype'] = 'tvseason', ['v'] = tvseason } end if decade then return { ['vtype'] = 'decade', ['v'] = decade } end if nordinal then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if year then return { ['vtype'] = 'year', ['v'] = year } end if roman then return { ['vtype'] = 'roman', ['v'] = roman } end end else --try wordinals ('zeroth' to 'ninety-ninth' only) local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local split = mw.text.split(pagename, ' ') for i=1, #split do if eng2ord(split[i]) > -1 then return { ['vtype'] = 'wordinal', ['v'] = split[i] } end end --try English numerics ('one'/'single' to 'ninety-nine' only) local eng2num = require('Module:ConvertNumeric').english_to_numeral local split = mw.text.split(pagename, '[%s%-]') --e.g. "Nine-cylinder engines" for i=1, #split do if eng2num(split[i]) > -1 then return { ['vtype'] = 'enumeric', ['v'] = split[i] } end end end errors = p.errorclass('Function find_var can\'t find the variable text in category "'..pagename..'".') return { ['vtype'] = 'error', ['v'] = p.failedcat(errors, 'V') } end --[[==========================================================================]] --[[ Main ]] --[[==========================================================================]] function p.csn( frame ) --arg checks & handling local args = frame:getParent().args checkforunknownparams(args) --for template args checkforunknownparams(frame.args) --for #invoke'd args local cat = args['cat'] --'testcase' alias for catspace local list = args['list-all-links'] --debugging utility to output all links & followed #Rs local follow = args['follow-redirects'] --default 'yes' local testcase = args['testcase'] local testcasegap = args['testcasegap'] local minimum = args['min'] local maximum = args['max'] local skip_gaps = args['skip-gaps'] local show = args['show'] if show and show ~= '' then if show == 'skip-gaps' then return skipgaps_limit elseif show == 'term-limit' then return term_limit elseif show == 'hgap-limit' then return hgap_limit elseif show == 'ygap-limit' then return ygap_limit end end --apply args local pagename = testcase or cat or currtitle.text local testcaseindent = '' if testcasecolon == ':' then testcaseindent = '\n::' end if follow and follow == 'no' then followRs = false end if list and list == 'yes' then listall = true end if skip_gaps and skip_gaps == 'yes' then skipgaps = true trackcat(26, 'Category series navigation using skip-gaps parameter') end --ns checks if currtitle.nsText == 'Category' then if cat and cat ~= '' then trackcat(1, 'Category series navigation using cat parameter') end if testcase and testcase ~= '' then trackcat(2, 'Category series navigation using testcase parameter') end elseif currtitle.nsText == '' then trackcat(30, 'Category series navigation in mainspace') end --find the variable parts of pagename local findvar = find_var(pagename) if findvar.vtype == 'error' then --basic format error checking in find_var() return findvar.v..table.concat(ttrackingcats) end local start = string.match(findvar.v, '^%d+') --the rest is static local findvar_escaped = string.gsub( findvar.v, '%-', '%%%-') local firstpart, lastpart = string.match(pagename, '^(.-)'..findvar_escaped..'(.*)$') if findvar.vtype == 'tvseason' then --double check for cases like "30 Rock (season 3) episodes" firstpart, lastpart = string.match(pagename, '^(.-season )'..findvar_escaped..'(.*)$') if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-series )'..findvar_escaped..'(.*)$') end if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-meetup )'..findvar_escaped..'(.*)$') end end firstpart = mw.text.trim(firstpart or '') lastpart = mw.text.trim(lastpart or '') --call the appropriate nav function, in order of decreasing popularity if findvar.vtype == 'year' then --e.g. "500", "2001"; nav_year..nav_decade; ~75% of cats local nav1 = nav_year( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local dec = math.floor(findvar.v/10) local decadecat = nil local firstpart_dec = firstpart if firstpart_dec ~= '' then firstpart_dec = firstpart_dec..' the' elseif firstpart_dec == 'AD' and dec <= 1 then firstpart_dec = '' if dec == 0 then dec = '' end end local decade = dec..'0yn ' decadecat = mw.text.trim( firstpart_dec..' '..decade..lastpart ) local exists = catexists(decadecat) if exists then navborder = false local nav2 = nav_decade( frame, firstpart_dec, decade, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) elseif ttrackingcats[16] ~= '' then --nav_year isolated; check nav_hyphen (e.g. UK MPs 1974, Moldovan MPs 2009, etc.) local hyphen = '–' local finish = start local nav2 = nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) if ttrackingcats[16] ~= '' then return wrap( nav1 ) --still isolated; rv to nav_year else return wrap( nav2 ) end else --regular nav_year return wrap( nav1 ) end elseif findvar.vtype == 'decade' then --e.g. "0yn", "2010yn"; nav_decade..nav_nordinal; ~12% of cats local nav1 = nav_decade( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local decade = tonumber(string.match(findvar.v, '^(%d+)yn')) local century = math.floor( ((decade-1)/100) + 1 ) --from {{CENTURY}} if century == 0 then century = 1 end --no 0th century if string.match(decade, '00$') then century = century + 1 --'2000' is in the 20th, but the rest of the 2000s is in the 21st end local clastpart = ' century '..lastpart local centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) local exists = catexists(centurycat) if not exists then --check for hyphenated century clastpart = '-century '..lastpart centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) exists = catexists(centurycat) end if exists then navborder = false trackcat(29, 'Category series navigation decade and century') local nav2 = nav_nordinal( frame, firstpart, century, clastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) else return wrap( nav1 ) end elseif findvar.vtype == 'nordinal' then --e.g. "1st", "99th"; ~7.5% of cats return wrap( nav_nordinal( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'season' then --e.g. "1–4", "1999–2000", "2001–02", "2001–2002", "2005–2010", etc.; ~5.25% local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])(%d+)') --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'tvseason' then --e.g. "1", "15" but preceded with "season" or "series"; <1% of cats return wrap( nav_tvseason( frame, firstpart, start, lastpart, maximum )..testcaseindent..table.concat(ttrackingcats) ) --"minimum" defaults to 1 elseif findvar.vtype == 'wordinal' then --e.g. "first", "ninety-ninth"; <<1% of cats local ordinal = true return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'enumeric' then --e.g. "one", "ninety-nine"; <<1% of cats local ordinal = false return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'roman' then --e.g. "I", "XXVIII"; <<1% of cats return wrap( nav_roman( frame, firstpart, findvar.v, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'ending' then --e.g. "2021–" (irregular; ending unknown); <<<1% of cats local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])present$'), -1 --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd if hyphen == nil then hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])$'), 0 --0/-1 are hardcoded switches for nav_hyphen() end return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) else --malformed errors = p.errorclass('Failed to determine the appropriate nav function from malformed season "'..findvar.v..'". ') return p.failedcat(errors, 'N')..table.concat(ttrackingcats) end end return p 5l7aonuqjy0cnmljl67t357ouu854eo 388276 388275 2026-08-08T12:42:25Z MacTire02 219 prowal 388276 Scribunto text/plain require('strict') local p = {} local horizontal = require('Module:List').horizontal local rtarget = require('Module:Resolve category redirect').rtarget --[[==========================================================================]] --[[ Globals ]] --[[==========================================================================]] local currtitle = mw.title.getCurrentTitle() local nexistingcats = 0 local errors = '' local testcasecolon = '' local testcases = string.match(currtitle.subpageText, '^testcases') if testcases then testcasecolon = ':' end local navborder = true local followRs = true local skipgaps = false local skipgaps_limit = 50 local term_limit = 10 local hgap_limit = 6 local ygap_limit = 5 local listall = false local tlistall = {} local tlistallbwd = {} local tlistallfwd = {} local ttrackingcats = { --when reindexing, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]' '', -- [1] placeholder for [[Category:Category series navigation using cat parameter]] '', -- [2] placeholder for [[Category:Category series navigation using testcase parameter]] '', -- [3] placeholder for [[Category:Category series navigation using unknown parameter]] '', -- [4] placeholder for [[Category:Category series navigation range not using en dash]] '', -- [5] placeholder for [[Category:Category series navigation range abbreviated (MOS)]] '', -- [6] placeholder for [[Category:Category series navigation range redirected (base change)]] '', -- [7] placeholder for [[Category:Category series navigation range redirected (var change)]] '', -- [8] placeholder for [[Category:Category series navigation range redirected (end)]] '', -- [9] placeholder for [[Category:Category series navigation range redirected (MOS)]] '', --[10] placeholder for [[Category:Category series navigation range redirected (other)]] '', --[11] placeholder for [[Category:Category series navigation range gaps]] '', --[12] placeholder for [[Category:Category series navigation range irregular]] '', --[13] placeholder for [[Category:Category series navigation range irregular, 0-length]] '', --[14] placeholder for [[Category:Category series navigation range ends (present)]] '', --[15] placeholder for [[Category:Category series navigation range ends (blank, MOS)]] '', --[16] placeholder for [[Category:Category series navigation isolated]] '', --[17] placeholder for [[Category:Category series navigation default season gap size]] '', --[18] placeholder for [[Category:Category series navigation decade redirected]] '', --[19] placeholder for [[Category:Category series navigation year redirected (base change)]] '', --[20] placeholder for [[Category:Category series navigation year redirected (var change)]] '', --[21] placeholder for [[Category:Category series navigation year redirected (other)]] '', --[22] placeholder for [[Category:Category series navigation roman numeral redirected]] '', --[23] placeholder for [[Category:Category series navigation nordinal redirected]] '', --[24] placeholder for [[Category:Category series navigation wordinal redirected]] '', --[25] placeholder for [[Category:Category series navigation TV season redirected]] '', --[26] placeholder for [[Category:Category series navigation using skip-gaps parameter]] '', --[27] placeholder for [[Category:Category series navigation blein as reayn]] '', --[28] placeholder for [[Category:Category series navigation blein as jeihaght]] '', --[29] placeholder for [[Category:Category series navigation jeihaght as eash]] '', --[30] placeholder for [[Category:Category series navigation in mainspace]] '', --[31] placeholder for [[Category:Category series navigation redirection error]] } local avoidself = (not string.match(currtitle.text, 'Category series navigation with') and not string.match(currtitle.text, 'Category series navigation.*/doc') and not string.match(currtitle.text, 'Category series navigation.*/sandbox') and currtitle.text ~= 'Category series navigation' and currtitle.nsText:gsub('_', ' ') ~= 'User talk' and -- [[phab:T369784]] currtitle.nsText:gsub('_', ' ') ~= 'Template talk' and (currtitle.nsText ~= 'Template' or testcases)) --avoid nested transclusion errors (i.e. {{Infilmdecade}}) --[[==========================================================================]] --[[ Utility & category functions ]] --[[==========================================================================]] --Determine if a category exists (in a function for easier localization). local function catexists( title ) return mw.title.new( title, 'Category' ).exists end --Error message handling. function p.errorclass( msg ) return mw.text.tag( 'span', {class='error mw-ext-cite-error'}, '<b>Error!</b> '..string.gsub(msg, '&#', '&amp;#') ) end --Failure handling. function p.failedcat( errors, sortkey ) if avoidself then return (errors or '')..'&#42;&#42;&#42;Category series navigation failed to generate navbox***'.. '[['..testcasecolon..'Category:Category series navigation failed to generate navbox|'..(sortkey or 'O')..']]\n' end return '' end --Tracking cat handling. -- key: 15 (when reindexing ttrackingcats{}, Ctrl+H 'trackcat(13,' & 'ttrackingcats[16]') -- cat: 'Category series navigation isolated'; '' to remove --Used by main, all nav_*(), & several utility functions. local function trackcat( key, cat ) if avoidself and key and cat then if cat ~= '' then ttrackingcats[key] = '[['..testcasecolon..'Category:'..cat..']]' else ttrackingcats[key] = '' end end return end --Check for unknown parameters. --Used by main only. local function checkforunknownparams( tbl ) local knownparams = { --parameter whitelist ['min'] = 'min', ['max'] = 'max', ['cat'] = 'cat', ['show'] = 'show', ['testcase'] = 'testcase', ['testcasegap'] = 'testcasegap', ['skip-gaps'] = 'skip-gaps', ['list-all-links'] = 'list-all-links', ['follow-redirects'] = 'follow-redirects', } for k, _ in pairs (tbl) do if knownparams[k] == nil then trackcat(3, 'Category series navigation using unknown parameter') break end end end --Check for nav_*() navigational isolation (not necessarily an error). --Used by all nav_*(). local function isolatedcat() if nexistingcats == 0 then trackcat(16, 'Category series navigation isolated') end end --Similar to {{LinkCatIfExists2}}: make a piped link to a category, if it exists; --if it doesn't exist, just display the greyed link title without linking. --Follows {{Category redirect}}s. --Returns { -- ['cat'] = cat, -- ['catexists'] = true, -- ['rtarget'] = <#R target>, -- ['navelement'] = <#R target navelement>, -- ['displaytext'] = displaytext, -- } -- if #R followed; --returns { -- ['cat'] = cat, -- ['catexists'] = <true|false>, -- ['rtarget'] = nil, -- ['navelement'] = <cat navelement>, -- ['displaytext'] = displaytext, -- } -- otherwise. --Used by all nav_*(). local function catlinkfollowr( frame, cat, displaytext, displayend, listoverride ) cat = mw.text.trim(cat or '') displaytext = mw.text.trim(displaytext or '') displayend = displayend or false --bool flag to override displaytext IIF the cat/target is terminal (e.g. "2021–present" or "2021–") local disp = cat if displaytext ~= '' then --use 'displaytext' parameter if present disp = mw.ustring.gsub(displaytext, '%s+%(.+$', ''); --strip any trailing disambiguator end local link, nilorR local exists = catexists(cat) if exists then nexistingcats = nexistingcats + 1 if followRs then local R = rtarget(cat, frame) --find & follow #R if R ~= cat then --#R followed nilorR = R end if displayend then local y, hyph, ending = mw.ustring.match(R, '^.-(%d+)([–-])(.*)$') if ending == 'present' then disp = y..hyph..ending elseif ending == '' then disp = y..hyph..'<span style="visibility:hidden">'..y..'</span>' --hidden y to match spacing end end link = '[[:Category:'..R..'|'..disp..']]' else link = '[[:Category:'..cat..'|'..disp..']]' end else link = '<span class="categorySeriesNavigation-item-inactive">'..disp..'</span>' end if listall and listoverride == nil then if nilorR then --#R followed table.insert( tlistall, '[[:Category:'..cat..']] → '..'[[:Category:'..nilorR..']] ('..link..')' ) else --no #R table.insert( tlistall, '[[:Category:'..cat..']] ('..link..')' ) end end return { ['cat'] = cat, ['catexists'] = exists, ['rtarget'] = nilorR, ['navelement'] = link, ['displaytext'] = disp, } end --Returns a numbered list of all {{Category redirect}}s followed by catlinkfollowr() -> rtarget(). --For a nav_hyphen() cat, also returns a formatted list of all cats searched for & found, & all loop indices. --Used by all nav_*(). local function listalllinks() local nl = '\n# ' local out = '' if currtitle.nsText == 'Category' then errors = p.errorclass('The <b><code>|list-all-links=yes</code></b> parameter/utility '.. 'should not be saved in category space, only previewed.') out = p.failedcat(errors, 'Z') end local bwd, fwd = '', '' if tlistallbwd[1] then bwd = '\n\nbackward search:'..nl..table.concat(tlistallbwd, nl) end if tlistallfwd[1] then fwd = '\n\nforward search:'..nl..table.concat(tlistallfwd, nl) end if tlistall[1] then return out..nl..table.concat(tlistall, nl)..bwd..fwd else return out..nl..'No links found!?'..bwd..fwd end end --Returns the difference b/w 2 ints separated by endash|hyphen, nil if error. --Used by nav_hyphen() only. local function find_duration( cat ) local from, to = mw.ustring.match(cat, '(%d+)[–-](%d+)') if from and to then if to == '00' then return nil end --doesn't follow MOS:DATERANGE if (#from == 4) and (#to == 2) then --1900-01 to = string.match(from, '(%d%d)%d%d')..to --1900-1901 elseif (#from == 2) and (#to == 4) then -- 01-1902 from = string.match(to, '(%d%d)%d%d')..from --1901-1902 end return (tonumber(to) - tonumber(from)) end return 0 end --Returns the ending of a terminal cat, and sets the appropriate tracking cat, else nil. --Used by nav_hyphen() only. local function find_terminaltxt( cat ) local terminaltxt = nil if mw.ustring.match(cat, '%d+[–-]present$') then terminaltxt = 'present' trackcat(14, 'Category series navigation range ends (present)') elseif mw.ustring.match(cat, '%d+[–-]$') then terminaltxt = '' trackcat(15, 'Category series navigation range ends (blank, MOS)') end return terminaltxt end --Returns an unsigned string of the 1-4 digit decade ending in "0", else nil. --Used by nav_decade() only. local function sterilizedec( decade ) if decade == nil or decade == '' then return nil end local dec = string.match(decade, '^[-%+]?(%d?%d?%d?0)$') or string.match(decade, '^[-%+]?(%d?%d?%d?0)%D') if dec then return dec else --fix 2-4 digit decade local decade_fixed234 = string.match(decade, '^[-%+]?(%d%d?%d?)%d$') or string.match(decade, '^[-%+]?(%d%d?%d?)%d%D') if decade_fixed234 then return decade_fixed234..'0' end --fix 1-digit decade local decade_fixed1 = string.match(decade, '^[-%+]?(%d)$') or string.match(decade, '^[-%+]?(%d)%D') if decade_fixed1 then return '0' end --unfixable return nil end end --Check for nav_hyphen default gap size + isolatedcat() (not necessarily an error). --Used by nav_hyphen() only. local function defaultgapcat( bool ) if bool and nexistingcats == 0 then --using "nexistingcats > 0" isn't as useful, since the default gap size obviously worked trackcat(17, 'Category series navigation default season gap size') end end --12 -> 12h, etc. --Used by nav_nordinal() & nav_wordinal(). function p.addord( i ) if tonumber(i) then local s = tostring(i) local n = tonumber(i) local ones = n % 10 if ones == 1 then return s .. 'd' elseif ones == 2 then return s .. 'h' else return s .. 'oo' end end return i end --Returns the properly formatted central nav element. --Expects an integer i, and a catlinkfollowr() table. --Used by nav_decade() & nav_ordinal() only. local function navcenter( i, catlink ) if i == 0 then --center nav element if navborder == true then return '<b>'..catlink.displaytext..'</b>' else return '<b>'..catlink.navelement..'</b>' end else return catlink.navelement end end --Wrap one or two navs in a <div> with ARIA attributes; add TemplateStyles --before it. This also aligns the navs in case some floating element (like a --portal box) breaks their alignment. --Used by main only. local function wrap( nav1, nav2 ) local templatestyles = require("Module:TemplateStyles")( "Module:Category series navigation/styles.css" ) local prepare = function (nav) if nav then nav = '\n'..nav else nav = '' end return nav end return templatestyles.. '<div class="categorySeriesNavigation" role="navigation" aria-label="Range">'.. prepare(nav1)..prepare(nav2).. '\n</div>' end --[[==========================================================================]] --[[ Formerly separated templates/modules ]] --[[==========================================================================]] --[[==========================={{ nav_hyphen }}=============================]] local function nav_hyphen( frame, start, hyph, finish, firstpart, lastpart, minseas, maxseas, testgap ) --Expects a PAGENAME of the form "Some sequential 2015–16 example cat", where -- start = 2015 -- hyph = – -- finish = 16 (sequential years can be abbreviated, but others should be full year, e.g. "2001–2005") -- firstpart = Some sequential -- lastpart = example cat -- minseas = 1800 ('min' starting season shown; optional; defaults to -9999) -- maxseas = 2000 ('max' starting season shown; optional; defaults to 9999; 2000 will show 2000-01) -- testgap = 0 (testcasegap parameter for easier testing; optional) --sterilize start if string.match(start or '', '^%d%d?%d?%d?$') == nil then --1-4 digits, AD only local start_fixed = mw.ustring.match(start or '', '^%s*(%d%d?%d?%d?)%D') if start_fixed then start = start_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize the number "'..(start or '')..'" '.. 'in the first part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "2015" is expected via "|2015|–|16|".') return p.failedcat(errors, 'H') end end local nstart = tonumber(start) --en dash check if hyph ~= '–' then trackcat(4, 'Category series navigation range not using en dash') --nav still processable, but track end --sterilize finish & check for weird parents local tgaps = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for -3 <= j <= 3 local tgapsj4 = {} --table of gap sizes found b/w terms { [<gap size found>] = 1 } for j = { -4, 4 } local ttlens = {} --table of term lengths found w/i terms { [<term length found>] = 1 } local tirregs = {} --table of ir/regular-term-length cats' "from"s & "to"s found local regularparent = true if (finish == -1) or --"Members of the Scottish Parliament 2021–present" (finish == 0) --"Members of the Scottish Parliament 2021–" then regularparent = false if maxseas == nil or maxseas == '' then maxseas = start --hide subsequent ranges end if finish == -1 then trackcat(14, 'Category series navigation range ends (present)') else trackcat(15, 'Category series navigation range ends (blank, MOS)') end elseif (start == finish) and (ttrackingcats[16] ~= '') --nav_year found isolated; check for surrounding hyphenated terms (e.g. UK MPs 1974) then trackcat(16, '') --reset for another check later trackcat(13, 'Category series navigation range irregular, 0-length') ttlens[0] = 1 --calc ttlens for std cases below regularparent = 'isolated' end if (string.match(finish or '', '^%d+$') == nil) and (string.match(finish or '', '^%-%d+$') == nil) then local finish_fixed = mw.ustring.match(finish or '', '^%s*(%d%d?%d?%d?)%D') if finish_fixed then finish = finish_fixed else errors = p.errorclass('Function nav_hyphen can\'t recognize "'..(finish or '')..'" '.. 'in the second part of the "season" that was passed to it. '.. 'For e.g. "2015–16", "16" is expected via "|2015|–|16|".') return p.failedcat(errors, 'I') end else if string.len(finish) >= 5 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should only be four or fewer digits, not "'..(finish or '')..'". '.. 'See [[MOS:DATERANGE]] for details.') return p.failedcat(errors, 'J') end end local nfinish = tonumber(finish) --save sterilized parent range for easier lookup later tirregs['from0'] = nstart tirregs['to0'] = nfinish --sterilize min/max local nminseas_default = -9999 local nmaxseas_default = 9999 local nminseas = tonumber(minseas) or nminseas_default --same behavior as nav_year local nmaxseas = tonumber(maxseas) or nmaxseas_default --same behavior as nav_year if nminseas > nstart then nminseas = nstart end if nmaxseas < nstart then nmaxseas = nstart end local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '%($') then lspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats if string.match(lastpart, '^%)') then tspace = '' end --DNE for "Madrid city councillors (2007–2011)"-type cats --calculate term length/intRAseason size & finishing year local t = 1 while t <= term_limit and regularparent == true do local nish = nstart + t --use switchADBC to flip this sign to work for years BC, if/when the time comes if (nish == nfinish) or (string.match(nish, '%d?%d$') == finish) then ttlens[t] = 1 break end if t == term_limit then errors = p.errorclass('Function nav_hyphen can\'t determine a reasonable term length for "'..start..hyph..finish..'".') return p.failedcat(errors, 'K') end t = t + 1 end --apply MOS:DATERANGE to parent local lenstart = string.len(start) local lenfinish = string.len(finish) if lenstart == 4 and regularparent == true then --"2001–..." if t == 1 then --"2001–02" & "2001–2002" both allowed if lenfinish ~= 2 and lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be two or four digits, not "'..finish..'".') return p.failedcat(errors, 'L') end else --"2001–2005" is required for t > 1; track "2001–05"; anything else = error if lenfinish == 2 then trackcat(5, 'Category series navigation range abbreviated (MOS)') elseif lenfinish ~= 4 then errors = p.errorclass('The second part of the season passed to function nav_hyphen should be four digits, not "'..finish..'".') return p.failedcat(errors, 'M') end end if finish == '00' then --full year required regardless of term length trackcat(5, 'Category series navigation range abbreviated (MOS)') end end --calculate intERseason gap size local hgap_default = 0 --assume & start at the most common case: 2001–02 -> 2002–03, etc. local hgap_limit_reg = hgap_limit --less expensive per-increment (inc x 4) local hgap_limit_irreg = hgap_limit --more expensive per-increment (inc x 23 = inc x (k_bwd + k_fwd) = inc x (12 + 11)) local hgap_success = false local hgap = hgap_default while hgap <= hgap_limit_reg and regularparent == true do --verify local prevseason2 = firstpart..lspace..(nstart-t-hgap)..hyph..string.match(nstart-hgap, '%d?%d$') ..tspace..lastpart local nextseason2 = firstpart..lspace..(nstart+t+hgap)..hyph..string.match(nstart+2*t+hgap, '%d?%d$')..tspace..lastpart local prevseason4 = firstpart..lspace..(nstart-t-hgap)..hyph..(nstart-hgap) ..tspace..lastpart local nextseason4 = firstpart..lspace..(nstart+t+hgap)..hyph..(nstart+2*t+hgap)..tspace..lastpart if t == 1 then --test abbreviated range first, then full range, to be frugal with expensive functions if catexists(prevseason2) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason2) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason4) or catexists(nextseason4) then hgap_success = true break end elseif t > 1 then --test full range first, then abbreviated range, to be frugal with expensive functions if catexists(prevseason4) or --use 'or', in case we're at the edge of the cat structure, catexists(nextseason4) or --or we hit a "–00"/"–2000" situation on one side catexists(prevseason2) or catexists(nextseason2) then hgap_success = true break end end hgap = hgap + 1 end if hgap_success == false then hgap = tonumber(testgap) or hgap_default --tracked via defaultgapcat() end --preliminary scan to determine ir/regular spacing of nearby cats; --to limit expensive function calls, MOS:DATERANGE-violating cats are ignored; --an irregular-term-length series should follow "YYYY..hyph..YYYY" throughout local jlimit = 4 --4-a-side if all YYYY-YY, 3-a-side if all YYYY-YYYY, with some threshold in between if hgap <= hgap_limit_reg then --also to isolate temp vars --find # of nav-visible ir/regular-term-length cats local bwanchor = nstart --backward anchor/common year local fwanchor = bwanchor + t --forward anchor/common year if regularparent == 'isolated' then fwanchor = bwanchor end local spangreen = '[<span style="color:green">j, g, k = ' --used for/when debugging via list-all-links=yes local spanblue = '<span style="color:blue">' local spanred = ' (<span style="color:red">' local span = '</span>' local lastg = nil --to check for run-on searches local lastk = nil --to check for run-on searches local endfound = false --switch used to stop searching forward local iirregs = 0 --index of tirregs[] for j < 0, since search starts from parent local j = -jlimit --index of tirregs[] for j > 0 & pseudo navh position while j <= jlimit do if j < 0 then --search backward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = 0 --term length: 0 = "0-length", 1+ = normal while k <= term_limit do local from = bwanchor - k - g local to = bwanchor - g local full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) if k == 0 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to = '0-length' full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= 1) or --the normal case; only continue k = 0 if 0-length found (to == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to match j>0 case ("1995–96 in Federal Republic of Yugoslavia basketball") (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series local to2 = string.match(to, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) to = to2 full = mw.text.trim( firstpart..lspace..from..hyph..to..tspace..lastpart ) table.insert( tlistallbwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to == '0-length' then trackcat(13, 'Category series navigation range irregular, 0-length') end tlistallbwd[#tlistallbwd] = spanblue..tlistallbwd[#tlistallbwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == -1 then tgapsj4[g] = 1 -- -1 since bwd search starts from parent @ -4 and ends at -1 else tgaps[g] = 1 end iirregs = iirregs + 1 tirregs['from-'..iirregs] = from tirregs['to-'..iirregs] = to bwanchor = from --ratchet down if to ~= '0-length' then gbreak = true break else g = 0 --soft-reset g, to keep stepping thru k j = j + 1 --save, but keep searching thru k if j > 0 then --(restore "> 3" if acts up) lest we keep searching bwd & finding 0-length cats ("MEPs for the Republic of Ireland 1973" & down) j = -1 --allow a normal, full search fwd after break gbreak = true break end end elseif (j >= 0) and (lastg and lastk) and ((lastg >= hgap_limit_irreg) or (lastk >= term_limit)) then --bwd search exhausted and/or done (runaway bwd search on "2018–19 FIA World Endurance Championship season") j = -1 --allow a normal, full search fwd after break gbreak = true break end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j < 0 if j > 0 and endfound == false then --search forward from parent local gbreak = false --switch used to break out of g-loop local g = 0 --gap size while g <= hgap_limit_irreg do local k = -2 --term length: -2 = "0-length", -1 = "2020–present", 0 = "2020–", 1+ = normal while k <= term_limit do local from = fwanchor + g local to4 = fwanchor + k + g --override carefully local to2 = nil --last 2 digits of to4, IIF exists if k == -1 then to4 = 'present' --see if end-cat exists (present) elseif k == 0 then to4 = '' end --see if end-cat exists (blank) local full = mw.text.trim( firstpart..lspace..from..hyph..to4..tspace..lastpart ) if k == -2 then if regularparent ~= 'isolated' then --+restrict to g == 0 if repeating year problems arise to4 = '0-length' --see if 0-length cat exists full = mw.text.trim( firstpart..lspace..from..tspace..lastpart ) if catlinkfollowr( frame, full ).rtarget ~= nil then --#R followed table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full..spanred..'#R ignored'..span..')' ) full, to4 = '', '' --don't use/follow 0-length cat #Rs from nav_hyphen(); otherwise gets messy end end end if (k >= -1) or --only continue k = -2 if 0-length found (to4 == '0-length') --ghetto "continue" (thx Lua) to avoid expensive searches for "UK MPs 1974-1974", etc. then table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) if (k == 1) and -- (g == 0 or g == 1) and --commented to let "2002–03 in Scottish women's football" find "2008–09 in Scottish women's football" (catexists(full) == false) then --allow bare-bones MOS:DATERANGE alternation, in case we're on a 0|1-gap, 1-year term series to2 = string.match(to4, '%d%d$') if to2 and to2 ~= '00' then --and not at a century transition (i.e. 1999–2000) full = mw.text.trim( firstpart..lspace..from..hyph..to2..tspace..lastpart ) table.insert( tlistallfwd, spangreen..j..', '..g..', '..k..span..'] '..full ) end end if catexists(full) then if to4 == '0-length' then if rtarget(full, frame) == full then --only use 0-length cats that don't #R trackcat(13, 'Category series navigation range irregular, 0-length') end end tirregs['from'..j] = from tirregs['to'..j] = (to2 or to4) if (k == -1) or (k == 0) then endfound = true --tentative else --k == { -2, > 0 } tlistallfwd[#tlistallfwd] = spanblue..tlistallfwd[#tlistallfwd]..span..' (found)' ttlens[ find_duration(full) ] = 1 if j == 4 then tgapsj4[g] = 1 else tgaps[g] = 1 end endfound = false if to4 ~= '0-length' then --k > 0 fwanchor = to4 --ratchet up gbreak = true break --only break on k > 0 b/c old end-cat #Rs still exist like "Members of the Scottish Parliament 2011–" else --k == -2 j = j + 1 --save, but keep searching k's, in case "1974" → "1974-1979" if j > jlimit then --lest we keep searching & finding 0-length cats ("2018 CONCACAF Champions League" & up) gbreak = true break elseif g == hgap_limit_irreg then --keep searching, since not a runaway, just far away ("American soccer clubs 1958–59 season") hgap_limit_irreg = hgap_limit_irreg + 1 end end end end end --ghetto "continue" k = k + 1 lastk = k end --while k <= term_limit do if gbreak == true then break end g = g + 1 lastg = g end --while g <= hgap_limit_irreg do end --if j > 0 and endfound == false then if (lastg and lastk) and (lastg > hgap_limit_irreg) and (lastk > term_limit) then --search exhausted if j < 0 then j = 0 --bwd search exhausted; continue fwd elseif j > 0 then break end --fwd search exhausted end j = j + 1 end --while j <= jlimit end --if hgap <= hgap_limit_reg --determine # of displayed navh elements based on "YYYY-YY" vs. "YYYY-YYYY" counts local Ythreshold = 3.3 --((YYYY-YY x 7) + (YYYY-YYYY x 2))/18 = 3.222; ((YYYY-YY x 6) + (YYYY-YYYY x 3))/18 = 3.333 local Ycount = 0 --"Y" count local ycount = 0 --tirregs counter; # of contiguous #s for k, v in pairs (tirregs) do local dummy, dunce = mw.ustring.gsub(tostring(v), '%d', '') --why can't gsub just return a table?? Ycount = Ycount + dunce ycount = ycount + 1 end local ycount_limit = ((jlimit * 2) + 1) * 2 --i.e. ((4 * 2) + 1) * 2 = 18 if ycount < ycount_limit then --fill in the blanks with Ycount_parent, since hidden/dne cats aren't in tirregs local dummy_finish = finish if not regularparent then dummy_finish = start end local dummy, dunce_from = mw.ustring.gsub(start, '%d', '') local dummy, dunce_to = mw.ustring.gsub(dummy_finish, '%d', '') local Ycount_parent_avg = (dunce_from + dunce_to)/2 --"YYYY-YYYY" = 4; "YYYY-YY" = 3 Ycount = Ycount + (Ycount_parent_avg * (ycount_limit - ycount)) ycount = ycount_limit end local iwidth = 3 --default to 3-a-side, 7 total local Y_per_y = Ycount / ycount --normalized range: [3-4] if Y_per_y < Ythreshold then iwidth = 4 --extend to 4-a-side, 9 total end --begin navhyphen local navh = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local terminalcat = false --switch used to hide future cats local terminaltxt = nil local i = -iwidth --nav position while i <= iwidth do local from = nstart + i*(t+hgap) --the logical, but not necessarily correct, 'from' if tirregs['from'..i] then --prefer the irregular term table from = tonumber(tirregs['from'..i]) else --fallback to lazy/naive 'from' if i > 0 and tirregs['from'..(i-1)] and tirregs['from'..(i-1)] >= from then --end of the line: avoid dups/past, and create reasonable grey'd ranges local greyto = tonumber(tirregs['to' .. (i-1)]) or -9999 local greyfrom = tonumber(tirregs['from'..(i-1)]) or -9999 local grey = greyto --prefer 'to' if greyfrom > greyto then grey = greyfrom end --'from' fallback, in case "1995–96", "1995-present", etc. if grey > -9999 then if grey ~= greyto then from = grey + t + hgap --account for missing/incomplete 'to' else from = grey + hgap end tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end elseif i < 0 then local greyfrom local ii = 0 while ii < 3 do ii = ii + 1 greyfrom = tonumber(tirregs['from'..(i+ii)]) if greyfrom then break end end from = (greyfrom or nstart) - ii*(t+hgap) tirregs['from'..i] = from --remember tirregs['to' .. i] = from + t end end local from2 = string.match(from, '%d?%d$') local to = tostring(from+t) --the logical, naive range, but if tirregs['to'..i] then --prefer irregular term table to = tirregs['to'..i] elseif regularparent == false and tirregs and i > 0 then to = tirregs['to-1'] --special treatment for parent terminal cats, since they have no natural 'to' end local to2 = string.match(to, '%d?%d$') local tofinal = (to2 or '') --assume t=1 and abbreviated 'to' (the most common case) if t > 1 or --per MOS:DATERANGE (e.g. 1999-2004) (from2 - (to2 or from2)) > 0 --century transition exception (e.g. 1999–2000) then tofinal = (to or '') --default to the MOS-correct format, in case no fallbacks found end if to == '0-length' then tofinal = to end --check existance of 4-digit, MOS-correct range, with abbreviation fallback if tofinal ~= '0-length' then if t > 1 and string.len(from) == 4 then --e.g. 1999-2004 --determine which link exists (full or abbr) local full = firstpart..lspace..from..hyph..tofinal..tspace..lastpart if not catexists(full) then local abbr = firstpart..lspace..from..hyph..to2..tspace..lastpart if catexists(abbr) then tofinal = (to2 or '') --rv to MOS-incorrect format; if full AND abbr DNE, then tofinal is still in its MOS-correct format end end elseif t == 1 then --full-year consecutive ranges are also allowed local abbr = firstpart..lspace..from..hyph..tofinal..tspace..lastpart --assume tofinal is in abbr format if not catexists(abbr) and tofinal ~= to then local full = firstpart..lspace..from..hyph..to..tspace..lastpart if catexists(full) then tofinal = (to or '') --if abbr AND full DNE, then tofinal is still in its abbr format (unless it's a century transition) end end end end --populate navh if i ~= 0 then --left/right navh local orig = firstpart..lspace..from..hyph..tofinal..tspace..lastpart local disp = from..hyph..tofinal if tofinal == '0-length' then orig = firstpart..lspace..from..tspace..lastpart disp = from end local catlink = catlinkfollowr(frame, orig, disp, true) --force terminal cat display if terminalcat == false then terminaltxt = find_terminaltxt( disp ) --also sets tracking cats terminalcat = (terminaltxt ~= nil) end if catlink.rtarget and avoidself then --a {{Category redirect}} was followed, figure out why --determine new term length & gap size ttlens[ find_duration( catlink.rtarget ) ] = 1 if i > -iwidth then local lastto = tirregs['to'..(i-1)] if lastto == nil then local lastfrom = nstart + (i-1)*(t+hgap) lastto = lastfrom+t --use last logical 'from' to calc lastto end if lastto then local gapcat = lastto..'-'..from --dummy cat to calc with local gap = find_duration(gapcat) or -1 --in case of nil, if iwidth == 4 then tgapsj4[ gap ] = 1 --tgapsj4[-1] are ignored later else tgaps[ gap ] = 1 --tgaps[-1] are ignored later end end end --display/tracking handling local base_regex = '%d+[–-]%d+' local origbase = mw.ustring.gsub(orig, base_regex, '') local rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex, '') if rtarbase_success == 0 then local base_regex_lax = '%d%d%d%d' --in case rtarget is a year cat rtarbase, rtarbase_success = mw.ustring.gsub(catlink.rtarget, base_regex_lax, '') end local terminal_regex = '%d+[–-]'..(terminaltxt or '')..'$' --more manual ORs bc Lua regex sux if mw.ustring.match(orig, terminal_regex) then origbase = mw.ustring.gsub(orig, terminal_regex, '') end if mw.ustring.match(catlink.rtarget, terminal_regex) then --finagle/overload terminalcat type to set nmaxseas on 1st occurence only if terminalcat == false then terminalcat = 1 end local dummy = find_terminaltxt( catlink.rtarget ) --also sets tracking cats rtarbase = mw.ustring.gsub(catlink.rtarget, terminal_regex, '') end origbase = mw.text.trim(origbase) rtarbase = mw.text.trim(rtarbase) if origbase ~= rtarbase then trackcat(6, 'Category series navigation range redirected (base change)') elseif terminalcat == 1 then trackcat(8, 'Category series navigation range redirected (end)') else --origbase == rtarbase local all4s_regex = '%d%d%d%d[–-]%d%d%d%d' local orig_all4s = mw.ustring.match(orig, all4s_regex) local rtar_all4s = mw.ustring.match(catlink.rtarget, all4s_regex) if orig_all4s and rtar_all4s then trackcat(10, 'Category series navigation range redirected (other)') else local year_regex1 = '%d%d%d%d$' local year_regex2 = '%d%d%d%d[%s%)]' local year_rtar = mw.ustring.match(catlink.rtarget, year_regex1) or mw.ustring.match(catlink.rtarget, year_regex2) if orig_all4s and year_rtar then trackcat(7, 'Category series navigation range redirected (var change)') else trackcat(9, 'Category series navigation range redirected (MOS)') end end end end if terminalcat then --true or 1 if type(terminalcat) ~= 'boolean' then nmaxseas = from end --only want to do this once terminalcat = true --done finagling/overloading end if (from >= 0) and (nminseas <= from) and (from <= nmaxseas) then table.insert(navlist, catlink.navelement) if terminalcat then nmaxseas = nminseas_default end --prevent display of future ranges else local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navh if finish == -1 then finish = 'present' elseif finish == 0 then finish = '<span style="visibility:hidden">'..start..'</span>' end local disp = start..hyph..finish if regularparent == 'isolated' then disp = start end table.insert(navlist, '<b>'..disp..'</b>') end i = i + 1 end -- add the list navh = navh..horizontal(navlist)..'\n' --tracking cats & finalize if avoidself then local igaps = 0 --# of diff gap sizes > 0 found local itlens = 0 --# of diff term lengths found for s = 1, hgap_limit_reg do --must loop; #tgaps, #ttlens unreliable igaps = igaps + (tgaps[s] or 0) end if iwidth == 4 then --only count gaps if they were displayed ("Karnataka MLAs 1957–1962") for s = 1, hgap_limit_reg do igaps = igaps + (tgapsj4[s] or 0) end end for s = 0, term_limit do itlens = itlens + (ttlens[s] or 0) end if igaps > 0 then trackcat(11, 'Category series navigation range gaps') end if itlens > 1 and ttrackingcats[13] == '' then --avoid duplication in "Category series navigation range irregular, 0-length" trackcat(12, 'Category series navigation range irregular') end end isolatedcat() defaultgapcat(not hgap_success) if listall then return listalllinks() else return navh..'</div>' end end --[[=========================={{ nav_tvseason }}============================]] local function nav_tvseason( frame, firstpart, tv, lastpart, maximumtv ) --Expects a PAGENAME of the form "Futurama season 1 episodes", where -- firstpart = Futurama season -- tv = 1 -- lastpart = episodes -- maximumtv = 7 ('max' tv season parameter; optional; defaults to 9999) tv = tonumber(tv) if tv == nil then errors = p.errorclass('Function nav_tvseason can\'t recognize the TV season number sent to its 3rd parameter.') return p.failedcat(errors, 'T') end --"(season 1) episodes" -> "season 1 episodes" following March 2024 RfC: --[[Wikipedia talk:Naming conventions (television)#Follow-up RfC on TV season article titles]] -- [[Special:Permalink/1216885280#Follow-up RfC on TV season article titles]] local tspace = ' ' --"season 1 episodes" local parenth_check = string.match(lastpart, '^%)') if parenth_check then tspace = '' end --accommodate old style "(season 1) episodes" just in case local maxtv_default = 9999 local maxtv = tonumber(maximumtv) or maxtv_default --allow +/- qualifier if maxtv < tv then maxtv = tv end --input error; maxtv should be >= parent --begin navtvseason local navt = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local t = tv + i if i ~= 0 then --left/right navt local catlink = catlinkfollowr( frame, firstpart..' '..t..tspace..lastpart, t ) if t >= 1 and t <= maxtv then --hardcode mintv if catlink.rtarget then --a {{Category redirect}} was followed trackcat(25, 'Category series navigation TV season redirected') end if catlink.catexists or (maxtv ~= maxtv_default and t <= maxtv) then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end elseif t < 1 then prepad = prepad..'<span style="visibility:hidden"> • '..'0'..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end else --t > maxtv local postpad = '<span style="visibility:hidden"> • '..t..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navt table.insert(navlist, prepad..'<b>'..tv..'</b>') prepad = '' end i = i + 1 end -- add the list navt = navt..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navt..'</div>' end end --[[==========================={{ nav_decade }}=============================]] local function nav_decade( frame, firstpart, decade, lastpart, mindecade, maxdecade ) --Expects a PAGENAME of the form "Some sequential 2000 example cat", where -- firstpart = Some sequential -- decade = 2000 -- lastpart = example cat -- mindecade = 1800 ('min' decade parameter; optional; defaults to -9999) -- maxdecade = 2020 ('max' decade parameter; optional; defaults to 9999) --sterilize dec local dec = sterilizedec(decade) if dec == nil then errors = p.errorclass('Function nav_decade was sent "'..(decade or '')..'" as its 2nd parameter, '.. 'but expects a 1 to 4-digit year ending in "0".') return p.failedcat(errors, 'D') end local ndec = tonumber(dec) --sterilize mindecade & determine AD/BC local mindefault = '-9999' local mindec = sterilizedec(mindecade) --returns a tostring(unsigned int), or nil if mindec then if string.match(mindecade, '-%d') or string.match(mindecade, 'RC') then mindec = '-'..mindec --better +/-0 behavior with strings (0-initialized int == "-0" string...) end elseif mindec == nil and mindecade and mindecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(mindecade or '')..'" as its 4th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the earliest decade to be shown.') return p.failedcat(errors, 'E') else --mindec == nil mindec = mindefault --tonumber() later, after error checks end --sterilize maxdecade & determine AD/BC local maxdefault = '9999' local maxdec = sterilizedec(maxdecade) --returns a tostring(unsigned int), or nil + error if maxdec then if string.match(maxdecade, '-%d') or string.match(maxdecade, 'RC') then --better +/-0 behavior with strings (0-initialized int == "-0" string...), maxdec = '-'..maxdec --but a "-0" string -> tonumber() -> tostring() = "-0", end --and a "0" string -> tonumber() -> tostring() = "0" elseif maxdec == nil and maxdecade and maxdecade ~= '' then errors = p.errorclass('Function nav_decade was sent "'..(maxdecade or '')..'" as its 5th parameter, '.. 'but expects a 1 to 4-digit year ending in "0", the highest decade to be shown.') return p.failedcat(errors, 'F') else --maxdec == nil maxdec = maxdefault end local tspace = ' ' --assume trailing space for "1950s in X"-type cats if string.match(lastpart, '^-') then tspace = '' end --DNE for "1970s-related"-type cats --AD/BC switches & varR local parentBC = string.match(lastpart, '^RC') --following the "0s BC" convention for all years BC local BCe = 'RC' --use RC for Manx categories, BC never used lastpart = mw.ustring.gsub(lastpart, '^RC%s*', '') --handle BC separately; AD never used --TODO?: handle BCE, but only if it exists in the wild local dec0to40AD = (ndec >= 0 and ndec <= 40 and not parentBC) --special behavior in this range local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local BCdisp = '' local D = -math.huge --secondary switch & iterator for AD/BC transition --check non-default min/max more carefully if mindec ~= mindefault then if tonumber(mindec) > ndec*switchADBC then mindec = tostring(ndec*switchADBC) --input error; mindec should be <= parent end end if maxdec ~= maxdefault then if tonumber(maxdec) < ndec*switchADBC then maxdec = tostring(ndec*switchADBC) --input error; maxdec should be >= parent end end local nmindec = tonumber(mindec) --similar behavior to nav_year & nav_nordinal local nmaxdec = tonumber(maxdec) --similar behavior to nav_nordinal --begin navdecade local bnb = '' --border/no border if navborder == false then --for Category series navigation year and decade bnb = 'categorySeriesNavigation-range-transparent' end local navd = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -50 --nav position x 10 while i <= 50 do local d = ndec + i*switchADBC local BC = '' BCdisp = '' if dec0to40AD then if D < -10 then d = math.abs(d + 10) --b/c 2 "0s" decades exist: "0s BC" & "0s" (AD) BC = 'RC ' if d == 0 then D = -10 --track 1st d = 0 use (BC) end elseif D >= -10 then D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use end elseif parentBC then if switchADBC == -1 then --parentBC looking at the BC side (the common case) BC = 'RC ' if d == 0 then --prepare to switch to the AD side on the next iteration switchADBC = 1 --1st d = 0 use (BC) D = -10 --prep end elseif switchADBC == 1 then --switched to the AD side D = D + 10 --now iterate from 0s AD d = D --2nd d = 0 use (on first use) end end if BC ~= '' and ndec <= 50 then BCdisp = ' '..BCe --show BC/RC for all BC decades whenever a "0yn" is displayed on the nav end --determine target cat local disp = d..'yn'..BCdisp local catlink = catlinkfollowr( frame, firstpart..' '..d..'yn'..tspace..BC..lastpart, disp ) if catlink.rtarget then --a {{Category redirect}} was followed trackcat(18, 'Category series navigation decade redirected') end --populate left/right navd local shown = navcenter(i, catlink) local hidden = '<span style="visibility:hidden">'..disp..'</span>' local dsign = d --use d for display & dsign for logic if BC ~= '' then dsign = -dsign end if (nmindec <= dsign) and (dsign <= nmaxdec) then if dsign == 0 and (nmindec == 0 or nmaxdec == 0) then --distinguish b/w -0 (BC) & 0 (AD) --"zoom in" on +/- 0 and turn dsign/min/max temporarily into +/- 1 for easier processing local zsign, zmin, zmax = 1, nmindec, nmaxdec if BC ~= '' then zsign = -1 end if mindec == '-0' then zmin = -1 elseif mindec == '0' then zmin = 1 end if maxdec == '-0' then zmax = -1 elseif maxdec == '0' then zmax = 1 end if (zmin <= zsign) and (zsign <= zmax) then table.insert(navlist, shown) hidden = nil else table.insert(navlist, hidden) end else table.insert(navlist, shown)--the common case hidden = nil end else table.insert(navlist, hidden) end if listall and hidden then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end i = i + 10 end -- add the list navd = navd..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navd..'</div>' end end --[[============================{{ nav_year }}==============================]] local function nav_year( frame, firstpart, year, lastpart, minimumyear, maximumyear ) --Expects a PAGENAME of the form "Some sequential 1760 example cat", where -- firstpart = Some sequential -- year = 1760 -- lastpart = example cat -- minimumyear = 1758 ('min' year parameter; optional) -- maximumyear = 1800 ('max' year parameter; optional) local minyear_default = -9999 local maxyear_default = 9999 year = tonumber(year) or tonumber(mw.ustring.match(year or '', '^%s*(%d*)')) local minyear = tonumber(string.match(minimumyear or '', '-?%d+')) or minyear_default --allow +/- qualifier local maxyear = tonumber(string.match(maximumyear or '', '-?%d+')) or maxyear_default --allow +/- qualifier if string.match(minimumyear or '', 'RC') then minyear = -math.abs(minyear) end --allow BC qualifier (AD otherwise assumed) if string.match(maximumyear or '', 'RC') then maxyear = -math.abs(maxyear) end --allow BC qualifier (AD otherwise assumed) if year == nil then errors = p.errorclass('Function nav_year can\'t recognize the year sent to its 3rd parameter.') return p.failedcat(errors, 'Y') end --AD/BC switches & vars local yearBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['example_Hebrew people_example'] = 'BCE', --example entry format; add to & adjust as needed } local parentAD = string.match(firstpart, 'BNJ$') --following the "AD 1" convention from AD 1 to AD 10 local parentBC = string.match(lastpart, '^RC?') --following the "1 BC" convention for all years BC firstpart = mw.ustring.gsub(firstpart, '%s*BNJ$', '') --handle AD/BC separately for easier & faster accounting lastpart = mw.ustring.gsub(lastpart, '^RC?%s*', '') local BCe = parentBC or yearBCElastparts[lastpart] or 'RC' --"BC" default local year1to10 = (year >= 1 and year <= 10) local year1to10ADBC = year1to10 and (parentBC or parentAD) --special behavior 1-10 for low-# non-year series local year1to15AD = (year >= 1 and year <= 15 and not parentBC) --special behavior 1-15 for AD/BC display local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local Y = 0 --secondary iterator for AD-on-a-BC-parent if minyear > year*switchADBC then minyear = year*switchADBC end --input error; minyear should be <= parent if maxyear < year*switchADBC then maxyear = year*switchADBC end --input error; maxyear should be >= parent local lspace = ' ' --leading space before year, after firstpart if string.match(firstpart, '[%-VW]$') then lspace = '' --e.g. "Straight-8 engines" end local tspace = ' ' --trailing space after year, before lastpart if string.match(lastpart, '^-') then tspace = '' --e.g. "2018-related timelines" end --determine interyear gap size to condense special category types, if possible local ygapdefault = 1 --assume/start at the most common case: 2001, 2002, etc. local ygap = ygapdefault if string.match(lastpart, 'presidential') then local ygap1, ygap2 = ygapdefault, ygapdefault --need to determine previous & next year gaps indepedently local ygap1_success, ygap2_success = false, false local prevseason = nil while ygap1 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms prevseason = firstpart..lspace..(year-ygap1)..tspace..lastpart if catexists(prevseason) then ygap1_success = true break end ygap1 = ygap1 + 1 end local nextseason = nil while ygap2 <= ygap_limit do --Czech Republic, Poland, Sri Lanka, etc. have 5-year terms nextseason = firstpart..lspace..(year+ygap2)..tspace..lastpart if catexists(nextseason) then ygap2_success = true break end ygap2 = ygap2 + 1 end if ygap1_success and ygap2_success then if ygap1 == ygap2 then ygap = ygap1 end elseif ygap1_success then ygap = ygap1 elseif ygap2_success then ygap = ygap2 end end --skip non-existing years, if requested local ynogaps = {} --populate with existing years in the range, at most, [year - (skipgaps_limit * 5), year + (skipgaps_limit * 5)] if skipgaps then if minyear == minyear_default then minyear = 0 --automatically set minyear to 0, as AD/BC not supported anyway end if (year > 70) or --add support for AD/BC (<= AD 10) if/when needed (minyear >= 0 and --must be a non-year series like "AC with 0 elements" not parentAD and not parentBC) then local yskipped = {} --track skipped y's to avoid double-checking local cat, found, Yeary --populate nav element queue outwards positively from the parent local Year = year --to save/ratchet progression local i = 1 while i <= 5 do local y = 1 while y <= skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y + 1 end if found then Year = Yeary else Year = Year + 1 end ynogaps[i] = Year i = i + 1 end ynogaps[0] = year --the parent --populate nav element queue outwards negatively from the parent Year = year --reset ratchet i = -1 while i >= -5 do local y = -1 while y >= -skipgaps_limit do found = false Yeary = Year + y if yskipped[Yeary] == nil then yskipped[Yeary] = Yeary cat = firstpart..lspace..Yeary..tspace..lastpart found = catexists(cat) if found then break end end y = y - 1 end if found then Year = Yeary else Year = Year - 1 end ynogaps[i] = Year i = i - 1 end else skipgaps = false --TODO: AD/BC support, then lift BC restrictions @ [[Template:Establishment category BC]] & [[Template:Year category header/core]] end end --begin navyears local navy = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local y local j = 0 --decrementor for special cases "2021 World Rugby Sevens Series" -> "2021–2022" local i = -5 --nav position while i <= 5 do if skipgaps then y = ynogaps[i] else y = year + i*ygap*switchADBC - j end local BCdisp = '' if i ~= 0 then --left/right navy local AD = '' local BC = '' if year1to15AD and not (year1to10 and not year1to10ADBC) --don't AD/BC 1-10's if parents don't contain AD/BC then if year >= 11 then --parent = AD 11-15 if y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end elseif year >= 1 then --parent = AD 1-10 if y <= 0 then BC = BCe..' ' y = math.abs(y - 1) --skip y = 0 (DNE) elseif y >= 1 and y <= 10 then --prepend AD on y = 1-10 cats only, per existing cats AD = 'AD ' end end elseif parentBC then if switchADBC == -1 then --displayed y is in the BC regime if y >= 1 then --the common case BC = BCe..' ' elseif y == 0 then --switch from BC to AD regime switchADBC = 1 end end if switchADBC == 1 then --displayed y is now in the AD regime Y = Y + 1 --skip y = 0 (DNE) y = Y --easiest solution: start another iterator for these AD y's displayed on a BC year parent AD = 'AD ' end end if BC ~= '' and year <= 5 then --only show 'BC' for parent years <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav year that doesn't need a disambiguator; end --the center/parent year will always show BC, so no need to show it another 10x --populate left/right navy local ysign = y --use y for display & ysign for logic local disp = y..BCdisp if BC ~= '' then ysign = -ysign end local firsttry = firstpart..lspace..AD..y..tspace..BC..lastpart if (minyear <= ysign) and (ysign <= maxyear) then local catlinkAD = catlinkfollowr( frame, firsttry, disp ) --try AD local catlink = catlinkAD --tentative winner if AD ~= '' then --for "ACArt with 5 suppressed elements"-type cats local catlinkNoAD = catlinkfollowr( frame, firstpart..lspace..y..tspace..BC..lastpart, disp ) --try !AD if catlinkNoAD.catexists == true then catlink = catlinkNoAD --usurp elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>1</sup>' end end if (AD..BC == '') and (catlink.catexists == false) and (y >= 1000) then --!ADBC & DNE; 4-digit only, to be frugal --try basic hyphenated cats: 1-year, endash, MOS-correct only, no #Rs local yHyph_4 = y..'–'..(y+1) --try 2010–2011 type cats local catlinkHyph_4 = catlinkfollowr( frame, firstpart..lspace..yHyph_4..tspace..BC..lastpart, yHyph_4 ) if catlinkHyph_4.catexists and catlinkHyph_4.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_4 --usurp trackcat(27, 'Category series navigation year and range') else if listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>2</sup>' end local yHyph_2 = y..'–'..string.match(y+1, '%d%d$') --try 2010–11 type cats if i == 1 then local yHyph_2_special = (y-1)..'–'..string.match(y, '%d%d$') --try special case 2021 -> 2021–22 local catlinkHyph_2_special = catlinkfollowr( frame, firstpart..lspace..yHyph_2_special..tspace..BC..lastpart, yHyph_2_special ) if catlinkHyph_2_special.catexists and catlinkHyph_2_special.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2_special --usurp trackcat(27, 'Category series navigation year and range') j = 1 elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>3</sup>' end end if not (i == 1 and j == 1) then local catlinkHyph_2 = catlinkfollowr( frame, firstpart..lspace..yHyph_2..tspace..BC..lastpart, yHyph_2 ) if catlinkHyph_2.catexists and catlinkHyph_2.rtarget == nil then --exists & no #Rs catlink = catlinkHyph_2 --usurp trackcat(27, 'Category series navigation year and range') elseif listall then tlistall[#tlistall] = tlistall[#tlistall]..' (tried; not displayed)<sup>4</sup>' end end end end if catlink.rtarget then --#R followed; determine why local r = catlink.rtarget local c = catlink.cat local year_regex = '%d%d%d%d[–-]?%d?%d?%d?%d?' --prioritize year/range stripping, e.g. for "2006 Super 14 season" local hyph_regex = '%d%d%d%d[–-]%d+' --stricter local num_regex = '%d+' --strip any number otherwise local final_regex = nil --best choice goes here if mw.ustring.match(r, year_regex) and mw.ustring.match(c, year_regex) then final_regex = year_regex elseif mw.ustring.match(r, num_regex) and mw.ustring.match(c, num_regex) then final_regex = num_regex end if final_regex then local r_base = mw.ustring.gsub(r, final_regex, '') local c_base = mw.ustring.gsub(c, final_regex, '') if r_base ~= c_base then trackcat(19, 'Category series navigation year redirected (base change)') --acceptable #R target elseif mw.ustring.match(r, hyph_regex) then trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "2008 in Scottish women's football" to "2008–09" else trackcat(21, 'Category series navigation year redirected (other)') --exceptions go here end else trackcat(20, 'Category series navigation year redirected (var change)') --e.g. "V2 engines" to "V-twin engines" end end table.insert(navlist, catlink.navelement) else --OOB vs min/max local hidden = '<span style="visibility:hidden">'..disp..'</span>' table.insert(navlist, hidden) if listall then local dummy = catlinkfollowr( frame, firsttry, disp ) tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navy if parentBC then BCdisp = ' '..BCe end table.insert(navlist, '<b>'..year..BCdisp..'</b>') end i = i + 1 end --add the list navy = navy..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navy..'</div>' end end --[[==========================={{ nav_roman }}==============================]] local function nav_roman( frame, firstpart, roman, lastpart, minimumrom, maximumrom ) local toarabic = require('Module:ConvertNumeric').roman_to_numeral local toroman = require('Module:Roman').main --sterilize/convert rom/num local num = tonumber(toarabic(roman)) local rom = toroman({ [1] = num }) if num == nil or rom == nil then --out of range or some other error errors = p.errorclass('Function nav_roman can\'t recognize one or more of "'..(num or 'nil')..'" & "'.. (rom or 'nil')..'" in category "'..firstpart..' '..roman..' '..lastpart..'".') return p.failedcat(errors, 'R') end --sterilize min/max local minrom = tonumber(minimumrom or '') or tonumber(toarabic(minimumrom or '')) local maxrom = tonumber(maximumrom or '') or tonumber(toarabic(maximumrom or '')) if minrom < 1 then minrom = 1 end --toarabic() returns -1 on error if maxrom < 1 then maxrom = 9999 end --toarabic() returns -1 on error if minrom > num then minrom = num end if maxrom < num then maxrom = num end --begin navroman local navr = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local n = num + i if n >= 1 then local r = toroman({ [1] = n }) if i ~= 0 then --left/right navr local catlink = catlinkfollowr( frame, firstpart..' '..r..' '..lastpart, r ) if minrom <= n and n <= maxrom then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(22, 'Category series navigation roman numeral redirected') end table.insert(navlist, catlink.navelement) else local hidden = '<span style="visibility:hidden">'..r..'</span>' table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end else --center navr table.insert(navlist, '<b>'..r..'</b>') end else table.insert(navlist, '<span style="visibility:hidden">I</span>') end i = i + 1 end -- add the list navr = navr..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navr..'</div>' end end --[[=========================={{ nav_nordinal }}============================]] local function nav_nordinal( frame, firstpart, ord, lastpart, minimumord, maximumord ) local nord = tonumber(ord) local minord = tonumber(string.match(minimumord or '', '(-?%d+)[snrt]?[tdh]?')) or -9999 --allow full ord & +/- qualifier local maxord = tonumber(string.match(maximumord or '', '(-?%d+)[snrt]?[tdh]?')) or 9999 --allow full ord & +/- qualifier if string.match(minimumord or '', 'BC') or string.match(minimumord or '', 'RC') then minord = -math.abs(minord) end if string.match(maximumord or '', 'BC') or string.match(maximumord or '', 'RC') then maxord = -math.abs(maxord) end local temporal = string.match(lastpart, 'century') or string.match(lastpart, 'millennium') or string.match(lastpart, 'milley bleeaney') or string.match(lastpart, 'villey bleeaney') or string.match(lastpart, '^eash') local isManxMillenium = string.match(lastpart, 'milley bleeaney') or string.match(lastpart, 'villey bleeaney') local isManxCentury = string.match(lastpart, '^eash') local tspace = ' ' --assume a trailing space after ordinal if string.match(lastpart, '^-') then tspace = '' end --DNE for "19th-century"-type cats --AD/BC switches & vars local ordBCElastparts = { --needed for parent = AD 1-5, when the BC/E format is unknown --lists the lastpart of valid BCE cats --"BCE" removed to match both AD & BCE cats; easier & faster than multiple string.match()s ['-century Hebrew people'] = 'BCE', --WP:CFD/Log/2016 June 21#Category:11th-century BC Hebrew people ['-century Jews'] = 'BCE', --co-nominated ['-century Judaism'] = 'BCE', --co-nominated ['-century rabbis'] = 'BCE', --co-nominated ['-century High Priests of Israel'] = 'BCE', } local parentBC = mw.ustring.match(lastpart, '%s(BCE?)') or mw.ustring.match(lastpart, '%s(RC)') local lastpartNoBC = mw.ustring.gsub(lastpart, '%sBCE?', '') lastpartNoBC = mw.ustring.gsub(lastpartNoBC, '%sRC', '') local BCe = parentBC or ordBCElastparts[lastpartNoBC] or ((isManxMillenium or isManxCentury) and 'RC') or 'BC' local switchADBC = 1 -- 1=AD parent if parentBC then switchADBC = -1 end -- -1=BC parent; possibly adjusted later local O = 0 --secondary iterator for AD-on-a-BC-parent if not temporal and not parentBC and minord < 1 then minord = 1 end if not temporal and parentBC and maxord < 1 then maxord = -1 end if minord > nord*switchADBC then minord = nord*switchADBC end --input error; minord should be <= parent if maxord < nord*switchADBC then maxord = nord*switchADBC end --input error; maxord should be >= parent --begin navnordinal local bnb = '' --border/no border if navborder == false then --for Category series navigation decade and century bnb = 'categorySeriesNavigation-range-transparent' end local navo = '<div class="toccolours categorySeriesNavigation-range '..bnb..'">\n' local navlist = {} local i = -5 --nav position while i <= 5 do local o = nord + i*switchADBC local BC = '' local BCdisp = '' if parentBC then if switchADBC == -1 then --parentBC looking at the BC side if o >= 1 then --the common case BC = ' '..BCe elseif o == 0 then --switch to the AD side BC = '' switchADBC = 1 end end if switchADBC == 1 then --displayed o is now in the AD regime O = O + 1 --skip o = 0 (DNE) o = O --easiest solution: start another iterator for these AD o's displayed on a BC year parent end elseif o <= 0 then --parentAD looking at BC side BC = ' '..BCe o = math.abs(o - 1) --skip o = 0 (DNE) end if BC ~= '' and nord <= 5 then --only show 'BC' for parent ords <= 5: saves room, easier to read, BCdisp = ' '..BCe --and 6 is the first/last nav ord that doesn't need a disambiguator; end --the center/parent ord will always show BC, so no need to show it another 10x --populate left/right navo local oth = (isManxMillenium or isManxCentury) and p.addord(o) or tostring(o) local osign = o if BC ~= '' and temporal then osign = -osign end local hidden = '<span style="visibility:hidden">'..oth..'</span>' if temporal then --e.g. "3rd-century BC" local lastpart = lastpartNoBC --lest we recursively add multiple "BC"s if isManxMillenium then -- 1d and 2h trigger lenition: villey bleeaney -- 3oo and above use the base form: milley bleeaney local ones = o % 10 local correct_form if ones == 1 or ones == 2 then correct_form = 'villey bleeaney' else correct_form = 'milley bleeaney' end local replacement = correct_form if BC ~= '' then replacement = replacement .. BC end lastpart = string.gsub(lastpart, temporal, replacement, 1) --swap in the correct mutation, preserving the rest of lastpart elseif BC ~= '' then lastpart = string.gsub(lastpart, temporal, temporal..BC) --replace BC if needed end local catlink = catlinkfollowr( frame, firstpart..' '..oth..tspace..lastpart, oth..BCdisp ) if (minord <= osign) and (osign <= maxord) then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end elseif minord <= osign and osign <= maxord then local catTarget = firstpart..' '..oth..tspace..lastpartNoBC if BC ~= '' then catTarget = firstpart..' '..oth..tspace..lastpartNoBC..BC end local dispText = oth..BCdisp local catlink = catlinkfollowr( frame, catTarget, dispText ) if catlink.rtarget then trackcat(23, 'Category series navigation nordinal redirected') end table.insert(navlist, navcenter(i, catlink)) else --out-of-range: hide table.insert(navlist, hidden) if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..hidden..')' end end i = i + 1 end navo = navo..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navo..'</div>' end end --[[========================={{ nav_wordinal }}=============================]] local function nav_wordinal( frame, firstpart, word, lastpart, minimumword, maximumword, ordinal, frame ) --Module:ConvertNumeric.spell_number2() args: -- ordinal == true : 'second' is output instead of 'two' -- ordinal == false: 'two' is output instead of 'second' local ord2eng = require('Module:ConvertNumeric').spell_number2 local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local th = 'th' if not ordinal then th = '' eng2ord = require('Module:ConvertNumeric').english_to_numeral end local capitalize = nil ~= string.match(word, '^%u') --determine capitalization local nord = eng2ord(string.lower(word)) --operate on/with lowercase, and restore any capitalization later local lspace = ' ' --assume a leading space (most common) local tspace = ' ' --assume a trailing space (most common) if string.match(firstpart, '[%-%(]$') then lspace = '' end --DNE for "Straight-eight engines"-type cats if string.match(lastpart, '^[%-%)]' ) then tspace = '' end --DNE for "Nine-cylinder engines"-type cats --sterilize min/max local maxword_default = 99 local maxword = maxword_default local minword = 1 if minimumword then local num = tonumber(minimumword) if num and 0 < num and num < maxword then minword = num else local ord = eng2ord(minimumword) if 0 < ord and ord < maxword then minword = ord end end end if maximumword then local num = tonumber(maximumword) if num and 0 < num and num < maxword then maxword = num else local ord = eng2ord(maximumword) if 0 < ord and ord < maxword then maxword = ord end end end if minword > nord then minword = nord end if maxword < nord then maxword = nord end --determine max existing cat local listoverride = true local n_max = nord local m = 1 while m <= 5 do local n = nord + m local nth = p.addord(n) if not ordinal then nth = n end local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth, nil, listoverride ) if catlink.catexists then n_max = n end m = m + 1 end --begin navwordinal local navw = '<div class="toccolours categorySeriesNavigation-range">\n' local navlist = {} local prepad = '' local i = -5 --nav position while i <= 5 do local n = nord + i if n >= 1 then local nth = p.addord(n) if not ordinal then nth = n end if i ~= 0 then --left/right navw local w = ord2eng{ num = n, ordinal = ordinal, capitalize = capitalize } local catlink = catlinkfollowr( frame, firstpart..lspace..w..tspace..lastpart, nth ) if minword <= n and n <= maxword then if catlink.rtarget then --a {{Category redirect}} was followed trackcat(24, 'Category series navigation wordinal redirected') end if n <= n_max or maxword ~= maxword_default then table.insert(navlist, prepad..catlink.navelement) --display normally prepad = '' else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else local postpad = '<span style="visibility:hidden"> • '..nth..'</span>' navlist[#navlist] = (navlist[#navlist] or '')..postpad if listall then tlistall[#tlistall] = tlistall[#tlistall]..' ('..postpad..')' end end else --center navw table.insert(navlist, prepad..'<b>'..nth..'</b>') prepad = '' end else --n < 1 prepad = prepad..'<span style="visibility:hidden"> • '..'0'..th..'</span>' if listall then tlistall[#tlistall] = (tlistall[#tlistall] or '')..' (x)' end end i = i + 1 end -- Add the list navw = navw..horizontal(navlist)..'\n' isolatedcat() if listall then return listalllinks() else return navw..'</div>' end end --[[==========================={{ find_var }}===============================]] local function find_var( pn ) --Extracts the variable text (e.g. 2015, 2015–16, 2000s, 3rd, III, etc.) from a string, --and returns { ['vtype'] = <'year'|'season'|etc.>, <v> = <2015|2015–16|etc.> } local pagename = currtitle.text if pn and pn ~= '' then pagename = pn end local cpagename = 'Ronney:'..pagename --limited-Lua-regex workaround local d_season = mw.ustring.match(cpagename, ':(%d+yn).+%(%d+[–-]%d+%)') --i.e. "1760yn in the Province of Quebec (1763–1791)" local y_season = mw.ustring.match(cpagename, ':(%d+) .+%(%d+[–-]%d+%)') --i.e. "1763 establishments in the Province of Quebec (1763–1791)" local e_season = mw.ustring.match(cpagename, '%s(%d+[–-])$') or --irreg; ending unknown, e.g. "Members of the Scottish Parliament 2021–" mw.ustring.match(cpagename, '%s(%d+[–-]jiu)$') --e.g. "UK MPs 2019–present" local season = mw.ustring.match(cpagename, '[:%s%(](%d+[–-]%d+)[%)%s]') or --split in 2 b/c you can't frontier '$'/eos? mw.ustring.match(cpagename, '[:%s](%d+[–-]%d+)$') local tvseason = mw.ustring.match(cpagename, 'season (%d+)') or mw.ustring.match(cpagename, 'series (%d+)') or mw.ustring.match(cpagename, 'meetup (%d+)') -- Require at least the two-character core of an ordinal suffix (st, nd, rd, th) -- so that bare numbers and yn-suffixed decades do not match as nordinals. local nordinal = string.match(pagename, '%d+[snrt][tdh]') or string.match(pagename, '%d+oo%f[%A]') or string.match(pagename, '%d+[dh]%f[%A]') local decade = mw.ustring.match(cpagename, '[:%s](%d+yn)[%s-]') or mw.ustring.match(cpagename, '[:%s](%d+yn)$') local year = mw.ustring.match(cpagename, '[:%s](%d%d%d%d)%s') or --prioritize 4-digit years mw.ustring.match(cpagename, '[:%s](%d%d%d%d)$') or mw.ustring.match(cpagename, '[:%s](%d+)%s') or mw.ustring.match(cpagename, '[:%s](%d+)$') or --expand/combine exceptions below as needed mw.ustring.match(cpagename, '[:%s](%d+)-related') or mw.ustring.match(cpagename, '[:%s](%d+)-cylinder') or mw.ustring.match(cpagename, '[:%-VW](%d+)%s') --e.g. "Straight-8 engines" local roman = mw.ustring.match(cpagename, '%s([IVXLCDM]+)%s') local found = d_season or y_season or e_season or season or tvseason or nordinal or decade or year or roman if found then if string.match(found, '%d%d%d%d%d') == nil then --return in order of decreasing complexity/chance for duplication if nordinal and season --i.e. "18th-century establishments in the Province of Quebec (1763–1791)" then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if d_season then return { ['vtype'] = 'decade', ['v'] = d_season } end if y_season then return { ['vtype'] = 'year', ['v'] = y_season } end if e_season then return { ['vtype'] = 'ending', ['v'] = e_season } end if season then return { ['vtype'] = 'season', ['v'] = season } end if tvseason then return { ['vtype'] = 'tvseason', ['v'] = tvseason } end if decade then return { ['vtype'] = 'decade', ['v'] = decade } end if nordinal then return { ['vtype'] = 'nordinal', ['v'] = nordinal } end if year then return { ['vtype'] = 'year', ['v'] = year } end if roman then return { ['vtype'] = 'roman', ['v'] = roman } end end else --try wordinals ('zeroth' to 'ninety-ninth' only) local eng2ord = require('Module:ConvertNumeric').english_to_ordinal local split = mw.text.split(pagename, ' ') for i=1, #split do if eng2ord(split[i]) > -1 then return { ['vtype'] = 'wordinal', ['v'] = split[i] } end end --try English numerics ('one'/'single' to 'ninety-nine' only) local eng2num = require('Module:ConvertNumeric').english_to_numeral local split = mw.text.split(pagename, '[%s%-]') --e.g. "Nine-cylinder engines" for i=1, #split do if eng2num(split[i]) > -1 then return { ['vtype'] = 'enumeric', ['v'] = split[i] } end end end errors = p.errorclass('Function find_var can\'t find the variable text in category "'..pagename..'".') return { ['vtype'] = 'error', ['v'] = p.failedcat(errors, 'V') } end --[[==========================================================================]] --[[ Main ]] --[[==========================================================================]] function p.csn( frame ) --arg checks & handling local args = frame:getParent().args checkforunknownparams(args) --for template args checkforunknownparams(frame.args) --for #invoke'd args local cat = args['cat'] --'testcase' alias for catspace local list = args['list-all-links'] --debugging utility to output all links & followed #Rs local follow = args['follow-redirects'] --default 'yes' local testcase = args['testcase'] local testcasegap = args['testcasegap'] local minimum = args['min'] local maximum = args['max'] local skip_gaps = args['skip-gaps'] local show = args['show'] if show and show ~= '' then if show == 'skip-gaps' then return skipgaps_limit elseif show == 'term-limit' then return term_limit elseif show == 'hgap-limit' then return hgap_limit elseif show == 'ygap-limit' then return ygap_limit end end --apply args local pagename = testcase or cat or currtitle.text local testcaseindent = '' if testcasecolon == ':' then testcaseindent = '\n::' end if follow and follow == 'no' then followRs = false end if list and list == 'yes' then listall = true end if skip_gaps and skip_gaps == 'yes' then skipgaps = true trackcat(26, 'Category series navigation using skip-gaps parameter') end --ns checks if currtitle.nsText == 'Category' then if cat and cat ~= '' then trackcat(1, 'Category series navigation using cat parameter') end if testcase and testcase ~= '' then trackcat(2, 'Category series navigation using testcase parameter') end elseif currtitle.nsText == '' then trackcat(30, 'Category series navigation in mainspace') end --find the variable parts of pagename local findvar = find_var(pagename) if findvar.vtype == 'error' then --basic format error checking in find_var() return findvar.v..table.concat(ttrackingcats) end local start = string.match(findvar.v, '^%d+') --the rest is static local findvar_escaped = string.gsub( findvar.v, '%-', '%%%-') local firstpart, lastpart = string.match(pagename, '^(.-)'..findvar_escaped..'(.*)$') if findvar.vtype == 'tvseason' then --double check for cases like "30 Rock (season 3) episodes" firstpart, lastpart = string.match(pagename, '^(.-season )'..findvar_escaped..'(.*)$') if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-series )'..findvar_escaped..'(.*)$') end if firstpart == nil then firstpart, lastpart = string.match(pagename, '^(.-meetup )'..findvar_escaped..'(.*)$') end end firstpart = mw.text.trim(firstpart or '') lastpart = mw.text.trim(lastpart or '') --call the appropriate nav function, in order of decreasing popularity if findvar.vtype == 'year' then --e.g. "500", "2001"; nav_year..nav_decade; ~75% of cats local nav1 = nav_year( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local dec = math.floor(findvar.v/10) local decadecat = nil local firstpart_dec = firstpart if firstpart_dec ~= '' then firstpart_dec = firstpart_dec..' the' elseif firstpart_dec == 'AD' and dec <= 1 then firstpart_dec = '' if dec == 0 then dec = '' end end local decade = dec..'0yn ' decadecat = mw.text.trim( firstpart_dec..' '..decade..lastpart ) local exists = catexists(decadecat) if exists then navborder = false local nav2 = nav_decade( frame, firstpart_dec, decade, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) elseif ttrackingcats[16] ~= '' then --nav_year isolated; check nav_hyphen (e.g. UK MPs 1974, Moldovan MPs 2009, etc.) local hyphen = '–' local finish = start local nav2 = nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) if ttrackingcats[16] ~= '' then return wrap( nav1 ) --still isolated; rv to nav_year else return wrap( nav2 ) end else --regular nav_year return wrap( nav1 ) end elseif findvar.vtype == 'decade' then --e.g. "0yn", "2010yn"; nav_decade..nav_nordinal; ~12% of cats local nav1 = nav_decade( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) local decade = tonumber(string.match(findvar.v, '^(%d+)yn')) local century = math.floor( ((decade-1)/100) + 1 ) --from {{CENTURY}} if century == 0 then century = 1 end --no 0th century if string.match(decade, '00$') then century = century + 1 --'2000' is in the 20th, but the rest of the 2000s is in the 21st end local clastpart = ' century '..lastpart local centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) local exists = catexists(centurycat) if not exists then --check for hyphenated century clastpart = '-century '..lastpart centurycat = mw.text.trim( firstpart..' '..p.addord(century)..clastpart ) exists = catexists(centurycat) end if exists then navborder = false trackcat(29, 'Category series navigation decade and century') local nav2 = nav_nordinal( frame, firstpart, century, clastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) return wrap( nav1, nav2 ) else return wrap( nav1 ) end elseif findvar.vtype == 'nordinal' then --e.g. "1st", "99th"; ~7.5% of cats return wrap( nav_nordinal( frame, firstpart, start, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'season' then --e.g. "1–4", "1999–2000", "2001–02", "2001–2002", "2005–2010", etc.; ~5.25% local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])(%d+)') --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'tvseason' then --e.g. "1", "15" but preceded with "season" or "series"; <1% of cats return wrap( nav_tvseason( frame, firstpart, start, lastpart, maximum )..testcaseindent..table.concat(ttrackingcats) ) --"minimum" defaults to 1 elseif findvar.vtype == 'wordinal' then --e.g. "first", "ninety-ninth"; <<1% of cats local ordinal = true return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'enumeric' then --e.g. "one", "ninety-nine"; <<1% of cats local ordinal = false return wrap( nav_wordinal( frame, firstpart, findvar.v, lastpart, minimum, maximum, ordinal, frame )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'roman' then --e.g. "I", "XXVIII"; <<1% of cats return wrap( nav_roman( frame, firstpart, findvar.v, lastpart, minimum, maximum )..testcaseindent..table.concat(ttrackingcats) ) elseif findvar.vtype == 'ending' then --e.g. "2021–" (irregular; ending unknown); <<<1% of cats local hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])present$'), -1 --ascii 150 & 45 (ndash & keyboard hyphen); mw req'd if hyphen == nil then hyphen, finish = mw.ustring.match(findvar.v, '%d([–-])$'), 0 --0/-1 are hardcoded switches for nav_hyphen() end return wrap( nav_hyphen( frame, start, hyphen, finish, firstpart, lastpart, minimum, maximum, testcasegap )..testcaseindent..table.concat(ttrackingcats) ) else --malformed errors = p.errorclass('Failed to determine the appropriate nav function from malformed season "'..findvar.v..'". ') return p.failedcat(errors, 'N')..table.concat(ttrackingcats) end end return p d4cb998a1irx04395h9oera6wktzy1r Ronney:Jerraghyn 'sy vlein 1970 14 36842 388591 348587 2026-08-08T16:24:40Z MacTire02 219 +clowan 388591 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1970}} [[Ronney:1970]] [[Ronney:Jerraghyn ayns ny 1970yn| 0]] [[Ronney:Jerraghyn rere blein|1970]] s4tgcpcxfn84iz1mgoy2y5vds5hxcw3 Ronney:Jerraghyn 'sy vlein 1935 14 36907 388567 348660 2026-08-08T16:19:46Z MacTire02 219 +clowan 388567 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1935}} [[Ronney:1935]] [[Ronney:Jerraghyn ayns ny 1930yn| 5]] [[Ronney:Jerraghyn rere blein|1935]] srhtao2t2idnveynwc1zh519usxevfg Ronney:Jerraghyn 'sy vlein 1889 14 37200 388549 349305 2026-08-08T16:16:03Z MacTire02 219 +clowan 388549 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1889}} [[Ronney:1889]] [[Ronney:Jerraghyn ayns ny 1880yn| 9]] [[Ronney:Jerraghyn rere blein|1889]] cpvuf51rh47wptkrbastc6hg10ztphq Ronney:Jerraghyn 'sy vlein 1548 14 37222 388420 349327 2026-08-08T15:51:50Z MacTire02 219 +clowan 388420 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1548}} [[Ronney:1548]] [[Ronney:Jerraghyn ayns ny 1540yn| 8]] [[Ronney:Jerraghyn rere blein|1548]] a9bwulvckrw0ca1ouaf8o7ehis6w6rf Ronney:Jerraghyn 'sy vlein 1547 14 37223 388419 349328 2026-08-08T15:51:41Z MacTire02 219 +clowan 388419 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1547}} [[Ronney:1547]] [[Ronney:Jerraghyn ayns ny 1540yn| 7]] [[Ronney:Jerraghyn rere blein|1547]] 9qievq1otanx5p9ei3yb8rmodesv9ad Ronney:Jerraghyn 'sy vlein 1546 14 37224 388418 349329 2026-08-08T15:51:32Z MacTire02 219 +clowan 388418 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1546}} [[Ronney:1546]] [[Ronney:Jerraghyn ayns ny 1540yn| 6]] [[Ronney:Jerraghyn rere blein|1546]] akxx5pw969d2svc5t7oyucmxbm6poq0 Ronney:Jerraghyn 'sy vlein 1543 14 37225 388417 349330 2026-08-08T15:51:23Z MacTire02 219 +clowan 388417 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1543}} [[Ronney:1543]] [[Ronney:Jerraghyn ayns ny 1540yn| 3]] [[Ronney:Jerraghyn rere blein|1543]] an4lnx8ds3jc28z0bc4kh95jaj1n5j9 Ronney:Jerraghyn 'sy vlein 1537 14 37226 388416 349331 2026-08-08T15:51:05Z MacTire02 219 +clowan 388416 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1537}} [[Ronney:1537]] [[Ronney:Jerraghyn ayns ny 1530yn| 7]] [[Ronney:Jerraghyn rere blein|1537]] rj3xkp03k4nnmp7d8d5l8kjxhm0akux Ronney:Jerraghyn 'sy vlein 1528 14 37227 388415 349332 2026-08-08T15:50:49Z MacTire02 219 +clowan 388415 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1528}} [[Ronney:1528]] [[Ronney:Jerraghyn ayns ny 1520yn| 8]] [[Ronney:Jerraghyn rere blein|1528]] 8lqpfcfba64gxmmzrpadfoz7b7g7fjh Ronney:Jerraghyn 'sy vlein 1527 14 37228 388414 349333 2026-08-08T15:50:39Z MacTire02 219 +clowan 388414 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1527}} [[Ronney:1527]] [[Ronney:Jerraghyn ayns ny 1520yn| 7]] [[Ronney:Jerraghyn rere blein|1527]] ni0hqtc3c3xcf0v24cqzqvv3fb5c25j Ronney:Jerraghyn 'sy vlein 1522 14 37229 388413 349334 2026-08-08T15:50:29Z MacTire02 219 +clowan 388413 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1522}} [[Ronney:1522]] [[Ronney:Jerraghyn ayns ny 1520yn| 2]] [[Ronney:Jerraghyn rere blein|1522]] 470prt2pv9quolkfyf581mbxuj6hpvr Ronney:Jerraghyn 'sy vlein 1520 14 37230 388407 349335 2026-08-08T15:23:43Z MacTire02 219 +clowan 388407 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1520}} [[Ronney:1520]] [[Ronney:Jerraghyn ayns ny 1520yn| 0]] [[Ronney:Jerraghyn rere blein|1520]] e4z7ykk08jhqpql0snumnk30kg9j0va Ronney:Jerraghyn 'sy vlein 1519 14 37231 388412 349336 2026-08-08T15:50:15Z MacTire02 219 +clowan 388412 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1519}} [[Ronney:1519]] [[Ronney:Jerraghyn ayns ny 1510yn| 9]] [[Ronney:Jerraghyn rere blein|1519]] a0zz5nhkg4n11f573hri742hgijteik Ronney:Jerraghyn 'sy vlein 1512 14 37232 388411 349337 2026-08-08T15:49:56Z MacTire02 219 +clowan 388411 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1512}} [[Ronney:1512]] [[Ronney:Jerraghyn ayns ny 1510yn| 2]] [[Ronney:Jerraghyn rere blein|1512]] p1t8eeda1f9oym1ou44do9ims83dzwc Ronney:Jerraghyn 'sy vlein 1507 14 37233 388410 349338 2026-08-08T15:49:44Z MacTire02 219 +clowan 388410 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1507}} [[Ronney:1507]] [[Ronney:Jerraghyn ayns ny 1500yn| 7]] [[Ronney:Jerraghyn rere blein|1507]] kaw02nod25dq6tdp2oy2459ch7yx6f6 Ronney:Jerraghyn 'sy vlein 1506 14 37234 388409 349339 2026-08-08T15:49:33Z MacTire02 219 +clowan 388409 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1506}} [[Ronney:1506]] [[Ronney:Jerraghyn ayns ny 1500yn| 6]] [[Ronney:Jerraghyn rere blein|1506]] 4fsc8g6r6qkfihr631tvepxf5hmeany Ronney:Jerraghyn 'sy vlein 1504 14 37235 388408 349340 2026-08-08T15:49:23Z MacTire02 219 +clowan 388408 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1504}} [[Ronney:1504]] [[Ronney:Jerraghyn ayns ny 1500yn| 4]] [[Ronney:Jerraghyn rere blein|1504]] l28kyx1i39yrv9z6fjdx19uxfyjxlmi Ronney:Jerraghyn 'sy vlein 1647 14 37236 388444 349341 2026-08-08T15:56:48Z MacTire02 219 +clowan 388444 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1647}} [[Ronney:1647]] [[Ronney:Jerraghyn ayns ny 1640yn| 7]] [[Ronney:Jerraghyn rere blein|1647]] 2wa6yfk3peojv4a72y2iqtxhvh48sog Ronney:Jerraghyn 'sy vlein 1642 14 37237 388443 349342 2026-08-08T15:56:37Z MacTire02 219 +clowan 388443 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1642}} [[Ronney:1642]] [[Ronney:Jerraghyn ayns ny 1640yn| 2]] [[Ronney:Jerraghyn rere blein|1642]] 6t0r0ii2dha6c84i4p9csjf1drwtva3 Ronney:Jerraghyn 'sy vlein 1641 14 37238 388442 349343 2026-08-08T15:56:27Z MacTire02 219 +clowan 388442 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1641}} [[Ronney:1641]] [[Ronney:Jerraghyn ayns ny 1640yn| 1]] [[Ronney:Jerraghyn rere blein|1641]] 420bn6c2z70h0vuxdo46r4yj6odf8bx Ronney:Jerraghyn 'sy vlein 1640 14 37239 388441 349344 2026-08-08T15:56:16Z MacTire02 219 +clowan 388441 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1640}} [[Ronney:1640]] [[Ronney:Jerraghyn ayns ny 1640yn| 0]] [[Ronney:Jerraghyn rere blein|1640]] py42b2hy279t7pz7qhufr64lbrwi191 Ronney:Jerraghyn 'sy vlein 1639 14 37240 388440 349345 2026-08-08T15:56:06Z MacTire02 219 +clowan 388440 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1639}} [[Ronney:1639]] [[Ronney:Jerraghyn ayns ny 1630yn| 9]] [[Ronney:Jerraghyn rere blein|1639]] 6ejr2m9tvk5iljxrxikeny2odffpn9c Ronney:Jerraghyn 'sy vlein 1633 14 37241 388439 349346 2026-08-08T15:55:49Z MacTire02 219 +clowan 388439 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1633}} [[Ronney:1633]] [[Ronney:Jerraghyn ayns ny 1630yn| 3]] [[Ronney:Jerraghyn rere blein|1633]] 489jxb4l0393ntm4k1wajrw27yzspk2 Ronney:Jerraghyn 'sy vlein 1630 14 37242 388438 349347 2026-08-08T15:55:38Z MacTire02 219 +clowan 388438 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1630}} [[Ronney:1630]] [[Ronney:Jerraghyn ayns ny 1630yn| 0]] [[Ronney:Jerraghyn rere blein|1630]] 5t8e66ffruztaa0twsf443vb6hlv7nj Ronney:Jerraghyn 'sy vlein 1629 14 37243 388437 349348 2026-08-08T15:55:28Z MacTire02 219 +clowan 388437 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1629}} [[Ronney:1629]] [[Ronney:Jerraghyn ayns ny 1620yn| 9]] [[Ronney:Jerraghyn rere blein|1629]] 86zxsici8qscmt9klxoa127qn8oyze9 Ronney:Jerraghyn 'sy vlein 1626 14 37244 388436 349349 2026-08-08T15:55:18Z MacTire02 219 +clowan 388436 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1626}} [[Ronney:1626]] [[Ronney:Jerraghyn ayns ny 1620yn| 6]] [[Ronney:Jerraghyn rere blein|1626]] tlqx31x3cx72alixvbx9c56g6m43zmc Ronney:Jerraghyn 'sy vlein 1625 14 37245 388435 349350 2026-08-08T15:55:07Z MacTire02 219 +clowan 388435 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1625}} [[Ronney:1625]] [[Ronney:Jerraghyn ayns ny 1620yn| 5]] [[Ronney:Jerraghyn rere blein|1625]] ly386qo1d8lhtn81i0ukb4nwgfxd5kp Ronney:Jerraghyn 'sy vlein 1619 14 37246 388434 349351 2026-08-08T15:54:51Z MacTire02 219 +clowan 388434 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1619}} [[Ronney:1619]] [[Ronney:Jerraghyn ayns ny 1610yn| 9]] [[Ronney:Jerraghyn rere blein|1619]] hz025yvxqui66iz6qk1xlbdmotc62ec Ronney:Jerraghyn 'sy vlein 1617 14 37247 388433 349353 2026-08-08T15:54:41Z MacTire02 219 +clowan 388433 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1617}} [[Ronney:1617]] [[Ronney:Jerraghyn ayns ny 1610yn| 7]] [[Ronney:Jerraghyn rere blein|1617]] qlzx7147x6kwnbfcyzoroh343yrzead Ronney:Jerraghyn 'sy vlein 1609 14 37248 388432 349354 2026-08-08T15:54:26Z MacTire02 219 +clowan 388432 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1609}} [[Ronney:1609]] [[Ronney:Jerraghyn ayns ny 1600yn| 9]] [[Ronney:Jerraghyn rere blein|1609]] 0v1thn0f4rjx3aapvs0xgsozjs2w7xw Ronney:Jerraghyn 'sy vlein 1607 14 37249 388431 349355 2026-08-08T15:54:14Z MacTire02 219 +clowan 388431 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1607}} [[Ronney:1607]] [[Ronney:Jerraghyn ayns ny 1600yn| 7]] [[Ronney:Jerraghyn rere blein|1607]] t3l4iypqj4ro0ggtq66jymo78fay8xj Ronney:Jerraghyn 'sy vlein 1603 14 37250 388430 349356 2026-08-08T15:54:03Z MacTire02 219 +clowan 388430 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1603}} [[Ronney:1603]] [[Ronney:Jerraghyn ayns ny 1600yn| 3]] [[Ronney:Jerraghyn rere blein|1603]] 3si4uo3xmn2ck30w2dzc7krwen1fioq Ronney:Jerraghyn 'sy vlein 1600 14 37251 388429 349357 2026-08-08T15:53:53Z MacTire02 219 +clowan 388429 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1600}} [[Ronney:1600]] [[Ronney:Jerraghyn ayns ny 1600yn| 0]] [[Ronney:Jerraghyn rere blein|1600]] i0v7o52jt529tq2v2dph9pm72kdjmlq Ronney:Jerraghyn 'sy vlein 1579 14 37252 388427 349358 2026-08-08T15:53:22Z MacTire02 219 +clowan 388427 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1579}} [[Ronney:1579]] [[Ronney:Jerraghyn ayns ny 1570yn| 9]] [[Ronney:Jerraghyn rere blein|1579]] 079favpwmssw95r7tnox129d1lajvfq Ronney:Jerraghyn 'sy vlein 1574 14 37253 388426 349359 2026-08-08T15:53:11Z MacTire02 219 +clowan 388426 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1574}} [[Ronney:1574]] [[Ronney:Jerraghyn ayns ny 1570yn| 4]] [[Ronney:Jerraghyn rere blein|1574]] cbxvm4mlqn32dzxjv4i2molqrujko94 Ronney:Jerraghyn 'sy vlein 1565 14 37254 388425 349360 2026-08-08T15:52:56Z MacTire02 219 +clowan 388425 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1565}} [[Ronney:1565]] [[Ronney:Jerraghyn ayns ny 1560yn| 5]] [[Ronney:Jerraghyn rere blein|1565]] rqua20wb8zzusna70sanf1d99wejpdt Ronney:Jerraghyn 'sy vlein 1564 14 37255 388424 349361 2026-08-08T15:52:44Z MacTire02 219 +clowan 388424 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1564}} [[Ronney:1564]] [[Ronney:Jerraghyn ayns ny 1560yn| 4]] [[Ronney:Jerraghyn rere blein|1564]] hihymg2pjbksl1yol0zxr55frhqzepd Ronney:Jerraghyn 'sy vlein 1563 14 37256 388423 349362 2026-08-08T15:52:34Z MacTire02 219 +clowan 388423 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1563}} [[Ronney:1563]] [[Ronney:Jerraghyn ayns ny 1560yn| 3]] [[Ronney:Jerraghyn rere blein|1563]] lvkju9fk9bs85h2mqn6nfo36kag0maa Ronney:Jerraghyn 'sy vlein 1557 14 37257 388422 349363 2026-08-08T15:52:14Z MacTire02 219 +clowan 388422 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1557}} [[Ronney:1557]] [[Ronney:Jerraghyn ayns ny 1550yn| 7]] [[Ronney:Jerraghyn rere blein|1557]] 8vagzap5ty3v7utxw43o8l2ru4rqs9k Ronney:Jerraghyn 'sy vlein 1556 14 37258 388421 349364 2026-08-08T15:52:04Z MacTire02 219 +clowan 388421 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1556}} [[Ronney:1556]] [[Ronney:Jerraghyn ayns ny 1550yn| 6]] [[Ronney:Jerraghyn rere blein|1556]] odjl6n0pjrnyw7xlhb9v3iat7i8d0nk Ronney:Jerraghyn 'sy vlein 1697 14 37259 388463 349365 2026-08-08T15:59:56Z MacTire02 219 +clowan 388463 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1697}} [[Ronney:1697]] [[Ronney:Jerraghyn ayns ny 1690yn| 7]] [[Ronney:Jerraghyn rere blein|1697]] 958101h7kjqqbfzwewcjqaihezz4w8t Ronney:Jerraghyn 'sy vlein 1695 14 37260 388462 349366 2026-08-08T15:59:45Z MacTire02 219 +clowan 388462 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1695}} [[Ronney:1695]] [[Ronney:Jerraghyn ayns ny 1690yn| 5]] [[Ronney:Jerraghyn rere blein|1695]] 8v0odych6jjw75yn5fdg3olomxdk41q Ronney:Jerraghyn 'sy vlein 1692 14 37261 388461 349367 2026-08-08T15:59:36Z MacTire02 219 +clowan 388461 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1692}} [[Ronney:1692]] [[Ronney:Jerraghyn ayns ny 1690yn| 2]] [[Ronney:Jerraghyn rere blein|1692]] 5lue0qxga8eorfyueid8ycg8s3puutp Ronney:Jerraghyn 'sy vlein 1691 14 37262 388460 349368 2026-08-08T15:59:26Z MacTire02 219 +clowan 388460 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1691}} [[Ronney:1691]] [[Ronney:Jerraghyn ayns ny 1690yn| 1]] [[Ronney:Jerraghyn rere blein|1691]] k3jp6yk1oganm4iaumkckv74b5jwuil Ronney:Jerraghyn 'sy vlein 1687 14 37263 388459 349369 2026-08-08T15:59:16Z MacTire02 219 +clowan 388459 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1687}} [[Ronney:1687]] [[Ronney:Jerraghyn ayns ny 1680yn| 7]] [[Ronney:Jerraghyn rere blein|1687]] 1anp6z0spl0qeuje7uo0f6emvtuuj7a Ronney:Jerraghyn 'sy vlein 1685 14 37264 388458 349370 2026-08-08T15:59:05Z MacTire02 219 +clowan 388458 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1685}} [[Ronney:1685]] [[Ronney:Jerraghyn ayns ny 1680yn| 5]] [[Ronney:Jerraghyn rere blein|1685]] afelnckl0tnjyqh9wydp1xr3nh0xrt7 Ronney:Jerraghyn 'sy vlein 1680 14 37265 388457 349371 2026-08-08T15:58:55Z MacTire02 219 +clowan 388457 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1680}} [[Ronney:1680]] [[Ronney:Jerraghyn ayns ny 1680yn| 0]] [[Ronney:Jerraghyn rere blein|1680]] e4e47hys45yovjj3t502ascplqbtcae Ronney:Jerraghyn 'sy vlein 1675 14 37266 388456 349372 2026-08-08T15:58:46Z MacTire02 219 +clowan 388456 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1675}} [[Ronney:1675]] [[Ronney:Jerraghyn ayns ny 1670yn| 5]] [[Ronney:Jerraghyn rere blein|1675]] 4cvn42bj4t3xc4ddef8qe7bu0wvvy3k Ronney:Jerraghyn 'sy vlein 1674 14 37267 388455 349373 2026-08-08T15:58:36Z MacTire02 219 +clowan 388455 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1674}} [[Ronney:1674]] [[Ronney:Jerraghyn ayns ny 1670yn| 4]] [[Ronney:Jerraghyn rere blein|1674]] 42u9l91r2nr7xuh39i43or4jnykdxxc Ronney:Jerraghyn 'sy vlein 1671 14 37268 388454 349374 2026-08-08T15:58:27Z MacTire02 219 +clowan 388454 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1671}} [[Ronney:1671]] [[Ronney:Jerraghyn ayns ny 1670yn| 1]] [[Ronney:Jerraghyn rere blein|1671]] n2t6x1wr96uygwby19ds1xtxgd3l72p Ronney:Jerraghyn 'sy vlein 1666 14 37269 388453 349375 2026-08-08T15:58:17Z MacTire02 219 +clowan 388453 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1666}} [[Ronney:1666]] [[Ronney:Jerraghyn ayns ny 1660yn| 0]] [[Ronney:Jerraghyn rere blein|1660]] cfqlagbg17rxb4iqxofytueg7xbmi10 Ronney:Jerraghyn 'sy vlein 1664 14 37270 388452 349376 2026-08-08T15:58:07Z MacTire02 219 +clowan 388452 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1664}} [[Ronney:1664]] [[Ronney:Jerraghyn ayns ny 1660yn| 4]] [[Ronney:Jerraghyn rere blein|1664]] ivemkx7y32kdh264g042ghlu8ko3gb2 Ronney:Jerraghyn 'sy vlein 1663 14 37271 388451 349377 2026-08-08T15:57:58Z MacTire02 219 +clowan 388451 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1663}} [[Ronney:1663]] [[Ronney:Jerraghyn ayns ny 1660yn| 3]] [[Ronney:Jerraghyn rere blein|1663]] ki93i0fm7m1wsy72pf926lr1du87s4y Ronney:Jerraghyn 'sy vlein 1660 14 37272 388450 349378 2026-08-08T15:57:47Z MacTire02 219 +clowan 388450 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1660}} [[Ronney:1660]] [[Ronney:Jerraghyn ayns ny 1600yn| 0]] [[Ronney:Jerraghyn rere blein|1660]] 2jcmvsi6st2c4tuzksszd5yqkcz10dt Ronney:Jerraghyn 'sy vlein 1657 14 37273 388449 349379 2026-08-08T15:57:37Z MacTire02 219 +clowan 388449 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1657}} [[Ronney:1657]] [[Ronney:Jerraghyn ayns ny 1650yn| 7]] [[Ronney:Jerraghyn rere blein|1657]] dx9rrcl9828mb6avyb34jxshcanwxat Ronney:Jerraghyn 'sy vlein 1656 14 37274 388448 349380 2026-08-08T15:57:27Z MacTire02 219 +clowan 388448 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1656}} [[Ronney:1656]] [[Ronney:Jerraghyn ayns ny 1650yn| 6]] [[Ronney:Jerraghyn rere blein|1656]] ixs9wuch9xlzyvi2xp4shhi8hl1o29w Ronney:Jerraghyn 'sy vlein 1655 14 37275 388447 349381 2026-08-08T15:57:18Z MacTire02 219 +clowan 388447 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1655}} [[Ronney:1655]] [[Ronney:Jerraghyn ayns ny 1650yn| 5]] [[Ronney:Jerraghyn rere blein|1655]] mav2d2q0htmbbd27xsliaazc36wl2dx Ronney:Jerraghyn 'sy vlein 1654 14 37276 388446 349382 2026-08-08T15:57:08Z MacTire02 219 +clowan 388446 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1654}} [[Ronney:1654]] [[Ronney:Jerraghyn ayns ny 1650yn| 4]] [[Ronney:Jerraghyn rere blein|1654]] dy7e2tdfpsype5nnw6pgejr59qx1sia Ronney:Jerraghyn 'sy vlein 1652 14 37277 388445 349383 2026-08-08T15:56:59Z MacTire02 219 +clowan 388445 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1652}} [[Ronney:1652]] [[Ronney:Jerraghyn ayns ny 1650yn| 2]] [[Ronney:Jerraghyn rere blein|1652]] o3fz1132iumpzvcuanuu6ad45kfjhqu Ronney:Jerraghyn 'sy vlein 1750 14 37278 388478 349384 2026-08-08T16:02:51Z MacTire02 219 +clowan 388478 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1750}} [[Ronney:1750]] [[Ronney:Jerraghyn ayns ny 1750yn| 0]] [[Ronney:Jerraghyn rere blein|1750]] ei128psp7b5ff9t5ew0vy84sz9125qx Ronney:Jerraghyn 'sy vlein 1744 14 37279 388477 349385 2026-08-08T16:02:34Z MacTire02 219 +clowan 388477 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1744}} [[Ronney:1744]] [[Ronney:Jerraghyn ayns ny 1740yn| 4]] [[Ronney:Jerraghyn rere blein|1744]] te7e9os1aiv9lr7g15kc6hgm3jf0so1 Ronney:Jerraghyn 'sy vlein 1743 14 37280 388476 349386 2026-08-08T16:02:24Z MacTire02 219 +clowan 388476 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1743}} [[Ronney:1743]] [[Ronney:Jerraghyn ayns ny 1740yn| 3]] [[Ronney:Jerraghyn rere blein|1743]] as9rgnkss25xgir9me9szb3rg1lzy5l Ronney:Jerraghyn 'sy vlein 1742 14 37281 388475 349387 2026-08-08T16:02:14Z MacTire02 219 +clowan 388475 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1742}} [[Ronney:1742]] [[Ronney:Jerraghyn ayns ny 1740yn| 2]] [[Ronney:Jerraghyn rere blein|1742]] sm3jemu5lptebiz8uccu01fsrow6v4o Ronney:Jerraghyn 'sy vlein 1741 14 37282 388474 349388 2026-08-08T16:02:03Z MacTire02 219 +clowan 388474 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1741}} [[Ronney:1741]] [[Ronney:Jerraghyn ayns ny 1740yn| 1]] [[Ronney:Jerraghyn rere blein|1741]] 5kw14j1db2a4xrw53cyopkv4x60bue3 Ronney:Jerraghyn 'sy vlein 1740 14 37283 388473 349389 2026-08-08T16:01:54Z MacTire02 219 +clowan 388473 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1740}} [[Ronney:1740]] [[Ronney:Jerraghyn ayns ny 1740yn| 0]] [[Ronney:Jerraghyn rere blein|1740]] oacl0hunmv5kmia4pkmijapdhzomk1m Ronney:Jerraghyn 'sy vlein 1739 14 37284 388472 349390 2026-08-08T16:01:44Z MacTire02 219 +clowan 388472 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1739}} [[Ronney:1739]] [[Ronney:Jerraghyn ayns ny 1730yn| 9]] [[Ronney:Jerraghyn rere blein|1739]] 6bxiroraz8zkolc0c56waf0d90n2j4j Ronney:Jerraghyn 'sy vlein 1731 14 37285 388471 349391 2026-08-08T16:01:31Z MacTire02 219 +clowan 388471 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1731}} [[Ronney:1731]] [[Ronney:Jerraghyn ayns ny 1730yn| 1]] [[Ronney:Jerraghyn rere blein|1731]] 38ez5iyqirfqhok8byoyky8vsh2aepm Ronney:Jerraghyn 'sy vlein 1727 14 37286 388470 349392 2026-08-08T16:01:21Z MacTire02 219 +clowan 388470 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1727}} [[Ronney:1727]] [[Ronney:Jerraghyn ayns ny 1720yn| 7]] [[Ronney:Jerraghyn rere blein|1727]] qwlfenb18nw9w1yeenbuyjcdb6wxuqy Ronney:Jerraghyn 'sy vlein 1723 14 37287 388469 349393 2026-08-08T16:01:11Z MacTire02 219 +clowan 388469 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1723}} [[Ronney:1723]] [[Ronney:Jerraghyn ayns ny 1720yn| 3]] [[Ronney:Jerraghyn rere blein|1723]] 36wfhqadchu6g3px1h170aokv7zrvq0 Ronney:Jerraghyn 'sy vlein 1716 14 37288 388468 349394 2026-08-08T16:00:57Z MacTire02 219 +clowan 388468 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1716}} [[Ronney:1716]] [[Ronney:Jerraghyn ayns ny 1710yn| 6]] [[Ronney:Jerraghyn rere blein|1716]] sd4c1o245x7ccalj59e4t4c3intcsc3 Ronney:Jerraghyn 'sy vlein 1710 14 37289 388467 349395 2026-08-08T16:00:42Z MacTire02 219 +clowan 388467 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1710}} [[Ronney:1710]] [[Ronney:Jerraghyn ayns ny 1710yn| 0]] [[Ronney:Jerraghyn rere blein|1710]] h8n07otncw1mpa0ukknlzcova702xs7 Ronney:Jerraghyn 'sy vlein 1705 14 37290 388466 349396 2026-08-08T16:00:32Z MacTire02 219 +clowan 388466 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1705}} [[Ronney:1705]] [[Ronney:Jerraghyn ayns ny 1700yn| 5]] [[Ronney:Jerraghyn rere blein|1705]] m3v8men164c4glwyq769811rsz0ljlf Ronney:Jerraghyn 'sy vlein 1704 14 37291 388465 349397 2026-08-08T16:00:20Z MacTire02 219 +clowan 388465 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1704}} [[Ronney:1704]] [[Ronney:Jerraghyn ayns ny 1700yn| 4]] [[Ronney:Jerraghyn rere blein|1704]] hfptwo0ofksz9arg04o6qwruq3z27du Ronney:Jerraghyn 'sy vlein 1703 14 37292 388464 349398 2026-08-08T16:00:10Z MacTire02 219 +clowan 388464 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1703}} [[Ronney:1703]] [[Ronney:Jerraghyn ayns ny 1700yn| 3]] [[Ronney:Jerraghyn rere blein|1703]] 4okere7gu4ee6xwrupia5gs9ujbidbw Ronney:Jerraghyn 'sy vlein 1799 14 37293 388503 349400 2026-08-08T16:07:14Z MacTire02 219 +clowan 388503 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1799}} [[Ronney:1799]] [[Ronney:Jerraghyn ayns ny 1790yn| 9]] [[Ronney:Jerraghyn rere blein|1799]] eromruah7denvqtwzsh9ausn8n6e1q3 Ronney:Jerraghyn 'sy vlein 1797 14 37294 388502 349401 2026-08-08T16:07:03Z MacTire02 219 +clowan 388502 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1797}} [[Ronney:1797]] [[Ronney:Jerraghyn ayns ny 1790yn| 7]] [[Ronney:Jerraghyn rere blein|1797]] qmkgl2ljm8ugduj5dinpv7jn8pcreuq Ronney:Jerraghyn 'sy vlein 1796 14 37295 388501 349402 2026-08-08T16:06:53Z MacTire02 219 +clowan 388501 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1796}} [[Ronney:1796]] [[Ronney:Jerraghyn ayns ny 1790yn| 6]] [[Ronney:Jerraghyn rere blein|1796]] eeglkgdmdf12xg9133cvhjnj0hvaute Ronney:Jerraghyn 'sy vlein 1794 14 37296 388500 349403 2026-08-08T16:06:43Z MacTire02 219 +clowan 388500 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1794}} [[Ronney:1794]] [[Ronney:Jerraghyn ayns ny 1790yn| 4]] [[Ronney:Jerraghyn rere blein|1794]] kmydy5zo1lxryxlxfo8mq3mnrzphrxs Ronney:Jerraghyn 'sy vlein 1793 14 37297 388499 349404 2026-08-08T16:06:32Z MacTire02 219 +clowan 388499 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1793}} [[Ronney:1793]] [[Ronney:Jerraghyn ayns ny 1790yn| 3]] [[Ronney:Jerraghyn rere blein|1793]] 1vctupoa7n508v26bbn6u4wtekpesl7 Ronney:Jerraghyn 'sy vlein 1791 14 37298 388498 349405 2026-08-08T16:06:23Z MacTire02 219 +clowan 388498 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1791}} [[Ronney:1791]] [[Ronney:Jerraghyn ayns ny 1790yn| 1]] [[Ronney:Jerraghyn rere blein|1791]] f072igqsvvbymesq691uoayy0ejcdom Ronney:Jerraghyn 'sy vlein 1790 14 37299 388497 349406 2026-08-08T16:06:13Z MacTire02 219 +clowan 388497 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1790}} [[Ronney:1790]] [[Ronney:Jerraghyn ayns ny 1790yn| 0]] [[Ronney:Jerraghyn rere blein|1790]] po1c1a1lotrk8h403hpyvxxto4oav01 Ronney:Jerraghyn 'sy vlein 1788 14 37300 388496 349407 2026-08-08T16:06:02Z MacTire02 219 +clowan 388496 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1788}} [[Ronney:1788]] [[Ronney:Jerraghyn ayns ny 1780yn| 8]] [[Ronney:Jerraghyn rere blein|1788]] 8a1m6wss45jyef2j8ujr8xqxyo3gkit Ronney:Jerraghyn 'sy vlein 1787 14 37301 388495 349408 2026-08-08T16:05:52Z MacTire02 219 +clowan 388495 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1787}} [[Ronney:1787]] [[Ronney:Jerraghyn ayns ny 1780yn| 7]] [[Ronney:Jerraghyn rere blein|1787]] 2j8icqc3d581hnnos2hwz6ll22dytqj Ronney:Jerraghyn 'sy vlein 1786 14 37302 388494 349409 2026-08-08T16:05:43Z MacTire02 219 +clowan 388494 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1786}} [[Ronney:1786]] [[Ronney:Jerraghyn ayns ny 1780yn| 6]] [[Ronney:Jerraghyn rere blein|1786]] kcvwerfoirb8jmvd8n9s75nq35pf40u Ronney:Jerraghyn 'sy vlein 1782 14 37303 388493 349410 2026-08-08T16:05:33Z MacTire02 219 +clowan 388493 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1782}} [[Ronney:1782]] [[Ronney:Jerraghyn ayns ny 1780yn| 2]] [[Ronney:Jerraghyn rere blein|1782]] 9qfeoysjkcbe5senizsxdowzak1o2nu Ronney:Jerraghyn 'sy vlein 1778 14 37304 388492 349411 2026-08-08T16:05:23Z MacTire02 219 +clowan 388492 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1778}} [[Ronney:1778]] [[Ronney:Jerraghyn ayns ny 1770yn| 8]] [[Ronney:Jerraghyn rere blein|1778]] i36njg495hqv6itihw41fc6ltrlxwgg Ronney:Jerraghyn 'sy vlein 1777 14 37305 388491 349412 2026-08-08T16:05:15Z MacTire02 219 +clowan 388491 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1777}} [[Ronney:1777]] [[Ronney:Jerraghyn ayns ny 1770yn| 7]] [[Ronney:Jerraghyn rere blein|1777]] tvnenln408g1pcoj5z1u6gedgfxggn0 Ronney:Jerraghyn 'sy vlein 1774 14 37306 388490 349413 2026-08-08T16:05:06Z MacTire02 219 +clowan 388490 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1774}} [[Ronney:1774]] [[Ronney:Jerraghyn ayns ny 1770yn| 4]] [[Ronney:Jerraghyn rere blein|1774]] 1ue27k71xeaeeaml8sxgl4b0te37cxs Ronney:Jerraghyn 'sy vlein 1773 14 37307 388489 349414 2026-08-08T16:04:53Z MacTire02 219 +clowan 388489 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1773}} [[Ronney:1773]] [[Ronney:Jerraghyn ayns ny 1770yn| 3]] [[Ronney:Jerraghyn rere blein|1773]] bdc2hv4qlfk0bvhkc24l99vv9sop8ig Ronney:Jerraghyn 'sy vlein 1771 14 37308 388488 349415 2026-08-08T16:04:43Z MacTire02 219 +clowan 388488 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1771}} [[Ronney:1771]] [[Ronney:Jerraghyn ayns ny 1770yn| 1]] [[Ronney:Jerraghyn rere blein|1771]] od0ulnttxpme32puwilwck0zg1nliai Ronney:Jerraghyn 'sy vlein 1768 14 37309 388487 349416 2026-08-08T16:04:32Z MacTire02 219 +clowan 388487 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1768}} [[Ronney:1768]] [[Ronney:Jerraghyn ayns ny 1760yn| 8]] [[Ronney:Jerraghyn rere blein|1768]] pml2aasxfnftm39fb3rbulorkv06ihh Ronney:Jerraghyn 'sy vlein 1766 14 37310 388486 349417 2026-08-08T16:04:21Z MacTire02 219 +clowan 388486 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1766}} [[Ronney:1766]] [[Ronney:Jerraghyn ayns ny 1760yn| 6]] [[Ronney:Jerraghyn rere blein|1766]] tuwx5lweijrtp0qh07fdqnp009y1bhs Ronney:Jerraghyn 'sy vlein 1764 14 37311 388485 349418 2026-08-08T16:04:10Z MacTire02 219 +clowan 388485 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1764}} [[Ronney:1764]] [[Ronney:Jerraghyn ayns ny 1760yn| 4]] [[Ronney:Jerraghyn rere blein|1764]] 6tibn3sdmegp6xwb2r9ocjgmq2be8ao Ronney:Jerraghyn 'sy vlein 1762 14 37312 388484 349419 2026-08-08T16:04:01Z MacTire02 219 +clowan 388484 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1762}} [[Ronney:1762]] [[Ronney:Jerraghyn ayns ny 1760yn| 2]] [[Ronney:Jerraghyn rere blein|1762]] ch37gxgqypknnh3al5hrfszq4aw2ygy Ronney:Jerraghyn 'sy vlein 1759 14 37313 388483 349420 2026-08-08T16:03:51Z MacTire02 219 +clowan 388483 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1759}} [[Ronney:1759]] [[Ronney:Jerraghyn ayns ny 1750yn| 9]] [[Ronney:Jerraghyn rere blein|1759]] ijdhiys7enknpbvlxrpzuocokow4tul Ronney:Jerraghyn 'sy vlein 1758 14 37314 388482 349421 2026-08-08T16:03:29Z MacTire02 219 +clowan 388482 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1758}} [[Ronney:1758]] [[Ronney:Jerraghyn ayns ny 1750yn| 8]] [[Ronney:Jerraghyn rere blein|1758]] 2kz8x0q7izkmhlwcga29ijkseelpxw0 Ronney:Jerraghyn 'sy vlein 1756 14 37315 388481 349422 2026-08-08T16:03:20Z MacTire02 219 +clowan 388481 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1756}} [[Ronney:1756]] [[Ronney:Jerraghyn ayns ny 1750yn| 6]] [[Ronney:Jerraghyn rere blein|1756]] rg1q4i8yukxtgvmxtbhu3vz6al42n0c Ronney:Jerraghyn 'sy vlein 1754 14 37316 388480 349423 2026-08-08T16:03:11Z MacTire02 219 +clowan 388480 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1754}} [[Ronney:1754]] [[Ronney:Jerraghyn ayns ny 1750yn| 4]] [[Ronney:Jerraghyn rere blein|1754]] cz690zro92fss0dkv6w8wcgsmj1xoxt Ronney:Jerraghyn 'sy vlein 1753 14 37317 388479 349424 2026-08-08T16:03:00Z MacTire02 219 +clowan 388479 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1753}} [[Ronney:1753]] [[Ronney:Jerraghyn ayns ny 1750yn| 3]] [[Ronney:Jerraghyn rere blein|1753]] dewrmjwug2a7iteltgtem7oaz4243z8 Ronney:Jerraghyn 'sy vlein 1849 14 37318 388521 349425 2026-08-08T16:11:11Z MacTire02 219 +clowan 388521 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1849}} [[Ronney:1849]] [[Ronney:Jerraghyn ayns ny 1840yn| 9]] [[Ronney:Jerraghyn rere blein|1849]] qh5yu7m8bzf830wr05xk3aluar0q33l Ronney:Jerraghyn 'sy vlein 1848 14 37319 388520 349426 2026-08-08T16:11:02Z MacTire02 219 +clowan 388520 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1848}} [[Ronney:1848]] [[Ronney:Jerraghyn ayns ny 1840yn| 8]] [[Ronney:Jerraghyn rere blein|1848]] dt4qncmr6yiql9l1ca8gfhdfs1m842h Ronney:Jerraghyn 'sy vlein 1845 14 37320 388519 349427 2026-08-08T16:10:51Z MacTire02 219 +clowan 388519 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1845}} [[Ronney:1845]] [[Ronney:Jerraghyn ayns ny 1840yn| 5]] [[Ronney:Jerraghyn rere blein|1845]] n6y2ovruy55pjlplzp7qm2ba7rwxzfi Ronney:Jerraghyn 'sy vlein 1843 14 37321 388518 349428 2026-08-08T16:10:42Z MacTire02 219 +clowan 388518 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1843}} [[Ronney:1843]] [[Ronney:Jerraghyn ayns ny 1840yn| 3]] [[Ronney:Jerraghyn rere blein|1843]] ds9v7il9wv40mycioqe13688050zh6s Ronney:Jerraghyn 'sy vlein 1842 14 37322 388517 349429 2026-08-08T16:10:31Z MacTire02 219 +clowan 388517 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1842}} [[Ronney:1842]] [[Ronney:Jerraghyn ayns ny 1840yn| 2]] [[Ronney:Jerraghyn rere blein|1842]] 5vw0kgr8uxsc91un2vm1vjmo08m1y4n Ronney:Jerraghyn 'sy vlein 1841 14 37323 388516 349430 2026-08-08T16:10:22Z MacTire02 219 +clowan 388516 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1841}} [[Ronney:1841]] [[Ronney:Jerraghyn ayns ny 1840yn| 1]] [[Ronney:Jerraghyn rere blein|1841]] kxpq3yvdzqyubfvl2jzo6mxusq4a43s Ronney:Jerraghyn 'sy vlein 1838 14 37324 388515 349431 2026-08-08T16:10:12Z MacTire02 219 +clowan 388515 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1838}} [[Ronney:1838]] [[Ronney:Jerraghyn ayns ny 1830yn| 8]] [[Ronney:Jerraghyn rere blein|1838]] 87iycjz9lcikroeyz4avggernfx9p7v Ronney:Jerraghyn 'sy vlein 1837 14 37325 388514 349432 2026-08-08T16:09:56Z MacTire02 219 +clowan 388514 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1837}} [[Ronney:1837]] [[Ronney:Jerraghyn ayns ny 1830yn| 7]] [[Ronney:Jerraghyn rere blein|1837]] 5s2vxx20et3eozm9jkcre8o2pivhjxv Ronney:Jerraghyn 'sy vlein 1836 14 37326 388513 349433 2026-08-08T16:09:45Z MacTire02 219 +clowan 388513 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1836}} [[Ronney:1836]] [[Ronney:Jerraghyn ayns ny 1830yn| 6]] [[Ronney:Jerraghyn rere blein|1836]] 60k7bjxibr9r871cb2py8cvg7fg60jb Ronney:Jerraghyn 'sy vlein 1831 14 37327 388512 349434 2026-08-08T16:09:36Z MacTire02 219 +clowan 388512 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1831}} [[Ronney:1831]] [[Ronney:Jerraghyn ayns ny 1830yn| 1]] [[Ronney:Jerraghyn rere blein|1831]] 72jblruhn71b9tgr4hgmwgfqvt3606g Ronney:Jerraghyn 'sy vlein 1828 14 37328 388511 349435 2026-08-08T16:09:16Z MacTire02 219 +clowan 388511 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1828}} [[Ronney:1828]] [[Ronney:Jerraghyn ayns ny 1820yn| 8]] [[Ronney:Jerraghyn rere blein|1828]] ertazcs6lc6jdohh4ww2ucan9hr7zhb Ronney:Jerraghyn 'sy vlein 1827 14 37329 388510 349436 2026-08-08T16:08:34Z MacTire02 219 +clowan 388510 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1827}} [[Ronney:1827]] [[Ronney:Jerraghyn ayns ny 1820yn| 7]] [[Ronney:Jerraghyn rere blein|1827]] cfd1s61kcdusbtx2yqlqbp3p0ku6zdt Ronney:Jerraghyn 'sy vlein 1826 14 37330 388509 349437 2026-08-08T16:08:25Z MacTire02 219 +clowan 388509 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1826}} [[Ronney:1826]] [[Ronney:Jerraghyn ayns ny 1820yn| 6]] [[Ronney:Jerraghyn rere blein|1826]] rkw2y7ctzf277f8gpini0us6ugrs940 Ronney:Jerraghyn 'sy vlein 1824 14 37331 388508 349438 2026-08-08T16:08:16Z MacTire02 219 +clowan 388508 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1824}} [[Ronney:1824]] [[Ronney:Jerraghyn ayns ny 1820yn| 4]] [[Ronney:Jerraghyn rere blein|1824]] kwlopfoh2hfaxknxkg232fqssjgmnpm Ronney:Jerraghyn 'sy vlein 1821 14 37332 388507 349439 2026-08-08T16:08:04Z MacTire02 219 +clowan 388507 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1821}} [[Ronney:1821]] [[Ronney:Jerraghyn ayns ny 1820yn| 1]] [[Ronney:Jerraghyn rere blein|1821]] 9uwb3zzq165bx97nhkzg5imc171k45k Ronney:Jerraghyn 'sy vlein 1819 14 37333 388506 349440 2026-08-08T16:07:55Z MacTire02 219 +clowan 388506 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1819}} [[Ronney:1819]] [[Ronney:Jerraghyn ayns ny 1810yn| 9]] [[Ronney:Jerraghyn rere blein|1819]] ob6f0k18xq30io3y2h2bxbp4jgqy7n0 Ronney:Jerraghyn 'sy vlein 1817 14 37334 388505 349441 2026-08-08T16:07:45Z MacTire02 219 +clowan 388505 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1817}} [[Ronney:1817]] [[Ronney:Jerraghyn ayns ny 1810yn| 7]] [[Ronney:Jerraghyn rere blein|1817]] n63lnu183ry1c74w4w12vl35o38q9dy Ronney:Jerraghyn 'sy vlein 1814 14 37335 388504 349442 2026-08-08T16:07:36Z MacTire02 219 +clowan 388504 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1814}} [[Ronney:1814]] [[Ronney:Jerraghyn ayns ny 1810yn| 4]] [[Ronney:Jerraghyn rere blein|1814]] jrg72rcippjktapn67fxtir92ag5ngr Ronney:Jerraghyn 'sy vlein 1898 14 37340 388550 349447 2026-08-08T16:16:28Z MacTire02 219 +clowan 388550 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1898}} [[Ronney:1898]] [[Ronney:Jerraghyn ayns ny 1890yn| 8]] [[Ronney:Jerraghyn rere blein|1898]] op8uaoswpm4tsfnz03atsufpbzqzlm3 Ronney:Jerraghyn 'sy vlein 1888 14 37346 388548 349453 2026-08-08T16:15:53Z MacTire02 219 +clowan 388548 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1888}} [[Ronney:1888]] [[Ronney:Jerraghyn ayns ny 1880yn| 8]] [[Ronney:Jerraghyn rere blein|1888]] 0252pf6i8dt1y61m3qmzq9weau17tw5 Ronney:Jerraghyn 'sy vlein 1887 14 37347 388547 349454 2026-08-08T16:15:43Z MacTire02 219 +clowan 388547 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1887}} [[Ronney:1887]] [[Ronney:Jerraghyn ayns ny 1880yn| 7]] [[Ronney:Jerraghyn rere blein|1887]] p0037zgjvu643dw71r0ypwdj0sewgll Ronney:Jerraghyn 'sy vlein 1886 14 37348 388546 349455 2026-08-08T16:15:32Z MacTire02 219 +clowan 388546 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1886}} [[Ronney:1886]] [[Ronney:Jerraghyn ayns ny 1880yn| 6]] [[Ronney:Jerraghyn rere blein|1886]] 0jmpmk3136vqtzu0b1zvubwdk418x1c Ronney:Jerraghyn 'sy vlein 1885 14 37349 388545 349456 2026-08-08T16:15:22Z MacTire02 219 +clowan 388545 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1885}} [[Ronney:1885]] [[Ronney:Jerraghyn ayns ny 1880yn| 5]] [[Ronney:Jerraghyn rere blein|1885]] kgcicrt40lyq4ambcj4aw1ik3ydbjwl Ronney:Jerraghyn 'sy vlein 1884 14 37350 388544 349457 2026-08-08T16:15:12Z MacTire02 219 +clowan 388544 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1884}} [[Ronney:1884]] [[Ronney:Jerraghyn ayns ny 1880yn| 4]] [[Ronney:Jerraghyn rere blein|1884]] bf18ja08nn632i3f97ilundu9nwlqw8 Ronney:Jerraghyn 'sy vlein 1883 14 37351 388543 349458 2026-08-08T16:15:02Z MacTire02 219 +clowan 388543 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1883}} [[Ronney:1883]] [[Ronney:Jerraghyn ayns ny 1880yn| 3]] [[Ronney:Jerraghyn rere blein|1883]] 374nys6vtc5o8j0lyq661yco0n8lhfv Ronney:Jerraghyn 'sy vlein 1882 14 37352 388542 349459 2026-08-08T16:14:51Z MacTire02 219 +clowan 388542 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1882}} [[Ronney:1882]] [[Ronney:Jerraghyn ayns ny 1880yn| 2]] [[Ronney:Jerraghyn rere blein|1882]] gh6r85i6q1x4w1yw44oyajuxxhxv6kd Ronney:Jerraghyn 'sy vlein 1881 14 37353 388541 349460 2026-08-08T16:14:42Z MacTire02 219 +clowan 388541 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1881}} [[Ronney:1881]] [[Ronney:Jerraghyn ayns ny 1880yn| 1]] [[Ronney:Jerraghyn rere blein|1881]] he177ryfwjsy3dmpwrgr88v7aw60c89 Ronney:Jerraghyn 'sy vlein 1880 14 37354 388540 349461 2026-08-08T16:14:34Z MacTire02 219 +clowan 388540 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1880}} [[Ronney:1880]] [[Ronney:Jerraghyn ayns ny 1880yn| 0]] [[Ronney:Jerraghyn rere blein|1880]] fqwovuath7eoevrki3xawfo06py3l6g Ronney:Jerraghyn 'sy vlein 1869 14 37360 388539 349467 2026-08-08T16:14:06Z MacTire02 219 +clowan 388539 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1869}} [[Ronney:1869]] [[Ronney:Jerraghyn ayns ny 1860yn| 9]] [[Ronney:Jerraghyn rere blein|1869]] n1jxszod04occ0uoomggapysgf4bmk7 Ronney:Jerraghyn 'sy vlein 1868 14 37361 388538 349468 2026-08-08T16:13:57Z MacTire02 219 +clowan 388538 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1868}} [[Ronney:1868]] [[Ronney:Jerraghyn ayns ny 1860yn| 8]] [[Ronney:Jerraghyn rere blein|1868]] c1um4sn9ww13pf8zqjo0zd0sjuncxqi Ronney:Jerraghyn 'sy vlein 1867 14 37362 388537 349469 2026-08-08T16:13:48Z MacTire02 219 +clowan 388537 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1867}} [[Ronney:1867]] [[Ronney:Jerraghyn ayns ny 1860yn| 7]] [[Ronney:Jerraghyn rere blein|1867]] 9mx6oafg4eeo7xyb0e8ibphxl7h5yyd Ronney:Jerraghyn 'sy vlein 1866 14 37363 388536 349470 2026-08-08T16:13:38Z MacTire02 219 +clowan 388536 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1866}} [[Ronney:1866]] [[Ronney:Jerraghyn ayns ny 1860yn| 6]] [[Ronney:Jerraghyn rere blein|1866]] 8b0th3myhomeumqjrn2r6asufpo6v4x Ronney:Jerraghyn 'sy vlein 1865 14 37364 388535 349471 2026-08-08T16:13:29Z MacTire02 219 +clowan 388535 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1865}} [[Ronney:1865]] [[Ronney:Jerraghyn ayns ny 1860yn| 5]] [[Ronney:Jerraghyn rere blein|1865]] p23nkgeldlwvsi21hrq1ygdq663eqlq Ronney:Jerraghyn 'sy vlein 1864 14 37365 388534 349472 2026-08-08T16:13:19Z MacTire02 219 +clowan 388534 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1864}} [[Ronney:1864]] [[Ronney:Jerraghyn ayns ny 1860yn| 4]] [[Ronney:Jerraghyn rere blein|1864]] m87o2e6wzaevze1p1srab7i56mol5fq Ronney:Jerraghyn 'sy vlein 1863 14 37366 388533 349473 2026-08-08T16:13:09Z MacTire02 219 +clowan 388533 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1863}} [[Ronney:1863]] [[Ronney:Jerraghyn ayns ny 1860yn| 3]] [[Ronney:Jerraghyn rere blein|1863]] jd4nwkvknredhgcia3f3zxk9vk1zt1a Ronney:Jerraghyn 'sy vlein 1862 14 37367 388532 349474 2026-08-08T16:13:00Z MacTire02 219 +clowan 388532 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1862}} [[Ronney:1862]] [[Ronney:Jerraghyn ayns ny 1860yn| 2]] [[Ronney:Jerraghyn rere blein|1862]] 95o23vj2ss2vhle2c4vazqvhhywk8lp Ronney:Jerraghyn 'sy vlein 1861 14 37368 388531 349475 2026-08-08T16:12:50Z MacTire02 219 +clowan 388531 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1861}} [[Ronney:1861]] [[Ronney:Jerraghyn ayns ny 1860yn| 1]] [[Ronney:Jerraghyn rere blein|1861]] ejouhyokkis64lc0zz9mbejgtnv0zr1 Ronney:Jerraghyn 'sy vlein 1860 14 37369 388530 349476 2026-08-08T16:12:41Z MacTire02 219 +clowan 388530 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1860}} [[Ronney:1860]] [[Ronney:Jerraghyn ayns ny 1860yn| 0]] [[Ronney:Jerraghyn rere blein|1860]] ocs7curx3swljlypge6rih8o8s2kthr Ronney:Jerraghyn 'sy vlein 1858 14 37370 388529 349477 2026-08-08T16:12:31Z MacTire02 219 +clowan 388529 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1858}} [[Ronney:1858]] [[Ronney:Jerraghyn ayns ny 1850yn| 8]] [[Ronney:Jerraghyn rere blein|1858]] 8drpxxbhx9uy968fj0s2406paucxu31 Ronney:Jerraghyn 'sy vlein 1857 14 37371 388528 349478 2026-08-08T16:12:21Z MacTire02 219 +clowan 388528 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1857}} [[Ronney:1857]] [[Ronney:Jerraghyn ayns ny 1850yn| 7]] [[Ronney:Jerraghyn rere blein|1857]] h5hcrxaty644upjl8h8xmw5au2x9x8i Ronney:Jerraghyn 'sy vlein 1856 14 37372 388527 349479 2026-08-08T16:12:12Z MacTire02 219 +clowan 388527 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1856}} [[Ronney:1856]] [[Ronney:Jerraghyn ayns ny 1850yn| 6]] [[Ronney:Jerraghyn rere blein|1856]] rc8shgbxjxnqm0rt6ony79c7aj8jylc Ronney:Jerraghyn 'sy vlein 1854 14 37373 388526 349480 2026-08-08T16:12:02Z MacTire02 219 +clowan 388526 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1854}} [[Ronney:1854]] [[Ronney:Jerraghyn ayns ny 1850yn| 4]] [[Ronney:Jerraghyn rere blein|1854]] f8uovxw4duvavesi4zyodkk936q6rfi Ronney:Jerraghyn 'sy vlein 1853 14 37374 388525 349481 2026-08-08T16:11:52Z MacTire02 219 +clowan 388525 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1853}} [[Ronney:1853]] [[Ronney:Jerraghyn ayns ny 1850yn| 3]] [[Ronney:Jerraghyn rere blein|1853]] l9cyvypy30du1anj7weg01ltxrq9szp Ronney:Jerraghyn 'sy vlein 1852 14 37375 388524 349482 2026-08-08T16:11:42Z MacTire02 219 +clowan 388524 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1852}} [[Ronney:1852]] [[Ronney:Jerraghyn ayns ny 1850yn| 2]] [[Ronney:Jerraghyn rere blein|1852]] eba8onyas0wyk2y1kza3jppuwm20ecr Ronney:Jerraghyn 'sy vlein 1851 14 37376 388523 349483 2026-08-08T16:11:32Z MacTire02 219 +clowan 388523 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1851}} [[Ronney:1851]] [[Ronney:Jerraghyn ayns ny 1850yn| 1]] [[Ronney:Jerraghyn rere blein|1851]] bonni04y1ds9c84vf54zsu6j8o12u69 Ronney:Jerraghyn 'sy vlein 1850 14 37377 388522 349484 2026-08-08T16:11:22Z MacTire02 219 +clowan 388522 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1850}} [[Ronney:1850]] [[Ronney:Jerraghyn ayns ny 1850yn| 0]] [[Ronney:Jerraghyn rere blein|1850]] m2bygxlcdduu1epfs902j2ftv2wtnhb Ronney:Jerraghyn 'sy vlein 1922 14 37378 388388 349486 2026-08-08T15:09:09Z MacTire02 219 +clowan 388388 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1922}} [[Ronney:1922]] [[Ronney:Jerraghyn ayns ny 1920yn| 2]] [[Ronney:Jerraghyn rere blein|1922]] o2tert1k51zakn3ytnue8rzai466er7 Ronney:Jerraghyn 'sy vlein 1919 14 37379 388557 349487 2026-08-08T16:17:50Z MacTire02 219 +clowan 388557 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1919}} [[Ronney:1919]] [[Ronney:Jerraghyn ayns ny 1910yn| 9]] [[Ronney:Jerraghyn rere blein|1919]] 976nm0f9oegkf9rcxvyakubxi5vq0nk Ronney:Jerraghyn 'sy vlein 1918 14 37380 388556 349488 2026-08-08T16:17:41Z MacTire02 219 +clowan 388556 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1918}} [[Ronney:1918]] [[Ronney:Jerraghyn ayns ny 1910yn| 8]] [[Ronney:Jerraghyn rere blein|1918]] 56o1oyri3sxct5hh0sp6vfhtcpd6iwx Ronney:Jerraghyn 'sy vlein 1917 14 37381 388555 349489 2026-08-08T16:17:32Z MacTire02 219 +clowan 388555 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1917}} [[Ronney:1917]] [[Ronney:Jerraghyn ayns ny 1910yn| 7]] [[Ronney:Jerraghyn rere blein|1917]] 8uwhm8aimufzg3z8dqepita0hskek91 Ronney:Jerraghyn 'sy vlein 1916 14 37382 388554 349490 2026-08-08T16:17:23Z MacTire02 219 +clowan 388554 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1916}} [[Ronney:1916]] [[Ronney:Jerraghyn ayns ny 1910yn| 6]] [[Ronney:Jerraghyn rere blein|1916]] nsyfgpme7j85ixynbdkb1wd2wzgr5my Ronney:Jerraghyn 'sy vlein 1914 14 37383 388553 349491 2026-08-08T16:17:14Z MacTire02 219 +clowan 388553 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1914}} [[Ronney:1914]] [[Ronney:Jerraghyn ayns ny 1910yn| 4]] [[Ronney:Jerraghyn rere blein|1914]] mkwz6yxp7kn5uuvadrg0dgy47tl6mhz Ronney:Jerraghyn 'sy vlein 1912 14 37384 388552 349492 2026-08-08T16:17:05Z MacTire02 219 +clowan 388552 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1912}} [[Ronney:1912]] [[Ronney:Jerraghyn ayns ny 1910yn| 2]] [[Ronney:Jerraghyn rere blein|1912]] tb1kvp9eqi83ee3gg9e4qlv2iep9eu8 Ronney:Jerraghyn 'sy vlein 1937 14 37394 388569 349502 2026-08-08T16:20:06Z MacTire02 219 +clowan 388569 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1937}} [[Ronney:1937]] [[Ronney:Jerraghyn ayns ny 1930yn| 7]] [[Ronney:Jerraghyn rere blein|1937]] jkx3vf5litm224zgu3lyimb5ef2kleo Ronney:Jerraghyn 'sy vlein 1936 14 37395 388568 349503 2026-08-08T16:19:57Z MacTire02 219 +clowan 388568 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1936}} [[Ronney:1936]] [[Ronney:Jerraghyn ayns ny 1930yn| 6]] [[Ronney:Jerraghyn rere blein|1936]] 9ice8rz5mxcjcgtj5sj0dyq5xv732if Ronney:Jerraghyn 'sy vlein 1933 14 37396 388565 349504 2026-08-08T16:19:27Z MacTire02 219 +clowan 388565 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1933}} [[Ronney:1933]] [[Ronney:Jerraghyn ayns ny 1930yn| 3]] [[Ronney:Jerraghyn rere blein|1933]] f6gydmi30qb5hwe8tddg5am1zzyp0ik Ronney:Jerraghyn 'sy vlein 1932 14 37397 388564 349505 2026-08-08T16:19:18Z MacTire02 219 +clowan 388564 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1932}} [[Ronney:1932]] [[Ronney:Jerraghyn ayns ny 1930yn| 2]] [[Ronney:Jerraghyn rere blein|1932]] kykszj8x1nmdzj2un6k43qj0q92r1w1 Ronney:Jerraghyn 'sy vlein 1930 14 37398 388563 349506 2026-08-08T16:19:08Z MacTire02 219 +clowan 388563 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1930}} [[Ronney:1930]] [[Ronney:Jerraghyn ayns ny 1930yn| 0]] [[Ronney:Jerraghyn rere blein|1930]] 6p12nt3xl1sf4da873azc5o8k9vcl1f Ronney:Jerraghyn 'sy vlein 1928 14 37399 388562 349507 2026-08-08T16:18:56Z MacTire02 219 +clowan 388562 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1928}} [[Ronney:1928]] [[Ronney:Jerraghyn ayns ny 1920yn| 8]] [[Ronney:Jerraghyn rere blein|1928]] t251x9inmbvsxvrn1ff42j2tek49g0r Ronney:Jerraghyn 'sy vlein 1927 14 37400 388561 349508 2026-08-08T16:18:45Z MacTire02 219 +clowan 388561 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1927}} [[Ronney:1927]] [[Ronney:Jerraghyn ayns ny 1920yn| 7]] [[Ronney:Jerraghyn rere blein|1927]] 6u9d6fbt9ehapyz3j7a4inn0qgqf8sn Ronney:Jerraghyn 'sy vlein 1925 14 37401 388560 349509 2026-08-08T16:18:36Z MacTire02 219 +clowan 388560 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1925}} [[Ronney:1925]] [[Ronney:Jerraghyn ayns ny 1920yn| 5]] [[Ronney:Jerraghyn rere blein|1925]] 59kc69o4288er0j95tz5gnux8sgff8w Ronney:Jerraghyn 'sy vlein 1924 14 37402 388559 349510 2026-08-08T16:18:27Z MacTire02 219 +clowan 388559 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1924}} [[Ronney:1924]] [[Ronney:Jerraghyn ayns ny 1920yn| 4]] [[Ronney:Jerraghyn rere blein|1924]] gz4twexoo5vb5yp9am38ksrt7q0dczd Ronney:Jerraghyn 'sy vlein 1923 14 37403 388558 349511 2026-08-08T16:18:15Z MacTire02 219 +clowan 388558 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1923}} [[Ronney:1923]] [[Ronney:Jerraghyn ayns ny 1920yn| 3]] [[Ronney:Jerraghyn rere blein|1923]] f06ifp7fac1k5u273an61le2nqmchl9 Ronney:Jerraghyn 'sy vlein 1959 14 37404 388583 349512 2026-08-08T16:22:50Z MacTire02 219 +clowan 388583 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1959}} [[Ronney:1959]] [[Ronney:Jerraghyn ayns ny 1950yn| 9]] [[Ronney:Jerraghyn rere blein|1959]] s5xe9g5wojq00ex8y1a2rbb2rki414z Ronney:Jerraghyn 'sy vlein 1957 14 37405 388582 349513 2026-08-08T16:22:38Z MacTire02 219 +clowan 388582 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1957}} [[Ronney:1957]] [[Ronney:Jerraghyn ayns ny 1950yn| 7]] [[Ronney:Jerraghyn rere blein|1957]] dflmdipfc15w2temffifqsboce04nqs Ronney:Jerraghyn 'sy vlein 1956 14 37406 388581 349514 2026-08-08T16:22:28Z MacTire02 219 +clowan 388581 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1956}} [[Ronney:1956]] [[Ronney:Jerraghyn ayns ny 1950yn| 6]] [[Ronney:Jerraghyn rere blein|1956]] eu71rd75zucpcrh3ohte8oo6u88wdc3 Ronney:Jerraghyn 'sy vlein 2022 14 37407 388610 349591 2026-08-08T16:29:04Z MacTire02 219 +clowan 388610 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2022}} [[Ronney:2022]] [[Ronney:Jerraghyn ayns ny 2020yn| 2]] [[Ronney:Jerraghyn rere blein|2022]] h3o9zpbh49plygouik0kft3m3m2g2l7 Ronney:Jerraghyn 'sy vlein 1955 14 37408 388580 349516 2026-08-08T16:22:18Z MacTire02 219 +clowan 388580 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1955}} [[Ronney:1955]] [[Ronney:Jerraghyn ayns ny 1950yn| 5]] [[Ronney:Jerraghyn rere blein|1955]] kaq3csz72yhk1x5aj3dt9wm3dznrelr Ronney:Jerraghyn 'sy vlein 1954 14 37409 388579 349517 2026-08-08T16:22:08Z MacTire02 219 +clowan 388579 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1954}} [[Ronney:1954]] [[Ronney:Jerraghyn ayns ny 1950yn| 4]] [[Ronney:Jerraghyn rere blein|1954]] antwr0d8e6ln82jj6cppt74uyagkqrb Ronney:Jerraghyn 'sy vlein 1953 14 37410 388578 349518 2026-08-08T16:21:57Z MacTire02 219 +clowan 388578 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1953}} [[Ronney:1953]] [[Ronney:Jerraghyn ayns ny 1950yn| 3]] [[Ronney:Jerraghyn rere blein|1953]] 9zicd42d36rzjewxtytwnknul7s2g96 Ronney:Jerraghyn 'sy vlein 1952 14 37411 388577 349519 2026-08-08T16:21:47Z MacTire02 219 +clowan 388577 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1952}} [[Ronney:1952]] [[Ronney:Jerraghyn ayns ny 1950yn| 2]] [[Ronney:Jerraghyn rere blein|1952]] kgjh014ffrfx9iq69j7873zazvtjg73 Ronney:Jerraghyn 'sy vlein 1951 14 37412 388576 349520 2026-08-08T16:21:37Z MacTire02 219 +clowan 388576 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1951}} [[Ronney:1951]] [[Ronney:Jerraghyn ayns ny 1950yn| 1]] [[Ronney:Jerraghyn rere blein|1951]] ov926v7ijdo8mry84vnv7160mj3z1mf Ronney:Jerraghyn 'sy vlein 1950 14 37413 388575 349521 2026-08-08T16:21:23Z MacTire02 219 +clowan 388575 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1950}} [[Ronney:1950]] [[Ronney:Jerraghyn ayns ny 1950yn| 0]] [[Ronney:Jerraghyn rere blein|1950]] i96o6jkshtwkbyd1w88f6u1b8g089js Ronney:Jerraghyn 'sy vlein 1945 14 37416 388573 349524 2026-08-08T16:20:59Z MacTire02 219 +clowan 388573 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1945}} [[Ronney:1945]] [[Ronney:Jerraghyn ayns ny 1940yn| 5]] [[Ronney:Jerraghyn rere blein|1945]] kzqwhjgjzppa8w8chhad0yexigkmpct Ronney:Jerraghyn 'sy vlein 1943 14 37418 388572 349526 2026-08-08T16:20:44Z MacTire02 219 +clowan 388572 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1943}} [[Ronney:1943]] [[Ronney:Jerraghyn ayns ny 1940yn| 3]] [[Ronney:Jerraghyn rere blein|1943]] lg0xsz536beodo6t2l2thyjgvkno82h Ronney:Jerraghyn 'sy vlein 1942 14 37419 388571 349527 2026-08-08T16:20:35Z MacTire02 219 +clowan 388571 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1942}} [[Ronney:1942]] [[Ronney:Jerraghyn ayns ny 1940yn| 2]] [[Ronney:Jerraghyn rere blein|1942]] npfinhvyrk851zqizamz1rr11s76b7p Ronney:Jerraghyn 'sy vlein 1941 14 37420 388570 349528 2026-08-08T16:20:26Z MacTire02 219 +clowan 388570 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1941}} [[Ronney:1941]] [[Ronney:Jerraghyn ayns ny 1940yn| 1]] [[Ronney:Jerraghyn rere blein|1941]] elqpjmdcdor33agx7dnhn2qvtxrbivp Ronney:Jerraghyn 'sy vlein 1978 14 37421 388599 349529 2026-08-08T16:26:14Z MacTire02 219 +clowan 388599 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1978}} [[Ronney:1978]] [[Ronney:Jerraghyn ayns ny 1970yn| 8]] [[Ronney:Jerraghyn rere blein|1978]] i331e00nmfqjiz8j84n9zqo6zd1xumz Ronney:Jerraghyn 'sy vlein 1977 14 37422 388598 349530 2026-08-08T16:26:03Z MacTire02 219 +clowan 388598 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1977}} [[Ronney:1977]] [[Ronney:Jerraghyn ayns ny 1970yn| 7]] [[Ronney:Jerraghyn rere blein|1977]] f759ufiof0knem6c2klxr5tmddrs3jb Ronney:Jerraghyn 'sy vlein 1976 14 37423 388597 349531 2026-08-08T16:25:53Z MacTire02 219 +clowan 388597 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1976}} [[Ronney:1976]] [[Ronney:Jerraghyn ayns ny 1970yn| 6]] [[Ronney:Jerraghyn rere blein|1976]] qpso4bm5yw9m5iouahuzkmi9y91ijcz Ronney:Jerraghyn 'sy vlein 1975 14 37424 388596 349532 2026-08-08T16:25:42Z MacTire02 219 +clowan 388596 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1975}} [[Ronney:1975]] [[Ronney:Jerraghyn ayns ny 1970yn| 5]] [[Ronney:Jerraghyn rere blein|1975]] 4fzqr1gviki9bmz5ha22pr64kfkgkjg Ronney:Jerraghyn 'sy vlein 1974 14 37425 388595 349533 2026-08-08T16:25:30Z MacTire02 219 +clowan 388595 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1974}} [[Ronney:1974]] [[Ronney:Jerraghyn ayns ny 1970yn| 4]] [[Ronney:Jerraghyn rere blein|1974]] 5vxo055avy6v1v4jmdnkuqk7q3ggawn Ronney:Jerraghyn 'sy vlein 1973 14 37426 388594 349534 2026-08-08T16:25:20Z MacTire02 219 +clowan 388594 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1973}} [[Ronney:1973]] [[Ronney:Jerraghyn ayns ny 1970yn| 3]] [[Ronney:Jerraghyn rere blein|1973]] aap2096btpk41pro7fg1d3br8qc6l0e Ronney:Jerraghyn 'sy vlein 1972 14 37427 388593 349535 2026-08-08T16:25:10Z MacTire02 219 +clowan 388593 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1972}} [[Ronney:1972]] [[Ronney:Jerraghyn ayns ny 1970yn| 2]] [[Ronney:Jerraghyn rere blein|1972]] jbun9gs4sl4f5wk6gyaao5heu07lsj7 Ronney:Jerraghyn 'sy vlein 1971 14 37428 388592 349536 2026-08-08T16:24:59Z MacTire02 219 +clowan 388592 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1971}} [[Ronney:1971]] [[Ronney:Jerraghyn ayns ny 1970yn| 1]] [[Ronney:Jerraghyn rere blein|1971]] i7hf8hb0ofn4o6ih6i82e4fg8l2hclu Ronney:Jerraghyn 'sy vlein 1968 14 37430 388590 349538 2026-08-08T16:24:26Z MacTire02 219 +clowan 388590 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1968}} [[Ronney:1968]] [[Ronney:Jerraghyn ayns ny 1960yn| 8]] [[Ronney:Jerraghyn rere blein|1968]] 41rxpo3jzym2p0h55a7neike4t4unt4 Ronney:Jerraghyn 'sy vlein 1966 14 37432 388589 349540 2026-08-08T16:24:12Z MacTire02 219 +clowan 388589 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1966}} [[Ronney:1966]] [[Ronney:Jerraghyn ayns ny 1960yn| 6]] [[Ronney:Jerraghyn rere blein|1966]] euny9lcq2m35ze58vc0rajwfck841vn Ronney:Jerraghyn 'sy vlein 1965 14 37433 388588 349541 2026-08-08T16:23:56Z MacTire02 219 +clowan 388588 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1965}} [[Ronney:1965]] [[Ronney:Jerraghyn ayns ny 1960yn| 5]] [[Ronney:Jerraghyn rere blein|1965]] 7e1ztet8tbqh6oamoc57awyw9ba5qc5 Ronney:Jerraghyn 'sy vlein 1964 14 37434 388587 349542 2026-08-08T16:23:45Z MacTire02 219 +clowan 388587 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1964}} [[Ronney:1964]] [[Ronney:Jerraghyn ayns ny 1960yn| 4]] [[Ronney:Jerraghyn rere blein|1964]] b7zb0f2ttt1eduhmhopkyhryt6358zc Ronney:Jerraghyn 'sy vlein 1963 14 37435 388586 349543 2026-08-08T16:23:32Z MacTire02 219 +clowan 388586 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1963}} [[Ronney:1963]] [[Ronney:Jerraghyn ayns ny 1960yn| 3]] [[Ronney:Jerraghyn rere blein|1963]] 2oaneegf60fr4001wnjyqnn0gnn8w94 Ronney:Jerraghyn 'sy vlein 1962 14 37436 388585 349544 2026-08-08T16:23:18Z MacTire02 219 +clowan 388585 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1962}} [[Ronney:1962]] [[Ronney:Jerraghyn ayns ny 1960yn| 2]] [[Ronney:Jerraghyn rere blein|1962]] eq8hlf4y6wkzkci62usx04rn87za6dj Ronney:Jerraghyn 'sy vlein 1960 14 37437 388584 349545 2026-08-08T16:23:04Z MacTire02 219 +clowan 388584 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1960}} [[Ronney:1960]] [[Ronney:Jerraghyn ayns ny 1960yn| 0]] [[Ronney:Jerraghyn rere blein|1960]] 9wj9tb2iqw1s4worhc9rs7glxxy3btj Ronney:Jerraghyn 'sy vlein 1979 14 37456 388600 349564 2026-08-08T16:26:25Z MacTire02 219 +clowan 388600 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1979}} [[Ronney:1979]] [[Ronney:Jerraghyn ayns ny 1970yn| 9]] [[Ronney:Jerraghyn rere blein|1979]] 49aj8qbaihi6pgfdlcmt3mletwqhuh8 Ronney:Jerraghyn 'sy vlein 2024 14 37457 388612 349565 2026-08-08T16:29:27Z MacTire02 219 +clowan 388612 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2024}} [[Ronney:2024]] [[Ronney:Jerraghyn ayns ny 2020yn| 4]] [[Ronney:Jerraghyn rere blein|2024]] bmw0j4yjin5oqo0bxx604uelrh4j52z Ronney:Jerraghyn 'sy vlein 2023 14 37458 388611 349566 2026-08-08T16:29:14Z MacTire02 219 +clowan 388611 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2023}} [[Ronney:2023]] [[Ronney:Jerraghyn ayns ny 2020yn| 3]] [[Ronney:Jerraghyn rere blein|2023]] h5i2vvbiubn5s3t50rk8slgqkltk4d5 Ronney:Jerraghyn 'sy vlein 2021 14 37459 388609 349567 2026-08-08T16:28:54Z MacTire02 219 +clowan 388609 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2021}} [[Ronney:2021]] [[Ronney:Jerraghyn ayns ny 2020yn| 1]] [[Ronney:Jerraghyn rere blein|2021]] 5q5iwqkj7cta7oa4seh760fzfhjb5y2 Ronney:Jerraghyn 'sy vlein 2020 14 37460 388608 349568 2026-08-08T16:28:44Z MacTire02 219 +clowan 388608 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2020}} [[Ronney:2020]] [[Ronney:Jerraghyn ayns ny 2020yn| 0]] [[Ronney:Jerraghyn rere blein|2020]] mvd8qlbdvw64atkducacjdkl6vj2skn Ronney:Jerraghyn 'sy vlein 2018 14 37462 388607 349570 2026-08-08T16:28:31Z MacTire02 219 +clowan 388607 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2018}} [[Ronney:2018]] [[Ronney:Jerraghyn ayns ny 2010yn| 8]] [[Ronney:Jerraghyn rere blein|2018]] rxoz595a2z6ptnjylhh1qsezz8g53qf Ronney:Jerraghyn 'sy vlein 2017 14 37463 388606 349571 2026-08-08T16:28:22Z MacTire02 219 +clowan 388606 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2017}} [[Ronney:2017]] [[Ronney:Jerraghyn ayns ny 2010yn| 7]] [[Ronney:Jerraghyn rere blein|2017]] 9nkezl9sg5q7gzzrxordty7h2tzwrsz Ronney:Jerraghyn 'sy vlein 2016 14 37464 388605 349572 2026-08-08T16:28:13Z MacTire02 219 +clowan 388605 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2016}} [[Ronney:2016]] [[Ronney:Jerraghyn ayns ny 2010yn| 6]] [[Ronney:Jerraghyn rere blein|2016]] hmplj3fgfyfcgz7c0ty7zr6yzm34mtg Ronney:Jerraghyn 'sy vlein 2015 14 37465 388604 349573 2026-08-08T16:28:02Z MacTire02 219 +clowan 388604 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2015}} [[Ronney:2015]] [[Ronney:Jerraghyn ayns ny 2010yn| 5]] [[Ronney:Jerraghyn rere blein|2015]] kig09ion2m81dbfbiuhcw0q23illf5s Ronney:Jerraghyn 'sy vlein 2014 14 37466 388603 349574 2026-08-08T16:27:53Z MacTire02 219 +clowan 388603 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2014}} [[Ronney:2014]] [[Ronney:Jerraghyn ayns ny 2010yn| 4]] [[Ronney:Jerraghyn rere blein|2014]] p02dtdkafdgrv7a090nbcwlxkq0f1z3 Ronney:Jerraghyn 'sy vlein 2013 14 37467 388602 349575 2026-08-08T16:27:43Z MacTire02 219 +clowan 388602 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2013}} [[Ronney:2013]] [[Ronney:Jerraghyn ayns ny 2010yn| 3]] [[Ronney:Jerraghyn rere blein|2013]] 845znmfpixiwp2rreoouif52vn533a5 Ronney:Jerraghyn 'sy vlein 2012 14 37468 388601 349576 2026-08-08T16:27:33Z MacTire02 219 +clowan 388601 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2012}} [[Ronney:2012]] [[Ronney:Jerraghyn ayns ny 2010yn| 2]] [[Ronney:Jerraghyn rere blein|2012]] 8pje5s65c36tp03q85e92ejlbphqjeq Ronney:880yn 14 38172 388293 350871 2026-08-08T12:47:12Z MacTire02 219 +clowan 388293 wikitext text/x-wiki {{category series navigation}} {{Commonscat|880s|880yn}} [[Ronney:Jeihaghtyn|0880]] [[Ronney:9oo eash| 8]] rwgghl43sx7okfqcrw4l9ifgr4jdkit Ronney:Politickaght ayns ny 1930yn 14 38698 388373 352040 2026-08-08T14:58:32Z MacTire02 219 +clowanyn 388373 wikitext text/x-wiki {{category series navigation}} {{commonscat|Politics in the 1930s|Politickaght ayns ny 1930yn}} [[Ronney:Politickaght rere jeihaght|1930]] [[Ronney:1930yn]] [[Ronney:Politickaght 'sy 20oo eash| 30]] 5pwktrl0eeh0eq8eru29sof8gaveq9v Ronney:Politickaght ayns ny 1920yn 14 38699 388372 352041 2026-08-08T14:57:48Z MacTire02 219 +clowanyn 388372 wikitext text/x-wiki {{category series navigation}} {{commonscat|Politics in the 1920s|Poloitickaght ayns ny 1920yn}} [[Ronney:Politickaght rere jeihaght|1920]] [[Ronney:1920yn]] [[Ronney:Politickaght 'sy 20oo eash| 20]] ll2nouksmpn6ykegibwsw0i1wrjbc2k Ronney:Politickaght 'sy 20oo eash 14 38700 388374 352042 2026-08-08T14:59:27Z MacTire02 219 +clowanyn 388374 wikitext text/x-wiki {{category series navigation}} {{commonscat|Politics in the 20th century|Politickaght 'sy 20oo eash}} [[Ronney:20oo eash]] [[Ronney:Politickaght rere eash|20]] h8p4zcwwx97kmv9zrp88p8kmn32887q Clowan:Stiurey ronnaghyn launshey siyn spoar 10 40226 388395 357265 2026-08-08T15:14:23Z MacTire02 219 +clowan 388395 wikitext text/x-wiki {{category series navigation}} [[Ronney:Etlagh spoar 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]] [[Ronney:Siyn spoar launshit ayns ny {{{1}}}0yn|*{{PAGENAME}}]] [[Ronney:Siyn spoar rere blein launshee|{{{1}}}{{{2}}}]] <noinclude> {{docamadys}} </noinclude> qk5olqnn5wb3b6yaguzczd1dc1hkobz Clowan:Stiurey ronnaghyn etlagh spoar 10 40241 388394 357327 2026-08-08T15:12:33Z MacTire02 219 clowan 388394 wikitext text/x-wiki {{category series navigation}} {{commonscat|{{{1}}}{{{2}}} in spaceflight|Etlagh spoar 'sy vlein {{{1}}}{{{2}}}}} [[Ronney:Oaylleeaght 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]] [[Ronney:Arraghey 'sy vlein {{{1}}}{{{2}}}|{{PAGENAME}}]] [[Ronney:Etlagh spoar ayns ny {{{1}}}0yn|*{{PAGENAME}}]] [[Ronney:Etlagh spoar rere blein|{{{1}}}{{{2}}}]] <noinclude> {{docamadys}} </noinclude> rni2p6pjdcm4fo1a5gy8d1irw1z6olp Ronney:Jerraghyn 'sy vlein 2025 14 40517 388613 358236 2026-08-08T16:29:37Z MacTire02 219 +clowan 388613 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2025}} [[Ronney:2025]] [[Ronney:Jerraghyn ayns ny 2020yn| 5]] [[Ronney:Jerraghyn rere blein|2025]] g448r66moyp4mpj0ptr9b8voz65c1nx Ronney:890yn 14 40652 388294 358673 2026-08-08T12:47:21Z MacTire02 219 +clowan 388294 wikitext text/x-wiki {{category series navigation}} {{Commonscat|890s|890yn}} [[Ronney:Jeihaghtyn]] [[Ronney:9oo eash| 9]] 6fsx9w44nodsep2sx66uwhy3gzn00pw Ronney:Jerraghyn 'sy vlein 1934 14 40664 388566 358767 2026-08-08T16:19:37Z MacTire02 219 +clowan 388566 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1934}} [[Ronney:1934]] [[Ronney:Jerraghyn ayns ny 1930yn| 4]] [[Ronney:Jerraghyn rere blein|1934]] so44f5cmx4lgkxozydxvllv675ulw8v Ronney:Jerraghyn 'sy vlein 1592 14 41224 388428 360890 2026-08-08T15:53:37Z MacTire02 219 +clowan 388428 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1592}} [[Ronney:1592]] [[Ronney:Jerraghyn ayns ny 1590yn| 2]] [[Ronney:Jerraghyn rere blein|1592]] 1jkuv3jsuaubmp5ewd5i7349hwtenj6 Ronney:Oaylleeaght ayns ny 1670yn 14 41519 388360 361663 2026-08-08T13:04:33Z MacTire02 219 clowan noa 388360 wikitext text/x-wiki {{category series navigation}} [[Ronney:1670yn]] [[Ronney:Oaylleeaght rere jeihaght|1670]] [[Ronney:Oaylleeaght 'sy 17oo eash| 7]] 1toe19oxdq3fkkt05ccxozcx9lajs8s Ronney:Contrey-chultoor 'sy 20oo eash 14 42990 388375 364735 2026-08-08T15:01:03Z MacTire02 219 +clowan 388375 wikitext text/x-wiki {{category series navigation}} [[Ronney:20oo eash]] [[Ronney:Contrey-chultoor|20oo]] 64sb4fp9cmwhlqxgdyiafu01bxx8h5z Ronney:Jerraghyn 'sy vlein 1947 14 43210 388574 365119 2026-08-08T16:21:08Z MacTire02 219 +clowan 388574 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1947}} [[Ronney:1947]] [[Ronney:Jerraghyn ayns ny 1940yn| 7]] [[Ronney:Jerraghyn rere blein|1947]] sk6lpluffq5yu58pock4k5ndjy7q07a Ronney:Jerraghyn 'sy vlein 1911 14 43957 388551 366794 2026-08-08T16:16:55Z MacTire02 219 +clowan 388551 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 1911}} [[Ronney:1911]] [[Ronney:Jerraghyn ayns ny 1910yn| 1]] [[Ronney:Jerraghyn rere blein|1911]] 7b0e48yvznt3ggt3qsrrtvutj3kzhuj Ronney:Skyrraghtyn bieauid giare-rane ayns ny 2020yn 14 46655 388376 372684 2026-08-08T15:02:19Z MacTire02 219 +clowan 388376 wikitext text/x-wiki {{category series navigation}} {{CatAutoTOC}} [[Ronney:Skyrraghtyn bieauid giare-rane rere jeihaght|{{Title decade}}]] [[Ronney:Skyrraghtyn bieauid ayns ny {{DECADE|{{Title decade}}}}|Giare-rane]] n1uismnofl3yitoyjiv9fldje7b214f Clowan:JeihaghtObbraghyn 10 47610 388358 380253 2026-08-08T13:01:53Z MacTire02 219 clowan elley 388358 wikitext text/x-wiki <includeonly><!-- -->{{center|{{Category explanation|obbraghyn soilshit, crooit, ny gientit ayns ny {{DECADE|{{Title decade}}}}}}}} {{category series navigation}} {{automatic category TOC}} {{commonscat|{{Title decade}}s works|Obbraghyn veih ny {{DECADE|{{Title decade}}}}}} [[Ronney:{{DECADE|{{Title decade}}}}]] [[Ronney:Obbraghyn veih'n {{#expr: floor({{Title decade}}/100) + 1}}{{#switch: {{#expr: floor({{Title decade}}/100) + 1}} | 21 = d | 22 = h | #default = oo }} eash|{{DECADE|{{Title decade}}}}]] [[Ronney:Obbraghyn rere jeihaght| {{Title decade}}]] [[Ronney:Ny h-ellynyn ayns ny {{DECADE|{{Title decade}}}}]]<!-- --></includeonly> entbxqoyor0sq6e3hu2logww931m9o1 Ronney:Arraghey 'sy 2h villey bleeaney 14 49572 388391 378201 2026-08-08T15:10:42Z MacTire02 219 +clowan 388391 wikitext text/x-wiki {{category series navigation}} {{Commons category|2nd-millennium in transport|Arraghey 'sy 2h villey bleeaney}} [[Ronney:2h villey bleeaney|Arraghey]] [[Ronney:Linnaghyn-traa bentyn rish arraghey|*2h villey bleeaney]] sse3yb3ijixtql0gwb9eqzw9fhqqw3b Ronney:Oaylleeaght 'sy 2h villey bleeaney 14 49579 388390 378214 2026-08-08T15:10:11Z MacTire02 219 +clowan 388390 wikitext text/x-wiki {{category series navigation}} [[Ronney:2h villey bleeaney]] [[Ronney:Oaylleeaght rere milley bleeaney|2]] 15duw8k57wf8uu82c5zpi387mysy3ir Clowan:Kione ronney ny h-ellynyn ayns ny YYY0yn 10 50403 388359 380767 2026-08-08T13:03:56Z MacTire02 219 clowan elley 388359 wikitext text/x-wiki {{category series navigation}} [[Ronney:{{DECADE|{{Title year}}}}|Ellynyn]] [[Ronney:Ny h-ellynyn rere jeihaght|{{DECADE|{{Title year}}}}]] [[Ronney:Ny h-ellynyn 'sy {{{eash|}}} eash|{{DECADE|{{Title year}}}}]] jfakuujqkqub6kaug7ufz76n1xsufzm Ronney:Yn Oarpey 'sy vlein 1440 14 53715 388327 386942 2026-08-08T12:53:51Z MacTire02 219 +clowan 388327 wikitext text/x-wiki {{category series navigation}} {{commonscat|1440 in Europe|Yn Oarpey 'sy vlein 1440}} [[Ronney:1440|.Oarpey]] [[Ronney:Yn Oarpey 'sy 15oo eash rere blein| 1440]] [[Ronney:Yn Oarpey ayns ny 1440yn| 0]] 96oka9juqb58rur964mo8qd7g2c77ap Ronney:1440yn rere çheer 14 53743 388326 388107 2026-08-08T12:53:25Z MacTire02 219 +clowan 388326 wikitext text/x-wiki {{category series navigation}} {{Commons category|1440s by country|1440yn rere çheer}} [[Ronney:1440yn| Cheer]] [[Ronney:15oo eash rere çheer as jeihaght| 40]] be266ybzwl7szzq1o30fz3qhh8mvkk0 Ronney:0yn 14 54051 388273 2026-08-08T12:24:48Z MacTire02 219 ronney noa 388273 wikitext text/x-wiki {{Commonscat|0s|0yn}} [[Ronney:Jeihaghtyn|0000]] [[Ronney:1d eash| 0]] csxlj4dc1cy7tqnq98jzzfmnnbgzjao 388274 388273 2026-08-08T12:25:35Z MacTire02 219 +clowan 388274 wikitext text/x-wiki {{category series navigation}} {{Commonscat|0s|0yn}} [[Ronney:Jeihaghtyn|0000]] [[Ronney:1d eash| 0]] tqio9txwzhqzl1d18pudxv61qtmnb5i Ronney:Jerraghyn 'sy vlein 2026 14 54052 388614 2026-08-08T16:30:03Z MacTire02 219 ronney noa 388614 wikitext text/x-wiki {{category series navigation}} {{see also|Ronney:Toshiaghtyn 'sy vlein 2026}} [[Ronney:2026]] [[Ronney:Jerraghyn ayns ny 2020yn| 6]] [[Ronney:Jerraghyn rere blein|2026]] mlh2bwarp7bpyzopxt50dg1n7l2svar