Wikipedia testwiki https://test.wikipedia.org/wiki/Main_Page MediaWiki 1.47.0-wmf.7 first-letter Media Special Talk User User talk Wikipedia Wikipedia talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Thread Thread talk Summary Summary talk Test namespace 1 Test namespace 1 talk Test namespace 2 Test namespace 2 talk Draft Draft talk Campaign Campaign talk TimedText TimedText talk Module Module talk SecurePoll SecurePoll talk CNBanner CNBanner talk Translations Translations talk Event Event talk Topic Newsletter Newsletter talk Tto page 7 0 76480 747376 230363 2026-06-18T13:37:15Z ~2026-35561-94 74507 747376 wikitext text/x-wiki colon: File:Yes i can see tgis clearly.png no colon: <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png --> <!-- Commented out: File:Yes i can see tgis clearly.png --> colon: File:Yes i can see tgis clearly.png File:Yes i can see tgis clearly.png OK. Test. rvtt0cs6d1u4frsv1gckf2fzdgwlqvo Wikipedia talk:Sandbox 5 87110 747565 744610 2026-06-18T21:06:26Z User97104 72884 /* Test chars */ new section 747565 wikitext text/x-wiki <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == == Test chars == The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC) cvt7z7rfw0yocuwhcn3o1hkzyo1a2o2 747566 747565 2026-06-18T21:07:11Z User97104 72884 /* Test chars */ Reply 747566 wikitext text/x-wiki <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == == Test chars == The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC) :ᛵᛵᛵᛵᛵᛵᛷᛶᛲᛱᛳ [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC) rz6cb9xzbf1wdfwygjitlkts5cbug2v 747567 747566 2026-06-18T21:07:21Z User97104 72884 /* Test chars */ Reply 747567 wikitext text/x-wiki <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == <noinclude>{{Sandbox}}</noinclude> {{CleanSandbox}} == Please start your testing below this line == == Test chars == The. '''Brown'''. Fox. <u>Jumped</u>, over the ''lazy'' dog?! ÁáÀàÂâÄäÃãǍǎĀāĂ㥹ÅåĆćĈĉÇçČčĊċĐđĎďÉéÈèÊêËëĚěĒēĔĕĖėĘęĜĝĢģĞğĠġĤĥĦħÍíÌìÎîÏïĨĩǏǐĪīĬĭİıĮįĴĵĶķĹĺĻļĽľŁłŃńÑñŅņŇňÓóÒòÔôÖöÕõǑǒŌōŎŏǪǫŐőŔŕŖŗŘřŚśŜŝŞşŠšȘșßẞȚțŤťÚúÙùÛûÜüŨũŮůǓǔŪūǖǘǚǜŬŭŲųŰűŴŵÝýŶŷŸÿȲȳŹźŽžŻżÆæǢǣØøŒœÐðÞþƏə [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:06, 18 June 2026 (UTC) :ᛵᛵᛵᛵᛵᛵᛷᛶᛲᛱᛳ [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC) ::doesn't diss. wt et [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:07, 18 June 2026 (UTC) npzx5eqh1zbl91x6yq51culxxoeca5s Mavetuna 0 87468 747588 738310 2026-06-18T22:16:46Z Zilant1b 50416 747588 wikitext text/x-wiki === Sub-heading 1 === Anon edit - April 08/2026 test My mentor - {{#mentor:Zilant63}} == 100% map - frameless -full == Testing https://phabricator.wikimedia.org/T192251 test [[Timeline test|time]] zone preference With 100% only. <mapframe width="100%" height="400" latitude="40.325" longitude="-3.7172" text="Captions do appear" align="right" /> With frameless: <mapframe width="100%" height="400" latitude="40.325" longitude="-3.7172" frameless /> <div style= "clear:both;"> </div> Width=full <mapframe width="full" height="400" latitude="40.325" longitude="-3.7172" text="width=full" /> == Section § 1 == <mapframe text="A geoshape of Alaska" width=300 height=300 zoom=3 latitude=64.01 longitude=-152.58 lang="ru"> { "type": "ExternalData", "service": "geoshape", "ids": "Q797" } </mapframe> Lorem ipsum dolor sit amet, à consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas pharetra, tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Adding the link to [[MavetunaZilant17|MavetunaZilant]]. <mapframe width="300" height="300" zoom="12" latitude="40.782222" longitude="-73.965278"> [ { "type": "ExternalData", "service": "page", "title": "Neighbourhoods/New York City.map" }, { "type": "ExternalData", "service": "geoshape", "ids": "Q160409", "properties": { "fill": "#07c63e", "title": "Central Park" } }, { "type": "Feature", "properties": {"title": "Roosevelt Island", "marker-color": "f01080"}, "geometry": { "type": "Point", "coordinates": [ -73.94511222839355, 40.76734665426719 ] } } ] </mapframe> == &pound; Section == Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas '''pharetra''', tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse sed elementum urna, nec blandit sapien. Aliquam tincidunt viverra blandit. {Mapframe|50.078|14.4180|zoom=12|staticmap=Prague_districts_en_wv.jpg}} <div style="clear both;"> <mapframe latitude="46.7752" longitude="7.7333" zoom="9" width="350" height="300" text="Welcome to the Discovery Maps Team" align="right"> { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "marker-symbol": "rocket", "marker-color": "f00", "marker-size": "large", "title": "[https://www.mediawiki.org/w/index.php?title=Discovery Maps Team]" }, "geometry": { "type": "Point", "coordinates": [ -122.4248, 37.7533 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ -122.43155345321, 37.720416651143 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ -122.00037360191, 38.000995277392 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ -122.00067857451, 38.000277182198 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ 7.6217651367188, 46.766205874237 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ 7.904663085937501, 46.55886030311719 ] } } ] } </mapframe> </div> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean mollis vitae mi a auctor. Praesent non condimentum turpis. Curabitur consequat, nulla sed vestibulum commodo, ipsum dui finibus mi, ac imperdiet risus dui at dolor. Aliquam lacinia sem vel lectus sodales, sit amet tempor felis varius. Nunc lacinia dapibus lorem a aliquam. Fusce facilisis tempor vulputate. Aliquam interdum vitae velit non porttitor. Aenean ac semper lorem. Mauris dapibus mauris mattis, facilisis justo vel, cursus velit. Mauris sagittis turpis nibh, eu malesuada odio mollis id. Sed vitae finibus ex, ut aliquet velit. Integer nisi ipsum, gravida eget est vitae, dignissim vulputate est. Donec ut nibh sit amet ex volutpat bibendum pretium id metus. Etiam accumsan lobortis elit et condimentum. Test123. Praesent blandit vehicula augue, sed mattis quam viverra non. In maximus, nisi non vestibulum finibus, lectus augue malesuada nulla, in venenatis libero quam a mauris. Fusce tincidunt orci quis nisl fringilla, id rhoncus dolor venenatis. Vestibulum vitae feugiat turpis. Proin a fringilla dui. Curabitur libero purus, feugiat in libero quis, cursus sodales turpis. Mauris eleifend erat ut lorem volutpat porttitor. Nulla mollis ut felis sed tincidunt. Pellentesque dolor tortor, semper vitae finibus nec, placerat et urna. Quisque id est justo. In imperdiet odio sed risus maximus sodales. Donec feugiat pulvinar fringilla. Vestibulum a lorem quam. Ut nisl nisi, condimentum in sem a, rhoncus scelerisque nibh. Maecenas in congue urna. Morbi ligula felis, commodo venenatis est sed, porta pulvinar magna. Praesent auctor pulvinar diam. Etiam at diam eu nunc hendrerit suscipi <!-- You will not be able to see this text. --> <div style="clear both;"> <mapframe latitude="46.725" longitude="7.668" zoom="8" width="350" height="300" text="not edited in VE" align="right"> { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": {"marker-symbol": "rocket"}, "geometry": { "type": "Point", "coordinates": [ 7.7106884121894845, 46.83984005391151 ] }, } ] } </mapframe> </div> == Section &Ocirc; == Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla tellus dui, vestibulum nec sapien ac, interdum congue nibh. Maecenas pharetra, tellus id suscipit sodales, velit tellus varius metus, eu molestie justo elit sit amet nulla. Vivamus dolor lectus, malesuada eu varius efficitur, dapibus quis nunc. Suspendisse eu tellus erat. Aliquam accumsan venenatis ipsum, sed pulvinar urna viverra quis. Pellentesque non sapien id velit imperdiet pulvinar at eu est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Suspendisse sed elementum urna, nec blandit sapien. Aliquam tincidunt viverra blandit. [[User:Etonkovidova]] [[User:Zilant1|Zilant1]] ([[User talk:Zilant1|talk]]) 23:20, 7 February 2018 (UTC) foobar <div style="clear both;"> ==Maps== '''Modeling [https://tools.wmflabs.org/wikivoyage/w/poimap2.php?lat=51.47766&lon=-0.00115&zoom=auto&layer=W&lang=be&name=San_Francisco/Fisherman%27s_Wharf map] from the WikiVoyage's [https://en.wikivoyage.org/wiki/San_Francisco/Fisherman%27s_Wharf Fisherman's Wharf] ''' <mapframe width="650" height="400" zoom="14" longitude="-122.4305" latitude="37.7953" mode="interactive" show="poi" align="right">{ "type": "FeatureCollection", "features": [ { "type": "Feature", "properties": { "stroke-width": 0.5, "fill-opacity": 0.3 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 3600, -180 ], [ 3600, 180 ], [ -3600, 180 ], [ -3600, -180 ], [ 3600, -180 ] ], [ [ -122.4267, 37.8081 ], [ -122.4265, 37.8082 ], [ -122.4264, 37.8077 ], [ -122.426, 37.8072 ], [ -122.4251, 37.8068 ], [ -122.4244, 37.8066 ], [ -122.4239, 37.8067 ], [ -122.4234, 37.8069 ], [ -122.4211, 37.8086 ], [ -122.4211, 37.8088 ], [ -122.4229, 37.8102 ], [ -122.4228, 37.8103 ], [ -122.4214, 37.8092 ], [ -122.4213, 37.8093 ], [ -122.421, 37.809 ], [ -122.4209, 37.8088 ], [ -122.4206, 37.8089 ], [ -122.4206, 37.8087 ], [ -122.4203, 37.8088 ], [ -122.4203, 37.8087 ], [ -122.4205, 37.8086 ], [ -122.4204, 37.8083 ], [ -122.4179, 37.8086 ], [ -122.4179, 37.8088 ], [ -122.42, 37.8089 ], [ -122.42, 37.8091 ], [ -122.4183, 37.8091 ], [ -122.4183, 37.8092 ], [ -122.4179, 37.809 ], [ -122.4178, 37.8086 ], [ -122.4175, 37.8086 ], [ -122.4175, 37.8084 ], [ -122.4174, 37.8083 ], [ -122.4174, 37.8081 ], [ -122.4163, 37.8083 ], [ -122.4163, 37.8089 ], [ -122.4175, 37.8089 ], [ -122.4174, 37.8091 ], [ -122.4206, 37.8113 ], [ -122.4203, 37.8115 ], [ -122.4193, 37.811 ], [ -122.4191, 37.8111 ], [ -122.4195, 37.8114 ], [ -122.4194, 37.8115 ], [ -122.4188, 37.8115 ], [ -122.4153, 37.8091 ], [ -122.4148, 37.8093 ], [ -122.4145, 37.8093 ], [ -122.4141, 37.809 ], [ -122.4128, 37.809 ], [ -122.4131, 37.8091 ], [ -122.4133, 37.8091 ], [ -122.4135, 37.8091 ], [ -122.4133, 37.8094 ], [ -122.4125, 37.8091 ], [ -122.4119, 37.8094 ], [ -122.4129, 37.8105 ], [ -122.4127, 37.8106 ], [ -122.4113, 37.8089 ], [ -122.4105, 37.8088 ], [ -122.4104, 37.8093 ], [ -122.4114, 37.8109 ], [ -122.4112, 37.8111 ], [ -122.4105, 37.8114 ], [ -122.4102, 37.8113 ], [ -122.41, 37.811 ], [ -122.4102, 37.8101 ], [ -122.4097, 37.8093 ], [ -122.4095, 37.8092 ], [ -122.4092, 37.8091 ], [ -122.4089, 37.8086 ], [ -122.4084, 37.8084 ], [ -122.4083, 37.8083 ], [ -122.4079, 37.8081 ], [ -122.4079, 37.8082 ], [ -122.4076, 37.8082 ], [ -122.4075, 37.8081 ], [ -122.4067, 37.8078 ], [ -122.4068, 37.81 ], [ -122.4061, 37.8101 ], [ -122.4059, 37.8072 ], [ -122.4053, 37.8069 ], [ -122.4044, 37.8089 ], [ -122.4039, 37.8087 ], [ -122.4027, 37.808 ], [ -122.4023, 37.8078 ], [ -122.4034, 37.8065 ], [ -122.4028, 37.8061 ], [ -122.4009, 37.8077 ], [ -122.4004, 37.8072 ], [ -122.401, 37.8036 ], [ -122.4007, 37.8034 ], [ -122.3986, 37.8046 ], [ -122.3982, 37.8042 ], [ -122.3999, 37.8032 ], [ -122.3996, 37.8029 ], [ -122.3978, 37.8038 ], [ -122.3975, 37.8035 ], [ -122.3997, 37.8022 ], [ -122.3994, 37.8018 ], [ -122.3971, 37.8031 ], [ -122.3961, 37.8019 ], [ -122.3984, 37.8007 ], [ -122.398, 37.8003 ], [ -122.3958, 37.8015 ], [ -122.3954, 37.8012 ], [ -122.3976, 37.7999 ], [ -122.3958, 37.7979 ], [ -122.3956, 37.7979 ], [ -122.3939, 37.799 ], [ -122.3936, 37.7986 ], [ -122.3952, 37.7977 ], [ -122.3948, 37.7973 ], [ -122.3932, 37.7983 ], [ -122.3929, 37.798 ], [ -122.3934, 37.7977 ], [ -122.3938, 37.7973 ], [ -122.3944, 37.797 ], [ -122.3943, 37.7969 ], [ -122.3947, 37.7966 ], [ -122.3958, 37.7967 ], [ -122.3986, 37.7999 ], [ -122.402, 37.8038 ], [ -122.4034, 37.8049 ], [ -122.406, 37.8065 ], [ -122.4253, 37.804 ], [ -122.4258, 37.8066 ], [ -122.4265, 37.8073 ], [ -122.4267, 37.8081 ] ] ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ -122.43438720703, 37.802460048863 ] } }, { "type": "Feature", "properties": {}, "geometry": { "type": "Point", "coordinates": [ -122.41395950317, 37.792151101468 ] } } ] } </mapframe> </div> __FORCETOC__ 4li4lfsglxdbmnfb6rjeba088xz06rr User talk:Nokib Sarkar 3 105463 747412 592944 2026-06-18T14:31:16Z MediaWiki message delivery 23852 /* Thank you for being a part of Feminism and Folklore 2026 */ new section 747412 wikitext text/x-wiki {{User:CampWiz_Bot/CampWiz_Bot_Subscription |campaign id=88 |new submission=yes |statistics=yes }} == Thank you for being a part of Feminism and Folklore 2026 == <div lang="en" dir="ltr" class="mw-content-ltr"> [[File:Feminism and Folklore 2026 logo.svg|right|350px]] Dear {{PAGENAME}}, Your contributions helped make this year's [[:Feminism and Folklore 2026|Feminism and Folklore]] campaign a great success, and we are truly grateful for your time, knowledge, and dedication to documenting women's stories and folklore on Wikimedia projects. As we reflect on this year's campaign and prepare for the next edition, we'd love to hear about your experience. Please take a few minutes to fill out our feedback form and share your thoughts and suggestions. As a token of our appreciation, everyone who completes the form will receive a '''special digital postcard'''! in their email. This year marks '''''25 years of Wikipedia''''', and the postcard has been created to celebrate this milestone and to recognize the incredible efforts of participants like you who continue to enrich free knowledge for the world. '''Form Link - [https://docs.google.com/forms/d/e/1FAIpQLSdqFZN9IdWbAnZ_7DyG5bIsuq7KAkdsIxweC_TdPH9In-tthQ/viewform?usp=dialog here]''' Please complete the feedback form by '''25 June 2026'''. Thank you once again for making Feminism and Folklore 2026 a success. We hope to see you again in future campaigns! Best regards, Feminism and Folklore international Team. --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 14:31, 18 June 2026 (UTC) </div> <!-- Message sent by User:Tiven2240@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Tiven2240/wlf2026&oldid=30704478 --> 1zo7lopxpufupon8dk4e0syint5rcac Wikipedia:Sandbox 4 107092 747564 747327 2026-06-18T21:00:31Z Cewbot 33876 Clear the sandbox. If you want to keep it longer, please test it in [[Special:MyPage/Sandbox|personal sandbox]], you can also check the revision history of the sandbox. 747564 wikitext text/x-wiki <noinclude>{{Sandbox}}</noinclude> == Please start your testing below this line == 9v37rcaxoiwjar8n3q9n7dcsjdvcyin User:Nardog/sandbox.js 2 115814 747593 735761 2026-06-19T06:06:28Z Nardog 40946 747593 javascript text/javascript /* globals ve */ // window.dn?.disable?.(); window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff'; (mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') && mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() { let isHist = mw.config.get('wgAction') === 'history'; let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`; let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch'; let diffs = [], count = 0, expanded = new WeakSet(); window.dn = diffs; let sanitize = href => { let url = new URL(href, location.href); let newParams = new URLSearchParams(), hasId; ['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => { if (url.searchParams.has(k)) { let v = url.searchParams.get(k); newParams.set(k, v); hasId = hasId || v > 0; } }); if (!hasId && url.searchParams.has('title')) { return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`; } return String(newParams); }; let getDiff = comp => { if (typeof comp === 'string') { let sanitized = sanitize(comp); return diffs.find(diff => ( diff.queries.has(comp) || diff.queries.has(sanitized) )); } return diffs.find(diff => diff.$diff.is(comp)); }; let containers = []; window.dn._c = containers; class Diff { constructor(href, $link) { this.aborter = new AbortController(); this.queries = new Set(); this.setLink(href, $link); diffs.push(this); } setLink(href, $link) { if (this.href) { if ($link.is(this.$link)) { if (this.aborter) { this.aborter.abort(); } else if (this.isVisible()) { this.close(); } else { this.$anchor = this.getAnchor(); this.append(); } return; } if ($link.is(this.$outerLink) && this.isVisible()) { this.close(); return; } if (this.getAnchor($link).is(this.$anchor)) { this.markLink(false); } else { this.close(); } } this.href = href; this.queries.add(href); let sanitized = sanitize(href); if (sanitized) { this.queries.add(sanitized); } this.$link = $link; this.isSwitch = $link.is(switchSelector); if (!this.isSwitch) { this.$outerLink = $link; } this.$anchor = this.getAnchor(); if (this.aborter) { this.markLink(); } else { this.append(); } } append(response) { if (response) { delete this.aborter; this.findDiff(response); this.setQueries(); this.polishDiff(); } let $container = this.getContainer(true); if (!$container[0].isConnected) { if (this.$anchor.is('tr')) { let cols = this.$anchor.children().get() .reduce((acc, cell) => acc + cell.colSpan, 0); $('<tr>').addClass('diffnow-row').append( $('<td>').attr('colspan', cols).append($container) ).insertAfter(this.$anchor); } else if (this.$anchor.is('div')) { this.$anchor.after($container); } else { this.$anchor.append($container); } } this.attached = true; filterContexts(this.$diff); window.addEventListener('resize', onResize); if (!this.$link.hasClass('diffnow-link-loaded')) { mw.requestIdleCallback(() => { this.markLinks(); this.markSeen(); }); } if ($container[0].getBoundingClientRect().top < 0) { $container[0].scrollIntoView(); } this.markLink(true); if (response) { mw.hook('wikipage.content').fire($container); } } findDiff(response) { if (typeof response !== 'string') throw ''; let $diff = $($.parseHTML(response)) .filter('.diff[data-mw-interface]'); if (!$diff.length) { $diff = $diff.end().find('.diff[data-mw-interface]'); if (!$diff.length) throw ''; } this.$diff = $($diff[0]); } setQueries() { let newPerma = this.$diff[0].querySelector( '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (newPerma) { this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search)); this.newTitle = newPerma.title; } let oldPerma = this.$diff[0].querySelector( '#mw-diff-otitle1 > strong > a, #differences-prevlink' ); if (oldPerma) { this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search)); this.oldTitle = oldPerma.title; } let isSamePage = !oldPerma || this.newTitle === this.oldTitle; this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi'); if (this.newId) { if (this.newId === this.oldId) { throw 'nonfatal'; } if (this.oldId) { this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`); } this.isLast = !this.$diff[0].querySelector('#differences-nextlink'); if (this.isSingle) { this.queries.add(`diff=prev&oldid=${this.newId}`); if (this.isLast && this.oldId) { this.queries.add(`diff=0&oldid=${this.oldId}`); this.queries.add(`diff=cur&oldid=${this.oldId}`); } } } if (this.oldId && this.isSingle) { this.queries.add(`diff=next&oldid=${this.oldId}`); } this.queries.forEach(q => { let other = getDiff(q); if (other && other !== this) { other.setLink(this.href, this.$link); throw 'nonfatal'; } }); if (this.oldId) { diffs.forEach(diff => { if (diff.isLast && diff.newId === this.oldId) { diff.markNotLast(this); } }); } } async polishDiff() { mw.hook('wikipage.diff').fire(this.$diff); let prevLink = this.$diff[0].querySelector('#differences-prevlink'); let nextLink = this.$diff[0].querySelector('#differences-nextlink'); $([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => ( href.replace('&diffonly=1', '').replace('&expand-url=1', '') )); [['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => { if (link && !mw.messages.exists(key)) { mw.messages.set(key, link.textContent); } }); if (!nextLink && this.isLast) { this.$diff.find('#mw-diff-ntitle4').empty().append( $('<a>').attr({ class: 'diffnow-checknext diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'next', oldid: this.newId }), title: this.newTitle }).text('Check for newer edit') ); } this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right') .attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`); this.$diff.find('a[name^="movedpara"]') .attr('name', (_, name) => `diffnow-${count}-${name}`); count++; this.$diff.find('[id]').addClass(function () { return 'diffnow-' + this.id; }).removeAttr('id'); if (this.$diff[0].querySelector('.mw-thanks-thank-link')) { mw.loader.load('ext.thanks.corethank'); mw.config.set('thanks-confirmation-required', true); } if (!this.isSingle) { let keys = ['nextdiff', 'previousdiff'] .filter(s => !mw.messages.exists(s)); if (keys.length) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(keys); } this.$diff.find('.diff-multi').append( $('<div>').append( $('<div>').append( $('<a>').attr({ class: 'diffnow-multinext diffnow-switch', href: mw.util.getUrl(this.oldTitle, { diff: 'next', oldid: this.oldId }), title: this.oldTitle }).text(mw.msg('nextdiff')) ), $('<div>').append( $('<a>').attr({ class: 'diffnow-multiprev diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'prev', oldid: this.newId }), title: this.newTitle }).text(mw.msg('previousdiff')) ) ) ); } } getAnchor($link) { let isSwitch; if ($link) { isSwitch = $link.is(switchSelector); } else { $link = this.$link; isSwitch = this.isSwitch; } if (isSwitch) { return getDiff($link.closest('.diff')).$anchor; } return $link.closest('li, tr, .mw-history-compareselectedversions'); } getContainer(create) { let $container = this.$anchor.is('tr') ? this.$anchor.next('.diffnow-row').find('> td > .diffnow') : this.$anchor.is('div') ? this.$anchor.next('.diffnow') : this.$anchor.children('.diffnow'); if (create) { if ($container.length) { this.attachDiff($container); } else { $container = this.createContainter(); } } return $container; } attachDiff($container) { let $oldDiff = $container.children('.diff'); if (!$oldDiff.is(this.$diff)) { if ($oldDiff.length) { getDiff($oldDiff).detachDiff(); } $container.children('.diffnow-tools-top').after(this.$diff); } $container.find('.diffnow-difflink').attr('href', this.href); } createContainter() { let $container = containers.pop(); if ($container) { this.attachDiff($container); return $container; } return $('<div>').addClass('diffnow').append( $('<div>').addClass('diffnow-tools diffnow-tools-top').append( $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-collapse', title: 'Hide this diff' }) ), this.$diff, $('<div>').addClass('diffnow-tools diffnow-tools-bottom').append( $('<button>').attr({ class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse', title: 'Scroll to top' }), $('<button>').attr({ class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand', title: 'Scroll to bottom' }), $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-close', title: 'Hide this diff' }), $('<a>').attr({ class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive', href: this.href, target: '_blank', title: 'Open diff page' }) ) ) .on('click', '.diffnow-close', this.collapse) .on('click', '.diffnow-scrollup', this.scrollUp) .on('click', '.diffnow-scrolldown', this.scrollDown) .on( 'click keydown', '.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker', this.toggleContext ); } isVisible() { return !!this.$diff?.[0].offsetParent; } markLink(visible = this.isVisible()) { if (this.isSwitch) { this.getContainer().toggleClass('diffnow-switching', !!this.aborter); if (!this.$outerLink) return; } this.$outerLink .toggleClass('diffnow-link-loading', !!this.aborter) .toggleClass('diffnow-link-loaded', !this.aborter) .toggleClass('diffnow-link-open', !this.isSwitch && visible); } markLinks() { $(selector).filter((_, link) => { let href = link.getAttribute('href'); return this.queries.has(href) || this.queries.has(sanitize(href)); }).addClass('diffnow-link-loaded'); if (!isHist) return; $('.mw-history-compareselectedversions-button').toggleClass( 'diffnow-link-loaded', !!getDiff(getHistHref()) ); } markSeen() { if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) { this.$anchor.nextAll().addBack() .removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched'); return; } let $li = this.$anchor.closest('li, table'); let $unseen = $li.filter('.mw-changeslist-watchedunseen') .add($li.find('.mw-changeslist-watchedunseen')); if (!$unseen.length) return; $unseen.removeClass('mw-changeslist-watchedunseen') .addClass('mw-changeslist-watchedseen'); $li.filter('.mw-changeslist-line-watched') .add($li.find('.mw-changeslist-line-watched')) .removeClass('mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-line-not-watched'); } async markNotLast(newDiff) { this.isLast = false; this.queries = new Set([...this.queries].filter(q => ( !/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q) ))); this.$diff.find( '.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted' ).first().text( newDiff.$diff.find( '#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted' ).first().text() ); this.$diff.find('.diff-ntitle .mw-diff-edit a') .attr('href', (_, href) => href + '&oldid=' + this.newId); if (!mw.messages.exists('nextdiff')) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(['nextdiff']); } this.$diff.find('.diffnow-checknext') .attr('class', 'diffnow-differences-nextlink') .text(mw.msg('nextdiff')); } detachDiff() { this.$diff?.detach(); this.markLink(false); } close(adjustFocus) { this.detachDiff(); let $container = this.getContainer(); if ($container.length) { let $row = $container.closest('.diffnow-row'); containers.push($container.detach()); $row.remove(); } if (!adjustFocus) return; setTimeout(() => { this.$anchor.find('a[href]').last().each(function () { this.focus(); this.blur(); }); }); } collapse(e) { e.preventDefault(); let $container = $(e.delegateTarget); let diff = getDiff($container.children('.diff')); if (diff.$link[0].getBoundingClientRect().top < 0) { diff.$anchor[0].scrollIntoView(); $container.fadeOut('fast', () => { diff.close(true); setTimeout(() => { diff.$anchor[0].scrollIntoView(); $container.removeAttr('style'); }); }); } else { diff.close(true); } } scrollUp(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().top; let ch = document.documentElement.clientHeight, buffer = ch / 2; y -= y + 5 > buffer ? ch : buffer; window.scrollBy({ top: y, behavior: 'smooth' }); } scrollDown(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().bottom; let buffer = document.documentElement.clientHeight / 2; if (y - 5 > buffer) { y -= buffer; } window.scrollBy({ top: y, behavior: 'smooth' }); } toggleContext(e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); let $row = $(e.target.closest('tr')); if ($row.hasClass('diffnow-context-expanded')) { $row.removeClass('diffnow-context-expanded') .addClass('diffnow-context-collapsed') .children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); expanded.delete($row[0]); } else { $row.removeClass('diffnow-context-collapsed') .addClass('diffnow-context-expanded') .children('.diff-context').removeAttr('tabindex role title') .siblings('.diff-marker').attr('title', 'Collapse'); expanded.add($row[0]); } } destroy() { diffs.splice(diffs.indexOf(this), 1); this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open'); this.getContainer().removeClass('diffnow-switching'); } } let filterContexts = $diff => { $diff.find('.diff-context.diff-side-deleted > div').each(function () { let $row = $(this.closest('tr')) .removeClass('diffnow-context-expanded'); if (this.scrollHeight > this.clientHeight) { if (expanded.has($row[0])) { $row.addClass('diffnow-context-expanded') .children('.diff-marker').attr({ tabindex: 0, role: 'button', title: 'Collapse' }); } else { $row.addClass('diffnow-context-collapsed').children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); } } else { $row.removeClass('diffnow-context-collapsed') .children().removeAttr('tabindex role title'); } }); }; let onResize = mw.util.debounce(() => { filterContexts($('.diffnow > .diff')); }, 250); let notif; let showError = async (href, msg) => { notif = await mw.notify([ document.createTextNode(msg || `Couldn't load the diff`), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' }); }; let getHistHref = () => { let formData = new FormData(document.getElementById('mw-history-compare')); return mw.util.getUrl(null, { diff: formData.get('diff'), oldid: formData.get('oldid') }); }; $(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(selector) && !this.matches(switchSelector) ) { return; } e.preventDefault(); let $link = $(this); let isCompare = $link.hasClass('mw-history-compareselectedversions-button'); let href = isCompare ? getHistHref() : this.pathname + this.search; let diff = getDiff(href); try { if (diff) { diff.setLink(href, $link); return; } if (!isCompare && this.origin !== location.origin) { throw ''; } diff = new Diff(href, $link); let url = new URL(href, location.href); url.searchParams.set('diffonly', 1); url.searchParams.set('action', 'render'); let promise = fetch(url, { signal: diff.aborter.signal }); mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']); if (notif) { notif.close(); notif = null; } diff.append(await (await promise).text()); } catch (error) { if (diff && !diff.attached) { diff.destroy(); } if (error.name === 'AbortError') { notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' }); } else if (error !== 'nonfatal') { showError(href, error); console.error(error); } } }); let css = mw.loader.addStyleTag(`${selector} { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); background-position: right; background-repeat: no-repeat; background-size: 10px 10px; padding-right: 12px; } .mw-history-compareselectedversions-button { background-position: right 6px center; background-size: 14px 14px; padding-right: 24px !important; } .skin-timeless .mw-history-compareselectedversions-button { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg); } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important; } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important; } .diffnow-link-loading { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important; } .diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important; } .diffnow-link-open, .diffnow-context-expanded > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important; } .diffnow { background: var(--background-color-base, #fff); border: var(--border-base, 1px solid #a2a9b1); border-radius: 4px; position: relative; } .mw-history-compareselectedversions + .diffnow { margin-top: 0.3em; } .diffnow-tools { display: flex; position: sticky; background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65)); z-index: 1; } .diffnow-tools-top { top: 0; border-radius: 4px; } .diffnow-tools-bottom { bottom: 0; } .diffnow-tools > .diffnow-button { cursor: pointer; height: 24px; padding: 0; box-sizing: content-box; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; background-color: var(--background-color-transparent, transparent); flex-grow: 1; } .diffnow-tools > .diffnow-button:hover { background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027)); } .diffnow-tools > .diffnow-button:active { background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082)); } .diffnow-tools-top > .diffnow-button { border: none; border-radius: 3px 3px 0 0; } .diffnow-tools-bottom > .diffnow-button { border: var(--border-base, 1px solid #a2a9b1); border-radius: 99px; margin: 4px; height: 20px; } .diffnow-switching > .diff { transition: opacity 200ms; opacity: 0.4; } .diffnow-checknext, .diffnow-checknext:visited { color: var(--color-subtle, #54595d); } .diffnow :not(.diffnow-context-expanded) > .diff-context > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker { cursor: pointer !important; background-position: center; background-repeat: no-repeat; background-size: 12px 12px; } .diffnow-context-collapsed > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); } .diffnow-context-collapsed > .diff-context a { pointer-events: none; } .diffnow .diff-multi > div { display: flex; justify-content: space-around; } .diffnow > .diff td div { word-break: break-word; } .diffnow .mw-diff-inline-changed ins, .diffnow .mw-diff-inline-changed del { white-space: pre-wrap; } .diffnow-row .diffnow { border: none; } .diffnow-row > td { padding: 0 !important; } td.mw-changeslist-line-inner { width: 100%; } .mw-enhanced-rc .diffnow > .diff td { padding: 0.33em 0.5em; } .cdx-table__table-wrapper:has(.diffnow-row) { overflow-x: visible; } span.mw-history-histlinks-current, span.mw-history-histlinks-previous { padding-right: 12px; } .client-js .diffnow .mw-anonuserlink { padding-right: 0; }`); mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']); diffs._disable = () => { $(document.body).off('.diffnow'); css.remove(); }; if (isHist) { $(document.body).on('change.diffnow', '#mw-history-compare', function () { let $buttons = $('.mw-history-compareselectedversions-button'); let diff = getDiff(getHistHref()); if (diff) { $buttons.addClass('diffnow-link-loaded'); if ($buttons.is(diff.$link) && diff.isVisible()) { diff.$link.addClass('diffnow-link-open'); } else { $buttons.removeClass('diffnow-link-open'); } } else { $buttons.removeClass('diffnow-link-loaded diffnow-link-open'); } }); } let added, tempLoaded, ipInfoLoaded; mw.hook('wikipage.content').add(async () => { await new Promise(mw.requestIdleCallback); if (!document.querySelector(selector)) return; let modules = ['mediawiki.diff', 'mediawiki.diff.styles']; let cspn = mw.config.get('wgCanonicalSpecialPageName'); let loadTemp = !tempLoaded && Number(mw.user.options.get('checkuser-temporary-account-enable')) && !['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn); if (loadTemp) { modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles'); } if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) { modules.push('ext.checkUser.userInfoCard'); } let loadIpInfo; if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) { modules.push('ext.ipInfo', 'ext.ipInfo.styles'); loadIpInfo = !ipInfoLoaded && ['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn); } let promise = mw.loader.using(modules); if (loadTemp || loadIpInfo) { tempLoaded = loadTemp; ipInfoLoaded = loadIpInfo; await promise; // https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js let makeRequire = (moduleObj, basePath) => moduleName => { let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/); if (!relParts) { return mw.loader.require(moduleName); } let baseDirParts = basePath.split('/'); baseDirParts.pop(); let prefixes = relParts[1].split('/'); prefixes.pop(); let prefix; while ((prefix = prefixes.pop())) { if (prefix === '..') { baseDirParts.pop(); } } let fileName = baseDirParts.join('/'); if (fileName) { fileName += '/'; } fileName += relParts[2]; if (Object.hasOwn(moduleObj.packageExports, fileName)) { return moduleObj.packageExports[fileName]; } let scriptFiles = moduleObj.script.files; if (!Object.hasOwn(scriptFiles, fileName)) { throw Error('Cannot require undefined file ' + fileName); } let result; let fileContent = scriptFiles[fileName]; if (typeof fileContent === 'function') { let moduleParam = { exports: {} }; fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports); result = moduleParam.exports; } else { result = fileContent; } moduleObj.packageExports[fileName] = result; return result; }; if (loadTemp) { try { let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts']; makeRequire(pack, pack.script.main)('./initOnHook.js')(); } catch {} } if (loadIpInfo) { try { let pack = mw.loader.moduleRegistry['ext.ipInfo']; makeRequire(pack, pack.script.main)('./popup/init.js')(); } catch {} } } if (added || !document.getElementById('p-cactions')) return; added = true; let callback = (records, observer) => { if (records[0].target.classList.contains('diffnow-link-loaded')) { observer.takeRecords(); observer.disconnect(); clickFirst(); } }; let clickFirst = () => { let link = document.querySelector(selector); if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) { return; } new MutationObserver(callback).observe(link, { attributeFilter: ['class'] }); link.click(); }; mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => { e.preventDefault(); clickFirst(); }); }); }); // window.smpg?._disable?.(); mw.loader.using('mediawiki.util', async function smoothPager() { let action = mw.config.get('wgAction'); let isHist = action === 'history'; let isPerma = action === 'view' && ['oldid', 'diff'].some(s => mw.util.getParamValue(s)); let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber'); let isFile = ns === 6; let isCat = ns === 14; let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName'); if (!(isHist || isPerma || isFile || isCat || cspn)) return; let isSearch = cspn === 'Search'; let isWl = cspn === 'Watchlist'; let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked'; if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) { return; } let isContribs = cspn === 'Contributions' || cspn === 'IPContributions'; let o = { useRender: isCat || isWl || isRc, selector: isPerma ? '#bodyContent' : isFile ? '#mw-imagepage-section-filehistory' : isCat ? '.mw-category-generated' : '#mw-content-text', outerSelectors: [], linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' : isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' : isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' : isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' : `#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`, canPost: isSearch || [ 'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox' ].includes(cspn), paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ || isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/, reruns: [ 'mediawiki.action.history', 'mediawiki.special.search', 'ext.advancedSearch.init', 'mediawiki.special.watchlist', 'mediawiki.special.watchlistedit', 'mediawiki.pager.codex', 'mediawiki.misc-authed-curate', 'mediawiki.misc-authed-ooui', 'mediawiki.misc-authed-pref', 'mediawiki.special.unwatchedPages', 'ext.thanks.corethank', 'ext.flaggedRevs.review', 'ext.gadget.watchlist-notice-core' ], pages: [] }; if (isContribs) { o.reruns.push('ext.ipInfo'); } if (!o.useRender) { o.outerSelectors.push('#firstHeading', '.mw-indicators'); if (!isPerma && !isFile) { o.outerSelectors.push('#mw-content-subtitle'); } } o.formSelector = isHist && '#mw-history-searchform' || isSearch && '#search, #powersearch, #searchform' || cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`; if (o.formSelector) { o.formSelector += ', .cdx-table-pager__limit-form'; } window.smpg = o; let getHref = () => location.pathname + location.search; let getKey = (href, isPost) => { if (o.paramRe) { let params = new URLSearchParams(); new URL(href, location.href).searchParams.forEach((v, k) => { if (o.paramRe.test(k)) { params.set(k, v); } }); params.sort(); return String(params); } if (isPost) { return href + '??' + Date.now(); } return href; }; class Page { constructor(href, key) { this.href = href || getHref(); this.key = key || getKey(this.href); this.keys = new Set().add(this.key); o.pages.push(this); } init($response) { if ($response) { if (isWl || isRc) { this.$cont = $(document.querySelector(o.selector).cloneNode()) .removeClass('smoothpager-switching') .append($response); } else { let $cont = $response.filter(o.selector).not('script'); if (!$cont.length) { $cont = $response.find(o.selector).not('script'); if (!$cont.length) { throw 'Content not found'; } } $cont.find('script').remove(); this.$cont = $($cont[0]); } this.attached = 0; } else { if (this.$cont) return; this.$cont = $(document.querySelector(o.selector)); this.attached = 1; } this.getConfigAndModules($response); this.getOuterEls($response); this.getDocTitle($response); this.getRev($response); } getConfigAndModules($response) { if (o.useRender) return; if (!$response) { this.config = Object.assign({}, window.RLCONF); } let $scripts = $response ? $response.filter('script').remove() : $('head > script, body > script'); $scripts.map(function () { return this.textContent.match(/\bmw\.config\.set\({.+}\);/g); }).each((_, s) => { let obj; do { try { obj = JSON.parse(s.slice(14, -2)); } catch { let i = s.slice(0, -3).lastIndexOf('});'); if (i === -1) return; s = s.slice(0, i + 3); } } while (!obj); this.config = Object.assign(this.config || {}, obj); }); if (!$response) return; let match = $scripts.first().text().replaceAll('\n', '') .match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/); if (match) { try { this.config = Object.assign(this.config || {}, JSON.parse(match[1])); } catch {} this.modules = []; try { this.modules.push(...Object.keys(JSON.parse(match[2]))); } catch {} try { this.modules.push(...JSON.parse(match[3])); } catch {} } this.redirect(); } setConfig() { if (!this.config) return; mw.config.set(this.config); if (!o.cur.config) return; Object.entries(o.cur.config).forEach(([k, v]) => { if (!Object.hasOwn(this.config, k) && JSON.stringify(mw.config.get(k)) === JSON.stringify(v) ) { delete mw.config.values[k]; } }); } getOuterEls($response) { this.outerEls = o.outerSelectors.map(selector => ( $response ? $response.find(selector)[0] : document.querySelector(selector) )).map(el => el && !this.$cont[0].contains(el) && el); } setOuterEls() { o.outerSelectors.forEach((selector, i) => { let outer = document.querySelector(selector); if (!outer) return; $(outer).before(this.outerEls[i] || outer.cloneNode()).detach(); }); } getDocTitle($response) { if (o.useRender) return; if ($response) { let $title = $response.filter('title'); if ($title.length) { this.docTitle = $title.text(); } } else { this.docTitle = document.title; } } setDocTitle() { if (this.docTitle) { document.title = this.docTitle; } else if (this.outerEls[0] && o.cur.outerEls?.[0]) { document.title = document.title.replace( o.cur.outerEls[0].textContent.trim(), this.outerEls[0].textContent.trim() ); } } getRev($response) { if (!isPerma) return; let params = new URLSearchParams(this.key); if (params.has('diff')) { if ($response) { let dir = params.get('diff') === 'next' ? 'prev' : 'next'; let id = this.config?.[ dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId' ]; if (!id) { id = this.findParam( 'oldid', dir === 'prev' ? '#mw-diff-ntitle1 > strong > a, #differences-prevlink' : '#mw-diff-otitle1 > strong > a, #differences-nextlink' ); } if (id) { this.rev = dir === 'prev' ? id : params.get('oldid'); params.set('diff', dir); params.set('oldid', id); this.keys.add(String(params)); } } else { this.rev = mw.config.get('wgDiffNewId'); let pn = this.findParam( 'title', '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (pn === mw.config.get('wgPageName') && !this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi') ) { params.set('diff', 'prev'); params.set('oldid', this.rev); this.keys.add(String(params)); let oldId = mw.config.get('wgDiffOldId'); if (oldId) { params.set('diff', 'next'); params.set('oldid', oldId); this.keys.add(String(params)); } } } } else { if ($response) { if (params.has('direction')) { let id = this.config?.wgRevisionId; if (!id) { id = this.findParam( 'oldid', '#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink', $response ); } if (id) { this.rev = id; this.keys.add('oldid=' + id); o.cur.keys.add(`direction=${ params.get('direction') === 'next' ? 'prev' : 'next' }&oldid=${id}`); } } else { this.rev = params.get('oldid'); } } else { this.rev = mw.config.get('wgRevisionId'); if (params.has('direction')) { this.keys.add('oldid=' + this.rev); } } } } findParam(param, query, $range = this.$cont) { let search = $range.find(query).prop('search'); return search && mw.util.getParamValue(param, search); } updateLinks() { if (this.rev) { $('#ca-edit > a').attr('href', mw.util.getUrl(null, { action: 'edit', oldid: this.rev })); $('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink') .attr('href', mw.util.getUrl(null, { oldid: this.rev })); } $('#ca-nstab-special > a').attr('href', this.href); $('.printfooter > a').attr('href', location.href).text(location.href); $('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () { let url = new URL(location.href); url.searchParams.set( 'mobileaction', mw.util.getParamValue('mobileaction', this.search) ); return '//' + this.host + url.pathname + url.search; }); $('#t-urlshortener > a').attr('href', function () { let params = new URLSearchParams(this.search); params.set('url', location.href); return this.pathname + '?' + params; }); } redirect() { if (this.config.wgAction !== mw.config.get('wgAction') || this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '') ) { location.href = this.href; throw 'redirect'; } } replaceContent(isPopState, isRefresh) { let oldCont = document.querySelector(o.selector); if (this.$cont.is(oldCont)) { throw 'Attempt to replace content with itself'; } if (!isPopState && !isRefresh) { this.pushState(); } $(oldCont).before(this.$cont).detach(); console.log(this.key, o); this.setOuterEls(); this.setDocTitle(); this.setConfig(); if (isSearch && this.attached) { let input = this.$cont[0].querySelector('#searchText > input'); if (input) { input.value = input.defaultValue; } } o.cur = this; this.loadModules(isPopState); this.updateLinks(); } pushState() { history.pushState({ _smpg: this.key }, '', this.href); history.replaceState({ _smpg: this.key }, '', this.href); } async loadModules(isPopState) { o.pending = true; try { await mw.loader.using(this.modules || []); } catch {} finally { o.pending = false; if (!this.attached) { this.fireHooks(); this.rerunModules(); } if (!isPopState) { this.scroll(); } this.attached++; } } fireHooks() { mw.hook('wikipage.content').fire(this.$cont); this.$cont.find('.diff[data-mw-interface]').each(function () { mw.hook('wikipage.diff').fire($(this)); }); this.$cont.find('.catlinks[data-mw-interface]').each(function () { mw.hook('wikipage.categories').fire($(this)); }); mw.hook('htmlform.enhance').fire(this.$cont); } rerunModules() { o.reruns.forEach(m => { let pack = mw.loader.moduleRegistry[m]; if (!pack || pack.state !== 'ready') return; if (typeof pack.script === 'function') { pack.script($, $, mw.loader.require, pack.module); return; } delete mw.loader.moduleRegistry[m]; mw.loader.implement( m + '@' + pack.version, pack.script, pack.style, pack.messages, pack.templates, pack.deprecationWarning ); }); if ((isHist || isContribs || isRc) && window.Twinkle) { window.Twinkle.rollback(); } } scroll() { let form = o.formSelector && this.$cont[0].querySelector(o.formSelector); if (form) { let y = form.getBoundingClientRect().bottom; if (y < 0) { window.scrollBy(0, y); } } else if (this.$cont[0].getBoundingClientRect().top < 0) { this.$cont[0].scrollIntoView(); } } } o.cur = new Page(); let getContent = async (href, state, options) => { if (o.pending) return; o.aborter?.abort(); let key = state?._smpg || getKey(href, !!options); let isRefresh = key === o.cur.key; if (state && isRefresh) return; let oldCont = document.querySelector(o.selector); if (!oldCont) { notify(href, 'No element to replace', 'error'); return; } let page = o.pages.find(p => p.keys.has(key)); if ((state || !isRefresh) && page) { page.href = href; page.replaceContent(!!state, isRefresh); return; } oldCont.classList.add('smoothpager-switching'); let $throbber = $('<div>').addClass('smoothpager-throbber') .appendTo(document.body); if (!isRefresh && o.pages.length === 1) { o.cur.init(); } o.aborter = new AbortController(); let url = href; if (o.useRender) { url = new URL(href, location.href); url.searchParams.set('action', 'render'); } let promise = fetch(url, Object.assign({ signal: o.aborter.signal }, options)); if (notif) { notif.close(); notif = null; } try { let response = await (await promise).text(); if (page) { page.href = href; } else { page = new Page(href, key); } page.init($($.parseHTML(response, !o.useRender))); page.replaceContent(!!state, isRefresh); } catch (e) { if (e.name === 'AbortError') { if (state && o.cur) { o.cur.pushState(); } } else if (e === 'redirect') { notify(href, 'Redirecting...'); } else { notify(href, e || `Couldn't load the page`, 'error'); console.error(e); } } finally { o.aborter = null; oldCont.classList.remove('smoothpager-switching'); $throbber.remove(); } }; let notif; let notify = async (href, msg, type) => { notif = await mw.notify([ document.createTextNode(msg), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'smoothpager', type: type }); }; let onClick = function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(o.linkSelector) || this.origin !== location.origin ) { return; } e.preventDefault(); getContent(this.pathname + this.search); }; let onKeyDown = e => { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || e.target.closest(':read-write') ) { return; } switch (e.which) { case 27: o.aborter?.abort(); break; case 110: case 190: e.preventDefault(); getContent(getHref()); } }; let onPopState = e => { let state = e.originalEvent.state; if (state && !state._smpg) return; history.replaceState(state, '', location.href); getContent(getHref(), state || {}); }; let onSubmit = e => { if (e.originalEvent && ( e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted ) || !o.canPost && e.target.method !== 'get' || !e.target.matches(o.formSelector) ) { return; } let path = e.target.getAttribute('action'); let isScript = path === mw.config.get('wgScript'); let comps = [mw.config.get('wgPageName')]; if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) { comps.push(comps[0].replace(/\/.*/, '')); } comps.push((comps[1] || comps[0]) + '/'); if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return; let formData = new FormData(e.target); if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) { return; } e.preventDefault(); e.stopPropagation(); if (isSearch && e.target.id !== 'searchform') { formData.set('search', OO.ui.infuse($('#searchText')).getValue()); } else if (e.target.method === 'post') { let submitter = e.originalEvent?.submitter; if (submitter?.name) { formData.append(submitter.name, submitter.value); } getContent(path, null, { method: 'POST', headers: { 'Content-Type': e.target.enctype }, body: e.target.enctype === 'multipart/form-data' ? formData : new URLSearchParams(formData) }); return; } getContent(path + '?' + new URLSearchParams(formData)); }; let setPortlet = text => { if (!o.portletLink) return; $(o.portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = text; return false; } }); }; o._enable = () => { o.enabled = true; let $body = $(document.body).on('click', 'a', onClick); if (o.formSelector) { $body.on('submit', onSubmit); } $body.parent().on('keydown', onKeyDown); $(window).on('popstate', onPopState); if (o.css) { o.css.disabled = false; } if (isPerma) { mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable); } setPortlet('Disable SmoothPager'); }; o._disable = () => { o.enabled = false; $(document.body).off('click', onClick).off('submit', onSubmit) .parent().off('keydown', onKeyDown); $(window).off('popstate', onPopState); o.css.disabled = true; mw.trackUnsubscribe(o._disable); setPortlet('Enable SmoothPager'); }; o._enable(); o.css = mw.loader.addStyleTag(`${o.linkSelector}, .cdx-table__table__sort-button { color: #008064 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):visited { color: #006400 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):active { color: #faa700 !important; } .cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon { background-color: #14866d; } .smoothpager-switching { opacity: 0.75; } .smoothpager-throbber { width: 20%; height: 0.5vh; position: fixed; top: 0; left: 0; background-color: var(--background-color-progressive, #36c); transform: translate(-100%); animation: smoothpager-throbber 1s infinite linear; } @keyframes smoothpager-throbber { to { transform: translate(700%); } } @media (prefers-reduced-motion: reduce) { .smoothpager-throbber { animation: smoothpager-throbber 1s infinite steps(10,end) !important; width: 40%; } }${o.formSelector ? ` :is(${o.formSelector}) input[type="submit"], :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--color-inverted, #fff); background-color: #14866d; border-color: #14866d; } :is(${o.formSelector}) input[type="submit"]:hover, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: #00af89; border-color: #00af89; } :is(${o.formSelector}) input[type="submit"]:focus, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: #14866d; } :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff; } :is(${o.formSelector}) input[type="submit"]:active, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active { background-color: #0e725a; border-color: #0e725a; box-shadow: none; }` : ''}`); await $.ready; if (!document.getElementById('p-cactions')) return; o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild; o.portletLink.addEventListener('click', e => { e.preventDefault(); o[o.enabled ? '_disable' : '_enable'](); }); }); window.smartdiffTemplates = [ { names: ['T', 'Tl'], namespace: 10, forceNs: true, end: 1 }, { names: ['Tlx'], namespace: 10, end: 1 }, { names: ['U'], prefix: 'Special:Contributions/', end: 1 }, { names: ['Re', 'Reply to', 'Ping'], prefix: 'Special:Contributions/' }, { names: ['About'], start: 3, skipEven: true }, { names: ['For'], start: 2 }, { names: ['Other uses', 'Otheruses'], end: 1 }, { names: ['Section link', 'Slink'], end: 1 }, { names: ['Redirect'], skipEven: true, noRedirectEnd: 1 }, { names: ['Shortcut'], noRedirectStart: 1 }, { names: ['Tracked', 'Phab'], prefix: 'phab:', end: 1 }, { names: [ 'Distinguish', 'Main', 'Main article', 'Further', 'See also', 'Seealso' ] }, { names: ['Ll'], end: 1 } ]; mw.loader.using([ 'mediawiki.util', 'mediawiki.Title', 'mediawiki.api' ], function smartDiff() { mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}'); class SmartDiff { constructor($diff) { this.$diff = $diff; this.isSpecial = mw.config.get('wgNamespaceNumber') === -1; this.isView = mw.config.get('wgAction') === 'view' && new URLSearchParams(location.search).get('diffonly') !== '1'; this.magicWords = [ '!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:', 'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME', 'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1', 'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN', 'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK', 'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME', 'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:', 'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2', 'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1', 'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:', 'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER', 'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES', 'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS', 'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:', 'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:', 'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:', 'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP', 'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR', 'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE', 'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:', 'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:', 'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:', 'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:', 'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:', 'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:' ]; if (window.smartdiffMagicWords) { this.magicWords.push(...window.smartdiffMagicWords); } try { this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages; } catch (e) {} if (!this.subNs) { this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces')) .map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns)); } this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?&lt;(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!&gt;).*?&gt;)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?&lt;(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?&gt;(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g; this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:&lt;|$))/g; // https://commons.wikimedia.org/wiki/Special:MediaStatistics this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi; this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g; if (window.smartdiffTemplates) { this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g; this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/; this.templates = window.smartdiffTemplates; } this.side = 'old'; $diff.find('.diff-deletedline > div').get().forEach(this.processDiv); this.side = 'new'; $diff.find('.diff-addedline > div').get().forEach(this.processDiv); let $contexts = $diff.find('.diff-context > div'); $contexts.each((i, div) => { if (i % 2) { this.side = 'new'; if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) { this.processDiv(div); } else { $contexts.eq(i).replaceWith($contexts.eq(i - 1).clone()); } } else { this.side = 'old'; this.propUsed = false; this.processDiv(div); } }); this.links = {}; $diff.find('.smartdiff-link:not(.external)').each((i, link) => { let title = link.title; if (!title) return; if (!this.links.hasOwnProperty(title)) { this.links[title] = []; } this.links[title].push(link); }); this.query(Object.keys(this.links).slice(0, 500)); if (this.hasError) { mw.notify('SmartDiff error', { type: 'warn' }); } } processDiv = div => { if (div.querySelector('a[href]')) return; let origHtml = div.innerHTML; let newHtml = origHtml.replace(this.urlRe, this.urlRep) .replace(this.galleryRe, this.galleryRep) .replace(this.re, this.rep).replace(this.headRe, this.headRep); if (this.tempRe) { newHtml = newHtml.replace(this.tempRe, this.tempRep); } if (newHtml === origHtml) return; newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, ''); let $newDiv = $('<div>').html(newHtml); if (this.detectErrors($newDiv, newHtml, origHtml, div)) return; div.textContent = ''; $newDiv.contents().appendTo(div); }; rep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s), isTemp; if (t) { if ($1.includes('invoke')) { t = mw.Title.makeTitle(828, s); } else if (s[0] === '/') { if (this.subNs.includes(this.getProp('ns'))) { t = mw.Title.newFromText( this.getProp() + s.replace(/\/+$/, '') ); } else if ($1[0] === '{') { t.namespace = 10; } } else if ($1[0] === '{') { if (s[0] === '#') { return $0; } if ($1.includes('int')) { t = mw.Title.makeTitle(8, s); } else if (!t.namespace && s[0] !== ':') { if (!$1.includes('msg') && !$1.includes('raw')) { let match = s.match(/^[^:]+(?::(?=.)|$)/); if (match && this.magicWords.includes(match[0])) { return $0; } } t.namespace = 10; isTemp = true; } } else if ((this.isSpecial || !this.isView) && s[0] === '#') { t.title = this.getProp(); } } else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) { let chunks = s.split('/'); let levelCount = chunks.findIndex(v => v !== '..'); let sup = this.getProp().split('/').slice(0, -levelCount).join('/'); if (sup) { let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, ''); t = mw.Title.newFromText(sub ? sup + '/' + sub : sup); } } if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView || s[0] !== '#') { attrs.title = t.toText(); } if (isTemp && this.tempRe) { let name = t.getMainText(); let idx = this.templates.findIndex(temp => temp.names.includes(name)); if (idx !== -1) { attrs['data-smartdiff-temp'] = idx; } } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; stripTags(s, decode, pre = '', post = '') { let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g); s = $($.parseHTML(s.replace(/&amp;/g, '&'))).text(); if (decode) { try { s = decodeURIComponent(s); } catch (e) {} } if (tags) { if (tags[0][1] === '/') { pre += tags[0]; mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid; } let lastTag = tags.pop(); if (lastTag[1] !== '/') { mid += `</${lastTag.slice(1, 4)}>`; post = lastTag + post; } } return [s, pre, mid, post]; } headRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1') .replace(/''(.+?)''/g, '$1') .replace(/^_+|_+$/g, ''); let t = mw.Title.newFromText( `${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}` ); if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView) { attrs.title = t.toText(); } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; galleryRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s, 6); if (t && t.namespace !== 6) { t = mw.Title.makeTitle(6, s); } if (!t) { return $0; } return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(), title: t.toText() }).html(mid)[0].outerHTML + post; }; urlRep = ($0, $1, $2, $3) => { let main = $2, trail; if (!$1) { if (!$3) { return $0; } let re = main.includes('(') ? /[!,.:;?](?:<[^>]*>)?$/ : /[!),.:;?](?:<[^>]*>)?$/; let match = main.match(re); if (match && !/&amp(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main) ) { trail = match[0]; main = main.slice(0, -trail.length); } } let [url, pre, mid, post] = this.stripTags(main); if ($1) { pre = $1 + pre; } else if (trail) { post += trail; } return pre + $('<a>').attr({ class: 'smartdiff-link external', href: url, rel: 'nofollow' }).html(mid)[0].outerHTML + post; }; tempRep = ($0, $1, $2, $3) => { if ($3.includes('<a class="smartdiff-link')) { return $0; } let temp = this.templates[$2]; return $1 + $3.split(this.tempSubRe).map((os, i) => { if (!os || i % 2) { return os; } let j = i / 2; if (j < temp.start || j > temp.end || temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0 ) { return os; } let [s, pre, mid, post] = this.stripTags(os, true); if (temp.prefix) { s = temp.prefix + s; } if (temp.suffix) { s += temp.suffix; } let t = temp.forceNs ? mw.Title.makeTitle(temp.namespace, s) : mw.Title.newFromText(s, temp.namespace); if (!t) { return os; } let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) && { redirect: 'no' }; return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(params), title: t.toText() }).html(mid)[0].outerHTML + post; }).join(''); }; getProp(n = 'pn', side = this.side) { this.propUsed = true; if (this[side]) { if (this[side][n]) { return this[side][n]; } } else { this[side] = {}; let link = this.$diff[0].querySelector( side === 'old' ? '#mw-diff-otitle1 a, #differences-prevlink' : '#mw-diff-ntitle1 a, #differences-nextlink' ); if (link) { let pn = mw.util.getParamValue('title', link.search); this[side].pn = pn; this[side].ns = mw.Title.newFromText(pn).namespace; return this[side][n]; } } if (this[n]) { return this[n]; } if (this.isSpecial) { this.pn = ''; this.ns = 0; } else { this.pn = mw.config.get('wgPageName'); this.ns = mw.config.get('wgNamespaceNumber'); } return this[n]; } query(titles) { if (!titles.length) return; new mw.Api().post({ action: 'query', titles: titles.slice(0, 50), iwurl: 1, prop: 'info', inprop: 'linkclasses', inlinkcontext: this.getProp(), formatversion: 2 }, { headers: { 'Promise-Non-Write-API-Action': 1 } }).then(response => { let query = response && response.query; if (!query) return; let data = {}; (query.pages || []).forEach(page => { let obj = { classes: page.linkclasses || [] }; if (page.missing && !page.known) { obj.classes.push('new'); obj.params = { action: 'edit', redlink: 1 }; } data[page.title] = obj; }); (query.interwiki || []).forEach(interwiki => { data[interwiki.title] = { classes: ['extiw'], url: interwiki.url }; }); (query.normalized || []).forEach(entry => { if (!data.hasOwnProperty(entry.to)) return; let obj = data[entry.to]; obj.canonical = entry.to; if (!obj.url) { obj.url = mw.util.getUrl(entry.to, obj.params); } data[entry.from] = obj; }); Object.entries(data).forEach(([title, obj]) => { if (!this.links.hasOwnProperty(title)) return; let $links = $(this.links[title]).addClass(obj.classes) .attr('title', obj.canonical); if (obj.url) { $links.attr('href', function () { return obj.url + this.hash; }); } }); this.query(titles.slice(50)); }); } detectErrors($newDiv, newHtml, origHtml, div) { let comp = $newDiv.html(); if (comp !== newHtml) { console.warn( 'SmartDiff syntax error at:\n', div, `\nNew HTML:\n${newHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } let $comp = $newDiv.clone(); $comp.find('.smartdiff-link').contents().unwrap(); comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, ''); if (comp !== origHtml) { console.warn( 'SmartDiff mutation error at:\n', div, `\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } } } mw.hook('wikipage.diff').add($diff => { new SmartDiff($diff); }); }); (function copySectLink() { let dependencies = ['mediawiki.util']; let classes = 'copysectlink'; let css; switch (mw.config.get('skin')) { case 'minerva': classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet'; css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}'; break; case 'timeless': classes += ' mw-ui-icon-copy'; css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}'; } if (css) { mw.loader.addStyleTag(css); dependencies.push('oojs-ui.styles.icons-editing-advanced'); } let handler = function (e) { e.preventDefault(); e.stopPropagation(); let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace( /[\[\]{|}]/g, s => '&#' + s.codePointAt(0) + ';' ) : '')).replace(/_/g, ' '); let $input = $('<input>').attr({ type: 'text', readonly: '', style: 'position:fixed;top:-100%' }).val(text).appendTo(document.body); $input[0].select(); let copied; try { copied = document.execCommand('copy'); } catch (e) {} $input.remove(); if (copied) { mw.notify(`Copied "${text}"`); } else { mw.notify('Copy failed', { type: 'error' }); } }; let addButton = (block, id) => { let $button = $('<a>').attr({ class: classes + (id ? ' mw-selflink-fragment' : ''), href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''), role: 'button' }).text('copy').on('click', handler); if (mw.config.get('skin') === 'minerva') { $button.attr('title', 'Copy').wrapInner('<span>') .prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert')); let wrapper = block.querySelector('.mw-editsection'); if (wrapper) { $button.prependTo(wrapper); } else { $button.appendTo(block); } } else { let bracket = block.querySelector('.mw-editsection-bracket:last-child'); if (bracket) { $button.insertAfter(bracket); } else { $('<span>').addClass('mw-editsection').append( $('<span>').addClass('mw-editsection-bracket').text('['), $button, $('<span>').addClass('mw-editsection-bracket').text(']') ).appendTo(block); } } }; if (['view', 'purge'].includes(mw.config.get('wgAction'))) { ['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => { let state = mw.loader.getState(m); if (state && state !== 'registered') { dependencies.push(m); } }); } $.when($.ready, mw.loader.using(dependencies)).then(() => { if (mw.config.get('wgNamespaceNumber') >= 0) { addButton(document.getElementById('firstHeading')); } mw.hook('wikipage.content').add($content => { $content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () { addButton(this.parentElement, this.id); }); $content.find( ':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]' ).each(function () { addButton(this, this.id); }); }); }); }()); mw.loader.using([ 'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage' ], function ipaInput() { if (!mw.libs.ve.isVisualAvailable && !['edit', 'submit'].includes(mw.config.get('wgAction')) ) { return; } mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`); let clicked; let openDialog = () => { if (clicked) { if (window.ipaInputDialog) { window.ipaInputDialog.open(); } return; } clicked = true; mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript'); mw.loader.using([ 'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-editing-advanced' ]); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { ipainput: { label: 'IPAInput', type: 'button', oouiIcon: 'schwa', action: { type: 'callback', execute: openDialog } } } }); }); mw.hook('ve.loadModules').add(addPlugin => { addPlugin(() => { ve.ui.IpaInputCommand = function VeUiIpaInputCommand() { ve.ui.IpaInputCommand.super.call(this, 'ipaInput'); }; OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command); ve.ui.IpaInputCommand.prototype.execute = () => { openDialog(); return true; }; ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand()); ve.ui.IpaInputTool = function VeUiIpaInputTool() { ve.ui.IpaInputTool.super.apply(this, arguments); }; OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool); ve.ui.IpaInputTool.static.name = 'ipaInput'; ve.ui.IpaInputTool.static.group = 'insert'; ve.ui.IpaInputTool.static.icon = 'schwa'; ve.ui.IpaInputTool.static.title = 'IPA'; ve.ui.IpaInputTool.static.commandName = 'ipaInput'; ve.ui.toolFactory.register(ve.ui.IpaInputTool); }); }); mw.requestIdleCallback(() => { let expiry = mw.storage.get('_EXPIRY_ipainput-cache'); if (!expiry) return; $.get( '//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata' ).then(response => { if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) { mw.storage.remove('ipainput-cache'); } }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && (function wiktIpa() { mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`); let clicked, dialog, input, $result; let openDialog = async context => { if (clicked) { if (dialog) { let selection = context.$textarea.textSelection('getSelection'); if (selection) { input.setValue(selection); } if ($result) { $result.prev().addBack().remove(); $result = null; } dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); } return; } clicked = true; await mw.loader.using([ 'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi', 'mediawiki.util' ]); let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({ action: 'query', generator: 'search', gsrsearch: 'deepcat:Pronunciation_templates_by_language', gsrnamespace: 10, gsrlimit: 'max', gsrsort: 'none', formatversion: 2 }); let winMan = new OO.ui.WindowManager(); dialog = new OO.ui.MessageDialog(); winMan.addWindows([dialog]); let items = response.query.pages .map(p => p.title.slice(9)) .sort(Intl.Collator('en-u-kn-true').compare) .map(s => new OO.ui.MenuOptionWidget({ label: s })); let dropdown = new OO.ui.DropdownWidget({ $overlay: dialog.$overlay, menu: { items } }); let $doc = $('<p>'); dropdown.getMenu().on('choose', mw.util.debounce(async item => { let title = 'Template:' + item.getLabel(); let $link = $('<a>').attr({ href: '//en.wiktionary.org/wiki/' + title, target: '_blank', title: title }).text('documentation'); $doc.empty().append('Loading ', $link, '...'); try { let data = await $.get( '//en.wiktionary.org/api/rest_v1/page/html/' + encodeURIComponent(title + '/documentation') ); let text = $($.parseHTML(data)).find('p').first().text() .replace(/\. .*/, '.'); $doc.text(text + ' (').append($link.text('read more'), ')'); dialog.updateSize(); } catch { $doc.empty().append('Failed to load ', $link); } }, 100)).selectItem(items[0]); input = new OO.ui.TextInputWidget({ autocomplete: false, value: context.$textarea.textSelection('getSelection') || mw.config.get('wgTitle') }); let button = new OO.ui.ButtonWidget({ disabled: !input.getValue(), label: 'Get', flags: ['primary', 'progressive'] }).on('click', async () => { button.setDisabled(true); let template = dropdown.getMenu().findSelectedItem().getLabel(); let text = input.getValue(); try { let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', { wikitext: `{{${template}|1=${text}}}`, body_only: true }); if ($result) { $result.children().remove(); } else { $result = $('<div>').text('Result:') .insertAfter(fieldset.$element) .before('<hr>'); } $result.append($.parseHTML(data)) .find('.mw-collapsible').makeCollapsible().end() .find('[id], [about]').removeAttr('id about').end() .find('a').attr('target', '_blank') .filter('[href^="./"]').attr('href', (_, href) => ( '//en.wiktionary.org/wiki' + href.slice(1) )); dialog.updateSize(); } catch {} finally { button.setDisabled(); } }); input.on('change', value => { button.setDisabled(!value); }).connect(button, { enter: ['emit', 'click'] }); let fieldset = new OO.ui.FieldsetLayout({ items: [ new OO.ui.FieldLayout(dropdown, { label: 'Template:', align: 'top' }), new OO.ui.FieldLayout(input, { label: 'Input:', align: 'top' }), new OO.ui.FieldLayout(button) ] }); dropdown.$element.after($doc); dialog.text.$element.append(fieldset.$element/*.on('keydown', e => { e.stopPropagation(); })*/); winMan.$element.appendTo(OO.ui.getTeleportTarget()); dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { wiktipa: { label: 'WiktIPA', type: 'button', oouiIcon: 'wiktionary', action: { type: 'callback', execute: openDialog } } } }); }); }()); window.scripttesterSkipWarning = true; mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() { let get = () => new Set(mw.storage.getObject('scripttester')); if (mw.storage.get('scripttester')) { let unloading; window.addEventListener('beforeunload', () => { unloading = true; }); get().forEach(async s => { let isCss = /\.css$/i.test(s); let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, { action: 'raw', ctype: isCss ? 'text/css' : 'text/javascript' }); if (isCss) { mw.loader.load(url, 'text/css'); return; } try { await mw.loader.getScript(url); } catch (e) { if (unloading) { console.warn(e); return; } mw.notify('Failed to load temporarily installed ' + s, { type: 'error' }); } }); } else if (!window.scripttesterSkipWarning) { await mw.loader.using('oojs-ui-windows'); if (await OO.ui.confirm( 'You take full responsibility for any consequences arising from using ScriptTester.' )) { mw.storage.setObject('scripttester', []); } } await $.ready; if (!document.getElementById('p-tb')) return; let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}'); let linksShown = mw.config.get('wgNamespaceNumber') > 0 && mw.config.get('wgAction') === 'view'; let updateLinks = (s, unins) => { if (!linksShown) return; $(`.scripttester-link[data-scripttester="${s}"]`) .toggleClass('scripttester-installed', !unins); }; let dialog, multiselect, addButton, removeButton, clearButton; let openDialog = () => { if (!dialog) { dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] }); let winMan = new OO.ui.WindowManager(); winMan.addWindows([dialog]); multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => { removeButton.setDisabled(!multiselect.findSelectedItems().length); }); addButton = new OO.ui.ButtonWidget({ label: 'Add' }).on('click', async () => { dialog.toggle(false); let s = (await OO.ui.prompt('Add a script', { textInput: { placeholder: 'Script page name or URL' } })).trim(); if (!s) return; if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) { await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`); dialog.toggle(true); updateDialog(); return; } mw.storage.setObject('scripttester', [...get().add(s)]); updateLinks(s); }); removeButton = new OO.ui.ButtonWidget({ label: 'Remove' }).on('click', () => { let set = get(); multiselect.findSelectedItems().forEach(item => { let s = item.getLabel(); set.delete(s); updateLinks(s, true); }); mw.storage.setObject('scripttester', [...set]); updateDialog(); }); clearButton = new OO.ui.ButtonWidget({ label: 'Clear', flags: 'destructive' }).on('click', async () => { dialog.toggle(false); if (!(await OO.ui.confirm('Uninstall all scripts?'))) { dialog.toggle(true); return; } mw.storage.setObject('scripttester', []); if (linksShown) { $('.scripttester-installed').removeClass('scripttester-installed'); } dialog.toggle(true); updateDialog(); }); dialog.text.$element.append( multiselect.$element, new OO.ui.ButtonGroupWidget({ items: [addButton, removeButton] }).$element, clearButton.$element ); winMan.$element.appendTo(OO.ui.getTeleportTarget()); } updateDialog(); dialog.open({ message: 'Temporarily installed scripts:', actions: [{ label: 'Done', flags: ['safe', 'close'] }] }); }; let updateDialog = () => { let set = get(); multiselect.clearItems().addItems( [...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s })) ); removeButton.setDisabled(true); clearButton.toggle(set.size); dialog.updateSize(); updatePortlet(set.size); }; let updatePortlet = count => { $(portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = `Temporarily installed scripts (${count})`; return false; } }); }; let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`) .firstElementChild; portletLink.addEventListener('click', e => { e.preventDefault(); mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog); }); window.addEventListener('storage', e => { if (e.key === 'scripttester') { updatePortlet(get().size); } }); if (!linksShown) return; css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}'; let linkHandler = function () { let s = this.dataset.scripttester; let unins = this.classList.contains('scripttester-installed'); let set = get(); set[unins ? 'delete' : 'add'](s); let success = mw.storage.setObject('scripttester', [...set]); if (success) { mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, { tag: 'scripttester' }); updateLinks(s, unins); updatePortlet(set.size); } else { mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, { tag: 'scripttester', type: 'error' }); } }; if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) && ['javascript', 'css'].includes(mw.config.get('wgPageContentModel')) ) { let s = mw.config.get('wgPageName').replaceAll('_', ' '); $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ).appendTo(document.getElementById('firstHeading')); return; } mw.hook('wikipage.content').add($content => { let set = get(); let ns = mw.config.get('wgFormattedNamespaces'); let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`); $content.find('a:not(.external, .new)').after(function () { let s = this.title; if (!s || !re.test(s)) return; return $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ); }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.on('keydown', async e => { if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return; e.preventDefault(); let context = $textarea.data('wikiEditorContext'); context.api.openDialog(context, 'search-and-replace'); await mw.loader.using('jquery.textSelection'); let tb = document.getElementById('wikieditor-toolbar-replace-search'); let sel = $textarea.textSelection('getSelection'); if (sel) { tb.value = sel; } tb.focus(); }); $(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => { $textarea[0].focus(); }); }); mw.config.get('wgNamespaceNumber') && mw.config.get('wgAction') !== 'history' && (function catChangeHighlighter() { let run; mw.hook('wikipage.content').add($content => { $content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () { let text = this.querySelector('.comment').textContent; if (text.includes(' added ')) { this.classList.add('catchangehighlighter-addition'); } else if (text.includes(' removed ')) { this.classList.add('catchangehighlighter-removal'); } if (run) return; run = true; mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}'); }); }); }()); (mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' || [-1, 14].includes(mw.config.get('wgNamespaceNumber'))) && (function diffFontSwitcher() { mw.loader.addStyleTag('.diff-lineno{cursor:pointer}'); $(document.body).on('click keydown', '.diff-lineno', function (e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); this.closest('.diff').classList.toggle('difffontswitcher-enabled'); }); mw.hook('wikipage.diff').add($diff => { $diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' }); }); }()); mw.trackSubscribe('resourceloader.exception', (topic, data) => { mw.notify(data.exception, { autoHide: false, title: `Exception in ${data.source} in module ${data.module}`, type: 'warn' }); }); mw.config.get('skin') === 'vector-2022' && $(document).one('click', '.mw-interlanguage-selector', async () => { await mw.loader.using('ext.uls.mediawiki'); $.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow'; mw.uls.getFrequentLanguageList = () => []; }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's'); c45ta5baws2wilz1qgxv883hay4yecx 747594 747593 2026-06-19T06:08:42Z Nardog 40946 747594 javascript text/javascript /* globals ve */ // window.dn?.disable?.(); window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff'; (mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') && mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() { let isHist = mw.config.get('wgAction') === 'history'; let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`; let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch'; let diffs = [], count = 0, expanded = new WeakSet(); window.dn = diffs; let sanitize = href => { let url = new URL(href, location.href); let newParams = new URLSearchParams(), hasId; ['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => { if (url.searchParams.has(k)) { let v = url.searchParams.get(k); newParams.set(k, v); hasId = hasId || v > 0; } }); if (!hasId && url.searchParams.has('title')) { return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`; } return String(newParams); }; let getDiff = comp => { if (typeof comp === 'string') { let sanitized = sanitize(comp); return diffs.find(diff => ( diff.queries.has(comp) || diff.queries.has(sanitized) )); } return diffs.find(diff => diff.$diff.is(comp)); }; let containers = []; window.dn._c = containers; class Diff { constructor(href, $link) { this.aborter = new AbortController(); this.queries = new Set(); this.setLink(href, $link); diffs.push(this); } setLink(href, $link) { if (this.href) { if ($link.is(this.$link)) { if (this.aborter) { this.aborter.abort(); } else if (this.isVisible()) { this.close(); } else { this.$anchor = this.getAnchor(); this.append(); } return; } if ($link.is(this.$outerLink) && this.isVisible()) { this.close(); return; } if (this.getAnchor($link).is(this.$anchor)) { this.markLink(false); } else { this.close(); } } this.href = href; this.queries.add(href); let sanitized = sanitize(href); if (sanitized) { this.queries.add(sanitized); } this.$link = $link; this.isSwitch = $link.is(switchSelector); if (!this.isSwitch) { this.$outerLink = $link; } this.$anchor = this.getAnchor(); if (this.aborter) { this.markLink(); } else { this.append(); } } append(response) { if (response) { delete this.aborter; this.findDiff(response); this.setQueries(); this.polishDiff(); } let $container = this.getContainer(true); if (!$container[0].isConnected) { if (this.$anchor.is('tr')) { let cols = this.$anchor.children().get() .reduce((acc, cell) => acc + cell.colSpan, 0); $('<tr>').addClass('diffnow-row').append( $('<td>').attr('colspan', cols).append($container) ).insertAfter(this.$anchor); } else if (this.$anchor.is('div')) { this.$anchor.after($container); } else { this.$anchor.append($container); } } this.attached = true; filterContexts(this.$diff); window.addEventListener('resize', onResize); if (!this.$link.hasClass('diffnow-link-loaded')) { mw.requestIdleCallback(() => { this.markLinks(); this.markSeen(); }); } if ($container[0].getBoundingClientRect().top < 0) { $container[0].scrollIntoView(); } this.markLink(true); if (response) { mw.hook('wikipage.content').fire($container); } } findDiff(response) { if (typeof response !== 'string') throw ''; let $diff = $($.parseHTML(response)) .filter('.diff[data-mw-interface]'); if (!$diff.length) { $diff = $diff.end().find('.diff[data-mw-interface]'); if (!$diff.length) throw ''; } this.$diff = $($diff[0]); } setQueries() { let newPerma = this.$diff[0].querySelector( '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (newPerma) { this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search)); this.newTitle = newPerma.title; } let oldPerma = this.$diff[0].querySelector( '#mw-diff-otitle1 > strong > a, #differences-prevlink' ); if (oldPerma) { this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search)); this.oldTitle = oldPerma.title; } let isSamePage = !oldPerma || this.newTitle === this.oldTitle; this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi'); if (this.newId) { if (this.newId === this.oldId) { throw 'nonfatal'; } if (this.oldId) { this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`); } this.isLast = !this.$diff[0].querySelector('#differences-nextlink'); if (this.isSingle) { this.queries.add(`diff=prev&oldid=${this.newId}`); if (this.isLast && this.oldId) { this.queries.add(`diff=0&oldid=${this.oldId}`); this.queries.add(`diff=cur&oldid=${this.oldId}`); } } } if (this.oldId && this.isSingle) { this.queries.add(`diff=next&oldid=${this.oldId}`); } this.queries.forEach(q => { let other = getDiff(q); if (other && other !== this) { other.setLink(this.href, this.$link); throw 'nonfatal'; } }); if (this.oldId) { diffs.forEach(diff => { if (diff.isLast && diff.newId === this.oldId) { diff.markNotLast(this); } }); } } async polishDiff() { mw.hook('wikipage.diff').fire(this.$diff); let prevLink = this.$diff[0].querySelector('#differences-prevlink'); let nextLink = this.$diff[0].querySelector('#differences-nextlink'); $([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => ( href.replace('&diffonly=1', '').replace('&expand-url=1', '') )); [['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => { if (link && !mw.messages.exists(key)) { mw.messages.set(key, link.textContent); } }); if (!nextLink && this.isLast) { this.$diff.find('#mw-diff-ntitle4').empty().append( $('<a>').attr({ class: 'diffnow-checknext diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'next', oldid: this.newId }), title: this.newTitle }).text('Check for newer edit') ); } this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right') .attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`); this.$diff.find('a[name^="movedpara"]') .attr('name', (_, name) => `diffnow-${count}-${name}`); count++; this.$diff.find('[id]').addClass(function () { return 'diffnow-' + this.id; }).removeAttr('id'); if (this.$diff[0].querySelector('.mw-thanks-thank-link')) { mw.loader.load('ext.thanks.corethank'); mw.config.set('thanks-confirmation-required', true); } if (!this.isSingle) { let keys = ['nextdiff', 'previousdiff'] .filter(s => !mw.messages.exists(s)); if (keys.length) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(keys); } this.$diff.find('.diff-multi').append( $('<div>').append( $('<div>').append( $('<a>').attr({ class: 'diffnow-multinext diffnow-switch', href: mw.util.getUrl(this.oldTitle, { diff: 'next', oldid: this.oldId }), title: this.oldTitle }).text(mw.msg('nextdiff')) ), $('<div>').append( $('<a>').attr({ class: 'diffnow-multiprev diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'prev', oldid: this.newId }), title: this.newTitle }).text(mw.msg('previousdiff')) ) ) ); } } getAnchor($link) { let isSwitch; if ($link) { isSwitch = $link.is(switchSelector); } else { $link = this.$link; isSwitch = this.isSwitch; } if (isSwitch) { return getDiff($link.closest('.diff')).$anchor; } return $link.closest('li, tr, .mw-history-compareselectedversions'); } getContainer(create) { let $container = this.$anchor.is('tr') ? this.$anchor.next('.diffnow-row').find('> td > .diffnow') : this.$anchor.is('div') ? this.$anchor.next('.diffnow') : this.$anchor.children('.diffnow'); if (create) { if ($container.length) { this.attachDiff($container); } else { $container = this.createContainter(); } } return $container; } attachDiff($container) { let $oldDiff = $container.children('.diff'); if (!$oldDiff.is(this.$diff)) { if ($oldDiff.length) { getDiff($oldDiff).detachDiff(); } $container.children('.diffnow-tools-top').after(this.$diff); } $container.find('.diffnow-difflink').attr('href', this.href); } createContainter() { let $container = containers.pop(); if ($container) { this.attachDiff($container); return $container; } return $('<div>').addClass('diffnow').append( $('<div>').addClass('diffnow-tools diffnow-tools-top').append( $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-collapse', title: 'Hide this diff' }) ), this.$diff, $('<div>').addClass('diffnow-tools diffnow-tools-bottom').append( $('<button>').attr({ class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse', title: 'Scroll to top' }), $('<button>').attr({ class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand', title: 'Scroll to bottom' }), $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-close', title: 'Hide this diff' }), $('<a>').attr({ class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive', href: this.href, target: '_blank', title: 'Open diff page' }) ) ) .on('click', '.diffnow-close', this.collapse) .on('click', '.diffnow-scrollup', this.scrollUp) .on('click', '.diffnow-scrolldown', this.scrollDown) .on( 'click keydown', '.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker', this.toggleContext ); } isVisible() { return !!this.$diff?.[0].offsetParent; } markLink(visible = this.isVisible()) { if (this.isSwitch) { this.getContainer().toggleClass('diffnow-switching', !!this.aborter); if (!this.$outerLink) return; } this.$outerLink .toggleClass('diffnow-link-loading', !!this.aborter) .toggleClass('diffnow-link-loaded', !this.aborter) .toggleClass('diffnow-link-open', !this.isSwitch && visible); } markLinks() { $(selector).filter((_, link) => { let href = link.getAttribute('href'); return this.queries.has(href) || this.queries.has(sanitize(href)); }).addClass('diffnow-link-loaded'); if (!isHist) return; $('.mw-history-compareselectedversions-button').toggleClass( 'diffnow-link-loaded', !!getDiff(getHistHref()) ); } markSeen() { if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) { this.$anchor.nextAll().addBack() .removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched'); return; } let $li = this.$anchor.closest('li, table'); let $unseen = $li.filter('.mw-changeslist-watchedunseen') .add($li.find('.mw-changeslist-watchedunseen')); if (!$unseen.length) return; $unseen.removeClass('mw-changeslist-watchedunseen') .addClass('mw-changeslist-watchedseen'); $li.filter('.mw-changeslist-line-watched') .add($li.find('.mw-changeslist-line-watched')) .removeClass('mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-line-not-watched'); } async markNotLast(newDiff) { this.isLast = false; this.queries = new Set([...this.queries].filter(q => ( !/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q) ))); this.$diff.find( '.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted' ).first().text( newDiff.$diff.find( '#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted' ).first().text() ); this.$diff.find('.diff-ntitle .mw-diff-edit a') .attr('href', (_, href) => href + '&oldid=' + this.newId); if (!mw.messages.exists('nextdiff')) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(['nextdiff']); } this.$diff.find('.diffnow-checknext') .attr('class', 'diffnow-differences-nextlink') .text(mw.msg('nextdiff')); } detachDiff() { this.$diff?.detach(); this.markLink(false); } close(adjustFocus) { this.detachDiff(); let $container = this.getContainer(); if ($container.length) { let $row = $container.closest('.diffnow-row'); containers.push($container.detach()); $row.remove(); } if (!adjustFocus) return; setTimeout(() => { this.$anchor.find('a[href]').last().each(function () { this.focus(); this.blur(); }); }); } collapse(e) { e.preventDefault(); let $container = $(e.delegateTarget); let diff = getDiff($container.children('.diff')); if (diff.$link[0].getBoundingClientRect().top < 0) { diff.$anchor[0].scrollIntoView(); $container.fadeOut('fast', () => { diff.close(true); setTimeout(() => { diff.$anchor[0].scrollIntoView(); $container.removeAttr('style'); }); }); } else { diff.close(true); } } scrollUp(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().top; let ch = document.documentElement.clientHeight, buffer = ch / 2; y -= y + 5 > buffer ? ch : buffer; window.scrollBy({ top: y, behavior: 'smooth' }); } scrollDown(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().bottom; let buffer = document.documentElement.clientHeight / 2; if (y - 5 > buffer) { y -= buffer; } window.scrollBy({ top: y, behavior: 'smooth' }); } toggleContext(e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); let $row = $(e.target.closest('tr')); if ($row.hasClass('diffnow-context-expanded')) { $row.removeClass('diffnow-context-expanded') .addClass('diffnow-context-collapsed') .children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); expanded.delete($row[0]); } else { $row.removeClass('diffnow-context-collapsed') .addClass('diffnow-context-expanded') .children('.diff-context').removeAttr('tabindex role title') .siblings('.diff-marker').attr('title', 'Collapse'); expanded.add($row[0]); } } destroy() { diffs.splice(diffs.indexOf(this), 1); this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open'); this.getContainer().removeClass('diffnow-switching'); } } let filterContexts = $diff => { $diff.find('.diff-context.diff-side-deleted > div').each(function () { let $row = $(this.closest('tr')) .removeClass('diffnow-context-expanded'); if (this.scrollHeight > this.clientHeight) { if (expanded.has($row[0])) { $row.addClass('diffnow-context-expanded') .children('.diff-marker').attr({ tabindex: 0, role: 'button', title: 'Collapse' }); } else { $row.addClass('diffnow-context-collapsed').children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); } } else { $row.removeClass('diffnow-context-collapsed') .children().removeAttr('tabindex role title'); } }); }; let onResize = mw.util.debounce(() => { filterContexts($('.diffnow > .diff')); }, 250); let notif; let showError = async (href, msg) => { notif = await mw.notify([ document.createTextNode(msg || `Couldn't load the diff`), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' }); }; let getHistHref = () => { let formData = new FormData(document.getElementById('mw-history-compare')); return mw.util.getUrl(null, { diff: formData.get('diff'), oldid: formData.get('oldid') }); }; $(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(selector) && !this.matches(switchSelector) ) { return; } e.preventDefault(); let $link = $(this); let isCompare = $link.hasClass('mw-history-compareselectedversions-button'); let href = isCompare ? getHistHref() : this.pathname + this.search; let diff = getDiff(href); try { if (diff) { diff.setLink(href, $link); return; } if (!isCompare && this.origin !== location.origin) { throw ''; } diff = new Diff(href, $link); let url = new URL(href, location.href); url.searchParams.set('diffonly', 1); url.searchParams.set('action', 'render'); let promise = fetch(url, { signal: diff.aborter.signal }); mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']); if (notif) { notif.close(); notif = null; } diff.append(await (await promise).text()); } catch (error) { if (diff && !diff.attached) { diff.destroy(); } if (error.name === 'AbortError') { notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' }); } else if (error !== 'nonfatal') { showError(href, error); console.error(error); } } }); let css = mw.loader.addStyleTag(`${selector} { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); background-position: right; background-repeat: no-repeat; background-size: 10px 10px; padding-right: 12px; } .mw-history-compareselectedversions-button { background-position: right 6px center; background-size: 14px 14px; padding-right: 24px !important; } .skin-timeless .mw-history-compareselectedversions-button { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg); } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important; } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important; } .diffnow-link-loading { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important; } .diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important; } .diffnow-link-open, .diffnow-context-expanded > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important; } .diffnow { background: var(--background-color-base, #fff); border: var(--border-base, 1px solid #a2a9b1); border-radius: 4px; position: relative; } .mw-history-compareselectedversions + .diffnow { margin-top: 0.3em; } .diffnow-tools { display: flex; position: sticky; background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65)); z-index: 1; } .diffnow-tools-top { top: 0; border-radius: 4px; } .diffnow-tools-bottom { bottom: 0; } .diffnow-tools > .diffnow-button { cursor: pointer; height: 24px; padding: 0; box-sizing: content-box; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; background-color: var(--background-color-transparent, transparent); flex-grow: 1; } .diffnow-tools > .diffnow-button:hover { background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027)); } .diffnow-tools > .diffnow-button:active { background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082)); } .diffnow-tools-top > .diffnow-button { border: none; border-radius: 3px 3px 0 0; } .diffnow-tools-bottom > .diffnow-button { border: var(--border-base, 1px solid #a2a9b1); border-radius: 99px; margin: 4px; height: 20px; } .diffnow-switching > .diff { transition: opacity 200ms; opacity: 0.4; } .diffnow-checknext, .diffnow-checknext:visited { color: var(--color-subtle, #54595d); } .diffnow :not(.diffnow-context-expanded) > .diff-context > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker { cursor: pointer !important; background-position: center; background-repeat: no-repeat; background-size: 12px 12px; } .diffnow-context-collapsed > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); } .diffnow-context-collapsed > .diff-context a { pointer-events: none; } .diffnow .diff-multi > div { display: flex; justify-content: space-around; } .diffnow > .diff td div { word-break: break-word; } .diffnow .mw-diff-inline-changed ins, .diffnow .mw-diff-inline-changed del { white-space: pre-wrap; } .diffnow-row .diffnow { border: none; } .diffnow-row > td { padding: 0 !important; } td.mw-changeslist-line-inner { width: 100%; } .mw-enhanced-rc .diffnow > .diff td { padding: 0.33em 0.5em; } .cdx-table__table-wrapper:has(.diffnow-row) { overflow-x: visible; } span.mw-history-histlinks-current, span.mw-history-histlinks-previous { padding-right: 12px; } .client-js .diffnow .mw-anonuserlink { padding-right: 0; }`); mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']); diffs._disable = () => { $(document.body).off('.diffnow'); css.remove(); }; if (isHist) { $(document.body).on('change.diffnow', '#mw-history-compare', function () { let $buttons = $('.mw-history-compareselectedversions-button'); let diff = getDiff(getHistHref()); if (diff) { $buttons.addClass('diffnow-link-loaded'); if ($buttons.is(diff.$link) && diff.isVisible()) { diff.$link.addClass('diffnow-link-open'); } else { $buttons.removeClass('diffnow-link-open'); } } else { $buttons.removeClass('diffnow-link-loaded diffnow-link-open'); } }); } let added, tempLoaded, ipInfoLoaded; mw.hook('wikipage.content').add(async () => { await new Promise(mw.requestIdleCallback); if (!document.querySelector(selector)) return; let modules = ['mediawiki.diff', 'mediawiki.diff.styles']; let cspn = mw.config.get('wgCanonicalSpecialPageName'); let loadTemp = !tempLoaded && Number(mw.user.options.get('checkuser-temporary-account-enable')) && !['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn); if (loadTemp) { modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles'); } if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) { modules.push('ext.checkUser.userInfoCard'); } let loadIpInfo; if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) { modules.push('ext.ipInfo', 'ext.ipInfo.styles'); loadIpInfo = !ipInfoLoaded && ['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn); } let promise = mw.loader.using(modules); if (loadTemp || loadIpInfo) { tempLoaded = loadTemp; ipInfoLoaded = loadIpInfo; await promise; // https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js let makeRequire = (moduleObj, basePath) => moduleName => { let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/); if (!relParts) { return mw.loader.require(moduleName); } let baseDirParts = basePath.split('/'); baseDirParts.pop(); let prefixes = relParts[1].split('/'); prefixes.pop(); let prefix; while ((prefix = prefixes.pop())) { if (prefix === '..') { baseDirParts.pop(); } } let fileName = baseDirParts.join('/'); if (fileName) { fileName += '/'; } fileName += relParts[2]; if (Object.hasOwn(moduleObj.packageExports, fileName)) { return moduleObj.packageExports[fileName]; } let scriptFiles = moduleObj.script.files; if (!Object.hasOwn(scriptFiles, fileName)) { throw Error('Cannot require undefined file ' + fileName); } let result; let fileContent = scriptFiles[fileName]; if (typeof fileContent === 'function') { let moduleParam = { exports: {} }; fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports); result = moduleParam.exports; } else { result = fileContent; } moduleObj.packageExports[fileName] = result; return result; }; if (loadTemp) { try { let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts']; makeRequire(pack, pack.script.main)('./initOnHook.js')(); } catch {} } if (loadIpInfo) { try { let pack = mw.loader.moduleRegistry['ext.ipInfo']; makeRequire(pack, pack.script.main)('./popup/init.js')(); } catch {} } } if (added || !document.getElementById('p-cactions')) return; added = true; let callback = (records, observer) => { if (records[0].target.classList.contains('diffnow-link-loaded')) { observer.takeRecords(); observer.disconnect(); clickFirst(); } }; let clickFirst = () => { let link = document.querySelector(selector); if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) { return; } new MutationObserver(callback).observe(link, { attributeFilter: ['class'] }); link.click(); }; mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => { e.preventDefault(); clickFirst(); }); }); }); // window.smpg?._disable?.(); mw.loader.using('mediawiki.util', async function smoothPager() { let action = mw.config.get('wgAction'); let isHist = action === 'history'; let isPerma = action === 'view' && ['oldid', 'diff'].some(s => mw.util.getParamValue(s)); let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber'); let isFile = ns === 6; let isCat = ns === 14; let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName'); if (!(isHist || isPerma || isFile || isCat || cspn)) return; let isSearch = cspn === 'Search'; let isWl = cspn === 'Watchlist'; let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked'; if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) { return; } let isContribs = cspn === 'Contributions' || cspn === 'IPContributions'; let o = { useRender: isCat || isWl || isRc, selector: isPerma ? '#bodyContent' : isFile ? '#mw-imagepage-section-filehistory' : isCat ? '.mw-category-generated' : '#mw-content-text', outerSelectors: [], linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' : isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' : isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' : isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' : `#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`, canPost: isSearch || [ 'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox' ].includes(cspn), paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ || isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/, reruns: [ 'mediawiki.action.history', 'mediawiki.special.search', 'ext.advancedSearch.init', 'mediawiki.special.watchlist', 'mediawiki.special.watchlistedit', 'mediawiki.pager.codex', 'mediawiki.misc-authed-curate', 'mediawiki.misc-authed-ooui', 'mediawiki.misc-authed-pref', 'mediawiki.special.unwatchedPages', 'ext.thanks.corethank', 'ext.flaggedRevs.review', 'ext.gadget.watchlist-notice-core' ], pages: [] }; if (isContribs) { o.reruns.push('ext.ipInfo'); } if (!o.useRender) { o.outerSelectors.push('#firstHeading', '.mw-indicators'); if (!isPerma && !isFile) { o.outerSelectors.push('#mw-content-subtitle'); } } o.formSelector = isHist && '#mw-history-searchform' || isSearch && '#search, #powersearch, #searchform' || cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`; if (o.formSelector) { o.formSelector += ', .cdx-table-pager__limit-form'; } window.smpg = o; let getHref = () => location.pathname + location.search; let getKey = (href, isPost) => { if (o.paramRe) { let params = new URLSearchParams(); new URL(href, location.href).searchParams.forEach((v, k) => { if (o.paramRe.test(k)) { params.set(k, v); } }); params.sort(); return String(params); } if (isPost) { return href + '??' + Date.now(); } return href; }; class Page { constructor(href, key) { this.href = href || getHref(); this.key = key || getKey(this.href); this.keys = new Set().add(this.key); o.pages.push(this); } init($response) { if ($response) { if (isWl || isRc) { this.$cont = $(document.querySelector(o.selector).cloneNode()) .removeClass('smoothpager-switching') .append($response); } else { let $cont = $response.filter(o.selector).not('script'); if (!$cont.length) { $cont = $response.find(o.selector).not('script'); if (!$cont.length) { throw 'Content not found'; } } $cont.find('script').remove(); this.$cont = $($cont[0]); } this.attached = 0; } else { if (this.$cont) return; this.$cont = $(document.querySelector(o.selector)); this.attached = 1; } this.getConfigAndModules($response); this.getOuterEls($response); this.getDocTitle($response); this.getRev($response); } getConfigAndModules($response) { if (o.useRender) return; if (!$response) { this.config = Object.assign({}, window.RLCONF); } let $scripts = $response ? $response.filter('script').remove() : $('head > script, body > script'); $scripts.map(function () { return this.textContent.match(/\bmw\.config\.set\({.+}\);/g); }).each((_, s) => { let obj; do { try { obj = JSON.parse(s.slice(14, -2)); } catch { let i = s.slice(0, -3).lastIndexOf('});'); if (i === -1) return; s = s.slice(0, i + 3); } } while (!obj); this.config = Object.assign(this.config || {}, obj); }); if (!$response) return; let match = $scripts.first().text().replaceAll('\n', '') .match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/); if (match) { try { this.config = Object.assign(this.config || {}, JSON.parse(match[1])); } catch {} this.modules = []; try { this.modules.push(...Object.keys(JSON.parse(match[2]))); } catch {} try { this.modules.push(...JSON.parse(match[3])); } catch {} } this.redirect(); } setConfig() { if (!this.config) return; mw.config.set(this.config); if (!o.cur.config) return; Object.entries(o.cur.config).forEach(([k, v]) => { if (!Object.hasOwn(this.config, k) && JSON.stringify(mw.config.get(k)) === JSON.stringify(v) ) { delete mw.config.values[k]; } }); } getOuterEls($response) { this.outerEls = o.outerSelectors.map(selector => ( $response ? $response.find(selector)[0] : document.querySelector(selector) )).map(el => el && !this.$cont[0].contains(el) && el); } setOuterEls() { o.outerSelectors.forEach((selector, i) => { let outer = document.querySelector(selector); if (!outer) return; $(outer).before(this.outerEls[i] || outer.cloneNode()).detach(); }); } getDocTitle($response) { if (o.useRender) return; if ($response) { let $title = $response.filter('title'); if ($title.length) { this.docTitle = $title.text(); } } else { this.docTitle = document.title; } } setDocTitle() { if (this.docTitle) { document.title = this.docTitle; } else if (this.outerEls[0] && o.cur.outerEls?.[0]) { document.title = document.title.replace( o.cur.outerEls[0].textContent.trim(), this.outerEls[0].textContent.trim() ); } } getRev($response) { if (!isPerma) return; let params = new URLSearchParams(this.key); if (params.has('diff')) { if ($response) { let dir = params.get('diff') === 'next' ? 'prev' : 'next'; let id = this.config?.[ dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId' ]; if (!id) { id = this.findParam( 'oldid', dir === 'prev' ? '#mw-diff-ntitle1 > strong > a, #differences-prevlink' : '#mw-diff-otitle1 > strong > a, #differences-nextlink' ); } if (id) { this.rev = dir === 'prev' ? id : params.get('oldid'); params.set('diff', dir); params.set('oldid', id); this.keys.add(String(params)); } } else { this.rev = mw.config.get('wgDiffNewId'); let pn = this.findParam( 'title', '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (pn === mw.config.get('wgPageName') && !this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi') ) { params.set('diff', 'prev'); params.set('oldid', this.rev); this.keys.add(String(params)); let oldId = mw.config.get('wgDiffOldId'); if (oldId) { params.set('diff', 'next'); params.set('oldid', oldId); this.keys.add(String(params)); } } } } else { if ($response) { if (params.has('direction')) { let id = this.config?.wgRevisionId; if (!id) { id = this.findParam( 'oldid', '#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink', $response ); } if (id) { this.rev = id; this.keys.add('oldid=' + id); o.cur.keys.add(`direction=${ params.get('direction') === 'next' ? 'prev' : 'next' }&oldid=${id}`); } } else { this.rev = params.get('oldid'); } } else { this.rev = mw.config.get('wgRevisionId'); if (params.has('direction')) { this.keys.add('oldid=' + this.rev); } } } } findParam(param, query, $range = this.$cont) { let search = $range.find(query).prop('search'); return search && mw.util.getParamValue(param, search); } updateLinks() { if (this.rev) { $('#ca-edit > a').attr('href', mw.util.getUrl(null, { action: 'edit', oldid: this.rev })); $('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink') .attr('href', mw.util.getUrl(null, { oldid: this.rev })); } $('#ca-nstab-special > a').attr('href', this.href); $('.printfooter > a').attr('href', location.href).text(location.href); $('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () { let url = new URL(location.href); url.searchParams.set( 'mobileaction', mw.util.getParamValue('mobileaction', this.search) ); return '//' + this.host + url.pathname + url.search; }); $('#t-urlshortener > a').attr('href', function () { let params = new URLSearchParams(this.search); params.set('url', location.href); return this.pathname + '?' + params; }); } redirect() { if (this.config.wgAction !== mw.config.get('wgAction') || this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '') ) { location.href = this.href; throw 'redirect'; } } replaceContent(isPopState, isRefresh) { let oldCont = document.querySelector(o.selector); if (this.$cont.is(oldCont)) { throw 'Attempt to replace content with itself'; } if (!isPopState && !isRefresh) { this.pushState(); } $(oldCont).before(this.$cont).detach(); console.log(this.key, o); this.setOuterEls(); this.setDocTitle(); this.setConfig(); if (isSearch && this.attached) { let input = this.$cont[0].querySelector('#searchText > input'); if (input) { input.value = input.defaultValue; } } o.cur = this; this.loadModules(isPopState); this.updateLinks(); } pushState() { history.pushState({ _smpg: this.key }, '', this.href); history.replaceState({ _smpg: this.key }, '', this.href); } async loadModules(isPopState) { o.pending = true; try { await mw.loader.using(this.modules || []); } catch {} finally { o.pending = false; if (!this.attached) { this.fireHooks(); this.rerunModules(); } if (!isPopState) { this.scroll(); } this.attached++; } } fireHooks() { mw.hook('wikipage.content').fire(this.$cont); this.$cont.find('.diff[data-mw-interface]').each(function () { mw.hook('wikipage.diff').fire($(this)); }); this.$cont.find('.catlinks[data-mw-interface]').each(function () { mw.hook('wikipage.categories').fire($(this)); }); mw.hook('htmlform.enhance').fire(this.$cont); } rerunModules() { o.reruns.forEach(m => { let pack = mw.loader.moduleRegistry[m]; if (!pack || pack.state !== 'ready') return; if (typeof pack.script === 'function') { pack.script($, $, mw.loader.require, pack.module); return; } delete mw.loader.moduleRegistry[m]; mw.loader.implement( m + '@' + pack.version, pack.script, pack.style, pack.messages, pack.templates, pack.deprecationWarning ); }); if ((isHist || isContribs || isRc) && window.Twinkle) { window.Twinkle.rollback(); } } scroll() { let form = o.formSelector && this.$cont[0].querySelector(o.formSelector); if (form) { let y = form.getBoundingClientRect().bottom; if (y < 0) { window.scrollBy(0, y); } } else if (this.$cont[0].getBoundingClientRect().top < 0) { this.$cont[0].scrollIntoView(); } } } o.cur = new Page(); let getContent = async (href, state, options) => { if (o.pending) return; o.aborter?.abort(); let key = state?._smpg || getKey(href, !!options); let isRefresh = key === o.cur.key; if (state && isRefresh) return; let oldCont = document.querySelector(o.selector); if (!oldCont) { notify(href, 'No element to replace', 'error'); return; } let page = o.pages.find(p => p.keys.has(key)); if ((state || !isRefresh) && page) { page.href = href; page.replaceContent(!!state, isRefresh); return; } oldCont.classList.add('smoothpager-switching'); let $throbber = $('<div>').addClass('smoothpager-throbber') .appendTo(document.body); if (!isRefresh && o.pages.length === 1) { o.cur.init(); } o.aborter = new AbortController(); let url = href; if (o.useRender) { url = new URL(href, location.href); url.searchParams.set('action', 'render'); } let promise = fetch(url, Object.assign({ signal: o.aborter.signal }, options)); if (notif) { notif.close(); notif = null; } try { let response = await (await promise).text(); if (page) { page.href = href; } else { page = new Page(href, key); } page.init($($.parseHTML(response, !o.useRender))); page.replaceContent(!!state, isRefresh); } catch (e) { if (e.name === 'AbortError') { if (state && o.cur) { o.cur.pushState(); } } else if (e === 'redirect') { notify(href, 'Redirecting...'); } else { notify(href, e || `Couldn't load the page`, 'error'); console.error(e); } } finally { o.aborter = null; oldCont.classList.remove('smoothpager-switching'); $throbber.remove(); } }; let notif; let notify = async (href, msg, type) => { notif = await mw.notify([ document.createTextNode(msg), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'smoothpager', type: type }); }; let onClick = function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(o.linkSelector) || this.origin !== location.origin ) { return; } e.preventDefault(); getContent(this.pathname + this.search); }; let onKeyDown = e => { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || e.target.closest(':read-write') ) { return; } switch (e.which) { case 27: o.aborter?.abort(); break; case 110: case 190: e.preventDefault(); getContent(getHref()); } }; let onPopState = e => { let state = e.originalEvent.state; if (state && !state._smpg) return; history.replaceState(state, '', location.href); getContent(getHref(), state || {}); }; let onSubmit = e => { if (e.originalEvent && ( e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted ) || !o.canPost && e.target.method !== 'get' || !e.target.matches(o.formSelector) ) { return; } let path = e.target.getAttribute('action'); let isScript = path === mw.config.get('wgScript'); let comps = [mw.config.get('wgPageName')]; if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) { comps.push(comps[0].replace(/\/.*/, '')); } comps.push((comps[1] || comps[0]) + '/'); if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return; let formData = new FormData(e.target); if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) { return; } e.preventDefault(); e.stopPropagation(); if (isSearch && e.target.id !== 'searchform') { formData.set('search', OO.ui.infuse($('#searchText')).getValue()); } else if (e.target.method === 'post') { let submitter = e.originalEvent?.submitter; if (submitter?.name) { formData.append(submitter.name, submitter.value); } getContent(path, null, { method: 'POST', headers: { 'Content-Type': e.target.enctype }, body: e.target.enctype === 'multipart/form-data' ? formData : new URLSearchParams(formData) }); return; } getContent(path + '?' + new URLSearchParams(formData)); }; let setPortlet = text => { if (!o.portletLink) return; $(o.portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = text; return false; } }); }; o._enable = () => { o.enabled = true; let $body = $(document.body).on('click', 'a', onClick); if (o.formSelector) { $body.on('submit', onSubmit); } $body.parent().on('keydown', onKeyDown); $(window).on('popstate', onPopState); if (o.css) { o.css.disabled = false; } if (isPerma) { mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable); } setPortlet('Disable SmoothPager'); }; o._disable = () => { o.enabled = false; $(document.body).off('click', onClick).off('submit', onSubmit) .parent().off('keydown', onKeyDown); $(window).off('popstate', onPopState); o.css.disabled = true; mw.trackUnsubscribe(o._disable); setPortlet('Enable SmoothPager'); }; o._enable(); o.css = mw.loader.addStyleTag(`${o.linkSelector}, .cdx-table__table__sort-button { color: #008064 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):visited { color: #006400 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):active { color: #faa700 !important; } .cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon { background-color: #14866d; } .smoothpager-switching { opacity: 0.75; } .smoothpager-throbber { width: 20%; height: 0.5vh; position: fixed; top: 0; left: 0; background-color: var(--background-color-progressive, #36c); transform: translate(-100%); animation: smoothpager-throbber 1s infinite linear; } @keyframes smoothpager-throbber { to { transform: translate(700%); } } @media (prefers-reduced-motion: reduce) { .smoothpager-throbber { animation: smoothpager-throbber 1s infinite steps(10,end) !important; width: 40%; } }${o.formSelector ? ` :is(${o.formSelector}) input[type="submit"], :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--color-inverted, #fff); background-color: #14866d; border-color: #14866d; } :is(${o.formSelector}) input[type="submit"]:hover, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: #00af89; border-color: #00af89; } :is(${o.formSelector}) input[type="submit"]:focus, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: #14866d; } :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff; } :is(${o.formSelector}) input[type="submit"]:active, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active { background-color: #0e725a; border-color: #0e725a; box-shadow: none; }` : ''}`); await $.ready; if (!document.getElementById('p-cactions')) return; o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild; o.portletLink.addEventListener('click', e => { e.preventDefault(); o[o.enabled ? '_disable' : '_enable'](); }); }); window.smartdiffTemplates = [ { names: ['T', 'Tl'], namespace: 10, forceNs: true, end: 1 }, { names: ['Tlx'], namespace: 10, end: 1 }, { names: ['U'], prefix: 'Special:Contributions/', end: 1 }, { names: ['Re', 'Reply to', 'Ping'], prefix: 'Special:Contributions/' }, { names: ['About'], start: 3, skipEven: true }, { names: ['For'], start: 2 }, { names: ['Other uses', 'Otheruses'], end: 1 }, { names: ['Section link', 'Slink'], end: 1 }, { names: ['Redirect'], skipEven: true, noRedirectEnd: 1 }, { names: ['Shortcut'], noRedirectStart: 1 }, { names: ['Tracked', 'Phab'], prefix: 'phab:', end: 1 }, { names: [ 'Distinguish', 'Main', 'Main article', 'Further', 'See also', 'Seealso' ] }, { names: ['Ll'], end: 1 } ]; mw.loader.using([ 'mediawiki.util', 'mediawiki.Title', 'mediawiki.api' ], function smartDiff() { mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}'); class SmartDiff { constructor($diff) { this.$diff = $diff; this.isSpecial = mw.config.get('wgNamespaceNumber') === -1; this.isView = mw.config.get('wgAction') === 'view' && new URLSearchParams(location.search).get('diffonly') !== '1'; this.magicWords = [ '!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:', 'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME', 'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1', 'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN', 'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK', 'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME', 'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:', 'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2', 'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1', 'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:', 'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER', 'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES', 'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS', 'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:', 'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:', 'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:', 'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP', 'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR', 'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE', 'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:', 'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:', 'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:', 'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:', 'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:', 'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:' ]; if (window.smartdiffMagicWords) { this.magicWords.push(...window.smartdiffMagicWords); } try { this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages; } catch (e) {} if (!this.subNs) { this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces')) .map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns)); } this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?&lt;(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!&gt;).*?&gt;)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?&lt;(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?&gt;(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g; this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:&lt;|$))/g; // https://commons.wikimedia.org/wiki/Special:MediaStatistics this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi; this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g; if (window.smartdiffTemplates) { this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g; this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/; this.templates = window.smartdiffTemplates; } this.side = 'old'; $diff.find('.diff-deletedline > div').get().forEach(this.processDiv); this.side = 'new'; $diff.find('.diff-addedline > div').get().forEach(this.processDiv); let $contexts = $diff.find('.diff-context > div'); $contexts.each((i, div) => { if (i % 2) { this.side = 'new'; if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) { this.processDiv(div); } else { $contexts.eq(i).replaceWith($contexts.eq(i - 1).clone()); } } else { this.side = 'old'; this.propUsed = false; this.processDiv(div); } }); this.links = {}; $diff.find('.smartdiff-link:not(.external)').each((i, link) => { let title = link.title; if (!title) return; if (!this.links.hasOwnProperty(title)) { this.links[title] = []; } this.links[title].push(link); }); this.query(Object.keys(this.links).slice(0, 500)); if (this.hasError) { mw.notify('SmartDiff error', { type: 'warn' }); } } processDiv = div => { if (div.querySelector('a[href]')) return; let origHtml = div.innerHTML; let newHtml = origHtml.replace(this.urlRe, this.urlRep) .replace(this.galleryRe, this.galleryRep) .replace(this.re, this.rep).replace(this.headRe, this.headRep); if (this.tempRe) { newHtml = newHtml.replace(this.tempRe, this.tempRep); } if (newHtml === origHtml) return; newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, ''); let $newDiv = $('<div>').html(newHtml); if (this.detectErrors($newDiv, newHtml, origHtml, div)) return; div.textContent = ''; $newDiv.contents().appendTo(div); }; rep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s), isTemp; if (t) { if ($1.includes('invoke')) { t = mw.Title.makeTitle(828, s); } else if (s[0] === '/') { if (this.subNs.includes(this.getProp('ns'))) { t = mw.Title.newFromText( this.getProp() + s.replace(/\/+$/, '') ); } else if ($1[0] === '{') { t.namespace = 10; } } else if ($1[0] === '{') { if (s[0] === '#') { return $0; } if ($1.includes('int')) { t = mw.Title.makeTitle(8, s); } else if (!t.namespace && s[0] !== ':') { if (!$1.includes('msg') && !$1.includes('raw')) { let match = s.match(/^[^:]+(?::(?=.)|$)/); if (match && this.magicWords.includes(match[0])) { return $0; } } t.namespace = 10; isTemp = true; } } else if ((this.isSpecial || !this.isView) && s[0] === '#') { t.title = this.getProp(); } } else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) { let chunks = s.split('/'); let levelCount = chunks.findIndex(v => v !== '..'); let sup = this.getProp().split('/').slice(0, -levelCount).join('/'); if (sup) { let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, ''); t = mw.Title.newFromText(sub ? sup + '/' + sub : sup); } } if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView || s[0] !== '#') { attrs.title = t.toText(); } if (isTemp && this.tempRe) { let name = t.getMainText(); let idx = this.templates.findIndex(temp => temp.names.includes(name)); if (idx !== -1) { attrs['data-smartdiff-temp'] = idx; } } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; stripTags(s, decode, pre = '', post = '') { let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g); s = $($.parseHTML(s.replace(/&amp;/g, '&'))).text(); if (decode) { try { s = decodeURIComponent(s); } catch (e) {} } if (tags) { if (tags[0][1] === '/') { pre += tags[0]; mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid; } let lastTag = tags.pop(); if (lastTag[1] !== '/') { mid += `</${lastTag.slice(1, 4)}>`; post = lastTag + post; } } return [s, pre, mid, post]; } headRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1') .replace(/''(.+?)''/g, '$1') .replace(/^_+|_+$/g, ''); let t = mw.Title.newFromText( `${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}` ); if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView) { attrs.title = t.toText(); } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; galleryRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s, 6); if (t && t.namespace !== 6) { t = mw.Title.makeTitle(6, s); } if (!t) { return $0; } return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(), title: t.toText() }).html(mid)[0].outerHTML + post; }; urlRep = ($0, $1, $2, $3) => { let main = $2, trail; if (!$1) { if (!$3) { return $0; } let re = main.includes('(') ? /[!,.:;?](?:<[^>]*>)?$/ : /[!),.:;?](?:<[^>]*>)?$/; let match = main.match(re); if (match && !/&amp(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main) ) { trail = match[0]; main = main.slice(0, -trail.length); } } let [url, pre, mid, post] = this.stripTags(main); if ($1) { pre = $1 + pre; } else if (trail) { post += trail; } return pre + $('<a>').attr({ class: 'smartdiff-link external', href: url, rel: 'nofollow' }).html(mid)[0].outerHTML + post; }; tempRep = ($0, $1, $2, $3) => { if ($3.includes('<a class="smartdiff-link')) { return $0; } let temp = this.templates[$2]; return $1 + $3.split(this.tempSubRe).map((os, i) => { if (!os || i % 2) { return os; } let j = i / 2; if (j < temp.start || j > temp.end || temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0 ) { return os; } let [s, pre, mid, post] = this.stripTags(os, true); if (temp.prefix) { s = temp.prefix + s; } if (temp.suffix) { s += temp.suffix; } let t = temp.forceNs ? mw.Title.makeTitle(temp.namespace, s) : mw.Title.newFromText(s, temp.namespace); if (!t) { return os; } let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) && { redirect: 'no' }; return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(params), title: t.toText() }).html(mid)[0].outerHTML + post; }).join(''); }; getProp(n = 'pn', side = this.side) { this.propUsed = true; if (this[side]) { if (this[side][n]) { return this[side][n]; } } else { this[side] = {}; let link = this.$diff[0].querySelector( side === 'old' ? '#mw-diff-otitle1 a, #differences-prevlink' : '#mw-diff-ntitle1 a, #differences-nextlink' ); if (link) { let pn = mw.util.getParamValue('title', link.search); this[side].pn = pn; this[side].ns = mw.Title.newFromText(pn).namespace; return this[side][n]; } } if (this[n]) { return this[n]; } if (this.isSpecial) { this.pn = ''; this.ns = 0; } else { this.pn = mw.config.get('wgPageName'); this.ns = mw.config.get('wgNamespaceNumber'); } return this[n]; } query(titles) { if (!titles.length) return; new mw.Api().post({ action: 'query', titles: titles.slice(0, 50), iwurl: 1, prop: 'info', inprop: 'linkclasses', inlinkcontext: this.getProp(), formatversion: 2 }, { headers: { 'Promise-Non-Write-API-Action': 1 } }).then(response => { let query = response && response.query; if (!query) return; let data = {}; (query.pages || []).forEach(page => { let obj = { classes: page.linkclasses || [] }; if (page.missing && !page.known) { obj.classes.push('new'); obj.params = { action: 'edit', redlink: 1 }; } data[page.title] = obj; }); (query.interwiki || []).forEach(interwiki => { data[interwiki.title] = { classes: ['extiw'], url: interwiki.url }; }); (query.normalized || []).forEach(entry => { if (!data.hasOwnProperty(entry.to)) return; let obj = data[entry.to]; obj.canonical = entry.to; if (!obj.url) { obj.url = mw.util.getUrl(entry.to, obj.params); } data[entry.from] = obj; }); Object.entries(data).forEach(([title, obj]) => { if (!this.links.hasOwnProperty(title)) return; let $links = $(this.links[title]).addClass(obj.classes) .attr('title', obj.canonical); if (obj.url) { $links.attr('href', function () { return obj.url + this.hash; }); } }); this.query(titles.slice(50)); }); } detectErrors($newDiv, newHtml, origHtml, div) { let comp = $newDiv.html(); if (comp !== newHtml) { console.warn( 'SmartDiff syntax error at:\n', div, `\nNew HTML:\n${newHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } let $comp = $newDiv.clone(); $comp.find('.smartdiff-link').contents().unwrap(); comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, ''); if (comp !== origHtml) { console.warn( 'SmartDiff mutation error at:\n', div, `\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } } } mw.hook('wikipage.diff').add($diff => { new SmartDiff($diff); }); }); (function copySectLink() { let dependencies = ['mediawiki.util']; let classes = 'copysectlink'; let css; switch (mw.config.get('skin')) { case 'minerva': classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet'; css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}'; break; case 'timeless': classes += ' mw-ui-icon-copy'; css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}'; } if (css) { mw.loader.addStyleTag(css); dependencies.push('oojs-ui.styles.icons-editing-advanced'); } let handler = function (e) { e.preventDefault(); e.stopPropagation(); let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace( /[\[\]{|}]/g, s => '&#' + s.codePointAt(0) + ';' ) : '')).replace(/_/g, ' '); let $input = $('<input>').attr({ type: 'text', readonly: '', style: 'position:fixed;top:-100%' }).val(text).appendTo(document.body); $input[0].select(); let copied; try { copied = document.execCommand('copy'); } catch (e) {} $input.remove(); if (copied) { mw.notify(`Copied "${text}"`); } else { mw.notify('Copy failed', { type: 'error' }); } }; let addButton = (block, id) => { let $button = $('<a>').attr({ class: classes + (id ? ' mw-selflink-fragment' : ''), href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''), role: 'button' }).text('copy').on('click', handler); if (mw.config.get('skin') === 'minerva') { $button.attr('title', 'Copy').wrapInner('<span>') .prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert')); let wrapper = block.querySelector('.mw-editsection'); if (wrapper) { $button.prependTo(wrapper); } else { $button.appendTo(block); } } else { let editSection = block.querySelector('.mw-editsection'); if (editSection) { $button.appendTo(editSection); } else { $('<span>').addClass('mw-editsection') .append($button).appendTo(block); } } }; if (['view', 'purge'].includes(mw.config.get('wgAction'))) { ['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => { let state = mw.loader.getState(m); if (state && state !== 'registered') { dependencies.push(m); } }); } $.when($.ready, mw.loader.using(dependencies)).then(() => { if (mw.config.get('wgNamespaceNumber') >= 0) { addButton(document.getElementById('firstHeading')); } mw.hook('wikipage.content').add($content => { $content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () { addButton(this.parentElement, this.id); }); $content.find( ':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]' ).each(function () { addButton(this, this.id); }); }); }); }()); mw.loader.using([ 'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage' ], function ipaInput() { if (!mw.libs.ve.isVisualAvailable && !['edit', 'submit'].includes(mw.config.get('wgAction')) ) { return; } mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`); let clicked; let openDialog = () => { if (clicked) { if (window.ipaInputDialog) { window.ipaInputDialog.open(); } return; } clicked = true; mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript'); mw.loader.using([ 'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-editing-advanced' ]); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { ipainput: { label: 'IPAInput', type: 'button', oouiIcon: 'schwa', action: { type: 'callback', execute: openDialog } } } }); }); mw.hook('ve.loadModules').add(addPlugin => { addPlugin(() => { ve.ui.IpaInputCommand = function VeUiIpaInputCommand() { ve.ui.IpaInputCommand.super.call(this, 'ipaInput'); }; OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command); ve.ui.IpaInputCommand.prototype.execute = () => { openDialog(); return true; }; ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand()); ve.ui.IpaInputTool = function VeUiIpaInputTool() { ve.ui.IpaInputTool.super.apply(this, arguments); }; OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool); ve.ui.IpaInputTool.static.name = 'ipaInput'; ve.ui.IpaInputTool.static.group = 'insert'; ve.ui.IpaInputTool.static.icon = 'schwa'; ve.ui.IpaInputTool.static.title = 'IPA'; ve.ui.IpaInputTool.static.commandName = 'ipaInput'; ve.ui.toolFactory.register(ve.ui.IpaInputTool); }); }); mw.requestIdleCallback(() => { let expiry = mw.storage.get('_EXPIRY_ipainput-cache'); if (!expiry) return; $.get( '//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata' ).then(response => { if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) { mw.storage.remove('ipainput-cache'); } }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && (function wiktIpa() { mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`); let clicked, dialog, input, $result; let openDialog = async context => { if (clicked) { if (dialog) { let selection = context.$textarea.textSelection('getSelection'); if (selection) { input.setValue(selection); } if ($result) { $result.prev().addBack().remove(); $result = null; } dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); } return; } clicked = true; await mw.loader.using([ 'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi', 'mediawiki.util' ]); let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({ action: 'query', generator: 'search', gsrsearch: 'deepcat:Pronunciation_templates_by_language', gsrnamespace: 10, gsrlimit: 'max', gsrsort: 'none', formatversion: 2 }); let winMan = new OO.ui.WindowManager(); dialog = new OO.ui.MessageDialog(); winMan.addWindows([dialog]); let items = response.query.pages .map(p => p.title.slice(9)) .sort(Intl.Collator('en-u-kn-true').compare) .map(s => new OO.ui.MenuOptionWidget({ label: s })); let dropdown = new OO.ui.DropdownWidget({ $overlay: dialog.$overlay, menu: { items } }); let $doc = $('<p>'); dropdown.getMenu().on('choose', mw.util.debounce(async item => { let title = 'Template:' + item.getLabel(); let $link = $('<a>').attr({ href: '//en.wiktionary.org/wiki/' + title, target: '_blank', title: title }).text('documentation'); $doc.empty().append('Loading ', $link, '...'); try { let data = await $.get( '//en.wiktionary.org/api/rest_v1/page/html/' + encodeURIComponent(title + '/documentation') ); let text = $($.parseHTML(data)).find('p').first().text() .replace(/\. .*/, '.'); $doc.text(text + ' (').append($link.text('read more'), ')'); dialog.updateSize(); } catch { $doc.empty().append('Failed to load ', $link); } }, 100)).selectItem(items[0]); input = new OO.ui.TextInputWidget({ autocomplete: false, value: context.$textarea.textSelection('getSelection') || mw.config.get('wgTitle') }); let button = new OO.ui.ButtonWidget({ disabled: !input.getValue(), label: 'Get', flags: ['primary', 'progressive'] }).on('click', async () => { button.setDisabled(true); let template = dropdown.getMenu().findSelectedItem().getLabel(); let text = input.getValue(); try { let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', { wikitext: `{{${template}|1=${text}}}`, body_only: true }); if ($result) { $result.children().remove(); } else { $result = $('<div>').text('Result:') .insertAfter(fieldset.$element) .before('<hr>'); } $result.append($.parseHTML(data)) .find('.mw-collapsible').makeCollapsible().end() .find('[id], [about]').removeAttr('id about').end() .find('a').attr('target', '_blank') .filter('[href^="./"]').attr('href', (_, href) => ( '//en.wiktionary.org/wiki' + href.slice(1) )); dialog.updateSize(); } catch {} finally { button.setDisabled(); } }); input.on('change', value => { button.setDisabled(!value); }).connect(button, { enter: ['emit', 'click'] }); let fieldset = new OO.ui.FieldsetLayout({ items: [ new OO.ui.FieldLayout(dropdown, { label: 'Template:', align: 'top' }), new OO.ui.FieldLayout(input, { label: 'Input:', align: 'top' }), new OO.ui.FieldLayout(button) ] }); dropdown.$element.after($doc); dialog.text.$element.append(fieldset.$element/*.on('keydown', e => { e.stopPropagation(); })*/); winMan.$element.appendTo(OO.ui.getTeleportTarget()); dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { wiktipa: { label: 'WiktIPA', type: 'button', oouiIcon: 'wiktionary', action: { type: 'callback', execute: openDialog } } } }); }); }()); window.scripttesterSkipWarning = true; mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() { let get = () => new Set(mw.storage.getObject('scripttester')); if (mw.storage.get('scripttester')) { let unloading; window.addEventListener('beforeunload', () => { unloading = true; }); get().forEach(async s => { let isCss = /\.css$/i.test(s); let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, { action: 'raw', ctype: isCss ? 'text/css' : 'text/javascript' }); if (isCss) { mw.loader.load(url, 'text/css'); return; } try { await mw.loader.getScript(url); } catch (e) { if (unloading) { console.warn(e); return; } mw.notify('Failed to load temporarily installed ' + s, { type: 'error' }); } }); } else if (!window.scripttesterSkipWarning) { await mw.loader.using('oojs-ui-windows'); if (await OO.ui.confirm( 'You take full responsibility for any consequences arising from using ScriptTester.' )) { mw.storage.setObject('scripttester', []); } } await $.ready; if (!document.getElementById('p-tb')) return; let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}'); let linksShown = mw.config.get('wgNamespaceNumber') > 0 && mw.config.get('wgAction') === 'view'; let updateLinks = (s, unins) => { if (!linksShown) return; $(`.scripttester-link[data-scripttester="${s}"]`) .toggleClass('scripttester-installed', !unins); }; let dialog, multiselect, addButton, removeButton, clearButton; let openDialog = () => { if (!dialog) { dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] }); let winMan = new OO.ui.WindowManager(); winMan.addWindows([dialog]); multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => { removeButton.setDisabled(!multiselect.findSelectedItems().length); }); addButton = new OO.ui.ButtonWidget({ label: 'Add' }).on('click', async () => { dialog.toggle(false); let s = (await OO.ui.prompt('Add a script', { textInput: { placeholder: 'Script page name or URL' } })).trim(); if (!s) return; if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) { await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`); dialog.toggle(true); updateDialog(); return; } mw.storage.setObject('scripttester', [...get().add(s)]); updateLinks(s); }); removeButton = new OO.ui.ButtonWidget({ label: 'Remove' }).on('click', () => { let set = get(); multiselect.findSelectedItems().forEach(item => { let s = item.getLabel(); set.delete(s); updateLinks(s, true); }); mw.storage.setObject('scripttester', [...set]); updateDialog(); }); clearButton = new OO.ui.ButtonWidget({ label: 'Clear', flags: 'destructive' }).on('click', async () => { dialog.toggle(false); if (!(await OO.ui.confirm('Uninstall all scripts?'))) { dialog.toggle(true); return; } mw.storage.setObject('scripttester', []); if (linksShown) { $('.scripttester-installed').removeClass('scripttester-installed'); } dialog.toggle(true); updateDialog(); }); dialog.text.$element.append( multiselect.$element, new OO.ui.ButtonGroupWidget({ items: [addButton, removeButton] }).$element, clearButton.$element ); winMan.$element.appendTo(OO.ui.getTeleportTarget()); } updateDialog(); dialog.open({ message: 'Temporarily installed scripts:', actions: [{ label: 'Done', flags: ['safe', 'close'] }] }); }; let updateDialog = () => { let set = get(); multiselect.clearItems().addItems( [...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s })) ); removeButton.setDisabled(true); clearButton.toggle(set.size); dialog.updateSize(); updatePortlet(set.size); }; let updatePortlet = count => { $(portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = `Temporarily installed scripts (${count})`; return false; } }); }; let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`) .firstElementChild; portletLink.addEventListener('click', e => { e.preventDefault(); mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog); }); window.addEventListener('storage', e => { if (e.key === 'scripttester') { updatePortlet(get().size); } }); if (!linksShown) return; css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}'; let linkHandler = function () { let s = this.dataset.scripttester; let unins = this.classList.contains('scripttester-installed'); let set = get(); set[unins ? 'delete' : 'add'](s); let success = mw.storage.setObject('scripttester', [...set]); if (success) { mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, { tag: 'scripttester' }); updateLinks(s, unins); updatePortlet(set.size); } else { mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, { tag: 'scripttester', type: 'error' }); } }; if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) && ['javascript', 'css'].includes(mw.config.get('wgPageContentModel')) ) { let s = mw.config.get('wgPageName').replaceAll('_', ' '); $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ).appendTo(document.getElementById('firstHeading')); return; } mw.hook('wikipage.content').add($content => { let set = get(); let ns = mw.config.get('wgFormattedNamespaces'); let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`); $content.find('a:not(.external, .new)').after(function () { let s = this.title; if (!s || !re.test(s)) return; return $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ); }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.on('keydown', async e => { if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return; e.preventDefault(); let context = $textarea.data('wikiEditorContext'); context.api.openDialog(context, 'search-and-replace'); await mw.loader.using('jquery.textSelection'); let tb = document.getElementById('wikieditor-toolbar-replace-search'); let sel = $textarea.textSelection('getSelection'); if (sel) { tb.value = sel; } tb.focus(); }); $(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => { $textarea[0].focus(); }); }); mw.config.get('wgNamespaceNumber') && mw.config.get('wgAction') !== 'history' && (function catChangeHighlighter() { let run; mw.hook('wikipage.content').add($content => { $content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () { let text = this.querySelector('.comment').textContent; if (text.includes(' added ')) { this.classList.add('catchangehighlighter-addition'); } else if (text.includes(' removed ')) { this.classList.add('catchangehighlighter-removal'); } if (run) return; run = true; mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}'); }); }); }()); (mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' || [-1, 14].includes(mw.config.get('wgNamespaceNumber'))) && (function diffFontSwitcher() { mw.loader.addStyleTag('.diff-lineno{cursor:pointer}'); $(document.body).on('click keydown', '.diff-lineno', function (e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); this.closest('.diff').classList.toggle('difffontswitcher-enabled'); }); mw.hook('wikipage.diff').add($diff => { $diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' }); }); }()); mw.trackSubscribe('resourceloader.exception', (topic, data) => { mw.notify(data.exception, { autoHide: false, title: `Exception in ${data.source} in module ${data.module}`, type: 'warn' }); }); mw.config.get('skin') === 'vector-2022' && $(document).one('click', '.mw-interlanguage-selector', async () => { await mw.loader.using('ext.uls.mediawiki'); $.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow'; mw.uls.getFrequentLanguageList = () => []; }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's'); e873kzwjdbqk8nssqqc0x778nd1m8m5 747595 747594 2026-06-19T06:12:28Z Nardog 40946 747595 javascript text/javascript /* globals ve */ // window.dn?.disable?.(); window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff'; (mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') && mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() { let isHist = mw.config.get('wgAction') === 'history'; let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`; let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch'; let diffs = [], count = 0, expanded = new WeakSet(); window.dn = diffs; let sanitize = href => { let url = new URL(href, location.href); let newParams = new URLSearchParams(), hasId; ['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => { if (url.searchParams.has(k)) { let v = url.searchParams.get(k); newParams.set(k, v); hasId = hasId || v > 0; } }); if (!hasId && url.searchParams.has('title')) { return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`; } return String(newParams); }; let getDiff = comp => { if (typeof comp === 'string') { let sanitized = sanitize(comp); return diffs.find(diff => ( diff.queries.has(comp) || diff.queries.has(sanitized) )); } return diffs.find(diff => diff.$diff.is(comp)); }; let containers = []; window.dn._c = containers; class Diff { constructor(href, $link) { this.aborter = new AbortController(); this.queries = new Set(); this.setLink(href, $link); diffs.push(this); } setLink(href, $link) { if (this.href) { if ($link.is(this.$link)) { if (this.aborter) { this.aborter.abort(); } else if (this.isVisible()) { this.close(); } else { this.$anchor = this.getAnchor(); this.append(); } return; } if ($link.is(this.$outerLink) && this.isVisible()) { this.close(); return; } if (this.getAnchor($link).is(this.$anchor)) { this.markLink(false); } else { this.close(); } } this.href = href; this.queries.add(href); let sanitized = sanitize(href); if (sanitized) { this.queries.add(sanitized); } this.$link = $link; this.isSwitch = $link.is(switchSelector); if (!this.isSwitch) { this.$outerLink = $link; } this.$anchor = this.getAnchor(); if (this.aborter) { this.markLink(); } else { this.append(); } } append(response) { if (response) { delete this.aborter; this.findDiff(response); this.setQueries(); this.polishDiff(); } let $container = this.getContainer(true); if (!$container[0].isConnected) { if (this.$anchor.is('tr')) { let cols = this.$anchor.children().get() .reduce((acc, cell) => acc + cell.colSpan, 0); $('<tr>').addClass('diffnow-row').append( $('<td>').attr('colspan', cols).append($container) ).insertAfter(this.$anchor); } else if (this.$anchor.is('div')) { this.$anchor.after($container); } else { this.$anchor.append($container); } } this.attached = true; filterContexts(this.$diff); window.addEventListener('resize', onResize); if (!this.$link.hasClass('diffnow-link-loaded')) { mw.requestIdleCallback(() => { this.markLinks(); this.markSeen(); }); } if ($container[0].getBoundingClientRect().top < 0) { $container[0].scrollIntoView(); } this.markLink(true); if (response) { mw.hook('wikipage.content').fire($container); } } findDiff(response) { if (typeof response !== 'string') throw ''; let $diff = $($.parseHTML(response)) .filter('.diff[data-mw-interface]'); if (!$diff.length) { $diff = $diff.end().find('.diff[data-mw-interface]'); if (!$diff.length) throw ''; } this.$diff = $($diff[0]); } setQueries() { let newPerma = this.$diff[0].querySelector( '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (newPerma) { this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search)); this.newTitle = newPerma.title; } let oldPerma = this.$diff[0].querySelector( '#mw-diff-otitle1 > strong > a, #differences-prevlink' ); if (oldPerma) { this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search)); this.oldTitle = oldPerma.title; } let isSamePage = !oldPerma || this.newTitle === this.oldTitle; this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi'); if (this.newId) { if (this.newId === this.oldId) { throw 'nonfatal'; } if (this.oldId) { this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`); } this.isLast = !this.$diff[0].querySelector('#differences-nextlink'); if (this.isSingle) { this.queries.add(`diff=prev&oldid=${this.newId}`); if (this.isLast && this.oldId) { this.queries.add(`diff=0&oldid=${this.oldId}`); this.queries.add(`diff=cur&oldid=${this.oldId}`); } } } if (this.oldId && this.isSingle) { this.queries.add(`diff=next&oldid=${this.oldId}`); } this.queries.forEach(q => { let other = getDiff(q); if (other && other !== this) { other.setLink(this.href, this.$link); throw 'nonfatal'; } }); if (this.oldId) { diffs.forEach(diff => { if (diff.isLast && diff.newId === this.oldId) { diff.markNotLast(this); } }); } } async polishDiff() { mw.hook('wikipage.diff').fire(this.$diff); let prevLink = this.$diff[0].querySelector('#differences-prevlink'); let nextLink = this.$diff[0].querySelector('#differences-nextlink'); $([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => ( href.replace('&diffonly=1', '').replace('&expand-url=1', '') )); [['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => { if (link && !mw.messages.exists(key)) { mw.messages.set(key, link.textContent); } }); if (!nextLink && this.isLast) { this.$diff.find('#mw-diff-ntitle4').empty().append( $('<a>').attr({ class: 'diffnow-checknext diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'next', oldid: this.newId }), title: this.newTitle }).text('Check for newer edit') ); } this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right') .attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`); this.$diff.find('a[name^="movedpara"]') .attr('name', (_, name) => `diffnow-${count}-${name}`); count++; this.$diff.find('[id]').addClass(function () { return 'diffnow-' + this.id; }).removeAttr('id'); if (this.$diff[0].querySelector('.mw-thanks-thank-link')) { mw.loader.load('ext.thanks.corethank'); mw.config.set('thanks-confirmation-required', true); } if (!this.isSingle) { let keys = ['nextdiff', 'previousdiff'] .filter(s => !mw.messages.exists(s)); if (keys.length) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(keys); } this.$diff.find('.diff-multi').append( $('<div>').append( $('<div>').append( $('<a>').attr({ class: 'diffnow-multinext diffnow-switch', href: mw.util.getUrl(this.oldTitle, { diff: 'next', oldid: this.oldId }), title: this.oldTitle }).text(mw.msg('nextdiff')) ), $('<div>').append( $('<a>').attr({ class: 'diffnow-multiprev diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'prev', oldid: this.newId }), title: this.newTitle }).text(mw.msg('previousdiff')) ) ) ); } } getAnchor($link) { let isSwitch; if ($link) { isSwitch = $link.is(switchSelector); } else { $link = this.$link; isSwitch = this.isSwitch; } if (isSwitch) { return getDiff($link.closest('.diff')).$anchor; } return $link.closest('li, tr, .mw-history-compareselectedversions'); } getContainer(create) { let $container = this.$anchor.is('tr') ? this.$anchor.next('.diffnow-row').find('> td > .diffnow') : this.$anchor.is('div') ? this.$anchor.next('.diffnow') : this.$anchor.children('.diffnow'); if (create) { if ($container.length) { this.attachDiff($container); } else { $container = this.createContainter(); } } return $container; } attachDiff($container) { let $oldDiff = $container.children('.diff'); if (!$oldDiff.is(this.$diff)) { if ($oldDiff.length) { getDiff($oldDiff).detachDiff(); } $container.children('.diffnow-tools-top').after(this.$diff); } $container.find('.diffnow-difflink').attr('href', this.href); } createContainter() { let $container = containers.pop(); if ($container) { this.attachDiff($container); return $container; } return $('<div>').addClass('diffnow').append( $('<div>').addClass('diffnow-tools diffnow-tools-top').append( $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-collapse', title: 'Hide this diff' }) ), this.$diff, $('<div>').addClass('diffnow-tools diffnow-tools-bottom').append( $('<button>').attr({ class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse', title: 'Scroll to top' }), $('<button>').attr({ class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand', title: 'Scroll to bottom' }), $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-close', title: 'Hide this diff' }), $('<a>').attr({ class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive', href: this.href, target: '_blank', title: 'Open diff page' }) ) ) .on('click', '.diffnow-close', this.collapse) .on('click', '.diffnow-scrollup', this.scrollUp) .on('click', '.diffnow-scrolldown', this.scrollDown) .on( 'click keydown', '.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker', this.toggleContext ); } isVisible() { return !!this.$diff?.[0].offsetParent; } markLink(visible = this.isVisible()) { if (this.isSwitch) { this.getContainer().toggleClass('diffnow-switching', !!this.aborter); if (!this.$outerLink) return; } this.$outerLink .toggleClass('diffnow-link-loading', !!this.aborter) .toggleClass('diffnow-link-loaded', !this.aborter) .toggleClass('diffnow-link-open', !this.isSwitch && visible); } markLinks() { $(selector).filter((_, link) => { let href = link.getAttribute('href'); return this.queries.has(href) || this.queries.has(sanitize(href)); }).addClass('diffnow-link-loaded'); if (!isHist) return; $('.mw-history-compareselectedversions-button').toggleClass( 'diffnow-link-loaded', !!getDiff(getHistHref()) ); } markSeen() { if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) { this.$anchor.nextAll().addBack() .removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched'); return; } let $li = this.$anchor.closest('li, table'); let $unseen = $li.filter('.mw-changeslist-watchedunseen') .add($li.find('.mw-changeslist-watchedunseen')); if (!$unseen.length) return; $unseen.removeClass('mw-changeslist-watchedunseen') .addClass('mw-changeslist-watchedseen'); $li.filter('.mw-changeslist-line-watched') .add($li.find('.mw-changeslist-line-watched')) .removeClass('mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-line-not-watched'); } async markNotLast(newDiff) { this.isLast = false; this.queries = new Set([...this.queries].filter(q => ( !/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q) ))); this.$diff.find( '.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted' ).first().text( newDiff.$diff.find( '#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted' ).first().text() ); this.$diff.find('.diff-ntitle .mw-diff-edit a') .attr('href', (_, href) => href + '&oldid=' + this.newId); if (!mw.messages.exists('nextdiff')) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(['nextdiff']); } this.$diff.find('.diffnow-checknext') .attr('class', 'diffnow-differences-nextlink') .text(mw.msg('nextdiff')); } detachDiff() { this.$diff?.detach(); this.markLink(false); } close(adjustFocus) { this.detachDiff(); let $container = this.getContainer(); if ($container.length) { let $row = $container.closest('.diffnow-row'); containers.push($container.detach()); $row.remove(); } if (!adjustFocus) return; setTimeout(() => { this.$anchor.find('a[href]').last().each(function () { this.focus(); this.blur(); }); }); } collapse(e) { e.preventDefault(); let $container = $(e.delegateTarget); let diff = getDiff($container.children('.diff')); if (diff.$link[0].getBoundingClientRect().top < 0) { diff.$anchor[0].scrollIntoView(); $container.fadeOut('fast', () => { diff.close(true); setTimeout(() => { diff.$anchor[0].scrollIntoView(); $container.removeAttr('style'); }); }); } else { diff.close(true); } } scrollUp(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().top; let ch = document.documentElement.clientHeight, buffer = ch / 2; y -= y + 5 > buffer ? ch : buffer; window.scrollBy({ top: y, behavior: 'smooth' }); } scrollDown(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().bottom; let buffer = document.documentElement.clientHeight / 2; if (y - 5 > buffer) { y -= buffer; } window.scrollBy({ top: y, behavior: 'smooth' }); } toggleContext(e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); let $row = $(e.target.closest('tr')); if ($row.hasClass('diffnow-context-expanded')) { $row.removeClass('diffnow-context-expanded') .addClass('diffnow-context-collapsed') .children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); expanded.delete($row[0]); } else { $row.removeClass('diffnow-context-collapsed') .addClass('diffnow-context-expanded') .children('.diff-context').removeAttr('tabindex role title') .siblings('.diff-marker').attr('title', 'Collapse'); expanded.add($row[0]); } } destroy() { diffs.splice(diffs.indexOf(this), 1); this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open'); this.getContainer().removeClass('diffnow-switching'); } } let filterContexts = $diff => { $diff.find('.diff-context.diff-side-deleted > div').each(function () { let $row = $(this.closest('tr')) .removeClass('diffnow-context-expanded'); if (this.scrollHeight > this.clientHeight) { if (expanded.has($row[0])) { $row.addClass('diffnow-context-expanded') .children('.diff-marker').attr({ tabindex: 0, role: 'button', title: 'Collapse' }); } else { $row.addClass('diffnow-context-collapsed').children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); } } else { $row.removeClass('diffnow-context-collapsed') .children().removeAttr('tabindex role title'); } }); }; let onResize = mw.util.debounce(() => { filterContexts($('.diffnow > .diff')); }, 250); let notif; let showError = async (href, msg) => { notif = await mw.notify([ document.createTextNode(msg || `Couldn't load the diff`), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' }); }; let getHistHref = () => { let formData = new FormData(document.getElementById('mw-history-compare')); return mw.util.getUrl(null, { diff: formData.get('diff'), oldid: formData.get('oldid') }); }; $(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(selector) && !this.matches(switchSelector) ) { return; } e.preventDefault(); let $link = $(this); let isCompare = $link.hasClass('mw-history-compareselectedversions-button'); let href = isCompare ? getHistHref() : this.pathname + this.search; let diff = getDiff(href); try { if (diff) { diff.setLink(href, $link); return; } if (!isCompare && this.origin !== location.origin) { throw ''; } diff = new Diff(href, $link); let url = new URL(href, location.href); url.searchParams.set('diffonly', 1); url.searchParams.set('action', 'render'); let promise = fetch(url, { signal: diff.aborter.signal }); mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']); if (notif) { notif.close(); notif = null; } diff.append(await (await promise).text()); } catch (error) { if (diff && !diff.attached) { diff.destroy(); } if (error.name === 'AbortError') { notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' }); } else if (error !== 'nonfatal') { showError(href, error); console.error(error); } } }); let css = mw.loader.addStyleTag(`${selector} { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); background-position: right; background-repeat: no-repeat; background-size: 10px 10px; padding-right: 12px; } .mw-history-compareselectedversions-button { background-position: right 6px center; background-size: 14px 14px; padding-right: 24px !important; } .skin-timeless .mw-history-compareselectedversions-button { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg); } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important; } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important; } .diffnow-link-loading { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important; } .diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important; } .diffnow-link-open, .diffnow-context-expanded > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important; } .diffnow { background: var(--background-color-base, #fff); border: var(--border-base, 1px solid #a2a9b1); border-radius: 4px; position: relative; } .mw-history-compareselectedversions + .diffnow { margin-top: 0.3em; } .diffnow-tools { display: flex; position: sticky; background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65)); z-index: 1; } .diffnow-tools-top { top: 0; border-radius: 4px; } .diffnow-tools-bottom { bottom: 0; } .diffnow-tools > .diffnow-button { cursor: pointer; height: 24px; padding: 0; box-sizing: content-box; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; background-color: var(--background-color-transparent, transparent); flex-grow: 1; } .diffnow-tools > .diffnow-button:hover { background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027)); } .diffnow-tools > .diffnow-button:active { background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082)); } .diffnow-tools-top > .diffnow-button { border: none; border-radius: 3px 3px 0 0; } .diffnow-tools-bottom > .diffnow-button { border: var(--border-base, 1px solid #a2a9b1); border-radius: 99px; margin: 4px; height: 20px; } .diffnow-switching > .diff { transition: opacity 200ms; opacity: 0.4; } .diffnow-checknext, .diffnow-checknext:visited { color: var(--color-subtle, #54595d); } .diffnow :not(.diffnow-context-expanded) > .diff-context > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker { cursor: pointer !important; background-position: center; background-repeat: no-repeat; background-size: 12px 12px; } .diffnow-context-collapsed > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); } .diffnow-context-collapsed > .diff-context a { pointer-events: none; } .diffnow .diff-multi > div { display: flex; justify-content: space-around; } .diffnow > .diff td div { word-break: break-word; } .diffnow .mw-diff-inline-changed ins, .diffnow .mw-diff-inline-changed del { white-space: pre-wrap; } .diffnow-row .diffnow { border: none; } .diffnow-row > td { padding: 0 !important; } td.mw-changeslist-line-inner { width: 100%; } .mw-enhanced-rc .diffnow > .diff td { padding: 0.33em 0.5em; } .cdx-table__table-wrapper:has(.diffnow-row) { overflow-x: visible; } span.mw-history-histlinks-current, span.mw-history-histlinks-previous { padding-right: 12px; } .client-js .diffnow .mw-anonuserlink { padding-right: 0; }`); mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']); diffs._disable = () => { $(document.body).off('.diffnow'); css.remove(); }; if (isHist) { $(document.body).on('change.diffnow', '#mw-history-compare', function () { let $buttons = $('.mw-history-compareselectedversions-button'); let diff = getDiff(getHistHref()); if (diff) { $buttons.addClass('diffnow-link-loaded'); if ($buttons.is(diff.$link) && diff.isVisible()) { diff.$link.addClass('diffnow-link-open'); } else { $buttons.removeClass('diffnow-link-open'); } } else { $buttons.removeClass('diffnow-link-loaded diffnow-link-open'); } }); } let added, tempLoaded, ipInfoLoaded; mw.hook('wikipage.content').add(async () => { await new Promise(mw.requestIdleCallback); if (!document.querySelector(selector)) return; let modules = ['mediawiki.diff', 'mediawiki.diff.styles']; let cspn = mw.config.get('wgCanonicalSpecialPageName'); let loadTemp = !tempLoaded && Number(mw.user.options.get('checkuser-temporary-account-enable')) && !['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn); if (loadTemp) { modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles'); } if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) { modules.push('ext.checkUser.userInfoCard'); } let loadIpInfo; if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) { modules.push('ext.ipInfo', 'ext.ipInfo.styles'); loadIpInfo = !ipInfoLoaded && ['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn); } let promise = mw.loader.using(modules); if (loadTemp || loadIpInfo) { tempLoaded = loadTemp; ipInfoLoaded = loadIpInfo; await promise; // https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js let makeRequire = (moduleObj, basePath) => moduleName => { let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/); if (!relParts) { return mw.loader.require(moduleName); } let baseDirParts = basePath.split('/'); baseDirParts.pop(); let prefixes = relParts[1].split('/'); prefixes.pop(); let prefix; while ((prefix = prefixes.pop())) { if (prefix === '..') { baseDirParts.pop(); } } let fileName = baseDirParts.join('/'); if (fileName) { fileName += '/'; } fileName += relParts[2]; if (Object.hasOwn(moduleObj.packageExports, fileName)) { return moduleObj.packageExports[fileName]; } let scriptFiles = moduleObj.script.files; if (!Object.hasOwn(scriptFiles, fileName)) { throw Error('Cannot require undefined file ' + fileName); } let result; let fileContent = scriptFiles[fileName]; if (typeof fileContent === 'function') { let moduleParam = { exports: {} }; fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports); result = moduleParam.exports; } else { result = fileContent; } moduleObj.packageExports[fileName] = result; return result; }; if (loadTemp) { try { let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts']; makeRequire(pack, pack.script.main)('./initOnHook.js')(); } catch {} } if (loadIpInfo) { try { let pack = mw.loader.moduleRegistry['ext.ipInfo']; makeRequire(pack, pack.script.main)('./popup/init.js')(); } catch {} } } if (added || !document.getElementById('p-cactions')) return; added = true; let callback = (records, observer) => { if (records[0].target.classList.contains('diffnow-link-loaded')) { observer.takeRecords(); observer.disconnect(); clickFirst(); } }; let clickFirst = () => { let link = document.querySelector(selector); if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) { return; } new MutationObserver(callback).observe(link, { attributeFilter: ['class'] }); link.click(); }; mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => { e.preventDefault(); clickFirst(); }); }); }); // window.smpg?._disable?.(); mw.loader.using('mediawiki.util', async function smoothPager() { let action = mw.config.get('wgAction'); let isHist = action === 'history'; let isPerma = action === 'view' && ['oldid', 'diff'].some(s => mw.util.getParamValue(s)); let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber'); let isFile = ns === 6; let isCat = ns === 14; let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName'); if (!(isHist || isPerma || isFile || isCat || cspn)) return; let isSearch = cspn === 'Search'; let isWl = cspn === 'Watchlist'; let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked'; if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) { return; } let isContribs = cspn === 'Contributions' || cspn === 'IPContributions'; let o = { useRender: isCat || isWl || isRc, selector: isPerma ? '#bodyContent' : isFile ? '#mw-imagepage-section-filehistory' : isCat ? '.mw-category-generated' : '#mw-content-text', outerSelectors: [], linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' : isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' : isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' : isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' : `#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`, canPost: isSearch || [ 'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox' ].includes(cspn), paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ || isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/, reruns: [ 'mediawiki.action.history', 'mediawiki.special.search', 'ext.advancedSearch.init', 'mediawiki.special.watchlist', 'mediawiki.special.watchlistedit', 'mediawiki.pager.codex', 'mediawiki.misc-authed-curate', 'mediawiki.misc-authed-ooui', 'mediawiki.misc-authed-pref', 'mediawiki.special.unwatchedPages', 'ext.thanks.corethank', 'ext.flaggedRevs.review', 'ext.gadget.watchlist-notice-core' ], pages: [] }; if (isContribs) { o.reruns.push('ext.ipInfo'); } if (!o.useRender) { o.outerSelectors.push('#firstHeading', '.mw-indicators'); if (!isPerma && !isFile) { o.outerSelectors.push('#mw-content-subtitle'); } } o.formSelector = isHist && '#mw-history-searchform' || isSearch && '#search, #powersearch, #searchform' || cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`; if (o.formSelector) { o.formSelector += ', .cdx-table-pager__limit-form'; } window.smpg = o; let getHref = () => location.pathname + location.search; let getKey = (href, isPost) => { if (o.paramRe) { let params = new URLSearchParams(); new URL(href, location.href).searchParams.forEach((v, k) => { if (o.paramRe.test(k)) { params.set(k, v); } }); params.sort(); return String(params); } if (isPost) { return href + '??' + Date.now(); } return href; }; class Page { constructor(href, key) { this.href = href || getHref(); this.key = key || getKey(this.href); this.keys = new Set().add(this.key); o.pages.push(this); } init($response) { if ($response) { if (isWl || isRc) { this.$cont = $(document.querySelector(o.selector).cloneNode()) .removeClass('smoothpager-switching') .append($response); } else { let $cont = $response.filter(o.selector).not('script'); if (!$cont.length) { $cont = $response.find(o.selector).not('script'); if (!$cont.length) { throw 'Content not found'; } } $cont.find('script').remove(); this.$cont = $($cont[0]); } this.attached = 0; } else { if (this.$cont) return; this.$cont = $(document.querySelector(o.selector)); this.attached = 1; } this.getConfigAndModules($response); this.getOuterEls($response); this.getDocTitle($response); this.getRev($response); } getConfigAndModules($response) { if (o.useRender) return; if (!$response) { this.config = Object.assign({}, window.RLCONF); } let $scripts = $response ? $response.filter('script').remove() : $('head > script, body > script'); $scripts.map(function () { return this.textContent.match(/\bmw\.config\.set\({.+}\);/g); }).each((_, s) => { let obj; do { try { obj = JSON.parse(s.slice(14, -2)); } catch { let i = s.slice(0, -3).lastIndexOf('});'); if (i === -1) return; s = s.slice(0, i + 3); } } while (!obj); this.config = Object.assign(this.config || {}, obj); }); if (!$response) return; let match = $scripts.first().text().replaceAll('\n', '') .match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/); if (match) { try { this.config = Object.assign(this.config || {}, JSON.parse(match[1])); } catch {} this.modules = []; try { this.modules.push(...Object.keys(JSON.parse(match[2]))); } catch {} try { this.modules.push(...JSON.parse(match[3])); } catch {} } this.redirect(); } setConfig() { if (!this.config) return; mw.config.set(this.config); if (!o.cur.config) return; Object.entries(o.cur.config).forEach(([k, v]) => { if (!Object.hasOwn(this.config, k) && JSON.stringify(mw.config.get(k)) === JSON.stringify(v) ) { delete mw.config.values[k]; } }); } getOuterEls($response) { this.outerEls = o.outerSelectors.map(selector => ( $response ? $response.find(selector)[0] : document.querySelector(selector) )).map(el => el && !this.$cont[0].contains(el) && el); } setOuterEls() { o.outerSelectors.forEach((selector, i) => { let outer = document.querySelector(selector); if (!outer) return; $(outer).before(this.outerEls[i] || outer.cloneNode()).detach(); }); } getDocTitle($response) { if (o.useRender) return; if ($response) { let $title = $response.filter('title'); if ($title.length) { this.docTitle = $title.text(); } } else { this.docTitle = document.title; } } setDocTitle() { if (this.docTitle) { document.title = this.docTitle; } else if (this.outerEls[0] && o.cur.outerEls?.[0]) { document.title = document.title.replace( o.cur.outerEls[0].textContent.trim(), this.outerEls[0].textContent.trim() ); } } getRev($response) { if (!isPerma) return; let params = new URLSearchParams(this.key); if (params.has('diff')) { if ($response) { let dir = params.get('diff') === 'next' ? 'prev' : 'next'; let id = this.config?.[ dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId' ]; if (!id) { id = this.findParam( 'oldid', dir === 'prev' ? '#mw-diff-ntitle1 > strong > a, #differences-prevlink' : '#mw-diff-otitle1 > strong > a, #differences-nextlink' ); } if (id) { this.rev = dir === 'prev' ? id : params.get('oldid'); params.set('diff', dir); params.set('oldid', id); this.keys.add(String(params)); } } else { this.rev = mw.config.get('wgDiffNewId'); let pn = this.findParam( 'title', '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (pn === mw.config.get('wgPageName') && !this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi') ) { params.set('diff', 'prev'); params.set('oldid', this.rev); this.keys.add(String(params)); let oldId = mw.config.get('wgDiffOldId'); if (oldId) { params.set('diff', 'next'); params.set('oldid', oldId); this.keys.add(String(params)); } } } } else { if ($response) { if (params.has('direction')) { let id = this.config?.wgRevisionId; if (!id) { id = this.findParam( 'oldid', '#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink', $response ); } if (id) { this.rev = id; this.keys.add('oldid=' + id); o.cur.keys.add(`direction=${ params.get('direction') === 'next' ? 'prev' : 'next' }&oldid=${id}`); } } else { this.rev = params.get('oldid'); } } else { this.rev = mw.config.get('wgRevisionId'); if (params.has('direction')) { this.keys.add('oldid=' + this.rev); } } } } findParam(param, query, $range = this.$cont) { let search = $range.find(query).prop('search'); return search && mw.util.getParamValue(param, search); } updateLinks() { if (this.rev) { $('#ca-edit > a').attr('href', mw.util.getUrl(null, { action: 'edit', oldid: this.rev })); $('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink') .attr('href', mw.util.getUrl(null, { oldid: this.rev })); } $('#ca-nstab-special > a').attr('href', this.href); $('.printfooter > a').attr('href', location.href).text(location.href); $('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () { let url = new URL(location.href); url.searchParams.set( 'mobileaction', mw.util.getParamValue('mobileaction', this.search) ); return '//' + this.host + url.pathname + url.search; }); $('#t-urlshortener > a').attr('href', function () { let params = new URLSearchParams(this.search); params.set('url', location.href); return this.pathname + '?' + params; }); } redirect() { if (this.config.wgAction !== mw.config.get('wgAction') || this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '') ) { location.href = this.href; throw 'redirect'; } } replaceContent(isPopState, isRefresh) { let oldCont = document.querySelector(o.selector); if (this.$cont.is(oldCont)) { throw 'Attempt to replace content with itself'; } if (!isPopState && !isRefresh) { this.pushState(); } $(oldCont).before(this.$cont).detach(); console.log(this.key, o); this.setOuterEls(); this.setDocTitle(); this.setConfig(); if (isSearch && this.attached) { let input = this.$cont[0].querySelector('#searchText > input'); if (input) { input.value = input.defaultValue; } } o.cur = this; this.loadModules(isPopState); this.updateLinks(); } pushState() { history.pushState({ _smpg: this.key }, '', this.href); history.replaceState({ _smpg: this.key }, '', this.href); } async loadModules(isPopState) { o.pending = true; try { await mw.loader.using(this.modules || []); } catch {} finally { o.pending = false; if (!this.attached) { this.fireHooks(); this.rerunModules(); } if (!isPopState) { this.scroll(); } this.attached++; } } fireHooks() { mw.hook('wikipage.content').fire(this.$cont); this.$cont.find('.diff[data-mw-interface]').each(function () { mw.hook('wikipage.diff').fire($(this)); }); this.$cont.find('.catlinks[data-mw-interface]').each(function () { mw.hook('wikipage.categories').fire($(this)); }); mw.hook('htmlform.enhance').fire(this.$cont); } rerunModules() { o.reruns.forEach(m => { let pack = mw.loader.moduleRegistry[m]; if (!pack || pack.state !== 'ready') return; if (typeof pack.script === 'function') { pack.script($, $, mw.loader.require, pack.module); return; } delete mw.loader.moduleRegistry[m]; mw.loader.implement( m + '@' + pack.version, pack.script, pack.style, pack.messages, pack.templates, pack.deprecationWarning ); }); if ((isHist || isContribs || isRc) && window.Twinkle) { window.Twinkle.rollback(); } } scroll() { let form = o.formSelector && this.$cont[0].querySelector(o.formSelector); if (form) { let y = form.getBoundingClientRect().bottom; if (y < 0) { window.scrollBy(0, y); } } else if (this.$cont[0].getBoundingClientRect().top < 0) { this.$cont[0].scrollIntoView(); } } } o.cur = new Page(); let getContent = async (href, state, options) => { if (o.pending) return; o.aborter?.abort(); let key = state?._smpg || getKey(href, !!options); let isRefresh = key === o.cur.key; if (state && isRefresh) return; let oldCont = document.querySelector(o.selector); if (!oldCont) { notify(href, 'No element to replace', 'error'); return; } let page = o.pages.find(p => p.keys.has(key)); if ((state || !isRefresh) && page) { page.href = href; page.replaceContent(!!state, isRefresh); return; } oldCont.classList.add('smoothpager-switching'); let $throbber = $('<div>').addClass('smoothpager-throbber') .appendTo(document.body); if (!isRefresh && o.pages.length === 1) { o.cur.init(); } o.aborter = new AbortController(); let url = href; if (o.useRender) { url = new URL(href, location.href); url.searchParams.set('action', 'render'); } let promise = fetch(url, Object.assign({ signal: o.aborter.signal }, options)); if (notif) { notif.close(); notif = null; } try { let response = await (await promise).text(); if (page) { page.href = href; } else { page = new Page(href, key); } page.init($($.parseHTML(response, !o.useRender))); page.replaceContent(!!state, isRefresh); } catch (e) { if (e.name === 'AbortError') { if (state && o.cur) { o.cur.pushState(); } } else if (e === 'redirect') { notify(href, 'Redirecting...'); } else { notify(href, e || `Couldn't load the page`, 'error'); console.error(e); } } finally { o.aborter = null; oldCont.classList.remove('smoothpager-switching'); $throbber.remove(); } }; let notif; let notify = async (href, msg, type) => { notif = await mw.notify([ document.createTextNode(msg), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'smoothpager', type: type }); }; let onClick = function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(o.linkSelector) || this.origin !== location.origin ) { return; } e.preventDefault(); getContent(this.pathname + this.search); }; let onKeyDown = e => { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || e.target.closest(':read-write') ) { return; } switch (e.which) { case 27: o.aborter?.abort(); break; case 110: case 190: e.preventDefault(); getContent(getHref()); } }; let onPopState = e => { let state = e.originalEvent.state; if (state && !state._smpg) return; history.replaceState(state, '', location.href); getContent(getHref(), state || {}); }; let onSubmit = e => { if (e.originalEvent && ( e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted ) || !o.canPost && e.target.method !== 'get' || !e.target.matches(o.formSelector) ) { return; } let path = e.target.getAttribute('action'); let isScript = path === mw.config.get('wgScript'); let comps = [mw.config.get('wgPageName')]; if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) { comps.push(comps[0].replace(/\/.*/, '')); } comps.push((comps[1] || comps[0]) + '/'); if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return; let formData = new FormData(e.target); if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) { return; } e.preventDefault(); e.stopPropagation(); if (isSearch && e.target.id !== 'searchform') { formData.set('search', OO.ui.infuse($('#searchText')).getValue()); } else if (e.target.method === 'post') { let submitter = e.originalEvent?.submitter; if (submitter?.name) { formData.append(submitter.name, submitter.value); } getContent(path, null, { method: 'POST', headers: { 'Content-Type': e.target.enctype }, body: e.target.enctype === 'multipart/form-data' ? formData : new URLSearchParams(formData) }); return; } getContent(path + '?' + new URLSearchParams(formData)); }; let setPortlet = text => { if (!o.portletLink) return; $(o.portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = text; return false; } }); }; o._enable = () => { o.enabled = true; let $body = $(document.body).on('click', 'a', onClick); if (o.formSelector) { $body.on('submit', onSubmit); } $body.parent().on('keydown', onKeyDown); $(window).on('popstate', onPopState); if (o.css) { o.css.disabled = false; } if (isPerma) { mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable); } setPortlet('Disable SmoothPager'); }; o._disable = () => { o.enabled = false; $(document.body).off('click', onClick).off('submit', onSubmit) .parent().off('keydown', onKeyDown); $(window).off('popstate', onPopState); o.css.disabled = true; mw.trackUnsubscribe(o._disable); setPortlet('Enable SmoothPager'); }; o._enable(); o.css = mw.loader.addStyleTag(`${o.linkSelector}, .cdx-table__table__sort-button { color: #008064 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):visited { color: #006400 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):active { color: #faa700 !important; } .cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon { background-color: #14866d; } .smoothpager-switching { opacity: 0.75; } .smoothpager-throbber { width: 20%; height: 0.5vh; position: fixed; top: 0; left: 0; background-color: var(--background-color-progressive, #36c); transform: translate(-100%); animation: smoothpager-throbber 1s infinite linear; } @keyframes smoothpager-throbber { to { transform: translate(700%); } } @media (prefers-reduced-motion: reduce) { .smoothpager-throbber { animation: smoothpager-throbber 1s infinite steps(10,end) !important; width: 40%; } }${o.formSelector ? ` :is(${o.formSelector}) input[type="submit"], :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--color-inverted, #fff); background-color: #14866d; border-color: #14866d; } :is(${o.formSelector}) input[type="submit"]:hover, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: #00af89; border-color: #00af89; } :is(${o.formSelector}) input[type="submit"]:focus, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: #14866d; } :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff; } :is(${o.formSelector}) input[type="submit"]:active, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active { background-color: #0e725a; border-color: #0e725a; box-shadow: none; }` : ''}`); await $.ready; if (!document.getElementById('p-cactions')) return; o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild; o.portletLink.addEventListener('click', e => { e.preventDefault(); o[o.enabled ? '_disable' : '_enable'](); }); }); window.smartdiffTemplates = [ { names: ['T', 'Tl'], namespace: 10, forceNs: true, end: 1 }, { names: ['Tlx'], namespace: 10, end: 1 }, { names: ['U'], prefix: 'Special:Contributions/', end: 1 }, { names: ['Re', 'Reply to', 'Ping'], prefix: 'Special:Contributions/' }, { names: ['About'], start: 3, skipEven: true }, { names: ['For'], start: 2 }, { names: ['Other uses', 'Otheruses'], end: 1 }, { names: ['Section link', 'Slink'], end: 1 }, { names: ['Redirect'], skipEven: true, noRedirectEnd: 1 }, { names: ['Shortcut'], noRedirectStart: 1 }, { names: ['Tracked', 'Phab'], prefix: 'phab:', end: 1 }, { names: [ 'Distinguish', 'Main', 'Main article', 'Further', 'See also', 'Seealso' ] }, { names: ['Ll'], end: 1 } ]; mw.loader.using([ 'mediawiki.util', 'mediawiki.Title', 'mediawiki.api' ], function smartDiff() { mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}'); class SmartDiff { constructor($diff) { this.$diff = $diff; this.isSpecial = mw.config.get('wgNamespaceNumber') === -1; this.isView = mw.config.get('wgAction') === 'view' && new URLSearchParams(location.search).get('diffonly') !== '1'; this.magicWords = [ '!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:', 'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME', 'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1', 'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN', 'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK', 'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME', 'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:', 'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2', 'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1', 'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:', 'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER', 'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES', 'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS', 'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:', 'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:', 'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:', 'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP', 'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR', 'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE', 'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:', 'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:', 'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:', 'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:', 'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:', 'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:' ]; if (window.smartdiffMagicWords) { this.magicWords.push(...window.smartdiffMagicWords); } try { this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages; } catch (e) {} if (!this.subNs) { this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces')) .map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns)); } this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?&lt;(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!&gt;).*?&gt;)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?&lt;(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?&gt;(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g; this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:&lt;|$))/g; // https://commons.wikimedia.org/wiki/Special:MediaStatistics this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi; this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g; if (window.smartdiffTemplates) { this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g; this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/; this.templates = window.smartdiffTemplates; } this.side = 'old'; $diff.find('.diff-deletedline > div').get().forEach(this.processDiv); this.side = 'new'; $diff.find('.diff-addedline > div').get().forEach(this.processDiv); let $contexts = $diff.find('.diff-context > div'); $contexts.each((i, div) => { if (i % 2) { this.side = 'new'; if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) { this.processDiv(div); } else { $contexts.eq(i).replaceWith($contexts.eq(i - 1).clone()); } } else { this.side = 'old'; this.propUsed = false; this.processDiv(div); } }); this.links = {}; $diff.find('.smartdiff-link:not(.external)').each((i, link) => { let title = link.title; if (!title) return; if (!this.links.hasOwnProperty(title)) { this.links[title] = []; } this.links[title].push(link); }); this.query(Object.keys(this.links).slice(0, 500)); if (this.hasError) { mw.notify('SmartDiff error', { type: 'warn' }); } } processDiv = div => { if (div.querySelector('a[href]')) return; let origHtml = div.innerHTML; let newHtml = origHtml.replace(this.urlRe, this.urlRep) .replace(this.galleryRe, this.galleryRep) .replace(this.re, this.rep).replace(this.headRe, this.headRep); if (this.tempRe) { newHtml = newHtml.replace(this.tempRe, this.tempRep); } if (newHtml === origHtml) return; newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, ''); let $newDiv = $('<div>').html(newHtml); if (this.detectErrors($newDiv, newHtml, origHtml, div)) return; div.textContent = ''; $newDiv.contents().appendTo(div); }; rep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s), isTemp; if (t) { if ($1.includes('invoke')) { t = mw.Title.makeTitle(828, s); } else if (s[0] === '/') { if (this.subNs.includes(this.getProp('ns'))) { t = mw.Title.newFromText( this.getProp() + s.replace(/\/+$/, '') ); } else if ($1[0] === '{') { t.namespace = 10; } } else if ($1[0] === '{') { if (s[0] === '#') { return $0; } if ($1.includes('int')) { t = mw.Title.makeTitle(8, s); } else if (!t.namespace && s[0] !== ':') { if (!$1.includes('msg') && !$1.includes('raw')) { let match = s.match(/^[^:]+(?::(?=.)|$)/); if (match && this.magicWords.includes(match[0])) { return $0; } } t.namespace = 10; isTemp = true; } } else if ((this.isSpecial || !this.isView) && s[0] === '#') { t.title = this.getProp(); } } else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) { let chunks = s.split('/'); let levelCount = chunks.findIndex(v => v !== '..'); let sup = this.getProp().split('/').slice(0, -levelCount).join('/'); if (sup) { let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, ''); t = mw.Title.newFromText(sub ? sup + '/' + sub : sup); } } if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView || s[0] !== '#') { attrs.title = t.toText(); } if (isTemp && this.tempRe) { let name = t.getMainText(); let idx = this.templates.findIndex(temp => temp.names.includes(name)); if (idx !== -1) { attrs['data-smartdiff-temp'] = idx; } } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; stripTags(s, decode, pre = '', post = '') { let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g); s = $($.parseHTML(s.replace(/&amp;/g, '&'))).text(); if (decode) { try { s = decodeURIComponent(s); } catch (e) {} } if (tags) { if (tags[0][1] === '/') { pre += tags[0]; mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid; } let lastTag = tags.pop(); if (lastTag[1] !== '/') { mid += `</${lastTag.slice(1, 4)}>`; post = lastTag + post; } } return [s, pre, mid, post]; } headRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1') .replace(/''(.+?)''/g, '$1') .replace(/^_+|_+$/g, ''); let t = mw.Title.newFromText( `${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}` ); if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView) { attrs.title = t.toText(); } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; galleryRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s, 6); if (t && t.namespace !== 6) { t = mw.Title.makeTitle(6, s); } if (!t) { return $0; } return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(), title: t.toText() }).html(mid)[0].outerHTML + post; }; urlRep = ($0, $1, $2, $3) => { let main = $2, trail; if (!$1) { if (!$3) { return $0; } let re = main.includes('(') ? /[!,.:;?](?:<[^>]*>)?$/ : /[!),.:;?](?:<[^>]*>)?$/; let match = main.match(re); if (match && !/&amp(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main) ) { trail = match[0]; main = main.slice(0, -trail.length); } } let [url, pre, mid, post] = this.stripTags(main); if ($1) { pre = $1 + pre; } else if (trail) { post += trail; } return pre + $('<a>').attr({ class: 'smartdiff-link external', href: url, rel: 'nofollow' }).html(mid)[0].outerHTML + post; }; tempRep = ($0, $1, $2, $3) => { if ($3.includes('<a class="smartdiff-link')) { return $0; } let temp = this.templates[$2]; return $1 + $3.split(this.tempSubRe).map((os, i) => { if (!os || i % 2) { return os; } let j = i / 2; if (j < temp.start || j > temp.end || temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0 ) { return os; } let [s, pre, mid, post] = this.stripTags(os, true); if (temp.prefix) { s = temp.prefix + s; } if (temp.suffix) { s += temp.suffix; } let t = temp.forceNs ? mw.Title.makeTitle(temp.namespace, s) : mw.Title.newFromText(s, temp.namespace); if (!t) { return os; } let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) && { redirect: 'no' }; return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(params), title: t.toText() }).html(mid)[0].outerHTML + post; }).join(''); }; getProp(n = 'pn', side = this.side) { this.propUsed = true; if (this[side]) { if (this[side][n]) { return this[side][n]; } } else { this[side] = {}; let link = this.$diff[0].querySelector( side === 'old' ? '#mw-diff-otitle1 a, #differences-prevlink' : '#mw-diff-ntitle1 a, #differences-nextlink' ); if (link) { let pn = mw.util.getParamValue('title', link.search); this[side].pn = pn; this[side].ns = mw.Title.newFromText(pn).namespace; return this[side][n]; } } if (this[n]) { return this[n]; } if (this.isSpecial) { this.pn = ''; this.ns = 0; } else { this.pn = mw.config.get('wgPageName'); this.ns = mw.config.get('wgNamespaceNumber'); } return this[n]; } query(titles) { if (!titles.length) return; new mw.Api().post({ action: 'query', titles: titles.slice(0, 50), iwurl: 1, prop: 'info', inprop: 'linkclasses', inlinkcontext: this.getProp(), formatversion: 2 }, { headers: { 'Promise-Non-Write-API-Action': 1 } }).then(response => { let query = response && response.query; if (!query) return; let data = {}; (query.pages || []).forEach(page => { let obj = { classes: page.linkclasses || [] }; if (page.missing && !page.known) { obj.classes.push('new'); obj.params = { action: 'edit', redlink: 1 }; } data[page.title] = obj; }); (query.interwiki || []).forEach(interwiki => { data[interwiki.title] = { classes: ['extiw'], url: interwiki.url }; }); (query.normalized || []).forEach(entry => { if (!data.hasOwnProperty(entry.to)) return; let obj = data[entry.to]; obj.canonical = entry.to; if (!obj.url) { obj.url = mw.util.getUrl(entry.to, obj.params); } data[entry.from] = obj; }); Object.entries(data).forEach(([title, obj]) => { if (!this.links.hasOwnProperty(title)) return; let $links = $(this.links[title]).addClass(obj.classes) .attr('title', obj.canonical); if (obj.url) { $links.attr('href', function () { return obj.url + this.hash; }); } }); this.query(titles.slice(50)); }); } detectErrors($newDiv, newHtml, origHtml, div) { let comp = $newDiv.html(); if (comp !== newHtml) { console.warn( 'SmartDiff syntax error at:\n', div, `\nNew HTML:\n${newHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } let $comp = $newDiv.clone(); $comp.find('.smartdiff-link').contents().unwrap(); comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, ''); if (comp !== origHtml) { console.warn( 'SmartDiff mutation error at:\n', div, `\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } } } mw.hook('wikipage.diff').add($diff => { new SmartDiff($diff); }); }); (function copySectLink() { let dependencies = ['mediawiki.util']; let classes = 'copysectlink'; let css; switch (mw.config.get('skin')) { case 'minerva': classes += ' cdx-button cdx-button--size-large cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--icon-only cdx-button--weight-quiet'; css = '.copysectlink{opacity:0.65;font-size:1rem;margin-right:0 !important} .collapsible-heading:not(.open-block) .copysectlink{visibility:hidden} .copysectlink > .minerva-icon{background-color:transparent} .copysectlink > span + span{display:block;position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;margin:-1px;border:0;padding:0;overflow:hidden}'; break; case 'timeless': classes += ' mw-ui-icon-copy'; css = '.copysectlink{background-color:var(--background-color-base,#fff);margin-left:-1em} .copysectlink:first-of-type{margin-left:-20px;padding-left:0} .copysectlink::before{content:"";display:inline-block;width:16px;height:16px;background-size:16px 16px;vertical-align:bottom;opacity:0.33}'; } if (css) { mw.loader.addStyleTag(css); dependencies.push('oojs-ui.styles.icons-editing-advanced'); } let handler = function (e) { e.preventDefault(); e.stopPropagation(); let text = (mw.config.get('wgPageName') + (this.hash ? decodeURI(this.hash).replace( /[\[\]{|}]/g, s => '&#' + s.codePointAt(0) + ';' ) : '')).replace(/_/g, ' '); let $input = $('<input>').attr({ type: 'text', readonly: '', style: 'position:fixed;top:-100%' }).val(text).appendTo(document.body); $input[0].select(); let copied; try { copied = document.execCommand('copy'); } catch (e) {} $input.remove(); if (copied) { mw.notify(`Copied "${text}"`); } else { mw.notify('Copy failed', { type: 'error' }); } }; let addButton = (block, id) => { let $button = $('<a>').attr({ class: classes + (id ? ' mw-selflink-fragment' : ''), href: mw.util.getUrl() + (id ? '#' + encodeURI(id): ''), role: 'button' }).text('copy').on('click', handler); let isMinerva = mw.config.get('skin') === 'minerva'; if (isMinerva) { $button.attr('title', 'Copy').wrapInner('<span>') .prepend($('<span>').addClass('minerva-icon oo-ui-icon-copy skin-invert')); } let wrapper = block.querySelector('.mw-editsection'); if (wrapper) { $button[isMinerva ? 'prependTo' : 'appendTo'](wrapper); } else { $('<span>').addClass('mw-editsection') .append($button).appendTo(block); } }; if (['view', 'purge'].includes(mw.config.get('wgAction'))) { ['ext.gadget.edittop', 'ext.gadget.edit0'].forEach(m => { let state = mw.loader.getState(m); if (state && state !== 'registered') { dependencies.push(m); } }); } $.when($.ready, mw.loader.using(dependencies)).then(() => { if (mw.config.get('wgNamespaceNumber') >= 0) { addButton(document.getElementById('firstHeading')); } mw.hook('wikipage.content').add($content => { $content.find('.mw-heading > :is(h1, h2, h3, h4, h5, h6)[id]').each(function () { addButton(this.parentElement, this.id); }); $content.find( ':is(h1, h2, h3, h4, h5, h6):not(.mw-heading > *, #mw-toc-heading, .wb-sitelinks-heading)[id]' ).each(function () { addButton(this, this.id); }); }); }); }()); mw.loader.using([ 'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage' ], function ipaInput() { if (!mw.libs.ve.isVisualAvailable && !['edit', 'submit'].includes(mw.config.get('wgAction')) ) { return; } mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`); let clicked; let openDialog = () => { if (clicked) { if (window.ipaInputDialog) { window.ipaInputDialog.open(); } return; } clicked = true; mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript'); mw.loader.using([ 'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-editing-advanced' ]); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { ipainput: { label: 'IPAInput', type: 'button', oouiIcon: 'schwa', action: { type: 'callback', execute: openDialog } } } }); }); mw.hook('ve.loadModules').add(addPlugin => { addPlugin(() => { ve.ui.IpaInputCommand = function VeUiIpaInputCommand() { ve.ui.IpaInputCommand.super.call(this, 'ipaInput'); }; OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command); ve.ui.IpaInputCommand.prototype.execute = () => { openDialog(); return true; }; ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand()); ve.ui.IpaInputTool = function VeUiIpaInputTool() { ve.ui.IpaInputTool.super.apply(this, arguments); }; OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool); ve.ui.IpaInputTool.static.name = 'ipaInput'; ve.ui.IpaInputTool.static.group = 'insert'; ve.ui.IpaInputTool.static.icon = 'schwa'; ve.ui.IpaInputTool.static.title = 'IPA'; ve.ui.IpaInputTool.static.commandName = 'ipaInput'; ve.ui.toolFactory.register(ve.ui.IpaInputTool); }); }); mw.requestIdleCallback(() => { let expiry = mw.storage.get('_EXPIRY_ipainput-cache'); if (!expiry) return; $.get( '//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata' ).then(response => { if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) { mw.storage.remove('ipainput-cache'); } }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && (function wiktIpa() { mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`); let clicked, dialog, input, $result; let openDialog = async context => { if (clicked) { if (dialog) { let selection = context.$textarea.textSelection('getSelection'); if (selection) { input.setValue(selection); } if ($result) { $result.prev().addBack().remove(); $result = null; } dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); } return; } clicked = true; await mw.loader.using([ 'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi', 'mediawiki.util' ]); let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({ action: 'query', generator: 'search', gsrsearch: 'deepcat:Pronunciation_templates_by_language', gsrnamespace: 10, gsrlimit: 'max', gsrsort: 'none', formatversion: 2 }); let winMan = new OO.ui.WindowManager(); dialog = new OO.ui.MessageDialog(); winMan.addWindows([dialog]); let items = response.query.pages .map(p => p.title.slice(9)) .sort(Intl.Collator('en-u-kn-true').compare) .map(s => new OO.ui.MenuOptionWidget({ label: s })); let dropdown = new OO.ui.DropdownWidget({ $overlay: dialog.$overlay, menu: { items } }); let $doc = $('<p>'); dropdown.getMenu().on('choose', mw.util.debounce(async item => { let title = 'Template:' + item.getLabel(); let $link = $('<a>').attr({ href: '//en.wiktionary.org/wiki/' + title, target: '_blank', title: title }).text('documentation'); $doc.empty().append('Loading ', $link, '...'); try { let data = await $.get( '//en.wiktionary.org/api/rest_v1/page/html/' + encodeURIComponent(title + '/documentation') ); let text = $($.parseHTML(data)).find('p').first().text() .replace(/\. .*/, '.'); $doc.text(text + ' (').append($link.text('read more'), ')'); dialog.updateSize(); } catch { $doc.empty().append('Failed to load ', $link); } }, 100)).selectItem(items[0]); input = new OO.ui.TextInputWidget({ autocomplete: false, value: context.$textarea.textSelection('getSelection') || mw.config.get('wgTitle') }); let button = new OO.ui.ButtonWidget({ disabled: !input.getValue(), label: 'Get', flags: ['primary', 'progressive'] }).on('click', async () => { button.setDisabled(true); let template = dropdown.getMenu().findSelectedItem().getLabel(); let text = input.getValue(); try { let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', { wikitext: `{{${template}|1=${text}}}`, body_only: true }); if ($result) { $result.children().remove(); } else { $result = $('<div>').text('Result:') .insertAfter(fieldset.$element) .before('<hr>'); } $result.append($.parseHTML(data)) .find('.mw-collapsible').makeCollapsible().end() .find('[id], [about]').removeAttr('id about').end() .find('a').attr('target', '_blank') .filter('[href^="./"]').attr('href', (_, href) => ( '//en.wiktionary.org/wiki' + href.slice(1) )); dialog.updateSize(); } catch {} finally { button.setDisabled(); } }); input.on('change', value => { button.setDisabled(!value); }).connect(button, { enter: ['emit', 'click'] }); let fieldset = new OO.ui.FieldsetLayout({ items: [ new OO.ui.FieldLayout(dropdown, { label: 'Template:', align: 'top' }), new OO.ui.FieldLayout(input, { label: 'Input:', align: 'top' }), new OO.ui.FieldLayout(button) ] }); dropdown.$element.after($doc); dialog.text.$element.append(fieldset.$element/*.on('keydown', e => { e.stopPropagation(); })*/); winMan.$element.appendTo(OO.ui.getTeleportTarget()); dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { wiktipa: { label: 'WiktIPA', type: 'button', oouiIcon: 'wiktionary', action: { type: 'callback', execute: openDialog } } } }); }); }()); window.scripttesterSkipWarning = true; mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() { let get = () => new Set(mw.storage.getObject('scripttester')); if (mw.storage.get('scripttester')) { let unloading; window.addEventListener('beforeunload', () => { unloading = true; }); get().forEach(async s => { let isCss = /\.css$/i.test(s); let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, { action: 'raw', ctype: isCss ? 'text/css' : 'text/javascript' }); if (isCss) { mw.loader.load(url, 'text/css'); return; } try { await mw.loader.getScript(url); } catch (e) { if (unloading) { console.warn(e); return; } mw.notify('Failed to load temporarily installed ' + s, { type: 'error' }); } }); } else if (!window.scripttesterSkipWarning) { await mw.loader.using('oojs-ui-windows'); if (await OO.ui.confirm( 'You take full responsibility for any consequences arising from using ScriptTester.' )) { mw.storage.setObject('scripttester', []); } } await $.ready; if (!document.getElementById('p-tb')) return; let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}'); let linksShown = mw.config.get('wgNamespaceNumber') > 0 && mw.config.get('wgAction') === 'view'; let updateLinks = (s, unins) => { if (!linksShown) return; $(`.scripttester-link[data-scripttester="${s}"]`) .toggleClass('scripttester-installed', !unins); }; let dialog, multiselect, addButton, removeButton, clearButton; let openDialog = () => { if (!dialog) { dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] }); let winMan = new OO.ui.WindowManager(); winMan.addWindows([dialog]); multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => { removeButton.setDisabled(!multiselect.findSelectedItems().length); }); addButton = new OO.ui.ButtonWidget({ label: 'Add' }).on('click', async () => { dialog.toggle(false); let s = (await OO.ui.prompt('Add a script', { textInput: { placeholder: 'Script page name or URL' } })).trim(); if (!s) return; if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) { await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`); dialog.toggle(true); updateDialog(); return; } mw.storage.setObject('scripttester', [...get().add(s)]); updateLinks(s); }); removeButton = new OO.ui.ButtonWidget({ label: 'Remove' }).on('click', () => { let set = get(); multiselect.findSelectedItems().forEach(item => { let s = item.getLabel(); set.delete(s); updateLinks(s, true); }); mw.storage.setObject('scripttester', [...set]); updateDialog(); }); clearButton = new OO.ui.ButtonWidget({ label: 'Clear', flags: 'destructive' }).on('click', async () => { dialog.toggle(false); if (!(await OO.ui.confirm('Uninstall all scripts?'))) { dialog.toggle(true); return; } mw.storage.setObject('scripttester', []); if (linksShown) { $('.scripttester-installed').removeClass('scripttester-installed'); } dialog.toggle(true); updateDialog(); }); dialog.text.$element.append( multiselect.$element, new OO.ui.ButtonGroupWidget({ items: [addButton, removeButton] }).$element, clearButton.$element ); winMan.$element.appendTo(OO.ui.getTeleportTarget()); } updateDialog(); dialog.open({ message: 'Temporarily installed scripts:', actions: [{ label: 'Done', flags: ['safe', 'close'] }] }); }; let updateDialog = () => { let set = get(); multiselect.clearItems().addItems( [...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s })) ); removeButton.setDisabled(true); clearButton.toggle(set.size); dialog.updateSize(); updatePortlet(set.size); }; let updatePortlet = count => { $(portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = `Temporarily installed scripts (${count})`; return false; } }); }; let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`) .firstElementChild; portletLink.addEventListener('click', e => { e.preventDefault(); mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog); }); window.addEventListener('storage', e => { if (e.key === 'scripttester') { updatePortlet(get().size); } }); if (!linksShown) return; css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}'; let linkHandler = function () { let s = this.dataset.scripttester; let unins = this.classList.contains('scripttester-installed'); let set = get(); set[unins ? 'delete' : 'add'](s); let success = mw.storage.setObject('scripttester', [...set]); if (success) { mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, { tag: 'scripttester' }); updateLinks(s, unins); updatePortlet(set.size); } else { mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, { tag: 'scripttester', type: 'error' }); } }; if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) && ['javascript', 'css'].includes(mw.config.get('wgPageContentModel')) ) { let s = mw.config.get('wgPageName').replaceAll('_', ' '); $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ).appendTo(document.getElementById('firstHeading')); return; } mw.hook('wikipage.content').add($content => { let set = get(); let ns = mw.config.get('wgFormattedNamespaces'); let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`); $content.find('a:not(.external, .new)').after(function () { let s = this.title; if (!s || !re.test(s)) return; return $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ); }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.on('keydown', async e => { if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return; e.preventDefault(); let context = $textarea.data('wikiEditorContext'); context.api.openDialog(context, 'search-and-replace'); await mw.loader.using('jquery.textSelection'); let tb = document.getElementById('wikieditor-toolbar-replace-search'); let sel = $textarea.textSelection('getSelection'); if (sel) { tb.value = sel; } tb.focus(); }); $(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => { $textarea[0].focus(); }); }); mw.config.get('wgNamespaceNumber') && mw.config.get('wgAction') !== 'history' && (function catChangeHighlighter() { let run; mw.hook('wikipage.content').add($content => { $content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () { let text = this.querySelector('.comment').textContent; if (text.includes(' added ')) { this.classList.add('catchangehighlighter-addition'); } else if (text.includes(' removed ')) { this.classList.add('catchangehighlighter-removal'); } if (run) return; run = true; mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}'); }); }); }()); (mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' || [-1, 14].includes(mw.config.get('wgNamespaceNumber'))) && (function diffFontSwitcher() { mw.loader.addStyleTag('.diff-lineno{cursor:pointer}'); $(document.body).on('click keydown', '.diff-lineno', function (e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); this.closest('.diff').classList.toggle('difffontswitcher-enabled'); }); mw.hook('wikipage.diff').add($diff => { $diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' }); }); }()); mw.trackSubscribe('resourceloader.exception', (topic, data) => { mw.notify(data.exception, { autoHide: false, title: `Exception in ${data.source} in module ${data.module}`, type: 'warn' }); }); mw.config.get('skin') === 'vector-2022' && $(document).one('click', '.mw-interlanguage-selector', async () => { await mw.loader.using('ext.uls.mediawiki'); $.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow'; mw.uls.getFrequentLanguageList = () => []; }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's'); t1duj8wyhbbjd4ewe1e9u739mcja4wd 747596 747595 2026-06-19T06:15:26Z Nardog 40946 747596 javascript text/javascript /* globals ve */ // window.dn?.disable?.(); window.diffnowExtraSelector = '.catchangesviewer-table td:nth-child(2) > .mw-changeslist-links > span:first-child > a, .listtools-last > a, .mw-special-AbuseLog form li > a[href^="/wiki/Special:AbuseLog/"], .unseendiff'; (mw.config.get('wgNamespaceNumber') || mw.config.get('wgAction') !== 'view') && mw.loader.using(['mediawiki.util', 'user.options'], function diffNow() { let isHist = mw.config.get('wgAction') === 'history'; let selector = `:where(.mw-changeslist-diff, .mw-changeslist-diff-cur, .mw-changeslist-groupdiff, .mw-fr-reviewlink > a, .mw-fr-hist-difflink a, .mw-history-histlinks a, .mw-logevent-loglines a[href*="&diff="], .mw-fr-pending-changes-table .cdx-docs-link, .mw-special-AbuseLog #mw-content-text > form > ul > li > a:last-of-type[href*="&diff="], .mw-deletedcontribs-tools > a:first-child, .mw-undelete-revlist > li > a:first-of-type[href*="&diff="], #merge li > a:first-of-type[href*="&diff="], .mw-history-compareselectedversions-button, .consecudiff > a${window.diffnowExtraSelector ? ', ' + window.diffnowExtraSelector : ''}):not(.external${window.diffnowNegativeSelector ? ', ' + window.diffnowNegativeSelector : ''})`; let switchSelector = '.diffnow-differences-prevlink, .diffnow-differences-nextlink, .diffnow-switch'; let diffs = [], count = 0, expanded = new WeakSet(); window.dn = diffs; let sanitize = href => { let url = new URL(href, location.href); let newParams = new URLSearchParams(), hasId; ['diff', 'direction', 'oldid', 'target', 'timestamp'].forEach(k => { if (url.searchParams.has(k)) { let v = url.searchParams.get(k); newParams.set(k, v); hasId = hasId || v > 0; } }); if (!hasId && url.searchParams.has('title')) { return `${url.search.match(/[&?](title=[^&]*)/)[1]}&${newParams}`; } return String(newParams); }; let getDiff = comp => { if (typeof comp === 'string') { let sanitized = sanitize(comp); return diffs.find(diff => ( diff.queries.has(comp) || diff.queries.has(sanitized) )); } return diffs.find(diff => diff.$diff.is(comp)); }; let containers = []; window.dn._c = containers; class Diff { constructor(href, $link) { this.aborter = new AbortController(); this.queries = new Set(); this.setLink(href, $link); diffs.push(this); } setLink(href, $link) { if (this.href) { if ($link.is(this.$link)) { if (this.aborter) { this.aborter.abort(); } else if (this.isVisible()) { this.close(); } else { this.$anchor = this.getAnchor(); this.append(); } return; } if ($link.is(this.$outerLink) && this.isVisible()) { this.close(); return; } if (this.getAnchor($link).is(this.$anchor)) { this.markLink(false); } else { this.close(); } } this.href = href; this.queries.add(href); let sanitized = sanitize(href); if (sanitized) { this.queries.add(sanitized); } this.$link = $link; this.isSwitch = $link.is(switchSelector); if (!this.isSwitch) { this.$outerLink = $link; } this.$anchor = this.getAnchor(); if (this.aborter) { this.markLink(); } else { this.append(); } } append(response) { if (response) { delete this.aborter; this.findDiff(response); this.setQueries(); this.polishDiff(); } let $container = this.getContainer(true); if (!$container[0].isConnected) { if (this.$anchor.is('tr')) { let cols = this.$anchor.children().get() .reduce((acc, cell) => acc + cell.colSpan, 0); $('<tr>').addClass('diffnow-row').append( $('<td>').attr('colspan', cols).append($container) ).insertAfter(this.$anchor); } else if (this.$anchor.is('div')) { this.$anchor.after($container); } else { this.$anchor.append($container); } } this.attached = true; filterContexts(this.$diff); window.addEventListener('resize', onResize); if (!this.$link.hasClass('diffnow-link-loaded')) { mw.requestIdleCallback(() => { this.markLinks(); this.markSeen(); }); } if ($container[0].getBoundingClientRect().top < 0) { $container[0].scrollIntoView(); } this.markLink(true); if (response) { mw.hook('wikipage.content').fire($container); } } findDiff(response) { if (typeof response !== 'string') throw ''; let $diff = $($.parseHTML(response)) .filter('.diff[data-mw-interface]'); if (!$diff.length) { $diff = $diff.end().find('.diff[data-mw-interface]'); if (!$diff.length) throw ''; } this.$diff = $($diff[0]); } setQueries() { let newPerma = this.$diff[0].querySelector( '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (newPerma) { this.newId = parseInt(mw.util.getParamValue('oldid', newPerma.search)); this.newTitle = newPerma.title; } let oldPerma = this.$diff[0].querySelector( '#mw-diff-otitle1 > strong > a, #differences-prevlink' ); if (oldPerma) { this.oldId = parseInt(mw.util.getParamValue('oldid', oldPerma.search)); this.oldTitle = oldPerma.title; } let isSamePage = !oldPerma || this.newTitle === this.oldTitle; this.isSingle = isSamePage && !this.$diff[0].querySelector('.diff-multi'); if (this.newId) { if (this.newId === this.oldId) { throw 'nonfatal'; } if (this.oldId) { this.queries.add(`diff=${this.newId}&oldid=${this.oldId}`); } this.isLast = !this.$diff[0].querySelector('#differences-nextlink'); if (this.isSingle) { this.queries.add(`diff=prev&oldid=${this.newId}`); if (this.isLast && this.oldId) { this.queries.add(`diff=0&oldid=${this.oldId}`); this.queries.add(`diff=cur&oldid=${this.oldId}`); } } } if (this.oldId && this.isSingle) { this.queries.add(`diff=next&oldid=${this.oldId}`); } this.queries.forEach(q => { let other = getDiff(q); if (other && other !== this) { other.setLink(this.href, this.$link); throw 'nonfatal'; } }); if (this.oldId) { diffs.forEach(diff => { if (diff.isLast && diff.newId === this.oldId) { diff.markNotLast(this); } }); } } async polishDiff() { mw.hook('wikipage.diff').fire(this.$diff); let prevLink = this.$diff[0].querySelector('#differences-prevlink'); let nextLink = this.$diff[0].querySelector('#differences-nextlink'); $([prevLink, nextLink].filter(Boolean)).attr('href', (_, href) => ( href.replace('&diffonly=1', '').replace('&expand-url=1', '') )); [['previousdiff', prevLink], ['nextdiff', nextLink]].forEach(([key, link]) => { if (link && !mw.messages.exists(key)) { mw.messages.set(key, link.textContent); } }); if (!nextLink && this.isLast) { this.$diff.find('#mw-diff-ntitle4').empty().append( $('<a>').attr({ class: 'diffnow-checknext diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'next', oldid: this.newId }), title: this.newTitle }).text('Check for newer edit') ); } this.$diff.find('.mw-diff-movedpara-left, .mw-diff-movedpara-right') .attr('href', (_, href) => `#diffnow-${count}-${href.slice(1)}`); this.$diff.find('a[name^="movedpara"]') .attr('name', (_, name) => `diffnow-${count}-${name}`); count++; this.$diff.find('[id]').addClass(function () { return 'diffnow-' + this.id; }).removeAttr('id'); if (this.$diff[0].querySelector('.mw-thanks-thank-link')) { mw.loader.load('ext.thanks.corethank'); mw.config.set('thanks-confirmation-required', true); } if (!this.isSingle) { let keys = ['nextdiff', 'previousdiff'] .filter(s => !mw.messages.exists(s)); if (keys.length) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(keys); } this.$diff.find('.diff-multi').append( $('<div>').append( $('<div>').append( $('<a>').attr({ class: 'diffnow-multinext diffnow-switch', href: mw.util.getUrl(this.oldTitle, { diff: 'next', oldid: this.oldId }), title: this.oldTitle }).text(mw.msg('nextdiff')) ), $('<div>').append( $('<a>').attr({ class: 'diffnow-multiprev diffnow-switch', href: mw.util.getUrl(this.newTitle, { diff: 'prev', oldid: this.newId }), title: this.newTitle }).text(mw.msg('previousdiff')) ) ) ); } } getAnchor($link) { let isSwitch; if ($link) { isSwitch = $link.is(switchSelector); } else { $link = this.$link; isSwitch = this.isSwitch; } if (isSwitch) { return getDiff($link.closest('.diff')).$anchor; } return $link.closest('li, tr, .mw-history-compareselectedversions'); } getContainer(create) { let $container = this.$anchor.is('tr') ? this.$anchor.next('.diffnow-row').find('> td > .diffnow') : this.$anchor.is('div') ? this.$anchor.next('.diffnow') : this.$anchor.children('.diffnow'); if (create) { if ($container.length) { this.attachDiff($container); } else { $container = this.createContainter(); } } return $container; } attachDiff($container) { let $oldDiff = $container.children('.diff'); if (!$oldDiff.is(this.$diff)) { if ($oldDiff.length) { getDiff($oldDiff).detachDiff(); } $container.children('.diffnow-tools-top').after(this.$diff); } $container.find('.diffnow-difflink').attr('href', this.href); } createContainter() { let $container = containers.pop(); if ($container) { this.attachDiff($container); return $container; } return $('<div>').addClass('diffnow').append( $('<div>').addClass('diffnow-tools diffnow-tools-top').append( $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-collapse', title: 'Hide this diff' }) ), this.$diff, $('<div>').addClass('diffnow-tools diffnow-tools-bottom').append( $('<button>').attr({ class: 'diffnow-button diffnow-scrollup oo-ui-icon-collapse', title: 'Scroll to top' }), $('<button>').attr({ class: 'diffnow-button diffnow-scrolldown oo-ui-icon-expand', title: 'Scroll to bottom' }), $('<button>').attr({ class: 'diffnow-button diffnow-close oo-ui-icon-close', title: 'Hide this diff' }), $('<a>').attr({ class: 'diffnow-button diffnow-difflink oo-ui-icon-newWindow oo-ui-image-progressive', href: this.href, target: '_blank', title: 'Open diff page' }) ) ) .on('click', '.diffnow-close', this.collapse) .on('click', '.diffnow-scrollup', this.scrollUp) .on('click', '.diffnow-scrolldown', this.scrollDown) .on( 'click keydown', '.diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker', this.toggleContext ); } isVisible() { return !!this.$diff?.[0].offsetParent; } markLink(visible = this.isVisible()) { if (this.isSwitch) { this.getContainer().toggleClass('diffnow-switching', !!this.aborter); if (!this.$outerLink) return; } this.$outerLink .toggleClass('diffnow-link-loading', !!this.aborter) .toggleClass('diffnow-link-loaded', !this.aborter) .toggleClass('diffnow-link-open', !this.isSwitch && visible); } markLinks() { $(selector).filter((_, link) => { let href = link.getAttribute('href'); return this.queries.has(href) || this.queries.has(sanitize(href)); }).addClass('diffnow-link-loaded'); if (!isHist) return; $('.mw-history-compareselectedversions-button').toggleClass( 'diffnow-link-loaded', !!getDiff(getHistHref()) ); } markSeen() { if (this.$link.is('.mw-rcfilters-ui-highlights-enhanced-nested:nth-child(n+2) .mw-changeslist-diff')) { this.$anchor.nextAll().addBack() .removeClass('mw-changeslist-watchedunseen mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-watchedseen mw-changeslist-line-not-watched'); return; } let $li = this.$anchor.closest('li, table'); let $unseen = $li.filter('.mw-changeslist-watchedunseen') .add($li.find('.mw-changeslist-watchedunseen')); if (!$unseen.length) return; $unseen.removeClass('mw-changeslist-watchedunseen') .addClass('mw-changeslist-watchedseen'); $li.filter('.mw-changeslist-line-watched') .add($li.find('.mw-changeslist-line-watched')) .removeClass('mw-changeslist-line-watched mw-enhanced-watched') .addClass('mw-changeslist-line-not-watched'); } async markNotLast(newDiff) { this.isLast = false; this.queries = new Set([...this.queries].filter(q => ( !/^title=|(?:^|[&?])(?:diff|oldid)=(?:0|cur)(?:&|$)/.test(q) ))); this.$diff.find( '.diffnow-mw-diff-ntitle1 a, .diffnow-mw-diff-ntitle1 .history-deleted' ).first().text( newDiff.$diff.find( '#mw-diff-otitle1 a, #mw-diff-otitle1 .history-deleted' ).first().text() ); this.$diff.find('.diff-ntitle .mw-diff-edit a') .attr('href', (_, href) => href + '&oldid=' + this.newId); if (!mw.messages.exists('nextdiff')) { await mw.loader.using('mediawiki.api'); await new mw.Api().loadMessagesIfMissing(['nextdiff']); } this.$diff.find('.diffnow-checknext') .attr('class', 'diffnow-differences-nextlink') .text(mw.msg('nextdiff')); } detachDiff() { this.$diff?.detach(); this.markLink(false); } close(adjustFocus) { this.detachDiff(); let $container = this.getContainer(); if ($container.length) { let $row = $container.closest('.diffnow-row'); containers.push($container.detach()); $row.remove(); } if (!adjustFocus) return; setTimeout(() => { this.$anchor.find('a[href]').last().each(function () { this.focus(); this.blur(); }); }); } collapse(e) { e.preventDefault(); let $container = $(e.delegateTarget); let diff = getDiff($container.children('.diff')); if (diff.$link[0].getBoundingClientRect().top < 0) { diff.$anchor[0].scrollIntoView(); $container.fadeOut('fast', () => { diff.close(true); setTimeout(() => { diff.$anchor[0].scrollIntoView(); $container.removeAttr('style'); }); }); } else { diff.close(true); } } scrollUp(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().top; let ch = document.documentElement.clientHeight, buffer = ch / 2; y -= y + 5 > buffer ? ch : buffer; window.scrollBy({ top: y, behavior: 'smooth' }); } scrollDown(e) { e.preventDefault(); let y = e.delegateTarget.getBoundingClientRect().bottom; let buffer = document.documentElement.clientHeight / 2; if (y - 5 > buffer) { y -= buffer; } window.scrollBy({ top: y, behavior: 'smooth' }); } toggleContext(e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); let $row = $(e.target.closest('tr')); if ($row.hasClass('diffnow-context-expanded')) { $row.removeClass('diffnow-context-expanded') .addClass('diffnow-context-collapsed') .children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); expanded.delete($row[0]); } else { $row.removeClass('diffnow-context-collapsed') .addClass('diffnow-context-expanded') .children('.diff-context').removeAttr('tabindex role title') .siblings('.diff-marker').attr('title', 'Collapse'); expanded.add($row[0]); } } destroy() { diffs.splice(diffs.indexOf(this), 1); this.$link.removeClass('diffnow-link-loading diffnow-link-loaded diffnow-link-open'); this.getContainer().removeClass('diffnow-switching'); } } let filterContexts = $diff => { $diff.find('.diff-context.diff-side-deleted > div').each(function () { let $row = $(this.closest('tr')) .removeClass('diffnow-context-expanded'); if (this.scrollHeight > this.clientHeight) { if (expanded.has($row[0])) { $row.addClass('diffnow-context-expanded') .children('.diff-marker').attr({ tabindex: 0, role: 'button', title: 'Collapse' }); } else { $row.addClass('diffnow-context-collapsed').children().attr({ tabindex: 0, role: 'button', title: 'Expand' }); } } else { $row.removeClass('diffnow-context-collapsed') .children().removeAttr('tabindex role title'); } }); }; let onResize = mw.util.debounce(() => { filterContexts($('.diffnow > .diff')); }, 250); let notif; let showError = async (href, msg) => { notif = await mw.notify([ document.createTextNode(msg || `Couldn't load the diff`), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'diffnow', type: 'error' }); }; let getHistHref = () => { let formData = new FormData(document.getElementById('mw-history-compare')); return mw.util.getUrl(null, { diff: formData.get('diff'), oldid: formData.get('oldid') }); }; $(document.body).on('click.diffnow', 'a, .mw-history-compareselectedversions-button', async function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(selector) && !this.matches(switchSelector) ) { return; } e.preventDefault(); let $link = $(this); let isCompare = $link.hasClass('mw-history-compareselectedversions-button'); let href = isCompare ? getHistHref() : this.pathname + this.search; let diff = getDiff(href); try { if (diff) { diff.setLink(href, $link); return; } if (!isCompare && this.origin !== location.origin) { throw ''; } diff = new Diff(href, $link); let url = new URL(href, location.href); url.searchParams.set('diffonly', 1); url.searchParams.set('action', 'render'); let promise = fetch(url, { signal: diff.aborter.signal }); mw.loader.using(['mediawiki.diff', 'mediawiki.diff.styles']); if (notif) { notif.close(); notif = null; } diff.append(await (await promise).text()); } catch (error) { if (diff && !diff.attached) { diff.destroy(); } if (error.name === 'AbortError') { notif = await mw.notify('Diff loading canceled', { tag: 'diffnow' }); } else if (error !== 'nonfatal') { showError(href, error); console.error(error); } } }); let css = mw.loader.addStyleTag(`${selector} { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); background-position: right; background-repeat: no-repeat; background-size: 10px 10px; padding-right: 12px; } .mw-history-compareselectedversions-button { background-position: right 6px center; background-size: 14px 14px; padding-right: 24px !important; } .skin-timeless .mw-history-compareselectedversions-button { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand-invert.svg); } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload-invert.svg) !important; } .skin-timeless .mw-history-compareselectedversions-button.diffnow-link-open { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse-invert.svg) !important; } .diffnow-link-loading { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cstyle type='text/css'%3Ecircle%7Banimation:bounce-delay 600ms infinite ease-in-out both;animation-delay:-80ms;transform-origin:center;transform-box:fill-box%7Dcircle:first-of-type%7Banimation-delay:-160ms%7Dcircle:last-of-type%7Banimation-delay:0ms%7D@keyframes bounce-delay%7B0%25,50%25,100%25%7Btransform:scale(0)%7D20%25%7Bopacity:0.87;transform:scale(1)%7D%7D%3C/style%3E%3Ccircle cx='2.5' cy='10' r='2.5'/%3E%3Ccircle cx='10' cy='10' r='2.5'/%3E%3Ccircle cx='17.5' cy='10' r='2.5'/%3E%3C/svg%3E") !important; } .diffnow-link-loaded { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/reload.svg) !important; } .diffnow-link-open, .diffnow-context-expanded > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/collapse.svg) !important; } .diffnow { background: var(--background-color-base, #fff); border: var(--border-base, 1px solid #a2a9b1); border-radius: 4px; position: relative; } .mw-history-compareselectedversions + .diffnow { margin-top: 0.3em; } .diffnow-tools { display: flex; position: sticky; background-color: var(--background-color-backdrop-light, rgba(255,255,255,0.65)); z-index: 1; } .diffnow-tools-top { top: 0; border-radius: 4px; } .diffnow-tools-bottom { bottom: 0; } .diffnow-tools > .diffnow-button { cursor: pointer; height: 24px; padding: 0; box-sizing: content-box; background-position: center; background-repeat: no-repeat; background-size: 16px 16px; background-color: var(--background-color-transparent, transparent); flex-grow: 1; } .diffnow-tools > .diffnow-button:hover { background-color: var(--background-color-button-quiet--hover, rgba(0,24,73,0.027)); } .diffnow-tools > .diffnow-button:active { background-color: var(--background-color-button-quiet--active, rgba(0,24,73,0.082)); } .diffnow-tools-top > .diffnow-button { border: none; border-radius: 3px 3px 0 0; } .diffnow-tools-bottom > .diffnow-button { border: var(--border-base, 1px solid #a2a9b1); border-radius: 99px; margin: 4px; height: 20px; } .diffnow-switching > .diff { transition: opacity 200ms; opacity: 0.4; } .diffnow-checknext, .diffnow-checknext:visited { color: var(--color-subtle, #54595d); } .diffnow :not(.diffnow-context-expanded) > .diff-context > div { overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; } .diffnow-context-collapsed > td, .diffnow-context-expanded > .diff-marker { cursor: pointer !important; background-position: center; background-repeat: no-repeat; background-size: 12px 12px; } .diffnow-context-collapsed > .diff-marker { background-image: url(/w/resources/lib/ooui/themes/wikimediaui/images/icons/expand.svg); } .diffnow-context-collapsed > .diff-context a { pointer-events: none; } .diffnow .diff-multi > div { display: flex; justify-content: space-around; } .diffnow > .diff td div { word-break: break-word; } .diffnow .mw-diff-inline-changed ins, .diffnow .mw-diff-inline-changed del { white-space: pre-wrap; } .diffnow-row .diffnow { border: none; } .diffnow-row > td { padding: 0 !important; } td.mw-changeslist-line-inner { width: 100%; } .mw-enhanced-rc .diffnow > .diff td { padding: 0.33em 0.5em; } .cdx-table__table-wrapper:has(.diffnow-row) { overflow-x: visible; } span.mw-history-histlinks-current, span.mw-history-histlinks-previous { padding-right: 12px; } .client-js .diffnow .mw-anonuserlink { padding-right: 0; }`); mw.loader.using(['oojs-ui.styles.icons-movement', 'oojs-ui.styles.icons-interactions']); diffs._disable = () => { $(document.body).off('.diffnow'); css.remove(); }; if (isHist) { $(document.body).on('change.diffnow', '#mw-history-compare', function () { let $buttons = $('.mw-history-compareselectedversions-button'); let diff = getDiff(getHistHref()); if (diff) { $buttons.addClass('diffnow-link-loaded'); if ($buttons.is(diff.$link) && diff.isVisible()) { diff.$link.addClass('diffnow-link-open'); } else { $buttons.removeClass('diffnow-link-open'); } } else { $buttons.removeClass('diffnow-link-loaded diffnow-link-open'); } }); } let added, tempLoaded, ipInfoLoaded; mw.hook('wikipage.content').add(async () => { await new Promise(mw.requestIdleCallback); if (!document.querySelector(selector)) return; let modules = ['mediawiki.diff', 'mediawiki.diff.styles']; let cspn = mw.config.get('wgCanonicalSpecialPageName'); let loadTemp = !tempLoaded && Number(mw.user.options.get('checkuser-temporary-account-enable')) && !['Recentchanges', 'Recentchangeslinked', 'Watchlist'].includes(cspn); if (loadTemp) { modules.push('ext.checkUser.tempAccounts', 'ext.checkUser.styles'); } if (Number(mw.user.options.get('checkuser-userinfocard-enable'))) { modules.push('ext.checkUser.userInfoCard'); } let loadIpInfo; if (Number(mw.user.options.get('ipinfo-beta-feature-enable'))) { modules.push('ext.ipInfo', 'ext.ipInfo.styles'); loadIpInfo = !ipInfoLoaded && ['Contributions', 'DeletedContributions', 'IPContributions'].includes(cspn); } let promise = mw.loader.using(modules); if (loadTemp || loadIpInfo) { tempLoaded = loadTemp; ipInfoLoaded = loadIpInfo; await promise; // https://gerrit.wikimedia.org/g/mediawiki/core/+/master/resources/src/startup/mediawiki.loader.js let makeRequire = (moduleObj, basePath) => moduleName => { let relParts = moduleName.match(/^((?:\.\.?\/)+)(.*)$/); if (!relParts) { return mw.loader.require(moduleName); } let baseDirParts = basePath.split('/'); baseDirParts.pop(); let prefixes = relParts[1].split('/'); prefixes.pop(); let prefix; while ((prefix = prefixes.pop())) { if (prefix === '..') { baseDirParts.pop(); } } let fileName = baseDirParts.join('/'); if (fileName) { fileName += '/'; } fileName += relParts[2]; if (Object.hasOwn(moduleObj.packageExports, fileName)) { return moduleObj.packageExports[fileName]; } let scriptFiles = moduleObj.script.files; if (!Object.hasOwn(scriptFiles, fileName)) { throw Error('Cannot require undefined file ' + fileName); } let result; let fileContent = scriptFiles[fileName]; if (typeof fileContent === 'function') { let moduleParam = { exports: {} }; fileContent(makeRequire(moduleObj, fileName), moduleParam, moduleParam.exports); result = moduleParam.exports; } else { result = fileContent; } moduleObj.packageExports[fileName] = result; return result; }; if (loadTemp) { try { let pack = mw.loader.moduleRegistry['ext.checkUser.tempAccounts']; makeRequire(pack, pack.script.main)('./initOnHook.js')(); } catch {} } if (loadIpInfo) { try { let pack = mw.loader.moduleRegistry['ext.ipInfo']; makeRequire(pack, pack.script.main)('./popup/init.js')(); } catch {} } } if (added || !document.getElementById('p-cactions')) return; added = true; let callback = (records, observer) => { if (records[0].target.classList.contains('diffnow-link-loaded')) { observer.takeRecords(); observer.disconnect(); clickFirst(); } }; let clickFirst = () => { let link = document.querySelector(selector); if (!link || link.matches('.diffnow-link-loaded, [href*="&diff=cur&"], .consecudiff > a')) { return; } new MutationObserver(callback).observe(link, { attributeFilter: ['class'] }); link.click(); }; mw.util.addPortletLink('p-cactions', '#', 'Expand all diffs').firstElementChild.addEventListener('click', e => { e.preventDefault(); clickFirst(); }); }); }); // window.smpg?._disable?.(); mw.loader.using('mediawiki.util', async function smoothPager() { let action = mw.config.get('wgAction'); let isHist = action === 'history'; let isPerma = action === 'view' && ['oldid', 'diff'].some(s => mw.util.getParamValue(s)); let ns = !isHist && !isPerma && mw.config.get('wgNamespaceNumber'); let isFile = ns === 6; let isCat = ns === 14; let cspn = ns === -1 && mw.config.get('wgCanonicalSpecialPageName'); if (!(isHist || isPerma || isFile || isCat || cspn)) return; let isSearch = cspn === 'Search'; let isWl = cspn === 'Watchlist'; let isRc = cspn === 'Recentchanges' || cspn === 'Recentchangeslinked'; if ((isWl || isRc) && document.body.classList.contains('mw-rcfilters-enabled')) { return; } let isContribs = cspn === 'Contributions' || cspn === 'IPContributions'; let o = { useRender: isCat || isWl || isRc, selector: isPerma ? '#bodyContent' : isFile ? '#mw-imagepage-section-filehistory' : isCat ? '.mw-category-generated' : '#mw-content-text', outerSelectors: [], linkSelector: isPerma ? '#differences-prevlink, #differences-nextlink, #mw-diff-ntitle1 > strong > a, #mw-diff-otitle1 > strong > a, #mw-revision-nav > a, .fr-diff-to-stable > a' : isCat ? '#mw-subcategories > a, #mw-pages > a, #mw-category-media > a' : isWl ? '#ca-nstab-special > a, .mw-watchlist-toollink-active > a, #p-associated-pages .selected > a' : isRc ? '#ca-nstab-special > a, .rclinks > a, .rcshowhideoption > a, .rclistfrom > a' : `#ca-nstab-special > a, .mw-pager-navigation-bar > a, .TablePager_nav > .oo-ui-widget-enabled > a, .mw-datatable th > a, .cdx-table-pager .cdx-button--fake-button--enabled, .cdx-table__table__cell--has-sort > a, .mw-prefixindex-nav > a, .mw-allpages-nav > a, .CategoryTreeParents .CategoryTreeLabel, .mw-special-Newpages form div > a, .mw-abusefilter-history-buttons a${isHist ? ', #ca-history > a' : isSearch ? ', .search-types a, .searchdidyoumean a' : ''}`, canPost: isSearch || [ 'AbuseFilter', 'ExpandTemplates', 'TemplateSandbox' ].includes(cspn), paramRe: isPerma && /^(?:diff|diffonly|direction|oldid)$/ || isSearch && /^(?:advancedSearch-current|limit|offset|profile|runsuggestion|search|sort|ns\d+)$/, reruns: [ 'mediawiki.action.history', 'mediawiki.special.search', 'ext.advancedSearch.init', 'mediawiki.special.watchlist', 'mediawiki.special.watchlistedit', 'mediawiki.pager.codex', 'mediawiki.misc-authed-curate', 'mediawiki.misc-authed-ooui', 'mediawiki.misc-authed-pref', 'mediawiki.special.unwatchedPages', 'ext.thanks.corethank', 'ext.flaggedRevs.review', 'ext.gadget.watchlist-notice-core' ], pages: [] }; if (isContribs) { o.reruns.push('ext.ipInfo'); } if (!o.useRender) { o.outerSelectors.push('#firstHeading', '.mw-indicators'); if (!isPerma && !isFile) { o.outerSelectors.push('#mw-content-subtitle'); } } o.formSelector = isHist && '#mw-history-searchform' || isSearch && '#search, #powersearch, #searchform' || cspn && `#mw-content-text form${o.canPost ? '': ':not([method="post"])'}`; if (o.formSelector) { o.formSelector += ', .cdx-table-pager__limit-form'; } window.smpg = o; let getHref = () => location.pathname + location.search; let getKey = (href, isPost) => { if (o.paramRe) { let params = new URLSearchParams(); new URL(href, location.href).searchParams.forEach((v, k) => { if (o.paramRe.test(k)) { params.set(k, v); } }); params.sort(); return String(params); } if (isPost) { return href + '??' + Date.now(); } return href; }; class Page { constructor(href, key) { this.href = href || getHref(); this.key = key || getKey(this.href); this.keys = new Set().add(this.key); o.pages.push(this); } init($response) { if ($response) { if (isWl || isRc) { this.$cont = $(document.querySelector(o.selector).cloneNode()) .removeClass('smoothpager-switching') .append($response); } else { let $cont = $response.filter(o.selector).not('script'); if (!$cont.length) { $cont = $response.find(o.selector).not('script'); if (!$cont.length) { throw 'Content not found'; } } $cont.find('script').remove(); this.$cont = $($cont[0]); } this.attached = 0; } else { if (this.$cont) return; this.$cont = $(document.querySelector(o.selector)); this.attached = 1; } this.getConfigAndModules($response); this.getOuterEls($response); this.getDocTitle($response); this.getRev($response); } getConfigAndModules($response) { if (o.useRender) return; if (!$response) { this.config = Object.assign({}, window.RLCONF); } let $scripts = $response ? $response.filter('script').remove() : $('head > script, body > script'); $scripts.map(function () { return this.textContent.match(/\bmw\.config\.set\({.+}\);/g); }).each((_, s) => { let obj; do { try { obj = JSON.parse(s.slice(14, -2)); } catch { let i = s.slice(0, -3).lastIndexOf('});'); if (i === -1) return; s = s.slice(0, i + 3); } } while (!obj); this.config = Object.assign(this.config || {}, obj); }); if (!$response) return; let match = $scripts.first().text().replaceAll('\n', '') .match(/;RLCONF=({.+});RLSTATE=({.+});RLPAGEMODULES=(\[.+\]);$/); if (match) { try { this.config = Object.assign(this.config || {}, JSON.parse(match[1])); } catch {} this.modules = []; try { this.modules.push(...Object.keys(JSON.parse(match[2]))); } catch {} try { this.modules.push(...JSON.parse(match[3])); } catch {} } this.redirect(); } setConfig() { if (!this.config) return; mw.config.set(this.config); if (!o.cur.config) return; Object.entries(o.cur.config).forEach(([k, v]) => { if (!Object.hasOwn(this.config, k) && JSON.stringify(mw.config.get(k)) === JSON.stringify(v) ) { delete mw.config.values[k]; } }); } getOuterEls($response) { this.outerEls = o.outerSelectors.map(selector => ( $response ? $response.find(selector)[0] : document.querySelector(selector) )).map(el => el && !this.$cont[0].contains(el) && el); } setOuterEls() { o.outerSelectors.forEach((selector, i) => { let outer = document.querySelector(selector); if (!outer) return; $(outer).before(this.outerEls[i] || outer.cloneNode()).detach(); }); } getDocTitle($response) { if (o.useRender) return; if ($response) { let $title = $response.filter('title'); if ($title.length) { this.docTitle = $title.text(); } } else { this.docTitle = document.title; } } setDocTitle() { if (this.docTitle) { document.title = this.docTitle; } else if (this.outerEls[0] && o.cur.outerEls?.[0]) { document.title = document.title.replace( o.cur.outerEls[0].textContent.trim(), this.outerEls[0].textContent.trim() ); } } getRev($response) { if (!isPerma) return; let params = new URLSearchParams(this.key); if (params.has('diff')) { if ($response) { let dir = params.get('diff') === 'next' ? 'prev' : 'next'; let id = this.config?.[ dir === 'prev' ? 'wgDiffNewId' : 'wgDiffOldId' ]; if (!id) { id = this.findParam( 'oldid', dir === 'prev' ? '#mw-diff-ntitle1 > strong > a, #differences-prevlink' : '#mw-diff-otitle1 > strong > a, #differences-nextlink' ); } if (id) { this.rev = dir === 'prev' ? id : params.get('oldid'); params.set('diff', dir); params.set('oldid', id); this.keys.add(String(params)); } } else { this.rev = mw.config.get('wgDiffNewId'); let pn = this.findParam( 'title', '#mw-diff-ntitle1 > strong > a, #differences-nextlink' ); if (pn === mw.config.get('wgPageName') && !this.$cont[0].querySelector('.diff[data-mw-interface] .diff-multi') ) { params.set('diff', 'prev'); params.set('oldid', this.rev); this.keys.add(String(params)); let oldId = mw.config.get('wgDiffOldId'); if (oldId) { params.set('diff', 'next'); params.set('oldid', oldId); this.keys.add(String(params)); } } } } else { if ($response) { if (params.has('direction')) { let id = this.config?.wgRevisionId; if (!id) { id = this.findParam( 'oldid', '#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink', $response ); } if (id) { this.rev = id; this.keys.add('oldid=' + id); o.cur.keys.add(`direction=${ params.get('direction') === 'next' ? 'prev' : 'next' }&oldid=${id}`); } } else { this.rev = params.get('oldid'); } } else { this.rev = mw.config.get('wgRevisionId'); if (params.has('direction')) { this.keys.add('oldid=' + this.rev); } } } } findParam(param, query, $range = this.$cont) { let search = $range.find(query).prop('search'); return search && mw.util.getParamValue(param, search); } updateLinks() { if (this.rev) { $('#ca-edit > a').attr('href', mw.util.getUrl(null, { action: 'edit', oldid: this.rev })); $('#t-permalink > a, #p-tb .menu__item--page-actions-overflow-permalink') .attr('href', mw.util.getUrl(null, { oldid: this.rev })); } $('#ca-nstab-special > a').attr('href', this.href); $('.printfooter > a').attr('href', location.href).text(location.href); $('#footer-places-mobileview > a, #mw-mf-display-toggle').attr('href', function () { let url = new URL(location.href); url.searchParams.set( 'mobileaction', mw.util.getParamValue('mobileaction', this.search) ); return '//' + this.host + url.pathname + url.search; }); $('#t-urlshortener > a').attr('href', function () { let params = new URLSearchParams(this.search); params.set('url', location.href); return this.pathname + '?' + params; }); } redirect() { if (this.config.wgAction !== mw.config.get('wgAction') || this.config.wgPageName?.replace(/\/.*/, '') !== mw.config.get('wgPageName').replace(/\/.*/, '') ) { location.href = this.href; throw 'redirect'; } } replaceContent(isPopState, isRefresh) { let oldCont = document.querySelector(o.selector); if (this.$cont.is(oldCont)) { throw 'Attempt to replace content with itself'; } if (!isPopState && !isRefresh) { this.pushState(); } $(oldCont).before(this.$cont).detach(); console.log(this.key, o); this.setOuterEls(); this.setDocTitle(); this.setConfig(); if (isSearch && this.attached) { let input = this.$cont[0].querySelector('#searchText > input'); if (input) { input.value = input.defaultValue; } } o.cur = this; this.loadModules(isPopState); this.updateLinks(); } pushState() { history.pushState({ _smpg: this.key }, '', this.href); history.replaceState({ _smpg: this.key }, '', this.href); } async loadModules(isPopState) { o.pending = true; try { await mw.loader.using(this.modules || []); } catch {} finally { o.pending = false; if (!this.attached) { this.fireHooks(); this.rerunModules(); } if (!isPopState) { this.scroll(); } this.attached++; } } fireHooks() { mw.hook('wikipage.content').fire(this.$cont); this.$cont.find('.diff[data-mw-interface]').each(function () { mw.hook('wikipage.diff').fire($(this)); }); this.$cont.find('.catlinks[data-mw-interface]').each(function () { mw.hook('wikipage.categories').fire($(this)); }); mw.hook('htmlform.enhance').fire(this.$cont); } rerunModules() { o.reruns.forEach(m => { let pack = mw.loader.moduleRegistry[m]; if (!pack || pack.state !== 'ready') return; if (typeof pack.script === 'function') { pack.script($, $, mw.loader.require, pack.module); return; } delete mw.loader.moduleRegistry[m]; mw.loader.implement( m + '@' + pack.version, pack.script, pack.style, pack.messages, pack.templates, pack.deprecationWarning ); }); if ((isHist || isContribs || isRc) && window.Twinkle) { window.Twinkle.rollback(); } } scroll() { let form = o.formSelector && this.$cont[0].querySelector(o.formSelector); if (form) { let y = form.getBoundingClientRect().bottom; if (y < 0) { window.scrollBy(0, y); } } else if (this.$cont[0].getBoundingClientRect().top < 0) { this.$cont[0].scrollIntoView(); } } } o.cur = new Page(); let getContent = async (href, state, options) => { if (o.pending) return; o.aborter?.abort(); let key = state?._smpg || getKey(href, !!options); let isRefresh = key === o.cur.key; if (state && isRefresh) return; let oldCont = document.querySelector(o.selector); if (!oldCont) { notify(href, 'No element to replace', 'error'); return; } let page = o.pages.find(p => p.keys.has(key)); if ((state || !isRefresh) && page) { page.href = href; page.replaceContent(!!state, isRefresh); return; } oldCont.classList.add('smoothpager-switching'); let $throbber = $('<div>').addClass('smoothpager-throbber') .appendTo(document.body); if (!isRefresh && o.pages.length === 1) { o.cur.init(); } o.aborter = new AbortController(); let url = href; if (o.useRender) { url = new URL(href, location.href); url.searchParams.set('action', 'render'); } let promise = fetch(url, Object.assign({ signal: o.aborter.signal }, options)); if (notif) { notif.close(); notif = null; } try { let response = await (await promise).text(); if (page) { page.href = href; } else { page = new Page(href, key); } page.init($($.parseHTML(response, !o.useRender))); page.replaceContent(!!state, isRefresh); } catch (e) { if (e.name === 'AbortError') { if (state && o.cur) { o.cur.pushState(); } } else if (e === 'redirect') { notify(href, 'Redirecting...'); } else { notify(href, e || `Couldn't load the page`, 'error'); console.error(e); } } finally { o.aborter = null; oldCont.classList.remove('smoothpager-switching'); $throbber.remove(); } }; let notif; let notify = async (href, msg, type) => { notif = await mw.notify([ document.createTextNode(msg), $('<p>').append( $('<a>').attr({ href: href, target: '_blank' }).text('Open it in a new tab') )[0] ], { autoHideSeconds: 'long', tag: 'smoothpager', type: type }); }; let onClick = function (e) { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || !this.matches(o.linkSelector) || this.origin !== location.origin ) { return; } e.preventDefault(); getContent(this.pathname + this.search); }; let onKeyDown = e => { if (e.ctrlKey || e.shiftKey || e.metaKey || e.altKey || e.target.closest(':read-write') ) { return; } switch (e.which) { case 27: o.aborter?.abort(); break; case 110: case 190: e.preventDefault(); getContent(getHref()); } }; let onPopState = e => { let state = e.originalEvent.state; if (state && !state._smpg) return; history.replaceState(state, '', location.href); getContent(getHref(), state || {}); }; let onSubmit = e => { if (e.originalEvent && ( e.originalEvent.defaultPrevented || !e.originalEvent.isTrusted ) || !o.canPost && e.target.method !== 'get' || !e.target.matches(o.formSelector) ) { return; } let path = e.target.getAttribute('action'); let isScript = path === mw.config.get('wgScript'); let comps = [mw.config.get('wgPageName')]; if (mw.config.get('wgNamespaceNumber') === -1 && comps[0].includes('/')) { comps.push(comps[0].replace(/\/.*/, '')); } comps.push((comps[1] || comps[0]) + '/'); if (!isScript && !comps.some(c => mw.util.getUrl(c) === path)) return; let formData = new FormData(e.target); if (isScript && !comps.includes(formData.get('title').replaceAll(' ', '_'))) { return; } e.preventDefault(); e.stopPropagation(); if (isSearch && e.target.id !== 'searchform') { formData.set('search', OO.ui.infuse($('#searchText')).getValue()); } else if (e.target.method === 'post') { let submitter = e.originalEvent?.submitter; if (submitter?.name) { formData.append(submitter.name, submitter.value); } getContent(path, null, { method: 'POST', headers: { 'Content-Type': e.target.enctype }, body: e.target.enctype === 'multipart/form-data' ? formData : new URLSearchParams(formData) }); return; } getContent(path + '?' + new URLSearchParams(formData)); }; let setPortlet = text => { if (!o.portletLink) return; $(o.portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = text; return false; } }); }; o._enable = () => { o.enabled = true; let $body = $(document.body).on('click', 'a', onClick); if (o.formSelector) { $body.on('submit', onSubmit); } $body.parent().on('keydown', onKeyDown); $(window).on('popstate', onPopState); if (o.css) { o.css.disabled = false; } if (isPerma) { mw.trackSubscribe('counter.MediaWiki.RevisionSlider.event.init', o._disable); } setPortlet('Disable SmoothPager'); }; o._disable = () => { o.enabled = false; $(document.body).off('click', onClick).off('submit', onSubmit) .parent().off('keydown', onKeyDown); $(window).off('popstate', onPopState); o.css.disabled = true; mw.trackUnsubscribe(o._disable); setPortlet('Enable SmoothPager'); }; o._enable(); o.css = mw.loader.addStyleTag(`${o.linkSelector}, .cdx-table__table__sort-button { color: #008064 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):visited { color: #006400 !important; } :is(${o.linkSelector}, .cdx-table__table__sort-button):active { color: #faa700 !important; } .cdx-table-pager .cdx-button--fake-button--enabled > .cdx-button__icon { background-color: #14866d; } .smoothpager-switching { opacity: 0.75; } .smoothpager-throbber { width: 20%; height: 0.5vh; position: fixed; top: 0; left: 0; background-color: var(--background-color-progressive, #36c); transform: translate(-100%); animation: smoothpager-throbber 1s infinite linear; } @keyframes smoothpager-throbber { to { transform: translate(700%); } } @media (prefers-reduced-motion: reduce) { .smoothpager-throbber { animation: smoothpager-throbber 1s infinite steps(10,end) !important; width: 40%; } }${o.formSelector ? ` :is(${o.formSelector}) input[type="submit"], :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button { color: var(--color-inverted, #fff); background-color: #14866d; border-color: #14866d; } :is(${o.formSelector}) input[type="submit"]:hover, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:hover { background-color: #00af89; border-color: #00af89; } :is(${o.formSelector}) input[type="submit"]:focus, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { border-color: #14866d; } :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:focus { box-shadow: inset 0 0 0 1px #14866d, inset 0 0 0 2px #fff; } :is(${o.formSelector}) input[type="submit"]:active, :is(${o.formSelector}) .oo-ui-buttonElement-framed.oo-ui-widget-enabled.oo-ui-flaggedElement-primary.oo-ui-flaggedElement-progressive > .oo-ui-buttonElement-button:active { background-color: #0e725a; border-color: #0e725a; box-shadow: none; }` : ''}`); await $.ready; if (!document.getElementById('p-cactions')) return; o.portletLink = mw.util.addPortletLink('p-cactions', '#', 'Disable SmoothPager').firstElementChild; o.portletLink.addEventListener('click', e => { e.preventDefault(); o[o.enabled ? '_disable' : '_enable'](); }); }); window.smartdiffTemplates = [ { names: ['T', 'Tl'], namespace: 10, forceNs: true, end: 1 }, { names: ['Tlx'], namespace: 10, end: 1 }, { names: ['U'], prefix: 'Special:Contributions/', end: 1 }, { names: ['Re', 'Reply to', 'Ping'], prefix: 'Special:Contributions/' }, { names: ['About'], start: 3, skipEven: true }, { names: ['For'], start: 2 }, { names: ['Other uses', 'Otheruses'], end: 1 }, { names: ['Section link', 'Slink'], end: 1 }, { names: ['Redirect'], skipEven: true, noRedirectEnd: 1 }, { names: ['Shortcut'], noRedirectStart: 1 }, { names: ['Tracked', 'Phab'], prefix: 'phab:', end: 1 }, { names: [ 'Distinguish', 'Main', 'Main article', 'Further', 'See also', 'Seealso' ] }, { names: ['Ll'], end: 1 } ]; mw.loader.using([ 'mediawiki.util', 'mediawiki.Title', 'mediawiki.api' ], function smartDiff() { mw.loader.addStyleTag('.smartdiff-link.extiw, .smartdiff-link.external{color:var(--color-progressive,#36c)} .smartdiff-link.extiw:visited, .smartdiff-link.external:visited{color:#795cb2} .smartdiff-link.extiw:active, .smartdiff-link.external:active{color:#faa700}'); class SmartDiff { constructor($diff) { this.$diff = $diff; this.isSpecial = mw.config.get('wgNamespaceNumber') === -1; this.isView = mw.config.get('wgAction') === 'view' && new URLSearchParams(location.search).get('diffonly') !== '1'; this.magicWords = [ '!', 'BASEPAGENAME', 'BASEPAGENAME:', 'BASEPAGENAMEE', 'BASEPAGENAMEE:', 'canonicalurl:', 'CURRENTDAY', 'CURRENTDAY2', 'CURRENTDAYNAME', 'CURRENTDOW', 'CURRENTHOUR', 'CURRENTMONTH', 'CURRENTMONTH1', 'CURRENTMONTHABBREV', 'CURRENTMONTHNAME', 'CURRENTMONTHNAMEGEN', 'CURRENTTIME', 'CURRENTTIMESTAMP', 'CURRENTVERSION', 'CURRENTWEEK', 'CURRENTYEAR', 'DEFAULTCATEGORYSORT:', 'DEFAULTSORT:', 'DEFAULTSORTKEY:', 'DISPLAYTITLE:', 'filepath:', 'formatnum:', 'FULLPAGENAME', 'FULLPAGENAME:', 'FULLPAGENAMEE', 'FULLPAGENAMEE:', 'fullurl:', 'gender:', 'int:', 'lc:', 'lcfirst:', 'LOCALDAY', 'LOCALDAY2', 'LOCALDAYNAME', 'LOCALDOW', 'LOCALHOUR', 'LOCALMONTH', 'LOCALMONTH1', 'LOCALMONTHABBREV', 'LOCALMONTHNAME', 'LOCALMONTHNAMEGEN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCALWEEK', 'LOCALYEAR', 'msg:', 'msgnw:', 'NAMESPACE', 'NAMESPACE:', 'NAMESPACEE', 'NAMESPACEE:', 'NAMESPACENUMBER', 'NAMESPACENUMBER:', 'ns:', 'NUMBEROFACTIVEUSERS', 'NUMBEROFARTICLES', 'NUMBEROFEDITS', 'NUMBEROFFILES', 'NUMBEROFPAGES', 'NUMBEROFUSERS', 'padleft:', 'PAGENAME', 'PAGENAMEE', 'PAGESINCAT:', 'PAGESINCATEGORY:', 'plural:', 'REVISIONDAY', 'REVISIONDAY:', 'REVISIONDAY2', 'REVISIONDAY2:', 'REVISIONID', 'REVISIONID:', 'REVISIONMONTH', 'REVISIONMONTH:', 'REVISIONMONTH1', 'REVISIONMONTH1:', 'REVISIONSIZE', 'REVISIONTIMESTAMP', 'REVISIONTIMESTAMP:', 'REVISIONUSER', 'REVISIONUSER:', 'REVISIONYEAR', 'REVISIONYEAR:', 'ROOTPAGENAME', 'ROOTPAGENAME:', 'ROOTPAGENAMEE', 'ROOTPAGENAMEE:', 'SHORTDESC:', 'SUBJECTPAGENAME', 'SUBJECTPAGENAME:', 'SUBJECTPAGENAMEE', 'SUBJECTPAGENAMEE:', 'SUBJECTSPACE', 'SUBJECTSPACE:', 'SUBJECTSPACEE', 'SUBJECTSPACEE:', 'SUBPAGENAME', 'SUBPAGENAME:', 'SUBPAGENAMEE', 'SUBPAGENAMEE:', 'TALKPAGENAME', 'TALKPAGENAME:', 'TALKPAGENAMEE', 'TALKPAGENAMEE:', 'TALKSPACE', 'TALKSPACE:', 'TALKSPACEE', 'TALKSPACEE:', 'uc:', 'ucfirst:', 'urlencode:' ]; if (window.smartdiffMagicWords) { this.magicWords.push(...window.smartdiffMagicWords); } try { this.subNs = mw.config.get('wgVisualEditorConfig').namespacesWithSubpages; } catch (e) {} if (!this.subNs) { this.subNs = Object.keys(mw.config.get('wgFormattedNamespaces')) .map(k => Number(k)).filter(ns => ![0, 6, 8].includes(ns)); } this.re = /((?:\[(?:<[^>]*>)?\[|(?<!{(?:<[^>]*>)?){(?:<[^>]*>)?{(?:<[^>]*>)?(?:(?:#(?:<[^>]*>)?invoke|(?:safe)?subst|msg(?:nw)?|raw|int)(?:<[^>]*>)?:)?)(?:\s*(?:<[^>]*>)?&lt;(?:<[^>]*>)?tvar(?:<[^>]*>)?\s(?!&gt;).*?&gt;)?\s*)((?:(?!&[gl]t;)[^\[\]{|}])+?)(?=\s*(?:(?:<[^>]*>)?&lt;(?:<[^>]*>)?\/(?:<[^>]*>)?tvar(?:<[^>]*>)?&gt;(?:<[^>]*>)?\s*)?(?:\||\](?:<[^>]*>)?\]|}(?:<[^>]*>)?}|$))/g; this.headRe = /^((?:(?:<[^>]*>)*=){1,6}(?:<[^>]*>)?\s*)((?:(?!&[gl]t;).)+?)(?=\s*(?:(?:<[^>]*>)?=){1,6}(?:<[^>]*>|\s)*(?:&lt;|$))/g; // https://commons.wikimedia.org/wiki/Special:MediaStatistics this.galleryRe = /^(\s*)((?:(?!&[gl]t;)[^\[\]{|}])+\.(?:<[^>]*>)?(?:apng|djv|djvu|flac|gif|jpe|jpeg|jpg|jps|kar|m4a|m4b|m4p|m4r|m4v|mid|midi|mp2|mp3|mp4|mpa|mpe|mpeg|mpg|mpga|oga|ogg|ogm|ogv|ogx|opus|pdf|png|spx|stl|svg|tif|tiff|wav|webm|webp|xcf))(?=\s*(?:(?:<[^>]*>)?(?:<[^>]*>)?\s*)?(?:\||$))/gi; this.urlRe = /(\[(?:<[^>]*>)?(?=.+\]))?((\bhttps?(?:<[^>]*>)?:)?(?:<[^>]*>)?\/(?:<[^>]*>)?\/(?:<[^>]*>|(?!&[gl]t;)[^\s"<>\[\]{|}])+)/g; if (window.smartdiffTemplates) { this.tempRe = /( data-smartdiff-temp="(\d+)">[^{|}]+)(\|(?:(?!&[gl]t;)[^\[\]{}]|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?})+)(?=}(?:<[^>]*>)?}|$)/g; this.tempSubRe = /((?:\s|{(?:<[^>]*>)?{(?:<[^>]*>)?!(?:<[^>]*>)?}(?:<[^>]*>)?}[^<>|]*|<[^>]*>)*(?:\|(?:\s|(?:<[^>]*>)|\d+(?:\s|<[^>]*>)*=|[^\d<=>|](?:[^<=>|]|<[^>]*>)*=(?:[^<=>|]|<[^>]*>)*\|?)*|$))/; this.templates = window.smartdiffTemplates; } this.side = 'old'; $diff.find('.diff-deletedline > div').get().forEach(this.processDiv); this.side = 'new'; $diff.find('.diff-addedline > div').get().forEach(this.processDiv); let $contexts = $diff.find('.diff-context > div'); $contexts.each((i, div) => { if (i % 2) { this.side = 'new'; if (this.propUsed && this.getProp() !== this.getProp('pn', 'old')) { this.processDiv(div); } else { $contexts.eq(i).replaceWith($contexts.eq(i - 1).clone()); } } else { this.side = 'old'; this.propUsed = false; this.processDiv(div); } }); this.links = {}; $diff.find('.smartdiff-link:not(.external)').each((i, link) => { let title = link.title; if (!title) return; if (!this.links.hasOwnProperty(title)) { this.links[title] = []; } this.links[title].push(link); }); this.query(Object.keys(this.links).slice(0, 500)); if (this.hasError) { mw.notify('SmartDiff error', { type: 'warn' }); } } processDiv = div => { if (div.querySelector('a[href]')) return; let origHtml = div.innerHTML; let newHtml = origHtml.replace(this.urlRe, this.urlRep) .replace(this.galleryRe, this.galleryRep) .replace(this.re, this.rep).replace(this.headRe, this.headRep); if (this.tempRe) { newHtml = newHtml.replace(this.tempRe, this.tempRep); } if (newHtml === origHtml) return; newHtml = newHtml.replace(/<(ins|del)(?: [^>]+)?><\/\1>/g, ''); let $newDiv = $('<div>').html(newHtml); if (this.detectErrors($newDiv, newHtml, origHtml, div)) return; div.textContent = ''; $newDiv.contents().appendTo(div); }; rep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s), isTemp; if (t) { if ($1.includes('invoke')) { t = mw.Title.makeTitle(828, s); } else if (s[0] === '/') { if (this.subNs.includes(this.getProp('ns'))) { t = mw.Title.newFromText( this.getProp() + s.replace(/\/+$/, '') ); } else if ($1[0] === '{') { t.namespace = 10; } } else if ($1[0] === '{') { if (s[0] === '#') { return $0; } if ($1.includes('int')) { t = mw.Title.makeTitle(8, s); } else if (!t.namespace && s[0] !== ':') { if (!$1.includes('msg') && !$1.includes('raw')) { let match = s.match(/^[^:]+(?::(?=.)|$)/); if (match && this.magicWords.includes(match[0])) { return $0; } } t.namespace = 10; isTemp = true; } } else if ((this.isSpecial || !this.isView) && s[0] === '#') { t.title = this.getProp(); } } else if (s.startsWith('../') && this.subNs.includes(this.getProp('ns'))) { let chunks = s.split('/'); let levelCount = chunks.findIndex(v => v !== '..'); let sup = this.getProp().split('/').slice(0, -levelCount).join('/'); if (sup) { let sub = chunks.slice(levelCount).join('/').replace(/\/+$/, ''); t = mw.Title.newFromText(sub ? sup + '/' + sub : sup); } } if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView || s[0] !== '#') { attrs.title = t.toText(); } if (isTemp && this.tempRe) { let name = t.getMainText(); let idx = this.templates.findIndex(temp => temp.names.includes(name)); if (idx !== -1) { attrs['data-smartdiff-temp'] = idx; } } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; stripTags(s, decode, pre = '', post = '') { let mid = s, tags = s.match(/<\/?(?:ins|del)(?: [^>]+)?>/g); s = $($.parseHTML(s.replace(/&amp;/g, '&'))).text(); if (decode) { try { s = decodeURIComponent(s); } catch (e) {} } if (tags) { if (tags[0][1] === '/') { pre += tags[0]; mid = `<${tags[0].slice(2, 5)} class="diffchange diffchange-inline">` + mid; } let lastTag = tags.pop(); if (lastTag[1] !== '/') { mid += `</${lastTag.slice(1, 4)}>`; post = lastTag + post; } } return [s, pre, mid, post]; } headRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); s = s.replace(/'''(.+?)'''|<\/?(?:abbr|b|bdi|bdo|big|cite|code|data|del|dfn|em|font|i|ins|kbd|mark|nowiki|q|rb|ref|rp|rt|rtc|ruby|s|samp|small|span|strike|strong|sub|sup|templatestyles|time|translate|tt|u|var)(?:\s[^>]*)?>/gi, '$1') .replace(/''(.+?)''/g, '$1') .replace(/^_+|_+$/g, ''); let t = mw.Title.newFromText( `${this.isSpecial || !this.isView ? this.getProp() : ''}#${s}` ); if (!t) { return $0; } let attrs = { class: 'smartdiff-link', href: t.getUrl() }; if (this.isSpecial || !this.isView) { attrs.title = t.toText(); } return pre + $('<a>').attr(attrs).html(mid)[0].outerHTML + post; }; galleryRep = ($0, $1, $2) => { if ($0.includes('<a class="smartdiff-link')) { return $0; } let [s, pre, mid, post] = this.stripTags($2, true, $1); let t = mw.Title.newFromText(s, 6); if (t && t.namespace !== 6) { t = mw.Title.makeTitle(6, s); } if (!t) { return $0; } return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(), title: t.toText() }).html(mid)[0].outerHTML + post; }; urlRep = ($0, $1, $2, $3) => { let main = $2, trail; if (!$1) { if (!$3) { return $0; } let re = main.includes('(') ? /[!,.:;?](?:<[^>]*>)?$/ : /[!),.:;?](?:<[^>]*>)?$/; let match = main.match(re); if (match && !/&amp(?:;(?:<[^>]*>)?(?:[a-z]+|(?:#(?:<[^>]*>)?(?:x[\da-f]|\d+)))(?:<[^>]*>)?)?;$/i.test(main) ) { trail = match[0]; main = main.slice(0, -trail.length); } } let [url, pre, mid, post] = this.stripTags(main); if ($1) { pre = $1 + pre; } else if (trail) { post += trail; } return pre + $('<a>').attr({ class: 'smartdiff-link external', href: url, rel: 'nofollow' }).html(mid)[0].outerHTML + post; }; tempRep = ($0, $1, $2, $3) => { if ($3.includes('<a class="smartdiff-link')) { return $0; } let temp = this.templates[$2]; return $1 + $3.split(this.tempSubRe).map((os, i) => { if (!os || i % 2) { return os; } let j = i / 2; if (j < temp.start || j > temp.end || temp.skipOdd && j % 2 || temp.skipEven && j % 2 === 0 ) { return os; } let [s, pre, mid, post] = this.stripTags(os, true); if (temp.prefix) { s = temp.prefix + s; } if (temp.suffix) { s += temp.suffix; } let t = temp.forceNs ? mw.Title.makeTitle(temp.namespace, s) : mw.Title.newFromText(s, temp.namespace); if (!t) { return os; } let params = (j >= temp.noRedirectStart || j <= temp.noRedirectEnd) && { redirect: 'no' }; return pre + $('<a>').attr({ class: 'smartdiff-link', href: t.getUrl(params), title: t.toText() }).html(mid)[0].outerHTML + post; }).join(''); }; getProp(n = 'pn', side = this.side) { this.propUsed = true; if (this[side]) { if (this[side][n]) { return this[side][n]; } } else { this[side] = {}; let link = this.$diff[0].querySelector( side === 'old' ? '#mw-diff-otitle1 a, #differences-prevlink' : '#mw-diff-ntitle1 a, #differences-nextlink' ); if (link) { let pn = mw.util.getParamValue('title', link.search); this[side].pn = pn; this[side].ns = mw.Title.newFromText(pn).namespace; return this[side][n]; } } if (this[n]) { return this[n]; } if (this.isSpecial) { this.pn = ''; this.ns = 0; } else { this.pn = mw.config.get('wgPageName'); this.ns = mw.config.get('wgNamespaceNumber'); } return this[n]; } query(titles) { if (!titles.length) return; new mw.Api().post({ action: 'query', titles: titles.slice(0, 50), iwurl: 1, prop: 'info', inprop: 'linkclasses', inlinkcontext: this.getProp(), formatversion: 2 }, { headers: { 'Promise-Non-Write-API-Action': 1 } }).then(response => { let query = response && response.query; if (!query) return; let data = {}; (query.pages || []).forEach(page => { let obj = { classes: page.linkclasses || [] }; if (page.missing && !page.known) { obj.classes.push('new'); obj.params = { action: 'edit', redlink: 1 }; } data[page.title] = obj; }); (query.interwiki || []).forEach(interwiki => { data[interwiki.title] = { classes: ['extiw'], url: interwiki.url }; }); (query.normalized || []).forEach(entry => { if (!data.hasOwnProperty(entry.to)) return; let obj = data[entry.to]; obj.canonical = entry.to; if (!obj.url) { obj.url = mw.util.getUrl(entry.to, obj.params); } data[entry.from] = obj; }); Object.entries(data).forEach(([title, obj]) => { if (!this.links.hasOwnProperty(title)) return; let $links = $(this.links[title]).addClass(obj.classes) .attr('title', obj.canonical); if (obj.url) { $links.attr('href', function () { return obj.url + this.hash; }); } }); this.query(titles.slice(50)); }); } detectErrors($newDiv, newHtml, origHtml, div) { let comp = $newDiv.html(); if (comp !== newHtml) { console.warn( 'SmartDiff syntax error at:\n', div, `\nNew HTML:\n${newHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } let $comp = $newDiv.clone(); $comp.find('.smartdiff-link').contents().unwrap(); comp = $comp.html().replace(/<\/(ins|del)><\1(?: [^>]+)?>/g, ''); if (comp !== origHtml) { console.warn( 'SmartDiff mutation error at:\n', div, `\nOriginal HTML:\n${origHtml}\nCompared against:\n${comp}` ); this.hasError = true; return true; } } } mw.hook('wikipage.diff').add($diff => { new SmartDiff($diff); }); }); mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/CopySectLink.js&action=raw&ctype=text/javascript', 's'); mw.loader.using([ 'ext.visualEditor.desktopArticleTarget.init', 'mediawiki.storage' ], function ipaInput() { if (!mw.libs.ve.isVisualAvailable && !['edit', 'submit'].includes(mw.config.get('wgAction')) ) { return; } mw.loader.addStyleTag(`.oo-ui-icon-schwa{background-image:url("data:image/svg+xml,%3Csvg width='20' height='20' version='1.1' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 3v14h4v-2h-2v-10h2v-2zm16 0v2h2v10h-2v2h4v-14zm-6 2c-2.41 0-4.43 1.73-4.9 4h2.08c0.41-1.17 1.5-2 2.82-2 1.67 0 3 1.33 3 3h-8c0 2.75 2.25 5 5 5 2.75 0 5-2.25 5-5 0-2.75-2.25-5-5-5zm-2.59 6.5h5.18c-0.516 0.895-1.47 1.5-2.59 1.5-1.12 0-2.07-0.605-2.59-1.5z'/%3E%3C/svg%3E")}`); let clicked; let openDialog = () => { if (clicked) { if (window.ipaInputDialog) { window.ipaInputDialog.open(); } return; } clicked = true; mw.loader.load('//test.wikipedia.org/w/index.php?title=User:Nardog/sandbox4.js&action=raw&ctype=text/javascript'); mw.loader.using([ 'jquery.textSelection', 'oojs-ui-windows', 'oojs-ui-widgets', 'oojs-ui.styles.icons-interactions', 'oojs-ui.styles.icons-editing-core', 'oojs-ui.styles.icons-editing-advanced' ]); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { ipainput: { label: 'IPAInput', type: 'button', oouiIcon: 'schwa', action: { type: 'callback', execute: openDialog } } } }); }); mw.hook('ve.loadModules').add(addPlugin => { addPlugin(() => { ve.ui.IpaInputCommand = function VeUiIpaInputCommand() { ve.ui.IpaInputCommand.super.call(this, 'ipaInput'); }; OO.inheritClass(ve.ui.IpaInputCommand, ve.ui.Command); ve.ui.IpaInputCommand.prototype.execute = () => { openDialog(); return true; }; ve.ui.commandRegistry.register(new ve.ui.IpaInputCommand()); ve.ui.IpaInputTool = function VeUiIpaInputTool() { ve.ui.IpaInputTool.super.apply(this, arguments); }; OO.inheritClass(ve.ui.IpaInputTool, ve.ui.Tool); ve.ui.IpaInputTool.static.name = 'ipaInput'; ve.ui.IpaInputTool.static.group = 'insert'; ve.ui.IpaInputTool.static.icon = 'schwa'; ve.ui.IpaInputTool.static.title = 'IPA'; ve.ui.IpaInputTool.static.commandName = 'ipaInput'; ve.ui.toolFactory.register(ve.ui.IpaInputTool); }); }); mw.requestIdleCallback(() => { let expiry = mw.storage.get('_EXPIRY_ipainput-cache'); if (!expiry) return; $.get( '//en.wikipedia.org/api/rest_v1/page/title/Module%3AIPA%2Fdata' ).then(response => { if (Date.parse(response.items[0].timestamp) / 1000 > expiry - 604800) { mw.storage.remove('ipainput-cache'); } }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && (function wiktIpa() { mw.loader.addStyleTag(`.oo-ui-icon-wiktionary{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Cpath d='M14.95 1c-.15 0-.3 0-.45.03L2.9 2.9a2.26 2.26 0 0 0-1.87 2.6L2.9 17.1a2.26 2.26 0 0 0 2.6 1.86l11.6-1.88a2.26 2.26 0 0 0 1.86-2.6L17.1 2.9A2.27 2.27 0 0 0 14.95 1zm-.03.9c.63.03 1.17.49 1.28 1.14l1.88 11.6c.12.75-.37 1.43-1.12 1.56l-11.6 1.88a1.34 1.34 0 0 1-1.56-1.12L1.92 5.36A1.34 1.34 0 0 1 3.04 3.8l11.6-1.88.28-.02zm.7 2.61-2.83.46.07.39c.6-.09.95-.14 1.08.36.1.6-.91 6.53-.91 6.53s-2.87-5.16-2.98-5.87c-.02-.34.02-.64.86-.7l-.06-.4-3.64.6.07.38c.5-.15 1.01.02 1.43.82l.7 1.33-.72 4.54s-2.93-5.3-3.03-5.9c-.07-.5.45-.64.8-.66l-.06-.38-3.46.56.06.39c.24-.1.84-.07 1.07.32.07.09 4.54 8.44 4.54 8.44l.33-.05 1.02-6.24 2.98 5.59.36-.06s1.42-9.14 1.48-9.3c.05-.26.28-.71.9-.76l-.07-.39z'/%3E%3C/svg%3E")}`); let clicked, dialog, input, $result; let openDialog = async context => { if (clicked) { if (dialog) { let selection = context.$textarea.textSelection('getSelection'); if (selection) { input.setValue(selection); } if ($result) { $result.prev().addBack().remove(); $result = null; } dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); } return; } clicked = true; await mw.loader.using([ 'oojs-ui-windows', 'oojs-ui-widgets', 'mediawiki.ForeignApi', 'mediawiki.util' ]); let response = await new mw.ForeignApi('//en.wiktionary.org/w/api.php').get({ action: 'query', generator: 'search', gsrsearch: 'deepcat:Pronunciation_templates_by_language', gsrnamespace: 10, gsrlimit: 'max', gsrsort: 'none', formatversion: 2 }); let winMan = new OO.ui.WindowManager(); dialog = new OO.ui.MessageDialog(); winMan.addWindows([dialog]); let items = response.query.pages .map(p => p.title.slice(9)) .sort(Intl.Collator('en-u-kn-true').compare) .map(s => new OO.ui.MenuOptionWidget({ label: s })); let dropdown = new OO.ui.DropdownWidget({ $overlay: dialog.$overlay, menu: { items } }); let $doc = $('<p>'); dropdown.getMenu().on('choose', mw.util.debounce(async item => { let title = 'Template:' + item.getLabel(); let $link = $('<a>').attr({ href: '//en.wiktionary.org/wiki/' + title, target: '_blank', title: title }).text('documentation'); $doc.empty().append('Loading ', $link, '...'); try { let data = await $.get( '//en.wiktionary.org/api/rest_v1/page/html/' + encodeURIComponent(title + '/documentation') ); let text = $($.parseHTML(data)).find('p').first().text() .replace(/\. .*/, '.'); $doc.text(text + ' (').append($link.text('read more'), ')'); dialog.updateSize(); } catch { $doc.empty().append('Failed to load ', $link); } }, 100)).selectItem(items[0]); input = new OO.ui.TextInputWidget({ autocomplete: false, value: context.$textarea.textSelection('getSelection') || mw.config.get('wgTitle') }); let button = new OO.ui.ButtonWidget({ disabled: !input.getValue(), label: 'Get', flags: ['primary', 'progressive'] }).on('click', async () => { button.setDisabled(true); let template = dropdown.getMenu().findSelectedItem().getLabel(); let text = input.getValue(); try { let data = await $.post('//en.wiktionary.org/api/rest_v1/transform/wikitext/to/html', { wikitext: `{{${template}|1=${text}}}`, body_only: true }); if ($result) { $result.children().remove(); } else { $result = $('<div>').text('Result:') .insertAfter(fieldset.$element) .before('<hr>'); } $result.append($.parseHTML(data)) .find('.mw-collapsible').makeCollapsible().end() .find('[id], [about]').removeAttr('id about').end() .find('a').attr('target', '_blank') .filter('[href^="./"]').attr('href', (_, href) => ( '//en.wiktionary.org/wiki' + href.slice(1) )); dialog.updateSize(); } catch {} finally { button.setDisabled(); } }); input.on('change', value => { button.setDisabled(!value); }).connect(button, { enter: ['emit', 'click'] }); let fieldset = new OO.ui.FieldsetLayout({ items: [ new OO.ui.FieldLayout(dropdown, { label: 'Template:', align: 'top' }), new OO.ui.FieldLayout(input, { label: 'Input:', align: 'top' }), new OO.ui.FieldLayout(button) ] }); dropdown.$element.after($doc); dialog.text.$element.append(fieldset.$element/*.on('keydown', e => { e.stopPropagation(); })*/); winMan.$element.appendTo(OO.ui.getTeleportTarget()); dialog.open({ actions: [{ label: 'Close', flags: ['safe', 'close'] }] }); }; mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.wikiEditor('addToToolbar', { section: 'main', group: 'insert', tools: { wiktipa: { label: 'WiktIPA', type: 'button', oouiIcon: 'wiktionary', action: { type: 'callback', execute: openDialog } } } }); }); }()); window.scripttesterSkipWarning = true; mw.loader.using(['mediawiki.util', 'mediawiki.storage'], async function scriptTester() { let get = () => new Set(mw.storage.getObject('scripttester')); if (mw.storage.get('scripttester')) { let unloading; window.addEventListener('beforeunload', () => { unloading = true; }); get().forEach(async s => { let isCss = /\.css$/i.test(s); let url = /^(https?:)?\/\/./.test(s) ? s : mw.util.getUrl(s, { action: 'raw', ctype: isCss ? 'text/css' : 'text/javascript' }); if (isCss) { mw.loader.load(url, 'text/css'); return; } try { await mw.loader.getScript(url); } catch (e) { if (unloading) { console.warn(e); return; } mw.notify('Failed to load temporarily installed ' + s, { type: 'error' }); } }); } else if (!window.scripttesterSkipWarning) { await mw.loader.using('oojs-ui-windows'); if (await OO.ui.confirm( 'You take full responsibility for any consequences arising from using ScriptTester.' )) { mw.storage.setObject('scripttester', []); } } await $.ready; if (!document.getElementById('p-tb')) return; let css = mw.loader.addStyleTag('.scripttester-dialog .oo-ui-checkboxMultiselectWidget{margin:0.5em 0;word-break:break-all} .scripttester-dialog .oo-ui-flaggedElement-destructive{float:right}'); let linksShown = mw.config.get('wgNamespaceNumber') > 0 && mw.config.get('wgAction') === 'view'; let updateLinks = (s, unins) => { if (!linksShown) return; $(`.scripttester-link[data-scripttester="${s}"]`) .toggleClass('scripttester-installed', !unins); }; let dialog, multiselect, addButton, removeButton, clearButton; let openDialog = () => { if (!dialog) { dialog = new OO.ui.MessageDialog({ classes: ['scripttester-dialog'] }); let winMan = new OO.ui.WindowManager(); winMan.addWindows([dialog]); multiselect = new OO.ui.CheckboxMultiselectWidget().on('select', () => { removeButton.setDisabled(!multiselect.findSelectedItems().length); }); addButton = new OO.ui.ButtonWidget({ label: 'Add' }).on('click', async () => { dialog.toggle(false); let s = (await OO.ui.prompt('Add a script', { textInput: { placeholder: 'Script page name or URL' } })).trim(); if (!s) return; if (!/^(https?:)?\/\/./.test(s) && !mw.Title.newFromText(s)) { await OO.ui.alert(`"${s}" does not appear to be a valid page name or URL.`); dialog.toggle(true); updateDialog(); return; } mw.storage.setObject('scripttester', [...get().add(s)]); updateLinks(s); }); removeButton = new OO.ui.ButtonWidget({ label: 'Remove' }).on('click', () => { let set = get(); multiselect.findSelectedItems().forEach(item => { let s = item.getLabel(); set.delete(s); updateLinks(s, true); }); mw.storage.setObject('scripttester', [...set]); updateDialog(); }); clearButton = new OO.ui.ButtonWidget({ label: 'Clear', flags: 'destructive' }).on('click', async () => { dialog.toggle(false); if (!(await OO.ui.confirm('Uninstall all scripts?'))) { dialog.toggle(true); return; } mw.storage.setObject('scripttester', []); if (linksShown) { $('.scripttester-installed').removeClass('scripttester-installed'); } dialog.toggle(true); updateDialog(); }); dialog.text.$element.append( multiselect.$element, new OO.ui.ButtonGroupWidget({ items: [addButton, removeButton] }).$element, clearButton.$element ); winMan.$element.appendTo(OO.ui.getTeleportTarget()); } updateDialog(); dialog.open({ message: 'Temporarily installed scripts:', actions: [{ label: 'Done', flags: ['safe', 'close'] }] }); }; let updateDialog = () => { let set = get(); multiselect.clearItems().addItems( [...set].map(s => new OO.ui.CheckboxMultioptionWidget({ label: s })) ); removeButton.setDisabled(true); clearButton.toggle(set.size); dialog.updateSize(); updatePortlet(set.size); }; let updatePortlet = count => { $(portletLink).find('*').addBack().contents().each(function () { if (this.nodeType === 3 && this.textContent.trim()) { this.textContent = `Temporarily installed scripts (${count})`; return false; } }); }; let portletLink = mw.util.addPortletLink('p-tb', '#', `Temporarily installed scripts (${get().size})`) .firstElementChild; portletLink.addEventListener('click', e => { e.preventDefault(); mw.loader.using(['oojs-ui-windows', 'mediawiki.Title'], openDialog); }); window.addEventListener('storage', e => { if (e.key === 'scripttester') { updatePortlet(get().size); } }); if (!linksShown) return; css.textContent += ' .scripttester{font-size:85%;user-select:none} .scripttester::before{content:" "} .scripttester-link::after{content:"[+]"} .scripttester-installed::after{content:"[−]"} #firstHeading > .scripttester{font-size:47%}'; let linkHandler = function () { let s = this.dataset.scripttester; let unins = this.classList.contains('scripttester-installed'); let set = get(); set[unins ? 'delete' : 'add'](s); let success = mw.storage.setObject('scripttester', [...set]); if (success) { mw.notify((unins ? 'Uninstalled ' : 'Installed ') + s, { tag: 'scripttester' }); updateLinks(s, unins); updatePortlet(set.size); } else { mw.notify(`Couldn't ${unins ? 'un' : ''}install ${s}`, { tag: 'scripttester', type: 'error' }); } }; if ([2, 4, 8].includes(mw.config.get('wgNamespaceNumber')) && ['javascript', 'css'].includes(mw.config.get('wgPageContentModel')) ) { let s = mw.config.get('wgPageName').replaceAll('_', ' '); $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (get().has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ).appendTo(document.getElementById('firstHeading')); return; } mw.hook('wikipage.content').add($content => { let set = get(); let ns = mw.config.get('wgFormattedNamespaces'); let re = new RegExp(`^(${ns[2]}|${ns[4]}|${ns[8]}):.+\\.([Cc][Ss]|[Jj])[Ss]$`); $content.find('a:not(.external, .new)').after(function () { let s = this.title; if (!s || !re.test(s)) return; return $('<span>').addClass('scripttester').append( $('<a>').attr({ class: 'scripttester-link' + (set.has(s) ? ' scripttester-installed' : ''), tabindex: 0, role: 'button', 'data-scripttester': s }).text('\u200e').on('click', linkHandler) ); }); }); }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.hook('wikiEditor.toolbarReady').add($textarea => { $textarea.on('keydown', async e => { if (e.which !== 72 || e.shiftKey || e.altKey || [e.ctrlKey, e.metaKey].filter(Boolean).length !== 1) return; e.preventDefault(); let context = $textarea.data('wikiEditorContext'); context.api.openDialog(context, 'search-and-replace'); await mw.loader.using('jquery.textSelection'); let tb = document.getElementById('wikieditor-toolbar-replace-search'); let sel = $textarea.textSelection('getSelection'); if (sel) { tb.value = sel; } tb.focus(); }); $(document.body).on('dialogclose', '#wikieditor-toolbar-replace-dialog', () => { $textarea[0].focus(); }); }); mw.config.get('wgNamespaceNumber') && mw.config.get('wgAction') !== 'history' && (function catChangeHighlighter() { let run; mw.hook('wikipage.content').add($content => { $content.find('.mw-changeslist-line.mw-changeslist-src-mw-categorize').each(function () { let text = this.querySelector('.comment').textContent; if (text.includes(' added ')) { this.classList.add('catchangehighlighter-addition'); } else if (text.includes(' removed ')) { this.classList.add('catchangehighlighter-removal'); } if (run) return; run = true; mw.loader.addStyleTag('.catchangehighlighter-addition :is(span, td) > .comment{background:#f5fff5} .catchangehighlighter-removal :is(span, td) > .comment{background:#fff5f5}'); }); }); }()); (mw.config.exists('wgDiffNewId') || mw.config.get('wgAction') !== 'view' || [-1, 14].includes(mw.config.get('wgNamespaceNumber'))) && (function diffFontSwitcher() { mw.loader.addStyleTag('.diff-lineno{cursor:pointer}'); $(document.body).on('click keydown', '.diff-lineno', function (e) { if (e.type === 'keydown' && ( e.which !== 13 && e.which !== 32 || e.ctrlKey || e.shiftKey || e.metaKey || e.altKey )) { return; } e.preventDefault(); this.closest('.diff').classList.toggle('difffontswitcher-enabled'); }); mw.hook('wikipage.diff').add($diff => { $diff.find('.diff-lineno').attr({ tabindex: 0, role: 'button' }); }); }()); mw.trackSubscribe('resourceloader.exception', (topic, data) => { mw.notify(data.exception, { autoHide: false, title: `Exception in ${data.source} in module ${data.module}`, type: 'warn' }); }); mw.config.get('skin') === 'vector-2022' && $(document).one('click', '.mw-interlanguage-selector', async () => { await mw.loader.using('ext.uls.mediawiki'); $.fn.uls.Constructor.prototype.getMenuWidth = () => 'narrow'; mw.uls.getFrequentLanguageList = () => []; }); ['edit', 'submit'].includes(mw.config.get('wgAction')) && mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Nardog/DiffUndo.js&action=raw&ctype=text/javascript', 's'); b7jxiis4fhriinz59ioipvoe2jjntch 🌀︎ 0 116353 747579 745197 2026-06-18T21:53:53Z User97104 72884 747579 wikitext text/x-wiki U+1F300 CYCLONE with U+FE0E VARIATION SELECTOR-15 [[Category:Emoji]] testtest Ice cream <s><u>'''''CY'''''</u></s>clone tur6jjgkkxz3jcfgi7lxheqtw3e8bf2 User talk:MAzevedo (WMF) 3 127165 747411 728936 2026-06-18T14:29:09Z MAzevedo (WMF) 52939 /* Testing links */ new section 747411 wikitext text/x-wiki == Testing API on iOS == This is a test from the new editor! [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:59, 4 July 2022 (UTC) :This is a reply [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:01, 4 July 2022 (UTC) :Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:57, 5 July 2022 (UTC) :Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 13:57, 6 July 2022 (UTC) :Content test reply from sandbox [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:29, 6 July 2022 (UTC) :Test from app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:30, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:33, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:32, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:19, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:23, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:24, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:25, 6 July 2022 (UTC) ::Test from the iOS app [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:25, 6 July 2022 (UTC) ::Test from the iOS app zzzzzzz [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:27, 6 July 2022 (UTC) :New test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:16, 27 February 2026 (UTC) == title topic == topic topic [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:34, 6 July 2022 (UTC) :testing talk pages on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:45, 13 September 2022 (UTC) ::Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 13:26, 18 October 2022 (UTC) :::Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 21:03, 31 October 2022 (UTC) == Topic testing 50 == Topic body testing 50 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:36, 6 July 2022 (UTC) :Testing on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:56, 13 September 2022 (UTC) ::Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:13, 1 November 2022 (UTC) == Topic testing 36 == Topic body testing 36 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:38, 6 July 2022 (UTC) :Something [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:59, 1 August 2022 (UTC) == Topic testing 89 == Topic body testing 89 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:39, 6 July 2022 (UTC) == New test == One more test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:35, 18 July 2022 (UTC) == New test == One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:37, 18 July 2022 (UTC) == New test == One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:40, 18 July 2022 (UTC) == New test == One more test 2 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:42, 18 July 2022 (UTC) :checking [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:47, 18 July 2022 (UTC) == New test == Some comment here [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:52, 1 August 2022 (UTC) == Test == Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:50, 13 September 2022 (UTC) == Another test == Testing on iOS [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:57, 13 September 2022 (UTC) == Test == Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:07, 13 September 2022 (UTC) == Tttttestttt == Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:08, 13 September 2022 (UTC) == One more == Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:10, 13 September 2022 (UTC) == One more try == Again [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:13, 13 September 2022 (UTC) :Testing some more [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 16:23, 10 October 2022 (UTC) == Hi! == Thanks for the great new build! [[User:Bagelpigeon|Bagelpigeon]] ([[User talk:Bagelpigeon|talk]]) 18:44, 13 September 2022 (UTC) == Testing talk pages == This is a test for the new iOS talk pages [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:57, 10 October 2022 (UTC) :Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC) ::Re-testing :: [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC) :::Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC) ::::Test test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:58, 10 October 2022 (UTC) == New test == Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:06, 18 October 2022 (UTC) == One more test == testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:38, 3 November 2022 (UTC) :Hi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:40, 3 November 2022 (UTC) == test == Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 15:47, 3 November 2022 (UTC) == testing == [[Bird2]] [[Kat]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:16, 30 November 2022 (UTC) == Oiiiii oioioioi== [[File:Flower and bud of yellow chamomile (Anthemis tinctoria).jpg | thumb | 220x124px | right | alt= Yellow flower | Yellow flower]] Hello [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:33, 1 December 2022 (UTC) == Test == [[File:Flower and bud of yellow chamomile (Anthemis tinctoria).jpg | thumb | 220x124px | right]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:42, 1 December 2022 (UTC) == Test == ‘’’Test’’’ ‘’Test’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:28, 1 December 2022 (UTC) :''test '' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:29, 1 December 2022 (UTC) ::‘’test’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:33, 1 December 2022 (UTC) :::‘’’test’’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:34, 1 December 2022 (UTC) ::::‘’oi’’ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:37, 1 December 2022 (UTC) :::::''Oiiii'' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:39, 1 December 2022 (UTC) == Tests == '''Ola''' ''Tchau'' [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 22:40, 1 December 2022 (UTC) == Test edit link == [[Kat|Kitty]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:43, 5 December 2022 (UTC) :[[Flower|It was a test]] [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 21:08, 5 December 2022 (UTC) == Test == Test [[User:Marinaazev|Marinaazev]] ([[User talk:Marinaazev|talk]]) 14:08, 3 January 2023 (UTC) :Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 12:36, 13 July 2023 (UTC) == Test == Text [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 19:43, 25 July 2023 (UTC) == Test == https://thankyou.wikipedia.org/wiki/Thank_You/en?country=US&featureEndowment=1 [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:06, 25 September 2023 (UTC) == Test 2 == https://donate.wikimedia.org/ [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:11, 25 September 2023 (UTC) == Link == https://donate.wikimedia.org/w/index.php?title=Special:LandingPage&country=BR&uselang=en&utm_medium=spontaneous&utm_source=fr-redir&utm_campaign=spontaneous Updates [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 20:18, 25 September 2023 (UTC) :Test link en.wikipedia.org [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:48, 31 January 2024 (UTC) == Test topic == Test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:40, 11 July 2024 (UTC) :Testing [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:40, 11 July 2024 (UTC) == Another test == Test test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:41, 11 July 2024 (UTC) :Another reply [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:42, 11 July 2024 (UTC) == Test == New test [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 17:17, 27 February 2026 (UTC) == Testando == Mais testes [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:11, 27 February 2026 (UTC) == One more == Oioioi [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:13, 27 February 2026 (UTC) == Test test test == Yay [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 18:27, 27 February 2026 (UTC) == Testing links == https://en.wikipedia.org/wiki/History_of_the_People%27s_Republic_of_China [[User:MAzevedo (WMF)|MAzevedo (WMF)]] ([[User talk:MAzevedo (WMF)|talk]]) 14:29, 18 June 2026 (UTC) huocuj8te77dcvbiiups3vekavc4ask MediaWiki:GrowthMentors.json 8 127601 747599 739017 2026-06-19T10:14:22Z Maintenance script 22788 Config changed by maintenance script: 747599 json application/json { "Mentors": { "49911": { "message": null, "weight": 2, "username": "About672599" }, "44042": { "message": null, "weight": 2, "username": "Aseleste" }, "50263": { "message": "Testing", "weight": 0, "username": "DreZhsh" }, "30874": { "message": "Testing", "weight": 2, "username": "Elli" }, "27425": { "message": "Hello and welcome! I'll be happy to help you!", "weight": 0, "username": "Etonkovidova (WMF)" }, "51711": { "message": "Test", "weight": 2, "username": "GOnyeahialam (WMF)" }, "752": { "message": "I will be happy to explore together all these new features!", "weight": 1, "username": "Geraki" }, "1": { "message": "Sup?", "weight": 2, "username": "Jon Harald Søby" }, "39901": { "message": "Welcome to Wikipedia! I love editing about music, but you can ask me anything.", "weight": 2, "username": "MMiller (WMF)" }, "43912": { "message": "test222222222222222", "weight": 2, "username": "Martin Urbanec (WMF)" }, "43610": { "message": "Test", "weight": 4, "username": "Paloi Sciurala" }, "39808": { "message": "Testing", "weight": 2, "username": "Nemoralis" }, "50179": { "message": "Uh-huh?", "weight": 2, "username": "NguoiDungKhongDinhDanh" }, "48882": { "message": "Hi, Welcome to Wikipedia!", "weight": 2, "username": "OTichonova (WMF)" }, "34206": { "message": "Ask me about design stuff", "weight": 2, "username": "RHo (WMF)" }, "51965": { "message": "Test wew", "weight": 0, "username": "SGimeno (WMF)" }, "29210": { "message": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.啊啊啊", "weight": 1, "username": "Stang", "awayTimestamp": "9999-12-30T22:36:04Z" }, "12061": { "message": "Blah blah blah", "weight": 2, "username": "Suffusion of Yellow" }, "50053": { "message": "Wikipedia:Requests/Help desk/Mentors to become a mentor. \u003Cimg src=1 onerror=\"alert()\"\u003E\u003C/img\u003E", "weight": 2, "username": "Sungodtemple" }, "21799": { "message": "test porpoise", "weight": 2, "username": "Tamzin" }, "51768": { "message": "Heh, hey!", "weight": 2, "username": "Vasmar1" }, "1639": { "message": null, "weight": 2, "username": "Wargo" }, "29926": { "message": "This experienced user knows you're new and can help you with editing.", "weight": 1, "username": "Zilant17" }, "52081": { "message": "testing the mentor features", "weight": 4, "username": "Zippybonzo" }, "48247": { "message": null, "weight": 0, "username": "Asartea" }, "40269": { "message": "test test test ", "weight": 2, "username": "KHarlan (WMF)" }, "51514": { "message": null, "weight": 0, "username": "Mentor dashboard usability test" }, "49608": { "message": null, "weight": 0, "username": "SixthGrave" }, "20771": { "message": null, "weight": 0, "username": "Tacsipacsi" }, "46860": { "message": null, "weight": 0, "username": "Valcio", "awayTimestamp": "2268-03-04T20:22:52Z" }, "101": { "message": null, "weight": 0, "username": "Xaosflux" }, "21990": { "message": null, "weight": 0, "username": "Xiplus" }, "44996": { "message": "Yaaaay!", "weight": 2, "username": "Yahya" }, "28192": { "message": "test", "weight": 2, "username": "Abbe98" }, "29752": { "message": "Hello testers! ", "weight": 2, "username": "Trizek (WMF)" }, "16495": { "message": "Ffgg", "weight": 2, "username": "Iluvatar" }, "3312": { "message": "123", "weight": 2, "username": "Iniquity" }, "49609": { "message": "I will be happy to help!", "weight": 4, "username": "Neriah" }, "53741": { "message": "Hi", "weight": 2, "username": "Syunsyunminmin" }, "45556": { "message": "Hello, how can I help you today?", "weight": 2, "username": "Dyolf77 (WMF)" }, "51538": { "message": null, "weight": 2, "username": "Kylemaverick" }, "37377": { "message": "I am testing this feature 🙃", "weight": 2, "username": "Ата" }, "28876": { "message": "test", "weight": 2, "username": "Roan Kattouw (WMF)" }, "52574": { "message": "kjhjkh", "weight": 2, "username": "BMartinezCalvo (WMF)" }, "43722": { "message": null, "weight": 2, "username": "Ameisenigel" }, "54146": { "message": null, "weight": 2, "username": "Chqaz" }, "54035": { "message": "Hello testers, I'll be happy to help you!", "weight": 0, "username": "KStoller-WMF" }, "61446": { "message": "(just testing things, nevermind)", "weight": 0, "username": "MGrosse-WMF" }, "31153": { "message": "test", "weight": 2, "username": "Jack who built the house" }, "46247": { "message": "Hello! ", "weight": 2, "username": "Vincatest9" }, "19016": { "message": "Test wiki", "weight": 2, "username": "Jdlrobson" }, "50416": { "message": "Hello! I'm a test mentor. 123", "weight": 1, "username": "Zilant1b" }, "34459": { "message": null, "weight": 0, "username": "Jon Harald Søby (WMNO)" }, "53420": { "message": null, "weight": 0, "username": "JFernandez-WMF" }, "24817": { "message": "Test mentoring", "weight": 0, "username": "MusikAnimal" }, "60101": { "message": "Hi!", "weight": 4, "username": "Sunny Cryolite" }, "55545": { "message": "This experienced user knows you're new and can help you with editing.", "weight": 4, "username": "Martin Urbanec (public)" }, "29017": { "message": null, "weight": 2, "username": "Martin Urbanec" }, "61465": { "message": "Hi! I'm a WMF staff member and would like to help you with your contributions to Wikipedia!", "weight": 2, "username": "SPerry-WMF" }, "34390": { "message": "jhgnhg", "weight": 2, "username": "Samwalton9 (WMF)" }, "70274": { "message": null, "weight": 2, "username": "Vinca11sep01" }, "43668": { "message": "test", "weight": 2, "username": "Luky001" }, "71432": { "message": "mentor schmentor", "weight": 0, "username": "Dot.py" }, "72171": { "message": "Hello, and welcome! I'm SimpleObjects-9ei, and you can test stuff here. Have any questions? Just ask me.", "weight": 4, "username": "SimpleObjects-9ei" } } } m9xxtbpwhgheb2nv95lqy3fbsazyqu0 Crew rest compartment 0 155453 747583 746016 2026-06-18T21:56:20Z User97104 72884 Replaced content with " [[Category:Aircraft cabin components]]" 747583 wikitext text/x-wiki [[Category:Aircraft cabin components]] 6ljjyipgepmf5u0eh8acaghoaosqtbz User:Borhan/test.js 2 159779 747428 745305 2026-06-18T14:51:30Z Borhan 54019 747428 javascript text/javascript mw.loader.load('//bn.wikipedia.org/w/index.php?title=ব্যবহারকারী:ARI/বিন্যাস.js&action=raw&ctype=text/javascript'); ec42krd17dz0h2x8l2mdp646ad5adrm 747439 747428 2026-06-18T14:56:45Z Borhan 54019 + 747439 javascript text/javascript // <nowiki> window.alignerDebug = false; window.alignerDefaultSearches = [ "{{infobox", "{{speciesbox", "{{taxobox", '{{automatic taxobox', ]; window.alignerExtraSearches = []; let portletAdded = false; mw.loader.using(['mediawiki.util'], function () { if (mw.config.get('wgAction') !== 'edit' && mw.config.get('wgAction') !== 'submit') { return; } setUpPortlet(); } ); mw.hook( 've.newTarget' ).add( ( target ) => { target.on( 'surfaceReady', () => { if ( target.surface.getMode() === 'source' ) { setUpPortlet(); } } ) } ); function setUpPortlet() { if ( portletAdded ) { return; } portletAdded = true; mw.util.addPortletLink('p-cactions', 'javascript:void(0);', 'Align template params', 'us-taavi-align'); $('#us-taavi-align').click(function () { const splitParam = string => { const split = string.split('='); if (split.length <= 2) { return split; } let first = split.shift(); return [first, split.join('=')]; }; const splitIntoParams = string => { if (string.startsWith('{{') && string.endsWith('}}')) { if (!string.includes('|')) { return [string]; } const results = splitIntoParams(string.slice(2, -2)); return ['{{' + results[0]].concat(splitIntoParams(string.slice(2, -2)).slice(1), ['}}']); } const params = []; let temp = ''; let open = 0; for (let i = 0; i < string.length; i++) { const char = string[i]; temp += char; if (char === '{' || char === '[') { open += 1; } else if (char === '}' || char === ']') { open -= 1; } else if (char === '|' && open === 0 && temp.trim() !== '|') { params.push(temp.slice(0, -1).trim()); temp = '|'; } } params.push(temp); return params; }; const debug = string => { if (window.alignerDebug) { mw.notify(string); } }; const useWikEd = window.wikEd && window.wikEd.useWikEd; if (useWikEd) { window.wikEd.UpdateTextarea(); } const editBox = $('#wpTextbox1'); if (!editBox) { mw.notify('Edit box not found'); return; } const text = editBox.textSelection('getContents'); if (!text || text.length === 0) { mw.notify('Edit box value not found'); return; } const searches = window.alignerDefaultSearches.concat(window.alignerExtraSearches || []); let count = 0; const processInfobox = template => { if (template === '') { mw.notify('Infobox not found'); return; } if (open !== 0) { console.error({ open }); mw.notify('Template was not properly closed'); return; } let maxLength = 0; const origTemplate = String(template); const lines = template.split("\n"); const newLines = []; for (let lineNumber in lines) { const paramsInLine = splitIntoParams(lines[lineNumber].trim()); console.log({ line: lines[lineNumber].trim(), paramsInLine, }); for (let paramNumber in paramsInLine) { let line = paramsInLine[paramNumber].trim(); if (!line.startsWith('|') || line.split('=').length !== 2) { newLines.push(line); continue; } let [firstPart, lastPart] = splitParam(line); firstPart = firstPart.slice(1).trim(); if (firstPart.length > maxLength) { maxLength = firstPart.length; } newLines.push('| ' + firstPart + '=' + lastPart); } } let output = ''; maxLength += 2; // to include '| ' for (let lineNumber in newLines) { let line = newLines[lineNumber]; const parts = splitParam(line); if (parts.length < 2) { output += line += "\n"; continue; } let firstPart = parts[0].trim(); console.log({ firstPart, maxLength }); while (firstPart.length < maxLength) { firstPart += ' '; } output += firstPart + ' = ' + parts[1].trim() + "\n"; } if (output.endsWith("\n")) { output = output.slice(0, -1); } editBox.textSelection('setContents', editBox.textSelection('getContents').replace(origTemplate, output)); if (useWikEd) { wikEd.UpdateFrame(); } }; let template = ''; let open = 0; for (let i = 0; i < text.length; i++) { let foo = false; for (let searchIndex in searches) { const search = searches[searchIndex]; const searchLength = search.length; if (text.length - i > searchLength) { if ((text.slice(i, i + searchLength).toLowerCase() === search) || (text.slice(i, i + searchLength).toLowerCase() === search.replace(" ", "_"))) { open += 1; template += text[i]; foo = true; } } } if (open >= 1 && !foo) { template += text[i]; if (text[i] == '{') { open += 1; } else if (text[i] == '}') { open -= 1; if (open === 0) { count += 1; processInfobox(template); template = ''; } } } } mw.notify('Successfully aligned ' + String(count) + ' templates. Remember to preview before saving and report any issues at [[User talk:Taavi]].'); }); } // </nowiki> agmbi2kxy0sdtobetk1nteuq2jth3ua 747440 747439 2026-06-18T14:59:47Z Borhan 54019 747440 javascript text/javascript $('#us-taavi-align').click(function () { const splitParam = string => { const split = string.split('='); if (split.length <= 2) { return split; } let first = split.shift(); return [first, split.join('=')]; }; const splitIntoParams = string => { if (string.startsWith('{{') && string.endsWith('}}')) { if (!string.includes('|')) { return [string]; } const results = splitIntoParams(string.slice(2, -2)); return ['{{' + results[0]].concat(splitIntoParams(string.slice(2, -2)).slice(1), ['}}']); } const params = []; let temp = ''; let open = 0; for (let i = 0; i < string.length; i++) { const char = string[i]; temp += char; if (char === '{' || char === '[') { open += 1; } else if (char === '}' || char === ']') { open -= 1; } else if (char === '|' && open === 0 && temp.trim() !== '|') { params.push(temp.slice(0, -1).trim()); temp = '|'; } } params.push(temp); return params; }; const debug = string => { if (window.alignerDebug) { mw.notify(string); } }; const useWikEd = window.wikEd && window.wikEd.useWikEd; if (useWikEd) { window.wikEd.UpdateTextarea(); } const editBox = $('#wpTextbox1'); if (!editBox) { mw.notify('Edit box not found'); return; } const text = editBox.textSelection('getContents'); if (!text || text.length === 0) { mw.notify('Edit box value not found'); return; } const searches = window.alignerDefaultSearches.concat(window.alignerExtraSearches || []); let count = 0; const processInfobox = template => { if (template === '') { mw.notify('Infobox not found'); return; } if (open !== 0) { console.error({ open }); mw.notify('Template was not properly closed'); return; } let maxLength = 0; const origTemplate = String(template); const lines = template.split("\n"); const newLines = []; for (let lineNumber in lines) { const paramsInLine = splitIntoParams(lines[lineNumber].trim()); console.log({ line: lines[lineNumber].trim(), paramsInLine, }); for (let paramNumber in paramsInLine) { let line = paramsInLine[paramNumber].trim(); if (!line.startsWith('|') || line.split('=').length !== 2) { newLines.push(line); continue; } let [firstPart, lastPart] = splitParam(line); firstPart = firstPart.slice(1).trim(); if (firstPart.length > maxLength) { maxLength = firstPart.length; } newLines.push('| ' + firstPart + '=' + lastPart); } } let output = ''; maxLength += 2; // to include '| ' for (let lineNumber in newLines) { let line = newLines[lineNumber]; const parts = splitParam(line); if (parts.length < 2) { output += line += "\n"; continue; } let firstPart = parts[0].trim(); console.log({ firstPart, maxLength }); while (firstPart.length < maxLength) { firstPart += ' '; } output += firstPart + ' = ' + parts[1].trim() + "\n"; } if (output.endsWith("\n")) { output = output.slice(0, -1); } editBox.textSelection('setContents', editBox.textSelection('getContents').replace(origTemplate, output)); if (useWikEd) { wikEd.UpdateFrame(); } }; let template = ''; let open = 0; for (let i = 0; i < text.length; i++) { let foo = false; for (let searchIndex in searches) { const search = searches[searchIndex]; const searchLength = search.length; if (text.length - i > searchLength) { if ((text.slice(i, i + searchLength).toLowerCase() === search) || (text.slice(i, i + searchLength).toLowerCase() === search.replace(" ", "_"))) { open += 1; template += text[i]; foo = true; } } } if (open >= 1 && !foo) { template += text[i]; if (text[i] == '{') { open += 1; } else if (text[i] == '}') { open -= 1; if (open === 0) { count += 1; processInfobox(template); template = ''; } } } } mw.notify('Successfully aligned ' + String(count) + ' templates. Remember to preview before saving and report any issues at [[User talk:Taavi]].'); }); } // </nowiki> 9uh1isdd8ezu2ir7vtpkovktdq61ulf 747441 747440 2026-06-18T14:59:59Z Borhan 54019 Blanked the page 747441 javascript text/javascript phoiac9h4m842xq45sp7s6u21eteeq1 747480 747441 2026-06-18T15:49:02Z Borhan 54019 747480 javascript text/javascript mw.loader.load('//bn.wikipedia.org/w/index.php?title=ব্যবহারকারী:ARI/বিন্যাস.js&action=raw&ctype=text/javascript'); ec42krd17dz0h2x8l2mdp646ad5adrm 747503 747480 2026-06-18T16:01:08Z Borhan 54019 Blanked the page 747503 javascript text/javascript phoiac9h4m842xq45sp7s6u21eteeq1 Eurovision Song Contest's Greatest Hits 0 171931 747589 726641 2026-06-19T00:03:24Z InternetArchiveBot 34092 Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5 747589 wikitext text/x-wiki <!--this is a page translated from wikipedia!--> {{short description|电视节目}} {{good article}} {{Use dmy dates|date=2015年2月}} {{italic title}} {{Infobox Song Contest | name = ''欧洲歌唱大赛最佳金曲'' | logo = Eurovision Song Contest's Greatest Hits.png | final = 2015年3月31日 | presenters = {{unbulleted list|[[佩特拉·梅德]]|[[格雷厄姆·诺顿]]}} | exsupervisor = [[乔恩·奥拉·桑德]] | exproducer = 盖伊·弗里曼 | director = {{unbulleted list|[[杰夫·波斯纳]]}} | musdirector = [[大卫·阿奇]] | organiser = [[欧洲广播联盟]] (EBU) | host = [[BBC|英国广播公司]] (BBC) | venue = [[哈默史密斯阿波罗剧院]]<br />英国伦敦哈默史密斯 }} '''''欧洲歌唱大赛最佳金曲'''''(也称为'''''欧洲歌唱大赛最伟大的金曲''''')是由[[欧洲广播联盟]](EBU)组织、[[BBC|英国广播公司]](BBC)制作的[[现场直播电视|现场电视]][[音乐会]]节目,旨在纪念[[欧洲歌唱大赛]]60周年。音乐会于2015年3月31日在英国[[伦敦]][[哈默史密斯]]的[[哈默史密斯阿波罗剧院]]举行。盖伊·弗里曼担任执行制片人,杰夫·波斯纳担任导演,两人都曾在BBC于1998年最后一次主办欧洲歌唱大赛时担任相同职位。<ref name="show">{{Cite web |last=Roxburgh |first=Gordon |date=2015年2月3日 |title=官方:伦敦将举办欧洲歌唱大赛60周年活动 |url=http://www.eurovision.tv/page/news?id=official_london_to_host_eurovisions_60th_anniversary_event |access-date=2015年2月3日 |website=eurovision.tv |publisher=欧洲广播联盟}}</ref>西蒙·普罗克特担任高级制片人,大卫·阿奇担任音乐总监。活动门票于2015年2月6日格林威治标准时间10:15开始发售。 [[格雷厄姆·诺顿]]和[[佩特拉·梅德]]共同主持了这场活动,来自13个国家的15组艺人表演了他们过去参加欧洲歌唱大赛的曲目。在电视直播节目中,每场现场表演之间都会播放来自欧洲歌唱大赛档案的视频集锦。英国2015年的参赛曲目《依然爱你》由[[电子天鹅绒乐队]]演唱,作为开场表演在音乐会上演出,但未在电视节目中播出。1994年的中场表演节目《[[大河之舞]]》作为周年庆祝活动的一部分重新上演。 多个国家确认将在适合各自广播公司时间表的不同日期[[延迟播出|延迟播出]]音乐会,包括将在2015年首次亮相欧洲歌唱大赛的澳大利亚。主办方BBC和爱尔兰广播公司[[RTÉ|爱尔兰广播电视]]于2015年4月3日在[[BBC第一台]]和[[RTÉ2]]同步播出了该节目。同时,一些国家选择不转播该活动,包括有艺人参演的卢森堡。 ==地点== [[File:OdeonHammersmith.jpg|thumb|left|伦敦活动阿波罗剧院]] 2015年2月3日确认,音乐会活动将在英国[[伦敦]][[哈默史密斯]]的[[哈默史密斯阿波罗剧院]]举行。<ref name="show" />这是伦敦自[[2007年欧洲舞蹈大赛]]以来首次举办欧洲歌唱大赛相关活动。<ref name="EDC2007">{{Cite web |last=BBC新闻办公室 |date=2007年4月13日 |title=登上舞台——欧洲舞蹈大赛 |url=https://www.bbc.co.uk/pressoffice/pressreleases/stories/2007/04_april/13/dance.shtml |access-date=2014年10月23日 |website=BBC}}</ref> ==组织== 2014年10月22日宣布,欧洲广播联盟任命英国广播公司[[BBC|英国广播公司]](BBC)共同制作一场特别周年纪念节目,庆祝欧洲歌唱大赛60周年,类似于2005年举办的节目《[[祝贺:欧洲歌唱大赛50周年]]》。BBC娱乐部门曾受委托在2005年从皇家阿尔伯特音乐厅主办50周年纪念节目,但因BBC无法承诺播出该节目而不得不拒绝。宣布时节目的具体名称尚未确定。<ref name="Venue">{{Cite web |last=Jiandani |first=Sanjay |date=2015年2月3日 |title=英国:BBC将于3月主办欧洲歌唱大赛最佳金曲节目 |url=http://esctoday.com/94771/united-kingdom-bbc-will-host-eurovisions-greatest-hits-show-march/ |access-date=2015年2月3日 |website=ESCToday}}</ref><ref name="Anniversary Show">{{Cite web |last=Granger |first=Anthony |date=2014年10月22日 |title=欧歌赛2015:60周年纪念节目将由BBC制作 |url=http://eurovoix.com/2014/10/22/esc15-60th-anniversary-showed-to-be-bbc-produced/ |access-date=2014年10月22日 |website=Eurovoix}}</ref> 欧洲广播联盟随后就60周年发表声明:"除了5月的比赛之外,成员广播公司还提出了各种令人兴奋的提案来庆祝60周年,目前正处于评估的最后阶段。预计很快就会做出决定,敬请期待!"<ref name="EBU Statement">{{Cite web |last=Jiandani |first=Sanjay |date=2014年10月23日 |title=英国:BBC将制作60周年欧洲歌唱大赛节目? |url=http://esctoday.com/88686/united-kingdom-bbc-produce-60th-anniversary-eurovision-show/ |access-date=2014年10月23日 |website=ESCToday}}</ref>2015年欧洲歌唱大赛执行制片人埃德加·伯姆在采访中表示,BBC已被选中主办一场特别周年纪念节目。盖伊·弗里曼被任命为活动的执行制片人,由高级制片人西蒙·普罗克特协助,剧本由[[爱德华·阿夫·西伦]]、丹尼尔·雷恩、克里斯汀·罗斯和西蒙·普罗克特共同编写,导演是[[杰夫·波斯纳]],他曾执导1998年在[[伯明翰]]举行的[[1998年欧洲歌唱大赛]]。<ref name="show"/> ===主持人=== [[File:Hosts of the Eurovision Greatest Hits.jpg|thumb|right|250px|主持人格雷厄姆·诺顿和佩特拉·梅德在哈默史密斯阿波罗剧院演出期间]] 2015年2月3日宣布,[[格雷厄姆·诺顿]]和[[佩特拉·梅德]]将共同主持音乐会节目。<ref>{{Cite web |last=Martinsson |first=Anders |title=佩特拉·梅德参与欧洲歌唱大赛周年庆典 |url=http://m.gp.se/kulturnoje/1.2527205-petra-mede-aktuell-for-eurovision-jubileum |access-date=2014年10月24日 |publisher=哥德堡邮报 |language=sv |archive-date=20 December 2015 |archive-url=https://web.archive.org/web/20151220152147/http://m.gp.se/kulturnoje/1.2527205-petra-mede-aktuell-for-eurovision-jubileum |url-status=dead }}</ref>诺顿曾与[[克劳迪娅·温克曼]]共同主持2007年和2008年的[[欧洲舞蹈大赛]],<ref>{{Cite web |last=BBC节目 |date=2008年9月6日 |title=2008年欧洲舞蹈大赛 |url=https://www.bbc.co.uk/programmes/b00dh7yj |access-date=2014年10月23日 |website=BBC}}</ref>自2009年以来一直担任BBC的欧洲歌唱大赛评论员,<ref>{{Cite web |last=BBC新闻办公室 |date=2008年12月5日 |title=欧洲歌唱大赛:诺顿接替沃根 |url=https://www.bbc.co.uk/pressoffice/pressreleases/stories/2008/12_december/05/eurovision.shtml |access-date=2014年10月23日 |website=BBC}}</ref>后来还共同主持了2023年在[[利物浦]]举行的[[2023年欧洲歌唱大赛]]决赛。梅德曾主持2009年瑞典旋律音乐节、[[2013年欧洲歌唱大赛]],以及后来的2016年和2024年欧洲歌唱大赛。 ===门票=== 周年音乐会的门票从2015年2月6日格林威治标准时间10:15开始通过BBC的欧洲歌唱大赛网站和欧洲歌唱大赛官方网站发售。<ref name="Event Details">{{Cite web |last=Jiandani |first=Sanjay |date=2015年2月5日 |title=英国:又有4组欧洲歌唱大赛艺人加入派对! |url=http://esctoday.com/94879/united-kingdom-join-party/ |access-date=2015年2月5日 |website=ESCToday}}</ref> ==节目== 音乐会于2015年3月31日在哈默史密斯阿波罗剧院现场录制,允许参与的广播公司自由选择在适合其广播时间表的日期和频道播出节目。<ref name="Broadcasting Schedule">{{Cite web |date=2015年2月5日 |title=欧洲歌唱大赛最佳金曲——门票常见问题 |url=https://www.bbc.co.uk/programmes/articles/3Lk6TzSmghJSbSgsR27P29q/eurovisions-greatest-hits-ticket-faq |access-date=2015年2月5日 |website=BBC}}</ref>来自13个国家的15位艺人参加了这场60周年庆典活动。<ref name="Recording">{{Cite web |last=Storvik-Green |first=Simon |date=2015年3月31日 |title=今晚:欧洲歌唱大赛最佳金曲录制 |url=http://www.eurovision.tv/page/news?id=tonight_recording_of_eurovisions_greatest_hits_from_london |access-date=2015年4月1日 |website=eurovision.tv |publisher=欧洲广播联盟}}</ref>首届比赛冠军[[莉丝·阿西亚]](1956年瑞士)作为贵宾出现在观众席中。在播出期间,每个参赛曲目之前都会播放[[视频集锦]],展示该年度比赛的片段,最后是即将在舞台上表演的参赛作品的欧洲歌唱大赛片段。过去60年欧洲歌唱大赛作品的回顾集锦也在表演之间播出。 ===开场和中场表演=== [[电子天鹅绒乐队]]表演了他们代表英国参加2015年欧洲歌唱大赛的曲目《依然爱你》。这场表演没有出现在电视节目中,而是专门为音乐厅的观众表演,后来上传到BBC的社交媒体页面和YouTube频道。<ref>{{Cite web |last=Weaver |first=Jessica |date=2015年4月17日 |title=英国:观看电子天鹅绒乐队的首场现场表演 |url=http://esctoday.com/100874/united-kingdom-watch-electro-velvets-first-live-performance/ |access-date=2015年5月12日 |website=ESCToday}}</ref>节目的中场表演是《[[大河之舞]]》。<ref>{{Cite web |last=Granger |first=Anthony |date=2015年3月22日 |title=欧洲歌唱大赛最佳金曲:大河之舞将演出 |url=http://eurovoix.com/2015/03/22/eurovisions-greatest-hits-riverdance-to-perform/ |access-date=2015年3月23日 |website=Eurovoix}}</ref>它由[[爱尔兰传统音乐]]和[[爱尔兰舞蹈]]组成,由爱尔兰舞蹈冠军[[简·巴特勒]]和[[迈克尔·弗莱利]]主演,配乐由[[利默里克]]本地人[[比尔·惠兰]]创作,最初是1994年欧洲歌唱大赛的中场表演。<ref>{{Cite web |date=1994年4月30日 |title=大河之舞首次亮相 |url=http://www.rte.ie/archives/exhibitions/681-history-of-rte/707-rte-1990s/321057-eurovision-song-contest-1994/ |access-date=2015年3月23日 |website=RTÉ}}</ref> ===表演=== 来自13个国家的15组欧洲歌唱大赛艺人参加了周年音乐会。<ref name="Recording"/>虽然BBC最初确认了14组艺人,但2015年3月5日宣布挪威的[[波比袜组合]]将加入阵容,使总数增加到15组。<ref>{{Cite web |last=Granger |first=Anthony |date=2015年3月5日 |title=欧洲歌唱大赛最佳金曲:波比袜组合将演出 |url=http://eurovoix.com/2015/03/05/escs-greatest-hits-bobbysocks-to-perform/ |access-date=2015年3月5日 |website=Eurovoix}}</ref>每个参赛作品之前都会播放视频集锦,展示该年度比赛的片段,最后是即将在舞台上表演的欧洲歌唱大赛作品的片段。 {| class="wikitable sortable" |- ! 出场顺序 ! 年份 ! 国家 ! 艺人 ! 歌曲 ! 语言 |- ! scope="row" style="text-align:center;" | 1 | 2013 | 丹麦 | [[艾米莉·德·福雷斯特]] | "只有泪滴" | 英语 |- ! scope="row" style="text-align:center;" | 2 | 1973 | 卢森堡 | [[安妮-玛丽·大卫]] | "你会认出自己" | 法语、英语 |- ! scope="row" style="text-align:center;" | 3 | 1984 | 瑞典 | [[赫雷斯组合]] | "迪吉卢迪吉雷" | 英语、瑞典语 |- ! scope="row" style="text-align:center;" | 4 | 1998 | 以色列 | [[达娜·因特纳雄纳尔]] | "天后" | 希伯来语 |- ! scope="row" style="text-align:center;" | 5 | 2000 | 丹麦 | [[奥尔森兄弟]] | "乘着爱的翅膀飞翔" | 英语 |- ! scope="row" style="text-align:center;" | 6 | 1976 | 英国 | [[兄弟情谊乐队]] | "把你的吻留给我" | 英语 |- ! scope="row" rowspan="4" style="text-align:center;" | 7 | 1968 | rowspan="4" | 西班牙 | rowspan="4" | [[罗莎·洛佩斯]] | "啦啦啦" | rowspan="3" | 西班牙语 |- | 1969 | "我唱着歌活着" |- | 1973 | "你就是你" |- | 2002 | "欧洲在庆祝" | 西班牙语、英语 |- ! scope="row" style="text-align:center;" | 8 | 1982 | 德国 | [[妮可]] | "一点和平" | 英语、意大利语、德语、法语 |- ! scope="row" style="text-align:center;" | 9 | 2006 | 芬兰 | [[洛迪乐队]] | "硬摇滚哈利路亚" | 英语 |- ! scope="row" style="text-align:center;" | 10 | 2001 | 法国 | [[娜塔莎·圣皮埃尔]] | "我只有我的灵魂" | 法语、英语 |- ! scope="row" rowspan="2" style="text-align:center;" | 11 | 2008 | rowspan="2" | 俄罗斯 | rowspan="2" | [[季马·比兰]] | "相信" | rowspan="2" | 英语 |- | 2006 | "永不放手" |- ! scope="row" style="text-align:center;" | 12 | 1985 | 挪威 | [[波比袜组合]] | "让它摇摆" | 挪威语、英语 |- ! scope="row" style="text-align:center;" | 13 | 2012 | 瑞典 | [[萝琳]] | "狂喜" | 英语 |- ! scope="row" rowspan="3" style="text-align:center;" | 14 | 1980 | rowspan="3" | 爱尔兰 | rowspan="3" | [[约翰尼·洛根]] | "又一年算什么" | rowspan="3" | 英语 |- | 1992 | "为什么是我?" |- | 1987 | "现在拥抱我" |- ! scope="row" style="text-align:center;" | 15 | 2014 | 奥地利 | [[康奇塔·沃斯特]] | "如凤凰般崛起" | 英语 |- |} ===重演表演=== 在节目结束时,所有参演艺人用英语演唱了一些欧洲歌唱大赛金曲的混合曲目作为重演节目。[[安妮-玛丽·大卫]]演唱了以色列1979年的冠军曲目"哈利路亚"。瑞典三人组[[赫雷斯组合]]演唱了意大利1958年获得第三名的"在蓝色中绘画"。英国1981年的冠军曲目"下定决心"由[[波比袜组合]]演唱。重演以[[康奇塔·沃斯特]]和[[达娜·因特纳雄纳尔]]带领所有剩余表演者(除了[[萝琳]])回到舞台演唱"滑铁卢"结束,这是瑞典1974年的冠军曲目。 ==播出== 由于节目不是现场直播,参与的广播公司能够在适合其播出时间表的日期和频道播出节目。一些广播公司——如奥地利和瑞典的——在伦敦录制了额外的链接和采访供观众观看,这些被用作主节目的预告。<ref name="Broadcasting Schedule"/> ===评论员=== 以下广播公司按播出日期顺序列出,确认将播出周年纪念节目。 {| class="wikitable" |- ! 播出日期 ! 国家 ! 电视台 ! 评论员 |- | rowspan="2" | 2015年4月3日 | 爱尔兰 | RTÉ2 | rowspan="2" | 无评论 |- | 英国 | BBC第一台 |- | rowspan="5" | 2015年4月4日 | 比利时 | Eén | 彼得·范德维尔<ref>{{Cite web |date=2015年3月26日 |title=VRT在4月4日庆祝欧洲歌唱大赛60周年 |url=http://deredactie.be/cm/vrtnieuws/cultuur%2Ben%2Bmedia/muziek/1.2284002 |access-date=2015年3月30日 |website=deredactie}}</ref> |- | 冰岛 | RÚV | rowspan="2" | 无评论 |- | 挪威 | NRK1 |- | 芬兰 | Yle Fem | rowspan="2" | 莎拉·道恩·费纳和克里斯特·比约克曼 |- | 瑞典 | SVT1和SVT World |- | rowspan="3" | 2015年4月5日 | 阿尔巴尼亚 | RTSH | 无评论 |- | 俄罗斯 | 俄罗斯第一频道 | 尤里·阿克秋塔和斯维特拉娜·泽纳洛娃 |- | 圣马力诺 | SMRTV | 无评论 |- | rowspan="2" | 2015年4月11日 | 芬兰 | Yle TV2 | 无评论;芬兰语字幕 |- | 以色列 | 第一频道 | rowspan="3" | 无评论 |- | 2015年4月13日 | rowspan="2" | 保加利亚 | BNT1 |- | 2015年4月19日 | BNT2 |- | 2015年4月25日 | 拉脱维亚 | LTV1 | 艾加尔斯·罗森伯格斯 |- | 2015年4月26日 | 葡萄牙 | RTP1 | 胡利奥·伊西德罗 |- | 2015年5月2日 | 斯洛文尼亚 | TV SLO 1 | 无评论 |- | 2015年5月4日 | 英国 | BBC第二电台 | 格雷厄姆·诺顿 |- | 2015年5月12日 | 比利时 | La Une | 让-路易·拉海和莫琳·路易 |- | rowspan="5" | 2015年5月16日 |- | 丹麦 | DR1 | 奥勒·特普霍尔姆 |- | 德国 | NDR和MDR | 彼得·乌尔班 |- | 希腊 | NERIT1和N HD | 无评论;希腊语字幕 |- | 罗马尼亚 | TVR1和TVR HD | 无评论 |- | 2015年5月17日 | 奥地利 | ORF eins | 安迪·克诺尔 |- | 2015年5月19日 | 瑞士 | SRF zwei(第1部分) | 斯文·埃皮内 |- | 2015年5月20日 | 法国 | 法国2台 | 维尔吉妮·吉约姆 |- | rowspan="2" | 2015年5月21日 | 瑞士 | SRF zwei(第2部分) | 斯文·埃皮内 |- | 澳大利亚 | SBS One | rowspan=2 | 无评论 |- | rowspan="2" | 2015年5月22日 | 爱沙尼亚 | ETV |- | 德国 | EinsFestival | 彼得·乌尔班 |- | rowspan="2" | 2015年5月23日 | 塞尔维亚 | RTS | 无评论 |- | 西班牙 | La 1 | 何塞·玛丽亚·伊尼戈和朱莉娅·瓦雷拉 |- |} ===未播出的国家=== 以下广播公司拒绝播出该节目: * 亚美尼亚:ARMTV * 捷克共和国:ČT * 卢森堡:RTL * 马其顿:MRT * 荷兰:AVROTROS * 乌克兰:NTU 以下至少参加过一次欧洲歌唱大赛的国家的广播公司未宣布是否播出该节目: 安道尔、阿塞拜疆、白俄罗斯、波黑、克罗地亚、塞浦路斯、格鲁吉亚、匈牙利、意大利、立陶宛、马耳他、摩尔多瓦、摩纳哥、黑山、摩洛哥、波兰、斯洛伐克、土耳其 ==另见== *《欧洲之歌》(1981年) *《祝贺:欧洲歌唱大赛50周年》(2005年) *《欧洲歌唱大赛:欧洲闪耀光芒》(2020年) ==参考文献== {{reflist}} ==外部链接== * [https://web.archive.org/web/20150406071646/http://60th.eurovision.tv/ 欧洲歌唱大赛60周年] * {{BBC节目|id=p02n77lt|title=欧洲歌唱大赛最佳金曲}} [[Category:2015年伦敦]] [[Category:2015年英国音乐]] [[Category:关于欧洲歌唱大赛的电视节目|最佳金曲]] [[Category:怀旧电视节目]] [[Category:2015年欧洲歌唱大赛]] [[Category:2015年3月英国]] [[Category:伦敦组织活动]] 5qsouz47rmmyuwyfrj62mij51sb5r5u User:Supertian8/common.js 2 175863 747591 746460 2026-06-19T02:45:13Z Supertian8 67751 replace with window 747591 javascript text/javascript jQuery( function () {//run script when page loads mw.loader.load( 'https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-morebits.js&action=raw&ctype=text/javascript' ); var epicness = mw.util.addPortletLink ("p-cactions", "#", "epicness", "pt-epic"); epicness.addEventListener("click", function (e) { var myWindow = function windowFunction() { const Window = new Morebits.SimpleWindow(700, 400); Window.setTitle('Test title'); Window.setScriptName('Test script name'); var quickFormContent = new Morebits.quickForm.element({ name: 'target', type: 'input', label: 'Your target:', tooltip: 'Enter your target. Required.', required: true }); Window.setContent(quickFormContent); Window.display(); }; }); } ); 24fknb93x70llbwoqpsi4vxxjjgnpqn MediaWiki:Editcheck-config.json 8 176017 747590 746013 2026-06-19T00:05:06Z Quiddity (WMF) 23627 fix redlink 747590 json application/json { "textMatch": { "matchRules": { "nonspecific-time": { "query": [ "in the (past|future)", "recently", "to this day" ], "title": "Indefinite time", "message": "This phrase might contain a [[w:MOS:RELTIME|relative time reference]]. Absolute specifications of time are usually preferred, otherwise they may go out of date. Help readers to understand by writing the specific time that is being referred to here.", "isRegExp": true, "config": { "ignoreQuotedContent": true } }, "punctuation-typos-dash": { "query": { "--": "—", "\\s-\\s": " — ", "\\s-(\\d+)": " −$1", "([^\\d\\s]+)(\\s—|—\\s)([^\\d\\s]+)": "$1 — $3", "([А-ЯЁA-Z][^\\d\\s]*)(?\u003C![XVI]+)—(?![XVI]+)([А-ЯЁA-Z][^\\d\\s]*)": "$1 — $2" }, "title": "Check Punctuation", "message": "There may be a punctuation error here that needs to be corrected. Check to see if the [[w:MOS:HYPHEN|hyphen]] needs to be replaced with a specific [[w:MOS:DASH|dash]], [[w:MOS:COMMONMATH|minus]], or vice versa, and whether it needs to be surrounded by spaces.", "isRegExp": true, "mode": "replace", "config": { "caseSensitive": true } }, "british-english": { "query": { "chiseled": "chiselled", "favor(ed|ite|ing)": "favour$1", "somberly": "sombrely" }, "title": "Change English spelling", "message": "This word uses a different [[w:WP:ENGVAR|English variety]] than the one used in the rest of this article. Help readers by changing the spelling to match the rest of the article.", "mode": "replace", "isRegExp": true, "preserveCase": true, "config": { "account": "loggedin", "hasTemplate": [ "Use British English", "EngvarB" ] } } } } } ckmccli89s28ub8fqakx88nxkufjc20 Mergetest1 0 176325 747379 747314 2026-06-18T13:58:22Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747379 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] 9irh7lfbaz8o3utj3hn3ub5rmgo7ovi 747383 747379 2026-06-18T13:58:56Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747383 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] h1pdalvylsxbrjmgaw508fj0ieacb5u 747388 747383 2026-06-18T14:00:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747388 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] ibgbvy3va9jdhqdvhljeork8o8eh3j9 747392 747388 2026-06-18T14:05:01Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747392 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] mxdc2tyb42v483jmqz74hqagysuxrly 747395 747392 2026-06-18T14:09:57Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747395 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] rzkzemop2xuychkdpzwso9cfm949gw5 747400 747395 2026-06-18T14:15:12Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747400 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] k371s9kmmjymr96axs0p3bujefwp2sd 747404 747400 2026-06-18T14:18:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747404 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=17 June 2026}} #REDIRECT [[Mergetest2]] s278n07g5h46n5jmzdj04pikv39ody8 747406 747404 2026-06-18T14:19:17Z Trialpears 43074 Blanked the page 747406 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 747407 747406 2026-06-18T14:20:33Z Trialpears 43074 Nominated for merging; see [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]]. 747407 wikitext text/x-wiki <!-- Please do not remove or change this AfD message until the discussion has been closed. --> {{AfDM|page=Mergetest1 (2nd nomination)|year=2026|month=June|day=18|substed=yes|origtag=afdx|help=off|outcome=merging|target=Mergetest2}} <!-- End of AfD message, feel free to edit beyond this point --> 44c82hgzqgvm043sx9r2qef23sbq4o6 747415 747407 2026-06-18T14:38:58Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747415 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} m0o7op7fvf9qixdre13b0gpx8nkrjue 747420 747415 2026-06-18T14:42:48Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747420 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 7yw39nhxtpvhny2ijqllca1ed73cpr5 747424 747420 2026-06-18T14:47:10Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747424 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} ofn24765stpnz0pjm63i29hxk660ltc 747432 747424 2026-06-18T14:54:43Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747432 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} j09yx0il0ocivpaypm2ltqxolq54w35 747437 747432 2026-06-18T14:55:32Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747437 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} h2dkwi3dgfj7qrzoefpegpen2jkdmpt 747444 747437 2026-06-18T15:06:27Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747444 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} c49fnw45ank3ltxugi0sn26if51kcef 747451 747444 2026-06-18T15:09:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747451 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} npg7idvakcmq6d3q41m67qyxesnquam 747456 747451 2026-06-18T15:13:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747456 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} gl2at6gwa6y6twrzdhtr0rpfm4uvyun 747462 747456 2026-06-18T15:40:25Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747462 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} hzkk59t6kjz3qrtt6ohniu9d5y9qjvt 747466 747462 2026-06-18T15:42:00Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747466 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} dwfvhlh5w94lzzyv17mbxikpgl9v1wi 747471 747466 2026-06-18T15:43:04Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747471 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 684re5h9mltsmwbd8is9gc2kek5d8c5 747478 747471 2026-06-18T15:48:37Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747478 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} doxl2pv95wqgsg8fjo3926n4bgd8qqn 747484 747478 2026-06-18T15:50:38Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747484 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} dwlp1k36o32lxmz4clandigfih6dqfa 747488 747484 2026-06-18T15:51:34Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747488 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} por6ab3jqh341nv5aobfavp64ptup79 747495 747488 2026-06-18T15:53:32Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747495 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 7k56ochpjb70uo31p4soi7mq589z9k5 747500 747495 2026-06-18T15:56:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747500 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} pvuxn4j9kmqoaomxawh9ex7ixe8ikm5 747509 747500 2026-06-18T16:21:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747509 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 3dbnwfa79ncr58curuoxdgyjixzgupo 747515 747509 2026-06-18T16:23:02Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747515 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} niljkpschmy5o17p1n8ya2ynke0pdi1 747520 747515 2026-06-18T16:32:11Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747520 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} nl4h49559g121bhupq7gxw7juaa959t 747525 747520 2026-06-18T16:35:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747525 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} gc0551qha8w6ch7gk0tadako63962p3 747529 747525 2026-06-18T16:37:13Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747529 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} c81pzuxo0pt8mi3ka35yvfkkwjhcj39 747541 747529 2026-06-18T20:47:41Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747541 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} luxsqk65svl6io0q65m46qx6uiwl3zl 747546 747541 2026-06-18T20:52:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747546 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 42gw4j8m941jkt2yrhz7xbl2nb2ru8u 747551 747546 2026-06-18T20:53:20Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747551 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} dky1bt9l1cdibhekrhcahpcbxpamt4s 747554 747551 2026-06-18T20:54:12Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747554 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 0ug1qfdgpox921don6zig890rnmv4eg 747559 747554 2026-06-18T20:55:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747559 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} q8z1xx77f8vvp2b3fk0vwfj81zgk1vx 747563 747559 2026-06-18T20:55:55Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747563 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} 8xfpv79r3js8iewcm1z6w7idkwd2ai3 747572 747563 2026-06-18T21:17:28Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747572 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} t8aelxz4ek3uvd6j2ma4igph53ta2oo 747577 747572 2026-06-18T21:18:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747577 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} f8ubavz1x7y42vc76hqqug5rxwqyrhv Mergetest2 0 176326 747403 747235 2026-06-18T14:18:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747403 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} I should get a merger to me okzqpl8ouq2602kj89ox7crynuk38t9 747410 747403 2026-06-18T14:20:33Z Trialpears 43074 Nominated for merging; see [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]]. 747410 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }}{{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} I should get a merger to me aol11lsdw5uyloxlfqm4wcfezt51j7m 747421 747410 2026-06-18T14:42:48Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747421 wikitext text/x-wiki {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge to|Mergetest2|discussion=Mergetest1|date=18 June 2026}} I should get a merger to me orewmpz0ai2z1dho1ew0rbq35iwa6pb 747422 747421 2026-06-18T14:45:53Z Trialpears 43074 harder test 747422 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{Merge|1= Somewhere else}} dyvz7ro13ruqis13j2y7w188mzs7k1p 747426 747422 2026-06-18T14:47:10Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747426 wikitext text/x-wiki I should get a merger to me ==Section 1== ==Section 2== undefined hpva3pz18cjq9u567o4szoj8mqm12sw 747429 747426 2026-06-18T14:52:55Z Trialpears 43074 Restored revision 747422 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747429 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{Merge|1= Somewhere else}} dyvz7ro13ruqis13j2y7w188mzs7k1p 747436 747429 2026-06-18T14:55:31Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747436 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 3pgyvavk0y3pvcpc3joti64o0o8ouap 747442 747436 2026-06-18T15:05:19Z Trialpears 43074 Restored revision 747429 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747442 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{Merge|1= Somewhere else}} dyvz7ro13ruqis13j2y7w188mzs7k1p 747446 747442 2026-06-18T15:06:27Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747446 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 3pgyvavk0y3pvcpc3joti64o0o8ouap 747448 747446 2026-06-18T15:08:58Z Trialpears 43074 Restored revision 747442 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747448 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{Merge|1= Somewhere else}} dyvz7ro13ruqis13j2y7w188mzs7k1p 747452 747448 2026-06-18T15:09:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747452 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 3pgyvavk0y3pvcpc3joti64o0o8ouap 747470 747452 2026-06-18T15:43:03Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747470 wikitext text/x-wiki {{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}} {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 7ek5fvcw66k9cjsjjzf2tyy386lwgjk 747476 747470 2026-06-18T15:48:36Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747476 wikitext text/x-wiki {{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}} {{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}} {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 2hjjhu54i7ug8lnezm3rd2jqvh84se0 747483 747476 2026-06-18T15:50:38Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747483 wikitext text/x-wiki {{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}} {{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}} {{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}} {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined p062v2xlxwjz4gtm4a5rkhrai1r2jvc 747489 747483 2026-06-18T15:51:34Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747489 wikitext text/x-wiki {{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}} {{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}} {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined 3837ib6hgs5cyxbtcnoaypoo5iad0hc 747493 747489 2026-06-18T15:53:32Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747493 wikitext text/x-wiki {{Being merged from|Mergetest1|afd=Mergetest1|date=18 June 2026}} {{Afd-merge to|__TARGET__|discussion=Mergetest1|date=18 June 2026}} {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== undefined aa0mhwu89b45fu1l15u113hjggr1fwb 747497 747493 2026-06-18T15:55:53Z Trialpears 43074 Restored revision 747448 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747497 wikitext text/x-wiki {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{Merge|1= Somewhere else}} dyvz7ro13ruqis13j2y7w188mzs7k1p 747502 747497 2026-06-18T15:56:10Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747502 wikitext text/x-wiki {{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}} I should get a merger to me ==Section 1== ==Section 2== {{Merge|1= Somewhere else}} qg3zhetpg2orfxgizidunow9zotdx4e 747504 747502 2026-06-18T16:20:41Z Trialpears 43074 test 747504 wikitext text/x-wiki {{article for deletion/dated}} {{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{merge}} mfpyzp9yl2zkezeeoxmsrjyvsmwccq3 747508 747504 2026-06-18T16:21:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747508 wikitext text/x-wiki {{article for deletion/dated}} I should get a merger to me ==Section 1== {{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}} ==Section 2== {{merge}} 6g3ifnlds1t39qgaiai5wbeqxd886zy 747510 747508 2026-06-18T16:22:45Z Trialpears 43074 Restored revision 747504 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747510 wikitext text/x-wiki {{article for deletion/dated}} {{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{merge}} mfpyzp9yl2zkezeeoxmsrjyvsmwccq3 747513 747510 2026-06-18T16:23:02Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747513 wikitext text/x-wiki I should get a merger to me ==Section 1== {{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}} ==Section 2== {{merge}} 3hlb0rebwoyl3pmze3nln07b6yc7arl 747516 747513 2026-06-18T16:31:31Z Trialpears 43074 Restored revision 747510 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747516 wikitext text/x-wiki {{article for deletion/dated}} {{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{merge}} mfpyzp9yl2zkezeeoxmsrjyvsmwccq3 747522 747516 2026-06-18T16:35:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747522 wikitext text/x-wiki I should get a merger to me ==Section 1== {{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}}==Section 2== {{merge}} 65ifuzdiq20ruyj19s11ssym57iukcz 747526 747522 2026-06-18T16:35:55Z Trialpears 43074 Restored revision 747516 by [[Special:Contributions/Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 747526 wikitext text/x-wiki {{article for deletion/dated}} {{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{merge}} mfpyzp9yl2zkezeeoxmsrjyvsmwccq3 747527 747526 2026-06-18T16:36:22Z Trialpears 43074 fix spacing 747527 wikitext text/x-wiki {{article for deletion/dated}} {{proposed merge|1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} I should get a merger to me ==Section 1== {{Merge from |1=Mergetest1 |target=Mergetest2 |afd=Mergetest1 (2nd nomination) |date =June 2026 }} ==Section 2== {{merge}} c6vnndc1gagad8xtt4dcnpatwwy7nqo 747531 747527 2026-06-18T16:37:13Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747531 wikitext text/x-wiki I should get a merger to me ==Section 1== {{Being merged from|Mergetest1|afd=Mergetest1 (2nd nomination)|date=18 June 2026}} ==Section 2== {{merge}} kyzzk1ihwvl5vvcqk3vqmqhq5bzm13r Wikipedia:Articles for deletion/Mergetest1 4 176333 747377 747311 2026-06-18T13:58:20Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747377 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) p6u5er1ewmojbfibcg1s08k09gl287o 747381 747377 2026-06-18T13:58:55Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747381 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 8qfx6u923k2wej4kjv6bm9jle2yc6t3 747385 747381 2026-06-18T14:00:20Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747385 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 3dpme5x79724pm20x6n5fvh2xkbnd2l 747389 747385 2026-06-18T14:04:59Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747389 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) k7qm4md08kmjvkltidec0rrwaxxdgs0 747393 747389 2026-06-18T14:09:56Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747393 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) e57pjmmp9c7q4azeufp05gzk9h0zmgx 747397 747393 2026-06-18T14:15:12Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747397 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) l2i6q271d6b6oc2l799adph51keua0j 747401 747397 2026-06-18T14:18:16Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747401 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 61o4gadn68mvshuyubsghqjd5edhhfb 747413 747401 2026-06-18T14:38:57Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747413 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 8a4p05wzkns4tjblcot1nvb55u8f0fb 747417 747413 2026-06-18T14:42:47Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747417 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) q45jxb4quhm70buhi44emr9zjnor7df 747423 747417 2026-06-18T14:47:09Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747423 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) c46pnwsvkr80g2r778es05m4ad5184v 747430 747423 2026-06-18T14:54:42Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747430 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 76rv7f63xoxt5pe5ui04odc0vwts624 747434 747430 2026-06-18T14:55:31Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747434 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) kgqdymh1vdd3vee0jhvdc93uc2zhvpd 747443 747434 2026-06-18T15:06:26Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747443 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) n8puxsbzbb84uqsd9ifq7pt79ivpfeo 747449 747443 2026-06-18T15:09:15Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747449 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) p92w48linhql7lc5vgzz60k8uaw8sot 747454 747449 2026-06-18T15:13:20Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747454 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) aodn0tckjllbqbg7wwx643801kfgiaj 747458 747454 2026-06-18T15:39:34Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747458 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) dyhw3rhw24mdvmget9ijun076ulqd4r 747460 747458 2026-06-18T15:40:24Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747460 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) j2e3gasjaky0y742h4sv2azgik2mh8o 747464 747460 2026-06-18T15:41:59Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747464 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) gbt7j213u22rs686rbedj7sc5npadta 747468 747464 2026-06-18T15:43:03Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747468 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) 40h5qfc9qiip7velyanz8lrorwuj4is 747473 747468 2026-06-18T15:47:48Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747473 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) bhbsfdkineuhwx6pnxaz7otbavviz0y 747475 747473 2026-06-18T15:48:36Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747475 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) ijoz1ehkzlj2g1j8cxhhvf1bxaslriw 747481 747475 2026-06-18T15:50:37Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747481 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) afwaku2uwt2sic4hcatpv6rp1tgn6d4 747486 747481 2026-06-18T15:51:33Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747486 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:51, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) rday90vmea1aim8t6s3cym5lczdzarb 747491 747486 2026-06-18T15:53:31Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747491 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:26, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:28, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:34, 16 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:54, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:02, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:05, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:41, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:42, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:43, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:44, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:45, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:46, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 17:47, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:21, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:22, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:24, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:25, 17 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 13:58, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:00, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:04, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:15, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:18, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:38, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:42, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:06, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:09, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:13, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:39, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:40, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:41, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:43, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:48, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:50, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:51, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:53, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 16#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1 Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because test [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:09, 16 June 2026 (UTC) fpqg946l9zgpm9fopfsj1w0bol2e8fe Talk:Mergetest1 1 176335 747378 747312 2026-06-18T13:58:22Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747378 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1}} 7l3o9g6robr6r6mhjxj2n1amrijsn9z 747382 747378 2026-06-18T13:58:56Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747382 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1}} 3nvjj6k2y947bbkfcb0781z4fkcsrqd 747386 747382 2026-06-18T14:00:21Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747386 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1}} j5tgjx981zloh3qa46ue53wtrgw4m6k 747391 747386 2026-06-18T14:05:01Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747391 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1}} cnmgopjnhf2unyg3ov1dl8cup5rrgvy 747394 747391 2026-06-18T14:09:57Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747394 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1}} 4edjjx8sdjslq6u3brnuklfj70mzd40 747398 747394 2026-06-18T14:15:12Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747398 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1}} hyplv9pj84im6lswub4865qjl35di6g 747402 747398 2026-06-18T14:18:16Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747402 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1}} i1e15ojzbyy8ased4gy74mxjty26hnq 747414 747402 2026-06-18T14:38:58Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747414 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1}} k2ajlq9tn2v0e0hvyoizidfnq5nwpz0 747419 747414 2026-06-18T14:42:48Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747419 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1}} 3w6j81x4op5oekcc9bgbfna2lrz1ath 747425 747419 2026-06-18T14:47:10Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747425 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1}} arq9clwxv3nn03kecmj2zyj7q5sp0ca 747431 747425 2026-06-18T14:54:43Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747431 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1}} pqoe3mme7rnghciz97mrknh55v0egkg 747435 747431 2026-06-18T14:55:31Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747435 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1}} r154ipz5385bzc93eofso20e4u41ut6 747445 747435 2026-06-18T15:06:27Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747445 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1}} c3kxxgkdguaosnb9gtytj894szql2b5 747450 747445 2026-06-18T15:09:16Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747450 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1}} 62f4wkfh7mlpmgz7w2gz2ybcie8wdr1 747455 747450 2026-06-18T15:13:21Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747455 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1}} ncsxigwjx9jf92j896mj8ikdvpac8sm 747459 747455 2026-06-18T15:39:35Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747459 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1}} khc7uq11qd0jgqp80kiffuevp8qappr 747461 747459 2026-06-18T15:40:25Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747461 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1}} 9dna0tb4b3r7se8l89dky3acx67homv 747465 747461 2026-06-18T15:41:59Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747465 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1}} d43ep1eunha6tpf7hsbre3e9otwl3sr 747469 747465 2026-06-18T15:43:03Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747469 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1}} rksuwmua9a8cv8qoqy5ijaqan9nvg08 747474 747469 2026-06-18T15:47:48Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747474 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1}} 10ojaffvxyt0p5aib4v6f7fkgf5ik7v 747477 747474 2026-06-18T15:48:36Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747477 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1}} 32sqtj2kopjnqhvmv03idu78jawj4cm 747482 747477 2026-06-18T15:50:38Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747482 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1}} erq13sy0ipj3n72yrxosa0568zbl679 747487 747482 2026-06-18T15:51:33Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747487 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1}} trup3b4wb0juq9e4cim38y3xqo6trxq 747492 747487 2026-06-18T15:53:31Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747492 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1}} qjhv29fbp0146j9qat8wrgghcod9pcb 747499 747492 2026-06-18T15:56:10Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747499 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination)}} bdk1aba79h9p5q0lbi9dc7blj4o60cl 747507 747499 2026-06-18T16:21:07Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747507 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination)}} bz24tx6ftlhvpa5tpq558nat6x9dmuf 747512 747507 2026-06-18T16:23:02Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747512 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination)}} j00dwr16j4ql4wckn434l3knvwm6qtq 747518 747512 2026-06-18T16:32:11Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747518 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination)}} dzaimu7enel0fi3deuun03irv68cc1y 747523 747518 2026-06-18T16:35:09Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747523 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination)}} iz464cb14folh15th07k5aze1x95bql 747530 747523 2026-06-18T16:37:13Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747530 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination)}} 7jxiiedvqw93by1shegsy48t1z2xuhd 747539 747530 2026-06-18T18:10:21Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as keep ([[WP:XFDC#4.0.16|XFDcloser]]) 747539 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination)}} t8coeb8fdgo3zk9295q0qbz41baoda8 747543 747539 2026-06-18T20:47:42Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747543 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination)}} powyyaguk4nyqeqt6xsxjgm9mu0r148 747545 747543 2026-06-18T20:52:09Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747545 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination)}} 27ppc1p9o6ix2frx4fcxemejzarcvz1 747549 747545 2026-06-18T20:53:20Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747549 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination)}} 9hactuqw48dirijd6t559pl1pavabb8 747553 747549 2026-06-18T20:54:12Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747553 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination)}} ojb0crv2ycdj2fq3psup21i4h08aavh 747557 747553 2026-06-18T20:55:21Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747557 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination)}} 5t8hjbj4p78b8joolk4fdfrmcya8ygz 747562 747557 2026-06-18T20:55:55Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747562 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination)}} 6vfp4ltk9vwsmzdi2oi1hta49hqt2m8 747570 747562 2026-06-18T21:17:28Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747570 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination)}} 6m7hhlewsnp3gcmre7va7c2oydz8zps 747574 747570 2026-06-18T21:18:07Z Trialpears 43074 Old AFD: [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747574 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination) |date58=18 June 2026 |result58='''Merge''' |page58=Mergetest1 (2nd nomination)}} qqt94ctcorq59xabvd88ib49k0ta1yv 747576 747574 2026-06-18T21:18:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747576 wikitext text/x-wiki {{Old AfD multi |date=16 June 2026 |result='''merge''' |page=Mergetest1 |date2=16 June 2026 |result2='''Merge''' |page2=Mergetest1 |date3=16 June 2026 |result3='''Merge''' |page3=Mergetest1 |date4=16 June 2026 |result4='''Merge''' |page4=Mergetest1 |date5=16 June 2026 |result5='''Merge''' |page5=Mergetest1 |date6=16 June 2026 |result6='''Merge''' |page6=Mergetest1 |date7=16 June 2026 |result7='''Merge''' |page7=Mergetest1 |date8=16 June 2026 |result8='''Merge''' |page8=Mergetest1 |date9=16 June 2026 |result9='''Merge''' |page9=Mergetest1 |date10=16 June 2026 |result10='''Merge''' |page10=Mergetest1 |date11=16 June 2026 |result11='''Merge''' |page11=Mergetest1 |date12=16 June 2026 |result12='''Merge''' |page12=Mergetest1 |date13=16 June 2026 |result13='''Merge''' |page13=Mergetest1 |date14=16 June 2026 |result14='''Merge''' |page14=Mergetest1 |date15=16 June 2026 |result15='''Merge''' |page15=Mergetest1 |date16=16 June 2026 |result16='''Merge''' |page16=Mergetest1 |date17=16 June 2026 |result17='''Merge''' |page17=Mergetest1 |date18=16 June 2026 |result18='''Merge''' |page18=Mergetest1 |date19=16 June 2026 |result19='''Merge''' |page19=Mergetest1 |date20=16 June 2026 |result20='''Merge''' |page20=Mergetest1 |date21=16 June 2026 |result21='''Merge''' |page21=Mergetest1 |date22=16 June 2026 |result22='''Merge''' |page22=Mergetest1 |date23=16 June 2026 |result23='''Merge''' |page23=Mergetest1 |date24=16 June 2026 |result24='''Merge''' |page24=Mergetest1 |date25=16 June 2026 |result25='''Merge''' |page25=Mergetest1 |date26=16 June 2026 |result26='''Merge''' |page26=Mergetest1 |date27=16 June 2026 |result27='''Merge''' |page27=Mergetest1 |date28=16 June 2026 |result28='''Merge''' |page28=Mergetest1 |date29=16 June 2026 |result29='''Merge''' |page29=Mergetest1 |date30=16 June 2026 |result30='''Merge''' |page30=Mergetest1 |date31=16 June 2026 |result31='''Merge''' |page31=Mergetest1 |date32=16 June 2026 |result32='''Merge''' |page32=Mergetest1 |date33=16 June 2026 |result33='''Merge''' |page33=Mergetest1 |date34=16 June 2026 |result34='''Merge''' |page34=Mergetest1 |date35=16 June 2026 |result35='''Merge''' |page35=Mergetest1 |date36=16 June 2026 |result36='''Merge''' |page36=Mergetest1 |date37=16 June 2026 |result37='''Merge''' |page37=Mergetest1 |date38=16 June 2026 |result38='''Merge''' |page38=Mergetest1 |date39=16 June 2026 |result39='''Merge''' |page39=Mergetest1 |date40=16 June 2026 |result40='''Merge''' |page40=Mergetest1 |date41=16 June 2026 |result41='''Merge''' |page41=Mergetest1 |date42=16 June 2026 |result42='''Merge''' |page42=Mergetest1 |date43=16 June 2026 |result43='''Merge''' |page43=Mergetest1 |date44=18 June 2026 |result44='''Merge''' |page44=Mergetest1 (2nd nomination) |date45=18 June 2026 |result45='''Merge''' |page45=Mergetest1 (2nd nomination) |date46=18 June 2026 |result46='''Merge''' |page46=Mergetest1 (2nd nomination) |date47=18 June 2026 |result47='''Merge''' |page47=Mergetest1 (2nd nomination) |date48=18 June 2026 |result48='''Merge''' |page48=Mergetest1 (2nd nomination) |date49=18 June 2026 |result49='''Merge''' |page49=Mergetest1 (2nd nomination) |date50=18 June 2026 |result50='''Keep''' |page50=Mergetest1 (2nd nomination) |date51=18 June 2026 |result51='''Merge''' |page51=Mergetest1 (2nd nomination) |date52=18 June 2026 |result52='''Merge''' |page52=Mergetest1 (2nd nomination) |date53=18 June 2026 |result53='''Merge''' |page53=Mergetest1 (2nd nomination) |date54=18 June 2026 |result54='''Merge''' |page54=Mergetest1 (2nd nomination) |date55=18 June 2026 |result55='''Merge''' |page55=Mergetest1 (2nd nomination) |date56=18 June 2026 |result56='''Merge''' |page56=Mergetest1 (2nd nomination) |date57=18 June 2026 |result57='''Merge''' |page57=Mergetest1 (2nd nomination)}} 6m7hhlewsnp3gcmre7va7c2oydz8zps Talk:Mergetest2 1 176336 747380 747313 2026-06-18T13:58:22Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747380 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} gqqkfos935saf4t18x69kuoojp8uu6l 747384 747380 2026-06-18T13:58:56Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747384 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} 0xp0w5z10l2tieeegzv3r3mzxrbu9tk 747387 747384 2026-06-18T14:00:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747387 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} oddosx8q4lk7furxpdg8xs18e6gkvo6 747390 747387 2026-06-18T14:05:01Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747390 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} heb3dqzi3oinp7zu9s8dqmspc4usmla 747396 747390 2026-06-18T14:09:57Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747396 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} pkz7427amxs3yk8xf242jlyambhre5b 747399 747396 2026-06-18T14:15:12Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747399 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} 24vet1oriojcrybsju7nnj77iqxvn2g 747405 747399 2026-06-18T14:18:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747405 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} ko2ew808q8o59tduixl7lwx3m0m1w0h 747416 747405 2026-06-18T14:38:58Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747416 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} plxslm2gfhfdgjjsm5rh7itxl43g96u 747418 747416 2026-06-18T14:42:48Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747418 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} sjmthq1c92povqysmwg6rvedfd0t4v7 747427 747418 2026-06-18T14:47:10Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747427 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} e37hz05muxmzv5wyfprdlbditi6d1o6 747433 747427 2026-06-18T14:54:43Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747433 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} luwhnnrngw4bjnu6u6sojpdc1fmabgo 747438 747433 2026-06-18T14:55:31Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747438 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} 4uir64690slwdwk1r6qyt4x0xso6w8a 747447 747438 2026-06-18T15:06:27Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747447 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} osysrnxux1eo5fc6ag4n2fyon5lf98x 747453 747447 2026-06-18T15:09:16Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747453 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} bofyej4hgbl9ibte5fgppmmac0i2rpe 747457 747453 2026-06-18T15:13:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747457 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} t2hsfi4bblvvv55ni6ocgaikwfi9rt5 747463 747457 2026-06-18T15:40:25Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747463 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} ekzub1sejucje57cihhxb8opo97ov3s 747467 747463 2026-06-18T15:42:00Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747467 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} grj4m56ny84h9o0nwk3mea7pzcz2pnk 747472 747467 2026-06-18T15:43:03Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747472 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} ks1zezqy5mq3w2n378t2o1z5zy2qdlc 747479 747472 2026-06-18T15:48:36Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747479 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} tt5xq9c182es0vp1aj24jlzo4so6qnx 747485 747479 2026-06-18T15:50:38Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747485 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} lp620zkfq7l34c1sfm094xdace3965m 747490 747485 2026-06-18T15:51:34Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747490 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} 46aabzn2mdpty0jaq21z8eu3xbo9hmd 747494 747490 2026-06-18T15:53:32Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747494 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=17 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1|date=16 June 2026}} ea13n4ywd18eex4141g4k8wc2apmpns 747496 747494 2026-06-18T15:55:33Z Trialpears 43074 Blanked the page 747496 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 747501 747496 2026-06-18T15:56:10Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747501 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} hy6jlselt7bivbtf9nyann1h33bdbnk 747506 747501 2026-06-18T16:21:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747506 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} brko4mmjllpp3lzs8c7xxh6n9y1fuuq 747514 747506 2026-06-18T16:23:02Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747514 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 72n2o7eqonqwtmnhgmpc6c840t1a8ch 747519 747514 2026-06-18T16:32:11Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747519 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 1lb35j72cyokzrycef2cqml505i4hcx 747524 747519 2026-06-18T16:35:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747524 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 6teurmyak2ej99c64r2fddz69omeawi 747532 747524 2026-06-18T16:37:13Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747532 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 2837k35co86gzg4sv5f3dwuvx3vgbx4 747542 747532 2026-06-18T20:47:41Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747542 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} tr5z0tefeloq901jj5tu0o0p60bma3k 747547 747542 2026-06-18T20:52:09Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747547 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} sqtda3jya1lfxy14mevbq12od45qz5t 747550 747547 2026-06-18T20:53:20Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747550 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 037ssqnxeioir2e1hq34rz3pubc9032 747555 747550 2026-06-18T20:54:12Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747555 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} j8ekrnxn166drhknhp4w36qsoheyg7d 747558 747555 2026-06-18T20:55:21Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747558 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} i6w7okieegro9ln22km229w5fl7gw3s 747561 747558 2026-06-18T20:55:55Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747561 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} id75ommwdbd5cgihso18o00ia83inut 747571 747561 2026-06-18T21:17:28Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747571 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 5tzyyn2dpnoxithwps4uyyzw2pndjlt 747575 747571 2026-06-18T21:18:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747575 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} at2az8pnnzyn1g8syli6v0rmn5fcfzm 747578 747575 2026-06-18T21:18:07Z Trialpears 43074 [[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]] closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747578 wikitext text/x-wiki {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} {{Afd-merge from|Mergetest1|discussion=Mergetest1 (2nd nomination)|date=18 June 2026}} 5tzyyn2dpnoxithwps4uyyzw2pndjlt Mergetest3 0 176339 747537 747110 2026-06-18T17:56:48Z Trialpears 43074 747537 wikitext text/x-wiki {{merge|afd=Mergetest1 (2nd nomination)}} qcb1cpv5t4t599ejuvd4iudr20ef3an 747568 747537 2026-06-18T21:15:23Z Trialpears 43074 747568 wikitext text/x-wiki {{merge|otherpage|afd=Mergetest1 (2nd nomination)}} gc1ipq3ay8frd9d77zo6ls5isfn6z4d Wikipedia:Articles for deletion/Mergetest1 (2nd nomination) 4 176383 747408 2026-06-18T14:20:33Z Trialpears 43074 Creating AfD discussion page for [[:Mergetest1]]. 747408 wikitext text/x-wiki ===[[:Mergetest1]]=== {{REMOVE THIS TEMPLATE WHEN CLOSING THIS AfD|?}} <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) n54o3wirvmbbbqevkdvsz2pxl3acm9u 747498 747408 2026-06-18T15:56:09Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747498 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) bgehetu5zahl94ogvl1i6pgutmmhjj9 747505 747498 2026-06-18T16:21:06Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747505 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) jhl7dcy8zvkamdt7wz3kezwpcv4zfk1 747511 747505 2026-06-18T16:23:01Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747511 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) htbwq6tyfrowzplte6u3jf6f40ha40l 747517 747511 2026-06-18T16:32:10Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747517 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 3o97r03ldngujvj7r8pndbsf3kinrpk 747521 747517 2026-06-18T16:35:08Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747521 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) pk81218pnadkckcvpxr1uun1xc837ev 747528 747521 2026-06-18T16:37:12Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747528 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) orqz6cvp80zqods8im5glm404fkwf9v 747536 747528 2026-06-18T17:55:39Z Trialpears 43074 747536 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 2oz9sv0xienyp6a98eftield1cicgrj 747538 747536 2026-06-18T18:10:20Z Trialpears 43074 /* Mergetest1 */ Closed as keep ([[WP:XFDC#4.0.16|XFDcloser]]) 747538 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 77fxr9hugmww4kzmz8qeefsieerqhq9 747540 747538 2026-06-18T20:47:40Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747540 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 6s2wg0n8optn3c38kyn4keoqjgch2gc 747544 747540 2026-06-18T20:52:08Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747544 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 00vmtbr2mb4vyya16459zujz48rziq0 747548 747544 2026-06-18T20:53:19Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747548 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) sld4fobca5iqlry3s3fc85ucdqxry5d 747552 747548 2026-06-18T20:54:11Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747552 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) r867loqiuri9q3j7ixovbwl4ijvzglz 747556 747552 2026-06-18T20:55:20Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747556 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) rsqbrq246m0a4nrf4brsmbts2x5kbcb 747560 747556 2026-06-18T20:55:54Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747560 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) nx67clzkj3ytwuoe5t35vpb20iu1m84 747569 747560 2026-06-18T21:17:27Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747569 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) 8gw556fdfyz28cyqynxk2i70asohuny 747573 747569 2026-06-18T21:18:06Z Trialpears 43074 /* Mergetest1 */ Closed as merge ([[WP:XFDC#4.0.16|XFDcloser]]) 747573 wikitext text/x-wiki to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 15:56, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:21, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:23, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:32, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:35, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 16:37, 18 June 2026 (UTC) . [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 18:10, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:47, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:52, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:53, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:54, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 20:55, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:17, 18 June 2026 (UTC) to [[Mergetest2]]. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 21:18, 18 June 2026 (UTC) ===[[:Mergetest1]]=== <div class="infobox" style="width:33%">AfDs for this article:<ul class="listify">{{Special:Prefixindex/Wikipedia:Articles for deletion/Mergetest1}}</ul></div> <noinclude>{{AFD help}}</noinclude> :{{la|Mergetest1}} – (<includeonly>[[Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)|View AfD]]</includeonly><noinclude>[[Wikipedia:Articles for deletion/Log/2026 June 18#{{anchorencode:Mergetest1}}|View log]]</noinclude>{{int:dot-separator}} <span class="plainlinks">[https://tools.wmflabs.org/jackbot/snottywong/cgi-bin/votecounter.cgi?page=Wikipedia:Articles_for_deletion/Mergetest1_(2nd_nomination) Stats]</span>) :({{Find sources AFD|Mergetest1}}) I propose '''merging''' to [[Mergetest2]] because Also tagging [[Mergetest3]] to make things hard. [[User:Trialpears|Trialpears]] ([[User talk:Trialpears|talk]]) 14:20, 18 June 2026 (UTC) sryp4up8fhbufzosp6zorr8qadag0cg Wikipedia:Articles for deletion/Log/2026 June 18 4 176384 747409 2026-06-18T14:20:33Z Trialpears 43074 Adding [[:Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)]]. 747409 wikitext text/x-wiki {{Recent AfDs}} <div class="boilerplate metadata vfd" style="background-color: #F3F9FF; margin: 0 auto; padding: 0 1px 0 0; border: 1px solid #AAAAAA; font-size:10px"> {| width = "100%" |- ! width="50%" align="left" | <span style="color:gray">&lt;</span> [[Wikipedia:Articles for deletion/Log/2026 June 17|June 17]] ! width="50%" align="right" | [[Wikipedia:Articles for deletion/Log/2026 June 19|June 19]] <span style="color:gray">&gt;</span> |} </div> <div align = "center">'''[[Wikipedia:Guide to deletion|Guide to deletion]]'''</div> {{Cent}} <small>{{purge|Purge server cache}}</small> __TOC__ <!-- Add new entries to the TOP of the following list --> {{Wikipedia:Articles for deletion/Mergetest1 (2nd nomination)}} 3r7cdt0m767knl520pewes4b838w9jj Template:TFA/2026-06-19 10 176385 747533 2026-06-18T17:12:25Z YaThaWinTha 55336 Created page with "<div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''..." 747533 wikitext text/x-wiki <div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''[[ဆောင်းပါးခေါင်းစဉ်|အပြည့်အစုံဖတ်ရန်...]]'' </div> </div> ds3ki59nla2kjzb92dym6md369tyqye Template:TFA/2026-06-18 10 176386 747534 2026-06-18T17:13:29Z YaThaWinTha 55336 Created page with "<div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''..." 747534 wikitext text/x-wiki <div style="display:flex;"> <div style="flex: 30%; padding-right: 10px;"> [[File:ရခိုင်ဆောင်းပါးပုံ.jpg|center|150px]] </div> <div style="flex: 70%;"> '''[[ဆောင်းပါးခေါင်းစဉ်]]''' သည် ရခိုင်ပြည်နယ်၏... (ဤနေရာတွင် ဆောင်းပါးအနှစ်ချုပ်ကို ရေးသားပါ)...။ <br/><br/> ''[[ဆောင်းပါးခေါင်းစဉ်|အပြည့်အစုံဖတ်ရန်...]]'' </div> </div> ds3ki59nla2kjzb92dym6md369tyqye Template:TFA 10 176387 747535 2026-06-18T17:13:57Z YaThaWinTha 55336 Created page with "{{Template:TFA/{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}}" 747535 wikitext text/x-wiki {{Template:TFA/{{CURRENTYEAR}}-{{CURRENTMONTH}}-{{CURRENTDAY2}}}} iggcswshn6xr0s92icjpx1nmlp5bxs6 Talk:🌀︎ 1 176388 747580 2026-06-18T21:54:12Z User97104 72884 /* T */ new section 747580 wikitext text/x-wiki == T == [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC) fkh5x6h0eeu87db7nf008gjxz6p6hkh 747581 747580 2026-06-18T21:54:21Z User97104 72884 747581 wikitext text/x-wiki == T == [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC) [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC) 7kl2iv3gg2rwohlhkuj8pw0txen1ybk 747582 747581 2026-06-18T21:54:46Z User97104 72884 747582 wikitext text/x-wiki == T == [[User:User97104|User97104]] ([[User talk:User97104|talk]]) 21:54, 18 June 2026 (UTC) == == 46eezeakm8qwngniydze0drfwihu7bq Template:Plh 10 176389 747584 2026-06-18T21:56:49Z User97104 72884 Created page with "plunk" 747584 wikitext text/x-wiki plunk 29wovrn7wjz6f593mrpm7eo6gf00f8f Template:Esboço 10 176390 747585 2026-06-18T21:57:18Z User97104 72884 Created page with "This is a transclusion random link ladder." 747585 wikitext text/x-wiki This is a transclusion random link ladder. 65nxlvz8tnn4iy4rbz5bx6yb07g4f5q Template:Parcial 10 176391 747586 2026-06-18T21:58:14Z User97104 72884 Created page with "igabnorqne{{Plh}}" 747586 wikitext text/x-wiki igabnorqne{{Plh}} kewbp2jt9yu0uplnlrtm97dy2q8qgax Pagination test 0 176392 747587 2026-06-18T21:58:48Z User97104 72884 Created page with "hasasubpage" 747587 wikitext text/x-wiki hasasubpage nufsdwga9j2uesdzjav07c49f41onvl Template:Sfnm 10 176393 747592 2026-06-19T05:59:56Z Johannes Richter (WMDE) 61456 test 747592 wikitext text/x-wiki <includeonly>{{#invoke:Footnotes|sfnm|template=sfnm}}</includeonly><noinclude> {{Documentation}} </noinclude> 30eu4d1lwkb49nkua2fvoy409c5paxk User:Johannes Richter (WMDE)/sandbox 2 176394 747597 2026-06-19T06:18:10Z Johannes Richter (WMDE) 61456 example using "fake" sfnm 747597 wikitext text/x-wiki {{Infobox album |name=Test<ref name="Miller" details="p. 23" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" /> }} According to scientists, the Sun is pretty big.<ref name="Miller" details="p. 23">{{Cite book |last=Miller |first=E. |date=2005 |title=The Sun |publisher=Academic Press |location=New York}}</ref><ref>R. Smith. ''Size of the Moon''. Scientific American, 46 (April 1978): 44–46.</ref> In fact, it is very big.<ref name="Miller" details="p. 50" /> Take their word for it.<ref name="Miller" details="p. 48" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 23; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 61" /> Don't look directly at the sun!<ref>Drake, A. (2023). ''The Solar Phenomenon: A New Era of Sun Research''. Solar Science Press.</ref><ref name="Miller" details="p. 50" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" /> More text... == References == <references> <ref name="sfnm">{{cite book|last1=Jones|first1=John|last2=Johnson|first2=John|last3=Smith|first3=John|year=2004|title=Our First Book}}; {{cite book|last1=Smith|first1=John|last2=Jones|first2=John|last3=Johnson|first3=John|year=2005|title=Our Second Book}}</ref> </references> lucmc5pn9ti61qesyp770m589wotd1d 747598 747597 2026-06-19T06:20:32Z Johannes Richter (WMDE) 61456 test 747598 wikitext text/x-wiki {{Infobox album |name=Test<ref name="Miller" details="p. 23" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" /> }} According to scientists, the Sun is pretty big.<ref name="Miller" details="p. 23">{{Cite book |last=Miller |first=E. |date=2005 |title=The Sun |publisher=Academic Press |location=New York}}</ref><ref>R. Smith. ''Size of the Moon''. Scientific American, 46 (April 1978): 44–46.</ref> In fact, it is very big.<ref name="Miller" details="p. 50" /> Take their word for it.<ref name="Miller" details="p. 48" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 23; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 61" /> Don't look directly at the sun!<ref>Drake, A. (2023). ''The Solar Phenomenon: A New Era of Sun Research''. Solar Science Press.</ref><ref name="Miller" details="p. 50" /><ref name="sfnm" details="[[#CITEREFSmithJonesJohnson2005|Smith, Jones & Johnson 2005]], p. 15; [[#CITEREFJonesJohnsonSmith2004|Jones, Johnson & Smith 2004]], p. 50" /> More text... == References == <references> <ref name="sfnm">{{cite book|last1=Jones|first1=John|last2=Johnson|first2=John|last3=Smith|first3=John|year=2004|title=Our First Book}}</br>{{cite book|last1=Smith|first1=John|last2=Jones|first2=John|last3=Johnson|first3=John|year=2005|title=Our Second Book}}</ref> </references> katgrgy774eejgyxu22osl01al7l4kp