<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://12treasures.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burnstyle</id>
	<title>The Secret Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://12treasures.com/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Burnstyle"/>
	<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/Special:Contributions/Burnstyle"/>
	<updated>2026-08-29T23:33:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Jewels&amp;diff=1175</id>
		<title>Jewels</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Jewels&amp;diff=1175"/>
		<updated>2026-02-18T06:46:55Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Amethyst */ fixed city association&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Each of the twelve puzzles in [[The Secret (book)|&#039;&#039;The Secret&#039;&#039;]] incorporate a different &#039;&#039;&#039;jewel,&#039;&#039;&#039; which is featured in the [[paintings]]. These correspond to twelve actual jewels, which were purchased by [[Byron Preiss]] to serve as rewards for successful treasure hunters. According to the rules of the treasure hunt, the finder of a casque can remove the key sequestered within, and redeem it for the corresponding jewel.&lt;br /&gt;
&lt;br /&gt;
Within the lore of &#039;&#039;The Secret&#039;&#039;, each of these jewels (also referred to as “wonderstones” in the text) was brought to the New World by a different tribe of the [[Fair People]], during their migration to North America. The (fictional) provenance of each gem is given in the [[Litany of the Jewels]].&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* Although they are never referred to as such in the text, the twelve jewels also correspond to “birthstones”, gems commonly associated with a particular month of the year.&lt;br /&gt;
* In some press interviews conducted during the launch of the book, Byron Preiss is quoted as saying the intrinsic value of the gems corresponds to the difficulty of the individual puzzles.&lt;br /&gt;
&lt;br /&gt;
== In-book Lore ==&lt;br /&gt;
As described in the Litany, the jewels are treasured cultural artifacts, each brought to the “New Found Land” by a different tribe of Fair Folk:&amp;lt;blockquote&amp;gt;But of all the desires of the Fair People, there is one thing for which Man shares the same passion: Jewels. To the Fairies, gold is pretty enough stuff. It reminds them of sunlight dancing on water and of the turning leaves in autumn. (Catch a Leprechaun, they say, and demand of him his golden treasure: you&#039;ll sleep a hundred years and wake with dead leaves in your pocket—he keeps his word.) &lt;br /&gt;
&lt;br /&gt;
Likewise, they cherish silver, for it puts them in mind of moonlight and icicles.&lt;br /&gt;
&lt;br /&gt;
But precious stones they value for themselves; perhaps because, like them, gems are earthborn, rare, and beautiful. When it comes to jewelry (and the Fairies are great craftsmen of jewelry)—to rings and pendants, bracelets and necklaces, to broaches and inlaid dagger hilts, coronets and combs—the Fair People can be jealous, greedy, vain, quarrelsome, possessive, treacherous—almost, in a word, human.&lt;br /&gt;
&lt;br /&gt;
When the Thirteen Nations of the Fair People came to the New Found Land, twelve tribes brought with them their chief pride and treasure: a gem from the Old World, a remembrance of their history and tradition. &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are the “wonderstones”, in alphabetical order:&lt;br /&gt;
&lt;br /&gt;
== Amethyst ==&lt;br /&gt;
Described as &amp;lt;blockquote&amp;gt;&#039;&#039;Dwarves’ treasure: purple Amethyst,&#039;&#039;/&#039;&#039;Imperial star of Germany.&#039;&#039; (p. 20)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* An apparent amethyst is is centrally placed in Image 10, generally associated with Milwaukee, Wisconson.&lt;br /&gt;
&lt;br /&gt;
== Aquamarine ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Nymphs of Hellas cherish sweet/Aquamarine, spring-water clear.&#039;&#039; (p. 21)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* An aquamarine is displayed in Image 4, which was used to locate the Cleveland Casque on May 18th, 2004.&lt;br /&gt;
&lt;br /&gt;
== Diamond ==&lt;br /&gt;
&lt;br /&gt;
Described as  &amp;lt;blockquote&amp;gt;&#039;&#039;Africa’s Diamond, earth-born star&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Bright harvest of the midnight rock.&#039;&#039; (p. 21) &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* What is believed to be a diamond can be seen in the lower right-hand corner of Image 2, which is generally associated with the city of Charleston, South Carolina.&lt;br /&gt;
* While the jewels in other paintings are integrated into larger graphic elements, the diamond in Image 2 is isolated, an image into itself.&lt;br /&gt;
&lt;br /&gt;
== Emerald ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Brilliant as eyes of Celtic folk,&#039;&#039;/&#039;&#039;Cold morning green, their Emerald&#039;&#039;. (p. 20)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* An emerald earring is worn on the central figure of Image 5, which was used to find the Chicago Casque in July of 1983.&lt;br /&gt;
&lt;br /&gt;
== Garnet ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Fairies of England proudly bear/Garnet, crown-jewel of their Queen.&#039;&#039; (p. 20)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* What appears to be a garnet can be seen in the belt of the armored figure in Image 3, generally associated with Roanoke, Virginia.&lt;br /&gt;
&lt;br /&gt;
== Pearl ==&lt;br /&gt;
Described as &amp;lt;blockquote&amp;gt;&#039;&#039;From far Cathay, the dragon’s Pearl:&#039;&#039;/&#039;&#039;Chaste, perfect as the silver moon.&#039;&#039; (p. 21)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* A pearl appears to be placed as if on a necklace in Image 1, which is generally associated with San Francisco.&lt;br /&gt;
* While the pearl is positioned as it would be on a necklace, no jewelry is apparent. Instead, the pearl hovers at the central figure’s throat.&lt;br /&gt;
&lt;br /&gt;
== Peridot ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Peridot of old Italy:&#039;&#039;/&#039;&#039;Antique, and olivine, and rich&#039;&#039;. (p. 21)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* A peridot can be seen in Image 11, which was used to locate the Boston Casque on October 4, 2019.&lt;br /&gt;
&lt;br /&gt;
== Ruby ==&lt;br /&gt;
&lt;br /&gt;
Described as &amp;lt;blockquote&amp;gt;&#039;&#039;The Ruby out of Araby:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Scarlet of desert sky at dawn.&#039;&#039; (p. 21)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* What appears to be a ruby is centrally placed in Image 8, generally associated with Houston, Texas.&lt;br /&gt;
&lt;br /&gt;
== Sapphire ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;The Hadas of Iberia:&#039;&#039;/&#039;&#039;Sapphire, shy as a wild field flower&#039;&#039;. (p. 20)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* What appears to be a sapphire is present on Image 6, generally associated with St. Augustine, Florida.&lt;br /&gt;
&lt;br /&gt;
== Topaz ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;A Topaz is the Russian prize:/The royal sunstone, frozen fire.&#039;&#039; (p. 21)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* What appears to be a topaz is placed among the foreground water droplets in Image 12, generally associated with New York City, New York.&lt;br /&gt;
&lt;br /&gt;
== Turquoise ==&lt;br /&gt;
Described as &lt;br /&gt;
&amp;lt;blockquote&amp;gt;&#039;&#039;Turquoise the Fays of France keep: stone/Rare as a blue midsummers day.&#039;&#039; (p. 20)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Observations ====&lt;br /&gt;
&lt;br /&gt;
* The rounded shape at the base of the clock’s celestial imagery in Image 7 (generally associated with New Orleans, Louisiana), appears to be a polished turquoise stone.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1166</id>
		<title>The Passage to the New World</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1166"/>
		<updated>2026-01-19T01:47:25Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! THE PASSAGE: PUBLISHED&lt;br /&gt;
! THE PASSING OF THE ELVES: MANUSCRIPT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the fair tall Elven folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke;&lt;br /&gt;
&lt;br /&gt;
Sweet Spirits came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Djinni&#039;&#039;&#039; arrived. From sunrise and through storm,&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came-Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World (which they called the Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so&lt;br /&gt;
&lt;br /&gt;
himself, in the saga he often sang) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper-haired Sea-Troll of Nortland. It was he,&lt;br /&gt;
&lt;br /&gt;
he bragged, who left Scandia to brave alone the&lt;br /&gt;
&lt;br /&gt;
teeth of the Hell-hounds at sheer cliff&#039;s lip of the&lt;br /&gt;
&lt;br /&gt;
flat Earth&#039;s edge; he the hero who pressed a single&lt;br /&gt;
&lt;br /&gt;
print from his reindeer-hide boots on the beach&lt;br /&gt;
&lt;br /&gt;
there, and he who came back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Leprechaun&#039;&#039;&#039; from Kerry, who zigzagged&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;all the way from the tip of the Dingle to the Brave&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;New World in a sealskin canoe, with naught but&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;poteen for provender.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Brandan&#039;&#039;&#039; to be mere myth (even Legends, it&lt;br /&gt;
&lt;br /&gt;
seems, look down on legends) and attributed the&lt;br /&gt;
&lt;br /&gt;
Discovery of the New Found Land to the Italian&lt;br /&gt;
&lt;br /&gt;
fairy Colon Savanelli, an intrepidly nautical Folleto&lt;br /&gt;
&lt;br /&gt;
out of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Iberian Hadas (that is, the &#039;&#039;&#039;Spanish&#039;&#039;&#039; Fays) to&lt;br /&gt;
&lt;br /&gt;
Seek the fabulous Spice Islands. Once found, she&lt;br /&gt;
&lt;br /&gt;
Hoped that they would become a foster homeland&lt;br /&gt;
&lt;br /&gt;
for her subjects, and indeed, for all the Fair People&lt;br /&gt;
&lt;br /&gt;
of the Middle Kingdom whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
Coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, Who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of Streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a Straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very Beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, heavy-treading Man, who&lt;br /&gt;
&lt;br /&gt;
with his weapons of forged iron had Lately&lt;br /&gt;
&lt;br /&gt;
murdered, just for sport, what was believed to Be&lt;br /&gt;
&lt;br /&gt;
the last, and irreplaceable, Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli’s success and of the Spanish&lt;br /&gt;
&lt;br /&gt;
Exodus ran like fox fire across the dying Middle&lt;br /&gt;
&lt;br /&gt;
Kingdom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
Deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomLess rivers, topless mountains—a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were the first to follow. &#039;&#039;&#039;(The tall,&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proud Hadas of Spain had already departed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;However reluctantly-with their diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic relatives, the Duendes.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From France came the Sturdy seafaring Korreds of&lt;br /&gt;
&lt;br /&gt;
Brittany; the nomadic, Shape-shifting Lutins of&lt;br /&gt;
&lt;br /&gt;
Normandy, Domes Blanches and Domes Verles,&lt;br /&gt;
&lt;br /&gt;
coquettish maidens From the river valleys of the&lt;br /&gt;
&lt;br /&gt;
Aquitaine, Loups Garoux from the forests. All&lt;br /&gt;
&lt;br /&gt;
these found refuge From the onslaught of Man&lt;br /&gt;
&lt;br /&gt;
upon the chill and rocky Northern coast of the&lt;br /&gt;
&lt;br /&gt;
New Found Land across the Sea. Forsaking the&lt;br /&gt;
&lt;br /&gt;
sun-tanned &#039;&#039;&#039;Riviera&#039;&#039;&#039;, water Dracs, Playful-as-&lt;br /&gt;
&lt;br /&gt;
porpoises, and the languid, amorous Fadas found&lt;br /&gt;
&lt;br /&gt;
contentment upon the hot southern Shores of the&lt;br /&gt;
&lt;br /&gt;
New World, amidst pink, long-legged Birds and&lt;br /&gt;
&lt;br /&gt;
high, swaying palms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In England, the erstwhile high-honored court of&lt;br /&gt;
&lt;br /&gt;
The Fairy Queen was now much diminished. Her&lt;br /&gt;
&lt;br /&gt;
Majesty, Mab Herself, and many of Her subjects,&lt;br /&gt;
&lt;br /&gt;
Pixies, Hobgoblins, and Boggarts alike, had shrunk&lt;br /&gt;
&lt;br /&gt;
To tiny size. Robin had been exiled to Sherwood.&lt;br /&gt;
&lt;br /&gt;
Right gladly did all that company hear the news of&lt;br /&gt;
&lt;br /&gt;
a Haven in the West, and right swiftly they&lt;br /&gt;
&lt;br /&gt;
embarked Therefor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The venerable &#039;&#039;&#039;Dutch&#039;&#039;&#039; merchant empire of the&lt;br /&gt;
&lt;br /&gt;
Lowland Alven was also in its autumn. Their sailor&lt;br /&gt;
&lt;br /&gt;
Servants, the Klabautennannikins, made ready&lt;br /&gt;
&lt;br /&gt;
their Broad-bottomed boats, and away they&lt;br /&gt;
&lt;br /&gt;
sailed, to Settle peaceably, at length, among&lt;br /&gt;
&lt;br /&gt;
rolling hills by a &#039;&#039;&#039;Wide river richly lined with cliffs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and trees&#039;&#039;&#039;. Clear, Running creeks they found there,&lt;br /&gt;
&lt;br /&gt;
and wildcats in Abundance, wherefore they&lt;br /&gt;
&lt;br /&gt;
named their new home “Kaaterskill” (&#039;&#039;&#039;Wildcat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creek).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From Eire (that most distressful country), the&lt;br /&gt;
&lt;br /&gt;
conquered and humbled native gentry, the Sidhe,&lt;br /&gt;
&lt;br /&gt;
set Forth &#039;&#039;&#039;to follow in Brandan’s path&#039;&#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
accompanied on Board by such of their lower-&lt;br /&gt;
&lt;br /&gt;
class countrymen as the shoe-making&lt;br /&gt;
&lt;br /&gt;
Leprechauns and the endlessly Joking, &#039;&#039;&#039;drunk, and&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;disorderly&#039;&#039;&#039; Fir Darrigs. &#039;&#039;&#039;Observed a Mortal Irish&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;observer:*&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“The fairies … are retiring one by one from the&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Habitations of man, to the distant islands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;where the Wild waves of the Atla ntic raise their&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foaming crests…”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lost to the Scottish Highlands then an’ evermair&lt;br /&gt;
&lt;br /&gt;
Was the Seelie Court: the Fair Folk known as&lt;br /&gt;
&lt;br /&gt;
Trows, Fachans, Brownies, an’ People o ‘ Peace.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As the tale Is told, “Only two children&#039;&#039;&#039; marked&lt;br /&gt;
&lt;br /&gt;
their passing, as the wee creatures rode their&lt;br /&gt;
&lt;br /&gt;
shaggy ponies down to The sea. The mortal lad&lt;br /&gt;
&lt;br /&gt;
called out to the last rider, ‘What are ye, little&lt;br /&gt;
&lt;br /&gt;
mannie? And where are ye goIng?’ ‘Not of the race&lt;br /&gt;
&lt;br /&gt;
of Adam,’ said the creature, Turning for a moment&lt;br /&gt;
&lt;br /&gt;
in his saddle: ‘the People o’Peace shall never&lt;br /&gt;
&lt;br /&gt;
more be seen in Scotland. ‘ “**&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Their &#039;&#039;&#039;rough-hewn bark&#039;&#039;&#039;s were piloted West by&lt;br /&gt;
&lt;br /&gt;
Silkies and Kelpies, over the sea, beyond Skye, to&lt;br /&gt;
&lt;br /&gt;
a Nova Scotia . . . .&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Down ice green fjords &#039;&#039;&#039;of Scandinavia&#039;&#039;&#039;, and away&lt;br /&gt;
&lt;br /&gt;
to The &#039;&#039;&#039;Land of the Eagle&#039;&#039;&#039;, then sailed the Ellefolk,&lt;br /&gt;
&lt;br /&gt;
in their terrible-prowed long-ships: the Nissen and&lt;br /&gt;
&lt;br /&gt;
the Tomtra, those hairy farm-fairies; Grims from&lt;br /&gt;
&lt;br /&gt;
the stone Towers; squat, squinting Wood- and&lt;br /&gt;
&lt;br /&gt;
River-Trolls; and, in the bows, faces set to the cold&lt;br /&gt;
&lt;br /&gt;
salt spray, the Elves themselves, yellow hair&lt;br /&gt;
&lt;br /&gt;
streaming in the wind, Blue-gray eyes fixed on the&lt;br /&gt;
&lt;br /&gt;
far horizon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Of all the Folk of Jotunheim, only some of the&lt;br /&gt;
&lt;br /&gt;
Koboldes Stayed behind, &#039;&#039;&#039;and these proud Tree-&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fairies&#039;&#039;&#039; were Soon and forever turned to wooden&lt;br /&gt;
&lt;br /&gt;
playthings for The children of Man.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Guided on its stately way by the Rhine Maidens, A&lt;br /&gt;
&lt;br /&gt;
great fleet bearing away strong-thewed Dwarfs&lt;br /&gt;
&lt;br /&gt;
From the mines, plump and hairy Witchtln from&lt;br /&gt;
&lt;br /&gt;
the Fields, the handsome Wilden Fraulein from&lt;br /&gt;
&lt;br /&gt;
the Marshes, and red-capped Hatchen from the&lt;br /&gt;
&lt;br /&gt;
Black Forest forsook Germany and her neighbors&lt;br /&gt;
&lt;br /&gt;
for the New World, far across the sea.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Then from the East, from the Far Marches, from&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
the wide snowy Steppes and boundless fertile&lt;br /&gt;
&lt;br /&gt;
plains Of &#039;&#039;&#039;Russia&#039;&#039;&#039;-travelled the native Fair Folk:&lt;br /&gt;
&lt;br /&gt;
Vazily, Poleviki, Domivye, and Vily. The Leshy&lt;br /&gt;
&lt;br /&gt;
abandoned The forest tops of Tatary, the Rusyalki&lt;br /&gt;
&lt;br /&gt;
rose up from The river beds, and all followed the&lt;br /&gt;
&lt;br /&gt;
Forest Fathers And Moss Maidens across the&lt;br /&gt;
&lt;br /&gt;
winter prairie to the Black Sea shore and onto&lt;br /&gt;
&lt;br /&gt;
waiting ships. Together &#039;&#039;&#039;they emigrated,&#039;&#039;&#039; away to&lt;br /&gt;
&lt;br /&gt;
the West.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the stern tall Elven-folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke,&lt;br /&gt;
&lt;br /&gt;
The Dark Ones came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spirits&#039;&#039;&#039; arrived. From sunrise and through storm&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came -Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World, (which they called The Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so him-&lt;br /&gt;
&lt;br /&gt;
self, in the saga he sang of it often) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper- haired Sea Troll of Nortland. He it was,&lt;br /&gt;
&lt;br /&gt;
he bragged, who braved alone the teeth of the Hel-&lt;br /&gt;
&lt;br /&gt;
hounds at sheer cliff&#039;s lip of the flat Earth&#039;s Edge,&lt;br /&gt;
&lt;br /&gt;
he the hero who pressed a single reindeer- hide&lt;br /&gt;
&lt;br /&gt;
boot-print on the beach there, and he who came&lt;br /&gt;
&lt;br /&gt;
back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Fir Bolg&#039;&#039;&#039; from Kerry, who zig-zagged all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;the way West in a seal-skin canoe, with naught but&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;poteen for provender, from the tip of the Dingle to&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;the Brave New World.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Cluricaune&#039;&#039;&#039; to be mere myth (even&lt;br /&gt;
&lt;br /&gt;
Legends, it seems, look down on legends) and&lt;br /&gt;
&lt;br /&gt;
attributed the Discovery of the New Found Land to&lt;br /&gt;
&lt;br /&gt;
Colon Savanelli, an intrepidly nautical Folleto out&lt;br /&gt;
&lt;br /&gt;
of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Hadas (that is, the &#039;&#039;&#039;Iberian&#039;&#039;&#039; Fays) to seek the&lt;br /&gt;
&lt;br /&gt;
fabulous Spice Islands. She hoped that, once&lt;br /&gt;
&lt;br /&gt;
found, they would become a foster homeland for&lt;br /&gt;
&lt;br /&gt;
her subjects; and, indeed, for all the Fair People of&lt;br /&gt;
&lt;br /&gt;
the Middle Kingdom, whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself, and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, &#039;&#039;&#039;stinking&#039;&#039;&#039; heavy-treading&lt;br /&gt;
&lt;br /&gt;
Man, who with his weapons of forged iron had&lt;br /&gt;
&lt;br /&gt;
lately murdered, just for sport, what was believed&lt;br /&gt;
&lt;br /&gt;
to be the last and irreplaceable Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli&#039;s success, and of the Spanish&lt;br /&gt;
&lt;br /&gt;
exodus, &#039;&#039;&#039;(together with the tall proud Hadas had&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;departed however reluctantly the diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic spirits called Duende)&#039;&#039;&#039; ran like fox fire&lt;br /&gt;
&lt;br /&gt;
across the dying Middle Kingdom.&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomless rivers, topless mountains -- a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were first to follow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sturdy sea- faring Korreds of Brittany; the&lt;br /&gt;
&lt;br /&gt;
nomadic, shape-shifting Lutins of Normandy,&lt;br /&gt;
&lt;br /&gt;
Dames Blanches and Dames Vertes from the river&lt;br /&gt;
&lt;br /&gt;
valleys of the Aquitain, Loups Garoux from the&lt;br /&gt;
&lt;br /&gt;
forests all these found refuge from the onslaught&lt;br /&gt;
&lt;br /&gt;
of Man, upon the chill and rocky northern coast of&lt;br /&gt;
&lt;br /&gt;
the New Found Land. Forsaking the sun-tanned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Langue d&#039;Oc&#039;&#039;&#039;, the playful-as-porpoises Dracs and&lt;br /&gt;
&lt;br /&gt;
the languid, amorous Fadas found content upon&lt;br /&gt;
&lt;br /&gt;
the hot southern shores there, amidst pink long-&lt;br /&gt;
&lt;br /&gt;
legged birds and high swaying palms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In England, the erstwhile high-honored Court of&lt;br /&gt;
&lt;br /&gt;
the Faerie Queene was now much diminished.&lt;br /&gt;
&lt;br /&gt;
Mab herself, and many of her subject Pixies, Hob&lt;br /&gt;
&lt;br /&gt;
Goblins and Boggarts, had shrunk to tiny size.&lt;br /&gt;
&lt;br /&gt;
Robin had been exiled to Sherwood, Oberon and&lt;br /&gt;
&lt;br /&gt;
Titania to Arden. Right gladly did all that company&lt;br /&gt;
&lt;br /&gt;
hear the news of a Haven in the West, and right&lt;br /&gt;
&lt;br /&gt;
swiftly they embarked there for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The venerable merchant-empire of the Lowland&lt;br /&gt;
&lt;br /&gt;
Alven was also in its autumn. Now, their sailor-&lt;br /&gt;
&lt;br /&gt;
servants, Klabartermannikins, made ready their&lt;br /&gt;
&lt;br /&gt;
broad-bottomed boats, and away they sailed, to&lt;br /&gt;
&lt;br /&gt;
settle peaceably, at length, among rolling hills by a&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;wide and lordly river.&#039;&#039;&#039; Clear running creeks they&lt;br /&gt;
&lt;br /&gt;
found there, and wildcats in abundance, wherefor&lt;br /&gt;
&lt;br /&gt;
they named their new home &amp;quot;Kaaterskill&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From Eire, (that most distressful country) the&lt;br /&gt;
&lt;br /&gt;
conquered and humbled native gentry, the Sidhe,&lt;br /&gt;
&lt;br /&gt;
set forth- &#039;&#039;&#039;as well&#039;&#039;&#039;, accompanied on board by such&lt;br /&gt;
&lt;br /&gt;
of their lower-class countrymen as the shoe-&lt;br /&gt;
&lt;br /&gt;
making Leprauchauns, the endlessly joking Fir&lt;br /&gt;
&lt;br /&gt;
Darrigs, &#039;&#039;&#039;and the drunk and disorderly&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluricauns from Cork. Among the few patriotic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fir Bolgs left behind, their going would forever&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;be remembered as &#039;the flight of the Wild Geese&#039;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lost to the Highlands then an&#039; evermair was the&lt;br /&gt;
&lt;br /&gt;
Seelie Court People o&#039;Peace, Trows, Fachans,&lt;br /&gt;
&lt;br /&gt;
Brownies an&#039; a&#039;. &#039;&#039;&#039;Only two bairn&#039;&#039;&#039; marked their&lt;br /&gt;
&lt;br /&gt;
passing, as the wee folk rode their shaggy ponies&lt;br /&gt;
&lt;br /&gt;
down to the sea, and the mortal lad called out to&lt;br /&gt;
&lt;br /&gt;
the last rider, &amp;quot;What are ye, little mannie? and&lt;br /&gt;
&lt;br /&gt;
where are ye going?&amp;quot; &amp;quot;Not of the race of Adam,&lt;br /&gt;
&lt;br /&gt;
said the creature, turning for a moment in his&lt;br /&gt;
&lt;br /&gt;
saddle: &amp;quot;the People of Peace shall never more be&lt;br /&gt;
&lt;br /&gt;
seen in Scotland.*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Their &#039;&#039;&#039;eldritch barks&#039;&#039;&#039; were piloted West by Silkies&lt;br /&gt;
&lt;br /&gt;
and Kelpies, over the sea, beyond Skye, to a Nova&lt;br /&gt;
&lt;br /&gt;
Scotia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Down ice green fjords and away to the &#039;&#039;&#039;Land of&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fines&#039;&#039;&#039; then sailed the Ellefolk, in their terrible-&lt;br /&gt;
&lt;br /&gt;
prowed long- ships: The Nissen and the Tomtra,&lt;br /&gt;
&lt;br /&gt;
those frugal farmers; Grims from the stone towers;&lt;br /&gt;
&lt;br /&gt;
squat, squinting Wood and River Trolls; and, in the&lt;br /&gt;
&lt;br /&gt;
bows, faces set to the cold salt spray, the Elves&lt;br /&gt;
&lt;br /&gt;
themselves, yellow hair streaming in the wind,&lt;br /&gt;
&lt;br /&gt;
blue- grey eyes fixed on the far horizon.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;*Hugh Miller, The Old Red Sandstone,&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Edinburgh, 1841.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Of all the folk of Jotunheim, only the Kobaldes&lt;br /&gt;
&lt;br /&gt;
stayed behind. &#039;&#039;&#039;Once spirits of living trees, they&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
were soon and forever turned to wooden&lt;br /&gt;
&lt;br /&gt;
playthings for the children of Man.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Guided on its stately way by the Rhine Maidens, a&lt;br /&gt;
&lt;br /&gt;
great fleet bearing away strong-thewed Dwarfs&lt;br /&gt;
&lt;br /&gt;
from the mines, plump and hairy Witchtl from the&lt;br /&gt;
&lt;br /&gt;
fields, the handsome Wilden Fraulein from the&lt;br /&gt;
&lt;br /&gt;
marshes, and red-capped Hutchen from the Black&lt;br /&gt;
&lt;br /&gt;
Forest forsook the Fatherland for the New World,&lt;br /&gt;
&lt;br /&gt;
far across the sea.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;From the Far Marches, then&#039;&#039;&#039; --- the wide snowy&lt;br /&gt;
&lt;br /&gt;
Steppes and boundless fertile plains of the East ---&lt;br /&gt;
&lt;br /&gt;
travelled the Vazily, Poleviki, Domivye and Vily. The&lt;br /&gt;
&lt;br /&gt;
Leshy abandoned the forest tops of Tartary, the&lt;br /&gt;
&lt;br /&gt;
Rusalki rose up from the river beds; and all&lt;br /&gt;
&lt;br /&gt;
followed the Forest Fathers and Moss Maidens&lt;br /&gt;
&lt;br /&gt;
across the winter to the Black Sea shore, onto the&lt;br /&gt;
&lt;br /&gt;
waiting ships and together &#039;&#039;&#039;they defected&#039;&#039;&#039; away to&lt;br /&gt;
&lt;br /&gt;
the West.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1165</id>
		<title>The Passage to the New World</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1165"/>
		<updated>2026-01-19T01:24:53Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! THE PASSAGE: PUBLISHED&lt;br /&gt;
! THE PASSING OF THE ELVES: MANUSCRIPT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the fair tall Elven folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke;&lt;br /&gt;
&lt;br /&gt;
Sweet Spirits came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Djinni&#039;&#039;&#039; arrived. From sunrise and through storm,&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came-Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World (which they called the Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so&lt;br /&gt;
&lt;br /&gt;
himself, in the saga he often sang) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper-haired Sea-Troll of Nortland. It was he,&lt;br /&gt;
&lt;br /&gt;
he bragged, who left Scandia to brave alone the&lt;br /&gt;
&lt;br /&gt;
teeth of the Hell-hounds at sheer cliff&#039;s lip of the&lt;br /&gt;
&lt;br /&gt;
flat Earth&#039;s edge; he the hero who pressed a single&lt;br /&gt;
&lt;br /&gt;
print from his reindeer-hide boots on the beach&lt;br /&gt;
&lt;br /&gt;
there, and he who came back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Leprechaun&#039;&#039;&#039; from Kerry, who zigzagged&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;all the way from the tip of the Dingle to the Brave&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;New World in a sealskin canoe, with naught but&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;poteen for provender.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Brandan&#039;&#039;&#039; to be mere myth (even Legends, it&lt;br /&gt;
&lt;br /&gt;
seems, look down on legends) and attributed the&lt;br /&gt;
&lt;br /&gt;
Discovery of the New Found Land to the Italian&lt;br /&gt;
&lt;br /&gt;
fairy Colon Savanelli, an intrepidly nautical Folleto&lt;br /&gt;
&lt;br /&gt;
out of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Iberian Hadas (that is, the &#039;&#039;&#039;Spanish&#039;&#039;&#039; Fays) to&lt;br /&gt;
&lt;br /&gt;
Seek the fabulous Spice Islands. Once found, she&lt;br /&gt;
&lt;br /&gt;
Hoped that they would become a foster homeland&lt;br /&gt;
&lt;br /&gt;
for her subjects, and indeed, for all the Fair People&lt;br /&gt;
&lt;br /&gt;
of the Middle Kingdom whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
Coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, Who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of Streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a Straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very Beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, heavy-treading Man, who&lt;br /&gt;
&lt;br /&gt;
with his weapons of forged iron had Lately&lt;br /&gt;
&lt;br /&gt;
murdered, just for sport, what was believed to Be&lt;br /&gt;
&lt;br /&gt;
the last, and irreplaceable, Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli’s success and of the Spanish&lt;br /&gt;
&lt;br /&gt;
Exodus ran like fox fire across the dying Middle&lt;br /&gt;
&lt;br /&gt;
Kingdom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
Deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomLess rivers, topless mountains—a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were the first to follow. &#039;&#039;&#039;(The tall,&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proud Hadas of Spain had already departed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;However reluctantly-with their diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic relatives, the Duendes.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From France came the Sturdy seafaring Korreds of&lt;br /&gt;
&lt;br /&gt;
Brittany; the nomadic, Shape-shifting Lutins of&lt;br /&gt;
&lt;br /&gt;
Normandy, Domes Blanches and Domes Verles,&lt;br /&gt;
&lt;br /&gt;
coquettish maidens From the river valleys of the&lt;br /&gt;
&lt;br /&gt;
Aquitaine, Loups Garoux from the forests. All&lt;br /&gt;
&lt;br /&gt;
these found refuge From the onslaught of Man&lt;br /&gt;
&lt;br /&gt;
upon the chill and rocky Northern coast of the&lt;br /&gt;
&lt;br /&gt;
New Found Land across the Sea. Forsaking the&lt;br /&gt;
&lt;br /&gt;
sun-tanned &#039;&#039;&#039;Riviera&#039;&#039;&#039;, water Dracs, Playful-as-&lt;br /&gt;
&lt;br /&gt;
porpoises, and the languid, amorous Fadas found&lt;br /&gt;
&lt;br /&gt;
contentment upon the hot southern Shores of the&lt;br /&gt;
&lt;br /&gt;
New World, amidst pink, long-legged Birds and&lt;br /&gt;
&lt;br /&gt;
high, swaying palms.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In England, the erstwhile high-honored court of&lt;br /&gt;
&lt;br /&gt;
The Fairy Queen was now much diminished. Her&lt;br /&gt;
&lt;br /&gt;
Majesty, Mab Herself, and many of Her subjects,&lt;br /&gt;
&lt;br /&gt;
Pixies, Hobgoblins, and Boggarts alike, had shrunk&lt;br /&gt;
&lt;br /&gt;
To tiny size. Robin had been exiled to Sherwood.&lt;br /&gt;
&lt;br /&gt;
Right gladly did all that company hear the news of&lt;br /&gt;
&lt;br /&gt;
a Haven in the West, and right swiftly they&lt;br /&gt;
&lt;br /&gt;
embarked Therefor.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The venerable &#039;&#039;&#039;Dutch&#039;&#039;&#039; merchant empire of the&lt;br /&gt;
&lt;br /&gt;
Lowland Alven was also in its autumn. Their sailor&lt;br /&gt;
&lt;br /&gt;
Servants, the Klabautennannikins, made ready&lt;br /&gt;
&lt;br /&gt;
their Broad-bottomed boats, and away they&lt;br /&gt;
&lt;br /&gt;
sailed, to Settle peaceably, at length, among&lt;br /&gt;
&lt;br /&gt;
rolling hills by a &#039;&#039;&#039;Wide river richly lined with cliffs&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;and trees&#039;&#039;&#039;. Clear, Running creeks they found there,&lt;br /&gt;
&lt;br /&gt;
and wildcats in Abundance, wherefore they&lt;br /&gt;
&lt;br /&gt;
named their new home “Kaaterskill” (&#039;&#039;&#039;Wildcat&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Creek).&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From Eire (that most distressful country), the&lt;br /&gt;
&lt;br /&gt;
conquered and humbled native gentry, the Sidhe,&lt;br /&gt;
&lt;br /&gt;
set Forth &#039;&#039;&#039;to follow in Brandan’s path&#039;&#039;&#039;,&lt;br /&gt;
&lt;br /&gt;
accompanied on Board by such of their lower-&lt;br /&gt;
&lt;br /&gt;
class countrymen as the shoe-making&lt;br /&gt;
&lt;br /&gt;
Leprechauns and the endlessly Joking, &#039;&#039;&#039;drunk, and&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;disorderly&#039;&#039;&#039; Fir Darrigs. &#039;&#039;&#039;Observed a Mortal Irish&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;observer:*&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;“The fairies … are retiring one by one from the&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Habitations of man, to the distant islands&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;where the Wild waves of the Atla ntic raise their&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;foaming crests…”&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lost to the Scottish Highlands then an’ evermair&lt;br /&gt;
&lt;br /&gt;
Was the Seelie Court: the Fair Folk known as&lt;br /&gt;
&lt;br /&gt;
Trows, Fachans, Brownies, an’ People o ‘ Peace.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;As the tale Is told, “Only two children&#039;&#039;&#039; marked&lt;br /&gt;
&lt;br /&gt;
their passing, as the wee creatures rode their&lt;br /&gt;
&lt;br /&gt;
shaggy ponies down to The sea. The mortal lad&lt;br /&gt;
&lt;br /&gt;
called out to the last rider, ‘What are ye, little&lt;br /&gt;
&lt;br /&gt;
mannie? And where are ye goIng?’ ‘Not of the race&lt;br /&gt;
&lt;br /&gt;
of Adam,’ said the creature, Turning for a moment&lt;br /&gt;
&lt;br /&gt;
in his saddle: ‘the People o’Peace shall never&lt;br /&gt;
&lt;br /&gt;
more be seen in Scotland. ‘ “**&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the stern tall Elven-folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke,&lt;br /&gt;
&lt;br /&gt;
The Dark Ones came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spirits&#039;&#039;&#039; arrived. From sunrise and through storm&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came -Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World, (which they called The Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so him-&lt;br /&gt;
&lt;br /&gt;
self, in the saga he sang of it often) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper- haired Sea Troll of Nortland. He it was,&lt;br /&gt;
&lt;br /&gt;
he bragged, who braved alone the teeth of the Hel-&lt;br /&gt;
&lt;br /&gt;
hounds at sheer cliff&#039;s lip of the flat Earth&#039;s Edge,&lt;br /&gt;
&lt;br /&gt;
he the hero who pressed a single reindeer- hide&lt;br /&gt;
&lt;br /&gt;
boot-print on the beach there, and he who came&lt;br /&gt;
&lt;br /&gt;
back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Fir Bolg&#039;&#039;&#039; from Kerry, who zig-zagged all&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;the way West in a seal-skin canoe, with naught but&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;poteen for provender, from the tip of the Dingle to&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;the Brave New World.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Cluricaune&#039;&#039;&#039; to be mere myth (even&lt;br /&gt;
&lt;br /&gt;
Legends, it seems, look down on legends) and&lt;br /&gt;
&lt;br /&gt;
attributed the Discovery of the New Found Land to&lt;br /&gt;
&lt;br /&gt;
Colon Savanelli, an intrepidly nautical Folleto out&lt;br /&gt;
&lt;br /&gt;
of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Hadas (that is, the &#039;&#039;&#039;Iberian&#039;&#039;&#039; Fays) to seek the&lt;br /&gt;
&lt;br /&gt;
fabulous Spice Islands. She hoped that, once&lt;br /&gt;
&lt;br /&gt;
found, they would become a foster homeland for&lt;br /&gt;
&lt;br /&gt;
her subjects; and, indeed, for all the Fair People of&lt;br /&gt;
&lt;br /&gt;
the Middle Kingdom, whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself, and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, &#039;&#039;&#039;stinking&#039;&#039;&#039; heavy-treading&lt;br /&gt;
&lt;br /&gt;
Man, who with his weapons of forged iron had&lt;br /&gt;
&lt;br /&gt;
lately murdered, just for sport, what was believed&lt;br /&gt;
&lt;br /&gt;
to be the last and irreplaceable Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli&#039;s success, and of the Spanish&lt;br /&gt;
&lt;br /&gt;
exodus, &#039;&#039;&#039;(together with the tall proud Hadas had&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;departed however reluctantly the diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic spirits called Duende)&#039;&#039;&#039; ran like fox fire&lt;br /&gt;
&lt;br /&gt;
across the dying Middle Kingdom.&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomless rivers, topless mountains -- a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were first to follow.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The sturdy sea- faring Korreds of Brittany; the&lt;br /&gt;
&lt;br /&gt;
nomadic, shape-shifting Lutins of Normandy,&lt;br /&gt;
&lt;br /&gt;
Dames Blanches and Dames Vertes from the river&lt;br /&gt;
&lt;br /&gt;
valleys of the Aquitain, Loups Garoux from the&lt;br /&gt;
&lt;br /&gt;
forests all these found refuge from the onslaught&lt;br /&gt;
&lt;br /&gt;
of Man, upon the chill and rocky northern coast of&lt;br /&gt;
&lt;br /&gt;
the New Found Land. Forsaking the sun-tanned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Langue d&#039;Oc&#039;&#039;&#039;, the playful-as-porpoises Dracs and&lt;br /&gt;
&lt;br /&gt;
the languid, amorous Fadas found content upon&lt;br /&gt;
&lt;br /&gt;
the hot southern shores there, amidst pink long-&lt;br /&gt;
&lt;br /&gt;
legged birds and high swaying palms&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In England, the erstwhile high-honored Court of&lt;br /&gt;
&lt;br /&gt;
the Faerie Queene was now much diminished.&lt;br /&gt;
&lt;br /&gt;
Mab herself, and many of her subject Pixies, Hob&lt;br /&gt;
&lt;br /&gt;
Goblins and Boggarts, had shrunk to tiny size.&lt;br /&gt;
&lt;br /&gt;
Robin had been exiled to Sherwood, Oberon and&lt;br /&gt;
&lt;br /&gt;
Titania to Arden. Right gladly did all that company&lt;br /&gt;
&lt;br /&gt;
hear the news of a Haven in the West, and right&lt;br /&gt;
&lt;br /&gt;
swiftly they embarked there for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The venerable merchant-empire of the Lowland&lt;br /&gt;
&lt;br /&gt;
Alven was also in its autumn. Now, their sailor-&lt;br /&gt;
&lt;br /&gt;
servants, Klabartermannikins, made ready their&lt;br /&gt;
&lt;br /&gt;
broad-bottomed boats, and away they sailed, to&lt;br /&gt;
&lt;br /&gt;
settle peaceably, at length, among rolling hills by a&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;wide and lordly river.&#039;&#039;&#039; Clear running creeks they&lt;br /&gt;
&lt;br /&gt;
found there, and wildcats in abundance, wherefor&lt;br /&gt;
&lt;br /&gt;
they named their new home &amp;quot;Kaaterskill&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
From Eire, (that most distressful country) the&lt;br /&gt;
&lt;br /&gt;
conquered and humbled native gentry, the Sidhe,&lt;br /&gt;
&lt;br /&gt;
set forth- &#039;&#039;&#039;as well&#039;&#039;&#039;, accompanied on board by such&lt;br /&gt;
&lt;br /&gt;
of their lower-class countrymen as the shoe-&lt;br /&gt;
&lt;br /&gt;
making Leprauchauns, the endlessly joking Fir&lt;br /&gt;
&lt;br /&gt;
Darrigs, &#039;&#039;&#039;and the drunk and disorderly&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cluricauns from Cork. Among the few patriotic&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Fir Bolgs left behind, their going would forever&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;be remembered as &#039;the flight of the Wild Geese&#039;.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lost to the Highlands then an&#039; evermair was the&lt;br /&gt;
&lt;br /&gt;
Seelie Court People o&#039;Peace, Trows, Fachans,&lt;br /&gt;
&lt;br /&gt;
Brownies an&#039; a&#039;. &#039;&#039;&#039;Only two bairn&#039;&#039;&#039; marked their&lt;br /&gt;
&lt;br /&gt;
passing, as the wee folk rode their shaggy ponies&lt;br /&gt;
&lt;br /&gt;
down to the sea, and the mortal lad called out to&lt;br /&gt;
&lt;br /&gt;
the last rider, &amp;quot;What are ye, little mannie? and&lt;br /&gt;
&lt;br /&gt;
where are ye going?&amp;quot; &amp;quot;Not of the race of Adam,&lt;br /&gt;
&lt;br /&gt;
said the creature, turning for a moment in his&lt;br /&gt;
&lt;br /&gt;
saddle: &amp;quot;the People of Peace shall never more be&lt;br /&gt;
&lt;br /&gt;
seen in Scotland.*&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1164</id>
		<title>The Passage to the New World</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1164"/>
		<updated>2026-01-19T01:01:58Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! THE PASSAGE: PUBLISHED&lt;br /&gt;
! THE PASSING OF THE ELVES: MANUSCRIPT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the fair tall Elven folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke;&lt;br /&gt;
&lt;br /&gt;
Sweet Spirits came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Djinni&#039;&#039;&#039; arrived. From sunrise and through storm,&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came-Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World (which they called the Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so&lt;br /&gt;
&lt;br /&gt;
himself, in the saga he often sang) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper-haired Sea-Troll of Nortland. It was he,&lt;br /&gt;
&lt;br /&gt;
he bragged, who left Scandia to brave alone the&lt;br /&gt;
&lt;br /&gt;
teeth of the Hell-hounds at sheer cliff&#039;s lip of the&lt;br /&gt;
&lt;br /&gt;
flat Earth&#039;s edge; he the hero who pressed a single&lt;br /&gt;
&lt;br /&gt;
print from his reindeer-hide boots on the beach&lt;br /&gt;
&lt;br /&gt;
there, and he who came back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Leprechaun&#039;&#039;&#039; from Kerry, who zigzagged&lt;br /&gt;
&lt;br /&gt;
all the way from the tip of the Dingle to the Brave&lt;br /&gt;
&lt;br /&gt;
New World in a sealskin canoe, with naught but&lt;br /&gt;
&lt;br /&gt;
poteen for provender.&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Brandan&#039;&#039;&#039; to be mere myth (even Legends, it&lt;br /&gt;
&lt;br /&gt;
seems, look down on legends) and attributed the&lt;br /&gt;
&lt;br /&gt;
Discovery of the New Found Land to the Italian&lt;br /&gt;
&lt;br /&gt;
fairy Colon Savanelli, an intrepidly nautical Folleto&lt;br /&gt;
&lt;br /&gt;
out of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Iberian Hadas (that is, the &#039;&#039;&#039;Spanish&#039;&#039;&#039; Fays) to&lt;br /&gt;
&lt;br /&gt;
Seek the fabulous Spice Islands. Once found, she&lt;br /&gt;
&lt;br /&gt;
Hoped that they would become a foster homeland&lt;br /&gt;
&lt;br /&gt;
for her subjects, and indeed, for all the Fair People&lt;br /&gt;
&lt;br /&gt;
of the Middle Kingdom whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
Coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, Who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of Streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a Straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very Beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, heavy-treading Man, who&lt;br /&gt;
&lt;br /&gt;
with his weapons of forged iron had Lately&lt;br /&gt;
&lt;br /&gt;
murdered, just for sport, what was believed to Be&lt;br /&gt;
&lt;br /&gt;
the last, and irreplaceable, Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli’s success and of the Spanish&lt;br /&gt;
&lt;br /&gt;
Exodus ran like fox fire across the dying Middle&lt;br /&gt;
&lt;br /&gt;
Kingdom.&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
Deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomLess rivers, topless mountains—a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were the first to follow. &#039;&#039;&#039;(The tall,&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Proud Hadas of Spain had already departed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;However reluctantly-with their diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic relatives, the Duendes.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
From France came the Sturdy seafaring Korreds of&lt;br /&gt;
&lt;br /&gt;
Brittany; the nomadic, Shape-shifting Lutins of&lt;br /&gt;
&lt;br /&gt;
Normandy, Domes Blanches and Domes Verles,&lt;br /&gt;
&lt;br /&gt;
coquettish maidens From the river valleys of the&lt;br /&gt;
&lt;br /&gt;
Aquitaine, Loups Garoux from the forests. All&lt;br /&gt;
&lt;br /&gt;
these found refuge From the onslaught of Man&lt;br /&gt;
&lt;br /&gt;
upon the chill and rocky Northern coast of the&lt;br /&gt;
&lt;br /&gt;
New Found Land across the Sea. Forsaking the&lt;br /&gt;
&lt;br /&gt;
sun-tanned &#039;&#039;&#039;Riviera&#039;&#039;&#039;, water Dracs, Playful-as-&lt;br /&gt;
&lt;br /&gt;
porpoises, and the languid, amorous Fadas found&lt;br /&gt;
&lt;br /&gt;
contentment upon the hot southern Shores of the&lt;br /&gt;
&lt;br /&gt;
New World, amidst pink, long-legged Birds and&lt;br /&gt;
&lt;br /&gt;
high, swaying palms.&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the stern tall Elven-folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke,&lt;br /&gt;
&lt;br /&gt;
The Dark Ones came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spirits&#039;&#039;&#039; arrived. From sunrise and through storm&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came -Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World, (which they called The Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so him-&lt;br /&gt;
&lt;br /&gt;
self, in the saga he sang of it often) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper- haired Sea Troll of Nortland. He it was,&lt;br /&gt;
&lt;br /&gt;
he bragged, who braved alone the teeth of the Hel-&lt;br /&gt;
&lt;br /&gt;
hounds at sheer cliff&#039;s lip of the flat Earth&#039;s Edge,&lt;br /&gt;
&lt;br /&gt;
he the hero who pressed a single reindeer- hide&lt;br /&gt;
&lt;br /&gt;
boot-print on the beach there, and he who came&lt;br /&gt;
&lt;br /&gt;
back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Fir Bolg&#039;&#039;&#039; from Kerry, who zig-zagged all&lt;br /&gt;
&lt;br /&gt;
the way West in a seal-skin canoe, with naught but&lt;br /&gt;
&lt;br /&gt;
poteen for provender, from the tip of the Dingle to&lt;br /&gt;
&lt;br /&gt;
the Brave New World.&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Cluricaune&#039;&#039;&#039; to be mere myth (even&lt;br /&gt;
&lt;br /&gt;
Legends, it seems, look down on legends) and&lt;br /&gt;
&lt;br /&gt;
attributed the Discovery of the New Found Land to&lt;br /&gt;
&lt;br /&gt;
Colon Savanelli, an intrepidly nautical Folleto out&lt;br /&gt;
&lt;br /&gt;
of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Hadas (that is, the &#039;&#039;&#039;Iberian&#039;&#039;&#039; Fays) to seek the&lt;br /&gt;
&lt;br /&gt;
fabulous Spice Islands. She hoped that, once&lt;br /&gt;
&lt;br /&gt;
found, they would become a foster homeland for&lt;br /&gt;
&lt;br /&gt;
her subjects; and, indeed, for all the Fair People of&lt;br /&gt;
&lt;br /&gt;
the Middle Kingdom, whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
&lt;br /&gt;
Their brilliant Art, their shining Beauty, their Power&lt;br /&gt;
&lt;br /&gt;
and their Glory were flickering and fading, like&lt;br /&gt;
&lt;br /&gt;
firefly lights against the dawn; for the Time of Man&lt;br /&gt;
&lt;br /&gt;
had begun.&lt;br /&gt;
&lt;br /&gt;
Man, the unbelieving and unbelievable. Man, who&lt;br /&gt;
&lt;br /&gt;
hates and fears himself, and thus despises every&lt;br /&gt;
&lt;br /&gt;
living thing.&lt;br /&gt;
&lt;br /&gt;
Man, the hewer of trees and spoiler of streams;&lt;br /&gt;
&lt;br /&gt;
whose fields and roads and walls are of a straight,&lt;br /&gt;
&lt;br /&gt;
unnatural geometry; who taught the very beasts to&lt;br /&gt;
&lt;br /&gt;
be dumb; fierce, clever, &#039;&#039;&#039;stinking&#039;&#039;&#039; heavy-treading&lt;br /&gt;
&lt;br /&gt;
Man, who with his weapons of forged iron had&lt;br /&gt;
&lt;br /&gt;
lately murdered, just for sport, what was believed&lt;br /&gt;
&lt;br /&gt;
to be the last and irreplaceable Dragon.&lt;br /&gt;
&lt;br /&gt;
Word of Savanelli&#039;s success, and of the Spanish&lt;br /&gt;
&lt;br /&gt;
exodus, &#039;&#039;&#039;(together with the tall proud Hadas had&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;departed however reluctantly the diminutive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;domestic spirits called Duende)&#039;&#039;&#039; ran like fox fire&lt;br /&gt;
&lt;br /&gt;
across the dying Middle Kingdom.&lt;br /&gt;
&lt;br /&gt;
Somewhere in the West were golden beaches,&lt;br /&gt;
&lt;br /&gt;
deep green woods, still pools, dark caves,&lt;br /&gt;
&lt;br /&gt;
bottomless rivers, topless mountains -- a&lt;br /&gt;
&lt;br /&gt;
Fairyland!&lt;br /&gt;
&lt;br /&gt;
The French were first to follow.&lt;br /&gt;
&lt;br /&gt;
The sturdy sea- faring Korreds of Brittany; the&lt;br /&gt;
&lt;br /&gt;
nomadic, shape-shifting Lutins of Normandy,&lt;br /&gt;
&lt;br /&gt;
Dames Blanches and Dames Vertes from the river&lt;br /&gt;
&lt;br /&gt;
valleys of the Aquitain, Loups Garoux from the&lt;br /&gt;
&lt;br /&gt;
forests all these found refuge from the onslaught&lt;br /&gt;
&lt;br /&gt;
of Man, upon the chill and rocky northern coast of&lt;br /&gt;
&lt;br /&gt;
the New Found Land. Forsaking the sun-tanned&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Langue d&#039;Oc&#039;&#039;&#039;, the playful-as-porpoises Dracs and&lt;br /&gt;
&lt;br /&gt;
the languid, amorous Fadas found content upon&lt;br /&gt;
&lt;br /&gt;
the hot southern shores there, amidst pink long-&lt;br /&gt;
&lt;br /&gt;
legged birds and high swaying palms&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1163</id>
		<title>The Passage to the New World</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=The_Passage_to_the_New_World&amp;diff=1163"/>
		<updated>2026-01-19T00:58:11Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: started page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width: 100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! THE PASSAGE: PUBLISHED&lt;br /&gt;
! THE PASSING OF THE ELVES: MANUSCRIPT&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the fair tall Elven folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke;&lt;br /&gt;
&lt;br /&gt;
Sweet Spirits came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Djinni&#039;&#039;&#039; arrived. From sunrise and through storm,&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came-Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World (which they called the Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so&lt;br /&gt;
&lt;br /&gt;
himself, in the saga he often sang) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper-haired Sea-Troll of Nortland. It was he,&lt;br /&gt;
&lt;br /&gt;
he bragged, who left Scandia to brave alone the&lt;br /&gt;
&lt;br /&gt;
teeth of the Hell-hounds at sheer cliff&#039;s lip of the&lt;br /&gt;
&lt;br /&gt;
flat Earth&#039;s edge; he the hero who pressed a single&lt;br /&gt;
&lt;br /&gt;
print from his reindeer-hide boots on the beach&lt;br /&gt;
&lt;br /&gt;
there, and he who came back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Leprechaun&#039;&#039;&#039; from Kerry, who zigzagged&lt;br /&gt;
&lt;br /&gt;
all the way from the tip of the Dingle to the Brave&lt;br /&gt;
&lt;br /&gt;
New World in a sealskin canoe, with naught but&lt;br /&gt;
&lt;br /&gt;
poteen for provender.&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Brandan&#039;&#039;&#039; to be mere myth (even Legends, it&lt;br /&gt;
&lt;br /&gt;
seems, look down on legends) and attributed the&lt;br /&gt;
&lt;br /&gt;
Discovery of the New Found Land to the Italian&lt;br /&gt;
&lt;br /&gt;
fairy Colon Savanelli, an intrepidly nautical Folleto&lt;br /&gt;
&lt;br /&gt;
out of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Iberian Hadas (that is, the &#039;&#039;&#039;Spanish&#039;&#039;&#039; Fays) to&lt;br /&gt;
&lt;br /&gt;
Seek the fabulous Spice Islands. Once found, she&lt;br /&gt;
&lt;br /&gt;
Hoped that they would become a foster homeland&lt;br /&gt;
&lt;br /&gt;
for her subjects, and indeed, for all the Fair People&lt;br /&gt;
&lt;br /&gt;
of the Middle Kingdom whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
Coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
| style=&amp;quot;vertical-align: top; width: 50%;&amp;quot; |&lt;br /&gt;
The Northern seas are cold and cruel grey;&lt;br /&gt;
&lt;br /&gt;
Across them sailed the stern tall Elven-folk.&lt;br /&gt;
&lt;br /&gt;
Southward, the seas are blue, serene and warm;&lt;br /&gt;
&lt;br /&gt;
From that soft mist, with many a merry joke,&lt;br /&gt;
&lt;br /&gt;
The Dark Ones came. From West, at close of day,&lt;br /&gt;
&lt;br /&gt;
Beneath sails brilliant as a peacock&#039;s fan,&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Spirits&#039;&#039;&#039; arrived. From sunrise and through storm&lt;br /&gt;
&lt;br /&gt;
Across the Eastern ocean, last came -Man.&lt;br /&gt;
&lt;br /&gt;
Not so awfully long ago, as the stars, who created&lt;br /&gt;
&lt;br /&gt;
time, tell it, the Fair People withdrew from the Old&lt;br /&gt;
&lt;br /&gt;
World, (which they called The Middle Kingdom),&lt;br /&gt;
&lt;br /&gt;
migrating across the Ocean Sea to dwell in the&lt;br /&gt;
&lt;br /&gt;
hills and forests of the New Found Land.&lt;br /&gt;
&lt;br /&gt;
The first to set foot on its shore (if he said so him-&lt;br /&gt;
&lt;br /&gt;
self, in the saga he sang of it often) was Ruddy Alf,&lt;br /&gt;
&lt;br /&gt;
a copper- haired Sea Troll of Nortland. He it was,&lt;br /&gt;
&lt;br /&gt;
he bragged, who braved alone the teeth of the Hel-&lt;br /&gt;
&lt;br /&gt;
hounds at sheer cliff&#039;s lip of the flat Earth&#039;s Edge,&lt;br /&gt;
&lt;br /&gt;
he the hero who pressed a single reindeer- hide&lt;br /&gt;
&lt;br /&gt;
boot-print on the beach there, and he who came&lt;br /&gt;
&lt;br /&gt;
back to harp on it.&lt;br /&gt;
&lt;br /&gt;
Next, or simultaneously, or (to hear his kin and&lt;br /&gt;
&lt;br /&gt;
clan tell of it) years and years before, was&lt;br /&gt;
&lt;br /&gt;
Brandan, a &#039;&#039;&#039;Fir Bolg&#039;&#039;&#039; from Kerry, who zig-zagged all&lt;br /&gt;
&lt;br /&gt;
the way West in a seal-skin canoe, with naught but&lt;br /&gt;
&lt;br /&gt;
poteen for provender, from the tip of the Dingle to&lt;br /&gt;
&lt;br /&gt;
the Brave New World.&lt;br /&gt;
&lt;br /&gt;
But most of the Fair People deemed the exploits of&lt;br /&gt;
&lt;br /&gt;
Alf and &#039;&#039;&#039;Cluricaune&#039;&#039;&#039; to be mere myth (even&lt;br /&gt;
&lt;br /&gt;
Legends, it seems, look down on legends) and&lt;br /&gt;
&lt;br /&gt;
attributed the Discovery of the New Found Land to&lt;br /&gt;
&lt;br /&gt;
Colon Savanelli, an intrepidly nautical Folleto out&lt;br /&gt;
&lt;br /&gt;
of Genoa.&lt;br /&gt;
&lt;br /&gt;
Savanelli had been commissioned by the Queen&lt;br /&gt;
&lt;br /&gt;
of the Hadas (that is, the &#039;&#039;&#039;Iberian&#039;&#039;&#039; Fays) to seek the&lt;br /&gt;
&lt;br /&gt;
fabulous Spice Islands. She hoped that, once&lt;br /&gt;
&lt;br /&gt;
found, they would become a foster homeland for&lt;br /&gt;
&lt;br /&gt;
her subjects; and, indeed, for all the Fair People of&lt;br /&gt;
&lt;br /&gt;
the Middle Kingdom, whose Era, she feared, was&lt;br /&gt;
&lt;br /&gt;
coming to its end.&lt;br /&gt;
&lt;br /&gt;
And it was.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Main_Page&amp;diff=1162</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Main_Page&amp;diff=1162"/>
		<updated>2026-01-19T00:34:27Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Featured recent additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= &amp;lt;strong&amp;gt;Welcome to The Secret Wiki&amp;lt;/strong&amp;gt; =&lt;br /&gt;
[[File:The Secret treasure book cover.jpg|thumb|Cover of the original 1982 edition of [[The Secret]].]]&lt;br /&gt;
Here we compile and share information relevant to [[The Secret]], a [[The Secret (book)|book]] published in 1982 by [[Byron Preiss]], and the [[The Secret (treasure hunt)|treasure hunt]] contained within. Although registration may broaden in the future, at present our contributors comprise a limited group.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Secret&#039;&#039; presents puzzles consisting of [[verses]] and [[paintings]]. There are twelve of each, leading to twelve [[Generally Accepted Pairings|pairings]] corresponding to cities in North America. If solved, the puzzles lead the searcher to dig at a physical spot, where a unique [[casque]] can be found, each containing a [[key]] which can be redeemed for a precious [[Jewels|jewel]]. Of the twelve casques, three have currently been [[Found Casques|located]]. There are also [[additional treasure hunts]], inspired by and in tribute to The Secret.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Secret&#039;&#039; was meant to be a source of enjoyment for everyone. Please approach this wiki in the same spirit.&lt;br /&gt;
&lt;br /&gt;
If you are a registered contributor, please see the [[To Be Expanded]] list of recently-created pages awaiting your attention. Registered contributors can [[Special:UserLogin|click here]] to login.&lt;br /&gt;
&lt;br /&gt;
=== Featured recent additions ===&lt;br /&gt;
&lt;br /&gt;
* [[Gift Giver]]&lt;br /&gt;
* [[Leg Eater]]&lt;br /&gt;
* [[Litany of the Jewels]]&lt;br /&gt;
* [[Preliminary Sketches]]&lt;br /&gt;
* [[The Owl and the Horse]]&lt;br /&gt;
* [[The Litany of the Jewels]]&lt;br /&gt;
* [[The Passage to the New World]]&lt;br /&gt;
* [[The Vanishing]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=File:Johnpierard.png&amp;diff=1105</id>
		<title>File:Johnpierard.png</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=File:Johnpierard.png&amp;diff=1105"/>
		<updated>2025-12-26T21:44:55Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=File:Johnpierard.webp&amp;diff=1104</id>
		<title>File:Johnpierard.webp</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=File:Johnpierard.webp&amp;diff=1104"/>
		<updated>2025-12-26T21:42:43Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=The_Secret_Podcast&amp;diff=1103</id>
		<title>The Secret Podcast</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=The_Secret_Podcast&amp;diff=1103"/>
		<updated>2025-12-26T21:39:42Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Hosts */  added cole&amp;#039;s end date.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= The Secret Podcast =&lt;br /&gt;
The Secret Podcast started in 2016 as a collaborative project between longtime members of Quest4Treasure. &lt;br /&gt;
&lt;br /&gt;
Initially the group created a website to store image galleries consisting of all the research the group had saved over the course of 30 years, which quickly morphed into an online repository of all known information about the Secret, as well as a home for the audio version of the podcast.&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
=== Pre-Podcast ===&lt;br /&gt;
In 2016 longtime hunters [[George]], [[JM]], [[Fox]], [[Wilhouse]], [[TJ]], [[Brian Zinn]], [[Andy Abrams]], and [[MaltedFalcon]] were discussing ways to combine all of their photos and site information in an easily digestible format for the general public. George created 12treasure,com, which in the beginning was simply a list of image galleries categorized by city. JM suggested a blog be created on the site to document old solutions, ideas, and digs. The team quickly switched to a podcast format. Wilhouse came up with the name &amp;quot;Shhh... The Secret Podcast&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Shhh... The Secret Podcast ===&lt;br /&gt;
&lt;br /&gt;
The original idea behind the podcast was to create 12 individual episodes, one for each city, which packed all known information about that particular hunt into an audio record. The plan was to have one team member who was an expert on that specific city lay out all of their knowledge, and tell their stories for the community in a way which could be archived for all time. Once the original 12 city episodes were completed, JM left the podcast in order to focus on the tribute hunt.&amp;lt;ref&amp;gt;https://mysteriouswritings.com/the-secret-armchair-treasure-hunt-the-secret-podcast-and-the-end-of-an-era/&amp;lt;/ref&amp;gt;&lt;br /&gt;
=== The Secret Podcast ===&lt;br /&gt;
&lt;br /&gt;
== Episodes ==&lt;br /&gt;
&lt;br /&gt;
=== Season 01 - 2018 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Episode&lt;br /&gt;
!Title&lt;br /&gt;
!Hosts&lt;br /&gt;
!Guests&lt;br /&gt;
!Episode Links&lt;br /&gt;
|-&lt;br /&gt;
|01&lt;br /&gt;
|An Intro&lt;br /&gt;
|JM, George Ward&lt;br /&gt;
|&lt;br /&gt;
|[https://12treasures.com/wp-content/uploads/2018/03/Shhh-TheSECRET-Podcast-Episode1-Pilot.mp3 Episode and transcript]&lt;br /&gt;
|-&lt;br /&gt;
|02&lt;br /&gt;
|Chicago&lt;br /&gt;
|JM, George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|03&lt;br /&gt;
|Cleveland&lt;br /&gt;
|JM, George&lt;br /&gt;
|Brian Zinn, Andy Abrams&lt;br /&gt;
|[https://12treasures.com/podcast/shhh-the-secret-podcast-episode-3/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|04&lt;br /&gt;
|Houston pt.1&lt;br /&gt;
|JM, George&lt;br /&gt;
|Wilhouse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|04.2&lt;br /&gt;
|Houston pt. 2&lt;br /&gt;
|JM, George&lt;br /&gt;
|Wilhouse&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|05&lt;br /&gt;
|St Augustine&lt;br /&gt;
|Jm, George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|06&lt;br /&gt;
|San Francisco&lt;br /&gt;
|JM, George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|07&lt;br /&gt;
|Milwaukee&lt;br /&gt;
|JM, George&lt;br /&gt;
|Savral&lt;br /&gt;
|[https://12treasures.com/podcast/shhh-the-secret-podcast-episode-7/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|08&lt;br /&gt;
|New Orleans&lt;br /&gt;
|JM, George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|09&lt;br /&gt;
|New York&lt;br /&gt;
|JM, George&lt;br /&gt;
|Andy Abrams, Ben Asen&lt;br /&gt;
|[https://12treasures.com/podcast/shhh-the-secret-podcast-episode-9/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|08/21/18 Special&lt;br /&gt;
|Mid-Year Update&lt;br /&gt;
|JM, George&lt;br /&gt;
|Matt Sparks&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Roanoke&lt;br /&gt;
|JM, George&lt;br /&gt;
|Brian Zinn, Rob Wrobel&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Japanese Translation&lt;br /&gt;
|&lt;br /&gt;
|George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|Charleston&lt;br /&gt;
|JM, George&lt;br /&gt;
|Kit Palencar&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12&lt;br /&gt;
|Boston&lt;br /&gt;
|JM, George&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13&lt;br /&gt;
|Montreal&lt;br /&gt;
|JM, George&lt;br /&gt;
|Fenix&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14&lt;br /&gt;
|2018 wrap-up&lt;br /&gt;
|JM, George&lt;br /&gt;
|Bradley Hodges, Brian Zinn, Andy Abrams,&lt;br /&gt;
Kit Palencar, Matt Sparks&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Season 02 - 2019 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Episode&lt;br /&gt;
!Title&lt;br /&gt;
!Hosts&lt;br /&gt;
!Guests&lt;br /&gt;
!Episode Links&lt;br /&gt;
|-&lt;br /&gt;
|01&lt;br /&gt;
|The 13th Tribute&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|Evan Hoovler&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|02&lt;br /&gt;
|The San Francisco Fake&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|03&lt;br /&gt;
|Pimping the Palencars&lt;br /&gt;
|George Ward, Bradley Hodges&lt;br /&gt;
Brett Zingler&lt;br /&gt;
|&lt;br /&gt;
|[https://12treasures.com/podcast/pimping-the-palencars/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|04&lt;br /&gt;
|Milwaukee Revisited&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|Fenix&lt;br /&gt;
|[https://12treasures.com/podcast/milwaukee-revisted/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|05&lt;br /&gt;
|Digging Holes&lt;br /&gt;
|George Ward&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|06&lt;br /&gt;
|The San Francisco Treat&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
Bradley Hodges&lt;br /&gt;
|Matt Sparks&lt;br /&gt;
|[https://12treasures.com/podcast/20-the-san-francisco-treat/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|07&lt;br /&gt;
|Boston Maybe?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|08&lt;br /&gt;
|Meetups and Tv Shows&lt;br /&gt;
|Geroge Ward, Brett Zingler&lt;br /&gt;
Bradley Hodges&lt;br /&gt;
|Matt Sparks&lt;br /&gt;
|[https://12treasures.com/podcast/21meetupsandtvshows/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|09&lt;br /&gt;
|Boston Yes!&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|New Members Old Questions&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11&lt;br /&gt;
|The Fountain of Youth Meetup&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Season 03 - 2020 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Episode&lt;br /&gt;
!Title&lt;br /&gt;
!Hosts&lt;br /&gt;
!Guests&lt;br /&gt;
!Episode Links&lt;br /&gt;
|-&lt;br /&gt;
|01&lt;br /&gt;
|Hey Youz Guyz, &lt;br /&gt;
Let&#039;s talk Boston&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|02&lt;br /&gt;
|A fresh take on Charleston&lt;br /&gt;
|George Ward, Bradley Hodges&lt;br /&gt;
|Christopher Pierce, Brian Mills&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|03&lt;br /&gt;
|An Evening with George&lt;br /&gt;
|Cole May&lt;br /&gt;
|George Ward&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|04&lt;br /&gt;
|The Secret Guide to the &lt;br /&gt;
Fair Guide&lt;br /&gt;
|George Ward, Bradley Hodges&lt;br /&gt;
|Karleen, Seeds, Carley Perales&lt;br /&gt;
|[https://12treasures.com/podcast/29-the-secret-guide-to-the-fair-guide/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|05&lt;br /&gt;
|The Secret Podcast Tonight:&lt;br /&gt;
Like, Totally Confused!&lt;br /&gt;
|George Ward, Brett Zingler, Bradley Hodges&lt;br /&gt;
|Kit Palencar&lt;br /&gt;
|[https://12treasures.com/podcast/30-the-secret-podcast-tonight-like-totally-confused/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|06&lt;br /&gt;
|An Evening with Bradley Hodges&lt;br /&gt;
|George Ward&lt;br /&gt;
|Bradley Hodges, Laura Hodges&lt;br /&gt;
|[https://12treasures.com/podcast/31-an-evening-with-bradley-hodges/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|07&lt;br /&gt;
|A Special Message From:&lt;br /&gt;
Overton Loyd&lt;br /&gt;
|Overton Loyd&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|08&lt;br /&gt;
|A Special Message From:&lt;br /&gt;
Ben Asen&lt;br /&gt;
|Ben Asen&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|09&lt;br /&gt;
|A conversation with William Stout&lt;br /&gt;
|George Ward&lt;br /&gt;
|William Stout&lt;br /&gt;
|[https://12treasures.com/podcast/34-a-conversation-with-william-stout/ Episode and Transcript]&lt;br /&gt;
|-&lt;br /&gt;
|10&lt;br /&gt;
|Comparing Chicago and Cleveland&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
Bradley Hodges&lt;br /&gt;
|Cole May&lt;br /&gt;
|[https://12treasures.com/podcast/35-comparing-chicago-and-cleveland/ Episode and Transcript]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Season 04 - 2021 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Episode&lt;br /&gt;
!Title&lt;br /&gt;
!Hosts&lt;br /&gt;
!Guests&lt;br /&gt;
!Episode Links&lt;br /&gt;
|-&lt;br /&gt;
|01&lt;br /&gt;
|The Great US Treasure Hunt&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|David Steele&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|02&lt;br /&gt;
|The Great US Treasure Hunt 2&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|Kristian House&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|03&lt;br /&gt;
|An Evening with&lt;br /&gt;
John Jude Palencar&lt;br /&gt;
|&lt;br /&gt;
|John Jude Palencar&lt;br /&gt;
|[https://12treasures.com/podcast/36-an-evening-with-john-jude-palencar/ Episode]&lt;br /&gt;
[https://12treasures.com/podcast/36-an-evening-with-john-jude-palencar/ Transcript]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/Vq4BqA9VNI8 Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|04&lt;br /&gt;
|Let&#039;s Talk Amphitheaters&lt;br /&gt;
|&lt;br /&gt;
|Stephen Poff&lt;br /&gt;
|[https://12treasures.com/podcast/37-lets-talk-amphitheaters/ Episode]&lt;br /&gt;
[https://12treasures.com/podcast/37-lets-talk-amphitheaters/ Transcript]&lt;br /&gt;
&lt;br /&gt;
[https://youtu.be/ruvNIRTHuVw Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|05&lt;br /&gt;
|Storyland&#039;s Hidden Treasures&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|[https://youtu.be/ZpYZiOeov_U Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|06&lt;br /&gt;
|Did We Find the Books Byron&lt;br /&gt;
Used to Create The Secret?&lt;br /&gt;
|George Ward, Bradley Hodges&lt;br /&gt;
|Cory Gilbert&lt;br /&gt;
|[https://youtu.be/eKK9bfyC77c Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|07&lt;br /&gt;
|The NY Meetup&lt;br /&gt;
|George Ward, Bradley Hodges&lt;br /&gt;
|Ben Asen, Andy Abrams&lt;br /&gt;
|[https://youtu.be/FjSqh2vwMOw Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|08&lt;br /&gt;
|The Secret of Bryon Preiss:&lt;br /&gt;
Documentary Review&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
|Cole May, Matt Sparks&lt;br /&gt;
|[https://youtu.be/Am-CymgmGgQ Youtube]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Season 05 - 2022 ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Episode&lt;br /&gt;
!Title&lt;br /&gt;
!Hosts&lt;br /&gt;
!Guests&lt;br /&gt;
!Episode Links&lt;br /&gt;
|-&lt;br /&gt;
|01&lt;br /&gt;
|An Evening with Kit Palencar&lt;br /&gt;
|George Ward, Brett Zingler, Cole May&lt;br /&gt;
|Kit Palencar&lt;br /&gt;
|[https://youtu.be/e2sN0SwK9RA Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|02&lt;br /&gt;
|Secret Adventures with Ben and JoEllen&lt;br /&gt;
|George Ward, Cole May,&lt;br /&gt;
Brett Zingler&lt;br /&gt;
|Ben Asen, JoEllen Trilling&lt;br /&gt;
|[https://youtu.be/OtwFhQ2soRM Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|03&lt;br /&gt;
|Did Alex Find&lt;br /&gt;
the Roanoke Treasure?&lt;br /&gt;
|George Ward, Brett Zingler&lt;br /&gt;
Cole May&lt;br /&gt;
|Alex Sweeney&lt;br /&gt;
|[https://youtu.be/U6imHk-eIac Youtube]&lt;br /&gt;
|-&lt;br /&gt;
|04&lt;br /&gt;
|The St. Augustine One&lt;br /&gt;
|George Ward&lt;br /&gt;
|John Jude Palencar&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Hosts ==&lt;br /&gt;
[[John Michaels|JM]] (2017-2018)&lt;br /&gt;
&lt;br /&gt;
[[George Ward]] (2017-Current)&lt;br /&gt;
&lt;br /&gt;
[[Brett Zingler]] (2018-Current)&lt;br /&gt;
&lt;br /&gt;
Bradley Hodges (2019-2021)&lt;br /&gt;
&lt;br /&gt;
[[Cole May]] (2021-2025)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1057</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1057"/>
		<updated>2025-12-16T03:50:42Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to [[User:Burnstyle|George Ward]], the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3218592121760564/&amp;lt;/ref&amp;gt; was posted December 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3422689871350787/&amp;lt;/ref&amp;gt; was made at the same time Ward was conducting an interview during The Impossible Meetup. This was likely done to show searchers that Ward was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; These correspond to the [[Generally Accepted Cities|generally accepted cities]] (with two exceptions), and as such might be interpreted as confirmation of those casque locations. Naples, Florida is where the Cleveland casque currently resides, and Louisville, Kentucky is generally believed to be the location of the Tribute casque. &lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3523292127957227/&amp;lt;/ref&amp;gt; was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3785825835037187/&amp;lt;/ref&amp;gt; was posted on Dec 23 2023. The text bears strong indications of having been run through ChatGPT or other AI text program, likely to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4086401031646331/&amp;lt;/ref&amp;gt; was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; It appears to be noteworthy that the numbering of these hints appears to correspond with the numbering of the paintings.&lt;br /&gt;
&lt;br /&gt;
Below is a breakdown of each number to its location, with any notes that may be needed for clarification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12:&#039;&#039;&#039; (New York) &#039;&#039;&#039;Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11:&#039;&#039;&#039; (Boston) &#039;&#039;&#039;Kooky conspiracies.&#039;&#039;&#039; this seems to be talking about the conspiracy theories surrounding the discovery of the Boston casque. Several vocal hunters have called this find a hoax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10:&#039;&#039;&#039; (Milwaukee) &#039;&#039;&#039;Lions in Lake Park.&#039;&#039;&#039; John Jude Palencar has stated several times that the face of at least one of Lake Park lions is in the Milwaukee painting, as he initially pointed out on the television show Josh Gates Tonight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9:&#039;&#039;&#039; (Montreal) &#039;&#039;&#039;Legs a-eating.&#039;&#039;&#039; This seems to allude to the design in the Montreal painting commonly referred to as the [[Leg Eater]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8:&#039;&#039;&#039; (Houston) &#039;&#039;&#039;Trains a-tooting.&#039;&#039;&#039; This seems to allude to the 982 Train in Hermann Park&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7:&#039;&#039;&#039; (New Orleans) &#039;&#039;&#039;Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6:&#039;&#039;&#039; (St. Augustine) &#039;&#039;&#039;A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5:&#039;&#039;&#039; (Chicago) &#039;&#039;&#039;I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039; This is a reference to a Q&amp;amp;A session during the Cleveland Meetup, during which John Jude Palencar was asked a question as to whether additional casques were buried. When he said no, the questioner contradicted him with this reply.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4:&#039;&#039;&#039; (Cleveland) &#039;&#039;&#039;Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; (Roanoke) &#039;&#039;&#039;Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: (&#039;&#039;&#039;Charleston) &#039;&#039;&#039;Play with the wings.&#039;&#039;&#039; The commonly-accepted image pairing for Charleston (image 6) features a woman with butterfly-type wings.&lt;br /&gt;
&lt;br /&gt;
(San Francisco) &#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039; This seems to allude to the Fairmont Hotel logo in the painting’s rose stem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #6 ==&lt;br /&gt;
[[File:Screenshot from 2025-12-15 22-43-28.png|right|477x477px|Caption]]&lt;br /&gt;
The sixth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4465564153730015&amp;lt;/ref&amp;gt; was posted on Dec. 15th, 2025 and is as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think back to the start of the recent Cleveland event. You could tell John Palencar wasn&#039;t exactly thrilled to be there. Given his history with hunters over the years, his hesitation was understandable.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;But by the end of the day? Total transformation. He was joking with everyone in the autograph line, taking selfies, and hugging hunters. At the end he said Byron would have been proud of the community the Secret has formed.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Something changed his opinion. He started interacting. He started trusting. Then, he started making his work available to this community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Putting his paintings and drawings up for sale may seem like a simple cash grab to some, but John has never done that. He has never made his work publicly available. Much less to a specific community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Let’s debunk the &amp;quot;cash grab&amp;quot; theory right now: If it were about money, he would have targeted the Eragon fanbase, which is infinitely larger than this one. But he’s been keeping this within The Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why? I think it&#039;s trust and respect. I think he was testing the waters so to speak, for something else to come.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I wonder, if an artist wanted to help a community how would he do it? He might have tried words. But words can be confused. Maybe he could try to do it with art? Something he knows. Something he has experience with.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How could he best help?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;If he were to release art related to a solved city, he wouldn&#039;t just be posting a drawing; he would be giving you a Rosetta Stone. He&#039;d be showing you the answers to a test you&#039;ve already finished so you can identify his technique. Then he could post drawings for the unsolved cities, and you would know what to look for and how best to use them.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Would he post new drawings related to the cities? Would they be old studies from the &#039;80s? Who knows? Maybe he would make a series of these, one to help with each of the cities.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Just maybe.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Stay tuned.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;P.S. The personal painting which was incorporated into The Secret was not Milwaukee. It was San Francisco. And it was changed dramatically. Looks like the podcast guys finally got something wrong about that one. It was the first started, and one of the last finished for that reason. Milwaukee and Montreal followed, which is why they do not have many visual clues.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1056</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1056"/>
		<updated>2025-12-16T03:48:40Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to [[User:Burnstyle|George Ward]], the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3218592121760564/&amp;lt;/ref&amp;gt; was posted December 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3422689871350787/&amp;lt;/ref&amp;gt; was made at the same time Ward was conducting an interview during The Impossible Meetup. This was likely done to show searchers that Ward was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; These correspond to the [[Generally Accepted Cities|generally accepted cities]] (with two exceptions), and as such might be interpreted as confirmation of those casque locations. Naples, Florida is where the Cleveland casque currently resides, and Louisville, Kentucky is generally believed to be the location of the Tribute casque. &lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3523292127957227/&amp;lt;/ref&amp;gt; was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3785825835037187/&amp;lt;/ref&amp;gt; was posted on Dec 23 2023. The text bears strong indications of having been run through ChatGPT or other AI text program, likely to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4086401031646331/&amp;lt;/ref&amp;gt; was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; It appears to be noteworthy that the numbering of these hints appears to correspond with the numbering of the paintings.&lt;br /&gt;
&lt;br /&gt;
Below is a breakdown of each number to its location, with any notes that may be needed for clarification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12:&#039;&#039;&#039; (New York) &#039;&#039;&#039;Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11:&#039;&#039;&#039; (Boston) &#039;&#039;&#039;Kooky conspiracies.&#039;&#039;&#039; this seems to be talking about the conspiracy theories surrounding the discovery of the Boston casque. Several vocal hunters have called this find a hoax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10:&#039;&#039;&#039; (Milwaukee) &#039;&#039;&#039;Lions in Lake Park.&#039;&#039;&#039; John Jude Palencar has stated several times that the face of at least one of Lake Park lions is in the Milwaukee painting, as he initially pointed out on the television show Josh Gates Tonight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9:&#039;&#039;&#039; (Montreal) &#039;&#039;&#039;Legs a-eating.&#039;&#039;&#039; This seems to allude to the design in the Montreal painting commonly referred to as the [[Leg Eater]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8:&#039;&#039;&#039; (Houston) &#039;&#039;&#039;Trains a-tooting.&#039;&#039;&#039; This seems to allude to the 982 Train in Hermann Park&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7:&#039;&#039;&#039; (New Orleans) &#039;&#039;&#039;Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6:&#039;&#039;&#039; (St. Augustine) &#039;&#039;&#039;A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5:&#039;&#039;&#039; (Chicago) &#039;&#039;&#039;I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039; This is a reference to a Q&amp;amp;A session during the Cleveland Meetup, during which John Jude Palencar was asked a question as to whether additional casques were buried. When he said no, the questioner contradicted him with this reply.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4:&#039;&#039;&#039; (Cleveland) &#039;&#039;&#039;Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; (Roanoke) &#039;&#039;&#039;Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: (&#039;&#039;&#039;Charleston) &#039;&#039;&#039;Play with the wings.&#039;&#039;&#039; The commonly-accepted image pairing for Charleston (image 6) features a woman with butterfly-type wings.&lt;br /&gt;
&lt;br /&gt;
(San Francisco) &#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039; This seems to allude to the Fairmont Hotel logo in the painting’s rose stem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #6 ==&lt;br /&gt;
[[File:Screenshot from 2025-12-15 22-43-28.png|right|477x477px|Caption]]&lt;br /&gt;
The sixth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4465564153730015&amp;lt;/ref&amp;gt; was posted on Dec. 15th, 2025 and is as follows:&lt;br /&gt;
&lt;br /&gt;
Merry Christmas everyone.&lt;br /&gt;
&lt;br /&gt;
Think back to the start of the recent Cleveland event. You could tell John Palencar wasn&#039;t exactly thrilled to be there. Given his history with hunters over the years, his hesitation was understandable.&lt;br /&gt;
&lt;br /&gt;
But by the end of the day? Total transformation. He was joking with everyone in the autograph line, taking selfies, and hugging hunters. At the end he said Byron would have been proud of the community the Secret has formed.&lt;br /&gt;
&lt;br /&gt;
Something changed his opinion. He started interacting. He started trusting. Then, he started making his work available to this community.&lt;br /&gt;
&lt;br /&gt;
Why?&lt;br /&gt;
&lt;br /&gt;
Putting his paintings and drawings up for sale may seem like a simple cash grab to some, but John has never done that. He has never made his work publicly available. Much less to a specific community.&lt;br /&gt;
&lt;br /&gt;
Let’s debunk the &amp;quot;cash grab&amp;quot; theory right now: If it were about money, he would have targeted the Eragon fanbase, which is infinitely larger than this one. But he’s been keeping this within The Secret community.&lt;br /&gt;
&lt;br /&gt;
Why? I think it&#039;s trust and respect. I think he was testing the waters so to speak, for something else to come.&lt;br /&gt;
&lt;br /&gt;
I wonder, if an artist wanted to help a community how would he do it? He might have tried words. But words can be confused. Maybe he could try to do it with art? Something he knows. Something he has experience with.&lt;br /&gt;
&lt;br /&gt;
How could he best help?&lt;br /&gt;
&lt;br /&gt;
If he were to release art related to a solved city, he wouldn&#039;t just be posting a drawing; he would be giving you a Rosetta Stone. He&#039;d be showing you the answers to a test you&#039;ve already finished so you can identify his technique. Then he could post drawings for the unsolved cities, and you would know what to look for and how best to use them.&lt;br /&gt;
&lt;br /&gt;
Would he post new drawings related to the cities? Would they be old studies from the &#039;80s? Who knows? Maybe he would make a series of these, one to help with each of the cities.&lt;br /&gt;
&lt;br /&gt;
Just maybe.&lt;br /&gt;
&lt;br /&gt;
Stay tuned.&lt;br /&gt;
&lt;br /&gt;
P.S. The personal painting which was incorporated into The Secret was not Milwaukee. It was San Francisco. And it was changed dramatically. Looks like the podcast guys finally got something wrong about that one. It was the first started, and one of the last finished for that reason. Milwaukee and Montreal followed, which is why they do not have many visual clues.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1055</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1055"/>
		<updated>2025-12-16T03:46:45Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to [[User:Burnstyle|George Ward]], the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3218592121760564/&amp;lt;/ref&amp;gt; was posted December 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3422689871350787/&amp;lt;/ref&amp;gt; was made at the same time Ward was conducting an interview during The Impossible Meetup. This was likely done to show searchers that Ward was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; These correspond to the [[Generally Accepted Cities|generally accepted cities]] (with two exceptions), and as such might be interpreted as confirmation of those casque locations. Naples, Florida is where the Cleveland casque currently resides, and Louisville, Kentucky is generally believed to be the location of the Tribute casque. &lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3523292127957227/&amp;lt;/ref&amp;gt; was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3785825835037187/&amp;lt;/ref&amp;gt; was posted on Dec 23 2023. The text bears strong indications of having been run through ChatGPT or other AI text program, likely to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4086401031646331/&amp;lt;/ref&amp;gt; was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; It appears to be noteworthy that the numbering of these hints appears to correspond with the numbering of the paintings.&lt;br /&gt;
&lt;br /&gt;
Below is a breakdown of each number to its location, with any notes that may be needed for clarification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12:&#039;&#039;&#039; (New York) &#039;&#039;&#039;Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11:&#039;&#039;&#039; (Boston) &#039;&#039;&#039;Kooky conspiracies.&#039;&#039;&#039; this seems to be talking about the conspiracy theories surrounding the discovery of the Boston casque. Several vocal hunters have called this find a hoax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10:&#039;&#039;&#039; (Milwaukee) &#039;&#039;&#039;Lions in Lake Park.&#039;&#039;&#039; John Jude Palencar has stated several times that the face of at least one of Lake Park lions is in the Milwaukee painting, as he initially pointed out on the television show Josh Gates Tonight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9:&#039;&#039;&#039; (Montreal) &#039;&#039;&#039;Legs a-eating.&#039;&#039;&#039; This seems to allude to the design in the Montreal painting commonly referred to as the [[Leg Eater]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8:&#039;&#039;&#039; (Houston) &#039;&#039;&#039;Trains a-tooting.&#039;&#039;&#039; This seems to allude to the 982 Train in Hermann Park&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7:&#039;&#039;&#039; (New Orleans) &#039;&#039;&#039;Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6:&#039;&#039;&#039; (St. Augustine) &#039;&#039;&#039;A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5:&#039;&#039;&#039; (Chicago) &#039;&#039;&#039;I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039; This is a reference to a Q&amp;amp;A session during the Cleveland Meetup, during which John Jude Palencar was asked a question as to whether additional casques were buried. When he said no, the questioner contradicted him with this reply.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4:&#039;&#039;&#039; (Cleveland) &#039;&#039;&#039;Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; (Roanoke) &#039;&#039;&#039;Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: (&#039;&#039;&#039;Charleston) &#039;&#039;&#039;Play with the wings.&#039;&#039;&#039; The commonly-accepted image pairing for Charleston (image 6) features a woman with butterfly-type wings.&lt;br /&gt;
&lt;br /&gt;
(San Francisco) &#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039; This seems to allude to the Fairmont Hotel logo in the painting’s rose stem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #6 ==&lt;br /&gt;
[[File:Screenshot from 2025-12-15 22-43-28.png|right|477x477px|Caption]]&lt;br /&gt;
The sixth Gift Giver post was posted on Dec. 15th, 2025 and is as follows:&lt;br /&gt;
&lt;br /&gt;
Merry Christmas everyone.&lt;br /&gt;
Think back to the start of the recent Cleveland event. You could tell John Palencar wasn&#039;t exactly thrilled to be there. Given his history with hunters over the years, his hesitation was understandable.&lt;br /&gt;
But by the end of the day? Total transformation. He was joking with everyone in the autograph line, taking selfies, and hugging hunters. At the end he said Byron would have been proud of the community the Secret has formed.&lt;br /&gt;
Something changed his opinion. He started interacting. He started trusting. Then, he started making his work available to this community.&lt;br /&gt;
Why?&lt;br /&gt;
Putting his paintings and drawings up for sale may seem like a simple cash grab to some, but John has never done that. He has never made his work publicly available. Much less to a specific community.&lt;br /&gt;
Let’s debunk the &amp;quot;cash grab&amp;quot; theory right now: If it were about money, he would have targeted the Eragon fanbase, which is infinitely larger than this one. But he’s been keeping this within The Secret community.&lt;br /&gt;
Why? I think it&#039;s trust and respect. I think he was testing the waters so to speak, for something else to come.&lt;br /&gt;
I wonder, if an artist wanted to help a community how would he do it? He might have tried words. But words can be confused. Maybe he could try to do it with art? Something he knows. Something he has experience with.&lt;br /&gt;
How could he best help?&lt;br /&gt;
If he were to release art related to a solved city, he wouldn&#039;t just be posting a drawing; he would be giving you a Rosetta Stone. He&#039;d be showing you the answers to a test you&#039;ve already finished so you can identify his technique. Then he could post drawings for the unsolved cities, and you would know what to look for and how best to use them.&lt;br /&gt;
Would he post new drawings related to the cities? Would they be old studies from the &#039;80s? Who knows? Maybe he would make a series of these, one to help with each of the cities.&lt;br /&gt;
Just maybe.&lt;br /&gt;
Stay tuned.&lt;br /&gt;
P.S. The personal painting which was incorporated into The Secret was not Milwaukee. It was San Francisco. And it was changed dramatically. Looks like the podcast guys finally got something wrong about that one. It was the first started, and one of the last finished for that reason. Milwaukee and Montreal followed, which is why they do not have many visual clues.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=File:Screenshot_from_2025-12-15_22-43-28.png&amp;diff=1054</id>
		<title>File:Screenshot from 2025-12-15 22-43-28.png</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=File:Screenshot_from_2025-12-15_22-43-28.png&amp;diff=1054"/>
		<updated>2025-12-16T03:45:15Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gift Giver post #6&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1049</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1049"/>
		<updated>2025-12-15T21:08:44Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: added links to posts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to [[User:Burnstyle|George Ward]], the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3218592121760564/&amp;lt;/ref&amp;gt; was posted December 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3422689871350787/&amp;lt;/ref&amp;gt; was made at the same time Ward was conducting an interview during The Impossible Meetup. This was likely done to show searchers that Ward was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; These correspond to the [[Generally Accepted Cities|generally accepted cities]] (with two exceptions), and as such might be interpreted as confirmation of those casque locations. Naples, Florida is where the Cleveland casque currently resides, and Louisville, Kentucky is generally believed to be the location of the Tribute casque. &lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3523292127957227/&amp;lt;/ref&amp;gt; was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/3785825835037187/&amp;lt;/ref&amp;gt; was posted on Dec 23 2023. The text bears strong indications of having been run through ChatGPT or other AI text program, likely to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post&amp;lt;ref&amp;gt;https://www.facebook.com/groups/thesecrettreasures/posts/4086401031646331/&amp;lt;/ref&amp;gt; was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Analysis:&#039;&#039; It appears to be noteworthy that the numbering of these hints appears to correspond with the numbering of the paintings.&lt;br /&gt;
&lt;br /&gt;
Below is a breakdown of each number to its location, with any notes that may be needed for clarification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12:&#039;&#039;&#039; (New York) &#039;&#039;&#039;Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11:&#039;&#039;&#039; (Boston) &#039;&#039;&#039;Kooky conspiracies.&#039;&#039;&#039; this seems to be talking about the conspiracy theories surrounding the discovery of the Boston casque. Several vocal hunters have called this find a hoax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10:&#039;&#039;&#039; (Milwaukee) &#039;&#039;&#039;Lions in Lake Park.&#039;&#039;&#039; John Jude Palencar has stated several times that the face of at least one of Lake Park lions is in the Milwaukee painting, as he initially pointed out on the television show Josh Gates Tonight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9:&#039;&#039;&#039; (Montreal) &#039;&#039;&#039;Legs a-eating.&#039;&#039;&#039; This seems to allude to the design in the Montreal painting commonly referred to as the [[Leg Eater]].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8:&#039;&#039;&#039; (Houston) &#039;&#039;&#039;Trains a-tooting.&#039;&#039;&#039; This seems to allude to the 982 Train in Hermann Park&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7:&#039;&#039;&#039; (New Orleans) &#039;&#039;&#039;Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6:&#039;&#039;&#039; (St. Augustine) &#039;&#039;&#039;A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5:&#039;&#039;&#039; (Chicago) &#039;&#039;&#039;I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039; This is a reference to a Q&amp;amp;A session during the Cleveland Meetup, during which John Jude Palencar was asked a question as to whether additional casques were buried. When he said no, the questioner contradicted him with this reply.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4:&#039;&#039;&#039; (Cleveland) &#039;&#039;&#039;Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; (Roanoke) &#039;&#039;&#039;Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: (&#039;&#039;&#039;Charleston) &#039;&#039;&#039;Play with the wings.&#039;&#039;&#039; The commonly-accepted image pairing for Charleston (image 6) features a woman with butterfly-type wings.&lt;br /&gt;
&lt;br /&gt;
(San Francisco) &#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039; This seems to allude to the Fairmont Hotel logo in the painting’s rose stem.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1033</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1033"/>
		<updated>2025-12-10T02:15:52Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is important to note that the numbering of these hints seem to follow the numbering of the painting.&lt;br /&gt;
&lt;br /&gt;
Below is a breakdown of each number to its location, with any notes that may be needed for clarification.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12:&#039;&#039;&#039; (New York) &#039;&#039;&#039;Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11:&#039;&#039;&#039; (Boston) &#039;&#039;&#039;Kooky conspiracies.&#039;&#039;&#039; this seems to be talking about the conspiracy theories surrounding the discovery of the Boston casque. Several vocal hunters have called this find a hoax.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10:&#039;&#039;&#039; (Milwaukee) &#039;&#039;&#039;Lions in Lake Park.&#039;&#039;&#039; John Jude Palencar has stated several times that the lake park lions face is in the Milwaukee painting, as he initially pointed out on the television show Josh Gates Tonight.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9:&#039;&#039;&#039; (Montreal) &#039;&#039;&#039;Legs a-eating.&#039;&#039;&#039; This seems to allude to the design in the Montreal painting commonly refereed to as The LegEater&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8:&#039;&#039;&#039; (Houston) &#039;&#039;&#039;Trains a-tooting.&#039;&#039;&#039; This seems to allude to the 982 Train in Hermann Park&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7:&#039;&#039;&#039; (New Orleans) &#039;&#039;&#039;Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6:&#039;&#039;&#039; (St. Augustine) &#039;&#039;&#039;A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5:&#039;&#039;&#039; (Chicago) &#039;&#039;&#039;I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4:&#039;&#039;&#039; (Cleveland) &#039;&#039;&#039;Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3:&#039;&#039;&#039; (Roanoke) &#039;&#039;&#039;Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: (&#039;&#039;&#039;Charleston) &#039;&#039;&#039;Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
(San Francisco) &#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039; This seems to allude to the Fairmont Hotel logo in the paintings rose stem.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1032</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1032"/>
		<updated>2025-12-10T02:05:40Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1031</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1031"/>
		<updated>2025-12-10T02:05:26Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1030</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1030"/>
		<updated>2025-12-10T02:04:08Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #5 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fifth Gift Giver post was posted on Dec 13 2024. The text’s format is an allusion to the Christmas carol &#039;&#039;The Twelve Days of Christmas&#039;&#039;. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;on the 12th day of Advicemas my true love gave to me:&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;12: Don&#039;t minimize the obvious.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;11: Kooky conspiracies.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;10: Lions in Lake Park.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;9: Legs a-eating.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;8: Trains a-tooting.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;7: Out of place shadow.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;6: A tree is a tree.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;5: I DIS-AGREEEEEEEEE! (I had to throw that in somewhere.)&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;4: Calling birds? (I have nothing to say.)&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;3: Has a typo.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;2: Play with the wings.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;And a hotel in a rose tree.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;That should be enough for awhile right? Thank you to both the moderators and the community for letting me join you for awhile. Most of you are such fun and creative people. I really enjoy seeing all of the Secret Santa posts, Byron would have loved that. He really would be proud of the Secret community.&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;&#039;Have a Merry Christmas/Happy Holiday season.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver5.png|400px|Caption|right]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1026</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1026"/>
		<updated>2025-12-09T21:44:01Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #4 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;br /&gt;
&#039;&#039;&#039;Happy holidays everyone.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Back in &#039;82, some iconic stuff went down—Thriller dropped, E.T. hit the screens, and the most popular computer was the IBM PC boasting 64k of RAM and a display capability of 16 colors. Photoshop was still 10 years away. Scanners and color printing were all but nonexistent. Want to send an email? Yeah, right.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, when it came to crafting the Secret, imagine this: a Polaroid and a fax machine were the high-tech tools of the trade. Byron snapped grainy, out-of-focus pictures of important things, sent them to John, who then sketched them out and faxed them back. It was a game of clear communication, sometimes requiring bold and basic drawings to make sure they were both on the same page.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I&#039;m saying all of this because I am hoping to keep you all grounded. Generally, before Christmas, I log into this account and read some of the posts on these groups. I admire a lot of people&#039;s creativity, but I wonder exactly what treasure hunt they are working on.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it Byron&#039;s or their own?&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I see a lot of paintings superimposed over maps, or landmasses, when such things would be impossible when this book was made. If they couldn&#039;t envision you ever having the technology to do that, why would they include it in their treasure hunt? I see posts where people are trying to match super up-close details from a photograph of John&#039;s paintings to, say, a tree... or a road. Why would John put details that small in his paintings if he never imagined you would ever see the actual paintings? Why would he put something smaller than Byron could see in a fax?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;There are things you know about this puzzle. You know about the Chicago fencepost, you know about the terminal tower, you know about home plate. These are all big obvious things.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You know Byron&#039;s mind when working on these puzzles because you have seen his hints. You can wax poetic about all the connections you can make to &amp;quot;High posts are three,&amp;quot; but because of Byron, you know they are just wooden posts. You know M and B were just composers. You know Octave is a proper noun.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;So, here&#039;s the deal: what you know is direct, so why assume the rest is so indirect? Especially when Byron and John had no clue you&#039;d ever know any of it. They didn&#039;t picture you seeing their work. John never imagined you would see his paintings. Byron never imagined you would see his hints. Yet there they are, simple and direct.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;You&#039;re going to be very upset when you find out that a bunch of the most overthought lines in the poems are just... a sign.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Now, what you don&#039;t know is that the whole treasure hunt, from brainstorming to execution, took just a year. Not a decade of pre-planning, just one solid year.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This project was very compartmentalized... most of you would assume out of necessity. But that&#039;s not why. It wasn&#039;t about secrecy; it was because everyone had a job. Ben snapped pics, JoEllen sculpted, Sean and Ted did their fair folk thing, and Byron and John crafted the treasure hunt. Each to their own job, no overlap. We all met once for dinner (except Overton for some reason), and while the National Lampoon guys were very funny, it was clear this project had two teams—Byron and John, and everyone else.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hope this year&#039;s treated you well. Be kind to one another, and keep the magic alive in this nook. It&#039;s a place I never thought could exist, and I hope it sticks around. Keep loving and working on Byron&#039;s treasure hunt, or your own—whichever tickles your fancy.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Oh right. I&#039;m supposed to give you a nudge.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Think like Byron. Take a piece of paper and make a few columns. Start going through the book from the start through the verses and find lists, or frequent similar things. Start putting those in their respective columns. Include things you know, like months and coordinates. See if you can find a pattern. All that information has to be there for a reason right? Organize it.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;That might help.&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1025</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1025"/>
		<updated>2025-12-09T21:41:53Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The Secret&#039;s official nudge of 2021.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Not too long ago I was watching a film which featured whirling dervishes.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Left hand accepting, right hand releasing.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why does the right hand have a string with nothing attached?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why is the left holding a watch?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you add something to the right?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Should you remove something from the left?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is it the reverse?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Are you looking at these paintings correctly?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Is anyone?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas, see you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;San Francisco, California&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Charleston, South Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Dare County, North Carolina&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Naples, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Chicago, Illinois&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;St. Augustine, Florida&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New Orleans, Louisiana&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Houston, Texas&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Montreal, Canada&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Milwaukee, Wisconsin&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Boston, Massachusetts&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;New York, New York&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;I hear Louisville, Kentucky is nice too.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;See you next year.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|Caption|right]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context.&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Which begs the question. What is the most important part of that message? The subject or the context?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Merry Christmas.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author. The post reads as follows:&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|Caption|right]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1024</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1024"/>
		<updated>2025-12-09T21:39:05Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order. &lt;br /&gt;
&lt;br /&gt;
San Francisco, California&lt;br /&gt;
&lt;br /&gt;
Charleston, South Carolina&lt;br /&gt;
&lt;br /&gt;
Dare County, North Carolina&lt;br /&gt;
&lt;br /&gt;
Naples, Florida&lt;br /&gt;
&lt;br /&gt;
Chicago, Illinois&lt;br /&gt;
&lt;br /&gt;
St. Augustine, Florida&lt;br /&gt;
&lt;br /&gt;
New Orleans, Louisiana&lt;br /&gt;
&lt;br /&gt;
Houston, Texas&lt;br /&gt;
&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
&lt;br /&gt;
Boston, Massachusetts&lt;br /&gt;
&lt;br /&gt;
New York, New York&lt;br /&gt;
&lt;br /&gt;
I hear Louisville, Kentucky is nice too.&lt;br /&gt;
&lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1023</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1023"/>
		<updated>2025-12-09T21:37:38Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|right|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1022</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1022"/>
		<updated>2025-12-09T21:36:48Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
[[File:GiftGiver1.png|400px|right|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1021</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1021"/>
		<updated>2025-12-09T21:34:50Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
![[File:GiftGiver1.png|400px|center|Caption]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1020</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1020"/>
		<updated>2025-12-09T21:33:13Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver Post #1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|center|Caption]]&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1019</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1019"/>
		<updated>2025-12-09T21:32:48Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver Post #1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|center|Caption]]&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1018</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1018"/>
		<updated>2025-12-09T21:32:26Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver post #2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
&lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
&lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
&lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
&lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
&lt;br /&gt;
Is anyone?&lt;br /&gt;
&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1017</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1017"/>
		<updated>2025-12-09T21:30:49Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: /* Gift Giver Post #1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1016</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1016"/>
		<updated>2025-12-09T21:29:31Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|left|Caption|left]]&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #4 ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1015</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1015"/>
		<updated>2025-12-09T21:28:37Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gift Giver Post #1 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|left|Caption|left]]&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #2 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gift Giver post #3 ==&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #4 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1014</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1014"/>
		<updated>2025-12-09T21:27:48Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver Post #1 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|left|Caption|left]]&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #2 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #3 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #4 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1013</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1013"/>
		<updated>2025-12-09T21:20:50Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver Post #1 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|thumb|Caption|left]]&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #2 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|thumb|left|Caption]]&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #3 ===&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #4 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1012</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1012"/>
		<updated>2025-12-09T21:19:28Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: layout changes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver Post #1 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
[[File:GiftGiver1.png|400px|thumb|Caption|left]]&lt;br /&gt;
&lt;br /&gt;
=== Gift Giver post #2 ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
[[File:GiftGiver2.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1011</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1011"/>
		<updated>2025-12-09T21:15:02Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
[[File:GiftGiver1.png|400px|thumb|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
[[File:GiftGiver2.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1010</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1010"/>
		<updated>2025-12-09T21:14:21Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The first nudge was posted Dec, 21, 2021, and read as follows:&lt;br /&gt;
The Secret&#039;s official nudge of 2021.&lt;br /&gt;
Not too long ago I was watching a film which featured whirling dervishes. &lt;br /&gt;
In the scene the Sufi has one hand pointing to the sky accepting something from God, and one hand pointed to the earth giving something back. For a brief second I was reminded of the Roanoke painting. &lt;br /&gt;
The painting seems to involve parallels doesn&#039;t it? One side matching the other, but not exactly. &lt;br /&gt;
Left hand accepting, right hand releasing. &lt;br /&gt;
Why does the right hand have a string with nothing attached?&lt;br /&gt;
Why is the left holding a watch?&lt;br /&gt;
Should you add something to the right?&lt;br /&gt;
Should you remove something from the left?&lt;br /&gt;
Is it the reverse?&lt;br /&gt;
How would you know? Maybe there are instructions in the painting. Perhaps a plus and minus sign somewhere.&lt;br /&gt;
Are you looking at these paintings correctly?&lt;br /&gt;
Is anyone?&lt;br /&gt;
I don&#039;t remember exactly what John and Byron were going for. Maybe you can help fill in the blanks.&lt;br /&gt;
Merry Christmas, see you next year.&lt;br /&gt;
[[File:GiftGiver1.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The second post was made during an interview George was conducting during The Impossible Meetup. This was likely done to show searchers that George was not in control of the account.&lt;br /&gt;
It was posted Sept. 10, 2022, and reads as follows:&lt;br /&gt;
&lt;br /&gt;
I spoke with Mr. Ward recently about his goal for the 40th anniversary of the Secret. I didn&#039;t quite understand why he has been doing all of this. I didn&#039;t understand why this year was so special. After speaking to him I found his goal to be admirable, and I thought I would help him reach it.  My favorite areas are areas that contain casques buried by my close friend Byron. Here are a list of my favorite areas in no particular order.  &lt;br /&gt;
San Francisco, California &lt;br /&gt;
Charleston, South Carolina  &lt;br /&gt;
Dare County, North Carolina  &lt;br /&gt;
Naples, Florida &lt;br /&gt;
Chicago, Illinois &lt;br /&gt;
St. Augustine, Florida &lt;br /&gt;
New Orleans, Louisiana &lt;br /&gt;
Houston, Texas&lt;br /&gt;
Montreal, Canada&lt;br /&gt;
Milwaukee, Wisconsin&lt;br /&gt;
Boston, Massachusetts &lt;br /&gt;
New York, New York&lt;br /&gt;
I hear Louisville, Kentucky is nice too. &lt;br /&gt;
See you next year.&lt;br /&gt;
[[File:GiftGiver2.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The third Gift Giver post was posted on Dec 25th 2022 and reads as follows:&lt;br /&gt;
In order for an artist to get a message across the art must have a subject as well as other elements which give that subject context. &lt;br /&gt;
For instance, if an artist wanted to illustrate a pea, he could simply paint a green sphere. But how would you know it&#039;s a pea and not a simple green circle? Perhaps the artist could add a spoon as context. &lt;br /&gt;
Which begs the question. What is the most important part of that message? The subject or the context?&lt;br /&gt;
Merry Christmas.&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
The fourth Gift Giver post was posted on Dec 23 2023. The text was clearly run through ChatGPT. This was done to hide the distinct writing style of the author.&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1009</id>
		<title>Gift Giver</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Gift_Giver&amp;diff=1009"/>
		<updated>2025-12-09T21:04:51Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: added summary&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Gift Giver is an anonymous Facebook account that occasionally posts hints or &amp;quot;nudges&amp;quot; related to [[The Secret (treasure hunt)]].  According to George Ward, the account was created in 2021 after two of the hunt’s creators expressed a desire to release hints on an annual basis. Ward reports that two creators agreed to share a single anonymous Facebook login so they could post as needed; one of them made the account’s first post the following day.&amp;lt;ref&amp;gt;George Ward, personal communication.&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver1.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver2.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver3.png|400px|thumb|left|Caption]]&lt;br /&gt;
&lt;br /&gt;
[[File:GiftGiver4.png|400px|thumb|left|Caption]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=980</id>
		<title>Litany of the Jewels</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=980"/>
		<updated>2025-12-01T03:36:28Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: added litany&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is the nature (or perhaps we should say PRETERNATURE) of Fairies to love beautiful things: starshine and flowers, of course, and trees; rushing&lt;br /&gt;
streams, dew-bright morning spider webs, and music. But of all the desires of the Fair People, there is&lt;br /&gt;
one thing for which Man shares the same passion:&lt;br /&gt;
Jewels.&lt;br /&gt;
To the Fairies, gold is pretty enough stuff. It reminds them of sunlight dancing on water and of the&lt;br /&gt;
turning leaves in autumn. (Catch a Leprechaun, they&lt;br /&gt;
say, and demand of him his golden treasure: you’ll&lt;br /&gt;
sleep a hundred years and wake with dead leaves in&lt;br /&gt;
your pocket-he keeps his word.)&lt;br /&gt;
Likewise, they cherish silver, for it puts them in&lt;br /&gt;
mind of moonlight and icicles.&lt;br /&gt;
But precious stones they value for themselves; perhaps because, like them, gems are earthbom, rare,&lt;br /&gt;
and beautiful. When it comes to jewelry (and the&lt;br /&gt;
Fairies are great craftsmen of jewelry)-to rings and&lt;br /&gt;
pendants, bracelets and necklaces, to broaches and inlaid dagger hilts, coronets and combs-the Fair People can be jealous, greedy, vain, quarrelsome, possessive, treacherous-almost, in a word, human.&lt;br /&gt;
When the Thirteen Nations of the Fair People came&lt;br /&gt;
to the New Found Land, twelve tribes brought with&lt;br /&gt;
them their chief pride and treasure: a gem from the&lt;br /&gt;
Old World, a remembrance of their history and tradition. The Eivish folk of Scandia provided the uncanny&lt;br /&gt;
casques in which the jewels were kept.&lt;br /&gt;
Every Fairy, even the stupidest Goblin among&lt;br /&gt;
them, knew by heart the Litany of the Jewels:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;What are the treasures the Fair Folk bring?&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Easily named, and lovingly told:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Fairies of England proudly bear&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Garnet, crown-jewel of their Queen.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Brilliant as eyes of Celtic folk,&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Cold morning green, their Emerald.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The Hadas of Iberia:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sapphire, shy as a wild field flower.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Turquoise the Fays of France keep: stone&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Rare as a blue midsummer’s day.&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Dwarves’ treasure: purple Amethyst,&lt;br /&gt;
&lt;br /&gt;
Imperial star of Germany.&lt;br /&gt;
&lt;br /&gt;
The Opal of the Lowland Gnomes:&lt;br /&gt;
&lt;br /&gt;
A cloud of shining, shifting smoke.&lt;br /&gt;
&lt;br /&gt;
A Topaz is the Russian prize:&lt;br /&gt;
&lt;br /&gt;
The royal sunstone, frozen fire.&lt;br /&gt;
&lt;br /&gt;
Peridot of old Italy:&lt;br /&gt;
&lt;br /&gt;
Antique, and olivine, and rich.&lt;br /&gt;
&lt;br /&gt;
The Ruby out of Araby:&lt;br /&gt;
&lt;br /&gt;
Scarlet of desert sky at dawn.&lt;br /&gt;
&lt;br /&gt;
Africa’s Diamond, earth-born star,&lt;br /&gt;
&lt;br /&gt;
Bright harvest of the midnight rock.&lt;br /&gt;
&lt;br /&gt;
The Nymphs of Hellas cherish sweet&lt;br /&gt;
&lt;br /&gt;
Aquamarine, spring-water clear.&lt;br /&gt;
&lt;br /&gt;
From far Cathay, the dragon’s Pearl:&lt;br /&gt;
&lt;br /&gt;
Chaste, perfect as the silver moon.&lt;br /&gt;
&lt;br /&gt;
Each jewel in its weird-wrought casque,&lt;br /&gt;
&lt;br /&gt;
Gift of the Viking craftsmen Elves.&lt;br /&gt;
&lt;br /&gt;
Wonder and glory thirteen-fold:&lt;br /&gt;
&lt;br /&gt;
These are the treasures the Fair Folk bring.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=979</id>
		<title>Litany of the Jewels</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=979"/>
		<updated>2025-12-01T03:35:47Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is the nature (or perhaps we should say PRETERNATURE) of Fairies to love beautiful things: starshine and flowers, of course, and trees; rushing&lt;br /&gt;
streams, dew-bright morning spider webs, and music. But of all the desires of the Fair People, there is&lt;br /&gt;
one thing for which Man shares the same passion:&lt;br /&gt;
Jewels.&lt;br /&gt;
To the Fairies, gold is pretty enough stuff. It reminds them of sunlight dancing on water and of the&lt;br /&gt;
turning leaves in autumn. (Catch a Leprechaun, they&lt;br /&gt;
say, and demand of him his golden treasure: you’ll&lt;br /&gt;
sleep a hundred years and wake with dead leaves in&lt;br /&gt;
your pocket-he keeps his word.)&lt;br /&gt;
Likewise, they cherish silver, for it puts them in&lt;br /&gt;
mind of moonlight and icicles.&lt;br /&gt;
But precious stones they value for themselves; perhaps because, like them, gems are earthbom, rare,&lt;br /&gt;
and beautiful. When it comes to jewelry (and the&lt;br /&gt;
Fairies are great craftsmen of jewelry)-to rings and&lt;br /&gt;
pendants, bracelets and necklaces, to broaches and inlaid dagger hilts, coronets and combs-the Fair People can be jealous, greedy, vain, quarrelsome, possessive, treacherous-almost, in a word, human.&lt;br /&gt;
When the Thirteen Nations of the Fair People came&lt;br /&gt;
to the New Found Land, twelve tribes brought with&lt;br /&gt;
them their chief pride and treasure: a gem from the&lt;br /&gt;
Old World, a remembrance of their history and tradition. The Eivish folk of Scandia provided the uncanny&lt;br /&gt;
casques in which the jewels were kept.&lt;br /&gt;
Every Fairy, even the stupidest Goblin among&lt;br /&gt;
them, knew by heart the Litany of the Jewels:&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=978</id>
		<title>Litany of the Jewels</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Litany_of_the_Jewels&amp;diff=978"/>
		<updated>2025-12-01T03:34:30Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: added litany first page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;It is the nature (or perhaps we should say PRE-&lt;br /&gt;
TERNATURE) of Fairies to love beautiful things: star-&lt;br /&gt;
shine and flowers, of course, and trees; rushing&lt;br /&gt;
streams, dew-bright morning spider webs, and mu-&lt;br /&gt;
sic. But of all the desires of the Fair People, there is&lt;br /&gt;
one thing for which Man shares the same passion:&lt;br /&gt;
Jewels.&lt;br /&gt;
To the Fairies, gold is pretty enough stuff. It re-&lt;br /&gt;
minds them of sunlight dancing on water and of the&lt;br /&gt;
turning leaves in autumn. (Catch a Leprechaun, they&lt;br /&gt;
say, and demand of him his golden treasure: you’ll&lt;br /&gt;
sleep a hundred years and wake with dead leaves in&lt;br /&gt;
your pocket-he keeps his word.)&lt;br /&gt;
Likewise, they cherish silver, for it puts them in&lt;br /&gt;
mind of moonlight and icicles.&lt;br /&gt;
But precious stones they value for themselves; per-&lt;br /&gt;
haps because, like them, gems are earthbom, rare,&lt;br /&gt;
and beautiful. When it comes to jewelry (and the&lt;br /&gt;
Fairies are great craftsmen of jewelry)-to rings and&lt;br /&gt;
pendants, bracelets and necklaces, to broaches and&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Contributors_to_the_Secret&amp;diff=977</id>
		<title>Contributors to the Secret</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Contributors_to_the_Secret&amp;diff=977"/>
		<updated>2025-12-01T03:31:43Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: added contributors. Missing last half.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Sean Kelly]] Author Mr. Kelly was a newspaper reporter, radio actor, advertising agency copywriter, and college teacher of Children’s Literature and Victorian History before leaving his native Canada. He joined (and is currently an editor of) the National Lampoon magazine, co-wrote and did lyrics for the musical revue, Lemmings and edited Heavy Metal magazine. He has written comedy for television— Steve Martin, Jonathan Winters, and Robert Klein—and for children’s television: Young People’s Concerts (CBS), the Drawing Power series (NBC) and School House Rock (ABC). He has contributed to (the Sports and Op-Ed pages of) The New York Times and to Not the New York Times, to The 80’s: A Look Back, The Quarterly of Joyce Studies, The What’s What Book and A Treasury of Humor for Children. He is now editing a collection, Irish Folk Tales and Fairy Tales, for W. H. Smith. He is married to Valerie Marchant, and has four children.&lt;br /&gt;
&lt;br /&gt;
[[Ted Mann]] Author Mr. Mann, a native of Canada, is currently a senior editor of National Lampoon, for which he has written since 1974. He has written teleplays for ABC’s short-lived Delta House, Behind the Scenes and NBC’s Drawing Power. He co-edited Slightly Higher in Canada with Mr. Kelly, a frequent collaborator.&lt;br /&gt;
&lt;br /&gt;
[[JoEllen Trilling]] Sculptress Ms. Trilling’s sculptures have been the subject of five shows at the Julie Artisans Gallery on Madison Avenue in Manhattan, where such clients as Elton John, Ellen Burstyn, Cher, Julie Christie and Carrie Fisher have purchased them. Her sculptures have appeared in The Complete Book of Stuffed Work, The Beach Boys, Heavy Metal, The Soho Weekly News, Playboy, and Cue; and in the Ren-wick Gallery of the Smithsonian Museum in Washington D.C. She has taught soft sculpture in New York and Kentucky, and her work was featured twice on Bill Bogg’s Midday Live television program in New York. She currently resides in New York.&lt;br /&gt;
&lt;br /&gt;
[[John Jude Palencar]] Illustrator Mr. Palencar’s award-winning work has appeared in numerous periodicals such as Ohio and the Cleveland Plain Dealer. His illustrations have appeared in three shows at the prestigious Society of Illustrators and in Distant Stars. He was awarded a scholarship to the 1980 Illustrator’s Workshop in Paris, and is pursuing careers in both fine art and illustration.&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=877</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=MediaWiki:Sidebar&amp;diff=877"/>
		<updated>2025-11-10T06:24:13Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: Created page with &amp;quot; * navigation ** mainpage|mainpage-description ** recentchanges-url|recentchanges ** randompage-url|randompage ** helppage|help-mediawiki ** specialpages-url|specialpages  * 12Treasures ** https://12treasures.com|Back to 12treasures.com  * SEARCH * TOOLBOX * LANGUAGES&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
* navigation&lt;br /&gt;
** mainpage|mainpage-description&lt;br /&gt;
** recentchanges-url|recentchanges&lt;br /&gt;
** randompage-url|randompage&lt;br /&gt;
** helppage|help-mediawiki&lt;br /&gt;
** specialpages-url|specialpages&lt;br /&gt;
&lt;br /&gt;
* 12Treasures&lt;br /&gt;
** https://12treasures.com|Back to 12treasures.com&lt;br /&gt;
&lt;br /&gt;
* SEARCH&lt;br /&gt;
* TOOLBOX&lt;br /&gt;
* LANGUAGES&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:CS1_identifiers/doc&amp;diff=351</id>
		<title>Module:CS1 identifiers/doc</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:CS1_identifiers/doc&amp;diff=351"/>
		<updated>2025-10-11T03:15:01Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- Add categories where indicated at the bottom of this page and interwikis at Wikidata --&amp;gt;&lt;br /&gt;
{{Lua|Module:Arguments|Module:Citation/CS1/Identifiers|Module:Citation/CS1/Utilities|Module:Citation/CS1/Configuration}}&lt;br /&gt;
{{Uses TemplateStyles|Module:Citation/CS1/styles.css}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Identifiers&amp;diff=349</id>
		<title>Module:Citation/CS1/Identifiers</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Identifiers&amp;diff=349"/>
		<updated>2025-10-11T03:15:00Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[--------------------------&amp;lt; F O R W A R D   D E C L A R A T I O N S &amp;gt;--------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local has_accept_as_written, is_set, in_array, set_message, select_one,			-- functions in Module:Citation/CS1/Utilities&lt;br /&gt;
		substitute, make_wikilink;&lt;br /&gt;
&lt;br /&gt;
local z;																		-- table of tables defined in Module:Citation/CS1/Utilities&lt;br /&gt;
&lt;br /&gt;
local cfg;																		-- table of configuration tables that are defined in Module:Citation/CS1/Configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P A G E   S C O P E   V A R I A B L E S &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
declare variables here that have page-wide scope that are not brought in from other modules; that are created here and used here&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local auto_link_urls = {};														-- holds identifier URLs for those identifiers that can auto-link |title=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--============================&amp;lt;&amp;lt; H E L P E R   F U N C T I O N S &amp;gt;&amp;gt;============================================&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; W I K I D A T A _ A R T I C L E _ N A M E _ G E T &amp;gt;----------------------------&lt;br /&gt;
&lt;br /&gt;
as an aid to internationalizing identifier-label wikilinks, gets identifier article names from Wikidata.&lt;br /&gt;
&lt;br /&gt;
returns w:&amp;lt;lang code&amp;gt;:&amp;lt;article title&amp;gt; when &amp;lt;q&amp;gt; has an &amp;lt;article title&amp;gt; for &amp;lt;lang code&amp;gt;; nil else. &#039;w:&amp;lt;lang code&amp;gt;&#039;&lt;br /&gt;
ensures that sister project (like wiktionary) will link to the &amp;lt;lang code&amp;gt;.wikipedia article.&lt;br /&gt;
&lt;br /&gt;
for identifiers that do not have &amp;lt;q&amp;gt;, returns nil&lt;br /&gt;
&lt;br /&gt;
for wikis that do not have mw.wikibase installed, returns nil&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function wikidata_article_name_get (q)&lt;br /&gt;
	if not is_set (q) or (q and not mw.wikibase) then							-- when no q number or when a q number but mw.wikibase not installed on this wiki&lt;br /&gt;
		return nil;																-- abandon&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local wd_article;&lt;br /&gt;
	local this_wiki_code = cfg.this_wiki_code;									-- Wikipedia subdomain; &#039;en&#039; for en.wikipedia.org&lt;br /&gt;
&lt;br /&gt;
	wd_article = mw.wikibase.getSitelink (q, this_wiki_code .. &#039;wiki&#039;);			-- fetch article title from WD; nil when no title available at this wiki&lt;br /&gt;
&lt;br /&gt;
	if wd_article then&lt;br /&gt;
		wd_article = table.concat ({&#039;w:&#039;, this_wiki_code, &#039;:&#039;, wd_article});	-- interwiki-style link without brackets if taken from WD; leading &#039;w:&#039; required&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return wd_article;															-- article title from WD; nil else&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L A B E L _ L I N K _ M A K E &amp;gt;------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
common function to create a link for an identifier label from handler table or from Wikidata&lt;br /&gt;
&lt;br /&gt;
returns the first available of:&lt;br /&gt;
	1. redirect from local wiki&#039;s handler table (if enabled)&lt;br /&gt;
	2. Wikidata sitelink to the local language wikipedia article (if there is a Wikidata entry for this identifier in the local language)&lt;br /&gt;
	3. link to wikipedia article specified in the local wiki&#039;s handler table&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function label_link_make (handler)&lt;br /&gt;
	local wd_article;&lt;br /&gt;
	&lt;br /&gt;
	if not (cfg.use_identifier_redirects and is_set (handler.redirect)) then	-- redirect has priority so if enabled and available don&#039;t fetch from Wikidata because expensive&lt;br /&gt;
		wd_article = wikidata_article_name_get (handler.q);						-- if Wikidata has an article title for this wiki, get it;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return (cfg.use_identifier_redirects and is_set (handler.redirect) and handler.redirect) or wd_article or handler.link;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X T E R N A L _ L I N K _ I D &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats a wiki-style external link&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function external_link_id (options)&lt;br /&gt;
	local url_string = options.id;&lt;br /&gt;
	local ext_link;&lt;br /&gt;
	local this_wiki_code = cfg.this_wiki_code;									-- Wikipedia subdomain; &#039;en&#039; for en.wikipedia.org&lt;br /&gt;
	local wd_article;															-- article title from Wikidata&lt;br /&gt;
	&lt;br /&gt;
	if options.encode == true or options.encode == nil then&lt;br /&gt;
		url_string = mw.uri.encode (url_string, &#039;PATH&#039;);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if options.auto_link and is_set (options.access) then&lt;br /&gt;
		auto_link_urls[options.auto_link] = table.concat ({options.prefix, url_string, options.suffix});&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	ext_link = mw.ustring.format (&#039;[%s%s%s %s]&#039;, options.prefix, url_string, options.suffix or &amp;quot;&amp;quot;, mw.text.nowiki (options.id));&lt;br /&gt;
	if is_set (options.access) then&lt;br /&gt;
		ext_link = substitute (cfg.presentation[&#039;ext-link-access-signal&#039;], {cfg.presentation[options.access].class, cfg.presentation[options.access].title, ext_link});	-- add the free-to-read / paywall lock&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat	({&lt;br /&gt;
		make_wikilink (label_link_make (options), options.label),				-- redirect, Wikidata link, or locally specified link (in that order)&lt;br /&gt;
		options.separator or &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		ext_link&lt;br /&gt;
		});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I N T E R N A L _ L I N K _ I D &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats a wiki-style internal link&lt;br /&gt;
&lt;br /&gt;
TODO: Does not currently need to support options.access, options.encode, auto-linking and COinS (as in external_link_id),&lt;br /&gt;
but may be needed in the future for :m:Interwiki_map custom-prefixes like :arxiv:, :bibcode:, :DOI:, :hdl:, :ISSN:,&lt;br /&gt;
:JSTOR:, :Openlibrary:, :PMID:, :RFC:.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function internal_link_id (options)&lt;br /&gt;
	local id = mw.ustring.gsub (options.id, &#039;%d&#039;, cfg.date_names.local_digits);	-- translate &#039;local&#039; digits to Western 0-9&lt;br /&gt;
&lt;br /&gt;
	return table.concat (&lt;br /&gt;
		{&lt;br /&gt;
		make_wikilink (label_link_make (options), options.label),				-- wiki-link the identifier label&lt;br /&gt;
		options.separator or &#039;&amp;amp;nbsp;&#039;,											-- add the separator&lt;br /&gt;
		make_wikilink (&lt;br /&gt;
			table.concat (&lt;br /&gt;
				{&lt;br /&gt;
				options.prefix,&lt;br /&gt;
				id,																-- translated to Western digits&lt;br /&gt;
				options.suffix or &#039;&#039;&lt;br /&gt;
				}),&lt;br /&gt;
			substitute (cfg.presentation[&#039;bdi&#039;], {&#039;&#039;, mw.text.nowiki (options.id)})	-- bdi tags to prevent Latin script identifiers from being reversed at RTL language wikis&lt;br /&gt;
			);																	-- nowiki because MediaWiki still has magic links for ISBN and the like; TODO: is it really required?&lt;br /&gt;
		});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S _ E M B A R G O E D &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Determines if a PMC identifier&#039;s online version is embargoed. Compares the date in |pmc-embargo-date= against&lt;br /&gt;
today&#039;s date.  If embargo date is in the future, returns the content of |pmc-embargo-date=; otherwise, returns&lt;br /&gt;
an empty string because the embargo has expired or because |pmc-embargo-date= was not set in this cite.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_embargoed (embargo)&lt;br /&gt;
	if is_set (embargo) then&lt;br /&gt;
		local lang = mw.getContentLanguage();&lt;br /&gt;
		local good1, embargo_date, todays_date;&lt;br /&gt;
		good1, embargo_date = pcall (lang.formatDate, lang, &#039;U&#039;, embargo);&lt;br /&gt;
		todays_date = lang:formatDate (&#039;U&#039;);&lt;br /&gt;
	&lt;br /&gt;
		if good1 then															-- if embargo date is a good date&lt;br /&gt;
			if tonumber (embargo_date) &amp;gt;= tonumber (todays_date) then			-- is embargo date is in the future?&lt;br /&gt;
				return embargo;													-- still embargoed&lt;br /&gt;
			else&lt;br /&gt;
				set_message (&#039;maint_pmc_embargo&#039;);								-- embargo has expired; add main cat&lt;br /&gt;
				return &#039;&#039;;														-- unset because embargo has expired&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return &#039;&#039;;																	-- |pmc-embargo-date= not set return empty string&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; I S _ V A L I D _ R X I V _ D A T E &amp;gt;------------------------------------------&lt;br /&gt;
&lt;br /&gt;
for biorxiv, returns true if:&lt;br /&gt;
	2019-12-11T00:00Z &amp;lt;= biorxiv_date &amp;lt; today + 2 days&lt;br /&gt;
for medrxiv, returns true if:&lt;br /&gt;
	2020-01-01T00:00Z &amp;lt;= medrxiv_date &amp;lt; today + 2 days&lt;br /&gt;
	&lt;br /&gt;
The dated form of biorxiv identifier has a start date of 2019-12-11.  The Unix timestamp for that date is {{#time:U|2019-12-11}} = 1576022400&lt;br /&gt;
The medrxiv identifier has a start date of 2020-01-01.  The Unix timestamp for that date is {{#time:U|2020-01-01}} = 1577836800&lt;br /&gt;
&lt;br /&gt;
&amp;lt;rxiv_date&amp;gt; is the date provided in those |biorxiv= parameter values that are dated and in |medrxiv= parameter values at time 00:00:00 UTC&lt;br /&gt;
&amp;lt;today&amp;gt; is the current date at time 00:00:00 UTC plus 48 hours&lt;br /&gt;
	if today&#039;s date is 2023-01-01T00:00:00 then&lt;br /&gt;
		adding 24 hours gives 2023-01-02T00:00:00 – one second more than today&lt;br /&gt;
		adding 24 hours gives 2023-01-03T00:00:00 – one second more than tomorrow&lt;br /&gt;
&lt;br /&gt;
inputs:&lt;br /&gt;
	&amp;lt;y&amp;gt;, &amp;lt;m&amp;gt;, &amp;lt;d&amp;gt; – year, month, day parts of the date from the birxiv or medrxiv identifier&lt;br /&gt;
	&amp;lt;select&amp;gt; &#039;b&#039; for biorxiv, &#039;m&#039; for medrxiv; defaults to &#039;b&#039;&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function is_valid_rxiv_date (y, m, d, select)&lt;br /&gt;
	if 0 == tonumber (m) and 12 &amp;lt; tonumber (m) then								-- &amp;lt;m&amp;gt; must be a number 1–12&lt;br /&gt;
		return false;&lt;br /&gt;
	end&lt;br /&gt;
	if 0 == tonumber (d) and 31 &amp;lt; tonumber (d) then								-- &amp;lt;d&amp;gt; must be a number 1–31; TODO: account for month length and leap yer?&lt;br /&gt;
		return false;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local rxiv_date = table.concat ({y, m, d}, &#039;-&#039;);							-- make ymd date string&lt;br /&gt;
	local good1, good2;&lt;br /&gt;
	local rxiv_ts, tomorrow_ts;													-- to hold Unix timestamps representing the dates&lt;br /&gt;
	local lang_object = mw.getContentLanguage();&lt;br /&gt;
&lt;br /&gt;
	good1, rxiv_ts = pcall (lang_object.formatDate, lang_object, &#039;U&#039;, rxiv_date);		-- convert rxiv_date value to Unix timestamp &lt;br /&gt;
	good2, tomorrow_ts = pcall (lang_object.formatDate, lang_object, &#039;U&#039;, &#039;today + 2 days&#039; );	-- today midnight + 2 days is one second more than all day tomorrow&lt;br /&gt;
	&lt;br /&gt;
	if good1 and good2 then														-- lang.formatDate() returns a timestamp in the local script which tonumber() may not understand&lt;br /&gt;
		rxiv_ts = tonumber (rxiv_ts) or lang_object:parseFormattedNumber (rxiv_ts);	-- convert to numbers for the comparison;&lt;br /&gt;
		tomorrow_ts = tonumber (tomorrow_ts) or lang_object:parseFormattedNumber (tomorrow_ts);&lt;br /&gt;
	else&lt;br /&gt;
		return false;															-- one or both failed to convert to Unix timestamp&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local limit_ts = ((select and (&#039;m&#039; == select)) and 1577836800) or 1576022400;	-- choose the appropriate limit timesatmp&lt;br /&gt;
&lt;br /&gt;
	return ((limit_ts &amp;lt;= rxiv_ts) and (rxiv_ts &amp;lt; tomorrow_ts))					-- limit_ts &amp;lt;= rxiv_date &amp;lt; tomorrow&#039;s date&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; IS _ V A L I D _ I S X N &amp;gt;-----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ISBN-10 and ISSN validator code calculates checksum across all ISBN/ISSN digits including the check digit.&lt;br /&gt;
ISBN-13 is checked in isbn().&lt;br /&gt;
&lt;br /&gt;
If the number is valid the result will be 0. Before calling this function, ISBN/ISSN must be checked for length&lt;br /&gt;
and stripped of dashes, spaces and other non-ISxN characters.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_valid_isxn (isxn_str, len)&lt;br /&gt;
	local temp = 0;&lt;br /&gt;
	isxn_str = { isxn_str:byte(1, len) };										-- make a table of byte values &#039;0&#039; → 0x30 .. &#039;9&#039; → 0x39, &#039;X&#039; → 0x58&lt;br /&gt;
	len = len + 1;																-- adjust to be a loop counter&lt;br /&gt;
	for i, v in ipairs (isxn_str) do											-- loop through all of the bytes and calculate the checksum&lt;br /&gt;
		if v == string.byte (&amp;quot;X&amp;quot; ) then											-- if checkdigit is X (compares the byte value of &#039;X&#039; which is 0x58)&lt;br /&gt;
			temp = temp + 10 * (len - i);										-- it represents 10 decimal&lt;br /&gt;
		else&lt;br /&gt;
			temp = temp + tonumber (string.char (v) )*(len-i);&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return temp % 11 == 0;														-- returns true if calculation result is zero&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; IS _ V A L I D _ I S X N _ 1 3 &amp;gt;-----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
ISBN-13 and ISMN validator code calculates checksum across all 13 ISBN/ISMN digits including the check digit.&lt;br /&gt;
If the number is valid, the result will be 0. Before calling this function, ISBN-13/ISMN must be checked for length&lt;br /&gt;
and stripped of dashes, spaces and other non-ISxN-13 characters.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_valid_isxn_13 (isxn_str)&lt;br /&gt;
	local temp=0;&lt;br /&gt;
	&lt;br /&gt;
	isxn_str = { isxn_str:byte(1, 13) };										-- make a table of byte values &#039;0&#039; → 0x30 .. &#039;9&#039; → 0x39&lt;br /&gt;
	for i, v in ipairs (isxn_str) do&lt;br /&gt;
		temp = temp + (3 - 2*(i % 2)) * tonumber (string.char (v) );			-- multiply odd index digits by 1, even index digits by 3 and sum; includes check digit&lt;br /&gt;
	end&lt;br /&gt;
	return temp % 10 == 0;														-- sum modulo 10 is zero when ISBN-13/ISMN is correct&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N O R M A L I Z E _ L C C N &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
LCCN normalization (https://www.loc.gov/marc/lccn-namespace.html#normalization)&lt;br /&gt;
1. Remove all blanks.&lt;br /&gt;
2. If there is a forward slash (/) in the string, remove it, and remove all characters to the right of the forward slash.&lt;br /&gt;
3. If there is a hyphen in the string:&lt;br /&gt;
	a. Remove it.&lt;br /&gt;
	b. Inspect the substring following (to the right of) the (removed) hyphen. Then (and assuming that steps 1 and 2 have been carried out):&lt;br /&gt;
		1. All these characters should be digits, and there should be six or less. (not done in this function)&lt;br /&gt;
		2. If the length of the substring is less than 6, left-fill the substring with zeroes until the length is six.&lt;br /&gt;
&lt;br /&gt;
Returns a normalized LCCN for lccn() to validate.  There is no error checking (step 3.b.1) performed in this function.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function normalize_lccn (lccn)&lt;br /&gt;
	lccn = lccn:gsub (&amp;quot;%s&amp;quot;, &amp;quot;&amp;quot;);												-- 1. strip whitespace&lt;br /&gt;
&lt;br /&gt;
	if nil ~= string.find (lccn, &#039;/&#039;) then&lt;br /&gt;
		lccn = lccn:match (&amp;quot;(.-)/&amp;quot;);											-- 2. remove forward slash and all character to the right of it&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local prefix&lt;br /&gt;
	local suffix&lt;br /&gt;
	prefix, suffix = lccn:match (&amp;quot;(.+)%-(.+)&amp;quot;);									-- 3.a remove hyphen by splitting the string into prefix and suffix&lt;br /&gt;
&lt;br /&gt;
	if nil ~= suffix then														-- if there was a hyphen&lt;br /&gt;
		suffix = string.rep(&amp;quot;0&amp;quot;, 6-string.len (suffix)) .. suffix;				-- 3.b.2 left fill the suffix with 0s if suffix length less than 6&lt;br /&gt;
		lccn = prefix..suffix;													-- reassemble the LCCN&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return lccn;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--============================&amp;lt;&amp;lt; I D E N T I F I E R   F U N C T I O N S &amp;gt;&amp;gt;====================================&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; A R X I V &amp;gt;--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
See: https://arxiv.org/help/arxiv_identifier&lt;br /&gt;
&lt;br /&gt;
format and error check arXiv identifier.  There are three valid forms of the identifier:&lt;br /&gt;
the first form, valid only between date codes 9107 and 0703, is:&lt;br /&gt;
	arXiv:&amp;lt;archive&amp;gt;.&amp;lt;class&amp;gt;/&amp;lt;date code&amp;gt;&amp;lt;number&amp;gt;&amp;lt;version&amp;gt;&lt;br /&gt;
where:&lt;br /&gt;
	&amp;lt;archive&amp;gt; is a string of alpha characters - may be hyphenated; no other punctuation&lt;br /&gt;
	&amp;lt;class&amp;gt; is a string of alpha characters - may be hyphenated; no other punctuation; not the same as |class= parameter which is not supported in this form&lt;br /&gt;
	&amp;lt;date code&amp;gt; is four digits in the form YYMM where YY is the last two digits of the four-digit year and MM is the month number January = 01&lt;br /&gt;
		first digit of YY for this form can only 9 and 0&lt;br /&gt;
	&amp;lt;number&amp;gt; is a three-digit number&lt;br /&gt;
	&amp;lt;version&amp;gt; is a 1 or more digit number preceded with a lowercase v; no spaces (undocumented)&lt;br /&gt;
	&lt;br /&gt;
the second form, valid from April 2007 through December 2014 is:&lt;br /&gt;
	arXiv:&amp;lt;date code&amp;gt;.&amp;lt;number&amp;gt;&amp;lt;version&amp;gt;&lt;br /&gt;
where:&lt;br /&gt;
	&amp;lt;date code&amp;gt; is four digits in the form YYMM where YY is the last two digits of the four-digit year and MM is the month number January = 01&lt;br /&gt;
	&amp;lt;number&amp;gt; is a four-digit number&lt;br /&gt;
	&amp;lt;version&amp;gt; is a 1 or more digit number preceded with a lowercase v; no spaces&lt;br /&gt;
&lt;br /&gt;
the third form, valid from January 2015 is:&lt;br /&gt;
	arXiv:&amp;lt;date code&amp;gt;.&amp;lt;number&amp;gt;&amp;lt;version&amp;gt;&lt;br /&gt;
where:&lt;br /&gt;
	&amp;lt;date code&amp;gt; and &amp;lt;version&amp;gt; are as defined for 0704-1412&lt;br /&gt;
	&amp;lt;number&amp;gt; is a five-digit number&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function arxiv (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local class = options.Class;												-- TODO: lowercase?&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local year, month, version;&lt;br /&gt;
	local err_msg = false;														-- assume no error message&lt;br /&gt;
	local text;																	-- output text&lt;br /&gt;
	&lt;br /&gt;
	if id:match(&amp;quot;^%a[%a%.%-]+/[90]%d[01]%d%d%d%d$&amp;quot;) or id:match(&amp;quot;^%a[%a%.%-]+/[90]%d[01]%d%d%d%dv%d+$&amp;quot;) then	-- test for the 9107-0703 format with or without version&lt;br /&gt;
		year, month = id:match(&amp;quot;^%a[%a%.%-]+/([90]%d)([01]%d)%d%d%d[v%d]*$&amp;quot;);&lt;br /&gt;
		year = tonumber (year);&lt;br /&gt;
		month = tonumber (month);&lt;br /&gt;
		if ((not (90 &amp;lt; year or 8 &amp;gt; year)) or (1 &amp;gt; month or 12 &amp;lt; month)) or		-- if invalid year or invalid month&lt;br /&gt;
			((91 == year and 7 &amp;gt; month) or (7 == year and 3 &amp;lt; month)) then		-- if years ok, are starting and ending months ok?&lt;br /&gt;
				err_msg = true;													-- flag for error message&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	elseif id:match(&amp;quot;^%d%d[01]%d%.%d%d%d%d$&amp;quot;) or id:match(&amp;quot;^%d%d[01]%d%.%d%d%d%dv%d+$&amp;quot;) then	-- test for the 0704-1412 with or without version&lt;br /&gt;
		year, month = id:match(&amp;quot;^(%d%d)([01]%d)%.%d%d%d%d[v%d]*$&amp;quot;);&lt;br /&gt;
		year = tonumber (year);&lt;br /&gt;
		month = tonumber (month);&lt;br /&gt;
		if ((7 &amp;gt; year) or (14 &amp;lt; year) or (1 &amp;gt; month or 12 &amp;lt; month)) or			-- is year invalid or is month invalid? (doesn&#039;t test for future years)&lt;br /&gt;
			((7 == year) and (4 &amp;gt; month)) then									-- when year is 07, is month invalid (before April)?&lt;br /&gt;
				err_msg = true;													-- flag for error message&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	elseif id:match(&amp;quot;^%d%d[01]%d%.%d%d%d%d%d$&amp;quot;) or id:match(&amp;quot;^%d%d[01]%d%.%d%d%d%d%dv%d+$&amp;quot;) then	-- test for the 1501- format with or without version&lt;br /&gt;
		year, month = id:match(&amp;quot;^(%d%d)([01]%d)%.%d%d%d%d%d[v%d]*$&amp;quot;);&lt;br /&gt;
		year = tonumber (year);&lt;br /&gt;
		month = tonumber (month);&lt;br /&gt;
		if ((15 &amp;gt; year) or (1 &amp;gt; month or 12 &amp;lt; month)) then						-- is year invalid or is month invalid? (doesn&#039;t test for future years)&lt;br /&gt;
			err_msg = true;														-- flag for error message&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
	else&lt;br /&gt;
		err_msg = true;															-- not a recognized format; flag for error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if err_msg then&lt;br /&gt;
		options.coins_list_t[&#039;ARXIV&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local err_msg_t = {};&lt;br /&gt;
	if err_msg then&lt;br /&gt;
		set_message (&#039;err_bad_arxiv&#039;);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = handler.access});&lt;br /&gt;
&lt;br /&gt;
	if is_set (class) then&lt;br /&gt;
		if id:match (&#039;^%d+&#039;) then&lt;br /&gt;
			text = table.concat ({text, &#039; [[https://arxiv.org/archive/&#039;, class, &#039; &#039;, class, &#039;]]&#039;});	-- external link within square brackets, not wikilink&lt;br /&gt;
		else&lt;br /&gt;
			set_message (&#039;err_class_ignored&#039;);&lt;br /&gt;
		end&lt;br /&gt;
	else																		-- class not set&lt;br /&gt;
		if id:match (&#039;^%d+&#039;) and options.CitationClass == &#039;arxiv&#039; then			-- new (post 2007) format; {{cite arxiv}} only&lt;br /&gt;
			set_message (&#039;maint_missing_class&#039;);								-- add maint cat&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; B I B C O D E &amp;gt;--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Validates (sort of) and formats a bibcode ID.&lt;br /&gt;
&lt;br /&gt;
Format for bibcodes is specified here: https://adsabs.harvard.edu/abs_doc/help_pages/data.html#bibcodes&lt;br /&gt;
&lt;br /&gt;
But, this: 2015arXiv151206696F is apparently valid so apparently, the only things that really matter are length, 19 characters&lt;br /&gt;
and first four digits must be a year.  This function makes these tests:&lt;br /&gt;
	length must be 19 characters&lt;br /&gt;
	characters in position&lt;br /&gt;
		1–4 must be digits and must represent a year in the range of 1000 – next year&lt;br /&gt;
		5 must be a letter&lt;br /&gt;
		6–8 must be letter, digit, ampersand, or dot (ampersand cannot directly precede a dot; &amp;amp;. )&lt;br /&gt;
		9–18 must be letter, digit, or dot&lt;br /&gt;
		19 must be a letter or dot&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function bibcode (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local ignore_invalid = options.accept;&lt;br /&gt;
	local err_type;&lt;br /&gt;
	local err_msg = &#039;&#039;;&lt;br /&gt;
	local year;&lt;br /&gt;
&lt;br /&gt;
	local text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode,&lt;br /&gt;
		access = access});&lt;br /&gt;
	&lt;br /&gt;
	if 19 ~= id:len() then&lt;br /&gt;
		err_type = cfg.err_msg_supl.length;&lt;br /&gt;
	else&lt;br /&gt;
		year = id:match (&amp;quot;^(%d%d%d%d)[%a][%w&amp;amp;%.][%w&amp;amp;%.][%w&amp;amp;%.][%w.]+[%a%.]$&amp;quot;);&lt;br /&gt;
		if not year then														-- if nil then no pattern match&lt;br /&gt;
			err_type = cfg.err_msg_supl.value;									-- so value error&lt;br /&gt;
		else&lt;br /&gt;
			local next_year = tonumber (os.date (&#039;%Y&#039;)) + 1;					-- get the current year as a number and add one for next year&lt;br /&gt;
			year = tonumber (year);												-- convert year portion of bibcode to a number&lt;br /&gt;
			if (1000 &amp;gt; year) or (year &amp;gt; next_year) then&lt;br /&gt;
				err_type = cfg.err_msg_supl.year;								-- year out of bounds&lt;br /&gt;
			end&lt;br /&gt;
			if id:find(&#039;&amp;amp;%.&#039;) then&lt;br /&gt;
				err_type = cfg.err_msg_supl.journal;							-- journal abbreviation must not have &#039;&amp;amp;.&#039; (if it does it&#039;s missing a letter)&lt;br /&gt;
			end&lt;br /&gt;
			if id:match (&#039;.........%.tmp%.&#039;) then								-- temporary bibcodes when positions 10–14 are &#039;.tmp.&#039;&lt;br /&gt;
				set_message (&#039;maint_bibcode&#039;);&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if is_set (err_type) and not ignore_invalid then							-- if there was an error detected and accept-as-written markup not used&lt;br /&gt;
		set_message (&#039;err_bad_bibcode&#039;, {err_type});&lt;br /&gt;
		options.coins_list_t[&#039;BIBCODE&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; B I O R X I V &amp;gt;-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format bioRxiv ID and do simple error checking.  Before 2019-12-11, biorXiv IDs were 10.1101/ followed by exactly&lt;br /&gt;
6 digits.  After 2019-12-11, biorXiv IDs retained the six-digit identifier but prefixed that with a yyyy.mm.dd. &lt;br /&gt;
date and suffixed with an optional version identifier.&lt;br /&gt;
&lt;br /&gt;
The bioRxiv ID is the string of characters:&lt;br /&gt;
	https://doi.org/10.1101/078733 -&amp;gt; 10.1101/078733&lt;br /&gt;
or a date followed by a six-digit number followed by an optional version indicator &#039;v&#039; and one or more digits:&lt;br /&gt;
	https://www.biorxiv.org/content/10.1101/2019.12.11.123456v2 -&amp;gt; 10.1101/2019.12.11.123456v2&lt;br /&gt;
	&lt;br /&gt;
see https://www.biorxiv.org/about-biorxiv&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function biorxiv (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local err_msg = true;														-- flag; assume that there will be an error&lt;br /&gt;
	&lt;br /&gt;
	local patterns = {&lt;br /&gt;
		&#039;^10%.1101/%d%d%d%d%d%d$&#039;,												-- simple 6-digit identifier (before 2019-12-11)&lt;br /&gt;
		&#039;^10%.1101/(20%d%d)%.(%d%d)%.(%d%d)%.%d%d%d%d%d%dv%d+$&#039;,				-- y.m.d. date + 6-digit identifier + version (after 2019-12-11)&lt;br /&gt;
		&#039;^10%.1101/(20%d%d)%.(%d%d)%.(%d%d)%.%d%d%d%d%d%d$&#039;,					-- y.m.d. date + 6-digit identifier (after 2019-12-11)&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	for _, pattern in ipairs (patterns) do										-- spin through the patterns looking for a match&lt;br /&gt;
		if id:match (pattern) then&lt;br /&gt;
			local y, m, d = id:match (pattern);									-- found a match, attempt to get year, month and date from the identifier&lt;br /&gt;
&lt;br /&gt;
			if m then															-- m is nil when id is the six-digit form&lt;br /&gt;
				if not is_valid_rxiv_date (y, m, d, &#039;b&#039;) then					-- validate the encoded date; &#039;b&#039; for biorxiv limit&lt;br /&gt;
					break;														-- date fail; break out early so we don&#039;t unset the error message&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			err_msg = nil;														-- we found a match so unset the error message&lt;br /&gt;
			break;																-- and done&lt;br /&gt;
		end&lt;br /&gt;
	end																			-- err_cat remains set here when no match&lt;br /&gt;
&lt;br /&gt;
	if err_msg then&lt;br /&gt;
		options.coins_list_t[&#039;BIORXIV&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		set_message (&#039;err_bad_biorxiv&#039;);										-- and set the error message&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator,&lt;br /&gt;
			encode = handler.encode, access = handler.access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C I T E S E E R X &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
CiteSeerX use their own notion of &amp;quot;doi&amp;quot; (not to be confused with the identifiers resolved via doi.org).&lt;br /&gt;
&lt;br /&gt;
The description of the structure of this identifier can be found at Help_talk:Citation_Style_1/Archive_26#CiteSeerX_id_structure&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function citeseerx (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local matched;&lt;br /&gt;
&lt;br /&gt;
	local text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode,&lt;br /&gt;
		access = handler.access});&lt;br /&gt;
	&lt;br /&gt;
	matched = id:match (&amp;quot;^10%.1%.1%.[1-9]%d?%d?%d?%.[1-9]%d?%d?%d?$&amp;quot;);&lt;br /&gt;
	if not matched then&lt;br /&gt;
		set_message (&#039;err_bad_citeseerx&#039; );&lt;br /&gt;
		options.coins_list_t[&#039;CITESEERX&#039;] = nil;								-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; D O I &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats a DOI and checks for DOI errors.&lt;br /&gt;
&lt;br /&gt;
DOI names contain two parts: prefix and suffix separated by a forward slash.&lt;br /&gt;
	Prefix: directory indicator &#039;10.&#039; followed by a registrant code&lt;br /&gt;
	Suffix: character string of any length chosen by the registrant&lt;br /&gt;
&lt;br /&gt;
This function checks a DOI name for: prefix/suffix.  If the DOI name contains spaces or endashes, or, if it ends&lt;br /&gt;
with a period or a comma, this function will emit a bad_doi error message.&lt;br /&gt;
&lt;br /&gt;
DOI names are case-insensitive and can incorporate any printable Unicode characters so the test for spaces, endash,&lt;br /&gt;
and terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely&lt;br /&gt;
if ever used in DOI names.&lt;br /&gt;
&lt;br /&gt;
https://www.doi.org/doi_handbook/2_Numbering.html				-- 2.2 Syntax of a DOI name&lt;br /&gt;
https://www.doi.org/doi_handbook/2_Numbering.html#2.2.2			-- 2.2.2 DOI prefix&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function doi (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local inactive = options.DoiBroken&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local ignore_invalid = options.accept;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local err_flag;&lt;br /&gt;
&lt;br /&gt;
	local function is_extended_free (registrant, suffix)						-- local function to check those few registrants that are mixed; identifiable by the doi suffix &amp;lt;incipit&amp;gt;&lt;br /&gt;
		if cfg.extended_registrants_t[registrant] then							-- if this registrant has known free-to-read extentions&lt;br /&gt;
			for _, incipit in ipairs (cfg.extended_registrants_t[registrant]) do	-- loop through the registrant&#039;s incipits&lt;br /&gt;
				if mw.ustring.find (suffix, &#039;^&#039; .. incipit) then				-- if found&lt;br /&gt;
					return true;&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local text;&lt;br /&gt;
	if is_set (inactive) then&lt;br /&gt;
		local inactive_year = inactive:match(&amp;quot;%d%d%d%d&amp;quot;);						-- try to get the year portion from the inactive date&lt;br /&gt;
		local inactive_month, good;&lt;br /&gt;
&lt;br /&gt;
		if is_set (inactive_year) then&lt;br /&gt;
			if 4 &amp;lt; inactive:len() then											-- inactive date has more than just a year (could be anything)&lt;br /&gt;
				local lang_obj = mw.getContentLanguage();						-- get a language object for this wiki&lt;br /&gt;
				good, inactive_month = pcall (lang_obj.formatDate, lang_obj, &#039;F&#039;, inactive);	-- try to get the month name from the inactive date&lt;br /&gt;
				if not good then&lt;br /&gt;
					inactive_month = nil;										-- something went wrong so make sure this is unset&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end																		-- otherwise, |doi-broken-date= has something but it isn&#039;t a date&lt;br /&gt;
		&lt;br /&gt;
		if is_set (inactive_year) and is_set (inactive_month) then&lt;br /&gt;
			set_message (&#039;maint_doi_inactive_dated&#039;, {inactive_year, inactive_month, &#039; &#039;});&lt;br /&gt;
		elseif is_set (inactive_year) then&lt;br /&gt;
			set_message (&#039;maint_doi_inactive_dated&#039;, {inactive_year, &#039;&#039;, &#039;&#039;});&lt;br /&gt;
		else&lt;br /&gt;
			set_message (&#039;maint_doi_inactive&#039;);&lt;br /&gt;
		end&lt;br /&gt;
		inactive = &amp;quot; (&amp;quot; .. cfg.messages[&#039;inactive&#039;] .. &#039; &#039; .. inactive .. &#039;)&#039;;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local suffix;&lt;br /&gt;
	local registrant, suffix = mw.ustring.match (id, &#039;^10%.([^/]+)/([^%s–]-[^%.,])$&#039;);	-- registrant and suffix set when DOI has the proper basic form&lt;br /&gt;
&lt;br /&gt;
	local registrant_err_patterns = {											-- these patterns are for code ranges that are not supported &lt;br /&gt;
		&#039;^[^1-3]%d%d%d%d%.%d+$&#039;,												-- 5 digits with subcode (0xxxx, 40000+); accepts: 10000–39999&lt;br /&gt;
		&#039;^[^1-7]%d%d%d%d$&#039;,														-- 5 digits without subcode (0xxxx, 60000+); accepts: 10000–69999&lt;br /&gt;
		&#039;^[^1-9]%d%d%d%.%d+$&#039;,												-- 4 digits with subcode (0xxx); accepts: 1000–9999&lt;br /&gt;
		&#039;^[^1-9]%d%d%d$&#039;,														-- 4 digits without subcode (0xxx); accepts: 1000–9999&lt;br /&gt;
		&#039;^%d%d%d%d%d%d+&#039;,														-- 6 or more digits&lt;br /&gt;
		&#039;^%d%d?%d?$&#039;,															-- less than 4 digits without subcode (3 digits with subcode is legitimate)&lt;br /&gt;
		&#039;^%d%d?%.[%d%.]+&#039;,														-- 1 or 2 digits with subcode&lt;br /&gt;
		&#039;^5555$&#039;,																-- test registrant will never resolve&lt;br /&gt;
		&#039;[^%d%.]&#039;,																-- any character that isn&#039;t a digit or a dot&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	if not ignore_invalid then&lt;br /&gt;
		if registrant then														-- when DOI has proper form&lt;br /&gt;
			for i, pattern in ipairs (registrant_err_patterns) do				-- spin through error patterns&lt;br /&gt;
				if registrant:match (pattern) then								-- to validate registrant codes&lt;br /&gt;
					err_flag = set_message (&#039;err_bad_doi&#039;);						-- when found, mark this DOI as bad&lt;br /&gt;
					break;														-- and done&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_doi&#039;);								-- invalid directory or malformed&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		set_message (&#039;maint_doi_ignore&#039;);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if err_flag then&lt;br /&gt;
		options.coins_list_t[&#039;DOI&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	else&lt;br /&gt;
		if not access and (cfg.known_free_doi_registrants_t[registrant] or is_extended_free (registrant, suffix)) then		-- |doi-access=free not set and &amp;lt;registrant&amp;gt; is known to be free&lt;br /&gt;
			set_message (&#039;maint_doi_unflagged_free&#039;);							-- set a maint cat&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = access,&lt;br /&gt;
		auto_link = not (err_flag or is_set (inactive) or ignore_invalid) and &#039;doi&#039; or nil -- do not auto-link when |doi-broken-date= has a value or when there is a DOI error or (to play it safe, after all, auto-linking is not essential) when invalid DOIs are ignored&lt;br /&gt;
		}) .. (inactive or &#039;&#039;);&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; H D L &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats an HDL with minor error checking.&lt;br /&gt;
&lt;br /&gt;
HDL names contain two parts: prefix and suffix separated by a forward slash.&lt;br /&gt;
	Prefix: character string using any character in the UCS-2 character set except &#039;/&#039;&lt;br /&gt;
	Suffix: character string of any length using any character in the UCS-2 character set chosen by the registrant&lt;br /&gt;
&lt;br /&gt;
This function checks a HDL name for: prefix/suffix.  If the HDL name contains spaces, endashes, or, if it ends&lt;br /&gt;
with a period or a comma, this function will emit a bad_hdl error message.&lt;br /&gt;
&lt;br /&gt;
HDL names are case-insensitive and can incorporate any printable Unicode characters so the test for endashes and&lt;br /&gt;
terminal punctuation may not be technically correct but it appears, that in practice these characters are rarely&lt;br /&gt;
if ever used in HDLs.&lt;br /&gt;
&lt;br /&gt;
Query string parameters are named here: https://www.handle.net/proxy_servlet.html.  query strings are not displayed&lt;br /&gt;
but since &#039;?&#039; is an allowed character in an HDL, &#039;?&#039; followed by one of the query parameters is the only way we&lt;br /&gt;
have to detect the query string so that it isn&#039;t URL-encoded with the rest of the identifier.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function hdl (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local query_params = {														-- list of known query parameters from https://www.handle.net/proxy_servlet.html&lt;br /&gt;
		&#039;noredirect&#039;,&lt;br /&gt;
		&#039;ignore_aliases&#039;,&lt;br /&gt;
		&#039;auth&#039;,&lt;br /&gt;
		&#039;cert&#039;,&lt;br /&gt;
		&#039;index&#039;,&lt;br /&gt;
		&#039;type&#039;,&lt;br /&gt;
		&#039;urlappend&#039;,&lt;br /&gt;
		&#039;locatt&#039;,&lt;br /&gt;
		&#039;action&#039;,&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	local hdl, suffix, param = id:match (&#039;(.-)(%?(%a+).+)$&#039;);					-- look for query string&lt;br /&gt;
	local found;&lt;br /&gt;
&lt;br /&gt;
	if hdl then																	-- when there are query strings, this is the handle identifier portion&lt;br /&gt;
		for _, q in ipairs (query_params) do									-- spin through the list of query parameters&lt;br /&gt;
			if param:match (&#039;^&#039; .. q) then										-- if the query string begins with one of the parameters&lt;br /&gt;
				found = true;													-- announce a find&lt;br /&gt;
				break;															-- and stop looking&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if found then&lt;br /&gt;
		id = hdl;																-- found so replace id with the handle portion; this will be URL-encoded, suffix will not&lt;br /&gt;
	else&lt;br /&gt;
		suffix = &#039;&#039;;															-- make sure suffix is empty string for concatenation else&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, suffix = suffix, separator = handler.separator, encode = handler.encode, access = access})&lt;br /&gt;
&lt;br /&gt;
	if nil == id:match(&amp;quot;^[^%s–]-/[^%s–]-[^%.,]$&amp;quot;) then							-- HDL must contain a forward slash, must not contain spaces, endashes, and must not end with period or comma&lt;br /&gt;
		set_message (&#039;err_bad_hdl&#039; );&lt;br /&gt;
		options.coins_list_t[&#039;HDL&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S B N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Determines whether an ISBN string is valid&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function isbn (options_t)&lt;br /&gt;
	local isbn_str = options_t.id;&lt;br /&gt;
	local ignore_invalid = options_t.accept;&lt;br /&gt;
	local handler = options_t.handler;&lt;br /&gt;
	local year = options_t.Year;												-- when set, valid anchor_year; may have a disambiguator which must be removed&lt;br /&gt;
&lt;br /&gt;
	local function return_result (check, err_type)								-- local function to handle the various returns&lt;br /&gt;
		local ISBN = internal_link_id ({link = handler.link, label = handler.label, redirect = handler.redirect,&lt;br /&gt;
						prefix = handler.prefix, id = isbn_str, separator = handler.separator});&lt;br /&gt;
		if ignore_invalid then													-- if ignoring ISBN errors&lt;br /&gt;
			set_message (&#039;maint_isbn_ignore&#039;);									-- add a maint category even when there is no error&lt;br /&gt;
		else																	-- here when not ignoring&lt;br /&gt;
			if not check then													-- and there is an error&lt;br /&gt;
				options_t.coins_list_t[&#039;ISBN&#039;] = nil;								-- when error, unset so not included in COinS&lt;br /&gt;
				set_message (&#039;err_bad_isbn&#039;, err_type);							-- set an error message&lt;br /&gt;
				return ISBN;										 			-- return id text&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return ISBN;															-- return id text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if year and not ignore_invalid then											-- &lt;br /&gt;
		year = year:match (&#039;%d%d%d%d?&#039;);										-- strip disambiguator if present&lt;br /&gt;
		if year and (1965 &amp;gt; tonumber(year)) then								-- &amp;lt;year&amp;gt; will be nil here when |year=n.d. or |year=nd&lt;br /&gt;
			set_message (&#039;err_invalid_isbn_date&#039;);								-- set an error message&lt;br /&gt;
			return internal_link_id ({link = handler.link, label = handler.label, redirect = handler.redirect,&lt;br /&gt;
					prefix = handler.prefix, id = isbn_str, separator = handler.separator});&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if nil ~= isbn_str:match (&#039;[^%s-0-9X]&#039;) then&lt;br /&gt;
		return return_result (false, cfg.err_msg_supl.char);					-- fail if isbn_str contains anything but digits, hyphens, or the uppercase X&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local id = isbn_str:gsub (&#039;[%s-]&#039;, &#039;&#039;);										-- remove hyphens and whitespace&lt;br /&gt;
&lt;br /&gt;
	local len = id:len();&lt;br /&gt;
 &lt;br /&gt;
	if len ~= 10 and len ~= 13 then&lt;br /&gt;
		return return_result (false, cfg.err_msg_supl.length);					-- fail if incorrect length&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if len == 10 then&lt;br /&gt;
		if id:match (&#039;^%d*X?$&#039;) == nil then										-- fail if isbn_str has &#039;X&#039; anywhere but last position&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.form);									&lt;br /&gt;
		end&lt;br /&gt;
		if not is_valid_isxn (id, 10) then										-- test isbn-10 for numerical validity&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.check);				-- fail if isbn-10 is not numerically valid&lt;br /&gt;
		end&lt;br /&gt;
		if id:find (&#039;^63[01]&#039;) then												-- 630xxxxxxx and 631xxxxxxx are (apparently) not valid isbn group ids but are used by amazon as numeric identifiers (asin)&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.group);				-- fail if isbn-10 begins with 630/1&lt;br /&gt;
		end&lt;br /&gt;
		return return_result (true, cfg.err_msg_supl.check);					-- pass if isbn-10 is numerically valid&lt;br /&gt;
	else&lt;br /&gt;
		if id:match (&#039;^%d+$&#039;) == nil then&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.char);				-- fail if ISBN-13 is not all digits&lt;br /&gt;
		end&lt;br /&gt;
		if id:match (&#039;^97[89]%d*$&#039;) == nil then&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.prefix);				-- fail when ISBN-13 does not begin with 978 or 979&lt;br /&gt;
		end&lt;br /&gt;
		if id:match (&#039;^9790&#039;) then&lt;br /&gt;
			return return_result (false, cfg.err_msg_supl.group);				-- group identifier &#039;0&#039; is reserved to ISMN&lt;br /&gt;
		end&lt;br /&gt;
		return return_result (is_valid_isxn_13 (id), cfg.err_msg_supl.check);&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; A S I N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats a link to Amazon.  Do simple error checking: ASIN must be mix of 10 numeric or uppercase alpha&lt;br /&gt;
characters.  If a mix, first character must be uppercase alpha; if all numeric, ASINs must be 10-digit&lt;br /&gt;
ISBN. If 10-digit ISBN, add a maintenance category so a bot or AWB script can replace |asin= with |isbn=.&lt;br /&gt;
Error message if not 10 characters, if not ISBN-10, if mixed and first character is a digit.&lt;br /&gt;
&lt;br /&gt;
|asin=630....... and |asin=631....... are (apparently) not a legitimate ISBN though it checksums as one; these&lt;br /&gt;
do not cause this function to emit the maint_asin message&lt;br /&gt;
&lt;br /&gt;
This function is positioned here because it calls isbn()&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function asin (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local domain = options.ASINTLD;&lt;br /&gt;
	&lt;br /&gt;
	local err_flag;&lt;br /&gt;
&lt;br /&gt;
	if not id:match(&amp;quot;^[%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u][%d%u]$&amp;quot;) then&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_asin&#039;);								-- ASIN is not a mix of 10 uppercase alpha and numeric characters&lt;br /&gt;
	else&lt;br /&gt;
		if id:match(&amp;quot;^%d%d%d%d%d%d%d%d%d[%dX]$&amp;quot;) then							-- if 10-digit numeric (or 9 digits with terminal X)&lt;br /&gt;
			if is_valid_isxn (id, 10) then										-- see if ASIN value is or validates as ISBN-10&lt;br /&gt;
				if not id:find (&#039;^63[01]&#039;) then									-- 630xxxxxxx and 631xxxxxxx are (apparently) not a valid isbn prefixes but are used by amazon as a numeric identifier&lt;br /&gt;
					err_flag = set_message (&#039;err_bad_asin&#039;);					-- ASIN has ISBN-10 form but begins with something other than 630/1 so probably an isbn &lt;br /&gt;
				end&lt;br /&gt;
			elseif not is_set (err_flag) then&lt;br /&gt;
				err_flag = set_message (&#039;err_bad_asin&#039;);						-- ASIN is not ISBN-10&lt;br /&gt;
			end&lt;br /&gt;
		elseif not id:match(&amp;quot;^%u[%d%u]+$&amp;quot;) then&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_asin&#039;);							-- asin doesn&#039;t begin with uppercase alpha&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if (not is_set (domain)) or in_array (domain, {&#039;us&#039;}) then					-- default: United States&lt;br /&gt;
		domain = &amp;quot;com&amp;quot;;&lt;br /&gt;
	elseif in_array (domain, {&#039;jp&#039;, &#039;uk&#039;}) then									-- Japan, United Kingdom&lt;br /&gt;
		domain = &amp;quot;co.&amp;quot; .. domain;&lt;br /&gt;
	elseif in_array (domain, {&#039;z.cn&#039;}) then 									-- China&lt;br /&gt;
		domain = &amp;quot;cn&amp;quot;;&lt;br /&gt;
	elseif in_array (domain, {&#039;au&#039;, &#039;br&#039;, &#039;mx&#039;, &#039;sg&#039;, &#039;tr&#039;}) then				-- Australia, Brazil, Mexico, Singapore, Turkey&lt;br /&gt;
		domain = &amp;quot;com.&amp;quot; .. domain;&lt;br /&gt;
	elseif not in_array (domain, {&#039;ae&#039;, &#039;ca&#039;, &#039;cn&#039;, &#039;de&#039;, &#039;es&#039;, &#039;fr&#039;, &#039;in&#039;, &#039;it&#039;, &#039;nl&#039;, &#039;pl&#039;, &#039;sa&#039;, &#039;se&#039;, &#039;co.jp&#039;, &#039;co.uk&#039;, &#039;com&#039;, &#039;com.au&#039;, &#039;com.br&#039;, &#039;com.mx&#039;, &#039;com.sg&#039;, &#039;com.tr&#039;}) then -- Arabic Emirates, Canada, China, Germany, Spain, France, Indonesia, Italy, Netherlands, Poland, Saudi Arabia, Sweden (as of 2021-03 Austria (.at), Liechtenstein (.li) and Switzerland (.ch) still redirect to the German site (.de) with special settings, so don&#039;t maintain local ASINs for them)&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_asin_tld&#039;);							-- unsupported asin-tld value&lt;br /&gt;
	end&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if not is_set (err_flag) then&lt;br /&gt;
		options.coins_list_t[&#039;ASIN&#039;] = handler.prefix .. domain .. &amp;quot;/dp/&amp;quot; .. id;	-- asin for coins&lt;br /&gt;
	else&lt;br /&gt;
		options.coins_list_t[&#039;ASIN&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix .. domain .. &amp;quot;/dp/&amp;quot;,&lt;br /&gt;
		id = id, encode = handler.encode, separator = handler.separator})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S M N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Determines whether an ISMN string is valid.  Similar to ISBN-13, ISMN is 13 digits beginning 979-0-... and uses the&lt;br /&gt;
same check digit calculations.  See https://www.ismn-international.org/download/Web_ISMN_Users_Manual_2008-6.pdf&lt;br /&gt;
section 2, pages 9–12.&lt;br /&gt;
&lt;br /&gt;
ismn value not made part of COinS metadata because we don&#039;t have a url or isn&#039;t a COinS-defined identifier (rft.xxx)&lt;br /&gt;
or an identifier registered at info-uri.info (info:)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function ismn (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local text;&lt;br /&gt;
	local valid_ismn = true;&lt;br /&gt;
	local id_copy;&lt;br /&gt;
&lt;br /&gt;
	id_copy = id;																-- save a copy because this testing is destructive&lt;br /&gt;
	id = id:gsub (&#039;[%s-]&#039;, &#039;&#039;);													-- remove hyphens and white space&lt;br /&gt;
&lt;br /&gt;
	if 13 ~= id:len() or id:match (&amp;quot;^9790%d*$&amp;quot; ) == nil then					-- ISMN must be 13 digits and begin with 9790&lt;br /&gt;
		valid_ismn = false;&lt;br /&gt;
	else&lt;br /&gt;
		valid_ismn=is_valid_isxn_13 (id);										-- validate ISMN&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--	text = internal_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,		-- use this (or external version) when there is some place to link to&lt;br /&gt;
	--		prefix = handler.prefix, id = id_copy, separator = handler.separator, encode = handler.encode})&lt;br /&gt;
&lt;br /&gt;
	text = table.concat (														-- because no place to link to yet&lt;br /&gt;
		{&lt;br /&gt;
		make_wikilink (label_link_make (handler), handler.label),&lt;br /&gt;
		handler.separator,&lt;br /&gt;
		id_copy&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
	if false == valid_ismn then&lt;br /&gt;
		options.coins_list_t[&#039;ISMN&#039;] = nil;										-- when error, unset so not included in COinS; not really necessary here because ismn not made part of COinS&lt;br /&gt;
		set_message (&#039;err_bad_ismn&#039;);											-- create an error message if the ISMN is invalid&lt;br /&gt;
	end &lt;br /&gt;
	&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S S N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Validate and format an ISSN.  This code fixes the case where an editor has included an ISSN in the citation but&lt;br /&gt;
has separated the two groups of four digits with a space.  When that condition occurred, the resulting link looked&lt;br /&gt;
like this:&lt;br /&gt;
&lt;br /&gt;
	|issn=0819 4327 gives: [https://www.worldcat.org/issn/0819 4327 0819 4327]	-- can&#039;t have spaces in an external link&lt;br /&gt;
	&lt;br /&gt;
This code now prevents that by inserting a hyphen at the ISSN midpoint.  It also validates the ISSN for length&lt;br /&gt;
and makes sure that the checkdigit agrees with the calculated value.  Incorrect length (8 digits), characters&lt;br /&gt;
other than 0-9 and X, or checkdigit / calculated value mismatch will all cause a check ISSN error message.  The&lt;br /&gt;
ISSN is always displayed with a hyphen, even if the ISSN was given as a single group of 8 digits.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function issn (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local ignore_invalid = options.accept;&lt;br /&gt;
&lt;br /&gt;
	local issn_copy = id;														-- save a copy of unadulterated ISSN; use this version for display if ISSN does not validate&lt;br /&gt;
	local text;&lt;br /&gt;
	local valid_issn = true;&lt;br /&gt;
&lt;br /&gt;
	id = id:gsub (&#039;[%s-]&#039;, &#039;&#039;);													-- remove hyphens and whitespace&lt;br /&gt;
&lt;br /&gt;
	if 8 ~= id:len() or nil == id:match (&amp;quot;^%d*X?$&amp;quot; ) then						-- validate the ISSN: 8 digits long, containing only 0-9 or X in the last position&lt;br /&gt;
		valid_issn = false;														-- wrong length or improper character&lt;br /&gt;
	else&lt;br /&gt;
		valid_issn = is_valid_isxn (id, 8);										-- validate ISSN&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if true == valid_issn then&lt;br /&gt;
		id = string.sub (id, 1, 4 ) .. &amp;quot;-&amp;quot; .. string.sub (id, 5 );				-- if valid, display correctly formatted version&lt;br /&gt;
	else&lt;br /&gt;
		id = issn_copy;															-- if not valid, show the invalid ISSN with error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode})&lt;br /&gt;
&lt;br /&gt;
	if ignore_invalid then&lt;br /&gt;
		set_message (&#039;maint_issn_ignore&#039;);&lt;br /&gt;
	else&lt;br /&gt;
		if false == valid_issn then&lt;br /&gt;
			options.coins_list_t[&#039;ISSN&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
			set_message (&#039;err_bad_issn&#039;, (options.hkey == &#039;EISSN&#039;) and &#039;e&#039; or &#039;&#039;);	-- create an error message if the ISSN is invalid&lt;br /&gt;
		end &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; J F M &amp;gt;-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
A numerical identifier in the form nn.nnnn.nn&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function jfm (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local id_num;&lt;br /&gt;
&lt;br /&gt;
	id_num = id:match (&#039;^[Jj][Ff][Mm](.*)$&#039;);									-- identifier with jfm prefix; extract identifier&lt;br /&gt;
&lt;br /&gt;
	if is_set (id_num) then&lt;br /&gt;
		set_message (&#039;maint_jfm_format&#039;);&lt;br /&gt;
	else																		-- plain number without JFM prefix&lt;br /&gt;
		id_num = id;															-- if here id does not have prefix&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if id_num and id_num:match(&#039;^%d%d%.%d%d%d%d%.%d%d$&#039;) then&lt;br /&gt;
		id = id_num;															-- jfm matches pattern&lt;br /&gt;
	else&lt;br /&gt;
		set_message (&#039;err_bad_jfm&#039; );											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;JFM&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; J S T O R &amp;gt;--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format a JSTOR with some error checking&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function jstor (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if id:find (&#039;[Jj][Ss][Tt][Oo][Rr]&#039;) or id:find (&#039;^https?://&#039;) or id:find (&#039;%s&#039;) then&lt;br /&gt;
		set_message (&#039;err_bad_jstor&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;JSTOR&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L C C N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format LCCN link and do simple error checking.  LCCN is a character string 8-12 characters long. The length of&lt;br /&gt;
the LCCN dictates the character type of the first 1-3 characters; the rightmost eight are always digits.&lt;br /&gt;
https://oclc-research.github.io/infoURI-Frozen/info-uri.info/info:lccn/reg.html&lt;br /&gt;
&lt;br /&gt;
length = 8 then all digits&lt;br /&gt;
length = 9 then lccn[1] is lowercase alpha&lt;br /&gt;
length = 10 then lccn[1] and lccn[2] are both lowercase alpha or both digits&lt;br /&gt;
length = 11 then lccn[1] is lower case alpha, lccn[2] and lccn[3] are both lowercase alpha or both digits&lt;br /&gt;
length = 12 then lccn[1] and lccn[2] are both lowercase alpha&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function lccn (options)&lt;br /&gt;
	local lccn = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local err_flag;																-- presume that LCCN is valid&lt;br /&gt;
	local id = lccn;															-- local copy of the LCCN&lt;br /&gt;
&lt;br /&gt;
	id = normalize_lccn (id);													-- get canonical form (no whitespace, hyphens, forward slashes)&lt;br /&gt;
	local len = id:len();														-- get the length of the LCCN&lt;br /&gt;
&lt;br /&gt;
	if 8 == len then&lt;br /&gt;
		if id:match(&amp;quot;[^%d]&amp;quot;) then												-- if LCCN has anything but digits (nil if only digits)&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_lccn&#039;);							-- set an error message&lt;br /&gt;
		end&lt;br /&gt;
	elseif 9 == len then														-- LCCN should be adddddddd&lt;br /&gt;
		if nil == id:match(&amp;quot;%l%d%d%d%d%d%d%d%d&amp;quot;) then							-- does it match our pattern?&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_lccn&#039;);							-- set an error message&lt;br /&gt;
		end&lt;br /&gt;
	elseif 10 == len then														-- LCCN should be aadddddddd or dddddddddd&lt;br /&gt;
		if id:match(&amp;quot;[^%d]&amp;quot;) then												-- if LCCN has anything but digits (nil if only digits) ...&lt;br /&gt;
			if nil == id:match(&amp;quot;^%l%l%d%d%d%d%d%d%d%d&amp;quot;) then					-- ... see if it matches our pattern&lt;br /&gt;
				err_flag = set_message (&#039;err_bad_lccn&#039;);						-- no match, set an error message&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif 11 == len then														-- LCCN should be aaadddddddd or adddddddddd&lt;br /&gt;
		if not (id:match(&amp;quot;^%l%l%l%d%d%d%d%d%d%d%d&amp;quot;) or id:match(&amp;quot;^%l%d%d%d%d%d%d%d%d%d%d&amp;quot;)) then	-- see if it matches one of our patterns&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_lccn&#039;);							-- no match, set an error message&lt;br /&gt;
		end&lt;br /&gt;
	elseif 12 == len then														-- LCCN should be aadddddddddd&lt;br /&gt;
		if not id:match(&amp;quot;^%l%l%d%d%d%d%d%d%d%d%d%d&amp;quot;) then						-- see if it matches our pattern&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_lccn&#039;);							-- no match, set an error message&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_lccn&#039;);								-- wrong length, set an error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not is_set (err_flag) and nil ~= lccn:find (&#039;%s&#039;) then&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_lccn&#039;);								-- lccn contains a space, set an error message&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if is_set (err_flag) then&lt;br /&gt;
		options.coins_list_t[&#039;LCCN&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = lccn, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M E D R X I V &amp;gt;-----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format medRxiv ID and do simple error checking.  Similar to later bioRxiv IDs, medRxiv IDs are prefixed with a&lt;br /&gt;
yyyy.mm.dd. date and suffixed with an optional version identifier.  Ealiest date accepted is 2020.01.01&lt;br /&gt;
&lt;br /&gt;
The medRxiv ID is a date followed by an eight-digit number followed by an optional version indicator &#039;v&#039; and one or more digits:&lt;br /&gt;
	https://www.medrxiv.org/content/10.1101/2020.11.16.20232009v2 -&amp;gt; 10.1101/2020.11.16.20232009v2&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function medrxiv (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local err_msg_flag = true;													-- flag; assume that there will be an error&lt;br /&gt;
&lt;br /&gt;
	local patterns = {&lt;br /&gt;
		&#039;^%d%d%d%d%d%d%d%d$&#039;,													-- simple 8-digit identifier; these should be relatively rare&lt;br /&gt;
		&#039;^10%.1101/(20%d%d)%.(%d%d)%.(%d%d)%.%d%d%d%d%d%d%d%dv%d+$&#039;,			-- y.m.d. date + 8-digit identifier + version (2020-01-01 and later)&lt;br /&gt;
		&#039;^10%.1101/(20%d%d)%.(%d%d)%.(%d%d)%.%d%d%d%d%d%d%d%d$&#039;,				-- y.m.d. date + 8-digit identifier (2020-01-01 and later)&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	for _, pattern in ipairs (patterns) do										-- spin through the patterns looking for a match&lt;br /&gt;
		if id:match (pattern) then&lt;br /&gt;
			local y, m, d = id:match (pattern);									-- found a match, attempt to get year, month and date from the identifier&lt;br /&gt;
&lt;br /&gt;
			if m then															-- m is nil when id is the 8-digit form&lt;br /&gt;
				if not is_valid_rxiv_date (y, m, d, &#039;b&#039;) then					-- validate the encoded date; &#039;b&#039; for medrxiv limit&lt;br /&gt;
					break;														-- date fail; break out early so we don&#039;t unset the error message&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			err_msg_flag = nil;													-- we found a match so unset the error message&lt;br /&gt;
			break;																-- and done&lt;br /&gt;
		end&lt;br /&gt;
	end																			-- &amp;lt;err_msg_flag&amp;gt; remains set here when no match&lt;br /&gt;
&lt;br /&gt;
	if err_msg_flag then&lt;br /&gt;
		options.coins_list_t[&#039;MEDRXIV&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		set_message (&#039;err_bad_medrxiv&#039;);										-- and set the error message&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator,&lt;br /&gt;
			encode = handler.encode, access = handler.access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M R &amp;gt;--------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
A seven digit number; if not seven digits, zero-fill leading digits to make seven digits.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function mr (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local id_num;&lt;br /&gt;
	local id_len;&lt;br /&gt;
&lt;br /&gt;
	id_num = id:match (&#039;^[Mm][Rr](%d+)$&#039;);										-- identifier with mr prefix&lt;br /&gt;
&lt;br /&gt;
	if is_set (id_num) then&lt;br /&gt;
		set_message (&#039;maint_mr_format&#039;);										-- add maint cat&lt;br /&gt;
	else																		-- plain number without mr prefix&lt;br /&gt;
		id_num = id:match (&#039;^%d+$&#039;);											-- if here id is all digits&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	id_len = id_num and id_num:len() or 0;&lt;br /&gt;
	if (7 &amp;gt;= id_len) and (0 ~= id_len) then&lt;br /&gt;
		id = string.rep (&#039;0&#039;, 7-id_len) .. id_num;								-- zero-fill leading digits&lt;br /&gt;
	else&lt;br /&gt;
		set_message (&#039;err_bad_mr&#039;);												-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;MR&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; O C L C &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Validate and format an OCLC ID.  https://www.oclc.org/batchload/controlnumber.en.html {{dead link}}&lt;br /&gt;
archived at: https://web.archive.org/web/20161228233804/https://www.oclc.org/batchload/controlnumber.en.html&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function oclc (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local number;&lt;br /&gt;
&lt;br /&gt;
	if id:match(&#039;^ocm%d%d%d%d%d%d%d%d$&#039;) then									-- ocm prefix and 8 digits; 001 field (12 characters)&lt;br /&gt;
		number = id:match(&#039;ocm(%d+)&#039;);											-- get the number&lt;br /&gt;
	elseif id:match(&#039;^ocn%d%d%d%d%d%d%d%d%d$&#039;) then								-- ocn prefix and 9 digits; 001 field (12 characters)&lt;br /&gt;
		number = id:match(&#039;ocn(%d+)&#039;);											-- get the number&lt;br /&gt;
	elseif id:match(&#039;^on%d%d%d%d%d%d%d%d%d%d+$&#039;) then							-- on prefix and 10 or more digits; 001 field (12 characters)&lt;br /&gt;
		number = id:match(&#039;^on(%d%d%d%d%d%d%d%d%d%d+)$&#039;);						-- get the number&lt;br /&gt;
	elseif id:match(&#039;^%(OCoLC%)[1-9]%d*$&#039;) then									-- (OCoLC) prefix and variable number digits; no leading zeros; 035 field&lt;br /&gt;
		number = id:match(&#039;%(OCoLC%)([1-9]%d*)&#039;);								-- get the number&lt;br /&gt;
		if 9 &amp;lt; number:len() then&lt;br /&gt;
			number = nil;														-- constrain to 1 to 9 digits; change this when OCLC issues 10-digit numbers&lt;br /&gt;
		end&lt;br /&gt;
	elseif id:match(&#039;^%d+$&#039;) then												-- no prefix&lt;br /&gt;
		number = id;															-- get the number&lt;br /&gt;
		if tonumber (id) &amp;gt; handler.id_limit then&lt;br /&gt;
			number = nil;														-- unset when id value exceeds the limit&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if number then																-- proper format&lt;br /&gt;
		id = number;															-- exclude prefix, if any, from external link&lt;br /&gt;
	else&lt;br /&gt;
		set_message (&#039;err_bad_oclc&#039;)											-- add an error message if the id is malformed&lt;br /&gt;
		options.coins_list_t[&#039;OCLC&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; O P E N L I B R A R Y &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Formats an OpenLibrary link, and checks for associated errors.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function openlibrary (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local ident, code = id:gsub(&#039;^OL&#039;, &#039;&#039;):match(&amp;quot;^(%d+([AMW]))$&amp;quot;);				-- strip optional OL prefix followed immediately by digits followed by &#039;A&#039;, &#039;M&#039;, or &#039;W&#039;;&lt;br /&gt;
	local err_flag;&lt;br /&gt;
	local prefix = {															-- these are appended to the handler.prefix according to code&lt;br /&gt;
		[&#039;A&#039;]=&#039;authors/OL&#039;,&lt;br /&gt;
		[&#039;M&#039;]=&#039;books/OL&#039;,&lt;br /&gt;
		[&#039;W&#039;]=&#039;works/OL&#039;,&lt;br /&gt;
		[&#039;X&#039;]=&#039;OL&#039;																-- not a code; spoof when &#039;code&#039; in id is invalid&lt;br /&gt;
		};&lt;br /&gt;
&lt;br /&gt;
	if not ident then&lt;br /&gt;
		code = &#039;X&#039;;																-- no code or id completely invalid&lt;br /&gt;
		ident = id;																-- copy id to ident so that we display the flawed identifier&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_ol&#039;);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not is_set (err_flag) then&lt;br /&gt;
		options.coins_list_t[&#039;OL&#039;] = handler.prefix .. prefix[code] .. ident;	-- experiment for ol coins&lt;br /&gt;
	else&lt;br /&gt;
		options.coins_list_t[&#039;OL&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix .. prefix[code],&lt;br /&gt;
		id = ident, separator = handler.separator, encode = handler.encode,&lt;br /&gt;
		access = access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; O S T I &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format OSTI and do simple error checking. OSTIs are sequential numbers beginning at 1 and counting up.  This&lt;br /&gt;
code checks the OSTI to see that it contains only digits and is less than test_limit specified in the configuration;&lt;br /&gt;
the value in test_limit will need to be updated periodically as more OSTIs are issued.&lt;br /&gt;
&lt;br /&gt;
NB. 1018 is the lowest OSTI number found in the wild (so far) and resolving OK on the OSTI site&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function osti (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if id:match(&amp;quot;[^%d]&amp;quot;) then													-- if OSTI has anything but digits&lt;br /&gt;
		set_message (&#039;err_bad_osti&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;OSTI&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	else																		-- OSTI is only digits&lt;br /&gt;
		local id_num = tonumber (id);											-- convert id to a number for range testing&lt;br /&gt;
		if 1018 &amp;gt; id_num or handler.id_limit &amp;lt; id_num then						-- if OSTI is outside test limit boundaries&lt;br /&gt;
			set_message (&#039;err_bad_osti&#039;);										-- set an error message&lt;br /&gt;
			options.coins_list_t[&#039;OSTI&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P M C &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format a PMC, do simple error checking, and check for embargoed articles.&lt;br /&gt;
&lt;br /&gt;
The embargo parameter takes a date for a value. If the embargo date is in the future the PMC identifier will not&lt;br /&gt;
be linked to the article.  If the embargo date is today or in the past, or if it is empty or omitted, then the&lt;br /&gt;
PMC identifier is linked to the article through the link at cfg.id_handlers[&#039;PMC&#039;].prefix.&lt;br /&gt;
&lt;br /&gt;
PMC embargo date testing is done in function is_embargoed () which is called earlier because when the citation&lt;br /&gt;
has |pmc=&amp;lt;value&amp;gt; but does not have a |url= then |title= is linked with the PMC link.  Function is_embargoed ()&lt;br /&gt;
returns the embargo date if the PMC article is still embargoed, otherwise it returns an empty string.&lt;br /&gt;
&lt;br /&gt;
PMCs are sequential numbers beginning at 1 and counting up.  This code checks the PMC to see that it contains only digits and is less&lt;br /&gt;
than test_limit; the value in local variable test_limit will need to be updated periodically as more PMCs are issued.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function pmc (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local embargo = options.Embargo;											-- TODO: lowercase?&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local err_flag;&lt;br /&gt;
	local id_num;&lt;br /&gt;
	local text;&lt;br /&gt;
&lt;br /&gt;
	id_num = id:match (&#039;^[Pp][Mm][Cc](%d+)$&#039;);									-- identifier with PMC prefix&lt;br /&gt;
&lt;br /&gt;
	if is_set (id_num) then&lt;br /&gt;
		set_message (&#039;maint_pmc_format&#039;);&lt;br /&gt;
	else																		-- plain number without PMC prefix&lt;br /&gt;
		id_num = id:match (&#039;^%d+$&#039;);											-- if here id is all digits&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if is_set (id_num) then														-- id_num has a value so test it&lt;br /&gt;
		id_num = tonumber (id_num);												-- convert id_num to a number for range testing&lt;br /&gt;
		if 1 &amp;gt; id_num or handler.id_limit &amp;lt; id_num then							-- if PMC is outside test limit boundaries&lt;br /&gt;
			err_flag = set_message (&#039;err_bad_pmc&#039;);								-- set an error message&lt;br /&gt;
		else&lt;br /&gt;
			id = tostring (id_num);												-- make sure id is a string&lt;br /&gt;
		end&lt;br /&gt;
	else																		-- when id format incorrect&lt;br /&gt;
		err_flag = set_message (&#039;err_bad_pmc&#039;);									-- set an error message&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if is_set (embargo) and is_set (is_embargoed (embargo)) then				-- is PMC is still embargoed?&lt;br /&gt;
		text = table.concat (													-- still embargoed so no external link&lt;br /&gt;
			{&lt;br /&gt;
			make_wikilink (label_link_make (handler), handler.label),&lt;br /&gt;
			handler.separator,&lt;br /&gt;
			id,&lt;br /&gt;
			});&lt;br /&gt;
	else&lt;br /&gt;
		text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,	-- no embargo date or embargo has expired, ok to link to article&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = handler.access,&lt;br /&gt;
			auto_link = not err_flag and &#039;pmc&#039; or nil							-- do not auto-link when PMC has error&lt;br /&gt;
			});&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if err_flag then&lt;br /&gt;
		options.coins_list_t[&#039;PMC&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P M I D &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format PMID and do simple error checking.  PMIDs are sequential numbers beginning at 1 and counting up.  This&lt;br /&gt;
code checks the PMID to see that it contains only digits and is less than test_limit; the value in local variable&lt;br /&gt;
test_limit will need to be updated periodically as more PMIDs are issued.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function pmid (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if id:match(&amp;quot;[^%d]&amp;quot;) then													-- if PMID has anything but digits&lt;br /&gt;
		set_message (&#039;err_bad_pmid&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;PMID&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	else																		-- PMID is only digits&lt;br /&gt;
		local id_num = tonumber (id);											-- convert id to a number for range testing&lt;br /&gt;
		if 1 &amp;gt; id_num or handler.id_limit &amp;lt; id_num then							-- if PMID is outside test limit boundaries&lt;br /&gt;
			set_message (&#039;err_bad_pmid&#039;);										-- set an error message&lt;br /&gt;
			options.coins_list_t[&#039;PMID&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; R F C &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format RFC and do simple error checking. RFCs are sequential numbers beginning at 1 and counting up.  This&lt;br /&gt;
code checks the RFC to see that it contains only digits and is less than test_limit specified in the configuration;&lt;br /&gt;
the value in test_limit will need to be updated periodically as more RFCs are issued.&lt;br /&gt;
&lt;br /&gt;
An index of all RFCs is here: https://tools.ietf.org/rfc/&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function rfc (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if id:match(&amp;quot;[^%d]&amp;quot;) then													-- if RFC has anything but digits&lt;br /&gt;
		set_message (&#039;err_bad_rfc&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;RFC&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	else																		-- RFC is only digits&lt;br /&gt;
		local id_num = tonumber (id);											-- convert id to a number for range testing&lt;br /&gt;
		if 1 &amp;gt; id_num or handler.id_limit &amp;lt; id_num then							-- if RFC is outside test limit boundaries&lt;br /&gt;
			set_message (&#039;err_bad_rfc&#039;);										-- set an error message&lt;br /&gt;
			options.coins_list_t[&#039;RFC&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = handler.access});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S 2 C I D &amp;gt;--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format an S2CID, do simple error checking&lt;br /&gt;
&lt;br /&gt;
S2CIDs are sequential numbers beginning at 1 and counting up.  This code checks the S2CID to see that it is only&lt;br /&gt;
digits and is less than test_limit; the value in local variable test_limit will need to be updated periodically&lt;br /&gt;
as more S2CIDs are issued.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function s2cid (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local access = options.access;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local id_num;&lt;br /&gt;
	local text;&lt;br /&gt;
	&lt;br /&gt;
	id_num = id:match (&#039;^[1-9]%d*$&#039;);											-- id must be all digits; must not begin with 0; no open access flag&lt;br /&gt;
&lt;br /&gt;
 	if is_set (id_num) then														-- id_num has a value so test it&lt;br /&gt;
		id_num = tonumber (id_num);												-- convert id_num to a number for range testing&lt;br /&gt;
		if handler.id_limit &amp;lt; id_num then										-- if S2CID is outside test limit boundaries&lt;br /&gt;
			set_message (&#039;err_bad_s2cid&#039;);										-- set an error message&lt;br /&gt;
			options.coins_list_t[&#039;S2CID&#039;] = nil;								-- when error, unset so not included in COinS&lt;br /&gt;
		end&lt;br /&gt;
	else																		-- when id format incorrect&lt;br /&gt;
		set_message (&#039;err_bad_s2cid&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;S2CID&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = access});&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S B N &amp;gt;------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
9-digit form of ISBN-10; uses same check-digit validation when SBN is prefixed with an additional &#039;0&#039; to make 10 digits&lt;br /&gt;
&lt;br /&gt;
sbn value not made part of COinS metadata because we don&#039;t have a url or isn&#039;t a COinS-defined identifier (rft.xxx)&lt;br /&gt;
or an identifier registered at info-uri.info (info:)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function sbn (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local ignore_invalid = options.accept;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local function return_result (check, err_type)								-- local function to handle the various returns&lt;br /&gt;
		local SBN = internal_link_id ({link = handler.link, label = handler.label, redirect = handler.redirect,&lt;br /&gt;
						prefix = handler.prefix, id = id, separator = handler.separator});&lt;br /&gt;
		if not ignore_invalid then												-- if not ignoring SBN errors&lt;br /&gt;
			if not check then&lt;br /&gt;
				options.coins_list_t[&#039;SBN&#039;] = nil;								-- when error, unset so not included in COinS; not really necessary here because sbn not made part of COinS&lt;br /&gt;
				set_message (&#039;err_bad_sbn&#039;, {err_type});						-- display an error message&lt;br /&gt;
				return SBN; &lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			set_message (&#039;maint_isbn_ignore&#039;);									-- add a maint category even when there is no error (ToDo: Possibly switch to separate message for SBNs only)&lt;br /&gt;
		end&lt;br /&gt;
		return SBN;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if id:match (&#039;[^%s-0-9X]&#039;) then&lt;br /&gt;
		return return_result (false, cfg.err_msg_supl.char);					-- fail if SBN contains anything but digits, hyphens, or the uppercase X&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local ident = id:gsub (&#039;[%s-]&#039;, &#039;&#039;);										-- remove hyphens and whitespace; they interfere with the rest of the tests&lt;br /&gt;
&lt;br /&gt;
	if  9 ~= ident:len() then&lt;br /&gt;
		return return_result (false, cfg.err_msg_supl.length);					-- fail if incorrect length&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if ident:match (&#039;^%d*X?$&#039;) == nil then&lt;br /&gt;
		return return_result (false, cfg.err_msg_supl.form);					-- fail if SBN has &#039;X&#039; anywhere but last position&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return return_result (is_valid_isxn (&#039;0&#039; .. ident, 10), cfg.err_msg_supl.check);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S S R N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Format an SSRN, do simple error checking&lt;br /&gt;
&lt;br /&gt;
SSRNs are sequential numbers beginning at 100? and counting up.  This code checks the SSRN to see that it is&lt;br /&gt;
only digits and is greater than 99 and less than test_limit; the value in local variable test_limit will need&lt;br /&gt;
to be updated periodically as more SSRNs are issued.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function ssrn (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
	local id_num;&lt;br /&gt;
	local text;&lt;br /&gt;
	&lt;br /&gt;
	id_num = id:match (&#039;^%d+$&#039;);												-- id must be all digits&lt;br /&gt;
&lt;br /&gt;
	if is_set (id_num) then														-- id_num has a value so test it&lt;br /&gt;
		id_num = tonumber (id_num);												-- convert id_num to a number for range testing&lt;br /&gt;
		if 100 &amp;gt; id_num or handler.id_limit &amp;lt; id_num then						-- if SSRN is outside test limit boundaries&lt;br /&gt;
			set_message (&#039;err_bad_ssrn&#039;);										-- set an error message&lt;br /&gt;
			options.coins_list_t[&#039;SSRN&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
		end&lt;br /&gt;
	else																		-- when id format incorrect&lt;br /&gt;
		set_message (&#039;err_bad_ssrn&#039;);											-- set an error message&lt;br /&gt;
		options.coins_list_t[&#039;SSRN&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode, access = options.access});&lt;br /&gt;
&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; U S E N E T _ I D &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Validate and format a usenet message id.  Simple error checking, looks for &#039;id-left@id-right&#039; not enclosed in&lt;br /&gt;
&#039;&amp;lt;&#039; and/or &#039;&amp;gt;&#039; angle brackets.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function usenet_id (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	local text = external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
		prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode})&lt;br /&gt;
 &lt;br /&gt;
	if not id:match(&#039;^.+@.+$&#039;) or not id:match(&#039;^[^&amp;lt;].*[^&amp;gt;]$&#039;) then				-- doesn&#039;t have &#039;@&#039; or has one or first or last character is &#039;&amp;lt; or &#039;&amp;gt;&#039;&lt;br /&gt;
		set_message (&#039;err_bad_usenet_id&#039;)										-- add an error message if the message id is invalid&lt;br /&gt;
		options.coins_list_t[&#039;USENETID&#039;] = nil;									-- when error, unset so not included in COinS&lt;br /&gt;
	end &lt;br /&gt;
	&lt;br /&gt;
	return text;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; Z B L &amp;gt;-----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
A numerical identifier in the form nnnn.nnnnn - leading zeros in the first quartet optional&lt;br /&gt;
&lt;br /&gt;
format described here: http://emis.mi.sanu.ac.rs/ZMATH/zmath/en/help/search/&lt;br /&gt;
&lt;br /&gt;
temporary format is apparently eight digits.  Anything else is an error&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function zbl (options)&lt;br /&gt;
	local id = options.id;&lt;br /&gt;
	local handler = options.handler;&lt;br /&gt;
&lt;br /&gt;
	if id:match(&#039;^%d%d%d%d%d%d%d%d$&#039;) then										-- is this identifier using temporary format?&lt;br /&gt;
		set_message (&#039;maint_zbl&#039;);												-- yes, add maint cat&lt;br /&gt;
	elseif not id:match(&#039;^%d?%d?%d?%d%.%d%d%d%d%d$&#039;) then						-- not temporary, is it normal format?&lt;br /&gt;
		set_message (&#039;err_bad_zbl&#039;);											-- no, set an error message&lt;br /&gt;
		options.coins_list_t[&#039;ZBL&#039;] = nil;										-- when error, unset so not included in COinS&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return external_link_id ({link = handler.link, label = handler.label, q = handler.q, redirect = handler.redirect,&lt;br /&gt;
			prefix = handler.prefix, id = id, separator = handler.separator, encode = handler.encode});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--============================&amp;lt;&amp;lt; I N T E R F A C E   F U N C T I O N S &amp;gt;&amp;gt;==========================================&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X T R A C T _ I D S &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Populates ID table from arguments using configuration settings. Loops through cfg.id_handlers and searches args for&lt;br /&gt;
any of the parameters listed in each cfg.id_handlers[&#039;...&#039;].parameters.  If found, adds the parameter and value to&lt;br /&gt;
the identifier list.  Emits redundant error message if more than one alias exists in args&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function extract_ids (args)&lt;br /&gt;
	local id_list = {};															-- list of identifiers found in args&lt;br /&gt;
	for k, v in pairs (cfg.id_handlers) do										-- k is uppercase identifier name as index to cfg.id_handlers; e.g. cfg.id_handlers[&#039;ISBN&#039;], v is a table&lt;br /&gt;
		v = select_one (args, v.parameters, &#039;err_redundant_parameters&#039; );		-- v.parameters is a table of aliases for k; here we pick one from args if present&lt;br /&gt;
		if is_set (v) then id_list[k] = v; end									-- if found in args, add identifier to our list&lt;br /&gt;
	end&lt;br /&gt;
	return id_list;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X T R A C T _ I D _ A C C E S S _ L E V E L S &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
Fetches custom id access levels from arguments using configuration settings. Parameters which have a predefined access&lt;br /&gt;
level (e.g. arxiv) do not use this function as they are directly rendered as free without using an additional parameter.&lt;br /&gt;
&lt;br /&gt;
returns a table of k/v pairs where k is same as the identifier&#039;s key in cfg.id_handlers and v is the assigned (valid) keyword&lt;br /&gt;
&lt;br /&gt;
access-level values must match the case used in cfg.keywords_lists[&#039;id-access&#039;] (lowercase unless there is some special reason for something else)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function extract_id_access_levels (args, id_list)&lt;br /&gt;
	local id_accesses_list = {};&lt;br /&gt;
	for k, v in pairs (cfg.id_handlers) do&lt;br /&gt;
		local access_param = v.custom_access;									-- name of identifier&#039;s access-level parameter&lt;br /&gt;
		if is_set (access_param) then&lt;br /&gt;
			local access_level = args[access_param];							-- get the assigned value if there is one&lt;br /&gt;
			if is_set (access_level) then&lt;br /&gt;
				if not in_array (access_level, cfg.keywords_lists[&#039;id-access&#039;]) then	-- exact match required&lt;br /&gt;
					set_message (&#039;err_invalid_param_val&#039;, {access_param, access_level});	&lt;br /&gt;
					access_level = nil;											-- invalid so unset&lt;br /&gt;
				end&lt;br /&gt;
				if not is_set (id_list[k]) then									-- identifier access-level must have a matching identifier&lt;br /&gt;
					set_message (&#039;err_param_access_requires_param&#039;, {k:lower()});	-- parameter name is uppercase in cfg.id_handlers (k); lowercase for error message&lt;br /&gt;
				end&lt;br /&gt;
				id_accesses_list[k] = cfg.keywords_xlate[access_level];			-- get translated keyword&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return id_accesses_list;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; B U I L D _ I D _ L I S T &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
render the identifiers into a sorted sequence table&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ID_list_coins_t&amp;gt; is a table of k/v pairs where k is same as key in cfg.id_handlers and v is the assigned value&lt;br /&gt;
&amp;lt;options_t&amp;gt; is a table of various k/v option pairs provided in the call to new_build_id_list();&lt;br /&gt;
	modified by	this function and passed to all identifier rendering functions&lt;br /&gt;
&amp;lt;access_levels_t&amp;gt; is a table of k/v pairs where k is same as key in cfg.id_handlers and v is the assigned value (if valid)&lt;br /&gt;
&lt;br /&gt;
returns a sequence table of sorted (by hkey - &#039;handler&#039; key) rendered identifier strings&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function build_id_list (ID_list_coins_t, options_t, access_levels_t)&lt;br /&gt;
	local ID_list_t = {};&lt;br /&gt;
	local accept;&lt;br /&gt;
	local func_map = {															--function map points to functions associated with hkey identifier&lt;br /&gt;
		[&#039;ARXIV&#039;] = arxiv,&lt;br /&gt;
		[&#039;ASIN&#039;] = asin,&lt;br /&gt;
		[&#039;BIBCODE&#039;] = bibcode,&lt;br /&gt;
		[&#039;BIORXIV&#039;] = biorxiv,&lt;br /&gt;
		[&#039;CITESEERX&#039;] = citeseerx,&lt;br /&gt;
		[&#039;DOI&#039;] = doi,&lt;br /&gt;
		[&#039;EISSN&#039;] = issn,&lt;br /&gt;
		[&#039;HDL&#039;] = hdl,&lt;br /&gt;
		[&#039;ISBN&#039;] = isbn,&lt;br /&gt;
		[&#039;ISMN&#039;] = ismn,&lt;br /&gt;
		[&#039;ISSN&#039;] = issn,&lt;br /&gt;
		[&#039;JFM&#039;] = jfm,&lt;br /&gt;
		[&#039;JSTOR&#039;] = jstor,&lt;br /&gt;
		[&#039;LCCN&#039;] = lccn,&lt;br /&gt;
		[&#039;MEDRXIV&#039;] = medrxiv,&lt;br /&gt;
		[&#039;MR&#039;] = mr,&lt;br /&gt;
		[&#039;OCLC&#039;] = oclc,&lt;br /&gt;
		[&#039;OL&#039;] = openlibrary,&lt;br /&gt;
		[&#039;OSTI&#039;] = osti,&lt;br /&gt;
		[&#039;PMC&#039;] = pmc,&lt;br /&gt;
		[&#039;PMID&#039;] = pmid,&lt;br /&gt;
		[&#039;RFC&#039;]  = rfc,&lt;br /&gt;
		[&#039;S2CID&#039;] = s2cid,&lt;br /&gt;
		[&#039;SBN&#039;] = sbn,&lt;br /&gt;
		[&#039;SSRN&#039;] = ssrn,&lt;br /&gt;
		[&#039;USENETID&#039;] = usenet_id,&lt;br /&gt;
		[&#039;ZBL&#039;] = zbl,&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
	for hkey, v in pairs (ID_list_coins_t) do&lt;br /&gt;
		v, accept = has_accept_as_written (v);									-- remove accept-as-written markup if present; accept is boolean true when markup removed; false else&lt;br /&gt;
																				-- every function gets the options table with value v and accept boolean&lt;br /&gt;
		options_t.hkey = hkey;													-- ~/Configuration handler key&lt;br /&gt;
		options_t.id = v;														-- add that identifier value to the options table&lt;br /&gt;
		options_t.accept = accept;												-- add the accept boolean flag&lt;br /&gt;
		options_t.access = access_levels_t[hkey];								-- add the access level for those that have an |&amp;lt;identifier-access= parameter&lt;br /&gt;
		options_t.handler = cfg.id_handlers[hkey];&lt;br /&gt;
		options_t.coins_list_t = ID_list_coins_t;								-- pointer to ID_list_coins_t; for |asin= and |ol=; also to keep erroneous values out of the citation&#039;s metadata&lt;br /&gt;
		options_t.coins_list_t[hkey] = v;										-- id value without accept-as-written markup for metadata&lt;br /&gt;
		&lt;br /&gt;
		if options_t.handler.access and not in_array (options_t.handler.access, cfg.keywords_lists[&#039;id-access&#039;]) then&lt;br /&gt;
			error (cfg.messages[&#039;unknown_ID_access&#039;] .. options_t.handler.access);	-- here when handler access key set to a value not listed in list of allowed id access keywords&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if func_map[hkey] then&lt;br /&gt;
			local id_text = func_map[hkey] (options_t);							-- call the function to get identifier text and any error message&lt;br /&gt;
			table.insert (ID_list_t, {hkey, id_text});							-- add identifier text to the output sequence table&lt;br /&gt;
		else&lt;br /&gt;
			error (cfg.messages[&#039;unknown_ID_key&#039;] .. hkey);						-- here when func_map doesn&#039;t have a function for hkey&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function comp (a, b)													-- used by following table.sort()&lt;br /&gt;
		return a[1]:lower() &amp;lt; b[1]:lower();										-- sort by hkey&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	table.sort (ID_list_t, comp);												-- sequence table of tables sort	&lt;br /&gt;
	for k, v in ipairs (ID_list_t) do											-- convert sequence table of tables to simple sequence table of strings&lt;br /&gt;
		ID_list_t[k] = v[2];													-- v[2] is the identifier rendering from the call to the various functions in func_map{}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return ID_list_t;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; O P T I O N S _ C H E C K &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
check that certain option parameters have their associated identifier parameters with values&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ID_list_coins_t&amp;gt; is a table of k/v pairs where k is same as key in cfg.id_handlers and v is the assigned value&lt;br /&gt;
&amp;lt;ID_support_t&amp;gt; is a sequence table of tables created in citation0() where each subtable has four elements:&lt;br /&gt;
	[1] is the support parameter&#039;s assigned value; empty string if not set&lt;br /&gt;
	[2] is a text string same as key in cfg.id_handlers&lt;br /&gt;
	[3] is cfg.error_conditions key used to create error message&lt;br /&gt;
	[4] is original ID support parameter name used to create error message&lt;br /&gt;
	&lt;br /&gt;
returns nothing; on error emits an appropriate error message&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function options_check (ID_list_coins_t, ID_support_t)&lt;br /&gt;
	for _, v in ipairs (ID_support_t) do&lt;br /&gt;
		if is_set (v[1]) and not ID_list_coins_t[v[2]] then						-- when support parameter has a value but matching identifier parameter is missing or empty&lt;br /&gt;
			set_message (v[3], (v[4]));											-- emit the appropriate error message&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I D E N T I F I E R _ L I S T S _ G E T &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
Creates two identifier lists: a k/v table of identifiers and their values to be used locally and for use in the&lt;br /&gt;
COinS metadata, and a sequence table of the rendered identifier strings that will be included in the rendered&lt;br /&gt;
citation.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function identifier_lists_get (args_t, options_t, ID_support_t)&lt;br /&gt;
	local ID_list_coins_t = extract_ids (args_t);										-- get a table of identifiers and their values for use locally and for use in COinS&lt;br /&gt;
	options_check (ID_list_coins_t, ID_support_t);										-- ID support parameters must have matching identifier parameters &lt;br /&gt;
	local ID_access_levels_t = extract_id_access_levels (args_t, ID_list_coins_t);		-- get a table of identifier access levels&lt;br /&gt;
	local ID_list_t = build_id_list (ID_list_coins_t, options_t, ID_access_levels_t);	-- get a sequence table of rendered identifier strings&lt;br /&gt;
&lt;br /&gt;
	return ID_list_t, ID_list_coins_t;											-- return the tables&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E T _ S E L E C T E D _ M O D U L E S &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
Sets local cfg table and imported functions table to same (live or sandbox) as that used by the other modules.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function set_selected_modules (cfg_table_ptr, utilities_page_ptr)&lt;br /&gt;
	cfg = cfg_table_ptr;&lt;br /&gt;
&lt;br /&gt;
	has_accept_as_written = utilities_page_ptr.has_accept_as_written;			-- import functions from select Module:Citation/CS1/Utilities module&lt;br /&gt;
	is_set = utilities_page_ptr.is_set;								&lt;br /&gt;
	in_array = utilities_page_ptr.in_array;&lt;br /&gt;
	set_message = utilities_page_ptr.set_message;&lt;br /&gt;
	select_one = utilities_page_ptr.select_one;&lt;br /&gt;
	substitute = utilities_page_ptr.substitute;&lt;br /&gt;
	make_wikilink = utilities_page_ptr.make_wikilink;&lt;br /&gt;
&lt;br /&gt;
	z = utilities_page_ptr.z;													-- table of tables in Module:Citation/CS1/Utilities&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T E D   F U N C T I O N S &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	auto_link_urls = auto_link_urls,											-- table of identifier URLs to be used when auto-linking |title=&lt;br /&gt;
	&lt;br /&gt;
	identifier_lists_get = identifier_lists_get,								-- experiment to replace individual calls to build_id_list(), extract_ids, extract_id_access_levels&lt;br /&gt;
	is_embargoed = is_embargoed;&lt;br /&gt;
	set_selected_modules = set_selected_modules;&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Utilities&amp;diff=347</id>
		<title>Module:Citation/CS1/Utilities</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Utilities&amp;diff=347"/>
		<updated>2025-10-11T03:15:00Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local z = {&lt;br /&gt;
	error_cats_t = {};															-- for categorizing citations that contain errors&lt;br /&gt;
	error_ids_t = {};															-- list of error identifiers; used to prevent duplication of certain errors; local to this module&lt;br /&gt;
	error_msgs_t = {};															-- sequence table of error messages&lt;br /&gt;
	maint_cats_t = {};															-- for categorizing citations that aren&#039;t erroneous per se, but could use a little work&lt;br /&gt;
	prop_cats_t = {};															-- for categorizing citations based on certain properties, language of source for instance&lt;br /&gt;
	prop_keys_t = {};															-- for adding classes to the citation&#039;s &amp;lt;cite&amp;gt; tag&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; F O R W A R D   D E C L A R A T I O N S &amp;gt;--------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local cfg;																		-- table of tables imported from selected Module:Citation/CS1/Configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I S _ S E T &amp;gt;------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Returns true if argument is set; false otherwise. Argument is &#039;set&#039; when it exists (not nil) or when it is not an empty string.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_set (var)&lt;br /&gt;
	return not (var == nil or var == &#039;&#039;);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I N _ A R R A Y &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Whether needle is in haystack&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function in_array (needle, haystack)&lt;br /&gt;
	if needle == nil then&lt;br /&gt;
		return false;&lt;br /&gt;
	end&lt;br /&gt;
	for n, v in ipairs (haystack) do&lt;br /&gt;
		if v == needle then&lt;br /&gt;
			return n;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; H A S _ A C C E P T _ A S _ W R I T T E N &amp;gt;------------------------------------&lt;br /&gt;
&lt;br /&gt;
When &amp;lt;str&amp;gt; is wholly wrapped in accept-as-written markup, return &amp;lt;str&amp;gt; without markup and true; return &amp;lt;str&amp;gt; and false else&lt;br /&gt;
&lt;br /&gt;
with allow_empty = false, &amp;lt;str&amp;gt; must have at least one character inside the markup&lt;br /&gt;
with allow_empty = true, &amp;lt;str&amp;gt; the markup frame can be empty like (()) to distinguish an empty template parameter from the specific condition &amp;quot;has no applicable value&amp;quot; in citation-context.&lt;br /&gt;
&lt;br /&gt;
After further evaluation the two cases might be merged at a later stage, but should be kept separated for now.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function has_accept_as_written (str, allow_empty)&lt;br /&gt;
	if not is_set (str) then&lt;br /&gt;
		return str, false;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local count;&lt;br /&gt;
&lt;br /&gt;
	if true == allow_empty then&lt;br /&gt;
		str, count = str:gsub (&#039;^%(%((.*)%)%)$&#039;, &#039;%1&#039;); 						-- allows (()) to be an empty set&lt;br /&gt;
	else&lt;br /&gt;
		str, count = str:gsub (&#039;^%(%((.+)%)%)$&#039;, &#039;%1&#039;);&lt;br /&gt;
	end&lt;br /&gt;
	return str, 0 ~= count;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S U B S T I T U T E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Populates numbered arguments in a message string using an argument table. &amp;lt;args&amp;gt; may be a single string or a&lt;br /&gt;
sequence table of multiple strings.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function substitute (msg, args)&lt;br /&gt;
	return args and mw.message.newRawMessage (msg, args):plain() or msg;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E R R O R _ C O M M E N T &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Wraps error messages with CSS markup according to the state of hidden. &amp;lt;content&amp;gt; may be a single string or a&lt;br /&gt;
sequence table of multiple strings.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function error_comment (content, hidden)&lt;br /&gt;
	return substitute (hidden and cfg.presentation[&#039;hidden-error&#039;] or cfg.presentation[&#039;visible-error&#039;], content);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; H Y P H E N _ T O _ D A S H &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Converts a hyphen, endash, emdash to endash under certain conditions.  The hyphen/en/em must separate&lt;br /&gt;
like items; unlike items are returned unmodified.  These forms are modified:&lt;br /&gt;
	letter - letter (A-B)&lt;br /&gt;
	digit - digit (4-5)&lt;br /&gt;
	digit separator digit - digit separator digit (4.1-4.5 or 4-1-4-5)&lt;br /&gt;
	letterdigit - letterdigit (A1-A5) (an optional separator between letter and&lt;br /&gt;
		digit is supported – a.1-a.5 or a-1-a-5)&lt;br /&gt;
	digitletter - digitletter (5a-5d) (an optional separator between letter and&lt;br /&gt;
		digit is supported – 5.a-5.d or 5-a-5-d)&lt;br /&gt;
&lt;br /&gt;
any other forms are returned unmodified.&lt;br /&gt;
&lt;br /&gt;
str may be a comma- or semicolon-separated list of page ranges with/without single pages&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function hyphen_to_dash (str)&lt;br /&gt;
	if not is_set (str) then&lt;br /&gt;
		return str;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	str = str:gsub (&amp;quot;(%(%(.-%)%))&amp;quot;, function(m) return m:gsub(&amp;quot;,&amp;quot;, &amp;quot;，&amp;quot;):gsub(&amp;quot;;&amp;quot;, &amp;quot;；&amp;quot;) end) -- replace commas and semicolons in accept-as-written markup with similar unicode characters so they&#039;ll be ignored during the split	&lt;br /&gt;
	str = str:gsub (&#039;&amp;amp;[nm]dash;&#039;, {[&#039;&amp;amp;ndash;&#039;] = &#039;–&#039;, [&#039;&amp;amp;mdash;&#039;] = &#039;—&#039;});		-- replace &amp;amp;mdash; and &amp;amp;ndash; entities with their characters; semicolon mucks up the text.split&lt;br /&gt;
	str = str:gsub (&#039;&amp;amp;#45;&#039;, &#039;-&#039;);												-- replace HTML numeric entity with hyphen character&lt;br /&gt;
	str = str:gsub (&#039;&amp;amp;nbsp;&#039;, &#039; &#039;);												-- replace &amp;amp;nbsp; entity with generic keyboard space character&lt;br /&gt;
	&lt;br /&gt;
	local out = {};&lt;br /&gt;
	local list = mw.text.split (str, &#039;%s*[,;]%s*&#039;);								-- split str at comma or semicolon separators if there are any&lt;br /&gt;
&lt;br /&gt;
	local accept;																-- boolean&lt;br /&gt;
&lt;br /&gt;
	for _, item in ipairs (list) do												-- for each item in the list&lt;br /&gt;
		item, accept = has_accept_as_written (item);							-- remove accept-this-as-written markup when it wraps all of item&lt;br /&gt;
		if not accept and mw.ustring.match (item, &#039;^%w*[%.%-]?%w+%s*[—–-]%s*%w*[%.%-]?%w+$&#039;) then	-- if a hyphenated range or has endash or emdash separators&lt;br /&gt;
			if mw.ustring.match (item, &#039;^%a+[%.%-]?%d+%s*[—–-]%s*%a+[%.%-]?%d+$&#039;) or		-- letterdigit hyphen letterdigit (optional separator between letter and digit)&lt;br /&gt;
				mw.ustring.match (item, &#039;^%d+[%.%-]?%a+%s*[—–-]%s*%d+[%.%-]?%a+$&#039;) or		-- digitletter hyphen digitletter (optional separator between digit and letter)&lt;br /&gt;
				mw.ustring.match (item, &#039;^%d+[%.%-]%d+%s*[—–-]%s*%d+[%.%-]%d+$&#039;) then		-- digit separator digit hyphen digit separator digit&lt;br /&gt;
					item = mw.ustring.gsub (item, &#039;(%w*[%.%-]?%w+)%s*[—–-]%s*(%w*[%.%-]?%w+)&#039;, &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;%1 –&amp;lt;/span&amp;gt; &amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;%2&amp;lt;/span&amp;gt;&#039;);	-- replace hyphen/dash, with spaced endash&lt;br /&gt;
&lt;br /&gt;
			elseif mw.ustring.match (item, &#039;^%d+%s*[—–-]%s*%d+$&#039;) or			-- digit hyphen digit&lt;br /&gt;
				mw.ustring.match (item, &#039;^%a+%s*[—–-]%s*%a+$&#039;) then				-- letter hyphen letter&lt;br /&gt;
					item = mw.ustring.gsub (item, &#039;(%w+)%s*[—–-]%s*(%w+)&#039;, &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;%1–&amp;lt;/span&amp;gt;%2&#039;);	-- replace hyphen/emdash with endash, remove extraneous space characters&lt;br /&gt;
&lt;br /&gt;
			else&lt;br /&gt;
--				item = mw.ustring.gsub (item, &#039;%s*[—–-]%s*&#039;, &#039;–&#039;);				-- disabled; here when &#039;unlike&#039; items so return &amp;lt;item&amp;gt; as is&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert (out, item);												-- add the (possibly modified) item to the output table&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local temp_str = &#039;&#039;;														-- concatenate the output table into a comma separated string&lt;br /&gt;
	temp_str, accept = has_accept_as_written (table.concat (out, &#039;, &#039;));		-- remove accept-this-as-written markup when it wraps all of concatenated out&lt;br /&gt;
	if accept then&lt;br /&gt;
		temp_str = has_accept_as_written (str);									-- when global markup removed, return original str; do it this way to suppress boolean second return value&lt;br /&gt;
		return temp_str:gsub(&amp;quot;，&amp;quot;, &amp;quot;,&amp;quot;):gsub(&amp;quot;；&amp;quot;, &amp;quot;;&amp;quot;);&lt;br /&gt;
	else&lt;br /&gt;
		return temp_str:gsub(&amp;quot;，&amp;quot;, &amp;quot;,&amp;quot;):gsub(&amp;quot;；&amp;quot;, &amp;quot;;&amp;quot;);						-- else, return assembled temp_str&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; M A K E _ W I K I L I N K &amp;gt;----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Makes a wikilink; when both link and display text is provided, returns a wikilink in the form [[L|D]]; if only&lt;br /&gt;
link is provided (or link and display are the same), returns a wikilink in the form [[L]]; if neither are&lt;br /&gt;
provided or link is omitted, returns an empty string.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function make_wikilink (link, display)&lt;br /&gt;
	if not is_set (link) then return &#039;&#039; end&lt;br /&gt;
&lt;br /&gt;
	if is_set (display) and link ~= display then			&lt;br /&gt;
		return table.concat ({&#039;[[&#039;, link, &#039;|&#039;, display, &#039;]]&#039;});			&lt;br /&gt;
	else&lt;br /&gt;
		return table.concat ({&#039;[[&#039;, link, &#039;]]&#039;});&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E T _ M E S S A G E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Sets an error message using the ~/Configuration error_conditions{} table along with arguments supplied in the function&lt;br /&gt;
call, inserts the resulting message in z.error_msgs_t{} sequence table, and returns the error message.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;error_id&amp;gt; – key value for appropriate error handler in ~/Configuration error_conditions{} table &lt;br /&gt;
&amp;lt;arguments&amp;gt; – may be a single string or a sequence table of multiple strings to be subsititued into error_conditions[error_id].message&lt;br /&gt;
&amp;lt;raw&amp;gt; – boolean&lt;br /&gt;
	true –	causes this function to return the error message not wrapped in visible-error, hidden-error span tag;&lt;br /&gt;
			returns error_conditions[error_id].hidden as a second return value&lt;br /&gt;
			does not add message to z.error_msgs_t sequence table&lt;br /&gt;
	false, nil – adds message wrapped in visible-error, hidden-error span tag to z.error_msgs_t&lt;br /&gt;
			returns the error message wrapped in visible-error, hidden-error span tag; there is no second return value&lt;br /&gt;
&amp;lt;prefix&amp;gt; – string to be prepended to &amp;lt;message&amp;gt;									-- TODO: remove support for these unused(?) arguments?&lt;br /&gt;
&amp;lt;suffix&amp;gt; – string to be appended to &amp;lt;message&amp;gt;&lt;br /&gt;
&lt;br /&gt;
TODO: change z.error_cats_t and z.maint_cats_t to have the form cat_name = true?  this to avoid dups without having to have an extra table&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local added_maint_cats = {}														-- list of maintenance categories that have been added to z.maint_cats_t; TODO: figure out how to delete this table&lt;br /&gt;
&lt;br /&gt;
local function set_message (error_id, arguments, raw, prefix, suffix)&lt;br /&gt;
	local error_state = cfg.error_conditions[error_id];&lt;br /&gt;
	&lt;br /&gt;
	prefix = prefix or &#039;&#039;;&lt;br /&gt;
	suffix = suffix or &#039;&#039;;&lt;br /&gt;
	&lt;br /&gt;
	if error_state == nil then&lt;br /&gt;
		error (cfg.messages[&#039;undefined_error&#039;] .. &#039;: &#039; .. error_id);			-- because missing error handler in Module:Citation/CS1/Configuration&lt;br /&gt;
&lt;br /&gt;
	elseif is_set (error_state.category) then&lt;br /&gt;
		if error_state.message then												-- when error_state.message defined, this is an error message&lt;br /&gt;
			table.insert (z.error_cats_t, error_state.category);&lt;br /&gt;
		else&lt;br /&gt;
			if not added_maint_cats[error_id] then&lt;br /&gt;
				added_maint_cats[error_id] = true;								-- note that we&#039;ve added this category&lt;br /&gt;
				table.insert (z.maint_cats_t, substitute (error_state.category, arguments));	-- make cat name then add to table&lt;br /&gt;
			end&lt;br /&gt;
			return;																-- because no message, nothing more to do&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local message = substitute (error_state.message, arguments);&lt;br /&gt;
&lt;br /&gt;
	message = table.concat (&lt;br /&gt;
		{&lt;br /&gt;
		message,&lt;br /&gt;
		&#039; (&#039;,&lt;br /&gt;
		make_wikilink (&lt;br /&gt;
			table.concat (&lt;br /&gt;
				{&lt;br /&gt;
				cfg.messages[&#039;help page link&#039;],&lt;br /&gt;
				&#039;#&#039;,&lt;br /&gt;
				error_state.anchor&lt;br /&gt;
				}),&lt;br /&gt;
			cfg.messages[&#039;help page label&#039;]),&lt;br /&gt;
		&#039;)&#039;&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
	z.error_ids_t[error_id] = true;&lt;br /&gt;
	if z.error_ids_t[&#039;err_citation_missing_title&#039;] and							-- if missing-title error already noted&lt;br /&gt;
		in_array (error_id, {&#039;err_bare_url_missing_title&#039;, &#039;err_trans_missing_title&#039;}) then		-- and this error is one of these&lt;br /&gt;
			return &#039;&#039;, false;													-- don&#039;t bother because one flavor of missing title is sufficient&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	message = table.concat ({prefix, message, suffix});&lt;br /&gt;
&lt;br /&gt;
	if true == raw then&lt;br /&gt;
		return message, error_state.hidden;										-- return message not wrapped in visible-error, hidden-error span tag&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
	message = error_comment (message, error_state.hidden);						-- wrap message in visible-error, hidden-error span tag&lt;br /&gt;
	table.insert (z.error_msgs_t, message);										-- add it to the messages sequence table&lt;br /&gt;
	return message;																-- and done; return value generally not used but is used as a flag in various functions of ~/Identifiers&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[-------------------------&amp;lt; I S _ A L I A S _ U S E D &amp;gt;-----------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
This function is used by select_one() to determine if one of a list of alias parameters is in the argument list&lt;br /&gt;
provided by the template.&lt;br /&gt;
&lt;br /&gt;
Input:&lt;br /&gt;
	args – pointer to the arguments table from calling template&lt;br /&gt;
	alias – one of the list of possible aliases in the aliases lists from Module:Citation/CS1/Configuration&lt;br /&gt;
	index – for enumerated parameters, identifies which one&lt;br /&gt;
	enumerated – true/false flag used to choose how enumerated aliases are examined&lt;br /&gt;
	value – value associated with an alias that has previously been selected; nil if not yet selected&lt;br /&gt;
	selected – the alias that has previously been selected; nil if not yet selected&lt;br /&gt;
	error_list – list of aliases that are duplicates of the alias already selected&lt;br /&gt;
&lt;br /&gt;
Returns:&lt;br /&gt;
	value – value associated with alias we selected or that was previously selected or nil if an alias not yet selected&lt;br /&gt;
	selected – the alias we selected or the alias that was previously selected or nil if an alias not yet selected&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function is_alias_used (args, alias, index, enumerated, value, selected, error_list)&lt;br /&gt;
	if enumerated then															-- is this a test for an enumerated parameters?&lt;br /&gt;
		alias = alias:gsub (&#039;#&#039;, index);										-- replace &#039;#&#039; with the value in index&lt;br /&gt;
	else&lt;br /&gt;
		alias = alias:gsub (&#039;#&#039;, &#039;&#039;);											-- remove &#039;#&#039; if it exists&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if is_set (args[alias]) then												-- alias is in the template&#039;s argument list&lt;br /&gt;
		if value ~= nil and selected ~= alias then								-- if we have already selected one of the aliases&lt;br /&gt;
			local skip;&lt;br /&gt;
			for _, v in ipairs (error_list) do									-- spin through the error list to see if we&#039;ve added this alias&lt;br /&gt;
				if v == alias then&lt;br /&gt;
					skip = true;&lt;br /&gt;
					break;														-- has been added so stop looking &lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if not skip then													-- has not been added so&lt;br /&gt;
				table.insert (error_list, alias);								-- add error alias to the error list&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			value = args[alias];												-- not yet selected an alias, so select this one&lt;br /&gt;
			selected = alias;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return value, selected;														-- return newly selected alias, or previously selected alias&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; A D D _ M A I N T _ C A T &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Adds a category to z.maint_cats_t using names from the configuration file with additional text if any.&lt;br /&gt;
To prevent duplication, the added_maint_cats table lists the categories by key that have been added to z.maint_cats_t.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function add_maint_cat (key, arguments)&lt;br /&gt;
	if not added_maint_cats [key] then&lt;br /&gt;
		added_maint_cats [key] = true;											-- note that we&#039;ve added this category&lt;br /&gt;
		table.insert (z.maint_cats_t, substitute (cfg.maint_cats [key], arguments));	-- make name then add to table&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; A D D _ P R O P _ C A T &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Adds a category to z.prop_cats_t using names from the configuration file with additional text if any.&lt;br /&gt;
&lt;br /&gt;
foreign_lang_source and foreign_lang_source_2 keys have a language code appended to them so that multiple languages&lt;br /&gt;
may be categorized but multiples of the same language are not categorized.&lt;br /&gt;
&lt;br /&gt;
added_prop_cats is a table declared in page scope variables above&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local added_prop_cats = {};														-- list of property categories that have been added to z.prop_cats_t&lt;br /&gt;
&lt;br /&gt;
local function add_prop_cat (key, arguments, key_modifier)&lt;br /&gt;
	local key_modified = key .. ((key_modifier and key_modifier) or &#039;&#039;);		-- modify &amp;lt;key&amp;gt; with &amp;lt;key_modifier&amp;gt; if present and not nil&lt;br /&gt;
	&lt;br /&gt;
	if not added_prop_cats [key_modified] then&lt;br /&gt;
		added_prop_cats [key_modified] = true;									-- note that we&#039;ve added this category&lt;br /&gt;
		table.insert (z.prop_cats_t, substitute (cfg.prop_cats [key], arguments));	-- make name then add to table&lt;br /&gt;
		table.insert (z.prop_keys_t, &#039;cs1-prop-&#039; .. key);						-- convert key to class for use in the citation&#039;s &amp;lt;cite&amp;gt; tag&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S A F E _ F O R _ I T A L I C S &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Protects a string that will be wrapped in wiki italic markup &#039;&#039; ... &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note: We cannot use &amp;lt;i&amp;gt; for italics, as the expected behavior for italics specified by &#039;&#039;...&#039;&#039; in the title is that&lt;br /&gt;
they will be inverted (i.e. unitalicized) in the resulting references.  In addition, &amp;lt;i&amp;gt; and &#039;&#039; tend to interact&lt;br /&gt;
poorly under Mediawiki&#039;s HTML tidy.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function safe_for_italics (str)&lt;br /&gt;
	if not is_set (str) then return str end&lt;br /&gt;
&lt;br /&gt;
	if str:sub (1, 1) == &amp;quot;&#039;&amp;quot; then str = &amp;quot;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;quot; .. str; end&lt;br /&gt;
	if str:sub (-1, -1) == &amp;quot;&#039;&amp;quot; then str = str .. &amp;quot;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;quot;; end&lt;br /&gt;
	&lt;br /&gt;
	return str:gsub (&#039;\n&#039;, &#039; &#039;);												-- Remove newlines as they break italics.&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; W R A P _ S T Y L E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Applies styling to various parameters.  Supplied string is wrapped using a message_list configuration taking one&lt;br /&gt;
argument; protects italic styled parameters.  Additional text taken from citation_config.presentation - the reason&lt;br /&gt;
this function is similar to but separate from wrap_msg().&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function wrap_style (key, str)&lt;br /&gt;
	if not is_set (str) then&lt;br /&gt;
		return &amp;quot;&amp;quot;;&lt;br /&gt;
	elseif in_array (key, {&#039;italic-title&#039;, &#039;trans-italic-title&#039;}) then&lt;br /&gt;
		str = safe_for_italics (str);&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return substitute (cfg.presentation[key], {str});&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A K E _ S E P _ L I S T &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
make a separated list of items using provided separators.&lt;br /&gt;
	&amp;lt;sep_list&amp;gt; - typically &#039;&amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&#039;&lt;br /&gt;
	&amp;lt;sep_list_pair&amp;gt; - typically &#039;&amp;lt;space&amp;gt;and&amp;lt;space&amp;gt;&#039;&lt;br /&gt;
	&amp;lt;sep_list_end&amp;gt; - typically &#039;&amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;and&amp;lt;space&amp;gt;&#039; or &#039;&amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&amp;amp;&amp;lt;space&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
defaults to cfg.presentation[&#039;sep_list&#039;], cfg.presentation[&#039;sep_list_pair&#039;], and cfg.presentation[&#039;sep_list_end&#039;]&lt;br /&gt;
if &amp;lt;sep_list_end&amp;gt; is specified, &amp;lt;sep_list&amp;gt; and &amp;lt;sep_list_pair&amp;gt; must also be supplied&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function make_sep_list (count, list_seq, sep_list, sep_list_pair, sep_list_end)&lt;br /&gt;
	local list = &#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
	if not sep_list then														-- set the defaults&lt;br /&gt;
		sep_list = cfg.presentation[&#039;sep_list&#039;];&lt;br /&gt;
		sep_list_pair = cfg.presentation[&#039;sep_list_pair&#039;];&lt;br /&gt;
		sep_list_end = cfg.presentation[&#039;sep_list_end&#039;];&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if 2 &amp;gt;= count then&lt;br /&gt;
		list = table.concat (list_seq, sep_list_pair);							-- insert separator between two items; returns list_seq[1] then only one item&lt;br /&gt;
	elseif 2 &amp;lt; count then&lt;br /&gt;
		list = table.concat (list_seq, sep_list, 1, count - 1);					-- concatenate all but last item with plain list separator&lt;br /&gt;
		list = table.concat ({list, list_seq[count]}, sep_list_end);			-- concatenate last item onto end of &amp;lt;list&amp;gt; with final separator&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return list;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E L E C T _ O N E &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Chooses one matching parameter from a list of parameters to consider.  The list of parameters to consider is just&lt;br /&gt;
names.  For parameters that may be enumerated, the position of the numerator in the parameter name is identified&lt;br /&gt;
by the &#039;#&#039; so |author-last1= and |author1-last= are represented as &#039;author-last#&#039; and &#039;author#-last&#039;.&lt;br /&gt;
&lt;br /&gt;
Because enumerated parameter |&amp;lt;param&amp;gt;1= is an alias of |&amp;lt;param&amp;gt;= we must test for both possibilities.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Generates an error if more than one match is present.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function select_one (args, aliases_list, error_condition, index)&lt;br /&gt;
	local value = nil;															-- the value assigned to the selected parameter&lt;br /&gt;
	local selected = &#039;&#039;;														-- the name of the parameter we have chosen&lt;br /&gt;
	local error_list = {};&lt;br /&gt;
&lt;br /&gt;
	if index ~= nil then index = tostring(index); end&lt;br /&gt;
&lt;br /&gt;
	for _, alias in ipairs (aliases_list) do									-- for each alias in the aliases list&lt;br /&gt;
		if alias:match (&#039;#&#039;) then												-- if this alias can be enumerated&lt;br /&gt;
			if &#039;1&#039; == index then												-- when index is 1 test for enumerated and non-enumerated aliases&lt;br /&gt;
				value, selected = is_alias_used (args, alias, index, false, value, selected, error_list);	-- first test for non-enumerated alias&lt;br /&gt;
			end&lt;br /&gt;
			value, selected = is_alias_used (args, alias, index, true, value, selected, error_list);	-- test for enumerated alias&lt;br /&gt;
		else&lt;br /&gt;
			value, selected = is_alias_used (args, alias, index, false, value, selected, error_list);	-- test for non-enumerated alias&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if #error_list &amp;gt; 0 and &#039;none&#039; ~= error_condition then						-- for cases where this code is used outside of extract_names()&lt;br /&gt;
		for i, v in ipairs (error_list) do&lt;br /&gt;
			error_list[i] = wrap_style (&#039;parameter&#039;, v);&lt;br /&gt;
		end&lt;br /&gt;
		table.insert (error_list, wrap_style (&#039;parameter&#039;, selected));&lt;br /&gt;
		set_message (error_condition, {make_sep_list (#error_list, error_list)});&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return value, selected;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; R E M O V E _ W I K I _ L I N K &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Gets the display text from a wikilink like [[A|B]] or [[B]] gives B&lt;br /&gt;
&lt;br /&gt;
The str:gsub() returns either A|B froma [[A|B]] or B from [[B]] or B from B (no wikilink markup).&lt;br /&gt;
&lt;br /&gt;
In l(), l:gsub() removes the link and pipe (if they exist); the second :gsub() trims whitespace from the label&lt;br /&gt;
if str was wrapped in wikilink markup.  Presumably, this is because without wikimarkup in str, there is no match&lt;br /&gt;
in the initial gsub, the replacement function l() doesn&#039;t get called.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function remove_wiki_link (str)&lt;br /&gt;
	return (str:gsub (&amp;quot;%[%[([^%[%]]*)%]%]&amp;quot;, function(l)&lt;br /&gt;
		return l:gsub (&amp;quot;^[^|]*|(.*)$&amp;quot;, &amp;quot;%1&amp;quot; ):gsub (&amp;quot;^%s*(.-)%s*$&amp;quot;, &amp;quot;%1&amp;quot;);&lt;br /&gt;
	end));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; I S _ W I K I L I N K &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Determines if str is a wikilink, extracts, and returns the wikilink type, link text, and display text parts.&lt;br /&gt;
If str is a complex wikilink ([[L|D]]):&lt;br /&gt;
	returns wl_type 2 and D and L from [[L|D]];&lt;br /&gt;
if str is a simple wikilink ([[D]])&lt;br /&gt;
	returns wl_type 1 and D from [[D]] and L as empty string;&lt;br /&gt;
if not a wikilink:&lt;br /&gt;
	returns wl_type 0, str as D, and L as empty string.&lt;br /&gt;
&lt;br /&gt;
trims leading and trailing whitespace and pipes from L and D ([[L|]] and [[|D]] are accepted by MediaWiki and&lt;br /&gt;
treated like [[D]]; while [[|D|]] is not accepted by MediaWiki, here, we accept it and return D without the pipes).&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function is_wikilink (str)&lt;br /&gt;
	local D, L&lt;br /&gt;
	local wl_type = 2;															-- assume that str is a complex wikilink [[L|D]]&lt;br /&gt;
&lt;br /&gt;
	if not str:match (&#039;^%[%[[^%]]+%]%]$&#039;) then									-- is str some sort of a wikilink (must have some sort of content)&lt;br /&gt;
		return 0, str, &#039;&#039;;														-- not a wikilink; return wl_type as 0, str as D, and empty string as L&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	L, D = str:match (&#039;^%[%[([^|]+)|([^%]]+)%]%]$&#039;);							-- get L and D from [[L|D]] &lt;br /&gt;
&lt;br /&gt;
	if not is_set (D) then														-- if no separate display&lt;br /&gt;
		D = str:match (&#039;^%[%[([^%]]*)|*%]%]$&#039;);									-- get D from [[D]] or [[D|]]&lt;br /&gt;
		wl_type = 1; &lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	D = mw.text.trim (D, &#039;%s|&#039;);												-- trim white space and pipe characters &lt;br /&gt;
	return wl_type, D, L or &#039;&#039;;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S T R I P _ A P O S T R O P H E _ M A R K U P &amp;gt;--------------------------------&lt;br /&gt;
&lt;br /&gt;
Strip wiki italic and bold markup from argument so that it doesn&#039;t contaminate COinS metadata.&lt;br /&gt;
This function strips common patterns of apostrophe markup.  We presume that editors who have taken the time to&lt;br /&gt;
markup a title have, as a result, provided valid markup. When they don&#039;t, some single apostrophes are left behind.&lt;br /&gt;
&lt;br /&gt;
Returns the argument without wiki markup and a number; the number is more-or-less meaningless except as a flag&lt;br /&gt;
to indicate that markup was replaced; do not rely on it as an indicator of how many of any kind of markup was&lt;br /&gt;
removed; returns the argument and nil when no markup removed&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function strip_apostrophe_markup (argument)&lt;br /&gt;
	if not is_set (argument) then&lt;br /&gt;
		return argument, nil;													-- no argument, nothing to do&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if nil == argument:find ( &amp;quot;&#039;&#039;&amp;quot;, 1, true ) then								-- Is there at least one double apostrophe?  If not, exit.&lt;br /&gt;
		return argument, nil;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local flag;&lt;br /&gt;
	while true do&lt;br /&gt;
		if argument:find (&amp;quot;&#039;&#039;&#039;&#039;&#039;&amp;quot;, 1, true) then								-- bold italic (5)&lt;br /&gt;
			argument, flag = argument:gsub (&amp;quot;%&#039;%&#039;%&#039;%&#039;%&#039;&amp;quot;, &amp;quot;&amp;quot;);					-- remove all instances of it&lt;br /&gt;
		elseif argument:find (&amp;quot;&#039;&#039;&#039;&#039;&amp;quot;, 1, true) then								-- italic start and end without content (4)&lt;br /&gt;
			argument, flag=argument:gsub (&amp;quot;%&#039;%&#039;%&#039;%&#039;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		elseif argument:find (&amp;quot;&#039;&#039;&#039;&amp;quot;, 1, true) then								-- bold (3)&lt;br /&gt;
			argument, flag=argument:gsub (&amp;quot;%&#039;%&#039;%&#039;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		elseif argument:find (&amp;quot;&#039;&#039;&amp;quot;, 1, true) then								-- italic (2)&lt;br /&gt;
			argument, flag = argument:gsub (&amp;quot;%&#039;%&#039;&amp;quot;, &amp;quot;&amp;quot;);&lt;br /&gt;
		else&lt;br /&gt;
			break;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return argument, flag;														-- done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E T _ S E L E C T E D _ M O D U L E S &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
Sets local cfg table to same (live or sandbox) as that used by the other modules.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function set_selected_modules (cfg_table_ptr)&lt;br /&gt;
	cfg = cfg_table_ptr;&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;----------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	add_maint_cat = add_maint_cat,												-- exported functions&lt;br /&gt;
	add_prop_cat = add_prop_cat,&lt;br /&gt;
	error_comment = error_comment,&lt;br /&gt;
	has_accept_as_written = has_accept_as_written,&lt;br /&gt;
	hyphen_to_dash = hyphen_to_dash,&lt;br /&gt;
	in_array = in_array,&lt;br /&gt;
	is_set = is_set,&lt;br /&gt;
	is_wikilink = is_wikilink,&lt;br /&gt;
	make_sep_list = make_sep_list,&lt;br /&gt;
	make_wikilink = make_wikilink,&lt;br /&gt;
	remove_wiki_link = remove_wiki_link,&lt;br /&gt;
	safe_for_italics = safe_for_italics,&lt;br /&gt;
	select_one = select_one,&lt;br /&gt;
	set_message = set_message,&lt;br /&gt;
	set_selected_modules = set_selected_modules,&lt;br /&gt;
	strip_apostrophe_markup = strip_apostrophe_markup,&lt;br /&gt;
	substitute = substitute,&lt;br /&gt;
	wrap_style = wrap_style,&lt;br /&gt;
&lt;br /&gt;
	z = z,																		-- exported table&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:CS1_identifiers&amp;diff=345</id>
		<title>Module:CS1 identifiers</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:CS1_identifiers&amp;diff=345"/>
		<updated>2025-10-11T03:15:00Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require (&#039;strict&#039;);&lt;br /&gt;
&lt;br /&gt;
local get_args = require (&#039;Module:Arguments&#039;).getArgs;&lt;br /&gt;
local identifiers = require (&#039;Module:Citation/CS1/Identifiers&#039;);&lt;br /&gt;
local utilities = require (&#039;Module:Citation/CS1/Utilities&#039;);&lt;br /&gt;
	local has_accept_as_written = utilities.has_accept_as_written;				-- import functions from Module:Citation/CS1/Utilities&lt;br /&gt;
	local is_set = utilities.is_set;&lt;br /&gt;
	local make_wikilink = utilities.make_wikilink;&lt;br /&gt;
	local set_message = utilities.set_message;&lt;br /&gt;
	local substitute = utilities.substitute;&lt;br /&gt;
&lt;br /&gt;
local cfg = mw.loadData (&#039;Module:Citation/CS1/Configuration&#039;);&lt;br /&gt;
&lt;br /&gt;
utilities.set_selected_modules (cfg);											-- so that functions in Utilities can see the selected cfg tables&lt;br /&gt;
identifiers.set_selected_modules (cfg, utilities);								-- so that functions in Identifiers can see the selected cfg tables and selected Utilities module&lt;br /&gt;
&lt;br /&gt;
local Frame;																	-- local copy of &amp;lt;frame&amp;gt; from main(); nil else&lt;br /&gt;
local this_page = mw.title.getCurrentTitle();									-- used to limit categorization to certain namepsaces&lt;br /&gt;
&lt;br /&gt;
local no_cat;																	-- used to limit categorization to certain namespaces&lt;br /&gt;
if cfg.uncategorized_namespaces[this_page.namespace] then						-- is this page&#039;s namespace id one of the uncategorized namespace ids?&lt;br /&gt;
	no_cat = true;																-- set no_cat; this page will not be categorized&lt;br /&gt;
end&lt;br /&gt;
for _, v in ipairs (cfg.uncategorized_subpages) do								-- cycle through page name patterns&lt;br /&gt;
	if this_page.text:match (v) then											-- test page name against each pattern&lt;br /&gt;
		no_cat = true;															-- set no_cat; this page will not be categorized&lt;br /&gt;
		break;																	-- bail out if one is found&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E R R _ M E S S A G E _ C O N V E R T &amp;gt;----------------------------------------&lt;br /&gt;
&lt;br /&gt;
converts cs1|2 error message to a message suitable for this module.&lt;br /&gt;
&lt;br /&gt;
converted error messages do not name a parameter as is done in cs1|2.  The help link links to the template page&lt;br /&gt;
not to a help-namespace page.  The prefix is rewritten to name the offending template; not a cs1|2 template.&lt;br /&gt;
&lt;br /&gt;
adds template specific category.&lt;br /&gt;
&lt;br /&gt;
done this way because the identifier functions in Module:Citation/CS1/Identifiers create properly formatted&lt;br /&gt;
messages with correct html for styling.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function err_message_convert (message_prefix, message, _template, no_cat)&lt;br /&gt;
	message = message:gsub (&#039;&amp;amp;#124;([^=]+)=&#039;, &#039;%1&#039;);							-- remove parameter pipe and assignment operator&lt;br /&gt;
	message = message:gsub (&#039;Help:CS1 errors#[^%]]+&#039;, substitute (&#039;Template:$1|help&#039;, _template));	-- rewrite help text&lt;br /&gt;
	message = message:gsub (&#039;(%b&amp;lt;&amp;gt;)&#039;, substitute (&#039;$1$2: &#039;, {&#039;%1&#039;, message_prefix}), 1);	-- %1 is the opening span tag; insert &amp;lt;message_prefix&amp;gt;&lt;br /&gt;
	local category = no_cat and &#039;&#039; or substitute (&#039;[[Category:Pages with $1 errors]]&#039;, _template:upper());	-- limited to certain namespaces &lt;br /&gt;
	return substitute (&#039;$1$2&#039;, {message, category});							-- make a big string and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A I N T _ M E S S A G E _ C O N V E R T &amp;gt;------------------------------------&lt;br /&gt;
&lt;br /&gt;
converts cs1|2 maintenance message to a message suitable for this module.&lt;br /&gt;
&lt;br /&gt;
converted maintenance messages have a prefix suitable for the rendered template.  The &#039;link&#039; text links to the&lt;br /&gt;
an appropriate maintenance category&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function maint_message_convert (message_prefix, message_raw, _template, no_cat)&lt;br /&gt;
	message_raw = message_raw:gsub (&#039;CS1 maint: &#039;, &#039;&#039;);							-- strip cs1-specific prefix from cat name&lt;br /&gt;
	local message = substitute (&#039;$1: $2&#039;, {message_prefix, message_raw});		-- add the template prefix&lt;br /&gt;
	message = substitute (&#039;$1$2 ($3)&#039;, {&lt;br /&gt;
		message,&lt;br /&gt;
		no_cat and &#039;&#039; or substitute (cfg.messages[&#039;cat wikilink&#039;], message_raw),-- the category link; limited to certain namespaces&lt;br /&gt;
		substitute (cfg.messages[&#039;:cat wikilink&#039;], message_raw)}				-- links to the maint cat, just as cs1|2 links to its maint cats&lt;br /&gt;
		);&lt;br /&gt;
	return substitute (cfg.presentation[&#039;hidden-maint&#039;], message);				-- the maint message text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P A R A M S _ G E T &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
extract enumerated parameters from &amp;lt;args_t&amp;gt; where the enumerator is &amp;lt;i&amp;gt;.  enumerator is always the last character&lt;br /&gt;
of the parameter name (doi-broken-date1 not doi1-broken-date)&lt;br /&gt;
&lt;br /&gt;
special case the enumerator is 1: prefer non-enumerated parameters&lt;br /&gt;
&lt;br /&gt;
returns a table of same-enumerator parameters (without enumerator) &lt;br /&gt;
&lt;br /&gt;
note: &amp;lt;i&amp;gt; is a number&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function params_get (args_t, i)&lt;br /&gt;
--mw.logObject (args_t, &#039;args_t&#039;)&lt;br /&gt;
	local params_t = {};														-- selected parameters go in this table&lt;br /&gt;
	if 1 == i then																-- special case when enumerator (&amp;lt;i&amp;gt;) is 1&lt;br /&gt;
		for k, v in pairs (args_t) do											-- for each parameter&lt;br /&gt;
			if &#039;number&#039; == type (k) then										-- if this is a positional parameter&lt;br /&gt;
				if 1 == k then													-- and its the first positional parameter&lt;br /&gt;
					params_t[1] = v;											-- save it&lt;br /&gt;
				end&lt;br /&gt;
			else																-- here for named parameters&lt;br /&gt;
				local enum = k:match (&#039;%d+$&#039;);									-- extract the enumerator from the parameter&#039;s name; nil else&lt;br /&gt;
				if (not enum) or (1 == tonumber (enum)) then					-- when not enumerated or when enumerator is 1&lt;br /&gt;
					k = k:gsub (&#039;%d+$&#039;, &#039;&#039;);									-- remove the enumerator from parameter name&lt;br /&gt;
					params_t[k] = v;											-- and save this parameter&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		for k, v in pairs (args_t) do											-- for each parameter&lt;br /&gt;
			if &#039;number&#039; == type (k) then										-- if this is a positional parameter&lt;br /&gt;
				if i == k then													-- and is the desired positional parameter&lt;br /&gt;
					params_t[1] = v;											-- save it (as index number 1; not as index &amp;lt;i&amp;gt;)&lt;br /&gt;
				end&lt;br /&gt;
			else																-- here for named parameters&lt;br /&gt;
				local enum = k:match (&#039;%d+$&#039;);									-- extract the parameter&#039;s enumerator; nil else&lt;br /&gt;
				if enum and (i == tonumber (enum)) then							-- when enumerated and the enumerator is same as requested&lt;br /&gt;
					k = k:gsub (&#039;%d+$&#039;, &#039;&#039;);									-- remove the enumerator from parameter name&lt;br /&gt;
					params_t[k] = v;											-- and save this parameter&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
--mw.logObject (params_t, &#039;params_t&#039;)&lt;br /&gt;
	return params_t;															-- and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; R E N D E R _ F I N A L &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
this function applies cs1|2 template style sheet to a rendered identifier or error message&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function render_final (output)&lt;br /&gt;
	if not Frame then															-- not set when this module called from another module&lt;br /&gt;
		Frame = mw.getCurrentFrame();											-- get the calling module&#039;s frame so that we can call extensionTag()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return substitute (&#039;$1$2&#039;, {&lt;br /&gt;
		Frame:extensionTag (&#039;templatestyles&#039;, &#039;&#039;, {src=&#039;Module:Citation/CS1/styles.css&#039;}),	-- apply templatestyles&lt;br /&gt;
		output																	-- to the rendered identifier or error message&lt;br /&gt;
		});&lt;br /&gt;
&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; _ M A I N &amp;gt;--------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point when called from another module; example:&lt;br /&gt;
	local rendered_identifier = require (&#039;Module:CS1 identifiers&#039;)._main ({&#039;10.4231/sommat&#039;, _template = &#039;doi&#039;, [&#039;doi-access&#039;] = &#039;free&#039;, [&#039;doi-broken-date&#039;] = &#039;June 2025&#039;});&lt;br /&gt;
&lt;br /&gt;
supported identifier templates are:&lt;br /&gt;
	{{arxiv}}	{{asin}}	{{bibcode}}	{{biorxiv}}		{{citeseerx}}	{{doi}}&lt;br /&gt;
	{{hdl}}		{{isbn}}	{{ismn}}	{{issn}}		{{jfm}}			{{jstor}}&lt;br /&gt;
	{{medrxiv}}	{{mr}}		{{oclc}}	{{ol}}			{{osti}}		{{pmc}}&lt;br /&gt;
	{{pmid}}	{{sbn}}		{{ssrn}}	{{s2cid}}		{{zbl}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;args_t&amp;gt; is a table of all parameters needed to properly render the identifier&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _main (args_t)&lt;br /&gt;
	local ID_list_t = {};														-- sequence table of rendered identifiers&lt;br /&gt;
	local ID_list_coins_t = {};													-- table of identifiers and their values from args; key is same as cfg.id_handlers&#039;s key; COinS not supported in this module&lt;br /&gt;
	local template_name = args_t._template;&lt;br /&gt;
	local message_prefix;&lt;br /&gt;
&lt;br /&gt;
	if not (template_name and cfg.id_handlers[template_name:upper()]) then&lt;br /&gt;
		error (&#039;|_template= requires valid value&#039;);								-- a message for template writers; not seen by users&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	template_name = template_name:lower();										-- force lower case&lt;br /&gt;
	message_prefix = substitute (&#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#x7B;{[[Template:$1|$1]]}}&amp;lt;/code&amp;gt;&#039;, template_name);&lt;br /&gt;
&lt;br /&gt;
	local rendered_id;															-- a single rendered id worked on here&lt;br /&gt;
	local rendered_ids_t = {};													-- individual rendered ids go here&lt;br /&gt;
	&lt;br /&gt;
	local i = 1;																-- initialize the indexer for the repeat loop&lt;br /&gt;
	repeat																		-- loop until no &lt;br /&gt;
		local params_t = params_get (args_t, i);								-- get the parameters associated with enumerator &amp;lt;i&amp;gt;&lt;br /&gt;
		params_t[template_name] = params_t[1] or params_t[&#039;id&#039;];				-- assign value from {{{1}}} or |id= to |&amp;lt;identifier&amp;gt;=&lt;br /&gt;
		params_t._template = nil;												-- unset as no longer needed&lt;br /&gt;
		if not params_t[template_name] then										-- in case params_t[1] and params_t.id are nil&lt;br /&gt;
			params_t[template_name] = &#039;&#039;;										-- set &amp;lt;id&amp;gt; to empty string&lt;br /&gt;
			return render_final (												-- make an error message and done&lt;br /&gt;
				substitute (&#039;&amp;lt;span class=&amp;quot;cs1-visible-error citation-comment&amp;quot;&amp;gt;$1: required identifier missing ($2)&amp;lt;/span&amp;gt;$3&#039;, {&lt;br /&gt;
					message_prefix,&lt;br /&gt;
					substitute (&#039;[[Template:$1|help]]&#039;, template_name),&lt;br /&gt;
					no_cat and &#039;&#039; or substitute (&#039;[[Category:Pages with $1 errors]]&#039;, template_name:upper())&lt;br /&gt;
					}));&lt;br /&gt;
		end&lt;br /&gt;
		params_t[i] = nil;														-- unset these as no longer needed&lt;br /&gt;
		params_t.id = nil;&lt;br /&gt;
&lt;br /&gt;
		local DoiBroken = params_t[&#039;doi-broken-date&#039;];							-- {{doi}} only&lt;br /&gt;
		local Embargo = params_t[&#039;pmc-embargo-date&#039;];							-- {{pmc}} only&lt;br /&gt;
		local Class = params_t[&#039;class&#039;];										-- {{arxiv}} only&lt;br /&gt;
		local AsinTLD = params_t[&#039;asin-tld&#039;];									-- {{asin}} only&lt;br /&gt;
&lt;br /&gt;
		ID_list_t, ID_list_coins_t = identifiers.identifier_lists_get (params_t, {DoiBroken = DoiBroken, Embargo = Embargo, Class = Class, ASINTLD = AsinTLD}, {});	-- {} is a placeholder for unused ID_support{}&lt;br /&gt;
		rendered_id = ID_list_t[1];&lt;br /&gt;
&lt;br /&gt;
		if utilities.z.error_msgs_t[1] then										-- only one error message considered&lt;br /&gt;
			rendered_id = substitute (&#039;$1 $2&#039;, {&lt;br /&gt;
				rendered_id,&lt;br /&gt;
				err_message_convert (message_prefix, utilities.z.error_msgs_t[1], template_name, no_cat),&lt;br /&gt;
				});&lt;br /&gt;
			&lt;br /&gt;
		elseif utilities.z.maint_cats_t[1] then									-- only one maint message considered per rendering&lt;br /&gt;
			rendered_id = substitute (&#039;$1 $2&#039;, {&lt;br /&gt;
				rendered_id,&lt;br /&gt;
				maint_message_convert (message_prefix, utilities.z.maint_cats_t[1], template_name, no_cat),&lt;br /&gt;
				});&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		utilities.z.error_msgs_t = {};											-- reset these&lt;br /&gt;
		utilities.z.maint_cats_t = {};&lt;br /&gt;
		&lt;br /&gt;
		if (1 ~= i) or ((1 == i) and (&#039;yes&#039; == args_t.plainlink)) then			-- no label for 2nd... identifiers; when |plainlink=yes then no label for first identifier; &lt;br /&gt;
			local separator = cfg.id_handlers[template_name:upper()].separator;	-- get the identifier label separator&lt;br /&gt;
			rendered_id = rendered_id:gsub (&#039;^%[%[.-|.-%]%]&#039;, &#039;&#039;);				-- strip cs1-supplied label&lt;br /&gt;
			rendered_id = rendered_id:gsub (&#039;^&#039; .. separator, &#039;&#039;);				-- and strip the label separator&lt;br /&gt;
		elseif 1 == i then														-- here for first identifier; |plainlink= not set&lt;br /&gt;
			if &#039;no&#039; == args_t.link then											-- |link=no then do not link identifier label&lt;br /&gt;
				rendered_id = rendered_id:gsub (&#039;^%[%[.-|(.-)%]%]&#039;, &#039;%1&#039;);		-- strip wikilink markup from cs1-supplied label&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert (rendered_ids_t, rendered_id);								-- save the rendered identifier&lt;br /&gt;
		&lt;br /&gt;
		i = i + 1;																-- bump the indexer&lt;br /&gt;
		until not (args_t[i] or args_t[&#039;id&#039; .. i]);								-- end of repeat loop&lt;br /&gt;
&lt;br /&gt;
	local list_separator = &#039;, &#039;;												-- identifier separator for a list of identifiers&lt;br /&gt;
	local leadout = args_t.leadout and mw.ustring.gsub (args_t.leadout, &#039;^(%a.*)&#039;, &#039; %1 &#039;) or nil;	-- insert leading space if first character is a letter; add trailing space&lt;br /&gt;
&lt;br /&gt;
	if leadout then																-- extra text goes between last two identifiers in the list&lt;br /&gt;
		return render_final (mw.text.listToText (rendered_ids_t, list_separator, leadout));	-- make a list, add templatestyles, and done&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return render_final (table.concat (rendered_ids_t, list_separator));		-- make a list, add templatestyles, and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A I N &amp;gt;----------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point from an invoke&lt;br /&gt;
&lt;br /&gt;
	{{#invoke:CS1 identifiers|main|_template=&amp;lt;identifier name&amp;gt;}}&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function main (frame)&lt;br /&gt;
	Frame = frame;																-- make a copy for rendering final output&lt;br /&gt;
	local args_t = get_args (frame);											-- extract the arguments&lt;br /&gt;
&lt;br /&gt;
	return _main (args_t);														-- render the identifier and done&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;----------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	main = main,																-- entry point from an invoke (in a template usually)&lt;br /&gt;
	&lt;br /&gt;
	_main = _main																-- entry point when called from another module&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module_talk:Citation/CS1/Configuration&amp;diff=343</id>
		<title>Module talk:Citation/CS1/Configuration</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module_talk:Citation/CS1/Configuration&amp;diff=343"/>
		<updated>2025-10-11T03:11:20Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Help talk:Citation Style 1]]&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Configuration/doc&amp;diff=341</id>
		<title>Module:Citation/CS1/Configuration/doc</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Configuration/doc&amp;diff=341"/>
		<updated>2025-10-11T03:11:20Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#lst:Module:Citation/CS1/doc|header}}&lt;br /&gt;
This configuration file contains various data that controls the functioning of [[Module:Citation/CS1]] and hence the way that Lua-based citations are generated.&lt;br /&gt;
&lt;br /&gt;
It has several sections among which are:&lt;br /&gt;
# translation tables that contain most of the literal strings that may be included in Lua-based citation.  If editors are copying this Module to another wiki using a language other than English, then they should translate each of these values into that language.&lt;br /&gt;
# a list of error conditions specifying what text to display, what category to include (if any), and what help page section to refer to when errors are detected&lt;br /&gt;
# a list of ID handlers specifying the recognized document IDs, such as ISBN, DOI, etc., and how to format them.&lt;br /&gt;
&lt;br /&gt;
{{#lst:Module:Citation/CS1/doc|module_components_table}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#ifeq:{{SUBPAGENAME}}|sandbox | |&lt;br /&gt;
&amp;lt;!-- Categories below this line, please; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules that check for strip markers]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
[[Category:Module documentation pages]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Configuration&amp;diff=339</id>
		<title>Module:Citation/CS1/Configuration</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/Configuration&amp;diff=339"/>
		<updated>2025-10-11T03:11:20Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local lang_obj = mw.language.getContentLanguage();								-- make a language object for the local language; used here for languages and dates &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S E T T I N G S &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
boolean settings used to control various things.  these setting located here to make them easy to find&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
																				-- these settings local to this module only&lt;br /&gt;
local local_digits_from_mediawiki = false;										-- for i18n; when true, module fills date_names[&#039;local_digits&#039;] from MediaWiki; manual fill required else; always false at en.wiki&lt;br /&gt;
local local_date_names_from_mediawiki = false;									-- for i18n; when true, module fills date_names[&#039;local&#039;][&#039;long&#039;] and date_names[&#039;local&#039;][&#039;short&#039;] from MediaWiki;&lt;br /&gt;
																				-- manual translation required else; ; always false at en.wiki&lt;br /&gt;
&lt;br /&gt;
																				-- these settings exported to other modules&lt;br /&gt;
local use_identifier_redirects = true;											-- when true use redirect name for identifier label links; always true at en.wiki&lt;br /&gt;
local local_lang_cat_enable = false;											-- when true categorizes pages where |language=&amp;lt;local wiki&#039;s language&amp;gt;; always false at en.wiki&lt;br /&gt;
local date_name_auto_xlate_enable = false;										-- when true translates English month-names to the local-wiki&#039;s language month names; always false at en.wiki&lt;br /&gt;
local date_digit_auto_xlate_enable = false;										-- when true translates Western date digit to the local-wiki&#039;s language digits (date_names[&#039;local_digits&#039;]); always false at en.wiki&lt;br /&gt;
local enable_sort_keys = true;													-- when true module adds namespace sort keys to error and maintenance category links&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; U N C A T E G O R I Z E D _ N A M E S P A C E S &amp;gt;------------------------------&lt;br /&gt;
&lt;br /&gt;
List of namespaces identifiers for namespaces that will not be included in citation error categories.&lt;br /&gt;
Same as setting notracking = true by default.&lt;br /&gt;
&lt;br /&gt;
For wikis that have a current version of Module:cs1 documentation support, this #invoke will return an unordered&lt;br /&gt;
list of namespace names and their associated identifiers:&lt;br /&gt;
	{{#invoke:cs1 documentation support|uncategorized_namespace_lister|all=&amp;lt;anything&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local uncategorized_namespaces_t = {[2]=true};										-- init with user namespace id&lt;br /&gt;
for k, _ in pairs (mw.site.talkNamespaces) do									-- add all talk namespace ids&lt;br /&gt;
	uncategorized_namespaces_t[k] = true;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local uncategorized_subpages = {&#039;/[Ss]andbox&#039;, &#039;/[Tt]estcases&#039;, &#039;/[^/]*[Ll]og&#039;, &#039;/[Aa]rchive&#039;};		-- list of Lua patterns found in page names of pages we should not categorize&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
at en.wiki Greek characters are used as sort keys for certain items in a category so that those items are&lt;br /&gt;
placed at the end of a category page.  See Wikipedia:Categorization#Sort_keys.  That works well for en.wiki&lt;br /&gt;
because English is written using the Latn script.  This may not work well for other languages.  At en.wiki it&lt;br /&gt;
is desireable to place content from certain namespaces at the end of a category listing so the module adds sort&lt;br /&gt;
keys to error and maintenance category links when rendering a cs1|2 template on a page in that namespace.&lt;br /&gt;
&lt;br /&gt;
i18n: if this does not work well for your language, set &amp;lt;enable_sort_keys&amp;gt; to false.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local name_space_sort_keys = {													-- sort keys to be used with these namespaces:&lt;br /&gt;
	[4] = &#039;ω&#039;,																	-- wikipedia; omega&lt;br /&gt;
	[10] = &#039;τ&#039;,																	-- template; tau&lt;br /&gt;
	[118] = &#039;Δ&#039;, 																-- draft; delta&lt;br /&gt;
	[&#039;other&#039;] = &#039;ο&#039;,															-- all other non-talk namespaces except main (article); omicron&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M E S S A G E S &amp;gt;--------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Translation table&lt;br /&gt;
&lt;br /&gt;
The following contains fixed text that may be output as part of a citation.&lt;br /&gt;
This is separated from the main body to aid in future translations of this&lt;br /&gt;
module.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local messages = {&lt;br /&gt;
	[&#039;agency&#039;] = &#039;$1 $2&#039;,														-- $1 is sepc, $2 is agency&lt;br /&gt;
	[&#039;archived-dead&#039;] = &#039;Archived from $1 on $2&#039;,&lt;br /&gt;
	[&#039;archived-live&#039;] = &#039;$1 from the original on $2&#039;,&lt;br /&gt;
	[&#039;archived-unfit&#039;] = &#039;Archived from the original on &#039;,&lt;br /&gt;
	[&#039;archived&#039;] = &#039;Archived&#039;,&lt;br /&gt;
	[&#039;by&#039;] = &#039;By&#039;,																-- contributions to authored works: introduction, foreword, afterword&lt;br /&gt;
	[&#039;cartography&#039;] = &#039;Cartography by $1&#039;,&lt;br /&gt;
	[&#039;editor&#039;] = &#039;ed.&#039;,&lt;br /&gt;
	[&#039;editors&#039;] = &#039;eds.&#039;,&lt;br /&gt;
	[&#039;edition&#039;] = &#039;($1&amp;amp;nbsp;ed.)&#039;,&lt;br /&gt;
	[&#039;episode&#039;] = &#039;Episode $1&#039;,&lt;br /&gt;
	[&#039;et al&#039;] = &#039;et&amp;amp;nbsp;al.&#039;,&lt;br /&gt;
	[&#039;in&#039;] = &#039;In&#039;,																-- edited works&lt;br /&gt;
	[&#039;inactive&#039;] = &#039;inactive&#039;,&lt;br /&gt;
	[&#039;inset&#039;] = &#039;$1 inset&#039;,&lt;br /&gt;
	[&#039;interview&#039;] = &#039;Interviewed by $1&#039;,										&lt;br /&gt;
	[&#039;mismatch&#039;] = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; / &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt; mismatch&#039;,	-- $1 is year param name; $2 is date param name&lt;br /&gt;
	[&#039;newsgroup&#039;] = &#039;[[Usenet newsgroup|Newsgroup]]:&amp;amp;nbsp;$1&#039;,&lt;br /&gt;
	[&#039;notitle&#039;] = &#039;No title&#039;,													-- for |title=(()) and (in the future) |title=none&lt;br /&gt;
	[&#039;original&#039;] = &#039;the original&#039;,&lt;br /&gt;
	[&#039;origdate&#039;] = &#039; [$1]&#039;,&lt;br /&gt;
	[&#039;published&#039;] = &#039; (published $1)&#039;,&lt;br /&gt;
	[&#039;retrieved&#039;] = &#039;Retrieved $1&#039;,&lt;br /&gt;
	[&#039;season&#039;] = &#039;Season $1&#039;,&lt;br /&gt;
	[&#039;section&#039;] = &#039;§&amp;amp;nbsp;$1&#039;,&lt;br /&gt;
	[&#039;sections&#039;] = &#039;§§&amp;amp;nbsp;$1&#039;,&lt;br /&gt;
	[&#039;series&#039;] = &#039;$1 $2&#039;,														-- $1 is sepc, $2 is series&lt;br /&gt;
	[&#039;seriesnum&#039;] = &#039;Series $1&#039;,&lt;br /&gt;
	[&#039;translated&#039;] = &#039;Translated by $1&#039;,&lt;br /&gt;
	[&#039;type&#039;] = &#039; ($1)&#039;,															-- for titletype&lt;br /&gt;
	[&#039;written&#039;] = &#039;Written at $1&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;vol&#039;] = &#039;$1 Vol.&amp;amp;nbsp;$2&#039;,												-- $1 is sepc; bold journal style volume is in presentation{}&lt;br /&gt;
	[&#039;vol-no&#039;] = &#039;$1 Vol.&amp;amp;nbsp;$2, no.&amp;amp;nbsp;$3&#039;,								-- sepc, volume, issue (alternatively insert $1 after $2, but then we&#039;d also have to change capitalization)&lt;br /&gt;
	[&#039;issue&#039;] = &#039;$1 No.&amp;amp;nbsp;$2&#039;,												-- $1 is sepc&lt;br /&gt;
&lt;br /&gt;
	[&#039;art&#039;] = &#039;$1 Art.&amp;amp;nbsp;$2&#039;,												-- $1 is sepc; for {{cite conference}} only&lt;br /&gt;
	[&#039;vol-art&#039;] = &#039;$1 Vol.&amp;amp;nbsp;$2, art.&amp;amp;nbsp;$3&#039;,								-- sepc, volume, article-number; for {{cite conference}} only&lt;br /&gt;
&lt;br /&gt;
	[&#039;j-vol&#039;] = &#039;$1 $2&#039;,														-- sepc, volume; bold journal volume is in presentation{}&lt;br /&gt;
	[&#039;j-issue&#039;] = &#039; ($1)&#039;,&lt;br /&gt;
	[&#039;j-article-num&#039;] = &#039; $1&#039;,													-- TODO: any punctuation here? static text?&lt;br /&gt;
&lt;br /&gt;
	[&#039;nopp&#039;] = &#039;$1 $2&#039;;															-- page(s) without prefix; $1 is sepc&lt;br /&gt;
&lt;br /&gt;
	[&#039;p-prefix&#039;] = &amp;quot;$1 p.&amp;amp;nbsp;$2&amp;quot;,												-- $1 is sepc&lt;br /&gt;
	[&#039;pp-prefix&#039;] = &amp;quot;$1 pp.&amp;amp;nbsp;$2&amp;quot;,											-- $1 is sepc&lt;br /&gt;
	[&#039;j-page(s)&#039;] = &#039;: $1&#039;,														-- same for page and pages&lt;br /&gt;
&lt;br /&gt;
	[&#039;sheet&#039;] = &#039;$1 Sheet&amp;amp;nbsp;$2&#039;,												-- $1 is sepc&lt;br /&gt;
	[&#039;sheets&#039;] = &#039;$1 Sheets&amp;amp;nbsp;$2&#039;,											-- $1 is sepc&lt;br /&gt;
	[&#039;j-sheet&#039;] = &#039;: Sheet&amp;amp;nbsp;$1&#039;,&lt;br /&gt;
	[&#039;j-sheets&#039;] = &#039;: Sheets&amp;amp;nbsp;$1&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;language&#039;] = &#039;(in $1)&#039;,&lt;br /&gt;
	[&#039;via&#039;] = &amp;quot; &amp;amp;ndash; via $1&amp;quot;,&lt;br /&gt;
	[&#039;event&#039;] = &#039;Event occurs at&#039;,&lt;br /&gt;
	[&#039;minutes&#039;] = &#039;minutes in&#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- Determines the location of the help page&lt;br /&gt;
	[&#039;help page link&#039;] = &#039;Help:CS1 errors&#039;,&lt;br /&gt;
	[&#039;help page label&#039;] = &#039;help&#039;,&lt;br /&gt;
	&lt;br /&gt;
	-- categories&lt;br /&gt;
	[&#039;cat wikilink&#039;] = &#039;[[Category:$1]]&#039;,										-- $1 is the category name&lt;br /&gt;
	[&#039;cat wikilink sk&#039;] = &#039;[[Category:$1|$2]]&#039;,									-- $1 is the category name; $2 is namespace sort key&lt;br /&gt;
	[&#039;:cat wikilink&#039;] = &#039;[[:Category:$1|link]]&#039;,								-- category name as maintenance message wikilink; $1 is the category name&lt;br /&gt;
&lt;br /&gt;
	-- Internal errors (should only occur if configuration is bad)&lt;br /&gt;
	[&#039;undefined_error&#039;] = &#039;Called with an undefined error condition&#039;,&lt;br /&gt;
	[&#039;unknown_ID_key&#039;] = &#039;Unrecognized ID key: &#039;,								-- an ID key in id_handlers not found in ~/Identifiers func_map{}&lt;br /&gt;
	[&#039;unknown_ID_access&#039;] = &#039;Unrecognized ID access keyword: &#039;,					-- an ID access keyword in id_handlers not found in keywords_lists[&#039;id-access&#039;]{}&lt;br /&gt;
	[&#039;unknown_argument_map&#039;] = &#039;Argument map not defined for this variable&#039;,&lt;br /&gt;
	[&#039;bare_url_no_origin&#039;] = &#039;Bare URL found but origin indicator is nil or empty&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;warning_msg_e&#039;] = &#039;&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;One or more &amp;lt;code style=&amp;quot;color: inherit; background: inherit; border: none; padding: inherit;&amp;quot;&amp;gt;&amp;amp;#123;{$1}}&amp;lt;/code&amp;gt; templates have errors&amp;lt;/span&amp;gt;; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).&#039;;	-- $1 is template link&lt;br /&gt;
	[&#039;warning_msg_m&#039;] = &#039;&amp;lt;span style=&amp;quot;color:#085&amp;quot;&amp;gt;One or more &amp;lt;code style=&amp;quot;color: inherit; background: inherit; border: none; padding: inherit;&amp;quot;&amp;gt;&amp;amp;#123;{$1}}&amp;lt;/code&amp;gt; templates have maintenance messages&amp;lt;/span&amp;gt;; messages may be hidden ([[Help:CS1_errors#Controlling_error_message_display|help]]).&#039;;	-- $1 is template link&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C I T A T I O N _ C L A S S _ M A P &amp;gt;------------------------------------------&lt;br /&gt;
&lt;br /&gt;
this table maps the value assigned to |CitationClass= in the cs1|2 templates to the canonical template name when&lt;br /&gt;
the value assigned to |CitationClass= is different from the canonical template name.  |CitationClass= values are&lt;br /&gt;
used as class attributes in the &amp;lt;cite&amp;gt; tag that encloses the citation so these names may not contain spaces while&lt;br /&gt;
the canonical template name may.  These names are used in warning_msg_e and warning_msg_m to create links to the&lt;br /&gt;
template&#039;s documentation when an article is displayed in preview mode.&lt;br /&gt;
&lt;br /&gt;
Most cs1|2 template |CitationClass= values at en.wiki match their canonical template names so are not listed here.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
	local citation_class_map_t = {												-- TODO: if kept, these and all other config.CitationClass &#039;names&#039; require some sort of i18n&lt;br /&gt;
		[&#039;arxiv&#039;] = &#039;arXiv&#039;,&lt;br /&gt;
		[&#039;audio-visual&#039;] = &#039;AV media&#039;,&lt;br /&gt;
		[&#039;AV-media-notes&#039;] = &#039;AV media notes&#039;,&lt;br /&gt;
		[&#039;biorxiv&#039;] = &#039;bioRxiv&#039;,&lt;br /&gt;
		[&#039;citeseerx&#039;] = &#039;CiteSeerX&#039;,&lt;br /&gt;
		[&#039;encyclopaedia&#039;] = &#039;encyclopedia&#039;,&lt;br /&gt;
		[&#039;mailinglist&#039;] = &#039;mailing list&#039;,&lt;br /&gt;
		[&#039;medrxiv&#039;] = &#039;medRxiv&#039;,&lt;br /&gt;
		[&#039;pressrelease&#039;] = &#039;press release&#039;,&lt;br /&gt;
		[&#039;ssrn&#039;] = &#039;SSRN&#039;,&lt;br /&gt;
		[&#039;techreport&#039;] = &#039;tech report&#039;,&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; E T _ A L _ P A T T E R N S &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
This table provides Lua patterns for the phrase &amp;quot;et al&amp;quot; and variants in name text&lt;br /&gt;
(author, editor, etc.). The main module uses these to identify and emit the &#039;etal&#039; message.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local et_al_patterns = {&lt;br /&gt;
	&amp;quot;[;,]? *[\&amp;quot;&#039;]*%f[%a][Ee][Tt]%.? *[Aa][Ll][%.;,\&amp;quot;&#039;]*$&amp;quot;,						-- variations on the &#039;et al&#039; theme&lt;br /&gt;
	&amp;quot;[;,]? *[\&amp;quot;&#039;]*%f[%a][Ee][Tt]%.? *[Aa][Ll][Ii][AaIi][Ee]?[%.;,\&amp;quot;&#039;]*$&amp;quot;,		-- variations on the &#039;et alia&#039;, &#039;et alii&#039; and &#039;et aliae&#039; themes (false positive &#039;et aliie&#039; unlikely to match)&lt;br /&gt;
	&amp;quot;[;,]? *%f[%a]and [Oo]thers&amp;quot;,												-- an alternative to et al.&lt;br /&gt;
	&amp;quot;%[%[ *[Ee][Tt]%.? *[Aa][Ll]%.? *%]%]&amp;quot;,										-- a wikilinked form&lt;br /&gt;
	&amp;quot;%(%( *[Ee][Tt]%.? *[Aa][Ll]%.? *%)%)&amp;quot;,										-- a double-bracketed form (to counter partial removal of ((...)) syntax)&lt;br /&gt;
	&amp;quot;[%(%[] *[Ee][Tt]%.? *[Aa][Ll]%.? *[%)%]]&amp;quot;,									-- a bracketed form&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P R E S E N T A T I O N &amp;gt;------------------------&lt;br /&gt;
&lt;br /&gt;
Fixed presentation markup.  Originally part of citation_config.messages it has&lt;br /&gt;
been moved into its own, more semantically correct place.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local presentation = &lt;br /&gt;
	{&lt;br /&gt;
	-- .citation-comment class is specified at Help:CS1_errors#Controlling_error_message_display&lt;br /&gt;
	[&#039;hidden-error&#039;] = &#039;&amp;lt;span class=&amp;quot;cs1-hidden-error citation-comment&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	[&#039;visible-error&#039;] = &#039;&amp;lt;span class=&amp;quot;cs1-visible-error citation-comment&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	[&#039;hidden-maint&#039;] = &#039;&amp;lt;span class=&amp;quot;cs1-maint citation-comment&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;accessdate&#039;] = &#039;&amp;lt;span class=&amp;quot;reference-accessdate&amp;quot;&amp;gt;$1$2&amp;lt;/span&amp;gt;&#039;,			-- to allow editors to hide accessdate using personal CSS&lt;br /&gt;
&lt;br /&gt;
	[&#039;bdi&#039;] = &#039;&amp;lt;bdi$1&amp;gt;$2&amp;lt;/bdi&amp;gt;&#039;,												-- bidirectional isolation used with |script-title= and the like&lt;br /&gt;
&lt;br /&gt;
	[&#039;cite&#039;] = &#039;&amp;lt;cite class=&amp;quot;$1&amp;quot;&amp;gt;$2&amp;lt;/cite&amp;gt;&#039;;									-- for use when citation does not have a namelist and |ref= not set so no id=&amp;quot;...&amp;quot; attribute&lt;br /&gt;
	[&#039;cite-id&#039;] = &#039;&amp;lt;cite id=&amp;quot;$1&amp;quot; class=&amp;quot;$2&amp;quot;&amp;gt;$3&amp;lt;/cite&amp;gt;&#039;;							-- for use when when |ref= is set or when citation has a namelist&lt;br /&gt;
&lt;br /&gt;
	[&#039;format&#039;] = &#039; &amp;lt;span class=&amp;quot;cs1-format&amp;quot;&amp;gt;($1)&amp;lt;/span&amp;gt;&#039;,						-- for |format=, |chapter-format=, etc.&lt;br /&gt;
	[&#039;interwiki&#039;] = &#039; &amp;lt;span class=&amp;quot;cs1-format&amp;quot;&amp;gt;[in $1]&amp;lt;/span&amp;gt;&#039;,					-- for interwiki-language-linked author, editor, etc&lt;br /&gt;
	[&#039;interproj&#039;] = &#039; &amp;lt;span class=&amp;quot;cs1-format&amp;quot;&amp;gt;[at $1]&amp;lt;/span&amp;gt;&#039;,					-- for interwiki-project-linked author, editor, etc (:d: and :s: supported; :w: ignored)&lt;br /&gt;
&lt;br /&gt;
	-- various access levels, for |access=, |doi-access=, |arxiv=, ...&lt;br /&gt;
	-- narrow no-break space &amp;amp;#8239; may work better than nowrap CSS. Or not? Browser support?&lt;br /&gt;
&lt;br /&gt;
	[&#039;ext-link-access-signal&#039;] = &#039;&amp;lt;span class=&amp;quot;$1&amp;quot; title=&amp;quot;$2&amp;quot;&amp;gt;$3&amp;lt;/span&amp;gt;&#039;,		-- external link with appropriate lock icon&lt;br /&gt;
		[&#039;free&#039;] = {class=&#039;id-lock-free&#039;, title=&#039;Freely accessible&#039;},			-- classes defined in Module:Citation/CS1/styles.css&lt;br /&gt;
		[&#039;registration&#039;] = {class=&#039;id-lock-registration&#039;, title=&#039;Free registration required&#039;},&lt;br /&gt;
		[&#039;limited&#039;] = {class=&#039;id-lock-limited&#039;, title=&#039;Free access subject to limited trial, subscription normally required&#039;},&lt;br /&gt;
		[&#039;subscription&#039;] = {class=&#039;id-lock-subscription&#039;, title=&#039;Paid subscription required&#039;},&lt;br /&gt;
&lt;br /&gt;
	[&#039;interwiki-icon&#039;] = &#039;&amp;lt;span class=&amp;quot;$1&amp;quot; title=&amp;quot;$2&amp;quot;&amp;gt;$3&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
		[&#039;class-wikisource&#039;] = &#039;cs1-ws-icon&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;italic-title&#039;] = &amp;quot;&#039;&#039;$1&#039;&#039;&amp;quot;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;kern-left&#039;] = &#039;&amp;lt;span class=&amp;quot;cs1-kern-left&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;$1&#039;,					-- spacing to use when title contains leading single or double quote mark&lt;br /&gt;
	[&#039;kern-right&#039;] = &#039;$1&amp;lt;span class=&amp;quot;cs1-kern-right&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;,					-- spacing to use when title contains trailing single or double quote mark&lt;br /&gt;
&lt;br /&gt;
	[&#039;nowrap1&#039;] = &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt;&#039;,								-- for nowrapping an item: &amp;lt;span ...&amp;gt;yyyy-mm-dd&amp;lt;/span&amp;gt;&lt;br /&gt;
	[&#039;nowrap2&#039;] = &#039;&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;$1&amp;lt;/span&amp;gt; $2&#039;,							-- for nowrapping portions of an item: &amp;lt;span ...&amp;gt;dd mmmm&amp;lt;/span&amp;gt; yyyy (note white space)&lt;br /&gt;
&lt;br /&gt;
	[&#039;ocins&#039;] = &#039;&amp;lt;span title=&amp;quot;$1&amp;quot; class=&amp;quot;Z3988&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;parameter&#039;] = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
	&lt;br /&gt;
	[&#039;ps_cs1&#039;] = &#039;.&#039;;															-- CS1 style postscript (terminal) character&lt;br /&gt;
	[&#039;ps_cs2&#039;] = &#039;&#039;;															-- CS2 style postscript (terminal) character (empty string)&lt;br /&gt;
&lt;br /&gt;
	[&#039;quoted-text&#039;] = &#039;&amp;lt;q&amp;gt;$1&amp;lt;/q&amp;gt;&#039;,												-- for wrapping |quote= content&lt;br /&gt;
	[&#039;quoted-title&#039;] = &#039;&amp;quot;$1&amp;quot;&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;sep_cs1&#039;] = &#039;.&#039;,															-- CS1 element separator&lt;br /&gt;
	[&#039;sep_cs2&#039;] = &#039;,&#039;,															-- CS2 separator&lt;br /&gt;
	[&#039;sep_nl&#039;] = &#039;;&#039;,															-- CS1|2 style name-list separator between names is a semicolon&lt;br /&gt;
	[&#039;sep_nl_and&#039;] = &#039; and &#039;,													-- used as last nl sep when |name-list-style=and and list has 2 items&lt;br /&gt;
	[&#039;sep_nl_end&#039;] = &#039;; and &#039;,													-- used as last nl sep when |name-list-style=and and list has 3+ names&lt;br /&gt;
	[&#039;sep_name&#039;] = &#039;, &#039;,														-- CS1|2 style last/first separator is &amp;lt;comma&amp;gt;&amp;lt;space&amp;gt;&lt;br /&gt;
	[&#039;sep_nl_vanc&#039;] = &#039;,&#039;,														-- Vancouver style name-list separator between authors is a comma&lt;br /&gt;
	[&#039;sep_name_vanc&#039;] = &#039; &#039;,													-- Vancouver style last/first separator is a space&lt;br /&gt;
&lt;br /&gt;
	[&#039;sep_list&#039;] = &#039;, &#039;,														-- used for |language= when list has 3+ items except for last sep which uses sep_list_end&lt;br /&gt;
	[&#039;sep_list_pair&#039;] = &#039; and &#039;,												-- used for |language= when list has 2 items&lt;br /&gt;
	[&#039;sep_list_end&#039;] = &#039;, and &#039;,												-- used as last list sep for |language= when list has 3+ items&lt;br /&gt;
	&lt;br /&gt;
	[&#039;trans-italic-title&#039;] = &amp;quot;&amp;amp;#91;&#039;&#039;$1&#039;&#039;&amp;amp;#93;&amp;quot;,&lt;br /&gt;
	[&#039;trans-quoted-title&#039;] = &amp;quot;&amp;amp;#91;$1&amp;amp;#93;&amp;quot;,									-- for |trans-title= and |trans-quote=&lt;br /&gt;
	[&#039;vol-bold&#039;] = &#039;$1 &amp;lt;b&amp;gt;$2&amp;lt;/b&amp;gt;&#039;,												-- sepc, volume; for bold journal cites; for other cites [&#039;vol&#039;] in messages{}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	&lt;br /&gt;
--[[--------------------------&amp;lt; A L I A S E S &amp;gt;---------------------------------&lt;br /&gt;
&lt;br /&gt;
Aliases table for commonly passed parameters.&lt;br /&gt;
&lt;br /&gt;
Parameter names on the right side in the assignments in this table must have been&lt;br /&gt;
defined in the Whitelist before they will be recognized as valid parameter names&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local aliases = {&lt;br /&gt;
	[&#039;AccessDate&#039;] = {&#039;access-date&#039;, &#039;accessdate&#039;},								-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Agency&#039;] = &#039;agency&#039;,&lt;br /&gt;
	[&#039;ArchiveDate&#039;] = {&#039;archive-date&#039;, &#039;archivedate&#039;},							-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;ArchiveFormat&#039;] = &#039;archive-format&#039;,&lt;br /&gt;
	[&#039;ArchiveURL&#039;] = {&#039;archive-url&#039;, &#039;archiveurl&#039;},								-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;ArticleNumber&#039;] = &#039;article-number&#039;,&lt;br /&gt;
	[&#039;ASINTLD&#039;] = &#039;asin-tld&#039;,&lt;br /&gt;
	[&#039;At&#039;] = &#039;at&#039;,																-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Authors&#039;] = {&#039;people&#039;, &#039;credits&#039;},&lt;br /&gt;
	[&#039;BookTitle&#039;] = {&#039;book-title&#039;, &#039;booktitle&#039;},&lt;br /&gt;
	[&#039;Cartography&#039;] = &#039;cartography&#039;,&lt;br /&gt;
	[&#039;Chapter&#039;] = {&#039;chapter&#039;, &#039;contribution&#039;, &#039;entry&#039;, &#039;article&#039;, &#039;section&#039;},&lt;br /&gt;
	[&#039;ChapterFormat&#039;] = {&#039;chapter-format&#039;, &#039;contribution-format&#039;, &#039;entry-format&#039;,&lt;br /&gt;
		&#039;article-format&#039;, &#039;section-format&#039;};&lt;br /&gt;
	[&#039;ChapterURL&#039;] = {&#039;chapter-url&#039;, &#039;contribution-url&#039;, &#039;entry-url&#039;, &#039;article-url&#039;, &#039;section-url&#039;},	-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;ChapterUrlAccess&#039;] = {&#039;chapter-url-access&#039;, &#039;contribution-url-access&#039;,&lt;br /&gt;
		&#039;entry-url-access&#039;, &#039;article-url-access&#039;, &#039;section-url-access&#039;},		-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Class&#039;] = &#039;class&#039;,														-- cite arxiv and arxiv identifier&lt;br /&gt;
	[&#039;Collaboration&#039;] = &#039;collaboration&#039;,&lt;br /&gt;
	[&#039;Conference&#039;] = {&#039;conference&#039;, &#039;event&#039;},&lt;br /&gt;
	[&#039;ConferenceFormat&#039;] = &#039;conference-format&#039;,&lt;br /&gt;
	[&#039;ConferenceURL&#039;] = &#039;conference-url&#039;,										-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Date&#039;] = {&#039;date&#039;, &#039;air-date&#039;, &#039;airdate&#039;},									-- air-date and airdate for cite episode and cite serial only&lt;br /&gt;
	[&#039;Degree&#039;] = &#039;degree&#039;,&lt;br /&gt;
	[&#039;DF&#039;] = &#039;df&#039;,&lt;br /&gt;
	[&#039;DisplayAuthors&#039;] = {&#039;display-authors&#039;, &#039;display-subjects&#039;},&lt;br /&gt;
	[&#039;DisplayContributors&#039;] = &#039;display-contributors&#039;,&lt;br /&gt;
	[&#039;DisplayEditors&#039;] = &#039;display-editors&#039;,&lt;br /&gt;
	[&#039;DisplayInterviewers&#039;] = &#039;display-interviewers&#039;,&lt;br /&gt;
	[&#039;DisplayTranslators&#039;] = &#039;display-translators&#039;,&lt;br /&gt;
	[&#039;Docket&#039;] = &#039;docket&#039;,&lt;br /&gt;
	[&#039;DoiBroken&#039;] = &#039;doi-broken-date&#039;,&lt;br /&gt;
	[&#039;Edition&#039;] = &#039;edition&#039;,&lt;br /&gt;
	[&#039;Embargo&#039;] = &#039;pmc-embargo-date&#039;,&lt;br /&gt;
	[&#039;Encyclopedia&#039;] = {&#039;encyclopedia&#039;, &#039;encyclopaedia&#039;, &#039;dictionary&#039;},			-- cite encyclopedia only&lt;br /&gt;
	[&#039;Episode&#039;] = &#039;episode&#039;,													-- cite serial only TODO: make available to cite episode?&lt;br /&gt;
	[&#039;Format&#039;] = &#039;format&#039;,&lt;br /&gt;
	[&#039;ID&#039;] = {&#039;id&#039;, &#039;ID&#039;},&lt;br /&gt;
	[&#039;Inset&#039;] = &#039;inset&#039;,&lt;br /&gt;
	[&#039;Issue&#039;] = {&#039;issue&#039;, &#039;number&#039;},&lt;br /&gt;
	[&#039;Language&#039;] = {&#039;language&#039;, &#039;lang&#039;},&lt;br /&gt;
	[&#039;MailingList&#039;] = {&#039;mailing-list&#039;, &#039;mailinglist&#039;},							-- cite mailing list only&lt;br /&gt;
	[&#039;Map&#039;] = &#039;map&#039;,															-- cite map only&lt;br /&gt;
	[&#039;MapFormat&#039;] = &#039;map-format&#039;,												-- cite map only&lt;br /&gt;
	[&#039;MapURL&#039;] = {&#039;map-url&#039;, &#039;mapurl&#039;},											-- cite map only -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;MapUrlAccess&#039;] = &#039;map-url-access&#039;,										-- cite map only -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Minutes&#039;] = &#039;minutes&#039;,&lt;br /&gt;
	[&#039;Mode&#039;] = &#039;mode&#039;,&lt;br /&gt;
	[&#039;NameListStyle&#039;] = &#039;name-list-style&#039;,&lt;br /&gt;
	[&#039;Network&#039;] = &#039;network&#039;,&lt;br /&gt;
	[&#039;Newsgroup&#039;] = &#039;newsgroup&#039;,												-- cite newsgroup only&lt;br /&gt;
	[&#039;NoPP&#039;] = {&#039;no-pp&#039;, &#039;nopp&#039;},&lt;br /&gt;
	[&#039;NoTracking&#039;] = {&#039;no-tracking&#039;, &#039;template-doc-demo&#039;},&lt;br /&gt;
	[&#039;Number&#039;] = &#039;number&#039;,														-- this case only for cite techreport&lt;br /&gt;
	[&#039;OrigDate&#039;] = {&#039;orig-date&#039;, &#039;orig-year&#039;, &#039;origyear&#039;},&lt;br /&gt;
	[&#039;Others&#039;] = &#039;others&#039;,&lt;br /&gt;
	[&#039;Page&#039;] = {&#039;page&#039;, &#039;p&#039;},													-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Pages&#039;] = {&#039;pages&#039;, &#039;pp&#039;},												-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Periodical&#039;] = {&#039;journal&#039;, &#039;magazine&#039;, &#039;newspaper&#039;, &#039;periodical&#039;, &#039;website&#039;, &#039;work&#039;},&lt;br /&gt;
	[&#039;Place&#039;] = {&#039;place&#039;, &#039;location&#039;},&lt;br /&gt;
	[&#039;PostScript&#039;] = &#039;postscript&#039;,&lt;br /&gt;
	[&#039;PublicationDate&#039;] = {&#039;publication-date&#039;, &#039;publicationdate&#039;},&lt;br /&gt;
	[&#039;PublicationPlace&#039;] = {&#039;publication-place&#039;, &#039;publicationplace&#039;},&lt;br /&gt;
	[&#039;PublisherName&#039;] = {&#039;publisher&#039;, &#039;institution&#039;},&lt;br /&gt;
	[&#039;Quote&#039;] = {&#039;quote&#039;, &#039;quotation&#039;},&lt;br /&gt;
	[&#039;QuotePage&#039;] = &#039;quote-page&#039;,&lt;br /&gt;
	[&#039;QuotePages&#039;] = &#039;quote-pages&#039;,&lt;br /&gt;
	[&#039;Ref&#039;] = &#039;ref&#039;,&lt;br /&gt;
	[&#039;Scale&#039;] = &#039;scale&#039;,&lt;br /&gt;
	[&#039;ScriptChapter&#039;] = {&#039;script-chapter&#039;, &#039;script-contribution&#039;, &#039;script-entry&#039;,&lt;br /&gt;
		&#039;script-article&#039;, &#039;script-section&#039;},&lt;br /&gt;
	[&#039;ScriptEncyclopedia&#039;] = {&#039;script-encyclopedia&#039;, &#039;script-encyclopaedia&#039;},	-- cite encyclopedia only&lt;br /&gt;
	[&#039;ScriptMap&#039;] = &#039;script-map&#039;,&lt;br /&gt;
	[&#039;ScriptPeriodical&#039;] = {&#039;script-journal&#039;, &#039;script-magazine&#039;, &#039;script-newspaper&#039;,&lt;br /&gt;
		&#039;script-periodical&#039;, &#039;script-website&#039;, &#039;script-work&#039;},&lt;br /&gt;
	[&#039;ScriptQuote&#039;] = &#039;script-quote&#039;,&lt;br /&gt;
	[&#039;ScriptTitle&#039;] = &#039;script-title&#039;,											-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Season&#039;] = &#039;season&#039;,&lt;br /&gt;
	[&#039;Sections&#039;] = &#039;sections&#039;,													-- cite map only&lt;br /&gt;
	[&#039;Series&#039;] = {&#039;series&#039;, &#039;version&#039;},&lt;br /&gt;
	[&#039;SeriesLink&#039;] = {&#039;series-link&#039;, &#039;serieslink&#039;},&lt;br /&gt;
	[&#039;SeriesNumber&#039;] = {&#039;series-number&#039;, &#039;series-no&#039;},&lt;br /&gt;
	[&#039;Sheet&#039;] = &#039;sheet&#039;,														-- cite map only&lt;br /&gt;
	[&#039;Sheets&#039;] = &#039;sheets&#039;,														-- cite map only&lt;br /&gt;
	[&#039;Station&#039;] = &#039;station&#039;,&lt;br /&gt;
	[&#039;Time&#039;] = &#039;time&#039;,&lt;br /&gt;
	[&#039;TimeCaption&#039;] = &#039;time-caption&#039;,&lt;br /&gt;
	[&#039;Title&#039;] = &#039;title&#039;,														-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;TitleLink&#039;] = {&#039;title-link&#039;, &#039;episode-link&#039;, &#039;episodelink&#039;},				-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;TitleNote&#039;] = {&#039;title-note&#039;, &#039;department&#039;},&lt;br /&gt;
	[&#039;TitleType&#039;] = {&#039;type&#039;, &#039;medium&#039;},&lt;br /&gt;
	[&#039;TransChapter&#039;] = {&#039;trans-article&#039;, &#039;trans-chapter&#039;, &#039;trans-contribution&#039;,&lt;br /&gt;
		&#039;trans-entry&#039;, &#039;trans-section&#039;},&lt;br /&gt;
	[&#039;Transcript&#039;] = &#039;transcript&#039;,&lt;br /&gt;
	[&#039;TranscriptFormat&#039;] = &#039;transcript-format&#039;,	&lt;br /&gt;
	[&#039;TranscriptURL&#039;] = &#039;transcript-url&#039;,										-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;TransEncyclopedia&#039;] = {&#039;trans-encyclopedia&#039;, &#039;trans-encyclopaedia&#039;},		-- cite encyclopedia only&lt;br /&gt;
	[&#039;TransMap&#039;] = &#039;trans-map&#039;,													-- cite map only&lt;br /&gt;
	[&#039;TransPeriodical&#039;] = {&#039;trans-journal&#039;, &#039;trans-magazine&#039;, &#039;trans-newspaper&#039;,&lt;br /&gt;
		&#039;trans-periodical&#039;, &#039;trans-website&#039;, &#039;trans-work&#039;},&lt;br /&gt;
	[&#039;TransQuote&#039;] = &#039;trans-quote&#039;,&lt;br /&gt;
	[&#039;TransTitle&#039;] = &#039;trans-title&#039;,												-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;URL&#039;] = {&#039;url&#039;, &#039;URL&#039;},													-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;UrlAccess&#039;] = &#039;url-access&#039;,												-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;UrlStatus&#039;] = &#039;url-status&#039;,												-- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;Vauthors&#039;] = &#039;vauthors&#039;,&lt;br /&gt;
	[&#039;Veditors&#039;] = &#039;veditors&#039;,&lt;br /&gt;
	[&#039;Via&#039;] = &#039;via&#039;,&lt;br /&gt;
	[&#039;Volume&#039;] = &#039;volume&#039;,&lt;br /&gt;
	[&#039;Year&#039;] = &#039;year&#039;,&lt;br /&gt;
&lt;br /&gt;
	[&#039;AuthorList-First&#039;] = {&amp;quot;first#&amp;quot;, &amp;quot;author-first#&amp;quot;, &amp;quot;author#-first&amp;quot;, &amp;quot;author-given#&amp;quot;, &amp;quot;author#-given&amp;quot;,&lt;br /&gt;
		&amp;quot;subject-first#&amp;quot;, &amp;quot;subject#-first&amp;quot;, &amp;quot;subject-given#&amp;quot;, &amp;quot;subject#-given&amp;quot;,&lt;br /&gt;
		&amp;quot;given#&amp;quot;},&lt;br /&gt;
	[&#039;AuthorList-Last&#039;] = {&amp;quot;last#&amp;quot;, &amp;quot;author-last#&amp;quot;, &amp;quot;author#-last&amp;quot;, &amp;quot;author-surname#&amp;quot;, &amp;quot;author#-surname&amp;quot;,&lt;br /&gt;
		&amp;quot;subject-last#&amp;quot;, &amp;quot;subject#-last&amp;quot;, &amp;quot;subject-surname#&amp;quot;, &amp;quot;subject#-surname&amp;quot;,&lt;br /&gt;
		&amp;quot;author#&amp;quot;, &#039;host#&#039;, &amp;quot;subject#&amp;quot;, &amp;quot;surname#&amp;quot;},&lt;br /&gt;
	[&#039;AuthorList-Link&#039;] = {&amp;quot;author-link#&amp;quot;, &amp;quot;author#-link&amp;quot;, &amp;quot;subject-link#&amp;quot;,&lt;br /&gt;
		&amp;quot;subject#-link&amp;quot;, &amp;quot;authorlink#&amp;quot;, &amp;quot;author#link&amp;quot;},&lt;br /&gt;
	[&#039;AuthorList-Mask&#039;] = {&amp;quot;author-mask#&amp;quot;, &amp;quot;author#-mask&amp;quot;, &amp;quot;subject-mask#&amp;quot;, &amp;quot;subject#-mask&amp;quot;},&lt;br /&gt;
&lt;br /&gt;
	[&#039;ContributorList-First&#039;] = {&#039;contributor-first#&#039;, &#039;contributor#-first&#039;,&lt;br /&gt;
		&#039;contributor-given#&#039;, &#039;contributor#-given&#039;},&lt;br /&gt;
	[&#039;ContributorList-Last&#039;] = {&#039;contributor-last#&#039;, &#039;contributor#-last&#039;,&lt;br /&gt;
		&#039;contributor-surname#&#039;, &#039;contributor#-surname&#039;, &#039;contributor#&#039;},&lt;br /&gt;
	[&#039;ContributorList-Link&#039;] = {&#039;contributor-link#&#039;, &#039;contributor#-link&#039;},&lt;br /&gt;
	[&#039;ContributorList-Mask&#039;] = {&#039;contributor-mask#&#039;, &#039;contributor#-mask&#039;},&lt;br /&gt;
&lt;br /&gt;
	[&#039;EditorList-First&#039;] = {&amp;quot;editor-first#&amp;quot;, &amp;quot;editor#-first&amp;quot;, &amp;quot;editor-given#&amp;quot;, &amp;quot;editor#-given&amp;quot;},&lt;br /&gt;
	[&#039;EditorList-Last&#039;] = {&amp;quot;editor-last#&amp;quot;, &amp;quot;editor#-last&amp;quot;, &amp;quot;editor-surname#&amp;quot;,&lt;br /&gt;
		&amp;quot;editor#-surname&amp;quot;, &amp;quot;editor#&amp;quot;},&lt;br /&gt;
	[&#039;EditorList-Link&#039;] = {&amp;quot;editor-link#&amp;quot;, &amp;quot;editor#-link&amp;quot;},&lt;br /&gt;
	[&#039;EditorList-Mask&#039;] = {&amp;quot;editor-mask#&amp;quot;, &amp;quot;editor#-mask&amp;quot;},&lt;br /&gt;
	&lt;br /&gt;
	[&#039;InterviewerList-First&#039;] = {&#039;interviewer-first#&#039;, &#039;interviewer#-first&#039;,&lt;br /&gt;
		&#039;interviewer-given#&#039;, &#039;interviewer#-given&#039;},&lt;br /&gt;
	[&#039;InterviewerList-Last&#039;] = {&#039;interviewer-last#&#039;, &#039;interviewer#-last&#039;,&lt;br /&gt;
		&#039;interviewer-surname#&#039;, &#039;interviewer#-surname&#039;, &#039;interviewer#&#039;},&lt;br /&gt;
	[&#039;InterviewerList-Link&#039;] = {&#039;interviewer-link#&#039;, &#039;interviewer#-link&#039;},&lt;br /&gt;
	[&#039;InterviewerList-Mask&#039;] = {&#039;interviewer-mask#&#039;, &#039;interviewer#-mask&#039;},&lt;br /&gt;
&lt;br /&gt;
	[&#039;TranslatorList-First&#039;] = {&#039;translator-first#&#039;, &#039;translator#-first&#039;,&lt;br /&gt;
		&#039;translator-given#&#039;, &#039;translator#-given&#039;},&lt;br /&gt;
	[&#039;TranslatorList-Last&#039;] = {&#039;translator-last#&#039;, &#039;translator#-last&#039;,&lt;br /&gt;
		&#039;translator-surname#&#039;, &#039;translator#-surname&#039;, &#039;translator#&#039;},&lt;br /&gt;
	[&#039;TranslatorList-Link&#039;] = {&#039;translator-link#&#039;, &#039;translator#-link&#039;},&lt;br /&gt;
	[&#039;TranslatorList-Mask&#039;] = {&#039;translator-mask#&#039;, &#039;translator#-mask&#039;},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; P U N C T _ S K I P &amp;gt;---------------------------&lt;br /&gt;
&lt;br /&gt;
builds a table of parameter names that the extraneous terminal punctuation check should not check.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local punct_meta_params = {														-- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value&lt;br /&gt;
	&#039;BookTitle&#039;, &#039;Chapter&#039;, &#039;ScriptChapter&#039;, &#039;ScriptTitle&#039;, &#039;Title&#039;, &#039;TransChapter&#039;, &#039;Transcript&#039;, &#039;TransMap&#039;,	&#039;TransTitle&#039;,	-- title-holding parameters&lt;br /&gt;
	&#039;AuthorList-Mask&#039;, &#039;ContributorList-Mask&#039;, &#039;EditorList-Mask&#039;, &#039;InterviewerList-Mask&#039;, &#039;TranslatorList-Mask&#039;,	-- name-list mask may have name separators&lt;br /&gt;
	&#039;PostScript&#039;, &#039;Quote&#039;, &#039;ScriptQuote&#039;, &#039;TransQuote&#039;, &#039;Ref&#039;,											-- miscellaneous&lt;br /&gt;
	&#039;ArchiveURL&#039;, &#039;ChapterURL&#039;, &#039;ConferenceURL&#039;, &#039;MapURL&#039;, &#039;TranscriptURL&#039;, &#039;URL&#039;,						-- URL-holding parameters&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local url_meta_params = {														-- table of aliases[] keys (meta parameters); each key has a table of parameter names for a value&lt;br /&gt;
	&#039;ArchiveURL&#039;, &#039;ChapterURL&#039;, &#039;ConferenceURL&#039;, &#039;ID&#039;, &#039;MapURL&#039;, &#039;TranscriptURL&#039;, &#039;URL&#039;,		-- parameters allowed to hold urls&lt;br /&gt;
	&#039;Page&#039;, &#039;Pages&#039;, &#039;At&#039;, &#039;QuotePage&#039;, &#039;QuotePages&#039;,							-- insource locators allowed to hold urls&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local function build_skip_table (skip_t, meta_params)&lt;br /&gt;
	for _, meta_param in ipairs (meta_params) do								-- for each meta parameter key&lt;br /&gt;
		local params = aliases[meta_param];										-- get the parameter or the table of parameters associated with the meta parameter name&lt;br /&gt;
		if &#039;string&#039; == type (params) then&lt;br /&gt;
			skip_t[params] = 1;													-- just a single parameter&lt;br /&gt;
		else&lt;br /&gt;
			for _, param in ipairs (params) do									-- get the parameter name&lt;br /&gt;
				skip_t[param] = 1;												-- add the parameter name to the skip table&lt;br /&gt;
				local count;&lt;br /&gt;
				param, count = param:gsub (&#039;#&#039;, &#039;&#039;);							-- remove enumerator marker from enumerated parameters&lt;br /&gt;
				if 0 ~= count then												-- if removed&lt;br /&gt;
					skip_t[param] = 1;											-- add param name without enumerator marker&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return skip_t;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local punct_skip = {};&lt;br /&gt;
local url_skip = {};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; U R L _ A C C E S S _ M A P &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
this table used by the wikipedia library url test, has_twl_url(), which automatically sets a url-access parameter&lt;br /&gt;
to &#039;subscription&#039; when it discovers a wikipedia library url in any of the url-holding paramters used as keys in&lt;br /&gt;
this table.&lt;br /&gt;
&lt;br /&gt;
translators:  if your wiki uses parameter names for these url-holding parameters and their matching -access parameters,&lt;br /&gt;
add your wiki&#039;s parameters to this list.  Leave the English parameters in place.&lt;br /&gt;
&lt;br /&gt;
TODO: is there a better way to do this?&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local url_access_map_t = {&lt;br /&gt;
	[&#039;chapter-url&#039;] = &#039;chapter-url-access&#039;,&lt;br /&gt;
	[&#039;contribution-url&#039;] = &#039;contribution-url-access&#039;,&lt;br /&gt;
	[&#039;entry-url&#039;] = &#039;entry-url-access&#039;,&lt;br /&gt;
	[&#039;article-url&#039;] = &#039;article-url-access&#039;,&lt;br /&gt;
	[&#039;section-url&#039;] = &#039;section-url-access&#039;,&lt;br /&gt;
	[&#039;map-url&#039;] = &#039;map-url-access&#039;,&lt;br /&gt;
	[&#039;mapurl&#039;] = &#039;map-url-access&#039;,&lt;br /&gt;
	[&#039;url&#039;] = &#039;url-access&#039;,&lt;br /&gt;
	[&#039;URL&#039;] = &#039;url-access&#039;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S I N G L E - L E T T E R   S E C O N D - L E V E L   D O M A I N S &amp;gt;----------&lt;br /&gt;
&lt;br /&gt;
this is a list of tlds that are known to have single-letter second-level domain names.  This list does not include&lt;br /&gt;
ccTLDs which are accepted in is_domain_name().&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local single_letter_2nd_lvl_domains_t = {&#039;cash&#039;, &#039;company&#039;, &#039;foundation&#039;, &#039;media&#039;, &#039;org&#039;, &#039;today&#039;};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[-----------&amp;lt; S P E C I A L   C A S E   T R A N S L A T I O N S &amp;gt;------------&lt;br /&gt;
&lt;br /&gt;
This table is primarily here to support internationalization.  Translations in&lt;br /&gt;
this table are used, for example, when an error message, category name, etc.,&lt;br /&gt;
is extracted from the English alias key.  There may be other cases where&lt;br /&gt;
this translation table may be useful.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
local is_Latn = &#039;A-Za-z\195\128-\195\150\195\152-\195\182\195\184-\198\191\199\132-\201\143\225\184\128-\225\187\191&#039;;&lt;br /&gt;
local special_case_translation = {&lt;br /&gt;
	[&#039;AuthorList&#039;] = &#039;authors list&#039;,											-- used to assemble maintenance category names&lt;br /&gt;
	[&#039;ContributorList&#039;] = &#039;contributors list&#039;,									-- translation of these names plus translation of the base maintenance category names in maint_cats{} table below&lt;br /&gt;
	[&#039;EditorList&#039;] = &#039;editors list&#039;,											-- must match the names of the actual categories&lt;br /&gt;
	[&#039;InterviewerList&#039;] = &#039;interviewers list&#039;,									-- this group or translations used by name_has_ed_markup() and name_has_mult_names()&lt;br /&gt;
	[&#039;TranslatorList&#039;] = &#039;translators list&#039;,&lt;br /&gt;
	&lt;br /&gt;
																				-- Lua patterns to match pseudo-titles used by InternetArchiveBot and others as placeholder for unknown |title= value&lt;br /&gt;
	[&#039;archived_copy&#039;] = {														-- used with CS1 maint: Archive[d] copy as title&lt;br /&gt;
		[&#039;en&#039;] = &#039;^archived?%s+copy$&#039;,											-- for English; translators: keep this because templates imported from en.wiki&lt;br /&gt;
		[&#039;local&#039;] = nil,														-- translators: replace [&#039;local&#039;] = nil with lowercase translation only when bots or tools create generic titles in your language&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
																				-- Lua patterns to match generic titles; usually created by bots or reference filling tools&lt;br /&gt;
																				-- translators: replace [&#039;local&#039;] = nil with lowercase translation only when bots or tools create generic titles in your language&lt;br /&gt;
		-- generic titles and patterns in this table should be lowercase only&lt;br /&gt;
		-- leave [&#039;local&#039;] nil except when there is a matching generic title in your language&lt;br /&gt;
		-- boolean &#039;true&#039; for plain-text searches; &#039;false&#039; for pattern searches&lt;br /&gt;
&lt;br /&gt;
	[&#039;generic_titles&#039;] = {&lt;br /&gt;
		[&#039;accept&#039;] = {&lt;br /&gt;
			},&lt;br /&gt;
		[&#039;reject&#039;] = {&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^wayback%s+machine$&#039;, false},				[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;are you a robot&#039;, true},					[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;hugedomains&#039;, true},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[%(%[{&amp;lt;]?no +title[&amp;gt;}%]%)]?$&#039;, false},		[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;page not found&#039;, true},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;subscribe to read&#039;, true},					[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[%(%[{&amp;lt;]?unknown[&amp;gt;}%]%)]?$&#039;, false},		[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;website is for sale&#039;, true},				[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^404&#039;, false},								[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;error[ %-]404&#039;, false},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;internet archive wayback machine&#039;, true},	[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;log into facebook&#039;, true},					[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;login • instagram&#039;, true},					[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;redirecting...&#039;, true},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;usurped title&#039;, true},						[&#039;local&#039;] = nil},	-- added by a GreenC bot&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;webcite query result&#039;, true},				[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;wikiwix\&#039;s cache&#039;, true},					[&#039;local&#039;] = nil},&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
		-- boolean &#039;true&#039; for plain-text searches, search string must be lowercase only&lt;br /&gt;
		-- boolean &#039;false&#039; for pattern searches&lt;br /&gt;
		-- leave [&#039;local&#039;] nil except when there is a matching generic name in your language&lt;br /&gt;
&lt;br /&gt;
	[&#039;generic_names&#039;] = {&lt;br /&gt;
		[&#039;accept&#039;] = {&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%[%[[^|]*%(author%) *|[^%]]*%]%]&#039;, false},				[&#039;local&#039;] = nil},&lt;br /&gt;
			},&lt;br /&gt;
		[&#039;reject&#039;] = {&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;about us&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%a][Aa]dvisor%f[%A]&#039;, false},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;allmusic&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%a][Aa]uthor%f[%A]&#039;, false},							[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Bb]ureau$&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;business&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;cnn&#039;, true},											[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;collaborator&#039;, true},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Cc]ompany$&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;contributor&#039;, true},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;contact us&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;correspondent&#039;, true},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Dd]esk$&#039;, false},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;directory&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%(%[][%(%[]%s*eds?%.?%s*[%)%]]?$&#039;, false},			[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;[,%.%s]%f[e]eds?%.?$&#039;, false},							[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^eds?[%.,;]&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[%(%[]%s*[Ee][Dd][Ss]?%.?%s*[%)%]]&#039;, false},			[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%a][Ee]dited%f[%A]&#039;, false},							[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%a][Ee]ditors?%f[%A]&#039;, false},						[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[%a][Ee]mail%f[%A]&#039;, false},							[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;facebook&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;google&#039;, true},											[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Gg]roup$&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;home page&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Ii]nc%.?$&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;instagram&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;interviewer&#039;, true},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Ll]imited$&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;linkedIn&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;^[Nn]ews$&#039;, false},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;[Nn]ews[ %-]?[Rr]oom&#039;, false},							[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;pinterest&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;policy&#039;, true},											[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;privacy&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;reuters&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;translator&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;tumblr&#039;, true},											[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;twitter&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;site name&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;statement&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;submitted&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;super.?user&#039;, false},									[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;%f[&#039;..is_Latn..&#039;][Uu]ser%f[^&#039;..is_Latn..&#039;]&#039;, false},	[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;updated&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			{[&#039;en&#039;] = {&#039;verfasser&#039;, true},										[&#039;local&#039;] = nil},&lt;br /&gt;
			}&lt;br /&gt;
	}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; D A T E _ N A M E S &amp;gt;----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
This table of tables lists local language date names and fallback English date names.&lt;br /&gt;
The code in Date_validation will look first in the local table for valid date names.&lt;br /&gt;
If date names are not found in the local table, the code will look in the English table.&lt;br /&gt;
&lt;br /&gt;
Because citations can be copied to the local wiki from en.wiki, the English is&lt;br /&gt;
required when the date-name translation function date_name_xlate() is used.&lt;br /&gt;
&lt;br /&gt;
In these tables, season numbering is defined by&lt;br /&gt;
Extended Date/Time Format (EDTF) Specification (https://www.loc.gov/standards/datetime/)&lt;br /&gt;
which became part of ISO 8601 in 2019.  See &#039;§Sub-year groupings&#039;. The standard&lt;br /&gt;
defines various divisions using numbers 21-41. CS1|2 only supports generic seasons.&lt;br /&gt;
EDTF does support the distinction between north and south hemisphere seasons&lt;br /&gt;
but CS1|2 has no way to make that distinction.&lt;br /&gt;
&lt;br /&gt;
33-36 = Quarter 1, Quarter 2, Quarter 3, Quarter 4 (3 months each)&lt;br /&gt;
&lt;br /&gt;
The standard does not address &#039;named&#039; dates so, for the purposes of CS1|2,&lt;br /&gt;
Easter and Christmas are defined here as 98 and 99, which should be out of the&lt;br /&gt;
ISO 8601 (EDTF) range of uses for a while.&lt;br /&gt;
&lt;br /&gt;
local_date_names_from_mediawiki is a boolean.  When set to:&lt;br /&gt;
	true – module will fetch local month names from MediaWiki for both date_names[&#039;local&#039;][&#039;long&#039;] and date_names[&#039;local&#039;][&#039;short&#039;]; this will unconditionally overwrite manual translations&lt;br /&gt;
	false – module will *not* fetch local month names from MediaWiki&lt;br /&gt;
&lt;br /&gt;
Caveat lector:  There is no guarantee that MediaWiki will provide short month names.  At your wiki you can test&lt;br /&gt;
the results of the MediaWiki fetch in the debug console with this command (the result is alpha sorted):&lt;br /&gt;
	=mw.dumpObject (p.date_names[&#039;local&#039;])&lt;br /&gt;
&lt;br /&gt;
While the module can fetch month names from MediaWiki, it cannot fetch the quarter, season, and named date names&lt;br /&gt;
from MediaWiki.  Those must be translated manually.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local local_date_names_from_mediawiki = true;									-- when false, manual translation required for date_names[&#039;local&#039;][&#039;long&#039;] and date_names[&#039;local&#039;][&#039;short&#039;]; overwrites manual translations&lt;br /&gt;
																				-- when true, module fetches long and short month names from MediaWiki&lt;br /&gt;
local date_names = {&lt;br /&gt;
	[&#039;en&#039;] = {																	-- English&lt;br /&gt;
		[&#039;long&#039;]	= {[&#039;January&#039;] = 1, [&#039;February&#039;] = 2, [&#039;March&#039;] = 3, [&#039;April&#039;] = 4, [&#039;May&#039;] = 5, [&#039;June&#039;] = 6, [&#039;July&#039;] = 7, [&#039;August&#039;] = 8, [&#039;September&#039;] = 9, [&#039;October&#039;] = 10, [&#039;November&#039;] = 11, [&#039;December&#039;] = 12},&lt;br /&gt;
		[&#039;short&#039;]	= {[&#039;Jan&#039;] = 1, [&#039;Feb&#039;] = 2, [&#039;Mar&#039;] = 3, [&#039;Apr&#039;] = 4, [&#039;May&#039;] = 5, [&#039;Jun&#039;] = 6, [&#039;Jul&#039;] = 7, [&#039;Aug&#039;] = 8, [&#039;Sep&#039;] = 9, [&#039;Oct&#039;] = 10, [&#039;Nov&#039;] = 11, [&#039;Dec&#039;] = 12},&lt;br /&gt;
		[&#039;quarter&#039;] = {[&#039;First Quarter&#039;] = 33, [&#039;Second Quarter&#039;] = 34, [&#039;Third Quarter&#039;] = 35, [&#039;Fourth Quarter&#039;] = 36},&lt;br /&gt;
		[&#039;season&#039;]	= {[&#039;Winter&#039;] = 24, [&#039;Spring&#039;] = 21, [&#039;Summer&#039;] = 22, [&#039;Fall&#039;] = 23, [&#039;Autumn&#039;] = 23},&lt;br /&gt;
		[&#039;named&#039;]	= {[&#039;Easter&#039;] = 98, [&#039;Christmas&#039;] = 99},&lt;br /&gt;
		},&lt;br /&gt;
																				-- when local_date_names_from_mediawiki = false&lt;br /&gt;
	[&#039;local&#039;] = {																-- replace these English date names with the local language equivalents&lt;br /&gt;
		[&#039;long&#039;]	= {[&#039;January&#039;] = 1, [&#039;February&#039;] = 2, [&#039;March&#039;] = 3, [&#039;April&#039;] = 4, [&#039;May&#039;] = 5, [&#039;June&#039;] = 6, [&#039;July&#039;] = 7, [&#039;August&#039;] = 8, [&#039;September&#039;] = 9, [&#039;October&#039;] = 10, [&#039;November&#039;] = 11, [&#039;December&#039;] = 12},&lt;br /&gt;
		[&#039;short&#039;]	= {[&#039;Jan&#039;] = 1, [&#039;Feb&#039;] = 2, [&#039;Mar&#039;] = 3, [&#039;Apr&#039;] = 4, [&#039;May&#039;] = 5, [&#039;Jun&#039;] = 6, [&#039;Jul&#039;] = 7, [&#039;Aug&#039;] = 8, [&#039;Sep&#039;] = 9, [&#039;Oct&#039;] = 10, [&#039;Nov&#039;] = 11, [&#039;Dec&#039;] = 12},&lt;br /&gt;
		[&#039;quarter&#039;] = {[&#039;First Quarter&#039;] = 33, [&#039;Second Quarter&#039;] = 34, [&#039;Third Quarter&#039;] = 35, [&#039;Fourth Quarter&#039;] = 36},&lt;br /&gt;
		[&#039;season&#039;]	= {[&#039;Winter&#039;] = 24, [&#039;Spring&#039;] = 21, [&#039;Summer&#039;] = 22, [&#039;Fall&#039;] = 23, [&#039;Autumn&#039;] = 23},&lt;br /&gt;
		[&#039;named&#039;]	= {[&#039;Easter&#039;] = 98, [&#039;Christmas&#039;] = 99},&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;inv_local_long&#039;] = {},													-- used in date reformatting &amp;amp; translation; copy of date_names[&#039;local&#039;].long where k/v are inverted: [1]=&#039;&amp;lt;local name&amp;gt;&#039; etc.&lt;br /&gt;
	[&#039;inv_local_short&#039;] = {},													-- used in date reformatting &amp;amp; translation; copy of date_names[&#039;local&#039;].short where k/v are inverted: [1]=&#039;&amp;lt;local name&amp;gt;&#039; etc.&lt;br /&gt;
	[&#039;inv_local_quarter&#039;] = {},													-- used in date translation; copy of date_names[&#039;local&#039;].quarter where k/v are inverted: [1]=&#039;&amp;lt;local name&amp;gt;&#039; etc.&lt;br /&gt;
	[&#039;inv_local_season&#039;] = {},													-- used in date translation; copy of date_names[&#039;local&#039;].season where k/v are inverted: [1]=&#039;&amp;lt;local name&amp;gt;&#039; etc.&lt;br /&gt;
	[&#039;inv_local_named&#039;] = {},													-- used in date translation; copy of date_names[&#039;local&#039;].named where k/v are inverted: [1]=&#039;&amp;lt;local name&amp;gt;&#039; etc.&lt;br /&gt;
	[&#039;local_digits&#039;] = {[&#039;0&#039;] = &#039;0&#039;, [&#039;1&#039;] = &#039;1&#039;, [&#039;2&#039;] = &#039;2&#039;, [&#039;3&#039;] = &#039;3&#039;, [&#039;4&#039;] = &#039;4&#039;, [&#039;5&#039;] = &#039;5&#039;, [&#039;6&#039;] = &#039;6&#039;, [&#039;7&#039;] = &#039;7&#039;, [&#039;8&#039;] = &#039;8&#039;, [&#039;9&#039;] = &#039;9&#039;},	-- used to convert local language digits to Western 0-9&lt;br /&gt;
	[&#039;xlate_digits&#039;] = {},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
if local_date_names_from_mediawiki then											-- if fetching local month names from MediaWiki is enabled&lt;br /&gt;
	local long_t = {};&lt;br /&gt;
	local short_t = {};&lt;br /&gt;
	for i=1, 12 do																-- loop 12x and &lt;br /&gt;
		local name = lang_obj:formatDate(&#039;F&#039;, &#039;2022-&#039; .. i .. &#039;-1&#039;);			-- get long month name for each i&lt;br /&gt;
		long_t[name] = i;														-- save it&lt;br /&gt;
		name = lang_obj:formatDate(&#039;M&#039;, &#039;2022-&#039; .. i .. &#039;-1&#039;);					-- get short month name for each i&lt;br /&gt;
		short_t[name] = i;														-- save it&lt;br /&gt;
	end&lt;br /&gt;
	date_names[&#039;local&#039;][&#039;long&#039;] = long_t;										-- write the long table – overwrites manual translation&lt;br /&gt;
	date_names[&#039;local&#039;][&#039;short&#039;] = short_t;										-- write the short table – overwrites manual translation&lt;br /&gt;
end&lt;br /&gt;
																				-- create inverted date-name tables for reformatting and/or translation&lt;br /&gt;
for _, invert_t in pairs {{&#039;long&#039;, &#039;inv_local_long&#039;}, {&#039;short&#039;, &#039;inv_local_short&#039;}, {&#039;quarter&#039;, &#039;inv_local_quarter&#039;}, {&#039;season&#039;, &#039;inv_local_season&#039;}, {&#039;named&#039;, &#039;inv_local_named&#039;}} do&lt;br /&gt;
	for name, i in pairs (date_names[&#039;local&#039;][invert_t[1]]) do					-- this table is [&#039;name&#039;] = i&lt;br /&gt;
		date_names[invert_t[2]][i] = name;										-- invert to get [i] = &#039;name&#039; for conversions from ymd&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if local_digits_from_mediawiki then												-- if fetching local digits from MediaWiki is enabled&lt;br /&gt;
	local digits_t = {};&lt;br /&gt;
	for i=0, 9 do																-- loop 10x and &lt;br /&gt;
		digits_t [lang_obj:formatNum (i)] = tostring (i);						-- format the loop indexer as local lang table index and assign loop indexer (a string) as the value&lt;br /&gt;
	end&lt;br /&gt;
	date_names[&#039;local_digits&#039;] = digits_t;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for ld, ed in pairs (date_names.local_digits) do								-- make a digit translation table for simple date translation from en to local language using local_digits table&lt;br /&gt;
	date_names.xlate_digits [ed] = ld;											-- en digit becomes index with local digit as the value&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local df_template_patterns = {													-- table of redirects to {{Use dmy dates}} and {{Use mdy dates}}&lt;br /&gt;
	&#039;{{ *[Uu]se +(dmy) +dates *[|}]&#039;,	-- 1159k								-- sorted by approximate transclusion count&lt;br /&gt;
	&#039;{{ *[Uu]se +(mdy) +dates *[|}]&#039;,	-- 212k&lt;br /&gt;
	&#039;{{ *[Uu]se +(MDY) +dates *[|}]&#039;,	-- 788&lt;br /&gt;
	&#039;{{ *[Uu]se +(DMY) +dates *[|}]&#039;,	-- 343&lt;br /&gt;
	&#039;{{ *([Mm]dy) *[|}]&#039;,				-- 176&lt;br /&gt;
	&#039;{{ *[Uu]se *(dmy) *[|}]&#039;,			-- 156 + 18&lt;br /&gt;
	&#039;{{ *[Uu]se *(mdy) *[|}]&#039;,			-- 149 + 11&lt;br /&gt;
	&#039;{{ *([Dd]my) *[|}]&#039;,				-- 56&lt;br /&gt;
	&#039;{{ *[Uu]se +(MDY) *[|}]&#039;,			-- 5&lt;br /&gt;
	&#039;{{ *([Dd]MY) *[|}]&#039;,				-- 3&lt;br /&gt;
	&#039;{{ *[Uu]se(mdy)dates *[|}]&#039;,		-- 1&lt;br /&gt;
	&#039;{{ *[Uu]se +(DMY) *[|}]&#039;,			-- 0&lt;br /&gt;
	&#039;{{ *([Mm]DY) *[|}]&#039;,				-- 0&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local title_object = mw.title.getCurrentTitle();&lt;br /&gt;
local content;																	-- done this way  so that unused templates appear in unused-template-reports; self-transcluded makes them look like they are used&lt;br /&gt;
if 10 ~= title_object.namespace then											-- all namespaces except Template&lt;br /&gt;
	content = title_object:getContent() or &#039;&#039;;									-- get the content of the article or &#039;&#039;; new pages edited w/ve do not have &#039;content&#039; until saved; ve does not preview; phab:T221625&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_date_format ()&lt;br /&gt;
	if not content then															-- nil content when we&#039;re in template&lt;br /&gt;
		return nil;																-- auto-formatting does not work in Template space so don&#039;t set global_df&lt;br /&gt;
	end&lt;br /&gt;
	for _, pattern in ipairs (df_template_patterns) do							-- loop through the patterns looking for {{Use dmy dates}} or {{Use mdy dates}} or any of their redirects&lt;br /&gt;
		local start, _, match = content:find(pattern);							-- match is the three letters indicating desired date format&lt;br /&gt;
		if match then&lt;br /&gt;
			local use_dates_template = content:match (&#039;%b{}&#039;, start);			-- get the whole template&lt;br /&gt;
			if use_dates_template:match (&#039;| *cs1%-dates *= *[lsy][sy]?&#039;) then	-- look for |cs1-dates=publication date length access-/archive-date length&lt;br /&gt;
				return match:lower() .. &#039;-&#039; .. use_dates_template:match (&#039;| *cs1%-dates *= *([lsy][sy]?)&#039;);&lt;br /&gt;
			else&lt;br /&gt;
				return match:lower() .. &#039;-all&#039;;									-- no |cs1-dates= k/v pair; return value appropriate for use in |df=&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local global_df;																-- TODO: add this to &amp;lt;global_cs1_config_t&amp;gt;?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[-----------------&amp;lt; V O L U M E ,  I S S U E ,  P A G E S &amp;gt;------------------&lt;br /&gt;
&lt;br /&gt;
These tables hold cite class values (from the template invocation) and identify those templates that support&lt;br /&gt;
|volume=, |issue=, and |page(s)= parameters.  Cite conference and cite map require further qualification which&lt;br /&gt;
is handled in the main module.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local templates_using_volume = {&#039;citation&#039;, &#039;audio-visual&#039;, &#039;book&#039;, &#039;conference&#039;, &#039;encyclopaedia&#039;, &#039;interview&#039;, &#039;journal&#039;, &#039;magazine&#039;, &#039;map&#039;, &#039;news&#039;, &#039;report&#039;, &#039;techreport&#039;, &#039;thesis&#039;}&lt;br /&gt;
local templates_using_issue = {&#039;citation&#039;, &#039;conference&#039;, &#039;episode&#039;, &#039;interview&#039;, &#039;journal&#039;, &#039;magazine&#039;, &#039;map&#039;, &#039;news&#039;, &#039;podcast&#039;}&lt;br /&gt;
local templates_not_using_page = {&#039;audio-visual&#039;, &#039;episode&#039;, &#039;mailinglist&#039;, &#039;newsgroup&#039;, &#039;podcast&#039;, &#039;serial&#039;, &#039;sign&#039;, &#039;speech&#039;}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
These tables control when it is appropriate for {{citation}} to render |volume= and/or |issue=.  The parameter&lt;br /&gt;
names in the tables constrain {{citation}} so that its renderings match the renderings of the equivalent cs1&lt;br /&gt;
templates.  For example, {{cite web}} does not support |volume= so the equivalent {{citation |website=...}} must&lt;br /&gt;
not support |volume=.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local citation_no_volume_t = {													-- {{citation}} does not render |volume= when these parameters are used&lt;br /&gt;
	&#039;website&#039;, &#039;mailinglist&#039;, &#039;script-website&#039;,&lt;br /&gt;
	}&lt;br /&gt;
local citation_issue_t = {														-- {{citation}} may render |issue= when these parameters are used&lt;br /&gt;
	&#039;journal&#039;, &#039;magazine&#039;, &#039;newspaper&#039;, &#039;periodical&#039;, &#039;work&#039;,&lt;br /&gt;
	&#039;script-journal&#039;, &#039;script-magazine&#039;, &#039;script-newspaper&#039;, &#039;script-periodical&#039;, &#039;script-work&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
Patterns for finding extra text in |volume=, |issue=, |page=, |pages=&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local vol_iss_pg_patterns = {&lt;br /&gt;
	good_ppattern = &#039;^P[^%.PpGg]&#039;,												-- OK to begin with uppercase P: P7 (page 7 of section P), but not p123 (page 123); TODO: this allows &#039;Pages&#039; which it should not&lt;br /&gt;
	bad_ppatterns = {															-- patterns for |page= and |pages=&lt;br /&gt;
		&#039;^[Pp][PpGg]?%.?[ %d]&#039;,&lt;br /&gt;
		&#039;^[Pp][Pp]?%.&amp;amp;nbsp;&#039;,													-- from {{p.}} and {{pp.}} templates&lt;br /&gt;
		&#039;^[Pp]ages?&#039;,&lt;br /&gt;
		&#039;^[Pp]gs.?&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	vi_patterns_t = {															-- combined to catch volume-like text in |issue= and issue-like text in |volume=&lt;br /&gt;
		&#039;^volumes?&#039;,															-- volume-like text&lt;br /&gt;
		&#039;^vols?[%.:=]?&#039;,&lt;br /&gt;
&lt;br /&gt;
		&#039;^issues?&#039;,																--issue-like text&lt;br /&gt;
		&#039;^iss[%.:=]?&#039;,&lt;br /&gt;
		&#039;^numbers?&#039;,&lt;br /&gt;
		&#039;^nos?%A&#039;,																-- don&#039;t match &#039;november&#039; or &#039;nostradamus&#039;&lt;br /&gt;
		&#039;^nr[%.:=]?&#039;,&lt;br /&gt;
		&#039;^n[%.:= ]&#039;,															-- might be a valid issue without separator (space char is sep char here)&lt;br /&gt;
		&#039;^n°&#039;,																	-- &#039;n&#039; with degree sign (U+00B0)&lt;br /&gt;
		&#039;^№&#039;,																	-- precomposed unicode numero character (U+2116)&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; K E Y W O R D S &amp;gt;-------------------------------&lt;br /&gt;
&lt;br /&gt;
These tables hold keywords for those parameters that have defined sets of acceptable keywords.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
--[[-------------------&amp;lt; K E Y W O R D S   T A B L E &amp;gt;--------------------------&lt;br /&gt;
&lt;br /&gt;
this is a list of keywords; each key in the list is associated with a table of&lt;br /&gt;
synonymous keywords possibly from different languages.&lt;br /&gt;
&lt;br /&gt;
for I18N: add local-language keywords to value table; do not change the key.&lt;br /&gt;
For example, adding the German keyword &#039;ja&#039;:&lt;br /&gt;
	[&#039;affirmative&#039;] = {&#039;yes&#039;, &#039;true&#039;, &#039;y&#039;, &#039;ja&#039;},&lt;br /&gt;
&lt;br /&gt;
Because CS1|2 templates from en.wiki articles are often copied to other local wikis,&lt;br /&gt;
it is recommended that the English keywords remain in these tables.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local keywords = {&lt;br /&gt;
	[&#039;amp&#039;] = {&#039;&amp;amp;&#039;, &#039;amp&#039;, &#039;ampersand&#039;}, 										-- |name-list-style=&lt;br /&gt;
	[&#039;and&#039;] = {&#039;and&#039;, &#039;serial&#039;},												-- |name-list-style=&lt;br /&gt;
	[&#039;affirmative&#039;] = {&#039;yes&#039;, &#039;true&#039;, &#039;y&#039;},										-- |no-tracking=, |no-pp= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;afterword&#039;] = {&#039;afterword&#039;},												-- |contribution=&lt;br /&gt;
	[&#039;bot: unknown&#039;] = {&#039;bot: unknown&#039;},										-- |url-status= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;cs1&#039;] = {&#039;cs1&#039;},															-- |mode=&lt;br /&gt;
	[&#039;cs2&#039;] = {&#039;cs2&#039;},															-- |mode=&lt;br /&gt;
	[&#039;dead&#039;] = {&#039;dead&#039;, &#039;deviated&#039;},											-- |url-status= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;dmy&#039;] = {&#039;dmy&#039;},															-- |df=&lt;br /&gt;
	[&#039;dmy-all&#039;] = {&#039;dmy-all&#039;},													-- |df=&lt;br /&gt;
	[&#039;foreword&#039;] = {&#039;foreword&#039;},												-- |contribution=&lt;br /&gt;
	[&#039;free&#039;] = {&#039;free&#039;},														-- |&amp;lt;id&amp;gt;-access= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;harv&#039;] = {&#039;harv&#039;},														-- |ref=; this no longer supported; is_valid_parameter_value() called with &amp;lt;invert&amp;gt; = true&lt;br /&gt;
	[&#039;introduction&#039;] = {&#039;introduction&#039;},										-- |contribution=&lt;br /&gt;
	[&#039;limited&#039;] = {&#039;limited&#039;},													-- |url-access= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;live&#039;] = {&#039;live&#039;},														-- |url-status= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;mdy&#039;] = {&#039;mdy&#039;},															-- |df=&lt;br /&gt;
	[&#039;mdy-all&#039;] = {&#039;mdy-all&#039;},													-- |df=&lt;br /&gt;
	[&#039;none&#039;] = {&#039;none&#039;},														-- |postscript=, |ref=, |title=, |type= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;off&#039;] = {&#039;off&#039;},															-- |title= (potentially also: |title-link=, |postscript=, |ref=, |type=)&lt;br /&gt;
	[&#039;preface&#039;] = {&#039;preface&#039;},													-- |contribution=&lt;br /&gt;
	[&#039;registration&#039;] = {&#039;registration&#039;},										-- |url-access= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;subscription&#039;] = {&#039;subscription&#039;},										-- |url-access= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;unfit&#039;] = {&#039;unfit&#039;},														-- |url-status= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;usurped&#039;] = {&#039;usurped&#039;},													-- |url-status= -- Used by InternetArchiveBot&lt;br /&gt;
	[&#039;vanc&#039;] = {&#039;vanc&#039;},														-- |name-list-style=&lt;br /&gt;
	[&#039;ymd&#039;] = {&#039;ymd&#039;},															-- |df=&lt;br /&gt;
	[&#039;ymd-all&#039;] = {&#039;ymd-all&#039;},													-- |df=&lt;br /&gt;
	--	[&#039;yMd&#039;] = {&#039;yMd&#039;},														-- |df=; not supported at en.wiki&lt;br /&gt;
	--	[&#039;yMd-all&#039;] = {&#039;yMd-all&#039;},												-- |df=; not supported at en.wiki&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[------------------------&amp;lt; X L A T E _ K E Y W O R D S &amp;gt;---------------------&lt;br /&gt;
&lt;br /&gt;
this function builds a list, keywords_xlate{}, of the keywords found in keywords{} where the values from keywords{}&lt;br /&gt;
become the keys in keywords_xlate{} and the keys from keywords{} become the values in keywords_xlate{}:&lt;br /&gt;
	[&#039;affirmative&#039;] = {&#039;yes&#039;, &#039;true&#039;, &#039;y&#039;},		-- in keywords{}&lt;br /&gt;
becomes&lt;br /&gt;
	[&#039;yes&#039;] = &#039;affirmative&#039;,					-- in keywords_xlate{}&lt;br /&gt;
	[&#039;true&#039;] = &#039;affirmative&#039;,&lt;br /&gt;
	[&#039;y&#039;] = &#039;affirmative&#039;,&lt;br /&gt;
&lt;br /&gt;
the purpose of this function is to act as a translator between a non-English keyword and its English equivalent&lt;br /&gt;
that may be used in other modules of this suite&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function xlate_keywords ()&lt;br /&gt;
	local out_table = {};														-- output goes here&lt;br /&gt;
	for k, keywords_t in pairs (keywords) do									-- spin through the keywords table&lt;br /&gt;
		for _, keyword in ipairs (keywords_t) do								-- for each keyword&lt;br /&gt;
			out_table[keyword] = k;												-- create an entry in the output table where keyword is the key&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out_table;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local keywords_xlate = xlate_keywords ();										-- the list of translated keywords&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[----------------&amp;lt; M A K E _ K E Y W O R D S _ L I S T &amp;gt;---------------------&lt;br /&gt;
&lt;br /&gt;
this function assembles, for parameter-value validation, the list of keywords appropriate to that parameter.&lt;br /&gt;
&lt;br /&gt;
keywords_lists{}, is a table of tables from keywords{}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function make_keywords_list (keywords_lists)&lt;br /&gt;
	local out_table = {};														-- output goes here&lt;br /&gt;
	&lt;br /&gt;
	for _, keyword_list in ipairs (keywords_lists) do							-- spin through keywords_lists{} and get a table of keywords&lt;br /&gt;
		for _, keyword in ipairs (keyword_list) do								-- spin through keyword_list{} and add each keyword, ...&lt;br /&gt;
			table.insert (out_table, keyword);									-- ... as plain text, to the output list&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return out_table;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[----------------&amp;lt; K E Y W O R D S _ L I S T S &amp;gt;-----------------------------&lt;br /&gt;
&lt;br /&gt;
this is a list of lists of valid keywords for the various parameters in [key].&lt;br /&gt;
Generally the keys in this table are the canonical en.wiki parameter names though&lt;br /&gt;
some are contrived because of use in multiple differently named parameters:&lt;br /&gt;
[&#039;yes_true_y&#039;], [&#039;id-access&#039;].&lt;br /&gt;
&lt;br /&gt;
The function make_keywords_list() extracts the individual keywords from the&lt;br /&gt;
appropriate list in keywords{}.&lt;br /&gt;
&lt;br /&gt;
The lists in this table are used to validate the keyword assignment for the&lt;br /&gt;
parameters named in this table&#039;s keys.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local keywords_lists = {&lt;br /&gt;
	[&#039;yes_true_y&#039;] = make_keywords_list ({keywords.affirmative}),&lt;br /&gt;
	[&#039;contribution&#039;] = make_keywords_list ({keywords.afterword, keywords.foreword, keywords.introduction, keywords.preface}),&lt;br /&gt;
	[&#039;df&#039;] = make_keywords_list ({keywords.dmy, keywords[&#039;dmy-all&#039;], keywords.mdy, keywords[&#039;mdy-all&#039;], keywords.ymd, keywords[&#039;ymd-all&#039;]}),&lt;br /&gt;
	--	[&#039;df&#039;] = make_keywords_list ({keywords.dmy, keywords[&#039;dmy-all&#039;], keywords.mdy, keywords[&#039;mdy-all&#039;], keywords.ymd, keywords[&#039;ymd-all&#039;], keywords.yMd, keywords[&#039;yMd-all&#039;]}),	-- not supported at en.wiki&lt;br /&gt;
	[&#039;mode&#039;] = make_keywords_list ({keywords.cs1, keywords.cs2}),&lt;br /&gt;
	[&#039;name-list-style&#039;] = make_keywords_list ({keywords.amp, keywords[&#039;and&#039;], keywords.vanc}),&lt;br /&gt;
	[&#039;ref&#039;] = make_keywords_list ({keywords.harv}),								-- inverted check; |ref=harv no longer supported&lt;br /&gt;
	[&#039;url-access&#039;] = make_keywords_list ({keywords.subscription, keywords.limited, keywords.registration}),&lt;br /&gt;
	[&#039;url-status&#039;] = make_keywords_list ({keywords.dead, keywords.live, keywords.unfit, keywords.usurped, keywords[&#039;bot: unknown&#039;]}),&lt;br /&gt;
	[&#039;id-access&#039;] = make_keywords_list ({keywords.free}),&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; C S 1 _ C O N F I G _ G E T &amp;gt;--------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
fetch and validate values from {{cs1 config}} template to fill &amp;lt;global_cs1_config_t&amp;gt;&lt;br /&gt;
&lt;br /&gt;
no error messages; when errors are detected, the parameter value from {{cs1 config}} is blanked.&lt;br /&gt;
&lt;br /&gt;
Supports all parameters and aliases associated with the metaparameters: DisplayAuthors, DisplayContributors,&lt;br /&gt;
DisplayEditors, DisplayInterviewers, DisplayTranslators, NameListStyle, and Mode.  The DisplayWhatever metaparameters&lt;br /&gt;
accept numeric values only (|display-authors=etal and the like is not supported).&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local global_cs1_config_t = {};													-- TODO: add value returned from get_date_format() to this table?&lt;br /&gt;
&lt;br /&gt;
local function get_cs1_config ()&lt;br /&gt;
	if not content then															-- nil content when we&#039;re in template&lt;br /&gt;
		return nil;																-- auto-formatting does not work in Template space so don&#039;t set global_df&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local start = content:find(&#039;{{ *[Cc][Ss]1 config *[|}]&#039;);					-- &amp;lt;start&amp;gt; is offset into &amp;lt;content&amp;gt; when {{cs1 config}} found; nil else&lt;br /&gt;
	if start then&lt;br /&gt;
		local cs1_config_template = content:match (&#039;%b{}&#039;, start);				-- get the whole template&lt;br /&gt;
&lt;br /&gt;
		if not cs1_config_template then&lt;br /&gt;
			return nil;&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local params_t = mw.text.split (cs1_config_template:gsub (&#039;^{{%s*&#039;, &#039;&#039;):gsub (&#039;%s*}}$&#039;, &#039;&#039;), &#039;%s*|%s*&#039;);	-- remove &#039;{{&#039; and &#039;}}&#039;; make a sequence of parameter/value pairs (split on the pipe)&lt;br /&gt;
		table.remove (params_t, 1);												-- remove the template name because it isn&#039;t a parameter/value pair&lt;br /&gt;
&lt;br /&gt;
		local config_meta_params_t = {&#039;DisplayAuthors&#039;, &#039;DisplayContributors&#039;, &#039;DisplayEditors&#039;, &#039;DisplayInterviewers&#039;, &#039;DisplayTranslators&#039;, &#039;NameListStyle&#039;, &#039;Mode&#039;};&lt;br /&gt;
		local meta_param_map_t = {};											-- list of accepted parameter names usable in {{cs1 config}} goes here&lt;br /&gt;
		&lt;br /&gt;
		for _, meta_param in ipairs (config_meta_params_t) do					-- for i18n using &amp;lt;config_meta_params_t&amp;gt;, map template parameter names to their metaparameter equivalents&lt;br /&gt;
			if &#039;table&#039; == type (aliases[meta_param]) then						-- if &amp;lt;meta_param&amp;gt; is a sequence, &lt;br /&gt;
				for _, param in ipairs (aliases[meta_param]) do					-- extract its contents&lt;br /&gt;
					meta_param_map_t[param] = meta_param;						-- and add to &amp;lt;meta_param_map_t&amp;gt;&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				meta_param_map_t[aliases[meta_param]] = meta_param;				-- not a sequence so just add the parameter to &amp;lt;meta_param_map_t&amp;gt;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local keywords_t = {};													-- map valid keywords to their associate metaparameter; reverse form of &amp;lt;keyword_lists[key] for these metaparameters&lt;br /&gt;
		for _, metaparam_t in ipairs ({{&#039;NameListStyle&#039;, &#039;name-list-style&#039;}, {&#039;Mode&#039;, &#039;mode&#039;}}) do	-- only these metaparameter / keywords_lists key pairs&lt;br /&gt;
			for _, keyword in ipairs (keywords_lists[metaparam_t[2]]) do		-- spin through the list of keywords&lt;br /&gt;
				keywords_t[keyword] = metaparam_t[1];							-- add [keyword] = metaparameter to the map&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		for _, param in ipairs (params_t) do									-- spin through the {{cs1 config}} parameters and fill &amp;lt;global_cs1_config_t&amp;gt;&lt;br /&gt;
			local k, v = param:match (&#039;([^=]-)%s*=%s*(.+)&#039;);					-- &amp;lt;k&amp;gt; is the parameter name; &amp;lt;v&amp;gt; is parameter&#039;s assigned value&lt;br /&gt;
			if k then&lt;br /&gt;
				if k:find (&#039;^display&#039;) then										-- if &amp;lt;k&amp;gt; is one of the |display-&amp;lt;namelist&amp;gt;= parameters&lt;br /&gt;
					if v:match (&#039;%d+&#039;) then										-- the assigned value must be digits; doesn&#039;t accept &#039;etal&#039;&lt;br /&gt;
						global_cs1_config_t[meta_param_map_t[k]]=v;				-- add the display param and its value to globals table&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					if keywords_t[v] == meta_param_map_t[k] then				-- keywords_t[v] returns nil or the metaparam name; these must be the same&lt;br /&gt;
						global_cs1_config_t[meta_param_map_t[k]]=v;				-- add the parameter and its value to globals table&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
get_cs1_config ();																-- fill &amp;lt;global_cs1_config_t&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[---------------------&amp;lt; S T R I P M A R K E R S &amp;gt;----------------------------&lt;br /&gt;
&lt;br /&gt;
Common pattern definition location for stripmarkers so that we don&#039;t have to go&lt;br /&gt;
hunting for them if (when) MediaWiki changes their form.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local stripmarkers = {&lt;br /&gt;
	[&#039;any&#039;] = &#039;\127[^\127]*UNIQ%-%-(%a+)%-[%a%d]+%-QINU[^\127]*\127&#039;,			-- capture returns name of stripmarker&lt;br /&gt;
	[&#039;math&#039;] = &#039;\127[^\127]*UNIQ%-%-math%-[%a%d]+%-QINU[^\127]*\127&#039;			-- math stripmarkers used in coins_cleanup() and coins_replace_math_stripmarker()&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[------------&amp;lt; I N V I S I B L E _ C H A R A C T E R S &amp;gt;---------------------&lt;br /&gt;
&lt;br /&gt;
This table holds non-printing or invisible characters indexed either by name or&lt;br /&gt;
by Unicode group. Values are decimal representations of UTF-8 codes.  The table&lt;br /&gt;
is organized as a table of tables because the Lua pairs keyword returns table&lt;br /&gt;
data in an arbitrary order.  Here, we want to process the table from top to bottom&lt;br /&gt;
because the entries at the top of the table are also found in the ranges specified&lt;br /&gt;
by the entries at the bottom of the table.&lt;br /&gt;
&lt;br /&gt;
Also here is a pattern that recognizes stripmarkers that begin and end with the&lt;br /&gt;
delete characters.  The nowiki stripmarker is not an error but some others are&lt;br /&gt;
because the parameter values that include them become part of the template&#039;s&lt;br /&gt;
metadata before stripmarker replacement.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local invisible_defs = {&lt;br /&gt;
	del = &#039;\127&#039;,																-- used to distinguish between stripmarker and del char&lt;br /&gt;
	zwj = &#039;\226\128\141&#039;,														-- used with capture because zwj may be allowed&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local invisible_chars = {&lt;br /&gt;
	{&#039;replacement&#039;, &#039;\239\191\189&#039;},											-- U+FFFD, EF BF BD&lt;br /&gt;
	{&#039;zero width joiner&#039;, &#039;(&#039;.. invisible_defs.zwj .. &#039;)&#039;},						-- U+200D, E2 80 8D; capture because zwj may be allowed&lt;br /&gt;
	{&#039;zero width space&#039;, &#039;\226\128\139&#039;},										-- U+200B, E2 80 8B&lt;br /&gt;
	{&#039;hair space&#039;, &#039;\226\128\138&#039;},												-- U+200A, E2 80 8A&lt;br /&gt;
	{&#039;soft hyphen&#039;, &#039;\194\173&#039;},												-- U+00AD, C2 AD&lt;br /&gt;
	{&#039;horizontal tab&#039;, &#039;\009&#039;},													-- U+0009 (HT), 09&lt;br /&gt;
	{&#039;line feed&#039;, &#039;\010&#039;},														-- U+000A (LF), 0A&lt;br /&gt;
	{&#039;no-break space&#039;, &#039;\194\160&#039;},												-- U+00A0 (NBSP), C2 A0&lt;br /&gt;
	{&#039;carriage return&#039;, &#039;\013&#039;},												-- U+000D (CR), 0D&lt;br /&gt;
	{&#039;stripmarker&#039;, stripmarkers.any},											-- stripmarker; may or may not be an error; capture returns the stripmaker type&lt;br /&gt;
	{&#039;delete&#039;, &#039;(&#039;.. invisible_defs.del .. &#039;)&#039;},								-- U+007F (DEL), 7F; must be done after stripmarker test; capture to distinguish isolated del chars not part of stripmarker&lt;br /&gt;
	{&#039;C0 control&#039;, &#039;[\000-\008\011\012\014-\031]&#039;},								-- U+0000–U+001F (NULL–US), 00–1F (except HT, LF, CR (09, 0A, 0D))&lt;br /&gt;
	{&#039;C1 control&#039;, &#039;[\194\128-\194\159]&#039;},										-- U+0080–U+009F (XXX–APC), C2 80 – C2 9F&lt;br /&gt;
	--	{&#039;Specials&#039;, &#039;[\239\191\185-\239\191\191]&#039;},								-- U+FFF9-U+FFFF, EF BF B9 – EF BF BF&lt;br /&gt;
	--	{&#039;Private use area&#039;, &#039;[\238\128\128-\239\163\191]&#039;},						-- U+E000–U+F8FF, EE 80 80 – EF A3 BF&lt;br /&gt;
	--	{&#039;Supplementary Private Use Area-A&#039;, &#039;[\243\176\128\128-\243\191\191\189]&#039;},	-- U+F0000–U+FFFFD, F3 B0 80 80 – F3 BF BF BD&lt;br /&gt;
	--	{&#039;Supplementary Private Use Area-B&#039;, &#039;[\244\128\128\128-\244\143\191\189]&#039;},	-- U+100000–U+10FFFD, F4 80 80 80 – F4 8F BF BD&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
&lt;br /&gt;
Indic script makes use of zero width joiner as a character modifier so zwj&lt;br /&gt;
characters must be left in.  This pattern covers all of the unicode characters&lt;br /&gt;
for these languages:&lt;br /&gt;
	Devanagari					0900–097F – https://unicode.org/charts/PDF/U0900.pdf&lt;br /&gt;
		Devanagari extended		A8E0–A8FF – https://unicode.org/charts/PDF/UA8E0.pdf&lt;br /&gt;
	Bengali						0980–09FF – https://unicode.org/charts/PDF/U0980.pdf&lt;br /&gt;
	Gurmukhi					0A00–0A7F – https://unicode.org/charts/PDF/U0A00.pdf&lt;br /&gt;
	Gujarati					0A80–0AFF – https://unicode.org/charts/PDF/U0A80.pdf&lt;br /&gt;
	Oriya						0B00–0B7F – https://unicode.org/charts/PDF/U0B00.pdf&lt;br /&gt;
	Tamil						0B80–0BFF – https://unicode.org/charts/PDF/U0B80.pdf&lt;br /&gt;
	Telugu						0C00–0C7F – https://unicode.org/charts/PDF/U0C00.pdf&lt;br /&gt;
	Kannada						0C80–0CFF – https://unicode.org/charts/PDF/U0C80.pdf&lt;br /&gt;
	Malayalam					0D00–0D7F – https://unicode.org/charts/PDF/U0D00.pdf&lt;br /&gt;
plus the not-necessarily Indic scripts for Sinhala and Burmese:&lt;br /&gt;
	Sinhala						0D80-0DFF - https://unicode.org/charts/PDF/U0D80.pdf&lt;br /&gt;
	Myanmar						1000-109F - https://unicode.org/charts/PDF/U1000.pdf&lt;br /&gt;
		Myanmar extended A		AA60-AA7F - https://unicode.org/charts/PDF/UAA60.pdf&lt;br /&gt;
		Myanmar extended B		A9E0-A9FF - https://unicode.org/charts/PDF/UA9E0.pdf&lt;br /&gt;
the pattern is used by has_invisible_chars() and coins_cleanup()&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local indic_script = &#039;[\224\164\128-\224\181\191\224\163\160-\224\183\191\225\128\128-\225\130\159\234\167\160-\234\167\191\234\169\160-\234\169\191]&#039;;&lt;br /&gt;
&lt;br /&gt;
-- list of emoji that use a zwj character (U+200D) to combine with another emoji&lt;br /&gt;
-- from: https://unicode.org/Public/emoji/17.0/emoji-zwj-sequences.txt; version: 17.0; 2025-01-08&lt;br /&gt;
-- table created by: [[:en:Module:Make emoji zwj table]]&lt;br /&gt;
local emoji_t = {																-- indexes are decimal forms of the hex values in U+xxxx&lt;br /&gt;
	[8596] = true,																-- U+2194 ↔ left right arrow&lt;br /&gt;
	[8597] = true,																-- U+2195 ↕ up down arrow&lt;br /&gt;
	[9760] = true,																-- U+2620 ☠ skull and crossbones&lt;br /&gt;
	[9792] = true,																-- U+2640 ♀ female sign&lt;br /&gt;
	[9794] = true,																-- U+2642 ♂ male sign&lt;br /&gt;
	[9877] = true,																-- U+2695 ⚕ staff of aesculapius&lt;br /&gt;
	[9878] = true,																-- U+2696 ⚖ scales&lt;br /&gt;
	[9895] = true,																-- U+26A7 ⚧ male with stroke and male and female sign&lt;br /&gt;
	[9992] = true,																-- U+2708 ✈ airplane&lt;br /&gt;
	[10052] = true,																-- U+2744 ❄ snowflake&lt;br /&gt;
	[10084] = true,																-- U+2764 ❤ heavy black heart&lt;br /&gt;
	[10145] = true,																-- U+27A1 ➡ black rightwards arrow&lt;br /&gt;
	[11035] = true,																-- U+2B1B ⬛ black large square&lt;br /&gt;
	[127752] = true,															-- U+1F308 🌈 rainbow&lt;br /&gt;
	[127787] = true,															-- U+1F32B 🌫 fog&lt;br /&gt;
	[127806] = true,															-- U+1F33E 🌾 ear of rice&lt;br /&gt;
	[127859] = true,															-- U+1F373 🍳 cooking&lt;br /&gt;
	[127868] = true,															-- U+1F37C 🍼 baby bottle&lt;br /&gt;
	[127876] = true,															-- U+1F384 🎄 christmas tree&lt;br /&gt;
	[127891] = true,															-- U+1F393 🎓 graduation cap&lt;br /&gt;
	[127908] = true,															-- U+1F3A4 🎤 microphone&lt;br /&gt;
	[127912] = true,															-- U+1F3A8 🎨 artist palette&lt;br /&gt;
	[127979] = true,															-- U+1F3EB 🏫 school&lt;br /&gt;
	[127981] = true,															-- U+1F3ED 🏭 factory&lt;br /&gt;
	[128048] = true,															-- U+1F430 🐰 rabbit face&lt;br /&gt;
	[128102] = true,															-- U+1F466 👦 boy&lt;br /&gt;
	[128103] = true,															-- U+1F467 👧 girl&lt;br /&gt;
	[128104] = true,															-- U+1F468 👨 man&lt;br /&gt;
	[128105] = true,															-- U+1F469 👩 woman&lt;br /&gt;
	[128139] = true,															-- U+1F48B 💋 kiss mark&lt;br /&gt;
	[128165] = true,															-- U+1F4A5 💥 collision symbol&lt;br /&gt;
	[128168] = true,															-- U+1F4A8 💨 dash symbol&lt;br /&gt;
	[128171] = true,															-- U+1F4AB 💫 dizzy symbol&lt;br /&gt;
	[128187] = true,															-- U+1F4BB 💻 personal computer&lt;br /&gt;
	[128188] = true,															-- U+1F4BC 💼 brief case&lt;br /&gt;
	[128293] = true,															-- U+1F525 🔥 fire&lt;br /&gt;
	[128295] = true,															-- U+1F527 🔧 wrench&lt;br /&gt;
	[128300] = true,															-- U+1F52C 🔬 microscope&lt;br /&gt;
	[128488] = true,															-- U+1F5E8 🗨 left speech bubble&lt;br /&gt;
	[128640] = true,															-- U+1F680 🚀 rocket&lt;br /&gt;
	[128658] = true,															-- U+1F692 🚒 fire engine&lt;br /&gt;
	[129001] = true,															-- U+1F7E9 🟩 large green square&lt;br /&gt;
	[129003] = true,															-- U+1F7EB 🟫 large brown square&lt;br /&gt;
	[129309] = true,															-- U+1F91D 🤝 handshake&lt;br /&gt;
	[129455] = true,															-- U+1F9AF 🦯 probing cane&lt;br /&gt;
	[129456] = true,															-- U+1F9B0 🦰 emoji component red hair&lt;br /&gt;
	[129457] = true,															-- U+1F9B1 🦱 emoji component curly hair&lt;br /&gt;
	[129458] = true,															-- U+1F9B2 🦲 emoji component bald&lt;br /&gt;
	[129459] = true,															-- U+1F9B3 🦳 emoji component white hair&lt;br /&gt;
	[129466] = true,															-- U+1F9BA 🦺 safety vest&lt;br /&gt;
	[129468] = true,															-- U+1F9BC 🦼 motorized wheelchair&lt;br /&gt;
	[129469] = true,															-- U+1F9BD 🦽 manual wheelchair&lt;br /&gt;
	[129489] = true,															-- U+1F9D1 🧑 adult&lt;br /&gt;
	[129490] = true,															-- U+1F9D2 🧒 child&lt;br /&gt;
	[129648] = true,															-- U+1FA70 🩰 ballet shoes&lt;br /&gt;
	[129657] = true,															-- U+1FA79 🩹 adhesive bandage&lt;br /&gt;
	[129775] = true,															-- U+1FAEF 🫯 fight cloud&lt;br /&gt;
	[129778] = true,															-- U+1FAF2 🫲 leftwards hand&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[----------------------&amp;lt; L A N G U A G E   S U P P O R T &amp;gt;-------------------&lt;br /&gt;
&lt;br /&gt;
These tables and constants support various language-specific functionality.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
--local this_wiki_code = mw.getContentLanguage():getCode();						-- get this wiki&#039;s language code&lt;br /&gt;
local this_wiki_code = lang_obj:getCode();										-- get this wiki&#039;s language code&lt;br /&gt;
if string.match (mw.site.server, &#039;wikidata&#039;) then&lt;br /&gt;
		this_wiki_code = mw.getCurrentFrame():callParserFunction(&#039;int&#039;, {&#039;lang&#039;}); -- on Wikidata so use interface language setting instead&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
local mw_languages_by_tag_t = mw.language.fetchLanguageNames (this_wiki_code, &#039;all&#039;);	-- get a table of language tag/name pairs known to Wikimedia; used for interwiki tests&lt;br /&gt;
local mw_languages_by_name_t = {};&lt;br /&gt;
	for k, v in pairs (mw_languages_by_tag_t) do								-- build a &#039;reversed&#039; table name/tag language pairs know to MediaWiki; used for |language=&lt;br /&gt;
		v = mw.ustring.lower (v);												-- lowercase for tag fetch; get name&#039;s proper case from mw_languages_by_tag_t[&amp;lt;tag&amp;gt;]&lt;br /&gt;
		if mw_languages_by_name_t[v] then										-- when name already in the table&lt;br /&gt;
			if 2 == #k or 3 == #k then											-- if tag does not have subtags&lt;br /&gt;
				mw_languages_by_name_t[v] = k;									-- prefer the shortest tag for this name&lt;br /&gt;
			end&lt;br /&gt;
		else																	-- here when name not in the table&lt;br /&gt;
			mw_languages_by_name_t[v] = k;										-- so add name and matching tag&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
local inter_wiki_map = {};														-- map of interwiki prefixes that are language-code prefixes&lt;br /&gt;
	for k, v in pairs (mw.site.interwikiMap (&#039;local&#039;)) do						-- spin through the base interwiki map (limited to local)&lt;br /&gt;
		if mw_languages_by_tag_t[v[&amp;quot;prefix&amp;quot;]] then								-- if the prefix matches a known language tag&lt;br /&gt;
			inter_wiki_map[v[&amp;quot;prefix&amp;quot;]] = true;									-- add it to our local map&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------&amp;lt; S C R I P T _ L A N G _ C O D E S &amp;gt;-------------------&lt;br /&gt;
&lt;br /&gt;
This table is used to hold ISO 639-1 two-character and ISO 639-3 three-character&lt;br /&gt;
language codes that apply only to |script-title= and |script-chapter=&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local script_lang_codes = {&lt;br /&gt;
	&#039;ab&#039;, &#039;am&#039;, &#039;ar&#039;, &#039;az&#039;, &#039;be&#039;, &#039;bg&#039;, &#039;bn&#039;, &#039;bo&#039;, &#039;bs&#039;, &#039;ce&#039;, &#039;chr&#039;, &#039;cu&#039;,&lt;br /&gt;
	&#039;dv&#039;, &#039;dz&#039;, &#039;el&#039;, &#039;fa&#039;, &#039;grc&#039;, &#039;gu&#039;, &#039;he&#039;, &#039;hi&#039;, &#039;hy&#039;, &#039;ja&#039;, &#039;ka&#039;, &#039;kk&#039;,&lt;br /&gt;
	&#039;km&#039;, &#039;kn&#039;, &#039;ko&#039;, &#039;ku&#039;, &#039;ky&#039;, &#039;lo&#039;, &#039;mk&#039;, &#039;ml&#039;, &#039;mn&#039;, &#039;mni&#039;, &#039;mr&#039;, &#039;my&#039;,&lt;br /&gt;
	&#039;ne&#039;, &#039;or&#039;, &#039;ota&#039;, &#039;pa&#039;, &#039;ps&#039;, &#039;ru&#039;, &#039;sd&#039;, &#039;si&#039;, &#039;sr&#039;, &#039;syc&#039;, &#039;ta&#039;, &#039;te&#039;,&lt;br /&gt;
	&#039;tg&#039;, &#039;th&#039;, &#039;ti&#039;, &#039;tkr&#039;, &#039;tt&#039;, &#039;ug&#039;, &#039;uk&#039;, &#039;ur&#039;, &#039;uz&#039;, &#039;yi&#039;, &#039;yue&#039;, &#039;zh&#039;,&lt;br /&gt;
	&#039;zgh&#039;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[---------------&amp;lt; L A N G U A G E   R E M A P P I N G &amp;gt;----------------------&lt;br /&gt;
&lt;br /&gt;
These tables hold language information that is different (correct) from MediaWiki&#039;s definitions&lt;br /&gt;
&lt;br /&gt;
For each [&#039;&amp;lt;tag&amp;gt;&#039;] = &#039;language name&#039; in lang_code_remap{} there must be a matching [&#039;language name&#039;] = {&#039;language name&#039;, &#039;&amp;lt;tag&amp;gt;&#039;} in lang_name_remap{}&lt;br /&gt;
&lt;br /&gt;
lang_tag_remap{}:&lt;br /&gt;
	key is always lowercase ISO 639-1, -2, -3 language tag or a valid lowercase IETF language tag&lt;br /&gt;
	value is properly spelled and capitalized language name associated with &amp;lt;tag&amp;gt;&lt;br /&gt;
	only one language name per &amp;lt;tag&amp;gt;;&lt;br /&gt;
	key/value pair must have matching entry in lang_name_remap{}&lt;br /&gt;
&lt;br /&gt;
lang_name_remap{}:&lt;br /&gt;
	key is always lowercase language name&lt;br /&gt;
	value is a table the holds correctly spelled and capitalized language name [1] and associated tag [2] (tag must match a tag key in lang_tag_remap{})&lt;br /&gt;
	may have multiple keys referring to a common preferred name and tag; For example:&lt;br /&gt;
		[&#039;kolsch&#039;] and [&#039;kölsch&#039;] both refer to &#039;Kölsch&#039; and &#039;ksh&#039;&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local lang_tag_remap = {														-- used for |language= and |script-title= / |script-chapter=&lt;br /&gt;
	[&#039;als&#039;] = &#039;Tosk Albanian&#039;,													-- MediaWiki returns Alemannisch &lt;br /&gt;
	[&#039;bh&#039;] = &#039;Bihari&#039;,															-- MediaWiki uses &#039;bh&#039; as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org&lt;br /&gt;
	[&#039;bla&#039;] = &#039;Blackfoot&#039;,														-- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name&lt;br /&gt;
	[&#039;bn&#039;] = &#039;Bengali&#039;,															-- MediaWiki returns Bangla&lt;br /&gt;
	[&#039;ca-valencia&#039;] = &#039;Valencian&#039;,												-- IETF variant of Catalan&lt;br /&gt;
	[&#039;fkv&#039;] = &#039;Kven&#039;,															-- MediaWiki returns Kvensk&lt;br /&gt;
	[&#039;gsw&#039;] = &#039;Swiss German&#039;,&lt;br /&gt;
	[&#039;ilo&#039;] = &#039;Ilocano&#039;,														-- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name&lt;br /&gt;
	[&#039;ksh&#039;] = &#039;Kölsch&#039;,															-- MediaWiki: Colognian; use IANA/ISO 639 preferred name&lt;br /&gt;
	[&#039;ksh-x-colog&#039;] = &#039;Colognian&#039;,												-- override MediaWiki ksh; no IANA/ISO 639 code for Colognian; IETF private code created at Module:Lang/data&lt;br /&gt;
	[&#039;mis-x-ripuar&#039;] = &#039;Ripuarian&#039;,												-- override MediaWiki ksh; no IANA/ISO 639 code for Ripuarian; IETF private code created at Module:Lang/data&lt;br /&gt;
	[&#039;nan-tw&#039;] = &#039;Taiwanese Hokkien&#039;,											-- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese and support en.wiki preferred name&lt;br /&gt;
	[&#039;sr-ec&#039;] = &#039;Serbian (Cyrillic script)&#039;,									-- MediaWiki returns српски (ћирилица)&lt;br /&gt;
	[&#039;sr-el&#039;] = &#039;Serbian (Latin script)&#039;,										-- MediaWiki returns srpski (latinica)&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local lang_name_remap = {														-- used for |language=; names require proper capitalization; tags must be lowercase&lt;br /&gt;
	[&#039;alemannic&#039;] = {&#039;Swiss German&#039;, &#039;gsw&#039;},									-- ISO 639-2, -3 alternate for Swiss German; MediaWiki mediawiki returns Alemannic for gsw; en.wiki preferred name&lt;br /&gt;
	[&#039;alemannisch&#039;] = {&#039;Swiss German&#039;, &#039;gsw&#039;},									-- not an ISO or IANA language name; MediaWiki uses &#039;als&#039; as a subdomain name for Alemannic Wikipedia: als.wikipedia.org&lt;br /&gt;
	[&#039;bangla&#039;] = {&#039;Bengali&#039;, &#039;bn&#039;},												-- MediaWiki returns Bangla (the endonym) but we want Bengali (the exonym); here we remap&lt;br /&gt;
	[&#039;bengali&#039;] = {&#039;Bengali&#039;, &#039;bn&#039;},											-- MediaWiki doesn&#039;t use exonym so here we provide correct language name and 639-1 code&lt;br /&gt;
	[&#039;bhojpuri&#039;] = {&#039;Bhojpuri&#039;, &#039;bho&#039;},											-- MediaWiki uses &#039;bh&#039; as a subdomain name for Bhojpuri Wikipedia: bh.wikipedia.org&lt;br /&gt;
	[&#039;bihari&#039;] = {&#039;Bihari&#039;, &#039;bh&#039;},												-- MediaWiki replaces &#039;Bihari&#039; with &#039;Bhojpuri&#039; so &#039;Bihari&#039; cannot be found&lt;br /&gt;
	[&#039;blackfoot&#039;] = {&#039;Blackfoot&#039;, &#039;bla&#039;},										-- MediaWiki/IANA/ISO 639: Siksika; use en.wiki preferred name&lt;br /&gt;
	[&#039;colognian&#039;] = {&#039;Colognian&#039;, &#039;ksh-x-colog&#039;},								-- MediaWiki preferred name for ksh&lt;br /&gt;
	[&#039;ilocano&#039;] = {&#039;Ilocano&#039;, &#039;ilo&#039;},											-- MediaWiki/IANA/ISO 639: Iloko; use en.wiki preferred name&lt;br /&gt;
	[&#039;kolsch&#039;] = {&#039;Kölsch&#039;, &#039;ksh&#039;},												-- use IANA/ISO 639 preferred name (use non-diacritical o instead of umlaut ö)&lt;br /&gt;
	[&#039;kölsch&#039;] = {&#039;Kölsch&#039;, &#039;ksh&#039;},												-- use IANA/ISO 639 preferred name&lt;br /&gt;
	[&#039;kven&#039;] = {&#039;Kven&#039;, &#039;fkv&#039;},													-- Unicode CLDR have decided not to support English language name for these two...&lt;br /&gt;
	[&#039;kvensk&#039;] = {&#039;Kven&#039;, &#039;fkv&#039;},												-- ...they say to refer to IANA registry for English names&lt;br /&gt;
	[&#039;ripuarian&#039;] = {&#039;Ripuarian&#039;, &#039;mis-x-ripuar&#039;},								-- group of dialects; no code in MediaWiki or in IANA/ISO 639&lt;br /&gt;
	[&#039;serbian (cyrillic script)&#039;] = {&#039;Serbian (Cyrillic script)&#039;, &#039;sr-cyrl&#039;},	-- special case to get correct tag when |language=sr-ec&lt;br /&gt;
	[&#039;serbian (latin script)&#039;] = {&#039;Serbian (Latin script)&#039;, &#039;sr-latn&#039;},			-- special case to get correct tag when |language=sr-el&lt;br /&gt;
	[&#039;swiss german&#039;] = {&#039;Swiss German&#039;, &#039;gsw&#039;},&lt;br /&gt;
	[&#039;taiwanese hokkien&#039;] = {&#039;Taiwanese Hokkien&#039;, &#039;nan-tw&#039;},					-- make room for MediaWiki/IANA/ISO 639 nan: Min Nan Chinese &lt;br /&gt;
	[&#039;tosk albanian&#039;] = {&#039;Tosk Albanian&#039;, &#039;als&#039;},								-- MediaWiki replaces &#039;Tosk Albanian&#039; with &#039;Alemannisch&#039; so &#039;Tosk Albanian&#039; cannot be found&lt;br /&gt;
	[&#039;valencian&#039;] = {&#039;Valencian&#039;, &#039;ca-valencia&#039;},								-- variant of Catalan; categorizes as Valencian&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[---------------&amp;lt; P R O P E R T I E S _ C A T E G O R I E S &amp;gt;----------------&lt;br /&gt;
&lt;br /&gt;
Properties categories. These are used for investigating qualities of citations.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local prop_cats = {&lt;br /&gt;
	[&#039;foreign-lang-source&#039;] = &#039;CS1 $1-language sources ($2)&#039;,					-- |language= categories; $1 is foreign-language name, $2 is ISO639-1 code&lt;br /&gt;
	[&#039;foreign-lang-source-2&#039;] = &#039;CS1 foreign language sources (ISO 639-2)|$1&#039;,	-- |language= category; a cat for ISO639-2 languages; $1 is the ISO 639-2 code used as a sort key&lt;br /&gt;
	[&#039;interproj-linked-name&#039;] = &#039;CS1 interproject-linked names|$1&#039;,				-- any author, editor, etc that has an interproject link; $1 is interproject tag used as a sort key&lt;br /&gt;
	[&#039;interwiki-linked-name&#039;] = &#039;CS1 interwiki-linked names|$1&#039;,				-- any author, editor, etc that has an interwiki link; $1 is interwiki tag used as a sort key; yeilds to interproject&lt;br /&gt;
	[&#039;local-lang-source&#039;] = &#039;CS1 $1-language sources ($2)&#039;,						-- |language= categories; $1 is local-language name, $2 is ISO639-1 code; not emitted when local_lang_cat_enable is false&lt;br /&gt;
	[&#039;location-test&#039;] = &#039;CS1 location test&#039;,&lt;br /&gt;
	[&#039;long-vol&#039;] = &#039;CS1: long volume value&#039;,									-- probably temporary cat to identify scope of |volume= values longer than 4 characters&lt;br /&gt;
	[&#039;script&#039;] = &#039;CS1 uses $1-language script ($2)&#039;,							-- |script-title=xx: has matching category; $1 is language name, $2 is language tag&lt;br /&gt;
	[&#039;tracked-param&#039;] = &#039;CS1 tracked parameter: $1&#039;,							-- $1 is base (enumerators removed) parameter name&lt;br /&gt;
	[&#039;unfit&#039;] = &#039;CS1: unfit URL&#039;,												-- |url-status=unfit or |url-status=usurped; used to be a maint cat&lt;br /&gt;
	[&#039;vanc-accept&#039;] = &#039;CS1:Vancouver names with accept markup&#039;,					-- for |vauthors=/|veditors= with accept-as-written markup&lt;br /&gt;
	[&#039;year-range-abbreviated&#039;] = &#039;CS1: abbreviated year range&#039;,					-- probably temporary cat to identify scope of |date=, |year= values using YYYY–YY form&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[-------------------&amp;lt; T I T L E _ T Y P E S &amp;gt;--------------------------------&lt;br /&gt;
&lt;br /&gt;
Here we map a template&#039;s CitationClass to TitleType (default values for |type= parameter)&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local title_types = {&lt;br /&gt;
	[&#039;AV-media-notes&#039;] = &#039;Media notes&#039;,&lt;br /&gt;
	[&#039;document&#039;] = &#039;Document&#039;,&lt;br /&gt;
	[&#039;interview&#039;] = &#039;Interview&#039;,&lt;br /&gt;
	[&#039;mailinglist&#039;] = &#039;Mailing list&#039;,&lt;br /&gt;
	[&#039;map&#039;] = &#039;Map&#039;,&lt;br /&gt;
	[&#039;podcast&#039;] = &#039;Podcast&#039;,&lt;br /&gt;
	[&#039;pressrelease&#039;] = &#039;Press release&#039;,&lt;br /&gt;
	[&#039;report&#039;] = &#039;Report&#039;,&lt;br /&gt;
	[&#039;speech&#039;] = &#039;Speech&#039;,&lt;br /&gt;
	[&#039;techreport&#039;] = &#039;Technical report&#039;,&lt;br /&gt;
	[&#039;thesis&#039;] = &#039;Thesis&#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; B U I L D _ K N O W N _ F R E E _ D O I _ R E G I S T R A N T S _ T A B L E &amp;gt;--&lt;br /&gt;
&lt;br /&gt;
build a table of doi registrants known to be free-to-read  In a doi, the registrant ID is the series of digits&lt;br /&gt;
between the &#039;10.&#039; and the first &#039;/&#039;: in doi 10.1100/sommat, 1100 is the registrant ID&lt;br /&gt;
&lt;br /&gt;
see §3.2.2 DOI prefix of the Doi Handbook p. 43&lt;br /&gt;
https://www.doi.org/doi-handbook/DOI_Handbook_Final.pdf#page=43&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function build_free_doi_registrants_table()&lt;br /&gt;
	local registrants_t = {};&lt;br /&gt;
	for _, v in ipairs ({&lt;br /&gt;
		&#039;1045&#039;, &#039;1074&#039;, &#039;1096&#039;, &#039;1100&#039;, &#039;1155&#039;, &#039;1186&#039;, &#039;1194&#039;, &#039;1371&#039;, &#039;1629&#039;, &#039;1989&#039;, &#039;1999&#039;, &#039;2147&#039;, &#039;2196&#039;, &#039;3285&#039;, &#039;3389&#039;, &#039;3390&#039;,&lt;br /&gt;
		&#039;3748&#039;, &#039;3814&#039;, &#039;3847&#039;, &#039;3897&#039;, &#039;4061&#039;, &#039;4089&#039;, &#039;4103&#039;, &#039;4172&#039;, &#039;4175&#039;, &#039;4230&#039;, &#039;4236&#039;, &#039;4239&#039;, &#039;4240&#039;, &#039;4249&#039;, &#039;4251&#039;,&lt;br /&gt;
		&#039;4252&#039;, &#039;4253&#039;, &#039;4254&#039;, &#039;4291&#039;, &#039;4292&#039;, &#039;4329&#039;, &#039;4330&#039;, &#039;4331&#039;, &#039;5194&#039;, &#039;5210&#039;, &#039;5306&#039;, &#039;5312&#039;, &#039;5313&#039;, &#039;5314&#039;,&lt;br /&gt;
		&#039;5315&#039;, &#039;5316&#039;, &#039;5317&#039;, &#039;5318&#039;, &#039;5319&#039;, &#039;5320&#039;, &#039;5321&#039;, &#039;5334&#039;, &#039;5402&#039;, &#039;5409&#039;, &#039;5410&#039;, &#039;5411&#039;, &#039;5412&#039;,&lt;br /&gt;
		&#039;5492&#039;, &#039;5493&#039;, &#039;5494&#039;, &#039;5495&#039;, &#039;5496&#039;, &#039;5497&#039;, &#039;5498&#039;, &#039;5499&#039;, &#039;5500&#039;, &#039;5501&#039;, &#039;5527&#039;, &#039;5528&#039;, &#039;5662&#039;,&lt;br /&gt;
		&#039;6064&#039;, &#039;6219&#039;, &#039;7167&#039;, &#039;7217&#039;, &#039;7287&#039;, &#039;7482&#039;, &#039;7490&#039;, &#039;7554&#039;, &#039;7717&#039;, &#039;7759&#039;, &#039;7766&#039;, &#039;9778&#039;, &#039;11131&#039;, &#039;11569&#039;, &#039;11647&#039;,&lt;br /&gt;
		&#039;11648&#039;, &#039;12688&#039;, &#039;12703&#039;, &#039;12715&#039;, &#039;12942&#039;, &#039;12998&#039;, &#039;13105&#039;, &#039;14256&#039;, &#039;14293&#039;, &#039;14303&#039;, &#039;15215&#039;, &#039;15347&#039;, &#039;15412&#039;, &#039;15560&#039;, &#039;16995&#039;,&lt;br /&gt;
		&#039;17645&#039;, &#039;18637&#039;, &#039;19080&#039;, &#039;19173&#039;, &#039;20944&#039;, &#039;21037&#039;, &#039;21468&#039;, &#039;21767&#039;, &#039;22261&#039;, &#039;22323&#039;, &#039;22459&#039;, &#039;24105&#039;, &#039;24196&#039;, &#039;24966&#039;,&lt;br /&gt;
		&#039;26775&#039;, &#039;30845&#039;, &#039;32545&#039;, &#039;35711&#039;, &#039;35712&#039;, &#039;35713&#039;, &#039;35995&#039;, &#039;36648&#039;, &#039;37126&#039;, &#039;37532&#039;, &#039;37871&#039;, &#039;47128&#039;,&lt;br /&gt;
		&#039;47622&#039;, &#039;47959&#039;, &#039;52437&#039;, &#039;52975&#039;, &#039;53288&#039;, &#039;54081&#039;, &#039;54947&#039;, &#039;55667&#039;, &#039;55914&#039;, &#039;57009&#039;, &#039;58647&#039;, &#039;59081&#039;,&lt;br /&gt;
		}) do&lt;br /&gt;
			registrants_t[v] = true;											-- build a k/v table of known free-to-read doi registrants&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return registrants_t;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local extended_registrants_t = {												-- known free registrants identifiable by the doi suffix incipit&lt;br /&gt;
	[&#039;1002&#039;] = {&#039;aelm&#039;, &#039;leap&#039;},												-- Advanced Electronic Materials, Learned Publishing&lt;br /&gt;
	[&#039;1016&#039;] = {&#039;j.heliyon&#039;, &#039;j.nlp&#039;, &#039;j.patter&#039;, &#039;j.proche&#039;},					-- Heliyon, Natural Language Processing, Patterns, Procedia Chemistry&lt;br /&gt;
	[&#039;1017&#039;] = {&#039;nlp&#039;},															-- Natural Language Processing Journal&lt;br /&gt;
	[&#039;1046&#039;] = {&#039;j.1365-8711&#039;, &#039;j.1365-246x&#039;},									-- MNRAS, GJI&lt;br /&gt;
	[&#039;1093&#039;] = {&#039;mnras&#039;, &#039;mnrasl&#039;, &#039;gji&#039;, &#039;rasti&#039;},								-- MNRAS, MNRAS Letters, GJI, RASTI&lt;br /&gt;
	[&#039;1099&#039;] = {&#039;acmi&#039;, &#039;mic&#039;, &#039;00221287&#039;, &#039;mgen&#039;},                             -- Access Microbiology, Microbiology, Journal of General Microbiology, Microbial Genomics&lt;br /&gt;
	[&#039;1111&#039;] = {&#039;j.1365-2966&#039;, &#039;j.1745-3933&#039;, &#039;j.1365-246X&#039;},					-- MNRAS, MNRAS Letters, GJI&lt;br /&gt;
	[&#039;1210&#039;] = {&#039;jendso&#039;,&#039;jcemcr&#039;},												-- Journal of the Endocrine Society, JCEM Case Reports&lt;br /&gt;
	[&#039;4171&#039;] = {&#039;dm&#039;,&#039;mag&#039;},												    -- Documenta Mathematica, EMS Magazine&lt;br /&gt;
	[&#039;11158&#039;] = {&#039;saasp&#039;},                                                      -- Systematic and Applied Acarology Special Publications&lt;br /&gt;
	[&#039;11646&#039;] = {&#039;megataxa&#039;, &#039;mesozoic&#039;},                                       -- Megataxa, Mesozoic&lt;br /&gt;
	[&#039;14231&#039;] = {&#039;ag&#039;},															-- Algebraic Geometry&lt;br /&gt;
	[&#039;22073&#039;] = {&#039;pja&#039;},                                                        -- Persian Journal of Acarology&lt;br /&gt;
	[&#039;35249&#039;] = {&#039;rche&#039;},                                                       -- Revista Chilena de Entomología&lt;br /&gt;
	[&#039;37520&#039;] = {&#039;fi&#039;},                                                         -- Fossil Imprint&lt;br /&gt;
	[&#039;53562&#039;] = {&#039;ajcb&#039;}                                                        -- Asian Journal of Conservation Biology&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[===================&amp;lt;&amp;lt; E R R O R   M E S S A G I N G &amp;gt;&amp;gt;======================&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
--[[----------&amp;lt; E R R O R   M E S S A G E   S U P P L I M E N T S &amp;gt;-------------&lt;br /&gt;
&lt;br /&gt;
I18N for those messages that are supplemented with additional specific text that&lt;br /&gt;
describes the reason for the error&lt;br /&gt;
&lt;br /&gt;
TODO: merge this with special_case_translations{}?&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local err_msg_supl = {&lt;br /&gt;
	[&#039;char&#039;] = &#039;invalid character&#039;,												-- |isbn=, |sbn=&lt;br /&gt;
	[&#039;check&#039;] = &#039;checksum&#039;,														-- |isbn=, |sbn=&lt;br /&gt;
	[&#039;flag&#039;] = &#039;flag&#039;,															-- |archive-url=&lt;br /&gt;
	[&#039;form&#039;] = &#039;invalid form&#039;,													-- |isbn=, |sbn=&lt;br /&gt;
	[&#039;group&#039;] = &#039;invalid group id&#039;,												-- |isbn=&lt;br /&gt;
	[&#039;initials&#039;] = &#039;initials&#039;,													-- Vancouver&lt;br /&gt;
	[&#039;invalid language code&#039;] = &#039;invalid language code&#039;,						-- |script-&amp;lt;param&amp;gt;=&lt;br /&gt;
	[&#039;journal&#039;] = &#039;journal&#039;,													-- |bibcode=&lt;br /&gt;
	[&#039;length&#039;] = &#039;length&#039;,														-- |isbn=, |bibcode=, |sbn=&lt;br /&gt;
	[&#039;liveweb&#039;] = &#039;liveweb&#039;,													-- |archive-url=&lt;br /&gt;
	[&#039;missing comma&#039;] = &#039;missing comma&#039;,										-- Vancouver&lt;br /&gt;
	[&#039;missing prefix&#039;] = &#039;missing prefix&#039;,										-- |script-&amp;lt;param&amp;gt;=&lt;br /&gt;
	[&#039;missing title part&#039;] = &#039;missing title part&#039;,								-- |script-&amp;lt;param&amp;gt;=&lt;br /&gt;
	[&#039;name&#039;] = &#039;name&#039;,															-- Vancouver&lt;br /&gt;
	[&#039;non-Latin char&#039;] = &#039;non-Latin character&#039;,									-- Vancouver&lt;br /&gt;
	[&#039;path&#039;] = &#039;path&#039;,															-- |archive-url=&lt;br /&gt;
	[&#039;prefix&#039;] = &#039;invalid prefix&#039;,												-- |isbn=&lt;br /&gt;
	[&#039;punctuation&#039;] = &#039;punctuation&#039;,											-- Vancouver&lt;br /&gt;
	[&#039;save&#039;] = &#039;save command&#039;,													-- |archive-url=&lt;br /&gt;
	[&#039;suffix&#039;] = &#039;suffix&#039;,														-- Vancouver&lt;br /&gt;
	[&#039;timestamp&#039;] = &#039;timestamp&#039;,												-- |archive-url=&lt;br /&gt;
	[&#039;unknown language code&#039;] = &#039;unknown language code&#039;,						-- |script-&amp;lt;param&amp;gt;=&lt;br /&gt;
	[&#039;value&#039;] = &#039;value&#039;,														-- |bibcode=&lt;br /&gt;
	[&#039;year&#039;] = &#039;year&#039;,															-- |bibcode=&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------&amp;lt; E R R O R _ C O N D I T I O N S &amp;gt;---------------------------&lt;br /&gt;
&lt;br /&gt;
Error condition table.  This table has two sections: errors at the top, maintenance&lt;br /&gt;
at the bottom.  Maint &#039;messaging&#039; does not have a &#039;message&#039; (message=nil)&lt;br /&gt;
&lt;br /&gt;
The following contains a list of IDs for various error conditions defined in the&lt;br /&gt;
code.  For each ID, we specify a text message to display, an error category to&lt;br /&gt;
include, and whether the error message should be wrapped as a hidden comment.&lt;br /&gt;
&lt;br /&gt;
Anchor changes require identical changes to matching anchor in Help:CS1 errors&lt;br /&gt;
&lt;br /&gt;
TODO: rename error_conditions{} to something more generic; create separate error&lt;br /&gt;
and maint tables inside that?&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local error_conditions = {&lt;br /&gt;
	err_accessdate_missing_url = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;access-date=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;url=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
		anchor = &#039;accessdate_missing_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: access-date without URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
 		},&lt;br /&gt;
	err_apostrophe_markup = {&lt;br /&gt;
		message = &#039;Italic or bold markup not allowed in: &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;apostrophe_markup&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: markup&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
 		},&lt;br /&gt;
	err_archive_date_missing_url = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-date=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-url=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
		anchor = &#039;archive_date_missing_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: archive-url&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_archive_date_url_ts_mismatch = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-date=&amp;lt;/code&amp;gt; / &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-url=&amp;lt;/code&amp;gt; timestamp mismatch; $1 suggested&#039;,&lt;br /&gt;
		anchor = &#039;archive_date_url_ts_mismatch&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: archive-url&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_archive_missing_date = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-url=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-date=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
		anchor = &#039;archive_missing_date&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: archive-url&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_archive_missing_url = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-url=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;url=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
		anchor = &#039;archive_missing_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: archive-url&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_archive_url = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;archive-url=&amp;lt;/code&amp;gt; is malformed: $1&#039;,	-- $1 is error message detail&lt;br /&gt;
		anchor = &#039;archive_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: archive-url&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_arxiv_missing = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;arxiv=&amp;lt;/code&amp;gt; required&#039;,&lt;br /&gt;
		anchor = &#039;arxiv_missing&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: arXiv&#039;,											-- same as bad arxiv&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_asintld_missing_asin = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;asin=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;asintld_missing_asin&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: ASIN TLD&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_arxiv = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;arxiv=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_arxiv&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: arXiv&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_asin = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;asin=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_asin&#039;,&lt;br /&gt;
		category =&#039;CS1 errors: ASIN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_asin_tld = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;asin-tld=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_asin_tld&#039;,&lt;br /&gt;
		category =&#039;CS1 errors: ASIN TLD&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_bibcode = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;bibcode=&amp;lt;/code&amp;gt; $1&#039;,		-- $1 is error message detail&lt;br /&gt;
		anchor = &#039;bad_bibcode&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: bibcode&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_biorxiv = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;biorxiv=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_biorxiv&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: bioRxiv&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_citeseerx = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;citeseerx=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_citeseerx&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: citeseerx&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_date = {&lt;br /&gt;
		message = &#039;Check date values in: $1&#039;,									-- $1 is a parameter name list&lt;br /&gt;
		anchor = &#039;bad_date&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: dates&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_doi = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;doi=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_doi&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: DOI&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_hdl = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;hdl=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_hdl&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: HDL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_isbn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;isbn=&amp;lt;/code&amp;gt; value: $1&#039;,	-- $1 is error message detail&lt;br /&gt;
		anchor = &#039;bad_isbn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: ISBN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_ismn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;ismn=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_ismn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: ISMN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_issn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1issn=&amp;lt;/code&amp;gt; value&#039;,	-- $1 is &#039;e&#039; or &#039;&#039; for eissn or issn&lt;br /&gt;
		anchor = &#039;bad_issn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: ISSN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_jfm = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;jfm=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_jfm&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: JFM&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_jstor = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;jstor=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_jstor&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: JSTOR&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_lccn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;lccn=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_lccn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: LCCN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_medrxiv = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;medrxiv=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_medrxiv&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: medRxiv&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_mr = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;mr=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_mr&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: MR&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_oclc = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;oclc=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_oclc&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: OCLC&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_ol = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;ol=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_ol&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: OL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_osti = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;osti=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_osti&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: OSTI&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_paramlink = {														-- for |title-link=, |author/editor/translator-link=, |series-link=, |episode-link=&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; value&#039;,		-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;bad_paramlink&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: parameter link&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_pmc = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;pmc=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_pmc&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: PMC&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_pmid = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;pmid=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_pmid&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: PMID&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_rfc = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;rfc=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_rfc&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: RFC&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_s2cid = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;s2cid=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_s2cid&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: S2CID&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_sbn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;sbn=&amp;lt;/code&amp;gt; value: $1&#039;,	-- $1 is error message detail&lt;br /&gt;
		anchor = &#039;bad_sbn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: SBN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_ssrn = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;ssrn=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_ssrn&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: SSRN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_url = {&lt;br /&gt;
		message = &#039;Check $1 value&#039;,												-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;bad_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_usenet_id = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;message-id=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_message_id&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: message-id&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bad_zbl = {&lt;br /&gt;
		message = &#039;Check &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;zbl=&amp;lt;/code&amp;gt; value&#039;,&lt;br /&gt;
		anchor = &#039;bad_zbl&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: Zbl&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_bare_url_missing_title = {&lt;br /&gt;
		message = &#039;$1 missing title&#039;,											-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;bare_url_missing_title&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: bare URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_biorxiv_missing = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;biorxiv=&amp;lt;/code&amp;gt; required&#039;,&lt;br /&gt;
		anchor = &#039;biorxiv_missing&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: bioRxiv&#039;,										-- same as bad bioRxiv&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_chapter_ignored = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; ignored&#039;,			-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;chapter_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: chapter ignored&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_citation_missing_title = {&lt;br /&gt;
		message = &#039;Missing or empty &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;citation_missing_title&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing title&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_citeseerx_missing = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;citeseerx=&amp;lt;/code&amp;gt; required&#039;,&lt;br /&gt;
		anchor = &#039;citeseerx_missing&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: citeseerx&#039;,										-- same as bad citeseerx&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_cite_web_url = {														-- this error applies to cite web and to cite podcast&lt;br /&gt;
		message = &#039;Missing or empty &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;url=&amp;lt;/code&amp;gt;&#039;,&lt;br /&gt;
		anchor = &#039;cite_web_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: requires URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_class_ignored = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;class=&amp;lt;/code&amp;gt; ignored&#039;,&lt;br /&gt;
		anchor = &#039;class_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: class&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_contributor_ignored = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;contributor=&amp;lt;/code&amp;gt; ignored&#039;,&lt;br /&gt;
		anchor = &#039;contributor_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: contributor&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_contributor_missing_required_param = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;contributor=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;contributor_missing_required_param&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: contributor&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_deprecated_params = {&lt;br /&gt;
		message = &#039;Cite uses deprecated parameter &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;deprecated_params&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: deprecated parameters&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_disp_name = {&lt;br /&gt;
		message = &#039;Invalid &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=$2&amp;lt;/code&amp;gt;&#039;,			-- $1 is parameter name; $2 is the assigned value&lt;br /&gt;
		anchor = &#039;disp_name&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: display-names&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_doibroken_missing_doi = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;doi=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;doibroken_missing_doi&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: DOI&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_embargo_missing_pmc = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;pmc=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;embargo_missing_pmc&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: PMC embargo&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_empty_citation = {&lt;br /&gt;
		message = &#039;Empty citation&#039;,&lt;br /&gt;
		anchor = &#039;empty_citation&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: empty citation&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_etal = {&lt;br /&gt;
		message = &#039;Explicit use of et al. in: &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;explicit_et_al&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: explicit use of et al.&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_extra_text_edition = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;edition=&amp;lt;/code&amp;gt; has extra text&#039;,&lt;br /&gt;
		anchor = &#039;extra_text_edition&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: extra text: edition&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_extra_text_issue = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; has extra text&#039;,		-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;extra_text_issue&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: extra text: issue&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_extra_text_pages = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; has extra text&#039;,		-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;extra_text_pages&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: extra text: pages&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_extra_text_volume = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; has extra text&#039;,		-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;extra_text_volume&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: extra text: volume&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_first_missing_last = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; missing &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt;&#039;,	-- $1 is first alias, $2 is matching last alias&lt;br /&gt;
		anchor = &#039;first_missing_last&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing name&#039;,									-- author, contributor, editor, interviewer, translator&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_format_missing_url = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt;&#039;,	-- $1 is format parameter $2 is url parameter&lt;br /&gt;
		anchor = &#039;format_missing_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: format without URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_generic_name = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; has generic name&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;generic_name&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: generic name&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_generic_title = {&lt;br /&gt;
		message = &#039;Cite uses generic title&#039;,&lt;br /&gt;
		anchor = &#039;generic_title&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: generic title&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_invalid_isbn_date = {&lt;br /&gt;
		message = &#039;ISBN / Date incompatibility&#039;,&lt;br /&gt;
		anchor = &#039;invalid_isbn_date&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: ISBN date&#039;,&lt;br /&gt;
		hidden = true&lt;br /&gt;
		},&lt;br /&gt;
	err_invalid_param_val = {&lt;br /&gt;
		message = &#039;Invalid &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=$2&amp;lt;/code&amp;gt;&#039;,			-- $1 is parameter name $2 is parameter value&lt;br /&gt;
		anchor = &#039;invalid_param_val&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: invalid parameter value&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_invisible_char = {&lt;br /&gt;
		message = &#039;$1 in $2 at position $3&#039;,									-- $1 is invisible char $2 is parameter name $3 is position number&lt;br /&gt;
		anchor = &#039;invisible_char&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: invisible characters&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_medrxiv_missing = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;medrxiv=&amp;lt;/code&amp;gt; required&#039;,&lt;br /&gt;
		anchor = &#039;medrxiv_missing&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: medRxiv&#039;,										-- same as bad medRxiv&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_missing_name = {&lt;br /&gt;
		message = &#039;Missing &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1$2=&amp;lt;/code&amp;gt;&#039;,			-- $1 is modified NameList; $2 is enumerator&lt;br /&gt;
		anchor = &#039;missing_name&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing name&#039;,									-- author, contributor, editor, interviewer, translator&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_missing_periodical = {&lt;br /&gt;
		message = &#039;Cite $1 requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt;&#039;,	-- $1 is cs1 template name; $2 is canonical periodical parameter name for cite $1&lt;br /&gt;
		anchor = &#039;missing_periodical&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing periodical&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_missing_pipe = {&lt;br /&gt;
		message = &#039;Missing pipe in: &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;missing_pipe&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing pipe&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_missing_publisher = {&lt;br /&gt;
		message = &#039;Cite $1 requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt;&#039;,	-- $1 is cs1 template name; $2 is canonical publisher parameter name for cite $1&lt;br /&gt;
		anchor = &#039;missing_publisher&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: missing publisher&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_numeric_names = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; has numeric name&#039;,	-- $1 is parameter name&#039;,&lt;br /&gt;
		anchor = &#039;numeric_names&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: numeric name&#039;,&lt;br /&gt;
		hidden = false,&lt;br /&gt;
		},&lt;br /&gt;
	err_param_access_requires_param = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1-access=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;param_access_requires_param&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: param-access&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_param_has_ext_link = {&lt;br /&gt;
		message = &#039;External link in &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;$1&amp;lt;/code&amp;gt;&#039;,			-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;param_has_ext_link&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: external links&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_param_has_twl_url = {&lt;br /&gt;
		message = &#039;Wikipedia Library link in &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;$1&amp;lt;/code&amp;gt;&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;param_has_twl_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: URL&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_parameter_ignored = {&lt;br /&gt;
		message = &#039;Unknown parameter &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; ignored&#039;,	-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;parameter_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: unsupported parameter&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_parameter_ignored_suggest = {&lt;br /&gt;
		message = &#039;Unknown parameter &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; ignored (&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$2=&amp;lt;/code&amp;gt; suggested)&#039;,	-- $1 is unknown parameter $2 is suggested parameter name&lt;br /&gt;
		anchor = &#039;parameter_ignored_suggest&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: unsupported parameter&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_periodical_ignored = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; ignored&#039;,			-- $1 is parameter name&lt;br /&gt;
		anchor = &#039;periodical_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: periodical ignored&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_redundant_parameters = {&lt;br /&gt;
		message = &#039;More than one of $1 specified&#039;,								-- $1 is error message detail&lt;br /&gt;
		anchor = &#039;redundant_parameters&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: redundant parameter&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_script_parameter = {&lt;br /&gt;
		message = &#039;Invalid &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt;: $2&#039;,		-- $1 is parameter name $2 is script language code or error detail&lt;br /&gt;
		anchor = &#039;script_parameter&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: script parameters&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_ssrn_missing = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;ssrn=&amp;lt;/code&amp;gt; required&#039;,&lt;br /&gt;
		anchor = &#039;ssrn_missing&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: SSRN&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_text_ignored = {&lt;br /&gt;
		message = &#039;Text &amp;quot;$1&amp;quot; ignored&#039;,											-- $1 is ignored text&lt;br /&gt;
		anchor = &#039;text_ignored&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: unrecognized parameter&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_trans_missing_title = {&lt;br /&gt;
		message = &#039;&amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;trans-$1=&amp;lt;/code&amp;gt; requires &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;$1=&amp;lt;/code&amp;gt; or &amp;lt;code class=&amp;quot;cs1-code&amp;quot;&amp;gt;&amp;amp;#124;script-$1=&amp;lt;/code&amp;gt;&#039;,	-- $1 is base parameter name&lt;br /&gt;
		anchor = &#039;trans_missing_title&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: translated title&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_param_unknown_empty = {&lt;br /&gt;
		message = &#039;Cite has empty unknown parameter$1: $2&#039;,						-- $1 is &#039;s&#039; or empty space; $2 is emty unknown param list&lt;br /&gt;
		anchor = &#039;param_unknown_empty&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: empty unknown parameters&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_vancouver = {&lt;br /&gt;
		message = &#039;Vancouver style error: $1 in name $2&#039;,						-- $1 is error detail, $2 is the nth name&lt;br /&gt;
		anchor = &#039;vancouver&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: Vancouver style&#039;,&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
	err_wikilink_in_url = {&lt;br /&gt;
		message = &#039;URL–wikilink conflict&#039;,										-- uses ndash&lt;br /&gt;
		anchor = &#039;wikilink_in_url&#039;,&lt;br /&gt;
		category = &#039;CS1 errors: URL–wikilink conflict&#039;,							-- uses ndash&lt;br /&gt;
		hidden = false&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A I N T &amp;gt;-------------------------------------&lt;br /&gt;
&lt;br /&gt;
maint messages do not have a message (message = nil); otherwise the structure&lt;br /&gt;
is the same as error messages&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
	maint_archived_copy = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;archived_copy&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: archived copy as title&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_bibcode = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;bibcode&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: bibcode&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_location_no_publisher = {												-- cite book, conference, encyclopedia; citation as book cite or encyclopedia cite&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;location_no_publisher&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: location missing publisher&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_bot_unknown = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;bot:_unknown&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: bot: original URL status unknown&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_date_auto_xlated = {													-- date auto-translation not supported by en.wiki&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;date_auto_xlated&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: date auto-translated&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_date_format = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;date_format&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: date format&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_date_year = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;date_year&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: date and year&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_doi_ignore = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;doi_ignore&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: ignored DOI errors&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_doi_inactive = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;doi_inactive&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: DOI inactive&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_doi_inactive_dated = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;doi_inactive_dated&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: DOI inactive as of $2$3$1&#039;,						-- $1 is year, $2 is month-name or empty string, $3 is space or empty string&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_doi_unflagged_free = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;doi_unflagged_free&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: unflagged free DOI&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_extra_punct = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;extra_punct&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: extra punctuation&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_id_limit_load_fail = {												-- applies to all cs1|2 templates on a page; &lt;br /&gt;
		message = nil,															-- maint message (category link) never emitted&lt;br /&gt;
		anchor = &#039;id_limit_load_fail&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: ID limit load fail&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_isbn_ignore = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;ignore_isbn_err&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: ignored ISBN errors&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_issn_ignore = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;ignore_issn&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: ignored ISSN errors&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_jfm_format = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;jfm_format&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: JFM format&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_location = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;location&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: location&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_missing_class = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;missing_class&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: missing class&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_mr_format = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;mr_format&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: MR format&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_mult_names = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;mult_names&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: multiple names: $1&#039;,								-- $1 is &#039;&amp;lt;name&amp;gt;s list&#039;; gets value from special_case_translation table&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_numeric_names = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;numeric_names&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: numeric names: $1&#039;,								-- $1 is &#039;&amp;lt;name&amp;gt;s list&#039;; gets value from special_case_translation table&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_others = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;others&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: others&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_others_avm = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;others_avm&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: others in cite AV media (notes)&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_overridden_setting = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;overridden&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: overridden setting&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_page_art_num = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;page_art_num&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: article number as page number&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_pmc_embargo = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;embargo&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: PMC embargo expired&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_pmc_format = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;pmc_format&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: PMC format&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_postscript = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;postscript&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: postscript&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
	},&lt;br /&gt;
	maint_publisher_location = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;publisher_location&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: publisher location&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
	},&lt;br /&gt;
	maint_ref_duplicates_default = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;ref_default&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: ref duplicates default&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
	},&lt;br /&gt;
	maint_unknown_lang = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;unknown_lang&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: unrecognized language&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_untitled = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;untitled&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: untitled periodical&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_url_status = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;url_status&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: url-status&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_year= {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;year&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: year&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	maint_zbl = {&lt;br /&gt;
		message = nil,&lt;br /&gt;
		anchor = &#039;zbl&#039;,&lt;br /&gt;
		category = &#039;CS1 maint: Zbl&#039;,&lt;br /&gt;
		hidden = true,&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I D _ L I M I T S _ D A T A _ T &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
fetch id limits for certain identifiers from c:Data:CS1/Identifier limits.tab.  This source is a json tabular &lt;br /&gt;
data file maintained at wikipedia commons.  Convert the json format to a table of k/v pairs.&lt;br /&gt;
&lt;br /&gt;
The values from &amp;lt;id_limits_data_t&amp;gt; are used to set handle.id_limit.&lt;br /&gt;
&lt;br /&gt;
From 2025-02-21, MediaWiki is broken.  Use this link to edit the tablular data file:&lt;br /&gt;
	https://commons.wikimedia.org/w/index.php?title=Data:CS1/Identifier_limits.tab&amp;amp;action=edit&lt;br /&gt;
See Phab:T389105&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local id_limits_data_t = {};&lt;br /&gt;
&lt;br /&gt;
local use_commons_data = true;													-- set to false if your wiki does not have access to mediawiki commons; then,&lt;br /&gt;
if false == use_commons_data then												-- update this table from https://commons.wikimedia.org/wiki/Data:CS1/Identifier_limits.tab; last update: 2025-02-21&lt;br /&gt;
	id_limits_data_t = {[&#039;OCLC&#039;] = 10450000000, [&#039;OSTI&#039;] = 23010000, [&#039;PMC&#039;] = 11900000, [&#039;PMID&#039;] = 40400000, [&#039;RFC&#039;] = 9300, [&#039;SSRN&#039;] = 5200000, [&#039;S2CID&#039;] = 276000000};	-- this table must be maintained locally&lt;br /&gt;
&lt;br /&gt;
else																			-- here for wikis that do have access to mediawiki commons&lt;br /&gt;
	local load_fail_limit = 99999999999;										-- very high number to avoid error messages on load failure&lt;br /&gt;
	id_limits_data_t = {[&#039;OCLC&#039;] = load_fail_limit, [&#039;OSTI&#039;] = load_fail_limit, [&#039;PMC&#039;] = load_fail_limit, [&#039;PMID&#039;] = load_fail_limit, [&#039;RFC&#039;] = load_fail_limit, [&#039;SSRN&#039;] = load_fail_limit, [&#039;S2CID&#039;] = load_fail_limit};&lt;br /&gt;
&lt;br /&gt;
	local id_limits_data_load_fail = false;										-- flag; assume that we will be successful when loading json id limit tabular data&lt;br /&gt;
	&lt;br /&gt;
	local tab_data_t = mw.ext.data.get (&#039;CS1/Identifier limits.tab&#039;);			-- attempt to load the tabular data from commons into &amp;lt;tab_data_t&amp;gt;&lt;br /&gt;
	if false == tab_data_t then													-- undocumented &#039;feature&#039;: mw.ext.data.get() sometimes returns false&lt;br /&gt;
		id_limits_data_load_fail = true;										-- set the flag so that Module:Citation/CS1 can create an unannotated maint category&lt;br /&gt;
	else&lt;br /&gt;
		for _, limit_t in ipairs (tab_data_t.data) do							-- overwrite default &amp;lt;load_fail_limit&amp;gt; values from the data table in the tabular data&lt;br /&gt;
			id_limits_data_t[limit_t[1]] = limit_t[2];							-- &amp;lt;limit[1]&amp;gt; is identifier; &amp;lt;limit[2]&amp;gt; is upper limit for that identifier&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; I D _ H A N D L E R S &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
The following contains a list of values for various defined identifiers.  For each&lt;br /&gt;
identifier we specify a variety of information necessary to properly render the&lt;br /&gt;
identifier in the citation.&lt;br /&gt;
&lt;br /&gt;
	parameters: a list of parameter aliases for this identifier; first in the list is the canonical form&lt;br /&gt;
	link: Wikipedia article name&lt;br /&gt;
	redirect: a local redirect to a local Wikipedia article name;  at en.wiki, &#039;ISBN (identifier)&#039; is a redirect to &#039;International Standard Book Number&#039;&lt;br /&gt;
	q: Wikidata q number for the identifier&lt;br /&gt;
	label: the label preceding the identifier; label is linked to a Wikipedia article (in this order):&lt;br /&gt;
		redirect from id_handlers[&#039;&amp;lt;id&amp;gt;&#039;].redirect when use_identifier_redirects is true&lt;br /&gt;
		Wikidata-supplied article name for the local wiki from id_handlers[&#039;&amp;lt;id&amp;gt;&#039;].q&lt;br /&gt;
		local article name from id_handlers[&#039;&amp;lt;id&amp;gt;&#039;].link&lt;br /&gt;
	prefix: the first part of a URL that will be concatenated with a second part which usually contains the identifier&lt;br /&gt;
	suffix: optional third part to be added after the identifier&lt;br /&gt;
	encode: true if URI should be percent-encoded; otherwise false&lt;br /&gt;
	COinS: identifier link or keyword for use in COinS:&lt;br /&gt;
		for identifiers registered at info-uri.info use: info:.... where &#039;...&#039; is the appropriate identifier label &lt;br /&gt;
		for identifiers that have COinS keywords, use the keyword: rft.isbn, rft.issn, rft.eissn&lt;br /&gt;
		for |asin= and |ol=, which require assembly, use the keyword: url&lt;br /&gt;
		for others make a URL using the value in prefix/suffix and #label, use the keyword: pre (not checked; any text other than &#039;info&#039;, &#039;rft&#039;, or &#039;url&#039; works here)&lt;br /&gt;
		set to nil to leave the identifier out of the COinS&lt;br /&gt;
	separator: character or text between label and the identifier in the rendered citation&lt;br /&gt;
	id_limit: for those identifiers with established limits, this property holds the upper limit&lt;br /&gt;
	access: use this parameter to set the access level for all instances of this identifier.&lt;br /&gt;
		the value must be a valid access level for an identifier (see [&#039;id-access&#039;] in this file).&lt;br /&gt;
	custom_access: to enable custom access level for an identifier, set this parameter&lt;br /&gt;
		to the parameter that should control it (normally &#039;id-access&#039;)&lt;br /&gt;
		&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local id_handlers = {&lt;br /&gt;
	[&#039;ARXIV&#039;] = {&lt;br /&gt;
		parameters = {&#039;arxiv&#039;, &#039;eprint&#039;},&lt;br /&gt;
		link = &#039;arXiv&#039;,&lt;br /&gt;
		redirect = &#039;arXiv (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q118398&#039;,&lt;br /&gt;
		label = &#039;arXiv&#039;,&lt;br /&gt;
		prefix = &#039;https://arxiv.org/abs/&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		COinS = &#039;info:arxiv&#039;,&lt;br /&gt;
		separator = &#039;:&#039;,&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;ASIN&#039;] = {&lt;br /&gt;
		parameters = { &#039;asin&#039;, &#039;ASIN&#039; },&lt;br /&gt;
		link = &#039;Amazon Standard Identification Number&#039;,&lt;br /&gt;
		redirect = &#039;ASIN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q1753278&#039;,&lt;br /&gt;
		label = &#039;ASIN&#039;,&lt;br /&gt;
		prefix = &#039;https://www.amazon.&#039;,&lt;br /&gt;
		COinS = &#039;url&#039;,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		encode = false;&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;BIBCODE&#039;] = {&lt;br /&gt;
		parameters = {&#039;bibcode&#039;},&lt;br /&gt;
		link = &#039;Bibcode&#039;,&lt;br /&gt;
		redirect = &#039;Bibcode (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q25754&#039;,&lt;br /&gt;
		label = &#039;Bibcode&#039;,&lt;br /&gt;
		prefix = &#039;https://ui.adsabs.harvard.edu/abs/&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		COinS = &#039;info:bibcode&#039;,&lt;br /&gt;
		separator = &#039;:&#039;,&lt;br /&gt;
		custom_access = &#039;bibcode-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;BIORXIV&#039;] = {&lt;br /&gt;
		parameters = {&#039;biorxiv&#039;},&lt;br /&gt;
		link = &#039;bioRxiv&#039;,&lt;br /&gt;
		redirect = &#039;bioRxiv (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q19835482&#039;,&lt;br /&gt;
		label = &#039;bioRxiv&#039;,&lt;br /&gt;
		prefix = &#039;https://doi.org/&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;CITESEERX&#039;] = {&lt;br /&gt;
		parameters = {&#039;citeseerx&#039;},&lt;br /&gt;
		link = &#039;CiteSeerX&#039;,&lt;br /&gt;
		redirect = &#039;CiteSeerX (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q2715061&#039;,&lt;br /&gt;
		label = &#039;CiteSeerX&#039;,&lt;br /&gt;
		prefix = &#039;https://citeseerx.ist.psu.edu/viewdoc/summary?doi=&#039;,&lt;br /&gt;
		COinS =  &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;DOI&#039;] = {																	-- Used by InternetArchiveBot&lt;br /&gt;
		parameters = { &#039;doi&#039;, &#039;DOI&#039;},&lt;br /&gt;
		link = &#039;Digital object identifier&#039;,&lt;br /&gt;
		redirect = &#039;doi (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q25670&#039;,&lt;br /&gt;
		label = &#039;doi&#039;,&lt;br /&gt;
		prefix = &#039;https://doi.org/&#039;,&lt;br /&gt;
		COinS = &#039;info:doi&#039;,&lt;br /&gt;
		separator = &#039;:&#039;,&lt;br /&gt;
		encode = true,&lt;br /&gt;
		custom_access = &#039;doi-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;EISSN&#039;] = {&lt;br /&gt;
		parameters = {&#039;eissn&#039;, &#039;EISSN&#039;},&lt;br /&gt;
		link = &#039;International Standard Serial Number#Electronic ISSN&#039;,&lt;br /&gt;
		redirect = &#039;eISSN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q46339674&#039;,&lt;br /&gt;
		label = &#039;eISSN&#039;,&lt;br /&gt;
		prefix = &#039;https://search.worldcat.org/issn/&#039;,&lt;br /&gt;
		COinS = &#039;rft.eissn&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;HDL&#039;] = {&lt;br /&gt;
		parameters = { &#039;hdl&#039;, &#039;HDL&#039; },&lt;br /&gt;
		link = &#039;Handle System&#039;,&lt;br /&gt;
		redirect = &#039;hdl (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q3126718&#039;,&lt;br /&gt;
		label = &#039;hdl&#039;,&lt;br /&gt;
		prefix = &#039;https://hdl.handle.net/&#039;,&lt;br /&gt;
		COinS = &#039;info:hdl&#039;,&lt;br /&gt;
		separator = &#039;:&#039;,&lt;br /&gt;
		encode = true,&lt;br /&gt;
		custom_access = &#039;hdl-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;ISBN&#039;] = {																-- Used by InternetArchiveBot&lt;br /&gt;
		parameters = {&#039;isbn&#039;, &#039;ISBN&#039;},&lt;br /&gt;
		link = &#039;International Standard Book Number&#039;,&lt;br /&gt;
		redirect = &#039;ISBN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q33057&#039;,&lt;br /&gt;
		label = &#039;ISBN&#039;,&lt;br /&gt;
		prefix = &#039;Special:BookSources/&#039;,&lt;br /&gt;
		COinS = &#039;rft.isbn&#039;,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;ISMN&#039;] = {&lt;br /&gt;
		parameters = {&#039;ismn&#039;, &#039;ISMN&#039;},&lt;br /&gt;
		link = &#039;International Standard Music Number&#039;,&lt;br /&gt;
		redirect = &#039;ISMN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q1666938&#039;,&lt;br /&gt;
		label = &#039;ISMN&#039;,&lt;br /&gt;
		prefix = &#039;&#039;,															-- not currently used;&lt;br /&gt;
		COinS = nil,															-- nil because we can&#039;t use pre or rft or info:&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;ISSN&#039;] = {&lt;br /&gt;
		parameters = {&#039;issn&#039;, &#039;ISSN&#039;},&lt;br /&gt;
		link = &#039;International Standard Serial Number&#039;,&lt;br /&gt;
		redirect = &#039;ISSN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q131276&#039;,&lt;br /&gt;
		label = &#039;ISSN&#039;,&lt;br /&gt;
		prefix = &#039;https://search.worldcat.org/issn/&#039;,&lt;br /&gt;
		COinS = &#039;rft.issn&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;JFM&#039;] = {&lt;br /&gt;
		parameters = {&#039;jfm&#039;, &#039;JFM&#039;},&lt;br /&gt;
		link = &#039;Jahrbuch über die Fortschritte der Mathematik&#039;,&lt;br /&gt;
		redirect = &#039;JFM (identifier)&#039;,&lt;br /&gt;
		q = &#039;&#039;,&lt;br /&gt;
		label = &#039;JFM&#039;,&lt;br /&gt;
		prefix = &#039;https://zbmath.org/?format=complete&amp;amp;q=an:&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;JSTOR&#039;] = {&lt;br /&gt;
		parameters = {&#039;jstor&#039;, &#039;JSTOR&#039;},&lt;br /&gt;
		link = &#039;JSTOR&#039;,&lt;br /&gt;
		redirect = &#039;JSTOR (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q1420342&#039;,&lt;br /&gt;
		label = &#039;JSTOR&#039;,&lt;br /&gt;
		prefix = &#039;https://www.jstor.org/stable/&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		custom_access = &#039;jstor-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;LCCN&#039;] = {&lt;br /&gt;
		parameters = {&#039;lccn&#039;, &#039;LCCN&#039;},&lt;br /&gt;
		link = &#039;Library of Congress Control Number&#039;,&lt;br /&gt;
		redirect = &#039;LCCN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q620946&#039;,&lt;br /&gt;
		label = &#039;LCCN&#039;,&lt;br /&gt;
		prefix = &#039;https://lccn.loc.gov/&#039;,&lt;br /&gt;
		COinS = &#039;info:lccn&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;MEDRXIV&#039;] = {&lt;br /&gt;
		parameters = {&#039;medrxiv&#039;},&lt;br /&gt;
		link = &#039;medRxiv&#039;,&lt;br /&gt;
		redirect = &#039;medRxiv (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q58465838&#039;,&lt;br /&gt;
		label = &#039;medRxiv&#039;,&lt;br /&gt;
		prefix = &#039;https://www.medrxiv.org/content/&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;MR&#039;] = {&lt;br /&gt;
		parameters = {&#039;mr&#039;, &#039;MR&#039;},&lt;br /&gt;
		link = &#039;Mathematical Reviews&#039;,&lt;br /&gt;
		redirect = &#039;MR (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q211172&#039;,&lt;br /&gt;
		label = &#039;MR&#039;,&lt;br /&gt;
		prefix = &#039;https://mathscinet.ams.org/mathscinet-getitem?mr=&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;OCLC&#039;] = {&lt;br /&gt;
		parameters = {&#039;oclc&#039;, &#039;OCLC&#039;},&lt;br /&gt;
		link = &#039;OCLC&#039;,&lt;br /&gt;
		redirect = &#039;OCLC (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q190593&#039;,&lt;br /&gt;
		label = &#039;OCLC&#039;,&lt;br /&gt;
		prefix = &#039;https://search.worldcat.org/oclc/&#039;,&lt;br /&gt;
		COinS = &#039;info:oclcnum&#039;,&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.OCLC or 0,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;OL&#039;] = {&lt;br /&gt;
		parameters = { &#039;ol&#039;, &#039;OL&#039; },&lt;br /&gt;
		link = &#039;Open Library&#039;,&lt;br /&gt;
		redirect = &#039;OL (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q1201876&#039;,&lt;br /&gt;
		label = &#039;OL&#039;,&lt;br /&gt;
		prefix = &#039;https://openlibrary.org/&#039;,&lt;br /&gt;
		COinS = &#039;url&#039;,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		encode = true,&lt;br /&gt;
		custom_access = &#039;ol-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;OSTI&#039;] = {&lt;br /&gt;
		parameters = {&#039;osti&#039;, &#039;OSTI&#039;},&lt;br /&gt;
		link = &#039;Office of Scientific and Technical Information&#039;,&lt;br /&gt;
		redirect = &#039;OSTI (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q2015776&#039;,&lt;br /&gt;
		label = &#039;OSTI&#039;,&lt;br /&gt;
		prefix = &#039;https://www.osti.gov/biblio/&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.OSTI or 0,&lt;br /&gt;
		custom_access = &#039;osti-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;PMC&#039;] = {&lt;br /&gt;
		parameters = {&#039;pmc&#039;, &#039;PMC&#039;},&lt;br /&gt;
		link = &#039;PubMed Central&#039;,&lt;br /&gt;
		redirect = &#039;PMC (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q229883&#039;,&lt;br /&gt;
		label = &#039;PMC&#039;,&lt;br /&gt;
		prefix = &#039;https://www.ncbi.nlm.nih.gov/pmc/articles/PMC&#039;,&lt;br /&gt;
		suffix = &#039;&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.PMC or 0,&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;PMID&#039;] = {&lt;br /&gt;
		parameters = {&#039;pmid&#039;, &#039;PMID&#039;},&lt;br /&gt;
		link = &#039;PubMed Identifier&#039;,&lt;br /&gt;
		redirect = &#039;PMID (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q2082879&#039;,&lt;br /&gt;
		label = &#039;PMID&#039;,&lt;br /&gt;
		prefix = &#039;https://pubmed.ncbi.nlm.nih.gov/&#039;,&lt;br /&gt;
		COinS = &#039;info:pmid&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.PMID or 0,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;RFC&#039;] = {&lt;br /&gt;
		parameters = {&#039;rfc&#039;, &#039;RFC&#039;},&lt;br /&gt;
		link = &#039;Request for Comments&#039;,&lt;br /&gt;
		redirect = &#039;RFC (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q212971&#039;,&lt;br /&gt;
		label = &#039;RFC&#039;,&lt;br /&gt;
		prefix = &#039;https://tools.ietf.org/html/rfc&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.RFC or 0,&lt;br /&gt;
		access = &#039;free&#039;,														-- free to read&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;SBN&#039;] = {&lt;br /&gt;
		parameters = {&#039;sbn&#039;, &#039;SBN&#039;},&lt;br /&gt;
		link = &#039;Standard Book Number&#039;,											-- redirect to International_Standard_Book_Number#History&lt;br /&gt;
		redirect = &#039;SBN (identifier)&#039;,&lt;br /&gt;
		label = &#039;SBN&#039;,&lt;br /&gt;
		prefix = &#039;Special:BookSources/0-&#039;,										-- prefix has leading zero necessary to make 9-digit sbn a 10-digit isbn&lt;br /&gt;
		COinS = nil,															-- nil because we can&#039;t use pre or rft or info:&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;SSRN&#039;] = {&lt;br /&gt;
		parameters = {&#039;ssrn&#039;, &#039;SSRN&#039;},&lt;br /&gt;
		link = &#039;Social Science Research Network&#039;,&lt;br /&gt;
		redirect = &#039;SSRN (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q7550801&#039;,&lt;br /&gt;
		label = &#039;SSRN&#039;,&lt;br /&gt;
		prefix = &#039;https://papers.ssrn.com/sol3/papers.cfm?abstract_id=&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.SSRN or 0,&lt;br /&gt;
		custom_access = &#039;ssrn-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;S2CID&#039;] = {&lt;br /&gt;
		parameters = {&#039;s2cid&#039;, &#039;S2CID&#039;},&lt;br /&gt;
		link = &#039;Semantic Scholar&#039;,&lt;br /&gt;
		redirect = &#039;S2CID (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q22908627&#039;,&lt;br /&gt;
		label = &#039;S2CID&#039;,&lt;br /&gt;
		prefix = &#039;https://api.semanticscholar.org/CorpusID:&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = false,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		id_limit = id_limits_data_t.S2CID or 0,&lt;br /&gt;
		custom_access = &#039;s2cid-access&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;USENETID&#039;] = {&lt;br /&gt;
		parameters = {&#039;message-id&#039;},&lt;br /&gt;
		link = &#039;Usenet&#039;,&lt;br /&gt;
		redirect = &#039;Usenet (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q193162&#039;,&lt;br /&gt;
		label = &#039;Usenet:&#039;,&lt;br /&gt;
		prefix = &#039;news:&#039;,&lt;br /&gt;
		encode = false,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	[&#039;ZBL&#039;] = {&lt;br /&gt;
		parameters = {&#039;zbl&#039;, &#039;ZBL&#039; },&lt;br /&gt;
		link = &#039;Zentralblatt MATH&#039;,&lt;br /&gt;
		redirect = &#039;Zbl (identifier)&#039;,&lt;br /&gt;
		q = &#039;Q190269&#039;,&lt;br /&gt;
		label = &#039;Zbl&#039;,&lt;br /&gt;
		prefix = &#039;https://zbmath.org/?format=complete&amp;amp;q=an:&#039;,&lt;br /&gt;
		COinS = &#039;pre&#039;,															-- use prefix value&lt;br /&gt;
		encode = true,&lt;br /&gt;
		separator = &#039;&amp;amp;nbsp;&#039;,&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;---------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return 	{&lt;br /&gt;
	use_identifier_redirects = use_identifier_redirects,						-- booleans defined in the settings at the top of this module&lt;br /&gt;
	local_lang_cat_enable = local_lang_cat_enable,&lt;br /&gt;
	date_name_auto_xlate_enable = date_name_auto_xlate_enable,&lt;br /&gt;
	date_digit_auto_xlate_enable = date_digit_auto_xlate_enable,&lt;br /&gt;
	enable_sort_keys = enable_sort_keys,&lt;br /&gt;
	&lt;br /&gt;
																				-- tables and variables created when this module is loaded&lt;br /&gt;
	global_df = get_date_format (),												-- this line can be replaced with &amp;quot;global_df = &#039;dmy-all&#039;,&amp;quot; to have all dates auto translated to dmy format.&lt;br /&gt;
	global_cs1_config_t = global_cs1_config_t,									-- global settings from {{cs1 config}}&lt;br /&gt;
	punct_skip = build_skip_table (punct_skip, punct_meta_params),&lt;br /&gt;
	url_skip = build_skip_table (url_skip, url_meta_params),&lt;br /&gt;
	known_free_doi_registrants_t = build_free_doi_registrants_table(),&lt;br /&gt;
	id_limits_data_load_fail = id_limits_data_load_fail,						-- true when commons tabular identifier-limit data fails to load&lt;br /&gt;
&lt;br /&gt;
	name_space_sort_keys = name_space_sort_keys,&lt;br /&gt;
	aliases = aliases,&lt;br /&gt;
	special_case_translation = special_case_translation,&lt;br /&gt;
	date_names = date_names,&lt;br /&gt;
	err_msg_supl = err_msg_supl,&lt;br /&gt;
	error_conditions = error_conditions,&lt;br /&gt;
	editor_markup_patterns = editor_markup_patterns,&lt;br /&gt;
	et_al_patterns = et_al_patterns,&lt;br /&gt;
	extended_registrants_t = extended_registrants_t,&lt;br /&gt;
	id_handlers = id_handlers,&lt;br /&gt;
	keywords_lists = keywords_lists,&lt;br /&gt;
	keywords_xlate = keywords_xlate,&lt;br /&gt;
	stripmarkers = stripmarkers,&lt;br /&gt;
	invisible_chars = invisible_chars,&lt;br /&gt;
	invisible_defs = invisible_defs,&lt;br /&gt;
	indic_script = indic_script,&lt;br /&gt;
	emoji_t = emoji_t,&lt;br /&gt;
	maint_cats = maint_cats,&lt;br /&gt;
	messages = messages,&lt;br /&gt;
	presentation = presentation,&lt;br /&gt;
	prop_cats = prop_cats,&lt;br /&gt;
	script_lang_codes = script_lang_codes,&lt;br /&gt;
	lang_tag_remap = lang_tag_remap,&lt;br /&gt;
	lang_name_remap = lang_name_remap,&lt;br /&gt;
	this_wiki_code = this_wiki_code,&lt;br /&gt;
	title_types = title_types,&lt;br /&gt;
	uncategorized_namespaces = uncategorized_namespaces_t,&lt;br /&gt;
	uncategorized_subpages = uncategorized_subpages,&lt;br /&gt;
	templates_using_volume = templates_using_volume,&lt;br /&gt;
	templates_using_issue = templates_using_issue,&lt;br /&gt;
	templates_not_using_page = templates_not_using_page,&lt;br /&gt;
	vol_iss_pg_patterns = vol_iss_pg_patterns,&lt;br /&gt;
	single_letter_2nd_lvl_domains_t = single_letter_2nd_lvl_domains_t,&lt;br /&gt;
	url_access_map_t = url_access_map_t,&lt;br /&gt;
	&lt;br /&gt;
	inter_wiki_map = inter_wiki_map,&lt;br /&gt;
	mw_languages_by_tag_t = mw_languages_by_tag_t,&lt;br /&gt;
	mw_languages_by_name_t = mw_languages_by_name_t,&lt;br /&gt;
	citation_class_map_t = citation_class_map_t,&lt;br /&gt;
&lt;br /&gt;
	citation_issue_t = citation_issue_t,&lt;br /&gt;
	citation_no_volume_t = citation_no_volume_t,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module_talk:Citation/CS1&amp;diff=337</id>
		<title>Module talk:Citation/CS1</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module_talk:Citation/CS1&amp;diff=337"/>
		<updated>2025-10-11T03:08:00Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#Redirect [[Help talk:Citation Style 1]]&lt;br /&gt;
&lt;br /&gt;
{{Rcat shell|&lt;br /&gt;
{{R from remote talk page}}&lt;br /&gt;
{{R from subpage}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
	<entry>
		<id>https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/doc&amp;diff=335</id>
		<title>Module:Citation/CS1/doc</title>
		<link rel="alternate" type="text/html" href="https://12treasures.com/wiki/index.php?title=Module:Citation/CS1/doc&amp;diff=335"/>
		<updated>2025-10-11T03:08:00Z</updated>

		<summary type="html">&lt;p&gt;Burnstyle: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=header /&amp;gt;{{sandbox other||&lt;br /&gt;
{{#switch:{{FULLPAGENAME}}&lt;br /&gt;
|Module:Citation/CS1/Suggestions={{high-use |article-space=yes |no-percent=yes}}&lt;br /&gt;
|#default={{high-risk |article-space=yes |no-percent=yes}}&lt;br /&gt;
}}&lt;br /&gt;
{{Module rating|p}}&lt;br /&gt;
{{cascade-protected template|page=module}}&lt;br /&gt;
{{#ifeq:{{FULLPAGENAME}}|Module:Citation/CS1|{{Uses TemplateStyles|Module:Citation/CS1/styles.css}}}}}}&amp;lt;!-- if pagename does not contain sandbox &lt;br /&gt;
--&amp;gt;&amp;lt;section end=header /&amp;gt;&lt;br /&gt;
This module and associated sub-modules support the {{cs1}} and {{cs2}} citation templates.  In general, it is not intended to be called directly, but is called by one of the core CS1 and CS2 templates.&lt;br /&gt;
&amp;lt;section begin=module_components_table /&amp;gt;&lt;br /&gt;
These files comprise the module support for CS1|2 citation templates:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin: 1em auto 1em auto;&amp;quot;&lt;br /&gt;
|+CS1 {{pipe}} CS2 modules&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|live!!colspan=&amp;quot;2&amp;quot;|sandbox!!diff!!description&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;8&amp;quot;| [[File:Full-protection-shackle.svg|20px|alt=Gold padlock|link=|sysop]] || [[Module:Citation/CS1]] || [[Module:Citation/CS1/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| Rendering and support functions&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/Configuration]] || [[Module:Citation/CS1/Configuration/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Configuration/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FConfiguration&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FConfiguration%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| Translation tables; error and identifier handlers&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/Whitelist]] || [[Module:Citation/CS1/Whitelist/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Whitelist/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FWhitelist&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FWhitelist%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| List of active and deprecated CS1{{pipe}}2 parameters&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/Date validation]] || [[Module:Citation/CS1/Date validation/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Date_validation/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FDate+validation&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FDate+validation%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff] || Date format validation functions&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/Identifiers]] || [[Module:Citation/CS1/Identifiers/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Identifiers/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FIdentifiers&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FIdentifiers%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| Functions that support the named identifiers (ISBN, DOI, PMID, etc.)&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/Utilities]] || [[Module:Citation/CS1/Utilities/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Utilities/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FUtilities&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FUtilities%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| Common functions and tables&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/COinS]] || [[Module:Citation/CS1/COinS/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/COinS/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FCOinS&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FCOinS%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| Functions that render a CS1{{pipe}}2 template&#039;s metadata&lt;br /&gt;
|-&lt;br /&gt;
| [[Module:Citation/CS1/styles.css]] || [[Module:Citation/CS1/sandbox/styles.css]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/sandbox/styles.css&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2Fstyles.css&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2Fsandbox%2Fstyles.css&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| [[CSS]] styles applied to the CS1{{pipe}}2 templates&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Template-protection-shackle.svg|20px|alt=Silver padlock|link=|auto confirmed]] || [[Module:Citation/CS1/Suggestions]] || [[Module:Citation/CS1/Suggestions/sandbox]] || {{Plain link|url=https://en.wikipedia.org/w/index.php?title=Module:Citation/CS1/Suggestions/sandbox&amp;amp;action=edit|name=[edit&amp;lt;nowiki&amp;gt;]&amp;lt;/nowiki&amp;gt;}} ||[https://en.wikipedia.org/wiki/Special:ComparePages?page1=Module%3ACitation%2FCS1%2FSuggestions&amp;amp;rev1=&amp;amp;page2=Module%3ACitation%2FCS1%2FSuggestions%2Fsandbox&amp;amp;rev2=&amp;amp;action=&amp;amp;diffonly=&amp;amp;unhide= diff]|| List that maps common erroneous parameter names to valid parameter names&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=module_components_table /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other documentation:&lt;br /&gt;
* [[Module talk:Citation/CS1/Feature requests]]&lt;br /&gt;
* [[Module talk:Citation/CS1/COinS]]&lt;br /&gt;
* [[Module:Cs1 documentation support]] – a set of functions (some experimental) that extract information from the module suite for the purpose of documenting CS1|2&lt;br /&gt;
** [[Module:Citation/CS1/doc/Category list]] – lists of category names taken directly from [[Module:Citation/CS1/Configuration]] and [[Module:Citation/CS1/Configuration/sandbox]]&lt;br /&gt;
testcases&lt;br /&gt;
*[[Module:Citation/CS1/testcases]] ([[Module talk:Citation/CS1/testcases|run]])&lt;br /&gt;
*[[Module:Citation/CS1/testcases/errors]] ([[Module talk:Citation/CS1/testcases/errors|run]]) – error and maintenance messaging&lt;br /&gt;
*[[Module:Citation/CS1/testcases/dates]] ([[Module talk:Citation/CS1/testcases/dates|run]]) – date validation&lt;br /&gt;
*[[Module:Citation/CS1/testcases/identifiers]] ([[Module talk:Citation/CS1/testcases/identifiers|run]]) – identifiers&lt;br /&gt;
*[[Module:Citation/CS1/testcases/anchor]] ([[Module talk:Citation/CS1/testcases/anchor|run]]) – CITEREF anchors&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{sandbox other||&lt;br /&gt;
{{#ifeq:{{FULLPAGENAME}}|Module:CS1|{{Rcat shell|{{R to subpage}} {{R from shortcut}}}}}}&lt;br /&gt;
[[Category:Modules that add a tracking category]]&lt;br /&gt;
{{#ifeq:{{SUBPAGENAME}}|Identifiers|[[Category:Modules using data from Wikidata]]}}&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;[[Category:Module documentation pages]]&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Burnstyle</name></author>
	</entry>
</feed>