From 58b0856deb141055e15e452de6fd5bce9d659925 Mon Sep 17 00:00:00 2001
From: Domenic Denicola ......
in
\n
\s*<\/em><\/p>/g, "
-/g, "
—"); + xml = xml.replace(/-<\/p>/g, "—
"); + xml = xml.replace(/-<\/em><\/p>/g, "—"); + xml = xml.replace(/\s?\s?–\s?\s?/g, "—"); + xml = xml.replace(/-\s\s?/g, "—"); + xml = xml.replace(/\s?\s-/g, "—"); + xml = xml.replace(/\s+—”/g, "—”"); + xml = xml.replace(/I-I/g, "I—I"); + xml = xml.replace(/I-uh/g, "I—uh"); + + return xml; +} + +function enDashJointNames(xml) { + // Joint names should use en dashes + xml = xml.replace(/Dallon-Pelham/g, "Dallon–Pelham"); + xml = xml.replace(/Bet-Gimel/g, "Bet–Gimel"); + xml = xml.replace(/Tristan-Capricorn/g, "Tristan–Capricorn"); + xml = xml.replace(/Capricorn-Byron/g, "Capricorn–Byron"); + xml = xml.replace(/Tristan-Byron/g, "Tristan–Byron"); + xml = xml.replace(/Gimel-Europe/g, "Gimel–Europe"); + xml = xml.replace(/G-N/g, "G–N"); + xml = xml.replace(/Imp-Damsel/g, "Imp–Damsel"); + xml = xml.replace(/Damsel-Ashley/g, "Damsel–Ashley"); + xml = xml.replace(/Antares-Anelace/g, "Antares–Anelace"); + xml = xml.replace(/Challenger-Gallant/g, "Challenger–Gallant"); + xml = xml.replace(/Undersider(s?)-(Breakthrough|Ambassador)/g, "Undersider$1–$2"); + xml = xml.replace(/Norwalk-Fairfield/g, "Norwalk–Fairfield"); + xml = xml.replace(/East-West/g, "east–west"); + xml = xml.replace(/(Green|Yellow)-Black/g, "$1–Black"); + xml = xml.replace(/Creutzfeldt-Jakob/g, "Creutzfeldt–Jakob"); + xml = xml.replace(/Astaroth-Nidhug/g, "Astaroth–Nidhug"); + xml = xml.replace(/Capulet-Montague/g, "Capulet–Montague"); + xml = xml.replace(/Weaver-Clockblocker/g, "Weaver–Clockblocker"); + xml = xml.replace(/Alexandria-Pretender/g, "Alexandria–Pretender"); + xml = xml.replace(/Night Hag-Nyx/g, "Night Hag–Nyx"); + xml = xml.replace(/Crawler-Breed/g, "Crawler–Breed"); + xml = xml.replace(/Simurgh-Myrddin-plant/g, "Simurgh–Myrddin–plant"); + xml = xml.replace(/Armsmaster-Defiant/g, "Armsmaster–Defiant"); + + return xml; +} + +function fixPossessives(xml) { // Fix possessive of names ending in "s" // Note: if the "s" is unvoiced, as in Marquis, then it doesn't get the second "s". xml = xml.replace(/([^‘])Judas’([^s])/g, "$1Judas’s$2"); @@ -246,62 +394,15 @@ function getBodyXML(chapter, book, contentEl) { xml = xml.replace(/([^‘])Ms. Stillons’([^s])/g, "$1Ms. Stillons’s$2"); xml = xml.replace(/([^‘])Chuckles’([^s])/g, "$1Chuckles’s$2"); - // Fixes dashes - xml = xml.replace(/ – /g, "—"); - xml = xml.replace(/“((?:)?)-/g, "“$1—"); - xml = xml.replace(/-[,.]?”/g, "—”"); - xml = xml.replace(/-(!|\?)”/g, "—$1”"); - xml = xml.replace(/-[,.]?<\/em>”/g, "—”"); - xml = xml.replace(/-“/g, "—”"); - xml = xml.replace(/-/g, "
—"); - xml = xml.replace(/-<\/p>/g, "—
"); - xml = xml.replace(/-<\/em><\/p>/g, "—"); - xml = xml.replace(/\s?\s?–\s?\s?/g, "—"); - xml = xml.replace(/-\s\s?/g, "—"); - xml = xml.replace(/\s?\s-/g, "—"); - xml = xml.replace(/\s+—”/g, "—”"); - xml = xml.replace(/I-I/g, "I—I"); - xml = xml.replace(/I-uh/g, "I—uh"); - - // "X-year-old" should use hyphens; all grammar guides agree. The books are very inconsistent but most often omit - // them. - xml = xml.replace(/(\w+)[ -]year[ -]old(s?)(?!\w)/g, "$1-year-old$2"); - xml = xml.replace(/(\w+) or (\w+)-year-old/g, "$1- or $2-year-old"); - - // Fix missing spaces after commas - xml = xml.replace(/([a-zA-Z]+),([a-zA-Z]+)/g, "$1, $2"); - - // Joint names should use em dashes - xml = xml.replace(/Dallon-Pelham/g, "Dallon–Pelham"); - xml = xml.replace(/Bet-Gimel/g, "Bet–Gimel"); - xml = xml.replace(/Tristan-Capricorn/g, "Tristan–Capricorn"); - xml = xml.replace(/Capricorn-Byron/g, "Capricorn–Byron"); - xml = xml.replace(/Tristan-Byron/g, "Tristan–Byron"); - xml = xml.replace(/Gimel-Europe/g, "Gimel–Europe"); - xml = xml.replace(/G-N/g, "G–N"); - xml = xml.replace(/Imp-Damsel/g, "Imp–Damsel"); - xml = xml.replace(/Damsel-Ashley/g, "Damsel–Ashley"); - xml = xml.replace(/Antares-Anelace/g, "Antares–Anelace"); - xml = xml.replace(/Challenger-Gallant/g, "Challenger–Gallant"); - xml = xml.replace(/Undersider(s?)-(Breakthrough|Ambassador)/g, "Undersider$1–$2"); - xml = xml.replace(/Norwalk-Fairfield/g, "Norwalk–Fairfield"); - xml = xml.replace(/East-West/g, "east–west"); - xml = xml.replace(/(Green|Yellow)-Black/g, "$1–Black"); - xml = xml.replace(/Creutzfeldt-Jakob/g, "Creutzfeldt–Jakob"); - xml = xml.replace(/Astaroth-Nidhug/g, "Astaroth–Nidhug"); - xml = xml.replace(/Capulet-Montague/g, "Capulet–Montague"); - xml = xml.replace(/Weaver-Clockblocker/g, "Weaver–Clockblocker"); - xml = xml.replace(/Alexandria-Pretender/g, "Alexandria–Pretender"); - xml = xml.replace(/Night Hag-Nyx/g, "Night Hag–Nyx"); - xml = xml.replace(/Crawler-Breed/g, "Crawler–Breed"); - xml = xml.replace(/Simurgh-Myrddin-plant/g, "Simurgh–Myrddin–plant"); - xml = xml.replace(/Armsmaster-Defiant/g, "Armsmaster–Defiant"); + return xml; +} +function cleanSceneBreaks(xml) { // Normalize scene breaks.]*)>■<\/p>/g, `
■
`); - xml = xml.replace(/⊙<\/p>/g, `
⊙
`); xml = xml.replace(/⊙<\/strong><\/p>/g, ` ⊙ ⊙<\/strong><\/em><\/p>/g,
` ⊙ ⊙ *⊙ *⊙ *⊙ *⊙<\/strong><\/p>/g,
` ⊙ ⊙ ⊙ ⊙ ⊙
“\s+/g, "
“"); xml = xml.replace(/'/g, "’"); xml = xml.replace(/’([A-Za-z]+)’/g, "‘$1’"); - xml = xml.replace(/‘Sup/g, "’Sup"); - xml = xml.replace(/‘cuz/g, "’cuz"); xml = xml.replace(/([a-z])”<\/p>/g, "$1.”
"); } @@ -226,6 +224,7 @@ function getBodyXML(chapter, book, contentEl) { xml = xml.replace(/ ? <\/p>/g, ""); xml = xml.replace(/([a-z]) ,/g, "$1,"); + xml = fixTruncatedWords(xml); xml = fixDialogueTags(xml); xml = fixForeignNames(xml); xml = fixEmDashes(xml); @@ -267,6 +266,22 @@ function getBodyXML(chapter, book, contentEl) { return { xml, warnings }; } +function fixTruncatedWords(xml) { + xml = xml.replace(/‘Sup/g, "’Sup"); + xml = xml.replace(/‘cuz/g, "’cuz"); + + // Short for "Sidepeace" + xml = xml.replace(/[‘’][Pp]iece(?![a-z])/g, "’Piece"); + + // Short for "Disjoint" + xml = xml.replace(/[‘’][Jj]oint(?![a-z])/g, "’Joint"); + + // Short for "Contender" + xml = xml.replace(/[‘’][Tt]end(?![a-z])/g, "’Tend"); + + return xml; +} + function fixDialogueTags(xml) { // Fix recurring miscapitalization with questions xml = xml.replace(/\?”\s\s?She asked/g, "?” she asked"); @@ -428,6 +443,9 @@ function fixCapitalization(xml, book) { // ReSound's name is sometimes miscapitalized. The word is never used in a non-name context. xml = xml.replace(/Resound/g, "ReSound"); + // The Speedrunners team name is missing its capitalization a couple times. + xml = xml.replace(/speedrunners/g, "Speedrunners"); + // "patrol block" is capitalized three different ways: "patrol block", "Patrol block", and "Patrol Block". "patrol // group" is always lowercased. It seems like "Patrol" is a proper name, and is used as a capitalized modifier in // other contexts (e.g. Patrol leader). So let's standardize on "Patrol]+)> /g, " ");
@@ -197,6 +197,8 @@ function getBodyXML(chapter, book, contentEl) {
xml = xml.replace(/‘([^<]+)<\/em>‘/g, "‘$1’");
xml = xml.replace(/I”m/g, "I’m");
xml = xml.replace(/([a-z]+)!<\/em>/g, "$1!");
+ xml = xml.replace(/(?([\w ’]+)([!.?])”<\/em>/g, "$1$2”");
+ xml = xml.replace(/([\w ’]+[!.?])”<\/em>/g, "$1”");
// Similar problems occur in Ward with and as do in Worm with s
xml = xml.replace(//g, "");
diff --git a/lib/substitutions.json b/lib/substitutions.json
index 5485182..8cdf8c4 100644
--- a/lib/substitutions.json
+++ b/lib/substitutions.json
@@ -2544,6 +2544,10 @@
{
"before": "city,” Jess said. “And",
"after": "city,” Jess said, “and"
+ },
+ {
+ "before": "“No!”",
+ "after": "“No!”"
}
],
"https://parahumans.wordpress.com/2013/01/10/migration-17-3/": [
@@ -3438,6 +3442,10 @@
{
"before": "White capped",
"after": "White-capped"
+ },
+ {
+ "before": ". “Bosses are worried.”",
+ "after": ". “Bosses are worried.”"
}
],
"https://parahumans.wordpress.com/2013/07/09/scarab-25-4/": [
@@ -3486,12 +3494,6 @@
"after": "avoided"
}
],
- "https://parahumans.wordpress.com/2013/07/16/interlude-25/": [
- {
- "before": "your manners?”",
- "after": "your manners?”"
- }
- ],
"https://parahumans.wordpress.com/2013/07/18/sting-26-1/": [
{
"before": "up,” I said. “The",
@@ -5798,10 +5800,6 @@
{
"before": "Be safe—Nat.",
"after": "Be safe —Nat."
- },
- {
- "before": "kill each other.”",
- "after": "kill each other.”"
}
],
"https://www.parahumans.net/2018/11/17/polarize-10-8/": [
@@ -5904,10 +5902,6 @@
{
"before": "how it were more active",
"after": "how it was more active"
- },
- {
- "before": "running to the same places.”",
- "after": "running to the same places.”"
}
],
"https://www.parahumans.net/2018/12/04/polarize-10-12/": [
@@ -6287,6 +6281,10 @@
{
"before": "you have have surmised",
"after": "you have surmised"
+ },
+ {
+ "before": "pound of flesh, at least—!”",
+ "after": "pound of flesh, at least—!”"
}
],
"https://www.parahumans.net/2019/04/02/black-13-1/": [
@@ -6649,6 +6647,10 @@
{
"before": "looking for mom in the crowd",
"after": "looking for Mom in the crowd"
+ },
+ {
+ "before": "“Entrapment.”",
+ "after": "“Entrapment.”"
}
],
"https://www.parahumans.net/2019/11/23/radiation-18-3/": [
@@ -6803,6 +6805,10 @@
{
"before": "you know about” my Aunt Sarah said",
"after": "you know about,” my Aunt Sarah said"
+ },
+ {
+ "before": "so they grow in…”",
+ "after": "so they grow in…”"
}
],
"https://www.parahumans.net/2020/02/11/infrared-19-f/": [
@@ -6841,6 +6847,12 @@
"after": "across this clearing. Eyes, cameras"
}
],
+ "https://www.parahumans.net/2020/03/07/last-20-4/": [
+ {
+ "before": "peace!” Cryptid growled",
+ "after": "peace!” Cryptid growled"
+ }
+ ],
"https://www.parahumans.net/2020/03/31/last-20-10/": [
{
"before": "shaping it as it rolled out. it became a circular",
From 075db7f4461739fd023f17ba3051fda519f8397c Mon Sep 17 00:00:00 2001
From: Domenic Denicola
”/g, "
“"); - xml = xml.replace(/“\s*<\/p>/g, "”
"); - xml = xml.replace(/“\s*<\/em><\/p>/g, "”"); - xml = xml.replace(/‘\s*<\/p>/g, "’"); - xml = xml.replace(/‘\s*<\/em><\/p>/g, "’“\s+/g, "
“"); - xml = xml.replace(/'/g, "’"); - xml = xml.replace(/’([A-Za-z]+)’/g, "‘$1’"); - xml = xml.replace(/([a-z])”<\/p>/g, "$1.”
"); - } - - // These interact with each other, so do them a few times. + // These quote/apostrophe/em fixes interact with each other. TODO: try to disentangle so we don't repeat all of + // fixEms. xml = xml.replace(/,” <\/em>/g, ",” "); fixEms(); - fixQuotesAndApostrophes(); + xml = xml.replace(/”/g, "
“"); + xml = xml.replace(/“\s*<\/p>/g, "”
"); + xml = xml.replace(/“\s*<\/em><\/p>/g, "“\s+/g, "
“"); + xml = xml.replace(/'/g, "’"); + xml = xml.replace(/’([A-Za-z]+)’/g, "‘$1’"); + xml = xml.replace(/([a-z])”<\/p>/g, "$1.”
"); fixEms(); xml = xml.replace(/‘([^<]+)<\/em>‘/g, "‘$1’"); - xml = xml.replace(/I”m/g, "I’m"); xml = xml.replace(/([a-z]+)!<\/em>/g, "$1!"); xml = xml.replace(/(?([\w ’]+)([!.?])”<\/em>/g, "$1$2”"); xml = xml.replace(/([\w ’]+[!.?])”<\/em>/g, "$1”"); + xml = xml.replace(/I”(m|ll)/g, "I’$1"); + xml = xml.replace(/””<\/p>/g, "”"); + xml = xml.replace(/^([^“]+?) ?”(?![ —<])/gm, "$1 “"); // Similar problems occur in Ward with and as do in Worm with s xml = xml.replace(//g, ""); diff --git a/lib/substitutions.json b/lib/substitutions.json index 9eafa64..3552166 100644 --- a/lib/substitutions.json +++ b/lib/substitutions.json @@ -2361,13 +2361,13 @@ "before": "leave?” Hero asked. ”Why", "after": "leave?” Hero asked. “Why" }, - { - "before": "eye contact. ”She", - "after": "eye contact. “She" - }, { "before": "Alexandria said. ”Why", "after": "Alexandria said. “Why" + }, + { + "before": "voice as quiet. ”We’ve got teams", + "after": "voice as quiet. “We’ve got teams" } ], "https://parahumans.wordpress.com/2012/11/10/colony-15-8/": [ @@ -3408,6 +3408,10 @@ { "before": "Bay,” Wanton said. “Not", "after": "Bay,” Wanton said, “not" + }, + { + "before": "Connecting to “agChat.ParahumansOnline016.par:6667” (Attempt 1 of 55)⊙
\n\n", + "after": "", + "_comment": "Our usual heuristics of removing the first paragraph to remove the previous/next chapter links are broken here because of the 'go back and look at the fake out' comment at the top" + }, + { + "before": "walls stone and wood. the building", + "after": "walls stone and wood. The building" + }, + { + "before": "he asked", + "after": "he asked." + }, + { + "before": "—and my costume leggings", + "after": "—And my costume leggings" + }, + { + "before": "I told Rain, “Is a goodbye.", + "after": "I told Rain, “is a goodbye." + }, + { + "before": "fiancee", + "after": "fiancée" + }, + { + "before": "Signal fire", + "after": "Signal Fire" + }, + { + "before": "“It’s winter,’", + "after": "“It’s winter,”" } ], "https://www.parahumans.net/2019/04/09/black-13-3/": [ @@ -6501,40 +6569,66 @@ { "before": "pound of flesh, at least—!”", "after": "pound of flesh, at least—!”" - } - ], - "https://www.parahumans.net/2019/04/02/black-13-1/": [ - { - "before": "walls stone and wood. the building", - "after": "walls stone and wood. The building" }, { - "before": "he asked", - "after": "he asked." + "before": "…Kind of hate hospitals", + "after": "…kind of hate hospitals" + }, + { + "before": "—For them!", + "after": "—for them!" } ], "https://www.parahumans.net/2019/04/13/black-13-4/": [ { "before": "wiped—or perhaps struck- clean.", "after": "wiped—or perhaps struck—clean." + }, + { + "before": "—Because it’s a dress", + "after": "—because it’s a dress" + }, + { + "before": "Bam!", + "after": "Bam!" } ], "https://www.parahumans.net/2019/04/16/black-13-5/": [ { "before": "For some of the heartbroken", "after": "For some of the Heartbroken" + }, + { + "before": "agent-parahuman", + "after": "agent–parahuman" } ], "https://www.parahumans.net/2019/04/20/black-13-6/": [ { "before": "I’m a Master, right, you", "after": "I’m a master, right, you" + }, + { + "before": "been studying, wooThe ground rumbled, the floor twisted, the house-sized turbine in the center of the room lost some of its foundation",
+ "_comment": "This paragraph break probably wasn't what was intended, but a good chunk of the sentence is missing, so this is the best fix I can think of."
}
],
"https://www.parahumans.net/2019/08/13/from-within-16-1/": [
@@ -7071,6 +7286,12 @@
"after": "letters I wrote to Dad’s friends"
}
],
+ "https://www.parahumans.net/2019/09/03/from-within-16-7/": [
+ {
+ "before": "aunt Rachel",
+ "after": "Aunt Rachel"
+ }
+ ],
"https://www.parahumans.net/2019/09/10/from-within-16-9/": [
{
"before": "changers and and shakers",
From 4c1c7cd03df0544f8a89c93141d338925e01407b Mon Sep 17 00:00:00 2001
From: Domenic Denicola “\s+/g, " “");
+ xml = xml.replace(/\s+”/g, "”");
xml = xml.replace(/'/g, "’");
xml = xml.replace(/’([A-Za-z]+)’/g, "‘$1’");
xml = xml.replace(/([a-z])”<\/p>/g, "$1.”
“Help’s on the way.”
", + "after": "“Help’s on the way.”
" } ], "https://parahumans.wordpress.com/2013/07/25/interlude-26-donation-bonus-1/": [ @@ -5755,10 +5767,6 @@ "before": "post-Prison", "after": "post-prison" }, - { - "before": "to take power!’ ”", - "after": "to take power!’”" - }, { "before": "I’m sorry, what? What?", "after": "I’m sorry, what? What?" @@ -7626,6 +7634,10 @@ { "before": "had harangued the P.R.T., even", "after": "had harangued the PRT, even" + }, + { + "before": "“Actually,” Tattletale said. “I’ve been going", + "after": "“Actually,” Tattletale said, “I’ve been going" } ], "https://www.parahumans.net/2020/04/21/last-20-e4/": [ From 2a0919547122dbd9de92c2c457189fab01b32b61 Mon Sep 17 00:00:00 2001 From: Domenic DenicolaBrigandine deceased, CD-5.
" }, { - "before": "deceased, CD-6.", + "before": "deceasedLove me, you?
\nLove me, true?
Crazed, kooky, cracked, crazy,
\nNutty, barmy, mad for me…
Crazed, kooky, cracked, crazy,
\nNutty, barmy, mad for me…
Crazed, kooky, cracked, crazy,
\nNutty, barmy, mad for me…
Crazed, kooky, cracked, crazy,
\nMental, dotty, whacked, loopy…
Crazed, kooky, cracked, crazy,
\nMental, dotty, whacked, loopy…
Crazed, kooky, cracked, crazy,
\nMental, dotty, whacked, loopy…
(.*),<\/p>/g, "
$1.
"); // Similar problems occur in Ward with and as do in Worm with s xml = xml.replace(//g, ""); diff --git a/lib/substitutions.json b/lib/substitutions.json index a74c262..3ab3573 100644 --- a/lib/substitutions.json +++ b/lib/substitutions.json @@ -3967,10 +3967,6 @@ "before": "‘lowed to do that, ‘miright", "after": "’lowed to do that, ’miright" }, - { - "before": "path was clear,", - "after": "path was clear." - }, { "before": "hard, don’t you?", "after": "hard, don’t you?(.*),<\/p>/g, "
$1.
"); + xml = xml.replace(/‘(\w+)‘(\w+)’/g, "‘$1’$2’"); // Similar problems occur in Ward with and as do in Worm with s xml = xml.replace(//g, ""); diff --git a/lib/substitutions.json b/lib/substitutions.json index cfad210..0311867 100644 --- a/lib/substitutions.json +++ b/lib/substitutions.json @@ -4985,12 +4985,6 @@ "after": "discuss goals,” Jessica said, “we think" } ], - "https://www.parahumans.net/2018/05/29/eclipse-x-4/": [ - { - "before": "ma‘am", - "after": "ma’am" - } - ], "https://www.parahumans.net/2018/05/30/eclipse-x-5/": [ { "before": "no words. and there", @@ -6864,10 +6858,6 @@ "before": "inter-earth", "after": "inter-Earth" }, - { - "before": "‘can‘t’", - "after": "‘can’t’" - }, { "before": "The Western of the two half-castles", "after": "The western of the two half-castles" From 0c22f7df11de4dfe4ba658feb329771f2813e600 Mon Sep 17 00:00:00 2001 From: Domenic DenicolaMe:
",
+ "after": "
Me:
"
+ },
+ {
+ "before": "
Vista (Little V):
",
+ "after": "
Vista (Little V):
"
+ },
+ {
+ "before": "few minutes of peace, damn it.—",
+ "after": "few minutes of peace, damn it—"
+ },
+ {
+ "regExp": "‘Clear",
+ "replacement": "’Clear"
}
],
"https://www.parahumans.net/2019/10/08/sundown-17-3/": [
{
"before": "say, Math class",
"after": "say, math class"
+ },
+ {
+ "before": "hang outs",
+ "after": "hangouts"
+ },
+ {
+ "before": "‘",
+ "after": "’"
+ },
+ {
+ "before": "“—Which I’m not.”",
+ "after": "“—which I’m not.”"
+ },
+ {
+ "before": "Vista for the kid’s sake",
+ "after": "Vista for the kids’ sake"
+ },
+ {
+ "before": "Day to day activities",
+ "after": "Day-to-day activities"
+ },
+ {
+ "before": "tower crescent avenue",
+ "after": "Tower Crescent Avenue"
+ },
+ {
+ "before": "all had to deal with ‘heavy’.",
+ "after": "all had to deal with ‘heavy’.”"
+ },
+ {
+ "before": "stuff?” I spoke up, “it get into that control",
+ "after": "stuff?” I spoke up. “It gets into that control"
+ },
+ {
+ "before": "talked to me a like",
+ "after": "talked to me like"
+ },
+ {
+ "before": "call me Big V",
+ "after": "call me big V"
}
],
"https://www.parahumans.net/2019/10/12/sundown-17-4/": [
{
"before": "on resisting Master influence",
"after": "on resisting master influence"
+ },
+ {
+ "before": "CDs and Vinyls",
+ "after": "CDs and vinyls"
+ },
+ {
+ "before": "“P.R.T.”",
+ "after": "“PRT.”"
+ },
+ {
+ "before": "second or third string Wardens",
+ "after": "second- or third-string Wardens"
+ },
+ {
+ "before": "intern level clerks",
+ "after": "intern-level clerks"
+ },
+ {
+ "before": "half way",
+ "after": "halfway"
+ },
+ {
+ "before": "her tone didn’t soft",
+ "after": "her tone didn’t soften"
+ },
+ {
+ "before": "Jessica, Mr…",
+ "after": "Jessica, Mr.…"
+ },
+ {
+ "before": "—Captive",
+ "after": "—captive"
+ },
+ {
+ "before": "come from? what language",
+ "after": "come from? What language"
}
],
"https://www.parahumans.net/2019/10/15/sundown-17-5/": [
{
"before": "Is mom walking without difficulty",
"after": "Is Mom walking without difficulty"
+ },
+ {
+ "before": "Through valkyrie",
+ "after": "Through Valkyrie"
+ },
+ {
+ "before": "“‘Lo.”",
+ "after": "“’Lo.”"
}
],
"https://www.parahumans.net/2019/10/19/sundown-17-6/": [
{
"before": "Probably dad",
"after": "Probably Dad"
+ },
+ {
+ "before": "and no and no rejiggered rat",
+ "after": "and no rejiggered rat"
+ },
+ {
+ "before": "Harder headed",
+ "after": "Harder-headed"
+ },
+ {
+ "before": "you proved my sister right? Tired,",
+ "after": "you proved my sister right? Tired,"
+ },
+ {
+ "before": "boundary,” He whispered",
+ "after": "boundary,” he whispered"
}
],
"https://www.parahumans.net/2019/10/22/sundown-17-7/": [
@@ -7596,6 +7736,10 @@
{
"before": "Golem explained
⊙
\n\n", + "before": "⊙
\n\n", "after": "", "_comment": "Our usual heuristics of removing the first paragraph to remove the previous/next chapter links are broken here because of the 'go back and look at the fake out' comment at the top" }, From 5b7ec80750554c63732fbf13f37f1c003ad3bbed Mon Sep 17 00:00:00 2001 From: Domenic Denicola(.*),<\/p>/g, "
$1.
"); xml = xml.replace(/‘(\w+)‘(\w+)’/g, "‘$1’$2’"); + xml = xml.replace(/([a-z]+), ([a-z]+)<\/em>/g, "$1, $2"); // Similar problems occur in Ward with and as do in Worm with s xml = xml.replace(//g, ""); From f5f0ba8e61b51ddf1635bca81e501951ae79c4f9 Mon Sep 17 00:00:00 2001 From: Domenic DenicolaIt was a sunny spring", + "after": "
It was a sunny spring" + }, + { + "before": "living like a king.
", + "after": "living like a king.“Imp was saying Lookout", + "after": "what to do.
\n“Imp was saying Lookout", + "_comment": "https://english.stackexchange.com/q/2288/242244" + }, + { + "before": "listening, lost in tinkering—
", + "after": "listening, lost in tinkering—”" + }, + { + "before": ":Transmit :Transmit -/g, " —");
xml = xml.replace(/-<\/p>/g, "—
\nI’ve got",
+ "after": "
I’ve got"
}
],
"https://www.parahumans.net/2020/04/28/last-20-e6/": [
@@ -8812,6 +9054,22 @@
{
"before": "Back to mom",
"after": "Back to Mom"
+ },
+ {
+ "before": "Gold morning",
+ "after": "Gold Morning"
+ },
+ {
+ "before": "pay it safe",
+ "after": "play it safe"
+ },
+ {
+ "before": "“—You’ll want to pass on",
+ "after": "“—you’ll want to pass on"
+ },
+ {
+ "before": "cross the Ocean",
+ "after": "cross the ocean"
}
],
"https://www.parahumans.net/?p=3365&preview=true": [
@@ -8846,6 +9104,18 @@
{
"before": "with black slacks. his hair was chin",
"after": "with black slacks. His hair was chin"
+ },
+ {
+ "before": "human right’s abuses",
+ "after": "human rights abuses"
+ },
+ {
+ "before": "‘us‘",
+ "after": "‘us’"
+ },
+ {
+ "before": "captain Gaile",
+ "after": "Captain Gaile"
}
]
}
From 0b4af123ab760b0d8c72a4e0c5ddd4391a71477b Mon Sep 17 00:00:00 2001
From: Domenic Denicola
CM@|*iMkofZ)Q{PTRpP5Bdko z1ifytfq*A?6cs% 9gkcwv2Zw;wE*4%MIu}3rOPl?6&+10O%j4T36t?ar05fxtH-8L9}FJv?BX) zvzdfK+mFK+`^b#HWEmEw&zR~=ZJb_Yx34W8|KKm#Dl`SgiVzi^^|%0F^iGh)8*0zi zv |?MC82I;_PSh>Ymk@L&RMzuTmu(Y&3Led{G%=)viiy;cISku$7~9ZzrhJd zteOFrH}RhGhv$;2yzu(rk%vMphQz*8w>!+%n&Lu0X#*!rzKuG4Kxj%bR_w(#5m zRa0eWZk*+1^nD}Z`9E1p=FZ8NiM4?j0E@;xyX1nI=+hWd9TmV+XnSkSkF9p8UqWHS z0c8Q$tIN8kSN?8&MOoC$6;t4#*0K {ql`0}W{Y{dklc*yIG97@~|$Oh-LVbb3EF z1i($vbk8*%$UcS8O3Rts4Rsd)lU9kNa~EpbO_J5%7&M3^QkRC#?9XKkauJMJ*FVbI zGS!LFopes#69c&1$L4?Odw&6N4md6dDWOipS9ND9^PjgW7hdh@zIHiTth0Aak}5+a z?DYG$--~3lSF>|WU6xzt1_YMuOr2L7`yAnt#o_xdW-gK(5;W|Rz=372F7?k|-LBZn zPndBnFq<#fFG>@Hd@UyI8|DPZbQ4T-7YH@SkIr5o9c$it`p9_hMDvsY0>i^Xp5Kd5 z9}j*7C(QP6AHlk|cq(SBS;@mq4atAvdP~q;-!1?=$;8I<@oU&%wMt6gt{+_vtIyE# z7<}6lZ?egycE|MBDMADc-~5$9!#G4kNUPF-Z|*D&F+7{p(*KfgrQYHmJ4KpX=NxKx zMPB!g-FeE>`!yuXPv~3Yzp2OMl=M QX1Y$j=-zHpL}`%B`WOUd|P{4fm$x z2l~6qFtWvMiF78%$2(T~U2wUz-K*_){1awGciyHx_I|u#k}l||bccE$bqT;5=oGH* zHQr9^D%i0MC)@W@A>&(_LDBCJmF`J47AjBLi{f}Ei{YSoUb>A-9i zc =Iw((lE&`S +EI iQzg8be54Y1CP;yZ)|_>Z3RBU&!Of0{s4Oy0Xo15b(22gA#r hd$K%tK9N`4W--sH_0)qPEHuP0PrgN37^a9w?a3vXK4PwR9d1AI-6%L zY&3HpW^yluZkGi QAzgBo8Kr_<&6X?=~e>k(51Z^b(I1*Fg` 1If&)8`BIjc R%jEbs^h4_;Rtwf@DIZg$!Z}9TGB#*w<8&50HGOD5Fh8Utb)r8A ziWO=fXLC<;|I*v5LGm&^B=*_)Na@#`QNc#rym}Nw#S}*1CL6ZC+gXe83Lv&b`C@fd zR>#`u+ZLC$d0eC+uj^4~Yh|MsfC?FIvClbsM*5F5XDKux&S_z`3}mem)Z?Vqd7xVP zIaMnPa(iW8*RzFqv=GcqaD@BAY!lA5p6(wulAW5#C#59H)1SX|8TMJhHmnY^4d%vk zpA5|2)JJ{*o*k{qbMF=h$xQlH?mUdsO; RqT@s#vrjJL-I(Vb ze>^5+TWJQDRhg}R+%{4_Kv=kreQ|r#0bGEkk^*wCPj+M|H{_S{Y{3YJAApBLCmd^) z_TBuq`GxT^lav4&)#yG8ZKUfzvx|^Bl7{zhopmfg{dgFWDd4R%$(hfsRm~i%++qp7 z%T@zP-2DM7jrKA*o+X#y1OJkxP$zDBQW6SI$(S%P*@?=`#+)Pg35eg^A^QY94#d<3 zFOD7d0DQ>oBkXwl#+UJA*$ov=oZjdL3+UdW_q#(kz_1mVp&a2ds4OaPg?FXfM$Tiy zBq6d8$=HOW9PvV8*MR|b=rnSzWZ_@{axYBKGpa|gcw^MY3e_4M6(;db {hDtOH0gAzH7zgAOT-{M^6%Ewqkm*wT&OxlpQDvjVi0#8*r9&%FZA4Dx{U z=%&9_G0q)`D@Y|{hxPBHJMfum^^+@OJKnRI{r 70=9gX8Sr+j(6EVFqDh4?2*+CEDkaVhb0{SM~$YA4`$Y7a%O<66c) znWm*1YBf{)IRb=bQ=IawYsSz=aWS8bg2u*-MZ@-}ySlH{0$%H%x(a>#(jFE*Q(TP) zr^SPJR%&oLQw4}5ua$BS?c0~zM?;qyt#%$$!qhj;--q4db`ms%*zO!=jpGl&Pb5F} z{n`9dmRFOYR=phMh?Vo!%k|@|ATF|ivZ;`tRB`ch8Q}asI_9VC7P>r|0CP*Sg+ko@ zqg%tz{S~e7dgDL2c71epuUNw?#Rca*ETnqUZ_V$wRvP790E+yJNWp{&j<}uly53pd z#NJG}QuW=Mh(^uN-{bRFRSH-Z!jw=Q7XZe}U@hzueol{kM8-zC!~V2m2Ka*-chvg# z6=Jd__vEJn9DB5ftd?;*ve7qt5OU;}8Tu5svBa|m+_sBQuR70A0bBq&$H#Yk(Dsh7 zsKfM(E#vlNIB9Ce3R*L8RbU(2Ue!2SaRI28$zgRJ2}z~Ua))X&GEq`5#&9Y;c`t+E zZqwQ#Po0ZWK+)XY^Jt=jZ{q2VS)Vj}54*(#5dW;z$V#nlW)A(_g3CM0ii~87zEzf= z4xfkcOEpZ5cf$Du!dvw#NiKx6{EakjOY@C}20b5;8-B+jR;W^|lvCvtZAOTdT_|6s zZ5o3ZgLh1~Qybs{nLLW+GD(f(OMqWzPGL`SBIFPXwq5;u{B!-s(N#hRGRJAAzf;oX zL>#tbauuL;ps`j7ET293rieF$a|Z2ssqD&f23vr~H&I2Mg5Vz3q&@P&=0KS<>H<*5 zUk_RqxM9P`FPF3l{HY6m6kgDnNzL=h@~g>w%fD$j6Z1bCL0n`4?EYz$`{9vpiz2$V z>)uE>Ygq6IDHohZaQMBWR=tO;5!m4aRZOcbG2ICH@z@4;9$&fQoU~xq;wvrxQ0v9X zmd#$N>%Qd+%)U6+Bc8 3UDfwM6id@fHZXI{?M&Znd|>nNNTxm z3inFI3YSv3z$>Tbf&8bHX}`#lQTww*0jn0s6DodtpXBebu}ig1<11FJ@perPX2%Kr z#*2F r|CfQFo)4f70vTcjYuU7w|S zjaG>u?%yL-Gcq9>f%Er s>5bsj6%boU6^z5}UCr(ymQACk3B z+?sb$Y v-+WK&pM4%@nC;)BQ(bC|)_gur(uDMfSoA z^QuhHHf>c-@~zQcO9Kk^G+W#PQo&XY2$1gg<_a@?CjkO*+LsDh4)2AkqXmg@6F~}V ztdp^1>3En((-_~{blW|DvV!!8(9bqL{4ZN16a0(kZPNuHyFDjOzq7iO#VF`rmY2_G z^v3zxTuw1$j7`fN6BS!9r^i5aYIcaCx&Y|i4T(6^SuMq7J%)bPXD4J5Il4x{;7P+c zYVxG!xtEO(4f^XVraEYad+oV)Nil!1(dON})2*e+#=2%pOjerP(~-zz@66ARA+Z}j z87B6a+$^lo8D-YuQ)%u&_Ots5bo`CIAzNcg5kXztxYqWlPV@=5@of%)#@l2@tiKcP zGj;)}QoXS#2eX4S !CfJQlHAYMB=4MOum7CPd%e$FpN_kZUs^xmb8= z+a0(2OIsd(X;rH{SeYPN=vpQl@AJbc($8sMukQjtWqW{DL;=~e2h|Jx-(uuu8?>2~ z^EnT5C*0rNUi+Haw0^)hm6|-6VLz{Fd7oSp#yq9( XEu!v`Q(ENe?ElUZJWO)|V4HQxW{WuIW=#SYNTDv@{74GD z0IU-{V^&((*cPK@?|D &KudL`* Z(|@AyG-txf$Qy2Pps+Aqs%Ky{hP@6K$;iC-`>%T-Tg z tvbZr|t@l@qjNF0C@pbv&5w^c#_D#Js5qMX^!mu*j7!H_kb zQQtU$rORG~N#*4sp2Z&b1x}o9$K5fZ_@H-_{BFP4yaYx49#qwxJrb;^9nnF_FDct< z5$y9&m2M+Z34iYA4R7B|xSPGXIzpGpBLCQ|0lBPE)njdHJ+YG9#m_QPRrE^8&_cuW zigV-#k$1B&raK(KTdOdeI;Ir<_`(kSNsnRD!sU@*VWGqp?Gh_Jh~FJWNubEJia0f{ zzh2pGpjratueJ)e`ok@(V(iAf6>aY?<(c^dNvS}UOWzp|0aU#rw+0B+IML^XK~CMk zk(!#UngFl+oSdR9*;+tDE0rc(mo?#$yZ6nd4OujUP;%(*MDUjRmDx0nzt@+?-<;$= ziRb!(Bh9c%5u8yQ&5C9`+oBBYFuu{}EB960T5w$@{Bv(6sVWH;j5cJJs-I2Ijl}w` zwI532Bv+dlI{Lmy@@6wFspSm?s||a|DvLUW3(CmJvu|)D@;rE0tN5^t+AF*c7VK2p zs*K}bHp~#yQGTiG)s-kQ@34s^?21s=jAI0@PMObCIGs5*z6CooWE)X6oNqAU4~8~O zl_YWL?RVX_u+V5`+4D{fZjb%r*(ni^ORy8wvuqa`W#Ds|2L1{HN7rR3l&Sr5Txs6k z0CxT&t{5?vcS758u4!p`YQYn!%@%6xe|CeGZbL0%ZXX)Wy>~1SR|P-hRI0WwxbiXQ zaAx}yd;$0}Zpxv!8OlV^E%$%gbG+e;?>mkiGF$yZ&4e`?794B8q*dl-;Z%qvRx?Pu zne;AT7W9T?ZfJGBs0=mjXUv{Lx%J`sBY`o@${d fKv2H(4{*a4`gmekesd87mJZ99{sfZgL+GVzImyj;*kAn<2JemTUq}4KNq& z)_Sazd2mfo%KSnz9E8 =wnNXF-;1r!v8IAb!RR5K0fSI{=@RTFNCA_qT!J)!8=2U}J2V3Lm}qXPwaP<758`$LV?KU^855>@t*g2n@H9k#K*t zy~na=mI`inxd1rAeqR8#CwngdTq=B4}4+*D}O0i g2BNUxy2Tz0*8$dk4-i zbQ^QH*3xhn`Kby~@5SS5C3R*J^>L-i$0c;%6pS0fdY@gdcFV~A(NNA1hdB{DVK%YO z6S@GrCGTNsrB&Jq()c?=C xY@fE2lQk|{yVkf~sQ0@E*;G`>oubS#RH;EeTc zl?C3E`!4W)`awnf)-A|)ib`%-J{YWlZE4A}vv+{{!V!41F&nW)6kV38qJ>ZEYB6m& zkcoD9K1pK&Y<|3cgtp(3KWR4p9%%WjMz%RMRgHgm6Lpmry=j}c6SMQA^!q}zUzK<* z=hcRN0ZE}(LU8UV&TH53;dgG@l!EYzJscLYtutBQc`D!9E_Re~<_A>- ncI}B zRm%-e60=IIrUJ~vzg4@#?(xOs*M#qkEpqKy1m68>0iQ*w)GJpcHa9Fvc>J4wnv=Pu zrqgHkb4ISJ$O^qSE3L)rUaF{q{d1iT_`=9@^HCIRAT|h0T&QDK7oORjkFV)2(f`8( zH*BhoUURA16B_Wp$4UOTEW?E;nQARhJO-=K#;XHr 3DkL) z+K(wnZ15{=3(jubN4bR3!C=tcnC@`7&f36|T)NW*=x-OI++!KQgxQUhh;!ei=4RM+ z*T4isx#f&-R+Av44!jYMTvFwabk5yyEt>g<@8dP-HU8Fjk`wox{G`||=cbs yw9ELqwhK;eJSzbyA&+I`lkM2^G_85lQ@jgub*XmSVT?u3hvx!}jrap!e zp)zLfjthYN1@~`9cs-v&JJDJHaFNRpPh^Le- kDpYKSr8cWiyYGQI+5g-+X2WiEd?25 !_tF8p@hi+e-9JS$8?p4ViUF zP-o7&0JvP{qU2CycWkI|o+IK> #Vb8aR^%B|3>{8T$UCgoy%}ag)Db@=zb$iTlXqI6&y@0N#Vd*Z%6uevz%}L3fd# zkAkeFD9?;?b6HLPVC!ABKaq(%dlCch3bi PXCa@&P|I$KUy(GA<{w{W6{{ zpCa<>-?Vix82D-X{1x1T;r(?@o>T)<>Zxmo@un!?Wn3EL(x-!G-w^xDGX$WY;3Vfz z=~|u8?=dB+DniW(QCAI@)%KlPPf$FsL|asv!OwU(AxF*HBp&Cimx_7PYF?pIy87VT z&d#!^+b4leCZKIF=8Z2qCbi+w-NKZLcRk!of}eKbFA`7tSBIU3xCwh@8#Xry5wtms z71i4CnNE*NcD-NP^ws9RL{Tb&>HVM*OOoMao&E=#8 qe$OTi BB6>1>&CsV~C1DOlG=2 zu?!h`nN7(ax7Qn(Q0*BcTk*c{?)bsnb0J2a%9q^g61Y2ma{|{x<@}3naLBO3MSzQd zOVs1bekUBG0Z`}0rP_DF$TZi*{bhn@wwIa=S i9t}|#uuo3b4 zSl%$?^s597at1}Y+EMOA;9tL9SC#v&eU9rtn@10)QqR-Q-QTa C^hL%|Wfr^pyqcudUBL32Zw|T2P_8)S%wTXQJDt>o= zDsI`!YaA0f&r86W6xn~ATi9s$Df0$(jJ5zaYhC{FUg`-6Bw#cg{KU>&Ldh0#Z=tkk zrtcjxip)XsQZph8%FUXO1Osn34nLGAc-S@Al=Zb7x~LQs$~M)ttf#R4A|dFx5V)V% zB`{xsu8f V!&GOo_THm&Jha(tOyb&HVv zH$B+&vfr`iY2ZiCo%jm?^2%xE5n50oQ$UWSi(@3m3m?P3^IOBmW5y)fHxHOt{voFk zN%PPl?M#6z@7E82*QDrJu*LTK?8?Sbf6{|B_^QHG9{D3WW+JnWlRSMulARZTkZUWG z(*jH?_smF7aVj~>)?BxkU&g8Q3(x6((;DI-)?{@}m%TvOMLl+(UV@}Pv(6_XMNYMT z{!@;0(gi d^RMdj69ie1gUV0 zR*|&%Q#{GlyUX-M^rC+w5sABYJS3G)_oTKkb6 zfY~=WcgUzar}mt&yV!7(QrBDU1ns3fc9oG*HDNp@=qN+tqJ=-n^d%(vtm|x+KTHD# zck@;ct)Cj$54_zp)DznC6i#m$auqf^0h>*$CcF%_;emB#3YmQA;0b}}rP~{)WO_Kf z0|>7!Ctb~*c9-H)ElHO<-+D(0blcH-kRO)T)kNX58Wd!Gh$6N;AF0C?;1rsN5UVO? zMJSnef%u~FsuTVDk6~kDhm;JVQ@`>=cf6->i|3&7gVxELo9`0^<}CpAh4?yXcD+ho z0IyWt{gc^ |`A-7_6ednbs=?&;)X+{tslQ~;L z_AQk3$h9_(=w$WJU5@P26ga8bbyR#Gy{xp4cV1c#2|rk In9 zx%x*8HF}ELf*wwLdf7*}zoG;d`9SI#)%1N2(QDeYYrr0BiLO0bvGdKXvzVQzM;4NY z%cn5|jC@`edVZ$HpUG=1k)#I`1=575GZ8_GSB7c+0syoCY 6AntGGXo9xwxxD$z}+PF-qChCN^d-;V_Su?w%QkL%w(fA((hoKD`Ru(ux#z*ZL-%bOjb17o5x*B&(` z+4DS?@k#!3W5L*6xLE>fQ0-peFzrwz38;MD*_kD69Y2wsvZO3hi2iP91*G=Qj5!Og zqZ-^&sIHD3cwKb-me^Lk!-*;$t-cdYu?GmBZKzOUxG;GovHaFFCvBDe18boZ9#cp$ zE0s#DJ?+mI`m|VNk0pDcN=~uh^R2ow1Dc?mn;Kvt5Zzhpw^@o}do($aQ|Fo4d1Bx% z{PL^RtkvA&oDhPCcS?u#+YbR$dPMTB9*rR(q4;k|7N!{9;aRppTp2gHT9n{&tj$)P zxDux!;4ba8`95f}-Q~=EwA}h-cbR4l nB-tE<+n8 z`<8Hf$#uuB2BReG4DuKW?sS=l@F73{>D%8E7FtHOsTYI}LTT&lSIzzPCI{yC`vfJo zHs^*f%OPvlJ4I4gkxN_-P0jAnrheZV|GE$L!z>a6rgs@{woeoh) $GnbZ8`;?6w*e=i$be*Y2o zc^|ZPr_EGNA8)b8p0LYl;q%&0%2{T<6@&Q` _qf>>4?U-O@c}r^7$L5F*4vdzznx^1 zifO++EUq%b_Hp#-)Lj2C#_ns|a_)%Fyu!f=!$@}!N_c_wTn{`P+2CV;zPe$i>s1E4 zb}I$(Y?v~7-RSXDxijK8=A%5U)=Wz*#;qR}=;?pNwuaz{FDBu_-+GAC9BUB+^J|`Q zJ5?# ?cG}dZ`eK!9i%8Mq5K5kOKW<=@jWnR^+bO?pj}t)on(T7J-$?01&%|8 z8(PA4ETZyxJ->|_J@*6qI5HrEvOk)vRWF5HBmd!(eY;P|TuMq5S8bW;Sfn_pSf(6Y ztI{}yii8uNS =UCTvmdH?82z8F0e%67nBU9cI*UMQDX z-m%)}L9`A5{-(J8($h`P4g >6*BZERNeqCc(x@4}0VnFL|^_FnTt* z)_IPiR>RF^dK_I+heIX=stnI2bK;7(w`5wfrtTA;Tj#LSTgIv#M~>fVz5oQ3mi(w4 zC8?J_9ea4gMqT6@^x83u_AHAn`;+5RDaF5dMAMwKaO%M=PyAgV)wdc1-rCFfMp)jd zo~5W;w=JP}pS_p2eF)&V0PywD=q_p84_0$!smN V@ F74TUbLRwk64SlQBQ@MkS89#vj} zbg!RbY_jrf+|q1kC}_6Q5x~ *BjejJy~*^ea_pK&tFa7L9|O)aj@UbiEK@ `jJZtmTe&MZrp774mA#yRr*G)C8&z`cxnIF@CZZ9sHh`$GC zHD#m(J$O9Dp()i`CGOBVK^eJqRBTs(I>@DSUYp-G0!Nz^b1q=C6 7BxB!?7GaFmZE<3)jkw2UMgjT&V<2u`J z2Mrw14fR=~ !rTp9U|Q$dDx9+$ z?1_XJS2l{-0Tjg8^6s|K=^OAel^m?I%|n=?OM EGbFnR5|x8Vq0s;&_XWLcQTt6 zFy4pH8N2>j$fS;p**_#$=#Aw6wA+7jbgk92DEJAk!Xg{?77Kze=#6E@%iY^e$P7Q@ zT?yg_?AFCgidUMrE>9IoBF1 T=)jt}0 zv4ubjY=8W9c8&2aPH?!DZD~i{7{h^TmqjEf_8 C*SePKF_=h K6 HBZ!^rn;|jP#7rFHYh$7v3W`08!LDFM@o-9$N)5Fa 3ow)H#7}90 zn$W+p>D3*xHm42ckoTEts*Pt1rgZq&B_CvLtMa{6XG{MDz2nNoP13N+0TD4Lpfkdi zbC=Mi(K_tI1&91~Dbl{C%>t$31^;L5GgW>k_eX2&)WAhWd6xFU+NTn0*O{- GVK=LmB8Z<1bSdM zl2N;Y;0JDRa&|{Epvjd>T4p(O$8Z3Fy!Y~}6}|b6#nsz)9V3z99jBkho}lWD&H4Fi z)K3rs>z1e`X~n8YTTa=kPuX|J>WL7-*(ij2f9M?dt?GvgbMP|+0qy5mrW?R9D-5l( z?wnUg4nVU!v89cDdVEF??rZ!yhF*3_L@C;KmX!l~ISPHQkl!qBf(E}f6?(NW73fEb zixsqFRo)G-cY?IHJ%~I`dtY<@W9Fz>lq7~}TV9_T9~o29!a5iUyqRZp^V8bNNPdZV zgYn?E46+saGiw6WHcdP;uxe+u0GZQ=l-afkQ@WPn +gOkk#WQ%6`=^Je zN)fuZx-i=Wv2kf63ip!}8(w0=_wyxsL`tG%DXzI~k1b=ddd8>z>?7uu5WIvA<1*VH zbHtdVuyn}oQ6MATAVgs$bTxpL`DN<8GYY+k1y|UgJ6Bb0WdtYBOiRtU?C))IwFTs& z;m@}#Ueui0?wGWiY`EEn12G~`NdGt|i&>47 -;?Z@6i4YM#n1ry$86E%TLbNX5j-K6SKh-KFO JjrdL`KP8@OA?Hf`3E+d%8az1%G7_DyDI3+qE8Y7$UfbhXZ{mD z4T#zZzkx?kDz)@~IZUBE3zp!fq_HOgt&m;QVt=S5!RxOoLZRmn!HhgZw<%lzA_3aV zIWzj5>@$WgWag1{ebS*vu@WT__SeTY_MpGG&TETbXJ;t+KR?HJK2*&5q=dD--p`2r zs?(FQnTTkrx0J-mKmz0bZuu+A(EU0YiKi`s^oAS9QnvE}2D7^mTZ@5#?O^%8?-EZ> zv>P;@I98VJnSFYWh`vpn^;G5cMPQ3{hr~rl(?v^Z#O$0xM=h4A=SiCa$PB%1X!Q^) zfG}ovI{Dh;%eq&nQfP{h>1%7?bRJN`4KRn>{c=0Sp=rZ%@}!>?YFEAYEBEr4yG tVV#`n{Y(ZM`2N zL85hZUyURpqXb%_>&*iF?M?Gs%F;JYHW@i2Ml>%#+Ne@uzChVz4~=XdR1;eMy2=8t z>$O$6ujrbcUxgK~jZ+< y@<;F-qnN;i?&JHKVtNH#NIgiy+$64EWe{8 zKCUW#2!ETgDavDJpMaUa{7#)A=-Ko9OH#nrTrhBlT9tW=d}oX#S{Ra-YR D56w4zlHFKm=-j%<$7RaW4#Fc({yXKXT_4-0JzIZ!jv zig(LU{w`?+Vk}Y%x_bZ~>rM(V;Q8?5=^!+2oBGsr7|EnW<%;dAvyHQnnkbx*C>*s< z9b9;P+~rY7JDfkv5E3{{;X{WmLP;hEcLlw?_9vFfxdtNJT6BxW{^d_`i_xt&1B(4i z^K=!xU1v-- ZQnvcxV3Jsml!V zk;Cgfx@0b%;{TgId?#j=d}T}J`h*Oh?k_2`MO)Cqtw>Un;MnZ;qvo0}W)xS7QDgjT zy(!Lli^5#)hQ->1%(qxdv>&<18tmijT=H;K*UbbXCGE>{@?Q6r)6*L9;a@EEHN{^v zycYOzaM(w2rpR5N{-_CdeL0t<#N|77@7iA^l4>|7X*@?%`P3@X3+&PCAyhbetQZPb zADeY$Gj8->vkS}!lvy|LEB{sZ+Xxvv`w5+0)p#iTPa!_}DV!m$Ffr!$9}b#NhWq#= zF9POMj>wD_u*5PHj~sIQ-EN&=68=8_&N1UI+DM$^&8&F_JjQpD#cUJk0oyHqyJdHt zP2UoPmfo%Nuq2;WOdFB!pxcIKcJdnqdblqDw?qYdEZQpM3@L`)e)TZu19T>@V_k3e zj>p`@#9+Dm^rnMePL_*Pa4k`t;G_R}?@kNF>hwHeqhD`pP-`Ow-|~6DJU-KR3={FR z3<@uIJ#nFi6AYJQk@Q=~qn6gPb;I-b$96gPG(5*|lKYtwF96eQCuyC?&vMzyxI=}n zxBc|mAQj8RFV?qKgo#`N5=2E;Onhk(-7D61Z*9pZ;xXtW!5mB?`N&@2Bc1SkVaX*- ze8|fDssDy`O5{-1<@Z 7%{4RMF zz=u>7U74aJlDS8Td!nAiwnpXWC=3GD>0}f4IGNd}GG}Qo;b`bG=!@;Yv~1mnC@2wB z=Tuo>taDH2Wr|Tq4~}{n8r6Q+#iRjK3r>H-Pl=Q2DfEd 2@)GV9`L#xwdsOK6h_i>d&FalStAmFW zgN?wow#R=d+)9B_(Qy351CKZ6X=7xIo7qQxj^zA(vwtwR;ypbI5y~FZsT~ ylp%xBLzfyPiw z?=skWT^V`-H50hNfMy_#x6@{G9J?dpi0#i-U@Kz3)gUJgv8vki;@b|FW7ko+nlED= zk60v!trJh{dHaM3mY^@KW9u74rVId%)0`P85=wo3!*tevfuBrO9y5$+G(3fR377l> zVS<$@Q!JMT bT-^S1KI6qf*H{Epd?AzHI^;p|3k+ep?o57RIj_FQ5dVMOBiQ_yY} z=V;OnTlpz;F&US8txw4}y5R{4 `nRx9{K z&!LjbLn-If^(JIKc`Bxd;E4y>QhIM6<$nS6fA*C=o$1YVYiy9T`V!+g^L&mu|7Q;^ zo}mARkoi}nZZW={htRfEz5(}P)S b)u4_LJ_Nw z$|>g@mlPopIiJd$W)3-@trBuv2q8vJIm~jHIgFKKIp=KH9CB`KP8*wje(&$^Pw?>G zeR#gE=XE~-Cxr!|icvUC$G+5%9w!;lLnHCM{HR`>&!UibSLFY$o~G?P@NX|`;MHAl zlvl7{8xK8{U|^_gYEvt>-~tOsmCqZ{?Th{1&*n?KP7hm@;dD2FIh<9D*%o{0RX5%M z4fHu${u?!V{>LKbc_Wq9ZFn^cW5n&qdt;IDxTw|P>FbT3`CJtm+Kc^TXaXu+wg7|s zhQQh0BXGLX8!Jh1*}9$FSM05)-a=vff{252GR!cWtrZy9Z+nQHJ3&2QvCQ8r!f}0j z6D&LOdRpVtl @WJ}BQ+@h;1uP+`p(!`KH=*&BGoh!|_4FAIN !O~#P)$HF# zv%^K^su9hP@(&<)c^j|o?Wxm%Ns%Q*ylsnTosgFsuxP;=s2<+kZ?du3!e2Pc5Qpzu z&3uJp9JInUM>gw_C!hk(WNezGfd3s)*R4CJHE9g{)`R@MRZmT_!&~*`?bYL>=EB-r zRmzL4_%Qxh@I2p$h@J~Ranp>kniwd+MwOVKmzkP=80LN2Yi2uy4+TnJRv5ejwcT9t znSpp8x_oUMd~dMO7_M6u{0rJ2P;O_{e!_kDx{aams9Jh5yS*$Hl {!e$&JHDxsC<;tAK1cz1#A2vh Jl3^Q|>80tkFSiekjq2)SlVpD8!rNP=G4&KBEKKsk z`ZeNANbPUY>#h5fI8l#jU`6mFwrmQSAB2Mn>r`z&wrl1cKgjAKi|HrLkWapZ*PJ?m zZ1+h}SN&w;6ww#Y4nMn$dsSu&{iq|kIKAu?l2><)rgQ#nSa9#Y;9AgJs?CHrc)YYV z>88{*cwil8;Z4RC#&Rg&vMxiqkX8KR0KT$emHjn$pir!GJ0UFTyX*nS0j;w8 KJtY>JzX>$_>ZZOM+(eq4;sl&Z!@_xIkC;j`W8^~AF@oYU~d(9GD z_JjP9&k96Tf3jxoHUm@h0Q*Z59pecai8=4z$m{Mc*PW=!3zK@*`%m7c&3r-8L97Xp z!%Ibz)flP{!Hzate3RmbobLQ`hMu6qUb9Drwdf-`SI4AHF7^N=b(gWfNBcS7x++4v zrf)r7tyJT7$GE=sytOk;|Bvm+tW--Xxp$t_0lL6cpMX%=W2OJ@9BV)fSrAFbBX8k5 z|6_}-XUS2@AWbf@#!2v{+_smVU<$Vse$H$KQqa!}!Jjdqx*Z5z&(;evq`CJQ)EL&M zujc9Al_IPP#1w;bd}!8~8 GLA+HP3~z0o=|8;;gz)4S2!D!JkzTb|UfJiGR^I#xF<&{MrLoYDFZ91xkF&l4PL z27tHsh`miFg?#wgMJ6ktf3;N#Z!q1jWOvrmOrP01@{xP5^2f+`gIv9RtId_I%?+Cq z59;Gbi;(L-j%ed= K^4gJ z%= R3F8l?QKgRn!Jrb_aF?|&%Pjf$vUdqCFYHtafSK7@QRoE&H6thZMR*@$zAG7lh zL-LYzA+D@)Va&I@vvnAU+9DgE>(^^!&6Z7i9BX)Pe0xiZRow!O>aofoa5ps`xgATH z>=!LjSj%3;$ #n1YVBbcH zwyQ+Ex6T=#TB<*yRy-%<=PBlK^{j_f{@BJR2uQNdP}y^-p!SbF6H1})UllUIp99rA z)wn6#4&f8AbW&SQaOol~4js;4^u6w*RT0TKE$nJ>fO(SWR_c3f;YBrLZy`h>9_mv- z*PiPgy!O01LTD*5)H+L9Us{<*@@^yo@Q0vdo-ifmV2Vf=hMnq_bjWH$oDS*RYQ)d{ zsP}X&_e_Dn0+cP#f9xa{-cDmR$|#OV#@#Ldc95kl!zgl!d~bYmd_OHJjzzY0^RypB zJvvKt?dc<}6O^vVf*VzCzERJ7F$(@(cc3UG-Z8AmN(f$Ke=8YgRv>9{tmSSZKM15L zYk&GLWvn&9^@O7Y2HAI@D+E5vHlDK&kF`biQ71ao`t{cepSweVPyWs1b?)|^DvJe< zpEBoyP1f(Lvx$xnWR*W>W+v^2Wu4bM#@%yu2fLxAIkX&pl|q;$kSr Zq?Vyg z` PP zsU&<1h}$d8GRKxGziwgf>ErDa;#X;1jT;q<%UX;s@N&fJMD(uD(9lNj8^eF!TIq6v zjAFwXD=M^pcIRI2y)iV5ovFyiVTQpPnuL4>q!+`UCI%IV&7NoB=q|ZZDq4+NRj5EZ zA8trJJ3du~ahnny@mR!WJd}Gbm2ZNRI4LCp|K9dS)4K`h9S^Gel*c=wa7R#^vLjXJ ztNnWTYxT=yvz*js8f55YAleE5`%tc0RKdtWRk6SDsZfnCp(U-un# *6b> zn}VuCEWQSXj|%t@DH?8> ~J8*%*FS zqi22@^LAvt^lpScOc&G=?{evUdtTJ^$n<4erqQ^EdVQMD^S;PW*T!`ox4wH(N3hG_ zrk;KGB6!3p4)gY}`3IG!y(An=dZVn8xLn~_iC-_j;;M)I2c>no^mCy^eqaTPr1nd< znZG6h+FgI{x>T|IHWWK@Q0(Mvr4f=ZUZgi)pRJr~)w >|PntGI1}U>%g+XXHm@G9<&@YbPX8;WvCD7(Wu59wCVc z?=wK#3ZR_?_J7fnv=C5&vP`Q=)k_}M9stOc=W` x1ai2|@ql!35@$2Qti(}EW zH1W(eyTSK+({2j6pFb;q?yR5jJV~8ii|?unDMOnq9DPYr0|{<$l?%F=lVJC_6}p$f zDjRm6Sc;VW6hE=nf|DLSivb;Q{}trOeN^0%a^b`-%8MY;qJh=Eeqb~bbr^4ewbb-q z)5?9a`a(M__}_I#>gzFkqgWnxg!QoE@0$(DM%fcAD i+)(5x_i}Kp z^{Aqhrd~XuUHtGv`m-fKq7?p0w_ZZvH#4jRw$q;vrCnH4jp8$qIhboX2Y;;c{NHV* zCIzWI?(=SZen!&K0W1B25&y9@e#w4gh;}#8^($U0q(QR^?At-}Rv+bzuFzlQI*tJy zKxs&HJ@UY{S-jYKNZqIm7Q{z+_NPuTS1((mBHE550nc+g;Z6iPB_^GvP#)FknS8gu zsfHaZXt3>QXmWyQafL0>elv}ZIM~m>8!j$i3EL8>QzAEV%z~p|+CCY6I&fsjuKZXn zp^Ulcl_~guB@j{Pr^^^^I#^Y*;VWoqNnN_x+H^#`JKLIGY$Vv1+L4bv>`jPG7TG(~ zD*%jISAl`xNC)dy!#m&}a~Qo)t9)qIU)at+OI{A26p{;F6iKuw3%<1P7G;!2-04!L z&e-vq?%#HrDfjs?ICA;y>K-Thy|8G))2x3A5_Xy+y@n%twCbh?pwbsS(vCk@kn?b; zlr_@gA`u{I5@KAQXQBk|GPuV2B!EK5OkfNSf{5#x7xnza`_=S>hf%XWt9bv=x7jP6 znJ=iCXyF_vtD+K^zpjdodF-|{Nhci*1N*P^$TI_*m}u^;6Bpsaa1 &rqa?lP!A~*LO|;a8^|8JUev|c7*4Ad(LVo@6`TzGPy-8%5eHMa8 z?>b?5fR#CnUZLF;DONkQi>@s_?6NiHKo%cxu7D1p$Q7Hs3qwi0ngszYv z8jhLiQqP%HJi*14Bn+Xq^Up^;11b^6SYe~k*GXQ4h;BVW*&%k04jE2(n=Wr&F-P39 z%x_RRT*h!WEwBbcBklI@doU$_!Cgu5pwk$*@PBO3;PSCL6ol+Mqs!Grsww{ISTYA$ zZtLRJ{r*3)UYc%d*LqYMDNUj;sEmV8(~X`hX@XMkPr2Y49X|i+o0)4}08e#>mQ>cd zn>dCQ=lD5~InC~XaPoWor+A>&0ma2*oh@H%MD1D~51r07ImTaVy|hEi@3Y&{+xbl^ zt3WC&zv0=nySVe5VYV6TK71g~f6=C+kCfm?HhrYjRen)%akHzu;y~sy+r(^hJld~h zYPO=P0Cw)TxS$P+JyxoUDeL->#XG*K@Ja4Q>ix(qBAFF7qOLJ#!+mx=D7y|T=U}K% z>R%HvpDcf9%%Rnw+$TEA8Z-1Bk5aO&2P`5s)|blyg7$-3cjdmNQGtHFH5W&?0Y$MD zo4>}oHWc4lCS6tf1nb sGXYcN@T%Fd@{e5#fQs`CZj;o_-&iYh!$$ zA?80eBKY3^EBh#hM7X$}!TfS2!#Ml_mf=;r(60pMv00O7_Rq99|5UAZdrtQ|_siS2 zw?ru8wPnnQ*&AJ%@^ ce_rZsV37nc(Jk_i& G-Nu>$J;wqOA??y%TguPigl@>zb_mB2nc1g&@|)gT`;E#qqZ^VKeiC Kn{dhtDYuDGDNvZP?t%R+4kuv4vj(KLYLc|0DpyI=Ku&*d6Ph zF!Og$EW5=32Bi0v{aNn)7fFSaXMYjFXHI4j{S1xvF!=)$^Wa49IxZK9(^d77nRh9@ z|FNkT3vnzu_%XTYsM2ubAyG_AIv%4ytu@9v>?O-@Kh66=iA?`2)XOg}*Hfd1AOid6 zB{HX(7;tG>q*gxbx?31~wVbltH05k<*RO~Z) z()@-H iF|||CTz}F7W>+Ky8?=u%xqKe?gW5wX z`>c+9kFm_mK)6Rr(y-S16JELbW5WXvQqo$%IKN* c1E+%2V)`by=YM|S~m}xLLq%jLYOf5$KM}+ zl}7nT{$XEoZ;Y7RI;CBr=Ny?P*?nY {Ewd-j17(pffiYg7l#oSMLCS-&5m;dY#iDakE* zSW7fm7A_}Zv@NK|2m0^sk^x#jFslUKW>o$SI7pj<^taUS6hNt6e8W=J-MPb|I}Zf8 z%h$}8$p85JINq=@T2hleR+-)mg<~RBUDFo+p0^f_b6vi$mhb5gom5?}8pcl64eq&5 zx|c#qRT}vXX}o?9c&k$OTJ&$vMfplx19dfRoeq{KW2t%)%lGjU+N*w@Y=J=;epZ&4 zf2gIB)0RhU3k@ DZ3PrV!cexlfVA_eNgm5+txw~yDJC~ukghf^-a)gEo*r9zfV z7oh4|zFiJ2O>Y#KQm<~I%DPV+byg9kbq)OfcGJw?$V}NB<=KsW6F#HVyqC}AcBPG? z%&dJ4+_jG^o`yLgOrkcce=%2&-;qYiI62g5T>=YcHBEeGjX9iSYAkHAw-%pAUKYSK zI*n{OB4DQ`&j_~G0Y{Dd@X4J8vG>APu@vb#bKc~G)ceb6eqP;udNdE9O!em8W6zkk z={bzv;dhC45Mxi74yB3h8PDVe_W0FMzwWj8pxl%HvEk}H|LmIXE=0+}+`oVK&Iw?% zGMj9MhJXBzO_5DD6XN-ev}NpO3@DqF56CZ&TgJytG!`s%MYj=YUMtMo@+u#2KClHT z0q=`5IM=5J%dz^k42$&rg!c|a^-5B}h2xXYjK*6y=O0hR-5L?`6o1%|3Jj)t)rv>@ z Ceg&1rT%CfQtfj94H{i_3x z6J(q$1+=(?ja5WUiFfb(+(*Ra-BK+nF0=YAXk$H Dpu%7oqfzw+DgS-D>fSK%nV892?R63V{%#v;%^MiS3*SH*Ohl^DSB(GsGhcwr zw{RP!s@*5+CGiwjV-cSuqo7E7VLP1HrnHWZk5XSk?3r6|3oXVN>94f1_ohy&xsGr1z|6e#t&o95AM zjk8%8e7iIhAX^5-Q#W2uAr1kpT~zLHr6NP6AVMhJDK#+ps&k5?*{9NLh%6wfKD)<# zl6kI?V)Rp@aFKJ6Y-k-eh_Tc27QB00PvXrCr9t?w%XgHZo?IcN_AS2Nuo9wUHuG$J zU8T~d!V5D3ioOVN>+SX5X8g-uT8^m0QNi+t4NCX4{Ww(*Qj}ltHZCCJS-g!Dd4r3R zwLOIaO}ifeLybGA$t~pR&QT2?RXUA3O9~f^!;;li7=^5CaiZ`f%0LBGib;;pd@d^a zrdvE{v5W@nobG?Jx|qInw>)La#C}qxAcjlBDQ}W-YPr>wninmMeFcj1u<%^y_(}=A zPyqi}*}q8nVxx0YjW2!(f+`NKGIw(&{2q{))I7zs8E2}Yt=0t$huh1n^@nYqlGZ07 zv=6LJ _0a6QT)((^gIHw_a9pfON=!<;w9HdTFa W91V@SQ(`=ldioXX(*2&GE5 zJLvFPb%E}p!+Et{m}^L5=gML4%T+dxjnOb3t%510_(Zs@cR=ZC>#d>e@rC=kQ;K3c zb1@5dB25MHGk)nBs{ZOx_EA9#Psr#JY`m4Id3UPQwKuvaR#mxQ0fLYUuH@2h;H)4Y zY><1SFw(n3-D|L!ZAYvBR+W;PO;VtV S4 d43;erGdyuBa+ioRckx{JWvTorplU`3l^96xXDB**zaHxjS7-S9 z%tHMlR=q@xhTj3dmCAa`4)OF$xSFQ*5i$1^tevuBRNa`&FdrolFRCh=1DyTnFw-D^ z?JNNvv)fO!*S3X+sjuu+oaj _ z3yO`r aXQccuRUPXi+OIx!9^zOk>9J^xmDn4FqMNR~o!m$!M|P zcXY KMI@m?r;e!N4Pldre|>!@}2|{P9H8<<(&` zDNxaVZ|QyS1ppd!9*l_iW>=XKvCLaGkB%XVQ}qRNO1H^oH4f7X$3|udZY;qlhD^I^ z5TT0y_`>3d2)M+(r=|C6=d#y9h&x+4PoW)R{L}h{DQ1<5J6nz+Ce5VPsP^dBf%l5( zMpNGz{>k0JmM Au$#%Hft0<{G)z zt2~jtn O(m@?Y@k1Z3B8re~>F=Pb| zCAA79ogScumj~n{MYSh|U+15uMb!MgG&4S1mG!3XSm3eR05r|*-F^hv|4Fbrn;ry; z3g3Y5^`?ohuy}#yeccf)o@rJ_SXDJk#PSeyS|3ULDU$lax|&}O=UEnrh#TH(4!gZ~ zRm4+=KN-rzE7`zCb3aUi-`r~hmB7{jUu{0UR2$onx_k a#={cPcTAXI~2Zs zx1_UQf71Om1~pvHBG;c A1-&zKcF^G%UZ*sr99_$L-kA z40F$S7NC2N!DyiF@p7VPuLm$$QpN|5i8Dsos ID^;K-Cx)0%V1oiVU9M_8Q!xgtiI+?q0#KE zNtEVXj`oj957!NZtk*lMp2|zxKHb0+zW`W%B>b;NPV(qwe*thCI#&4H_mKdy!IN4T zf_w77Ak0TZdb?n7>r=JWroDwT_% 2!M?|e1^@Q?n?`Kme}R*ee-aqpEwS{w;nY9*bq)@a!ZC!1eBZH5!{a4?=F zs5{rfVQOP_YgB3zT_t#A8Lt8k5M*RortIbS?cm=<3gal;@wn&3Q$Jy-;OxzXD~g6L zi<|ALr;Y&VenL}3_?N_#CVylf!49=qu!v8pCeWKZt+QVF_>|jVI$m2}+V1u$U3y>& z)%=^ywIt&sjP{g?ZoS&>%0;gm`A5)b3P{v1cpfIr|CXg_(7A)S)Gax0KK;5+zeO-U z{97+U*gL@65BhqX=0i@gS$0@DG~ >iR^&4C~u#f`0OD07# zRtq4(R)M6mG=}$6yLvyRWgur`HSP4~gqHL-uD(tC=;`%&3!F^#`vy{z3qy*NYWG zJ@Dw)Y8H=W!Uw+YyRDG)cRm+L_XA;*uuiWUaPJ1}G55*YrR8h*DHr)57V7Qx`V2-I zD6qR=g(FQj$)00BZSCt+i#wA_nPFQ8aDb7H({wvmjx`OoF=m8=)@R--FWQMk{}V9i zjwt!EM)SL~(@Zc#050I1qmixb56s(K2{|tlho2~6d#@v^4;r8U;|2r~2k3>WlvnfM zxX^g$e(KLs;uDktY)JkZvM&`b@G=D60pfr=&FaCOoB!4H^b2pcgdD+gO}(6wkB6S+ zI-SL*bURnxybfhZmNssu6{?`vXoFKZ`*95v@ekws&sVH}wLU{bfU 2dRJQWnN{O}1y9 zWqWm`10Rq!oJCJK3AHXrrj1urdl3DYRi}kQ{2KjP+vZ6y% zm*J0d6v5#$9LL}>PtoqX4)0kS&6IuAl^ucmJ8wB7R^e+|G>2w7FgB5zLkM@5{YdMX zPR~Ry#?Oo@o({Om4|IS6WmBxO7|$&0>?l&L)m6IE72i06{U^8hhPxJ4ST@hv0T|ZI zx?*9A1FBk86`&!bY1np<&|Gho3_hRU|J>dGdD242v(ovBD~S`SbVm)%U ZkzSx5Iq7!`u=&G)Bqx;P@8(OSl=i8V0*JJEK*sGMYL)9t-9T~bK`*Z z(4{4Ve^oY*jqWK!_rlPATDc!Q|Be*I6)}7t3kN$fw#;3q@oR(Etku;t9kPMk&N31Y z7y^48Yc}{ZPYlFc1Ug1SHL1(Fysfq6_`}CtWA>xGPVSb|Ic6v8{{>Zy*V8O&mkC_` z8`f7EDstJQ=WP0QAX3}p?&sDCt++oF51lzk>jnh}X+kjaJUAJUx z@AO Jm>+qIZ5!-po6a;5sUMyEJ?|g zF^YLIId6TZep3t46iEHC@J8iGP5+Us5qQ=EIbJx5fx$w|dnV|9EQMofN5wZw3S zWs;70tUY_#?dpSXCrX+}QU08~^|h=UR UDaz;PcyD2BYQ*N zLsrX4S%rHBEuT}Gfe_++yJ704a}%DC)fX@w40)DHZk@P(0O`(rAe38D>K76QA~bn+ z|CO~Sxa0`hMwG}jb-ht`tV`0L>AZZm2aii>%C0D-Pq$@;BA6o8!S5!>NrE9COG($h zM1Ica64%k$F{l+PT=t^#+8?gV#hY#ov4i8(Aw|JnAZ43z$=&_C4cY69z#S%M7*}dH z8i3$)J1mX!pRQ{dAy<9R% ND9MHI7cdNRb6s|$(T QE}It(6ZKWnk!TxmnU+hV|r|m6j2z#~!8! z-rzv@sQg|*N#_*O6Kse61$gt=%or+!Motz{UyN7VOxIGJ?#34*d#6+04x+7r6ATX% zOjip+(YFj5qq=S>4&P{M!D28N*=fS*cSS)LwYj%M S zHZEpN*gi*C(}RC8dw8VvBJ&x&dBFyqoF_Lv|3_Mp6a25`Qu{u&rV5!KcjiuGW3O-b zY|?R!x1Rp}f=^@h{#fwUQz`+H2siubL=-X-pY%L$WhwvktAqjgJsKKJ&n$AYze_KK zQASMg+kdGX(VK;q 4UGWOoHoavo$m5E449gQgu}vj!b!LPCeSdO3}F zao!)fdw+!^ePL5LKdOT+MRAny?1M<_*u>KI_~Up9mu|5h$_jol{ Mce@ zczFk?cvV%UJEkr;C`dYho$T38Ai`Z+!uDg8qgn;qkJ1-VW{RGVJvCt;$W!C@r<0~_ zJ`En?BO14C_wH_w$14;XWhc0bEI4qHVA~Oe539GC)jPV&UfV;jE0E4?VG!O9hi<9& zEZg6hAPDb}Q~e`6SJCL6OoDf*yQb0pGo&lWe&i qRQ|1#~Qi@(`RV&QGzVte7zy7or-yw`uz5D;-g zd^}X3%c1E<`~nkF3NVfvdd@JPdKJM?G=n4sjSc@J+DpA=aZmEK*X&YK)}fEy9O9yG zY2Be_jXWgeYP=3>@lvO;P;0d0AEHbQCXRLw`yZQj6FGo`NdfKtG3wK(2B@Yka5NuL z`A^mjFjY22V_ZHc{lR*~QN+#zkWxe5k{3>_ynX3cVlQ?meg}QQ4P8W3Y~It!A1eE@ z^Vsdw>?O;lVVR3z4i0&(QS@Wfynz$KxfOOEnC!VqU%<*-PXP<`aYJQJ+PLDLI2{e_ zo3FoCcBS@*Q>k0?%KJEFVb!6^J|E1l45$=*=~L11g4RL~YJT4~*TpGm#YU+r@8R)n z@LqiGa`##I+LtIc#xmyL=B88?AE-9uk`74&@0J689VRm?{KNcBnD~!Do(+rabW}~m zlogG2f|vX|xW?*^(ZMpuUkUlE+N4LCS5o#sJW?H`b%34~G;2!phpDeDr&~<1fu7rB zs!r{E{z 2Q043dP`-bjUV0rQ=e9= zC*2Hr+H6$pGLR}pD7xU~5wU*Kv? BT+&NVf?;z_bg-g%uonAiqvFcygA~=c7+aNMd!T@yG-&MP3 zXs)NMjt>QJ&W5~Y!}4I1op8_n$zEmR)&u^ >(y z8wv>S!LyQOe18Z=)&O-u#_?0OOsW25r$-BuZ_ui$yu^}kAFMv4bQ4;%+W|GET`THJ z118F(LFbyGSo0&q n@%h*RaC? TB|mV;=WBLn$ D)!QrTR#k*Gv{*~&$ZnPStTaY2N`(wGiL?r! zNoCJ?fdH}D?q D6+G|4>4x_L1@ItA*Ve%}Y$w1B0%lHVndHcZa#Cv)t)$|c1 zGD#^(VlX5`;uJ!EWRp*&>dZBr2M1q-@kt@eDF7O_7! ?Qphr`pWGVatDK6|B+$o2B!+ z46t=YMdS#!-odqTI9$yA57DaftDsGmbGq`IpElltF|Q*!PqyX$eYs%{y3neiEnHB= zyn#2zzEa-LXbc{j?qpYDtqG=#AWhSVHJ$ ?J=-?~EK`$pVGSxlfdc z(#fqo?+fl1*6IO6QHTNG(ZEg*Jc) qR2}{TtW|X66{R#ri8N!=f{*qf zi&%-^Gj#6wl+Ea9x{-$!X0L9BY}w~>bP7Qg5`LD#k^&&}S@Yk&k4oKw+-fW{YVbJK z_~G;qU$xW-H`REez;NWPU|LswlV*;`wnI+v=BDTFID@w({-24L7qC}lc(eohIX6FI zJ?qAXCP!+|#Lv9r;{j?dZtJqQ3S7A+kSAvN*MQ;V6}GqklOmrTIt0yU{sf<*TlWwd z4wNKRS50%CDGF|D;xrmLSuDS>9a<%8LW;}k`&6u)R*&u&0cA^O!A_#(> zvLZXq+u!7*rl$@(Ylm^Q`_=VW%K4 37#)OjfxBhTt;CtB~q zIE&Vj&f@rd_4acrsu7>ck+~<%DQn_<;*n6tmfStH;5zV`^}|o0$k^~(3KdpLx?UOB zw1dQTU(Qm;P?iFNJF2a>(}W(gu;>wFD*yT3jI8?6W{3(n>DghnX?mSni)L^gL*}1^ z)AaGbw-3J{N3-W!Z_vfKIx@}i>pAR;+gDH!39Ui_Dz3^;^Vo=of3AULb>1S3WO(&` zgvj$FiK;&VoWH$+rEkx5*5~{qF0$ndWkj3(=Tt#WOb&|fpiOm7v)r(MWoDX@aO4hu z-MNY00W;VeotaAhe=?=qYTK9=^M(d(g#NCSN-e>e!pMEM$bVC82Zd8V&uL@>m#~X; zs5B%6VuwaF(=BA`mdw>89?GY=?L^oZHVu3AH^VvMny@75SbER8R0S}H@LtV_>#w)> z64l-R)MaJDQ3N};Wx^)cF#JqaaKEU9zL*_K_`HVN#LGfTA%=qeP