From 35ff36dcd7503759971aecaec879795a961eb08e Mon Sep 17 00:00:00 2001 From: "Kent C. Dodds" Date: Mon, 19 Mar 2018 07:40:35 -0600 Subject: [PATCH] feat: initial release fork testing-library/react --- .all-contributorsrc | 995 +++++++++++++++++++++ .gitattributes | 2 + .github/ISSUE_TEMPLATE.md | 82 ++ .github/ISSUE_TEMPLATE/Bug_Report.md | 70 ++ .github/ISSUE_TEMPLATE/Feature_Request.md | 51 ++ .github/ISSUE_TEMPLATE/Question.md | 21 + .github/PULL_REQUEST_TEMPLATE.md | 44 + .gitignore | 15 + .npmrc | 2 + .prettierignore | 4 + .prettierrc | 11 + .travis.yml | 20 + CHANGELOG.md | 5 + CODE_OF_CONDUCT.md | 75 ++ CONTRIBUTING.md | 50 ++ LICENSE | 20 + README.md | 567 ++++++++++++ cleanup-after-each.js | 4 + dont-cleanup-after-each.js | 1 + other/MAINTAINING.md | 70 ++ other/USERS.md | 12 + other/cheat-sheet.pdf | Bin 0 -> 54406 bytes other/goat.png | Bin 0 -> 2680 bytes other/manual-releases.md | 44 + other/testingjavascript.jpg | Bin 0 -> 201050 bytes package.json | 88 ++ pure.js | 2 + src/__mocks__/axios.js | 8 + src/__tests__/__snapshots__/render.js.snap | 12 + src/__tests__/act.js | 45 + src/__tests__/auto-cleanup-skip.js | 18 + src/__tests__/auto-cleanup.js | 13 + src/__tests__/cleanup.js | 28 + src/__tests__/debug.js | 39 + src/__tests__/end-to-end.js | 39 + src/__tests__/events.js | 178 ++++ src/__tests__/multi-base.js | 39 + src/__tests__/new-act.js | 76 ++ src/__tests__/no-act.js | 80 ++ src/__tests__/old-act.js | 142 +++ src/__tests__/render.js | 89 ++ src/__tests__/rerender.js | 31 + src/__tests__/stopwatch.js | 56 ++ src/act-compat.js | 135 +++ src/flush-microtasks.js | 47 + src/index.js | 16 + src/pure.js | 157 ++++ tests/setup-env.js | 1 + 48 files changed, 3504 insertions(+) create mode 100644 .all-contributorsrc create mode 100644 .gitattributes create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/Bug_Report.md create mode 100644 .github/ISSUE_TEMPLATE/Feature_Request.md create mode 100644 .github/ISSUE_TEMPLATE/Question.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .travis.yml create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 cleanup-after-each.js create mode 100644 dont-cleanup-after-each.js create mode 100644 other/MAINTAINING.md create mode 100644 other/USERS.md create mode 100644 other/cheat-sheet.pdf create mode 100644 other/goat.png create mode 100644 other/manual-releases.md create mode 100644 other/testingjavascript.jpg create mode 100644 package.json create mode 100644 pure.js create mode 100644 src/__mocks__/axios.js create mode 100644 src/__tests__/__snapshots__/render.js.snap create mode 100644 src/__tests__/act.js create mode 100644 src/__tests__/auto-cleanup-skip.js create mode 100644 src/__tests__/auto-cleanup.js create mode 100644 src/__tests__/cleanup.js create mode 100644 src/__tests__/debug.js create mode 100644 src/__tests__/end-to-end.js create mode 100644 src/__tests__/events.js create mode 100644 src/__tests__/multi-base.js create mode 100644 src/__tests__/new-act.js create mode 100644 src/__tests__/no-act.js create mode 100644 src/__tests__/old-act.js create mode 100644 src/__tests__/render.js create mode 100644 src/__tests__/rerender.js create mode 100644 src/__tests__/stopwatch.js create mode 100644 src/act-compat.js create mode 100644 src/flush-microtasks.js create mode 100644 src/index.js create mode 100644 src/pure.js create mode 100644 tests/setup-env.js diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000..bbf012f --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,995 @@ +{ + "projectName": "react-testing-library", + "projectOwner": "testing-library", + "repoType": "github", + "files": [ + "README.md" + ], + "imageSize": 100, + "commit": false, + "contributors": [ + { + "login": "kentcdodds", + "name": "Kent C. Dodds", + "avatar_url": "https://avatars.githubusercontent.com/u/1500684?v=3", + "profile": "https://kentcdodds.com", + "contributions": [ + "code", + "doc", + "infra", + "test" + ] + }, + { + "login": "audiolion", + "name": "Ryan Castner", + "avatar_url": "https://avatars1.githubusercontent.com/u/2430381?v=4", + "profile": "http://audiolion.github.io", + "contributions": [ + "doc" + ] + }, + { + "login": "dnlsandiego", + "name": "Daniel Sandiego", + "avatar_url": "https://avatars0.githubusercontent.com/u/8008023?v=4", + "profile": "https://www.dnlsandiego.com", + "contributions": [ + "code" + ] + }, + { + "login": "Miklet", + "name": "Paweł Mikołajczyk", + "avatar_url": "https://avatars2.githubusercontent.com/u/12592677?v=4", + "profile": "https://github.com/Miklet", + "contributions": [ + "code" + ] + }, + { + "login": "alejandronanez", + "name": "Alejandro Ñáñez Ortiz", + "avatar_url": "https://avatars3.githubusercontent.com/u/464978?v=4", + "profile": "http://co.linkedin.com/in/alejandronanez/", + "contributions": [ + "doc" + ] + }, + { + "login": "pbomb", + "name": "Matt Parrish", + "avatar_url": "https://avatars0.githubusercontent.com/u/1402095?v=4", + "profile": "https://github.com/pbomb", + "contributions": [ + "bug", + "code", + "doc", + "test" + ] + }, + { + "login": "wKovacs64", + "name": "Justin Hall", + "avatar_url": "https://avatars1.githubusercontent.com/u/1288694?v=4", + "profile": "https://github.com/wKovacs64", + "contributions": [ + "platform" + ] + }, + { + "login": "antoaravinth", + "name": "Anto Aravinth", + "avatar_url": "https://avatars1.githubusercontent.com/u/1241511?s=460&v=4", + "profile": "https://github.com/antoaravinth", + "contributions": [ + "code", + "test", + "doc" + ] + }, + { + "login": "JonahMoses", + "name": "Jonah Moses", + "avatar_url": "https://avatars2.githubusercontent.com/u/3462296?v=4", + "profile": "https://github.com/JonahMoses", + "contributions": [ + "doc" + ] + }, + { + "login": "lgandecki", + "name": "Łukasz Gandecki", + "avatar_url": "https://avatars1.githubusercontent.com/u/4002543?v=4", + "profile": "http://team.thebrain.pro", + "contributions": [ + "code", + "test", + "doc" + ] + }, + { + "login": "sompylasar", + "name": "Ivan Babak", + "avatar_url": "https://avatars2.githubusercontent.com/u/498274?v=4", + "profile": "https://sompylasar.github.io", + "contributions": [ + "bug", + "ideas" + ] + }, + { + "login": "jday3", + "name": "Jesse Day", + "avatar_url": "https://avatars3.githubusercontent.com/u/4439618?v=4", + "profile": "https://github.com/jday3", + "contributions": [ + "code" + ] + }, + { + "login": "gnapse", + "name": "Ernesto García", + "avatar_url": "https://avatars0.githubusercontent.com/u/15199?v=4", + "profile": "http://gnapse.github.io", + "contributions": [ + "question", + "code", + "doc" + ] + }, + { + "login": "jomaxx", + "name": "Josef Maxx Blake", + "avatar_url": "https://avatars2.githubusercontent.com/u/2747424?v=4", + "profile": "http://jomaxx.com", + "contributions": [ + "code", + "doc", + "test" + ] + }, + { + "login": "mbaranovski", + "name": "Michal Baranowski", + "avatar_url": "https://avatars1.githubusercontent.com/u/29602306?v=4", + "profile": "https://twitter.com/baranovskim", + "contributions": [ + "blog", + "tutorial" + ] + }, + { + "login": "aputhin", + "name": "Arthur Puthin", + "avatar_url": "https://avatars3.githubusercontent.com/u/13985684?v=4", + "profile": "https://github.com/aputhin", + "contributions": [ + "doc" + ] + }, + { + "login": "thchia", + "name": "Thomas Chia", + "avatar_url": "https://avatars2.githubusercontent.com/u/21194045?v=4", + "profile": "https://github.com/thchia", + "contributions": [ + "code", + "doc" + ] + }, + { + "login": "thiagopaiva99", + "name": "Thiago Galvani", + "avatar_url": "https://avatars3.githubusercontent.com/u/20430611?v=4", + "profile": "http://ilegra.com/", + "contributions": [ + "doc" + ] + }, + { + "login": "ChrisWcs", + "name": "Christian", + "avatar_url": "https://avatars1.githubusercontent.com/u/19828824?v=4", + "profile": "http://Chriswcs.github.io", + "contributions": [ + "test" + ] + }, + { + "login": "alexkrolick", + "name": "Alex Krolick", + "avatar_url": "https://avatars3.githubusercontent.com/u/1571667?v=4", + "profile": "https://alexkrolick.com", + "contributions": [ + "question", + "doc", + "example", + "ideas" + ] + }, + { + "login": "johann-sonntagbauer", + "name": "Johann Hubert Sonntagbauer", + "avatar_url": "https://avatars3.githubusercontent.com/u/1239401?v=4", + "profile": "https://github.com/johann-sonntagbauer", + "contributions": [ + "code", + "doc", + "test" + ] + }, + { + "login": "maddijoyce", + "name": "Maddi Joyce", + "avatar_url": "https://avatars2.githubusercontent.com/u/2224291?v=4", + "profile": "http://www.maddijoyce.com", + "contributions": [ + "code" + ] + }, + { + "login": "RyanAtViceSoftware", + "name": "Ryan Vice", + "avatar_url": "https://avatars2.githubusercontent.com/u/10080111?v=4", + "profile": "http://www.vicesoftware.com", + "contributions": [ + "doc" + ] + }, + { + "login": "iwilsonq", + "name": "Ian Wilson", + "avatar_url": "https://avatars1.githubusercontent.com/u/7942604?v=4", + "profile": "https://ianwilson.io", + "contributions": [ + "blog", + "tutorial" + ] + }, + { + "login": "InExtremaRes", + "name": "Daniel", + "avatar_url": "https://avatars2.githubusercontent.com/u/1635491?v=4", + "profile": "https://github.com/InExtremaRes", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "Gpx", + "name": "Giorgio Polvara", + "avatar_url": "https://avatars0.githubusercontent.com/u/767959?v=4", + "profile": "https://twitter.com/Gpx", + "contributions": [ + "bug", + "ideas" + ] + }, + { + "login": "jgoz", + "name": "John Gozde", + "avatar_url": "https://avatars2.githubusercontent.com/u/132233?v=4", + "profile": "https://github.com/jgoz", + "contributions": [ + "code" + ] + }, + { + "login": "SavePointSam", + "name": "Sam Horton", + "avatar_url": "https://avatars0.githubusercontent.com/u/8203211?v=4", + "profile": "https://twitter.com/SavePointSam", + "contributions": [ + "doc", + "example", + "ideas" + ] + }, + { + "login": "rkotze", + "name": "Richard Kotze (mobile)", + "avatar_url": "https://avatars2.githubusercontent.com/u/10452163?v=4", + "profile": "http://www.richardkotze.com", + "contributions": [ + "doc" + ] + }, + { + "login": "sotobuild", + "name": "Brahian E. Soto Mercedes", + "avatar_url": "https://avatars2.githubusercontent.com/u/10819833?v=4", + "profile": "https://github.com/sotobuild", + "contributions": [ + "doc" + ] + }, + { + "login": "bdelaforest", + "name": "Benoit de La Forest", + "avatar_url": "https://avatars2.githubusercontent.com/u/7151559?v=4", + "profile": "https://github.com/bdelaforest", + "contributions": [ + "doc" + ] + }, + { + "login": "thesalah", + "name": "Salah", + "avatar_url": "https://avatars3.githubusercontent.com/u/6624197?v=4", + "profile": "https://github.com/thesalah", + "contributions": [ + "code", + "test" + ] + }, + { + "login": "icfantv", + "name": "Adam Gordon", + "avatar_url": "https://avatars2.githubusercontent.com/u/370054?v=4", + "profile": "http://gordonizer.com", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "silvenon", + "name": "Matija Marohnić", + "avatar_url": "https://avatars2.githubusercontent.com/u/471278?v=4", + "profile": "https://silvenon.com", + "contributions": [ + "doc" + ] + }, + { + "login": "Dajust", + "name": "Justice Mba", + "avatar_url": "https://avatars3.githubusercontent.com/u/8015514?v=4", + "profile": "https://github.com/Dajust", + "contributions": [ + "doc" + ] + }, + { + "login": "MarkPollmann", + "name": "Mark Pollmann", + "avatar_url": "https://avatars2.githubusercontent.com/u/5286559?v=4", + "profile": "https://markpollmann.com/", + "contributions": [ + "doc" + ] + }, + { + "login": "ehteshamkafeel", + "name": "Ehtesham Kafeel", + "avatar_url": "https://avatars1.githubusercontent.com/u/1213123?v=4", + "profile": "https://github.com/ehteshamkafeel", + "contributions": [ + "code", + "doc" + ] + }, + { + "login": "jpavon", + "name": "Julio Pavón", + "avatar_url": "https://avatars2.githubusercontent.com/u/1493505?v=4", + "profile": "http://jpavon.com", + "contributions": [ + "code" + ] + }, + { + "login": "duncanleung", + "name": "Duncan L", + "avatar_url": "https://avatars3.githubusercontent.com/u/1765048?v=4", + "profile": "http://www.duncanleung.com/", + "contributions": [ + "doc", + "example" + ] + }, + { + "login": "tyagow", + "name": "Tiago Almeida", + "avatar_url": "https://avatars1.githubusercontent.com/u/700778?v=4", + "profile": "https://www.linkedin.com/in/tyagow/?locale=en_US", + "contributions": [ + "doc" + ] + }, + { + "login": "rbrtsmith", + "name": "Robert Smith", + "avatar_url": "https://avatars2.githubusercontent.com/u/4982001?v=4", + "profile": "http://rbrtsmith.com/", + "contributions": [ + "bug" + ] + }, + { + "login": "zgreen", + "name": "Zach Green", + "avatar_url": "https://avatars0.githubusercontent.com/u/1700355?v=4", + "profile": "https://offbyone.tech", + "contributions": [ + "doc" + ] + }, + { + "login": "dadamssg", + "name": "dadamssg", + "avatar_url": "https://avatars3.githubusercontent.com/u/881986?v=4", + "profile": "https://github.com/dadamssg", + "contributions": [ + "doc" + ] + }, + { + "login": "YazanAabeed", + "name": "Yazan Aabed", + "avatar_url": "https://avatars0.githubusercontent.com/u/8734097?v=4", + "profile": "https://www.yaabed.com/", + "contributions": [ + "blog" + ] + }, + { + "login": "timbonicus", + "name": "Tim", + "avatar_url": "https://avatars0.githubusercontent.com/u/556258?v=4", + "profile": "https://github.com/timbonicus", + "contributions": [ + "bug", + "code", + "doc", + "test" + ] + }, + { + "login": "divyanshu013", + "name": "Divyanshu Maithani", + "avatar_url": "https://avatars3.githubusercontent.com/u/6682655?v=4", + "profile": "http://divyanshu.xyz", + "contributions": [ + "tutorial", + "video" + ] + }, + { + "login": "metagrover", + "name": "Deepak Grover", + "avatar_url": "https://avatars2.githubusercontent.com/u/9116042?v=4", + "profile": "https://www.linkedin.com/in/metagrover", + "contributions": [ + "tutorial", + "video" + ] + }, + { + "login": "eyalcohen4", + "name": "Eyal Cohen", + "avatar_url": "https://avatars0.githubusercontent.com/u/16276358?v=4", + "profile": "https://github.com/eyalcohen4", + "contributions": [ + "doc" + ] + }, + { + "login": "petermakowski", + "name": "Peter Makowski", + "avatar_url": "https://avatars3.githubusercontent.com/u/7452681?v=4", + "profile": "https://github.com/petermakowski", + "contributions": [ + "doc" + ] + }, + { + "login": "Michielnuyts", + "name": "Michiel Nuyts", + "avatar_url": "https://avatars2.githubusercontent.com/u/20361668?v=4", + "profile": "https://github.com/Michielnuyts", + "contributions": [ + "doc" + ] + }, + { + "login": "joeynimu", + "name": "Joe Ng'ethe", + "avatar_url": "https://avatars0.githubusercontent.com/u/1195863?v=4", + "profile": "https://github.com/joeynimu", + "contributions": [ + "code", + "doc" + ] + }, + { + "login": "Enikol", + "name": "Kate", + "avatar_url": "https://avatars3.githubusercontent.com/u/19998290?v=4", + "profile": "https://github.com/Enikol", + "contributions": [ + "doc" + ] + }, + { + "login": "SeanRParker", + "name": "Sean", + "avatar_url": "https://avatars1.githubusercontent.com/u/11980217?v=4", + "profile": "http://www.seanrparker.com", + "contributions": [ + "doc" + ] + }, + { + "login": "jlongster", + "name": "James Long", + "avatar_url": "https://avatars2.githubusercontent.com/u/17031?v=4", + "profile": "http://jlongster.com", + "contributions": [ + "ideas", + "platform" + ] + }, + { + "login": "hhagely", + "name": "Herb Hagely", + "avatar_url": "https://avatars1.githubusercontent.com/u/10118777?v=4", + "profile": "https://github.com/hhagely", + "contributions": [ + "example" + ] + }, + { + "login": "themostcolm", + "name": "Alex Wendte", + "avatar_url": "https://avatars2.githubusercontent.com/u/5779538?v=4", + "profile": "http://www.wendtedesigns.com/", + "contributions": [ + "example" + ] + }, + { + "login": "M0nica", + "name": "Monica Powell", + "avatar_url": "https://avatars0.githubusercontent.com/u/6998954?v=4", + "profile": "http://www.aboutmonica.com", + "contributions": [ + "doc" + ] + }, + { + "login": "sivkoff", + "name": "Vitaly Sivkov", + "avatar_url": "https://avatars1.githubusercontent.com/u/2699953?v=4", + "profile": "http://sivkoff.com", + "contributions": [ + "code" + ] + }, + { + "login": "weyert", + "name": "Weyert de Boer", + "avatar_url": "https://avatars3.githubusercontent.com/u/7049?v=4", + "profile": "https://github.com/weyert", + "contributions": [ + "ideas", + "review" + ] + }, + { + "login": "EstebanMarin", + "name": "EstebanMarin", + "avatar_url": "https://avatars3.githubusercontent.com/u/13613037?v=4", + "profile": "https://github.com/EstebanMarin", + "contributions": [ + "doc" + ] + }, + { + "login": "vctormb", + "name": "Victor Martins", + "avatar_url": "https://avatars2.githubusercontent.com/u/13953703?v=4", + "profile": "https://github.com/vctormb", + "contributions": [ + "doc" + ] + }, + { + "login": "RoystonS", + "name": "Royston Shufflebotham", + "avatar_url": "https://avatars0.githubusercontent.com/u/19773?v=4", + "profile": "https://github.com/RoystonS", + "contributions": [ + "bug", + "doc", + "example" + ] + }, + { + "login": "chrbala", + "name": "chrbala", + "avatar_url": "https://avatars0.githubusercontent.com/u/6834804?v=4", + "profile": "https://github.com/chrbala", + "contributions": [ + "code" + ] + }, + { + "login": "donavon", + "name": "Donavon West", + "avatar_url": "https://avatars3.githubusercontent.com/u/887639?v=4", + "profile": "http://donavon.com", + "contributions": [ + "code", + "doc", + "ideas", + "test" + ] + }, + { + "login": "maisano", + "name": "Richard Maisano", + "avatar_url": "https://avatars2.githubusercontent.com/u/689081?v=4", + "profile": "https://github.com/maisano", + "contributions": [ + "code" + ] + }, + { + "login": "marcobiedermann", + "name": "Marco Biedermann", + "avatar_url": "https://avatars0.githubusercontent.com/u/5244986?v=4", + "profile": "https://www.marcobiedermann.com", + "contributions": [ + "code", + "maintenance", + "test" + ] + }, + { + "login": "alexzherdev", + "name": "Alex Zherdev", + "avatar_url": "https://avatars3.githubusercontent.com/u/93752?v=4", + "profile": "https://github.com/alexzherdev", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "Andrewmat", + "name": "André Matulionis dos Santos", + "avatar_url": "https://avatars0.githubusercontent.com/u/5133846?v=4", + "profile": "https://twitter.com/Andrewmat", + "contributions": [ + "code", + "example", + "test" + ] + }, + { + "login": "FredyC", + "name": "Daniel K.", + "avatar_url": "https://avatars0.githubusercontent.com/u/1096340?v=4", + "profile": "https://github.com/FredyC", + "contributions": [ + "bug", + "code", + "ideas", + "test", + "review" + ] + }, + { + "login": "mohamedmagdy17593", + "name": "mohamedmagdy17593", + "avatar_url": "https://avatars0.githubusercontent.com/u/40938625?v=4", + "profile": "https://github.com/mohamedmagdy17593", + "contributions": [ + "code" + ] + }, + { + "login": "lorensr", + "name": "Loren ☺️", + "avatar_url": "https://avatars2.githubusercontent.com/u/251288?v=4", + "profile": "http://lorensr.me", + "contributions": [ + "doc" + ] + }, + { + "login": "MarkFalconbridge", + "name": "MarkFalconbridge", + "avatar_url": "https://avatars1.githubusercontent.com/u/20678943?v=4", + "profile": "https://github.com/MarkFalconbridge", + "contributions": [ + "bug", + "code" + ] + }, + { + "login": "viniciusavieira", + "name": "Vinicius", + "avatar_url": "https://avatars0.githubusercontent.com/u/2073019?v=4", + "profile": "https://github.com/viniciusavieira", + "contributions": [ + "doc", + "example" + ] + }, + { + "login": "pschyma", + "name": "Peter Schyma", + "avatar_url": "https://avatars2.githubusercontent.com/u/2489928?v=4", + "profile": "https://github.com/pschyma", + "contributions": [ + "code" + ] + }, + { + "login": "ianschmitz", + "name": "Ian Schmitz", + "avatar_url": "https://avatars1.githubusercontent.com/u/6355370?v=4", + "profile": "https://github.com/ianschmitz", + "contributions": [ + "doc" + ] + }, + { + "login": "joual", + "name": "Joel Marcotte", + "avatar_url": "https://avatars0.githubusercontent.com/u/157877?v=4", + "profile": "https://github.com/joual", + "contributions": [ + "bug", + "test", + "code" + ] + }, + { + "login": "aledustet", + "name": "Alejandro Dustet", + "avatar_url": "https://avatars3.githubusercontent.com/u/2413802?v=4", + "profile": "http://aledustet.com", + "contributions": [ + "bug" + ] + }, + { + "login": "bcarroll22", + "name": "Brandon Carroll", + "avatar_url": "https://avatars2.githubusercontent.com/u/11020406?v=4", + "profile": "https://github.com/bcarroll22", + "contributions": [ + "doc" + ] + }, + { + "login": "lucas0707", + "name": "Lucas Machado", + "avatar_url": "https://avatars1.githubusercontent.com/u/26284338?v=4", + "profile": "https://github.com/lucas0707", + "contributions": [ + "doc" + ] + }, + { + "login": "pascalduez", + "name": "Pascal Duez", + "avatar_url": "https://avatars3.githubusercontent.com/u/335467?v=4", + "profile": "http://pascalduez.me", + "contributions": [ + "platform" + ] + }, + { + "login": "NMinhNguyen", + "name": "Minh Nguyen", + "avatar_url": "https://avatars3.githubusercontent.com/u/2852660?v=4", + "profile": "https://twitter.com/minh_ngvyen", + "contributions": [ + "code" + ] + }, + { + "login": "LiaoJimmy", + "name": "LiaoJimmy", + "avatar_url": "https://avatars0.githubusercontent.com/u/11155585?v=4", + "profile": "http://iababy46.blogspot.tw/", + "contributions": [ + "doc" + ] + }, + { + "login": "threepointone", + "name": "Sunil Pai", + "avatar_url": "https://avatars2.githubusercontent.com/u/18808?v=4", + "profile": "https://github.com/threepointone", + "contributions": [ + "code", + "test" + ] + }, + { + "login": "gaearon", + "name": "Dan Abramov", + "avatar_url": "https://avatars0.githubusercontent.com/u/810438?v=4", + "profile": "http://twitter.com/dan_abramov", + "contributions": [ + "review" + ] + }, + { + "login": "ChristianMurphy", + "name": "Christian Murphy", + "avatar_url": "https://avatars3.githubusercontent.com/u/3107513?v=4", + "profile": "https://github.com/ChristianMurphy", + "contributions": [ + "infra" + ] + }, + { + "login": "jeetiss", + "name": "Ivakhnenko Dmitry", + "avatar_url": "https://avatars1.githubusercontent.com/u/6726016?v=4", + "profile": "https://jeetiss.github.io/", + "contributions": [ + "code" + ] + }, + { + "login": "jamesgeorge007", + "name": "James George", + "avatar_url": "https://avatars2.githubusercontent.com/u/25279263?v=4", + "profile": "https://ghuser.io/jamesgeorge007", + "contributions": [ + "doc" + ] + }, + { + "login": "JSFernandes", + "name": "João Fernandes", + "avatar_url": "https://avatars1.githubusercontent.com/u/1075053?v=4", + "profile": "https://joaofernandes.me/", + "contributions": [ + "doc" + ] + }, + { + "login": "alejandroperea", + "name": "Alejandro Perea", + "avatar_url": "https://avatars3.githubusercontent.com/u/6084749?v=4", + "profile": "https://github.com/alejandroperea", + "contributions": [ + "review" + ] + }, + { + "login": "nickmccurdy", + "name": "Nick McCurdy", + "avatar_url": "https://avatars0.githubusercontent.com/u/927220?v=4", + "profile": "https://nickmccurdy.com/", + "contributions": [ + "review", + "question" + ] + }, + { + "login": "eps1lon", + "name": "Sebastian Silbermann", + "avatar_url": "https://avatars3.githubusercontent.com/u/12292047?v=4", + "profile": "https://twitter.com/sebsilbermann", + "contributions": [ + "review" + ] + }, + { + "login": "afontcu", + "name": "Adrià Fontcuberta", + "avatar_url": "https://avatars0.githubusercontent.com/u/9197791?v=4", + "profile": "https://afontcu.dev", + "contributions": [ + "review", + "doc" + ] + }, + { + "login": "johnnyreilly", + "name": "John Reilly", + "avatar_url": "https://avatars0.githubusercontent.com/u/1010525?v=4", + "profile": "https://blog.johnnyreilly.com/", + "contributions": [ + "review" + ] + }, + { + "login": "MichaelDeBoey", + "name": "Michaël De Boey", + "avatar_url": "https://avatars3.githubusercontent.com/u/6643991?v=4", + "profile": "https://michaeldeboey.be", + "contributions": [ + "review" + ] + }, + { + "login": "cimbul", + "name": "Tim Yates", + "avatar_url": "https://avatars2.githubusercontent.com/u/927923?v=4", + "profile": "https://cimbul.com", + "contributions": [ + "review" + ] + }, + { + "login": "eventualbuddha", + "name": "Brian Donovan", + "avatar_url": "https://avatars3.githubusercontent.com/u/1938?v=4", + "profile": "https://github.com/eventualbuddha", + "contributions": [ + "code" + ] + }, + { + "login": "JaysQubeXon", + "name": "Noam Gabriel Jacobson", + "avatar_url": "https://avatars1.githubusercontent.com/u/18309230?v=4", + "profile": "https://github.com/JaysQubeXon", + "contributions": [ + "doc" + ] + }, + { + "login": "rvdkooy", + "name": "Ronald van der Kooij", + "avatar_url": "https://avatars1.githubusercontent.com/u/4119960?v=4", + "profile": "https://github.com/rvdkooy", + "contributions": [ + "test", + "code" + ] + }, + { + "login": "aayushrajvanshi", + "name": "Aayush Rajvanshi", + "avatar_url": "https://avatars0.githubusercontent.com/u/14968551?v=4", + "profile": "https://github.com/aayushrajvanshi", + "contributions": [ + "doc" + ] + }, + { + "login": "ely-alamillo", + "name": "Ely Alamillo", + "avatar_url": "https://avatars2.githubusercontent.com/u/24350492?v=4", + "profile": "https://elyalamillo.com", + "contributions": [ + "code", + "test" + ] + }, + { + "login": "danieljcafonso", + "name": "Daniel Afonso", + "avatar_url": "https://avatars3.githubusercontent.com/u/35337607?v=4", + "profile": "https://github.com/danieljcafonso", + "contributions": [ + "code", + "test" + ] + }, + { + "login": "LaurensBosscher", + "name": "Laurens Bosscher", + "avatar_url": "https://avatars0.githubusercontent.com/u/13363196?v=4", + "profile": "http://www.laurensbosscher.nl", + "contributions": [ + "code" + ] + } + ], + "contributorsPerLine": 7, + "repoHost": "https://github.com" +} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..391f0a4 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +* text=auto +*.js text eol=lf diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..b43b347 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,82 @@ + + +- `react-testing-library` version: +- `react` version: +- `node` version: +- `npm` (or `yarn`) version: + +Relevant code or config + +```javascript +``` + +What you did: + +What happened: + + + +Reproduction repository: + + + +Problem description: + + + +Suggested solution: + + diff --git a/.github/ISSUE_TEMPLATE/Bug_Report.md b/.github/ISSUE_TEMPLATE/Bug_Report.md new file mode 100644 index 0000000..dea2dde --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Bug_Report.md @@ -0,0 +1,70 @@ +--- +name: 🐛 Bug Report +about: Bugs, missing documentation, or unexpected behavior 🤔. +--- + + + +- `react-testing-library` version: +- `react` version: +- `node` version: +- `npm` (or `yarn`) version: + +### Relevant code or config: + +```js +var your => (code) => here; +``` + + + +### What you did: + + + +### What happened: + + + +### Reproduction: + + + +### Problem description: + + + +### Suggested solution: + + diff --git a/.github/ISSUE_TEMPLATE/Feature_Request.md b/.github/ISSUE_TEMPLATE/Feature_Request.md new file mode 100644 index 0000000..357d1df --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Feature_Request.md @@ -0,0 +1,51 @@ +--- +name: 💡 Feature Request +about: I have a suggestion (and might want to implement myself 🙂)! +--- + + + +### Describe the feature you'd like: + + + +### Suggested implementation: + + + +### Describe alternatives you've considered: + + + +### Teachability, Documentation, Adoption, Migration Strategy: + + diff --git a/.github/ISSUE_TEMPLATE/Question.md b/.github/ISSUE_TEMPLATE/Question.md new file mode 100644 index 0000000..efd0d84 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/Question.md @@ -0,0 +1,21 @@ +--- +name: ❓ Support Question +about: 🛑 If you have a question 💬, please check out our support channels! +--- + +-------------- 👆 Click "Preview"! + +Issues on GitHub are intended to be related to problems with the library itself +and feature requests so we recommend not using this medium to ask them here 😁. + +--- + +## ❓ Support Forums + +- React Spectrum https://spectrum.chat/react-testing-library +- Reactiflux on Discord https://www.reactiflux.com +- Stack Overflow + https://stackoverflow.com/questions/tagged/react-testing-library +- Documentation: https://github.com/alexkrolick/testing-library-docs + +**ISSUES WHICH ARE QUESTIONS WILL BE CLOSED** diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e3b54b3 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,44 @@ + + + + +**What**: + + + +**Why**: + + + +**How**: + + + +**Checklist**: + + + + + +- [ ] Documentation added to the + [docs site](https://github.com/alexkrolick/testing-library-docs) +- [ ] Tests +- [ ] Typescript definitions updated +- [ ] Ready to be merged + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bb9fac --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +node_modules +coverage +dist +.opt-in +.opt-out +.DS_Store +.eslintcache + +yarn-error.log + +# these cause more harm than good +# when working with contributors +package-lock.json +yarn.lock + diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..d272289 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +registry=http://registry.npmjs.org/ +package-lock=false diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..30117ea --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +package.json +node_modules +dist +coverage diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..f368519 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "printWidth": 80, + "tabWidth": 2, + "useTabs": false, + "semi": false, + "singleQuote": true, + "trailingComma": "all", + "bracketSpacing": false, + "jsxBracketSameLine": false, + "proseWrap": "always" +} diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..66796ac --- /dev/null +++ b/.travis.yml @@ -0,0 +1,20 @@ +sudo: false +language: node_js +cache: + directories: + - ~/.npm +notifications: + email: false +node_js: + - '8' + - '10' + - '12' +install: + - npm install + # as requested by the React team :) + # https://reactjs.org/blog/2019/10/22/react-release-channels.html#using-the-next-channel-for-integration-testing + - if [ "$TRAVIS_EVENT_TYPE" = "cron" ]; then npm install react@next react-dom@next; fi +script: npm run validate +after_success: kcd-scripts travis-after-success +branches: + only: master diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2a67529 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# CHANGELOG + +The changelog is automatically updated using +[semantic-release](https://github.com/semantic-release/semantic-release). You +can see it on the [releases page](../../releases). diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..070cb5f --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,75 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, nationality, personal appearance, race, religion, or sexual identity +and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +- The use of sexualized language or imagery and unwelcome sexual attention or + advances +- Trolling, insulting/derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or electronic + address, without explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at kent+coc@doddsfamily.us. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an +incident. Further details of specific enforcement policies may be posted +separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.4, available at [http://contributor-covenant.org/version/1/4][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..de766c7 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,50 @@ +# Contributing + +Thanks for being willing to contribute! + +**Working on your first Pull Request?** You can learn how from this _free_ +series [How to Contribute to an Open Source Project on GitHub][egghead] + +## Project setup + +1. Fork and clone the repo +2. Run `npm run setup -s` to install dependencies and run validation +3. Create a branch for your PR with `git checkout -b pr/your-branch-name` + +> Tip: Keep your `master` branch pointing at the original repository and make +> pull requests from branches on your fork. To do this, run: +> +> ``` +> git remote add upstream https://github.com/testing-library/react-testing-library.git +> git fetch upstream +> git branch --set-upstream-to=upstream/master master +> ``` +> +> This will add the original repository as a "remote" called "upstream," Then +> fetch the git information from that remote, then set your local `master` +> branch to use the upstream master branch whenever you run `git pull`. Then you +> can make all of your pull request branches based on this `master` branch. +> Whenever you want to update your version of `master`, do a regular `git pull`. + +## Committing and Pushing changes + +Please make sure to run the tests before you commit your changes. You can run +`npm run test:update` which will update any snapshots that need updating. Make +sure to include those changes (if they exist) in your commit. + +### Update Typings + +The TypeScript type definitions are in the +[DefinitelyTyped repo](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/testing-library__react) + +## Help needed + +Please checkout the [the open issues][issues] + +Also, please watch the repo and respond to questions/bug reports/feature +requests! Thanks! + +[egghead]: + https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github +[all-contributors]: https://github.com/all-contributors/all-contributors +[issues]: https://github.com/testing-library/react-testing-library/issues diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..4c43675 --- /dev/null +++ b/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) +Copyright (c) 2017 Kent C. Dodds + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..f309091 --- /dev/null +++ b/README.md @@ -0,0 +1,567 @@ +
+

React Testing Library

+ + + goat + + +

Simple and complete React DOM testing utilities that encourage good testing +practices.

+ +
+ +[**Read The Docs**](https://testing-library.com/react) | +[Edit the docs](https://github.com/testing-library/testing-library-docs) + +
+
+ +
+ + +[![Build Status][build-badge]][build] +[![Code Coverage][coverage-badge]][coverage] +[![version][version-badge]][package] [![downloads][downloads-badge]][npmtrends] +[![MIT License][license-badge]][license] + +[![All Contributors](https://img.shields.io/badge/all_contributors-102-orange.svg?style=flat-square)](#contributors) +[![PRs Welcome][prs-badge]][prs] [![Code of Conduct][coc-badge]][coc] +[![Join the community on Spectrum][spectrum-badge]][spectrum] + +[![Watch on GitHub][github-watch-badge]][github-watch] +[![Star on GitHub][github-star-badge]][github-star] +[![Tweet][twitter-badge]][twitter] + + +
+ + TestingJavaScript.com Learn the smart, efficient way to test any JavaScript application. + +
+ +## Table of Contents + + + + +- [The problem](#the-problem) +- [This solution](#this-solution) +- [Installation](#installation) + - [Suppressing unnecessary warnings on React DOM 16.8](#suppressing-unnecessary-warnings-on-react-dom-168) +- [Examples](#examples) + - [Basic Example](#basic-example) + - [Complex Example](#complex-example) + - [More Examples](#more-examples) +- [Hooks](#hooks) +- [Guiding Principles](#guiding-principles) +- [Docs](#docs) +- [Issues](#issues) + - [🐛 Bugs](#-bugs) + - [💡 Feature Requests](#-feature-requests) + - [❓ Questions](#-questions) +- [Contributors](#contributors) +- [LICENSE](#license) + + + +## The problem + +You want to write maintainable tests for your React components. As a part of +this goal, you want your tests to avoid including implementation details of your +components and rather focus on making your tests give you the confidence for +which they are intended. As part of this, you want your testbase to be +maintainable in the long run so refactors of your components (changes to +implementation but not functionality) don't break your tests and slow you and +your team down. + +## This solution + +The `React Testing Library` is a very lightweight solution for testing React +components. It provides light utility functions on top of `react-dom` and +`react-dom/test-utils`, in a way that encourages better testing practices. Its +primary guiding principle is: + +> [The more your tests resemble the way your software is used, the more +> confidence they can give you.][guiding-principle] + +## Installation + +This module is distributed via [npm][npm] which is bundled with [node][node] and +should be installed as one of your project's `devDependencies`: + +``` +npm install --save-dev @testing-library/react +``` + +This library has `peerDependencies` listings for `react` and `react-dom`. + +You may also be interested in installing `@testing-library/jest-dom` so you can +use [the custom jest matchers](https://github.com/testing-library/jest-dom). + +> [**Docs**](https://testing-library.com/react) + +### Suppressing unnecessary warnings on React DOM 16.8 + +There is a known compatibility issue with React DOM 16.8 where you will see the +following warning: + +``` +Warning: An update to ComponentName inside a test was not wrapped in act(...). +``` + +If you cannot upgrade to React DOM 16.9, you may suppress the warnings by adding +the following snippet to your test configuration +([learn more](https://github.com/testing-library/react-testing-library/issues/281)): + +```js +// this is just a little hack to silence a warning that we'll get until we +// upgrade to 16.9: https://github.com/facebook/react/pull/14853 +const originalError = console.error +beforeAll(() => { + console.error = (...args) => { + if (/Warning.*not wrapped in act/.test(args[0])) { + return + } + originalError.call(console, ...args) + } +}) + +afterAll(() => { + console.error = originalError +}) +``` + +## Examples + +### Basic Example + +```jsx +// hidden-message.js +import React from 'react' + +// NOTE: React Testing Library works with React Hooks _and_ classes just as well +// and your tests will be the same however you write your components. +function HiddenMessage({children}) { + const [showMessage, setShowMessage] = React.useState(false) + return ( +
+ + setShowMessage(e.target.checked)} + checked={showMessage} + /> + {showMessage ? children : null} +
+ ) +} + +export default HiddenMessage + +// __tests__/hidden-message.js +// these imports are something you'd normally configure Jest to import for you +// automatically. Learn more in the setup docs: https://testing-library.com/docs/react-testing-library/setup#cleanup +import '@testing-library/jest-dom/extend-expect' +// NOTE: jest-dom adds handy assertions to Jest and is recommended, but not required + +import React from 'react' +import {render, fireEvent} from '@testing-library/react' +import HiddenMessage from '../hidden-message' + +test('shows the children when the checkbox is checked', () => { + const testMessage = 'Test Message' + const {queryByText, getByLabelText, getByText} = render( + {testMessage}, + ) + + // query* functions will return the element or null if it cannot be found + // get* functions will return the element or throw an error if it cannot be found + expect(queryByText(testMessage)).toBeNull() + + // the queries can accept a regex to make your selectors more resilient to content tweaks and changes. + fireEvent.click(getByLabelText(/show/i)) + + // .toBeInTheDocument() is an assertion that comes from jest-dom + // otherwise you could use .toBeDefined() + expect(getByText(testMessage)).toBeInTheDocument() +}) +``` + +### Complex Example + +```jsx +// login.js +import React from 'react' + +function Login() { + const [state, setState] = React.useReducer((s, a) => ({...s, ...a}), { + resolved: false, + loading: false, + error: null, + }) + + function handleSubmit(event) { + event.preventDefault() + const {usernameInput, passwordInput} = event.target.elements + + setState({loading: true, resolved: false, error: null}) + + window + .fetch('/api/login', { + method: 'POST', + headers: {'Content-Type': 'application/json'}, + body: JSON.stringify({ + username: usernameInput.value, + password: passwordInput.value, + }), + }) + .then(r => r.json()) + .then( + user => { + setState({loading: false, resolved: true, error: null}) + window.localStorage.setItem('token', user.token) + }, + error => { + setState({loading: false, resolved: false, error: error.message}) + }, + ) + } + + return ( +
+
+
+ + +
+
+ + +
+ +
+ {state.error ?
{state.error.message}
: null} + {state.resolved ? ( +
Congrats! You're signed in!
+ ) : null} +
+ ) +} + +export default Login + +// __tests__/login.js +// again, these first two imports are something you'd normally handle in +// your testing framework configuration rather than importing them in every file. +import '@testing-library/jest-dom/extend-expect' +import React from 'react' +import {render, fireEvent} from '@testing-library/react' +import Login from '../login' + +test('allows the user to login successfully', async () => { + // mock out window.fetch for the test + const fakeUserResponse = {token: 'fake_user_token'} + jest.spyOn(window, 'fetch').mockImplementationOnce(() => { + return Promise.resolve({ + json: () => Promise.resolve(fakeUserResponse), + }) + }) + + const {getByLabelText, getByText, findByRole} = render() + + // fill out the form + fireEvent.change(getByLabelText(/username/i), {target: {value: 'chuck'}}) + fireEvent.change(getByLabelText(/password/i), {target: {value: 'norris'}}) + + fireEvent.click(getByText(/submit/i)) + + // just like a manual tester, we'll instruct our test to wait for the alert + // to show up before continuing with our assertions. + const alert = await findByRole('alert') + + // .toHaveTextContent() comes from jest-dom's assertions + // otherwise you could use expect(alert.textContent).toMatch(/congrats/i) + // but jest-dom will give you better error messages which is why it's recommended + expect(alert).toHaveTextContent(/congrats/i) + expect(window.localStorage.getItem('token')).toEqual(fakeUserResponse.token) +}) +``` + +### More Examples + +> We're in the process of moving examples to the +> [docs site](https://testing-library.com/docs/example-codesandbox) + +You'll find runnable examples of testing with different libraries in +[the `react-testing-library-examples` codesandbox](https://codesandbox.io/s/github/kentcdodds/react-testing-library-examples). +Some included are: + +- [`react-redux`](https://codesandbox.io/s/github/kentcdodds/react-testing-library-examples/tree/master/?fontsize=14&module=%2Fsrc%2F__tests__%2Freact-redux.js&previewwindow=tests) +- [`react-router`](https://codesandbox.io/s/github/kentcdodds/react-testing-library-examples/tree/master/?fontsize=14&module=%2Fsrc%2F__tests__%2Freact-router.js&previewwindow=tests) +- [`react-context`](https://codesandbox.io/s/github/kentcdodds/react-testing-library-examples/tree/master/?fontsize=14&module=%2Fsrc%2F__tests__%2Freact-context.js&previewwindow=tests) + +You can also find React Testing Library examples at +[react-testing-examples.com](https://react-testing-examples.com/jest-rtl/). + +## Hooks + +If you are interested in testing a custom hook, check out [React Hooks Testing +Library][react-hooks-testing-library]. + +> NOTE it is not recommended to test single-use custom hooks in isolation from +> the components where it's being used. It's better to test the component that's +> using the hook rather than the hook itself. The `React Hooks Testing Library` +> is intended to be used for reusable hooks/libraries. + +## Guiding Principles + +> [The more your tests resemble the way your software is used, the more +> confidence they can give you.][guiding-principle] + +We try to only expose methods and utilities that encourage you to write tests +that closely resemble how your react components are used. + +Utilities are included in this project based on the following guiding +principles: + +1. If it relates to rendering components, it deals with DOM nodes rather than + component instances, nor should it encourage dealing with component + instances. +2. It should be generally useful for testing individual React components or + full React applications. While this library is focused on `react-dom`, + utilities could be included even if they don't directly relate to + `react-dom`. +3. Utility implementations and APIs should be simple and flexible. + +At the end of the day, what we want is for this library to be pretty +light-weight, simple, and understandable. + +## Docs + +[**Read The Docs**](https://testing-library.com/react) | +[Edit the docs](https://github.com/testing-library/testing-library-docs) + +## Issues + +_Looking to contribute? Look for the [Good First Issue][good-first-issue] +label._ + +### 🐛 Bugs + +Please file an issue for bugs, missing documentation, or unexpected behavior. + +[**See Bugs**][bugs] + +### 💡 Feature Requests + +Please file an issue to suggest new features. Vote on feature requests by adding +a 👍. This helps maintainers prioritize what to work on. + +[**See Feature Requests**][requests] + +### ❓ Questions + +For questions related to using the library, please visit a support community +instead of filing an issue on GitHub. + +- [Spectrum][spectrum] +- [Reactiflux on Discord][reactiflux] +- [Stack Overflow][stackoverflow] + +## Contributors + +Thanks goes to these people ([emoji key][emojis]): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Kent C. Dodds
Kent C. Dodds

💻 📖 🚇 ⚠️
Ryan Castner
Ryan Castner

📖
Daniel Sandiego
Daniel Sandiego

💻
Paweł Mikołajczyk
Paweł Mikołajczyk

💻
Alejandro Ñáñez Ortiz
Alejandro Ñáñez Ortiz

📖
Matt Parrish
Matt Parrish

🐛 💻 📖 ⚠️
Justin Hall
Justin Hall

📦
Anto Aravinth
Anto Aravinth

💻 ⚠️ 📖
Jonah Moses
Jonah Moses

📖
Łukasz Gandecki
Łukasz Gandecki

💻 ⚠️ 📖
Ivan Babak
Ivan Babak

🐛 🤔
Jesse Day
Jesse Day

💻
Ernesto García
Ernesto García

💬 💻 📖
Josef Maxx Blake
Josef Maxx Blake

💻 📖 ⚠️
Michal Baranowski
Michal Baranowski

📝
Arthur Puthin
Arthur Puthin

📖
Thomas Chia
Thomas Chia

💻 📖
Thiago Galvani
Thiago Galvani

📖
Christian
Christian

⚠️
Alex Krolick
Alex Krolick

💬 📖 💡 🤔
Johann Hubert Sonntagbauer
Johann Hubert Sonntagbauer

💻 📖 ⚠️
Maddi Joyce
Maddi Joyce

💻
Ryan Vice
Ryan Vice

📖
Ian Wilson
Ian Wilson

📝
Daniel
Daniel

🐛 💻
Giorgio Polvara
Giorgio Polvara

🐛 🤔
John Gozde
John Gozde

💻
Sam Horton
Sam Horton

📖 💡 🤔
Richard Kotze (mobile)
Richard Kotze (mobile)

📖
Brahian E. Soto Mercedes
Brahian E. Soto Mercedes

📖
Benoit de La Forest
Benoit de La Forest

📖
Salah
Salah

💻 ⚠️
Adam Gordon
Adam Gordon

🐛 💻
Matija Marohnić
Matija Marohnić

📖
Justice Mba
Justice Mba

📖
Mark Pollmann
Mark Pollmann

📖
Ehtesham Kafeel
Ehtesham Kafeel

💻 📖
Julio Pavón
Julio Pavón

💻
Duncan L
Duncan L

📖 💡
Tiago Almeida
Tiago Almeida

📖
Robert Smith
Robert Smith

🐛
Zach Green
Zach Green

📖
dadamssg
dadamssg

📖
Yazan Aabed
Yazan Aabed

📝
Tim
Tim

🐛 💻 📖 ⚠️
Divyanshu Maithani
Divyanshu Maithani

📹
Deepak Grover
Deepak Grover

📹
Eyal Cohen
Eyal Cohen

📖
Peter Makowski
Peter Makowski

📖
Michiel Nuyts
Michiel Nuyts

📖
Joe Ng'ethe
Joe Ng'ethe

💻 📖
Kate
Kate

📖
Sean
Sean

📖
James Long
James Long

🤔 📦
Herb Hagely
Herb Hagely

💡
Alex Wendte
Alex Wendte

💡
Monica Powell
Monica Powell

📖
Vitaly Sivkov
Vitaly Sivkov

💻
Weyert de Boer
Weyert de Boer

🤔 👀
EstebanMarin
EstebanMarin

📖
Victor Martins
Victor Martins

📖
Royston Shufflebotham
Royston Shufflebotham

🐛 📖 💡
chrbala
chrbala

💻
Donavon West
Donavon West

💻 📖 🤔 ⚠️
Richard Maisano
Richard Maisano

💻
Marco Biedermann
Marco Biedermann

💻 🚧 ⚠️
Alex Zherdev
Alex Zherdev

🐛 💻
André Matulionis dos Santos
André Matulionis dos Santos

💻 💡 ⚠️
Daniel K.
Daniel K.

🐛 💻 🤔 ⚠️ 👀
mohamedmagdy17593
mohamedmagdy17593

💻
Loren ☺️
Loren ☺️

📖
MarkFalconbridge
MarkFalconbridge

🐛 💻
Vinicius
Vinicius

📖 💡
Peter Schyma
Peter Schyma

💻
Ian Schmitz
Ian Schmitz

📖
Joel Marcotte
Joel Marcotte

🐛 ⚠️ 💻
Alejandro Dustet
Alejandro Dustet

🐛
Brandon Carroll
Brandon Carroll

📖
Lucas Machado
Lucas Machado

📖
Pascal Duez
Pascal Duez

📦
Minh Nguyen
Minh Nguyen

💻
LiaoJimmy
LiaoJimmy

📖
Sunil Pai
Sunil Pai

💻 ⚠️
Dan Abramov
Dan Abramov

👀
Christian Murphy
Christian Murphy

🚇
Ivakhnenko Dmitry
Ivakhnenko Dmitry

💻
James George
James George

📖
João Fernandes
João Fernandes

📖
Alejandro Perea
Alejandro Perea

👀
Nick McCurdy
Nick McCurdy

👀 💬
Sebastian Silbermann
Sebastian Silbermann

👀
Adrià Fontcuberta
Adrià Fontcuberta

👀 📖
John Reilly
John Reilly

👀
Michaël De Boey
Michaël De Boey

👀
Tim Yates
Tim Yates

👀
Brian Donovan
Brian Donovan

💻
Noam Gabriel Jacobson
Noam Gabriel Jacobson

📖
Ronald van der Kooij
Ronald van der Kooij

⚠️ 💻
Aayush Rajvanshi
Aayush Rajvanshi

📖
Ely Alamillo
Ely Alamillo

💻 ⚠️
Daniel Afonso
Daniel Afonso

💻 ⚠️
Laurens Bosscher
Laurens Bosscher

💻
+ + + +This project follows the [all-contributors][all-contributors] specification. +Contributions of any kind welcome! + +## LICENSE + +[MIT](LICENSE) + + + +[npm]: https://www.npmjs.com/ +[node]: https://nodejs.org +[build-badge]: https://img.shields.io/travis/testing-library/react-testing-library.svg?style=flat-square +[build]: https://travis-ci.org/testing-library/react-testing-library +[coverage-badge]: https://img.shields.io/codecov/c/github/testing-library/react-testing-library.svg?style=flat-square +[coverage]: https://codecov.io/github/testing-library/react-testing-library +[version-badge]: https://img.shields.io/npm/v/@testing-library/react.svg?style=flat-square +[package]: https://www.npmjs.com/package/@testing-library/react +[downloads-badge]: https://img.shields.io/npm/dm/@testing-library/react.svg?style=flat-square +[npmtrends]: http://www.npmtrends.com/@testing-library/react +[spectrum-badge]: https://withspectrum.github.io/badge/badge.svg +[spectrum]: https://spectrum.chat/testing-library +[license-badge]: https://img.shields.io/npm/l/@testing-library/react.svg?style=flat-square +[license]: https://github.com/testing-library/react-testing-library/blob/master/LICENSE +[prs-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square +[prs]: http://makeapullrequest.com +[coc-badge]: https://img.shields.io/badge/code%20of-conduct-ff69b4.svg?style=flat-square +[coc]: https://github.com/testing-library/react-testing-library/blob/master/CODE_OF_CONDUCT.md +[github-watch-badge]: https://img.shields.io/github/watchers/testing-library/react-testing-library.svg?style=social +[github-watch]: https://github.com/testing-library/react-testing-library/watchers +[github-star-badge]: https://img.shields.io/github/stars/testing-library/react-testing-library.svg?style=social +[github-star]: https://github.com/testing-library/react-testing-library/stargazers +[twitter]: https://twitter.com/intent/tweet?text=Check%20out%20react-testing-library%20by%20%40@TestingLib%20https%3A%2F%2Fgithub.com%2Ftesting-library%2Freact-testing-library%20%F0%9F%91%8D +[twitter-badge]: https://img.shields.io/twitter/url/https/github.com/testing-library/react-testing-library.svg?style=social +[emojis]: https://github.com/all-contributors/all-contributors#emoji-key +[all-contributors]: https://github.com/all-contributors/all-contributors +[guiding-principle]: https://twitter.com/kentcdodds/status/977018512689455106 +[bugs]: https://github.com/testing-library/react-testing-library/issues?q=is%3Aissue+is%3Aopen+label%3Abug+sort%3Acreated-desc +[requests]: https://github.com/testing-library/react-testing-library/issues?q=is%3Aissue+sort%3Areactions-%2B1-desc+label%3Aenhancement+is%3Aopen +[good-first-issue]: https://github.com/testing-library/react-testing-library/issues?utf8=✓&q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc+label%3A"good+first+issue"+ +[reactiflux]: https://www.reactiflux.com/ +[stackoverflow]: https://stackoverflow.com/questions/tagged/react-testing-library +[react-hooks-testing-library]: https://github.com/testing-library/react-hooks-testing-library + + diff --git a/cleanup-after-each.js b/cleanup-after-each.js new file mode 100644 index 0000000..ace739e --- /dev/null +++ b/cleanup-after-each.js @@ -0,0 +1,4 @@ +console.warn( + 'The module `@testing-library/react/cleanup-after-each` has been deprecated and no longer does anything (it is not needed). You no longer need to import this module and can safely remove any import or configuration which imports this module', +) +/* eslint no-console:0 */ diff --git a/dont-cleanup-after-each.js b/dont-cleanup-after-each.js new file mode 100644 index 0000000..083a818 --- /dev/null +++ b/dont-cleanup-after-each.js @@ -0,0 +1 @@ +process.env.RTL_SKIP_AUTO_CLEANUP = true diff --git a/other/MAINTAINING.md b/other/MAINTAINING.md new file mode 100644 index 0000000..703126d --- /dev/null +++ b/other/MAINTAINING.md @@ -0,0 +1,70 @@ +# Maintaining + +This is documentation for maintainers of this project. + +## Code of Conduct + +Please review, understand, and be an example of it. Violations of the code of +conduct are taken seriously, even (especially) for maintainers. + +## Issues + +We want to support and build the community. We do that best by helping people +learn to solve their own problems. We have an issue template and hopefully most +folks follow it. If it's not clear what the issue is, invite them to create a +minimal reproduction of what they're trying to accomplish or the bug they think +they've found. + +Once it's determined that a code change is necessary, point people to +[makeapullrequest.com](http://makeapullrequest.com) and invite them to make a +pull request. If they're the one who needs the feature, they're the one who can +build it. If they need some hand holding and you have time to lend a hand, +please do so. It's an investment into another human being, and an investment +into a potential maintainer. + +Remember that this is open source, so the code is not yours, it's ours. If +someone needs a change in the codebase, you don't have to make it happen +yourself. Commit as much time to the project as you want/need to. Nobody can ask +any more of you than that. + +## Pull Requests + +As a maintainer, you're fine to make your branches on the main repo or on your +own fork. Either way is fine. + +When we receive a pull request, a travis build is kicked off automatically (see +the `.travis.yml` for what runs in the travis build). We avoid merging anything +that breaks the travis build. + +Please review PRs and focus on the code rather than the individual. You never +know when this is someone's first ever PR and we want their experience to be as +positive as possible, so be uplifting and constructive. + +When you merge the pull request, 99% of the time you should use the +[Squash and merge](https://help.github.com/articles/merging-a-pull-request/) +feature. This keeps our git history clean, but more importantly, this allows us +to make any necessary changes to the commit message so we release what we want +to release. See the next section on Releases for more about that. + +## Release + +Our releases are automatic. They happen whenever code lands into `master`. A +travis build gets kicked off and if it's successful, a tool called +[`semantic-release`](https://github.com/semantic-release/semantic-release) is +used to automatically publish a new release to npm as well as a changelog to +GitHub. It is only able to determine the version and whether a release is +necessary by the git commit messages. With this in mind, **please brush up on +[the commit message convention][commit] which drives our releases.** + +> One important note about this: Please make sure that commit messages do NOT +> contain the words "BREAKING CHANGE" in them unless we want to push a major +> version. I've been burned by this more than once where someone will include +> "BREAKING CHANGE: None" and it will end up releasing a new major version. Not +> a huge deal honestly, but kind of annoying... + +## Thanks! + +Thank you so much for helping to maintain this project! + +[commit]: + https://github.com/conventional-changelog-archived-repos/conventional-changelog-angular/blob/ed32559941719a130bb0327f886d6a32a8cbc2ba/convention.md diff --git a/other/USERS.md b/other/USERS.md new file mode 100644 index 0000000..4bc1281 --- /dev/null +++ b/other/USERS.md @@ -0,0 +1,12 @@ +# Users + +If you or your company uses this project, add your name to this list! Eventually +we may have a website to showcase these (wanna build it!?) + +> No users have been added yet! + + diff --git a/other/cheat-sheet.pdf b/other/cheat-sheet.pdf new file mode 100644 index 0000000000000000000000000000000000000000..3cafbc3a2c9fa9b7dd9a7b206fdb6c8288165b91 GIT binary patch literal 54406 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

FeDN)({>EHLQv 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 ak(``?uh`#SY%I)-0CpHMG7&jZnEwTHsC={l literal 0 HcmV?d00001 diff --git a/other/goat.png b/other/goat.png new file mode 100644 index 0000000000000000000000000000000000000000..fe29faaab2a2b9c89c6e4a12af915b07f5b2d451 GIT binary patch literal 2680 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 literal 0 HcmV?d00001 diff --git a/other/manual-releases.md b/other/manual-releases.md new file mode 100644 index 0000000..0ae36c3 --- /dev/null +++ b/other/manual-releases.md @@ -0,0 +1,44 @@ +# manual-releases + +This project has an automated release set up. So things are only released when +there are useful changes in the code that justify a release. But sometimes +things get messed up one way or another and we need to trigger the release +ourselves. When this happens, simply bump the number below and commit that with +the following commit message based on your needs: + +**Major** + +``` +fix(release): manually release a major version + +There was an issue with a major release, so this manual-releases.md +change is to release a new major version. + +Reference: # + +BREAKING CHANGE: +``` + +**Minor** + +``` +feat(release): manually release a minor version + +There was an issue with a minor release, so this manual-releases.md +change is to release a new minor version. + +Reference: # +``` + +**Patch** + +``` +fix(release): manually release a patch version + +There was an issue with a patch release, so this manual-releases.md +change is to release a new patch version. + +Reference: # +``` + +The number of times we've had to do a manual release is: 4 diff --git a/other/testingjavascript.jpg b/other/testingjavascript.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e59e5ed9dd8036c2e2f5828ebe8ad1f3d52ce4a2 GIT binary patch literal 201050 zcmdqJ1yq&K);N3+Q2`a{25D*O27^xN?v6vlp;46Xjzf3n;n1LTBi$g~AYB6ggNncV z-uJHG|K9gq>s#OV4QoBKpV>2e_Uzd;a~{2!xcLTnCN3-{41j|J07PMbfSUz?ijb43 z5da`11)u={0FMCo;Lrf@FbEFz2kd?pjmOP2 z;4O^9|6REy^1q`18-3FZKz(#C^L{Bj94g=*DjYm2+)XQh=vFWf;9-wHjALZAfDeEy#e zmDBnE@ubgwaDyDyP*UoplZg%flFz+J0HzM?^?qhp=TjlWTLeEA(Y}Z2a~On(I3fKW zRs%5Vy=7q)GOklYRPy)RmcI&yXWJEumAJ6g0PO+C>xDtwD&CIaHh~Kns-)CEz2L;& zBbCD5;FaCCG65OuGWp8)T0A~ z0mG{an-8U2rN#`QBPM+H#FPA^GbLII@3BVpmk^sf`w=d4Y^HTMzP`CXgz4hW; zi12`2e~N?hurTtu$`N&=n`0Y)QRZq2oB9THW^7^&@nB(HexxJClfomKLp5RocZ$V4 zYV_+kvC|}_^Uz%F1x}mW{t}rm_m*nQOK0f{p0S-V>(fHZDtgF={KmNN^Ie`91EZly z!vkYe#y0@mp_BXzoiA=kJ9rMG8XYS<-aTfUM8=?D8!li`<9=1p*eGSdagW0!{n`MK zk3_dA(S4-*THb}0du&fzl+$Vr+ku^@dHQ3YSqx6r5bx%0_BY#UWfwAMT>5N!#V$*` zIlT_ixnv3Fhg>cFdt|s#a%QbJhS#=n(ow zrDV*FchE9>jzyijMkcaJBqfuM<1nx`Ikr@5Psz>yLgPx%`Sh@+wyvYg;`0ibteUw| z;oO*n!!xw~=?%LR!d3e{UWW^}D^{IGZ%5@(ffP^bWN$u{MJSwOfSEeo8jx%r-z=#{SBTq*T(pDyuNDB~Qm91sm{Bc6YQ4K*Js?d#STgN7Mlqa^o5StNEnX_?7O| z3r+EwM^o44=AreLq4bq}>2)4`7RxLA(pN+tVWso^{F?^GTy@8Zm^<2v*B}{Aa2|+e z2CBZL++Y_NbzVCwRbm7!a~*d-XUqYz)mDNi`?NS5BIZ0#lt(#W0&Tn#sL?Nh!i`JF z3LqRE-T*QWs65sZ?gxH8emQ;?dm%t`11J_iXqQ<@nck(^5FiwB(;l4J8|5dx^td`V z#_PlU-Xy_%Y@^U5vveofJI@Zl`?9C;d5z;D;w1`1FI03Q6tOEo8tXWSXbZQd+fF-b zsd7m}bIJ0&DE|s`D#X>SL&)(wVWMP+o<5$e?;~OQs*?Se{JPmLv#BCSP|&9ggG73Z zBD|78?6ClDb&UaYU6avWzZoTU5MJw`x-4y#l7VeP*ch?XCcA#K<%%&bw{X3yu*zZL z*%Eixo<{Qu$52IHFxw=9tF!MB*LI|LZE)%uxKg#;F<93mxM&U9P^WBmzT@vs26riJ zVw*U#!kSnKOs|*9G_GW$cRwi}W0_XqrY+-V@3?F&?c0@uE%-U_j>2BwC8o@nlPsPy z9Q6Umg6H?Wqik7E6%XuC&wk<($p%T~j?_eN^~d+! zHB`oga^e>l6yaucyQ3`DJKeRzYG;=t>UCty@~091&iN}p^(k^7k?-;rBZ_mH4 z`*grU@81=~oC;r9XaPJgHO*)wTQ4B4Iq#gUSvYhk6&N5c9BjfoiXNDAtGvAS{*gX^ zZFf8-@x5u-`6&Cfr_i;ClDnrDwN>~jr_!;9R}}%CQBYAU)OAHszVo9b z7wh~p;7&S!8vX`&D4XTpE3sV}`>H3NH`;m78aXeiqVRF_;?HpNbKoCO_%~$kP;j3Q z`nITD0YS9L#WD(u-Lzn!mO4*)-5nlqr$T=k{tkFTv}b-QYD?)29Mm{+qn?v_+sM2y z`rjAI9jv%sJZAS>5nhKQyoacpv#=z-|4kh2K(H!!;I2djZCNcTQfFV^5(d6zkMh4N^m~_@krBu|Q z9rlN8UeLCfPpkf!`VWA1sB|%vI3fPBJA{7Vn-&d^OzI!p-8PfRP&UR2s3lvy{&=M? zcCjVbV$8KlqyjfZC$uz}Oq8tJ@YGdiz?3V{UGE)mk9FJAyD%xE@4$nn^bqHmJ^OD?I@ilJ=$^WJH( zyo$m@{{|eJF?Nw=2e|yY)-LxHIUe`_b#-n!RpAVcg^3<>k^t|5`A#%fhA(ySDw? z!F2E3g~2#mQTd`GkN>=*gaaP#qy&oN?t%KiYWGFN;oget;M!(I|HcaA;M&I0Kx2f% z*raBd#;THWD0TlX%km9iFsBfO``cg4-9acm2~}*9dD=aLo*{)KbG8qMH@;uoA^(y; zadHY@&{}xB#+u?3>F#KS+sT-8z}%EH)Lz+Rq9hxrcy#D>@qAq4dWpG4S4L${OX3N- zdEx8WnH*df;RP1;-jEARPkP9Cc9mlhcnxZIkl>;PIvL9GQMOCc0foxVx&J6};k{CF zp5@KF;5{t}xd<6m>&Etoq-D7bT0@~e7+#mRR?Qyk(RDN08GCid;9U(TBcbFn1sMyC zmKqG7Q8zh^?TDb;<&hQ{4StJ9rX!hi6Y)p=aC!mhOcf>|w6qz9KGN}=tr(4RV}f%J69)IYFIwVkJ3Ud{qx@tr{>Im|*TP7FJ^+6rK8HtLy% z+FWf6;n6c|=q^HEaviYmQC53bLEbU9X@w{80&TwCv3OVC>(ngnlXBjWWp^j*PTnlv zXf3y6VYMkQp>Y&U>R<^!x|2TjOE{&wLI0N;o`AcOqRdxw25|p1XSDgCroFU<_ouBu zUfvVeB`N8p(rx~fSHEcd2UPKPh6YcTBi=oGPohVX_Qz1F#pNsp3eR;`PI)+ckpBQ9b90)CEF_i0t+4D4nD!c^Pl*ikC)S#&eoG! z5Nm#7y}@$_sqfo~i<8`K`F4?&uR|eo(O}L~%eL_igK(F#^*tHhkIF9;nw6fXJ0d2# zqv$6e#vlD6bti%cWjy2BnoB0CJ4QQrZlfASYn;PQeNW}1>(>nG=`*G5b13QxV@BKk zrk*-~DK0B1-iOegbgHp2X4BJW7;){qRb!3JuWRdaPq0qp+`@|J85DYAAV-0iNy)Y{ z$3B@bMzkM6uxh5KEjrccsv}}@xDN$?>;Xo8Pa-!jJixE(av8#69$W>xGh0Tk2R=E< z$%hK>*YZN4j%Makj`Ynon>z+3#XoH3c{n>qv=SC>04lQ&B=m@tc(myIGMvuob2XW2 zHK60;W^)Ps1_wX=-o4Q&-b!`FrhWbp(DJ2xDC0QT`8snPYh%@{kIN=rE|P%_Y?FD& zM=Qf;?KY)R_`{MRg?rU($>wwod@)lLI=Ebx9An{nw7)oB^U-*&Dy3phdib9 zA8XT+iXJkYU$@ZZE@e_Y=%lXVzE#1G^_gL`-acU$7q{PZ!yH}6F*JFKcU-D<1)AWX z{FR7ygV7MQ5HM$Rsys}IeExM-M#_m%zIj%n|76nuf$~G#HV1Xg)a4F=B-##sQx{Nq zqsUx!;F<-Tn4J_G?Fl>5)L*U}8?sz}nwFs3nQrScbzZ%6;9!iIm>*)h0gSPzCw|K@ zsXtO?;*#yQv}dErZuI^>=O!M^zFEXZYiLqjzyZzEl@w3)?(`{P70GhLF8rll=AO+L zN%(F#^P=unXd;_ubxt?*k5H zYm?e^ky$`lz1Rom>+)7y#`3lLBPA)G3|ihiq3=B0FF!0V4dxUOb6>kT4#N)a7C@X? z$D;!k=b>q-CL<`VeX!kW(9{a=HPwC)O9LMNJepE==b^3((zFKI`h&-biY~B z4JEtFpzalKK7Gr{oL-{~BM#~#gphAPEoeyEZ|Ef8I0bbK03Zn2BFi>{`WFqWN@h(P zzlbw=twd1?DX&nF-8$?~KHT_iba%-r8((_u)gHdofJMgYSc%glF(T|9WFiM~JjH3M z*xV$;kh;rCgs@UQoxLpC;dqMea*iFGJW1VG!oOd=4LzKPHhyAK7jfANub<{v&@I*) zl#o;oXKx&Y^qzc`?mi*S@t=cAn7S(J_jMVT;`t4$km>)R62_ zsQrqwB!fP>!ZCP!r82!j5sx;}&Dh*|Cp9T*Vh`C^ggP@AekTir9I9GE)3a*_(7OSM zPPMz<-iVACLiK)`8o;@AT+`+_q+*f#GXOq(*1#d#%)d%-NS>Bwq1%YyW2OYHsiDzR zqH5laS_j+TG44(`etDwb&wE2^yo(B}s5>SwdF(6ppp zUEx_sDFCnxQYBr61cYK@n(!t+CvOFgC?XcqmeY<3luRn+U`w9Izui0J} z3&Zc_Ov9FA0^3z}N=HG$NWPcenG$-2QIJ~vtJcXB+|}PX)E{5}4_yCC5Shg|oNr{4 zd%$lC0C*~5kzvImC}o*2$r2@%UW^t|+T?dR2JaPDb~ibOs?AqE9UBv488~ z=!!C6$8l=sejD2`0KC!#ZORPgis1X_kCuLVDJ*EO!Um>28A+VmG61mnI=mfRscg$- z@fTBHl0%tYsYe`sYA><$hOnAZB)UX4REh%K*h1zWRv8>RT~=1uz>hs4r!~m$;COfU z4gdI}y_i+`YclP`mf+U{Qj-l>>d^siyU3g@5d2zKnL^zd4DwW&U*az8l?Vljyxm)~Xg|KVur1Bt0?sOzPs4n)|#IC@Sy$W5$NM z%Td6i#3_6^&wmd4qc1qdV{A6*b*uxxHycGIb#7-nnNJjt(tNHBPlrLc^ttYAm8UK* zTY%)7h2`o(0~V)C{N@~T3(Xy~^^YA7y&J(HJr;~x_#b<$*y=V)iCBU`R`L|}yF1y_ zhw9dog{HZ*0>Ng&y*yxG~OJ`xThF+!AXrx%R^Ai}Q~MNk?N{b1yj{ zE?h0{DkjA@0H*oglM5g=U#Vvi=se`wxN6v>X6FN80Zb4@KBh<>vcj47BB;{K9-=eAMDa#(3wuCoYT$Q1cX#oF6FS8D5E}cm0u~?4 z3p43jwZdx&pcl@I(=w`B4#zC%)W}TOnU=ovl`Pp+&`AFz^TuA#kVpP9Ax`CBy#_3g z3b;UT^W;#^tLB9s$~1ysE^vZIH?{_vQlub#{PNJ=F(T;(JRm&pri_$3scuuk)zL%> zV%uEshJF>e?+*;kgN#$w^cg-T-@?4l6q{-FkmBfLagAo5rD4O5m_ypeWZ&=e{i~Z7 z24Ae$rwgLpMkv6f0~UrG_@DZ$n0Yp;=*BvWEx?)Yf64@fVmgDkNGs!)PbJJ$T-9e{ zDu)TBGlJB>zV*$R;V}f7%jqK4-0vaZ`^y{LX$PPb6u_XW-EYuNaU577WR9-Vg5x5r zbQn+V@2&s9@pPp|Aq4a^ROB-R%CEhKsnU_!<6MIMfrn3Z*-CF z&M9V>2)dQ@X;uDDUTU9)HDULBvUZ8?^=9Z&j#bH%Lj4|C34`))SgS`9-)`W-3w8Ln zOSFk0YLqiX>M&vkD>-hLuCY()6BqY1+6i{Y!7g$W_3Je_l~LI=er-L4NN~!V@=p$g z#;p#pmG6)OnNIwpvO$t7=r1Cd2Q&oPj2_T4q$AoU7 zDL1Lk;#Z8ru+0T{34n zP@>Vp3!=Jk@#*L!FWm;FfB1Rm?H$ZxZRMd`Q#L4%BJ{XJCjH_jOw zZG5sOW~mEb= zMWb(cm}|MgWz1={ZSMQOn|Pd9ImzATALb=I@QacPuQ0h(Zj`0omLYeOx!*E~{M0X~ zXUR&EGwFAPzB5WT!g(n6)adxYmF0+=KyKDjcHV_S^FZN`-NxBSerIJDjherk{XzT@ zYfd`J;2$Z&*UF;#moqVqha6C9`ma0#Tl;V1;}N1_vqx^(4J04_Qt~?`DL>@K9L@+5 z7IJHvHFN~l=gq5}bon$%eUGKJ)LKswn>?Fee@{=CzNln^7+8V^yKc}2qRZ`$y=w1i z9cdZ~1AL_a(bnsqh?3p3tPUgg*Sp z$zISc(B!@Q*F6wOn~|K0VSbBg4|6zsZa}GZ=PMhY#FZWs z)?7TLQLRHW+*Jbfd$Zz)V-7cfsVdTnM1macr1a4#>O7+q-0lR?ua4a-RTND01#3_i z`=IzW*5$J1{lFwL{Y0uKF4^8&>ED&i&i-iuC@hyM98SI>;@rOu2Y{!Opq|D~NPDlK z>MYAtvgmS@jN-fR8-8(Z4I&E$AdZ(m3H;tzxWelOHs|pi90QL2DqThopvmewgI=;rWhhh0BLYplk^m4h_#YGN9deJTt~u*(Au{`|o7YeVj}9-Evx!C;isMVs3+ zUb26Xvm9vP9&Wp$%WM9uG0OyCD1h~R7v+eup;c%hZ z*jJ%AZ~7gJW$gQ=2cbKm(-cd@KkfamIq#k=Pj@7MKVOKYdq{O(!loVS`jnp4Z^*#( z?D$ngcNUvOexnAs=rAegzf25ZLbjsEbB#Cm+mbfg^K&^ca8%#Z?%Io2b-APcuWHVO z;E9%opBVU!NrnUNjWpI;epwdYm7{O=qYwOna@|>jEK|al^^oOX$=IDY1e~ezk3bOX z-Zk*}10#S$g4pyI1$s(g7s>U`WVYwzK zisY5>{bcjsO?hDMnhigl##Fn2mip(G5%hP(6_8Pqtza^o+eQ$ReEw$hDIE(f+;F{@ zfn|LS|Gy~kzhL&iG$9EdszRB(_AvtTjaIuG}Hp+zWsI-Abl#cuRed8IwkK%v!`|l=#;oySCf*Ce~ z-5m`PZMg`CLd$`s{&Cy!D@^;A)g@|9y~_hwlT7{Q2l0iZPjznT z{=1t306ey?H)E_fcP*4VgpGp_@7#?V+gQn_CWtvJL8#NKscgR#@9rhC!+lgy`uo!4 z-<1}Ojn@)N4F$PHn3V^xuWZP|`(-0SAtz*BqmPwMRQDh=TjOFoT!|qf&u@7K+&QbC zFMt1lladhQrp+Td{sy~8vVBMfHQr>|imqCS7#Am&$@%S+6)KQO};NRNJfkiUN` z0{95WhIUX}%-^<7U_<|1yM}dz3!FSTk3D(W6P+#l0Ki4iZ<~NA zIc3OFnL;eR!o9ZlD<_0?{129T@0AIdvFH;q)A5nW^pD3CO442gTU@AeL6mkZu98!@ zrUyi`=lc%Zfx8}7WH0_FT+7)W%0ii31{y&b4xR#+Q^TF}m~KO%%3U9(15>0~`ay-v zM|E>r;Qg3G0SQVHcTnJ`dCet-%A_m(pu-h`SFrWmmj6IbrV^57p|xuMcsh!kf=dI_ znr=6MDwVUwV3CiKR?^HV>I0dLAG?f<|$LSjQ{ z>&!XDp0zeSBj*~i;Y=#u{^Ztsu$in#k!_S52X9e{sdeYjkY(Y-h`FmWTi2|Y($&u-{s|SiQv;Xo?>KVnju15NB#HY{$SZS(pj6*No2n|kbU?J zJIoV=X1Yfs>Q zt`)jzT;_4QgoLO`;Rb){-R1#2VV`7kJcF6oeYkt@5AQv=_v_2;+fTM(4UaG|Ii8`u zL_^1V&i?A1jx{z82@?w&D<>%#b1Lj>?MJY0x#1A*-2nD+JtUak>GcKjHHEM{`6Kg_ zTZa1MXDkY@SGLaAHl`u+z0a-M#8;3cu@NF)LD9IFVt)4=8dR{s&}G5ioy;3|sQ*Jq zDPY3lTt8OZy&6N5RGAo)zd42)zbzIoAbi?SH_L6~tRauaU|1xBCa9Y6iwDMVJKbAR zh4lFh@@?u>^e^c(uJNVo((J|4ulx-xb`w0sU0jXD-9+**a#9L-`Zi6GDCA=k*CcbQ z6MR#t;|@z0)2M_Qe^{+|A;^}uoEw_XEL*RIYN`_T-T<0%vxVL$(;BeovScxE%J}>G z`#zw<35a5lAiCenDP^1<9*M+0X+s*%Sn6G+?%oubTvt}4SwK9&eP2RH5 zE8`ssjF=f$ZTD<-u(rc$1m>`Eq@7W#Hu``m8oCt4PQYw-(&d{t2@JI()*FEF88BtU zCGzTE1=gd(R1Q7(*)%q$4~`tZt)N6aMJ$GnEpFUF*Q6l0bWK(IENLBj12FGGC)47< zJ^3>1XtJgMjBxGaaHO(N9oTH1sB62BvE3C95P`P`N80y8P!r}CWgT}H+851@wQ)Co|l6hX6sF&*??)y z{5_NN5KrToGvAFOO$#p1w+(1cj1`Xt$9RG*pSSG?6vmZ$DyW@?DT`Zogg_;r#U~^c z!Wbx&ufAV~7ls#=>!G!JV?Xb5n%$uIswtUdYrr|hc<%&5hm}9i;|e8Yx}-o|ahRFB z$L4kC7YPN8Y|AE-xpw*C#m+K0X$7TGtgEgb(ak5vK+7F%pUEqcJb^ioqzfYiCt-0* zNjK zVsXkUz4&q?lnRGJ%v2hp2Fzn;rxCH5#gh!qBb|J`@*SU=kiz|9O=c9U?Gw45f9q$J zagg57lCsWa6=sVBnodA^BB~=7ZMCcj(D3O}>%|Qq=^*B8bcS3mP6qP!&{9PZ7i5md(nX|CV ztTHoebWyY=*_*vXN#&@?sZ7YQIgRqBm&luU&rRumh?Qg|2cH`;v*0qCdF|RgYRrOZ?6y}r76RE=JfFoIllO9R`?Mp(6qYY=l_1i- zC>u#BG7ioowiHki)~64&p~xMA6pGh*mpmZvBF`;oi#S)v9j^wd z15di>ErN1dQ>bLskj8vcG~B@K8XuHbJ9(64babV6!32JR^leF?9d;?NfYLb|lEPz& z2#1=gp?5JM9MLD9{BOg@if7~^Ue;a$vE~h1U^`IEu4*6$V^xT-GO8|+ct-BzrPGYu zsR2lGL|1Bd^aGF70yL^;@R)xQ;(%OI{#9>tPWeKf+kJxJx#c!{bkDXjZ;d3xXOVvm zQMu;bp83iA54Gs)fnjcq{lGHgp7&Q!bwl1Kt9g2rPDF@4yS!qG*5xVr4`mh9x2_Hiwsh|@!`tmV1}8DQfOi zQJT!d6yu?owAH>xwV>=B8#a>A1Dws5e;#(>S|~7noRYzQ2ykLMx7_%EiZ5AiH? zSIuY-jrtffUQXsS=FoX{G92nhu`cS=qM!8UJP?Y+&U8p})+I8jWJjrUS)2Mm0YZAQ zQzA*IZVyw;<87M-@{x*89Alda5){7|?7j6YbJGkwsjWztRSiWja(KGU@te{MH) z13<>&%coGWZ1(i`G*21;S(tPdI*ojHH*aD4X8s@xe_3RoN1VHzT$C;Ad3wv<$O`4Vq?^U~?)mp_jnHgv-U(RvlTi zF@S{FN9LIdbBzjG;x>)PR|3p#iq8dixbRVv#5wjR6Z(g&@Uy6aguTny&CDTL%gZbd z(U~8UkW~s_J3Ity6!ev<%WbzCWAQrK+yJbP#@HA4mxHCsho4><0E-@NBq^bbjeND@ zlgDCXEjo{IU_q!+-8SmMnuQyuM|b*jG=waG5o^wM%$$4ia>$c=}@W6HEUb@nCq>zM0Q|NE^miJ5*SJJ$u_ z`Z}~(YE{&hDxr3FGD_>H7PEF@P$&_v!am;(0I6xVOxu)1GUUyJp_o33k;rJyuQ{>7 zn+P`G=CsatKMwoSW6mra^f>A;=H4<;@aUT$eBI(z$g>q{ycP#m2Z=HXKVHf3{Jhc; zND(`i;L!ujiU~YW4T)k_+l;@?+Pwj66kO*X*a#6At8wiIRhR2@j>va8T;rZ`9Sj|K zmwONleb95*%4;dkd0Lyuy=nbF1S>TuyN^c}#^rrAr3oE49sXYkdJB|frphF1G>fqy zY{<|&G(s*%?TGmSS_LiE=bRRpW1dAwr6_(jL~IL*OBCrz;T`R8*lc|GD27LadZG;P z2mhNhmZyj$U&uMheeZ{Tiy%OI>m_O}_W!-61{Q3CiU+JMxc=Bx^l`!(Du?>-OykS1 z-_BR^eqqZAuoc^=-QHsqVKEC%4JfJL2tt z@cyt-n3BHd{CK71@`(g6%R{nV0y|rT$Ld+b=GXE~9=!3PHv5^Sxj@@M^R-J{hmrDe z_BL**HQBJ_&E`Yl^6~!kWc??NI#8Z>;Rbm>*B^Y?Qa!XHv6Uv#=zNHW->a! zV7WqC;LbIp4Ja}liu$4D`Ms3Ce&0qQzKAxA;?Y&V{ue#fkY{#PnteHz@WR$;bn{`V zmW9h%Sob29f`1H{;wrd62GPSQ{5D$cJ|BFzUk-l0`P!bBbmO&`BDi7}GHTZvX?4xk zmKd=rk@%TFX4PDL8S#yPUEIDk55AO!81sx}wSgxZ&WNT~6wZ^6e$q;piRG;&gwMfm ztHU!Segd_+VNw!XC zmU;rI-5|MH&AdTM^UeuDN?WXz)Mv2M#e$Bz^8!~_l}H~{(&Q*wT0j>&(?vp)d`Y^s zFT{>J@R@=6aNA;ZOozd%Q_d>yE}V$|w2-p|6wg$ilcvp8a;@X2){mIn85RlOZUDSn zK!40q)72gi=7Ec9Qhdo+9{7)fhL}Wl6KOzz`;XcBpx4yeCUMG z22sSg80T==OCmO1G$jL#Xzfr<6MK$;*KBUl=H1S=u~DeUn{RA5{An1VK^a?xUXbY^ z%>WCko-bBBHl=Z$;aOA`kx11`dTOw&kbnKv)D55@!Gfa~95({kRtXKvSY>WNeH}PB zU2*`%876;q4E0%LQ&x@`_9uV#!}90GexJ%;J3IH=07p!B7i)&AOTAYOHJ~OnNZ1#_ ze7-p`iHv^~ILi0Acl$A^Hfp>A&~tQZC7_2iDZ0&Y-!Xfv>6w#7iv6O;)b=TmjTSRn z&U&$e`96!Fo-WLxtTV=)Um|wN&PFg z+r0`!pdI#a2$8sx?S(v7%T5FmIwoRNd?{X>@WjkAIf^KCH;$JzBVHpZEq;Ja>gfp@Nz9>Z`#~(*x~OwsgUPCvd1NFw~;? zHHD0K0J;sLuhrWQDT;P4(f@=j8b8=vCjT%ZGAobk{eG-5b2&FrJ`_WgqKB`C491Y$ zt}x2?u7U&ysS2@SImZy{h*TS{_v}sM9R{k^pw&_!KUxQ z*)enj2`d_JR?NLOCw&!qtQ#aKGV*4){mSGvAJcLHaR?|aa5Ntvgt&y%%k9g1vphNx zeP={KX$QABQg;wQ>z9Y^5mdWnQ8`@3RA5ZnKTBhPOuLC35Iqo+UZts>JZJ(@Uyvv! zI(-4zNPHd5UyGaPr!G3eVFw(WbBz4)de}R%tKkIhU|GSNFz}2_8Ncn2hEw%X1TEgv zv2o-Dp^XEXvWzSDb7Hdms!6SnZ}pyV6Wsvx^2#1WW}+l(BviE1KEa$$+zCxGeUtZM z-{8BRu-(9pGgLvN@Iy5ZPIc{xaWqLS?UT;+=~JAVQ`qv0 zeLXDCxG>cUp%w8czEekD<;~!fRw+DI4S(bI!MtV8$O<%7bf(sjK=SmSVYnB)m6v2R z1_LNESp5A1=*X2M&Z+wv`n0b~I?%707AP%>IyVJRl-@DeGDi#tTfQuAgpKZ}f$LR1 z1gQkQ`C>}y_}F8Q(1Kg~i`k|ylX)3DPUXpLJ5!fb!2@c|DjnLFY%h>{w@XY4+glp5 zR&ozE(Zk}}KPcl{tVoik<*Rwn>rf-myXYk%sdXDgDSI#bTz$vLEd18=-L@dAM;I0l z&0f@2)H%FwwvA7x7s-T1%-RZb|L_S}2&0Hw@Czq2pF(2szhV@j6Lgwab`7r#iA;K{ zttUL#-Wq(rQVX$kMtm(u0V+^i#U%-GnEj-go4(n{Nn)ZHlYH)8 z)LM2h#iLCE?e#hq7UBQ!7?Z|PT1H4jJl8Q*&z_wGp|^-y#*_d=&7*^9C%GYSMBuLX z+8?Zq*wNqVNDHK?Tkd?KTJ?~yUsyhIN&s6Vp?7;d)IG=EE-~SH=uC?T2@#QIM6$(a z<8h=r0t*Q*~1_@Pe^g3zf`W# zL}Hq6dONgsP=^B-`Xd@58Zbdr7PQAzoO>dlm@Pj$t-Jv!n`atKaF0%`_mwBijI=#I;;NJ)wt8Az#|>6{t;j(k zE_EbV)GDBDBqi7Gut{zm6xg?zWKzSMc)SjI z2BVnuw3_Cbn7Ss-f^194P`^AX#$zczJqZz6>zCiEldk*S#n$tsDIcR^G{uMd%c9D5 z5q~a|KaM%E<&aAn=^d1vl6pO zU*LeBwdVTeE{A?o$-C%reO&66VK*aIJJ&Q;+2*xvFu70~o-n=b(;#F?`MSX?1WP-& z_8grH*KG3pB8&G*QK&++LL8|E2(15Q2wqJJ-$0RgZZkt1I=RGbegXD2*IL4c-ECaz zXNW#}N^cc`_PEj^?X1|ecv8$b?Mw>wNx3YR0WlR>qfGdVT(SK^={FAskB8pLGvNw9 zDodB_L0$^quqR~2gc6Te6t&q21t!s*jO9eA#Wb-JNJ3S#gh-c!)yJK=YO{k&nAJ;1 zNYI)l2WCG8&F%SOFifkNc2wBu+RS|!&z;F0kgpIy3pG$g4*6UjXqQltFt=3||exfdy zmrWs{*%`n`;j1m@^+l&t*vLK=x!*Gfnk}$R96&X29^$%C7HCT0nzyp@ z;57A4$0gg833d1W6w|@^J|068#mi~jX_+y*=5%ShTpq2R9Zlm!v8bgMCNPxF77ThR zg-0XUs0yWR)@74rGe{^ew?(t1-A`Vi{77Cli&P$AjTl zBl4pGw6s(tR3wcFPnm0saw`y{jxmn)B7My&K{aSyDwD5CX{d<8tmfUTclcP^Hri1M zURb`-HT~=}OCxO*I6#nPswQTY9RY6!uq9*k&>Kmt9Q&TV?sGb!{;mRcGE`DrgtiJF2M?joNjRd&sCMOM zeSWQCF!wtxbL^6Jr1V*QjlkTGdz^$mOTY8nJDGm%!$V{yRc`SZBC9@6`?4^$57(*Y zte2>TgtDP=zRN;qMjZ0NsQ5`;&fJlcQgy{{k^=}0#$iL~&s9~HWI@JtCWAn(6eJWr z4>uOn%IsIX2`iUUmG6p0=-tI(RyC-TniDM4ykITG5#|*`05xut`3(Cqz1`WUWj6mH zyIE6QP_0IMOe7{tk10Tv3q{8uDB_JlM53LVt9DtDjIRN%u*{ZqNIvUT7p|ES8BSJY z*vSLYE^JGM?%Cj|<)UF&}Z2a2$71+2zm>D8!6+ZXg7gD*EqEJACapL!5T2ReV z-BdHn%C1JO9I3P|U?}$VX2&Ln&6+K=p4mQeSd?9$ws1bm3c@+@?+IpTaneGEX`@y% zNI>|DigcH5m&U0%d%=YC+WG`7;v^jxZSs!M=-e_e=b}OJr17Di`~y?Ki=5QNCMF2w z5b1Smr*x$;vvkX<)s~1oW$~CfitR_c8Xj4VqtHsqW{>Y;F;Q)#+rf59FGdQL6vbKs zdOM%>nTv_+uq%rDuHaojVY>O{wG3V$OgUu<@?;f#&v1)^bk8~r1PJy6X8hT>m-Spa zh?7OBE7yH5GGzranedn`-e-}Qn9G=-aOLbj_Vn?6I@1kYFkxeFcyMlazGgowcp-!4I`%iW_o;)1v`lOy$I2ER%D%eLaa87AJc% zRX6kDr{u^#wD@;O0OdQ-Y@M+!>Q5}w&@9rnB~%tM{GZCuSSnf}=ygkq9L$Y{H4viD z|B&T$%xkPKo=|3~lp)9)Jfyc&cJ5vI9_6RL)xG0w$D^>{okYw$wgO7**G3feg{2kH zl+9y_^}GW{_CcHHK=?lD7yGA>p+oDAczF_>tjiD%$8L4_{UIXA>FaH8*QC?|`=a)z zXX%2ql2#l%5f>&AZk3(HE-f+?4H?eVl&@_*bks%u;|V;;h@$iRvgjoXNkwC~yxisx zg}b^?`k={g{mdOVWJtr7|1KT(#qY4!|B>*E2hF#KS&;d*gpK!$KEJ|GQ|4(bLw#7E z?aLKNu+#Gp?k^&>?v78yEFsB)QB@Hk<8O?!l1arR(~8{v`;5#>RkynlFj`lPKBurH4olewc?Nz9oL1RZ`J?sfL$8y}nyRWJJ#efEb}i@y54V$fED zR^ypz|D}_FTnC|Ek!(jWS8b;xMG7#fvu5RVkxa>7u^WUu<+ zLc1{%D=lu-DB(61c<&x5o`em{whT^b8dToiz^cLbJXWv#0<*j@|w zN+WsHOgi9&2b$4tPSIlp3L)^C(cDJCnmk2*xty&esO$;q<{b`!c0u;G;J;9W{Vydl z<2-6voh}N>qmXy7R2bu&hK7a#$97Je+qvGj^SXNC?aZWFdSezsy4S5bc;8a~?jKbP zv62}_LkjLLaS6D9U|?VcAR)O$V`3u(o4u>vHkKLN^0kl>>WkQ}p`qRU`tBWU!3QG> z3JPYn!IdOuG-EM?Ep!~=n;Gmime|ry6BHoJ8?@#|W@bgRz_EF&^^G)%ETLme%wv-m zFK(GKgK@>Caa!#<{GA5r{*XVv!6=pV+is`M|HIx}M#a@Mi^8}Q+}&Y-;2J#W;KKl6 zaQ7fV0|XDAAcOnh?hpv>POxABf_n%yKnUcUJnuR0Ip_Ovf8V>-nKcXcp59&EU0q$f ztgE-%Lm4I1YldD&Fb|O}5%IxV$w=>3&5dmA)bzDYv>s`i0aD_tFj#jDIyzzq`65b6 ziby4%US-<76WUp|RR({M_@|Y6tG9vLeRdr5cx1zOy^#0GCw*W<-k@>3#5$Lnr-U_c zhDYyzcjlkoP;vY+9$vkFLXmgZZ=M|qZu0j0gS0zR-*2>ALB_$f155D_z?&AzZoWWO$>C|3Wb*LT1!XgB4V;s5A~P*+0=fJ`L}5 zlswi6821#vwH9UJy8HU0H1IXpmo>iFL(`rukP7m{i1<`N;e!(A?+58jf3^51;Y|TAF-`Z@q#gk>P?BpbjQw84pGhSuD;Uq+qSEzn?tPdwybZ7cyJk zOmxaY+$EwwbeG7f2e`M)ldo#KQsVQv8@U%b$!U;RFf}(W_{^VY1dw%l6i9jcc53C3iq-KfiMn!% zsb06C%~RO7p{8ieGp(0#UomcWN;&C7emCS^4Qo1r{ry0PkLCL`WejUx9zGXprzX?0 z--F6@B<3XgrUb_Np7JTyCzh1OG;b?nC(j(l7Huf6GY*tPOXJDCE?t<@nO+Jy@_KcD z^W@vspMt1yvn`ILj7ShGzxRoKW|@mmNkutf5V!IJSLrPE1bws;j#I|@#eM3d zM@~Tec7{+Kkopru?s0%xuw{qFvJYx)+g?Xmbj!Ab=1}22Kt)l|$IwBQEjEg0;4UX|n_{dW8liK%+*>jhjK_EMV0jNgaU2~9JY zI3Pzwn;BxFH3{CSd<>FT)D2a<$*%JZLS~^gR02l+x$$WO-zz}N*ksl3W~)9w=kdRQ zDV}1i-i9Z$e>5#M7RV;b&s7tS?ZcSRN6yJ0E94yVP@|`g*NG2jL-<5~W5-I^#-_2F z2DOGAF~{L5t75L6mJaZdWTt)fw@`U+Ei5UTb*PEfk^vGhliF}$6v2AOt}fAM^EU4t z{Z!FPGiXf-T2ODK>#79cGA9t&M=p`k#%pMn~a z8;LG{ihSe-uU39!BruMH`qE=MZ2KTh+rATr3%0mzELFkE2F)dGBXiuvx65B3yyOeU zy8BWi8CPTo6_1YsO|Mzgkl72CWZuU;e5!QPlfL}E9mFDvLWW2^&?+h~9Fe!!y_)hs zjjIG(jRk{>W(FqxV;2ybC+?3D=+X+-+{?I|yfO2%BQ`c*MQMZWNIt_d;=NPe3QMK` zYiph~fVEKIM)nQX*h%T`t?&fBYg+aB8lW-v%Up5qjanN=Es-po6!9r9QOUSM*y(>> z(hoV|??2ZXG8DOY^j1V$pWaQ9HL8Vih|jU!RrrX43PaC81zD>xghpHMznePpd?|56 zD5qhmq@)*@<)xDGE92yaQ9uJE*EyJl-EF3GHgD_uB6y z9qrFDBN*Mr53_m%o5oqL){Jc>_x zZ0Q7&1Wv02K@o3obi9QpR7{lXO%4_7%`UVGMz2Q&CDT0dDq~BP9BsMJFCYNBt)QDu zm7n2}TLHSoVN+UVC%)e_rV|BvL>BiKC|2IRh-!i0*p11Le)8m$ASVcl517DgbAZ>- z`+SuA+t93f4f%S!u@BL?0FHgVCqRM<-P2U}OedgsDwduA*vQ0QrPXSENj`rwKh0^~ zed>RFRl!_Yeq3(%2=LQE(4T|Up>)GJW>>+G#;|7#qu5$(4VHBBLd_>fpm97Xzs?Ym ztW(~wv?6huj%P%O|GZEe2gihWRQm9?kXJz8>qN+KQA@Xmu9@o7W9aEezGX5Sua-Gb zX$!4-$=7w;O%bWUA%N7NA=>kvm%3?dwuG1T=JoT%)TW~b%{49ej+eb(-ixt)y4V@A zKh>HTd1dVU2Z>ikH7UjU=JZu7iY>xCZ*vyiA8+|(-(Ax4ck?|-?O5zS>#uVcvqc}~ z&SY83eKB&og<$t?Xh-^1$4putX=@ARxXmZ4J`JC_*=nPYR?^zbwjzqVR(gTM$=4J9 zxLQW}7$#)pHLVK)@zx(5b|9RPzSlIIJoQHL)_vZ$B1}unk3YDuQ3QmCQ?lH?nb*g~ zDbiF3vVQ1d1lT_9eaK|b1)F_7mI5#BLE)D{7_6WpIYu}1 z^zb?V__ImovB*t}>dEUG!HJKZ1p{Z>e&A`7+cjN?e;m*N_9mo7QatT=s#)(=M6_h)2wnnMO58@CRjwh_k%t-EczJAcp zHP4=IUEwWHF1d}lR?w)Z0;;9OjA=OlBvNH`YAq>5)}G%qYc^&+Zu{=e+ZlBxDy|$B z5-);;KzcdA_lfA1a>dXbkg61m{6qb4{tJU)2!mv~b{<>XOd|QFSOzm@yt+kKzB>*= z)d7PIQfU?!2P*NhW3LokZuOHdQv5QVK*S{znXH+r;IXb7py``8gbvMUM^ERf8osjZ zLxLA-ozRFCp3D7Jc9_)_+Qv12&8@ObP3|%cS#|jNL?4Cs-t!HYqdeA1&%H4j;G0EW zE46ZZ?Epw}4N8&N*gQ?4!#e(aWia4(*=6T;R#}hzZSNcB5CfEsmLb@p%#yTEmBxT% z;E+A9bBWq_QpBz{6gg~EIZggHGtr50-{966@I7=&O&F+?zoI})96_+9S~2If@-saxUrdV%v=@b^!Ws%#7&MfpIEwh~$qB&IeIaSJScpYF>69%^z&8YGUP%Ap+v(axzu8B`|QGR13luhNd9KSzL z=HeF{v0H_>*HUnJsGRc`sG*jLV1hmt^J8#u{ zT$Z?*)i@4y1J%XtFMP%;nG~G>4=_XY_G%BvsRki#hG=A-J3EDOKBzA<_L2pww28FXP}+joaou1EiSWdg(0EG9 zJE(y2#C>lVP2j9SU%=mKvZkDJ)m1)*V~O|TC&K4GHg{#pxkR;zG$nP?&m)O?W(*4% zgLON)!tjt*Vnr=%r(BJYT>40Z4eR}9*Rjb-*Dq_=YNx}X6PXUbvwJiph4e+6pmn?o zmAWFA%|$|T6jM33vhOrC!<-V?NVOVk+s8H9=lYw}M5a+CROd~09mV_D6w8lTleL@g zGu24g)zjKzppm>>;Kc({b+j)v^4OqgEe;XZbF4=7hFb|gBR2`(n)lbKyyPJjqWYlO zT+ssNIqUAblmn;JJt36nE6D=MtROCh-Eb8VKZ!6M!7dlq}Y zqr;x(_r9hFP7OfF(sN)^M#;QPTw3ZZxPa9j)J$nff$0f9fj5DavW6q=D(3~*jE=v? zaF(CPGE_SeXFb9KGg2Sv*SWM0?AO?cE;Ca2#p|Q4^nO-w!UeKK@da(hmmC@#3Gdopm&&4&3J+|xeKn~Cc)<^DW6I8I%v%DTUoi&K$ya&a5WzqvaB&qq!?mdKIPa%49`yn zl@%(G81alB=^gh=Y#pYtN~t8#(3p8c5hqpHc#}?Ik_ic@s0T=EwclO6)D@=R08nhH ztjJ}YR0C(mu##5cIp&1RgGsYctbZvst&lw*a8=lQ(%+=82Z0K6MYS9=$begHR;gvT ztKN9wM5fdp8!=teq%@>Qq7S@{=gq4;m+Y&%hhx z`PcX9&{^*ZjnAaei6qV{1zeQi%6_R^56;6f`7^Ws5~@BAFw?Lu_|4Sk)M zEAch>42ewArZP?!DcCpvGF->O35%7`1Jf))C79=P-n!(u=^h()wk=dOcVnM*GF9Wv z9vBefuN(?i!x7fXXf{O|^IECHRXkl&YPG*{<^^bGpyo>06a9*0hH^o?mgF9uGLe2` z+vhr@@B^j&8=%l*S{aH_*CFX{Tn-hBzEk<@LUy0jSqOP2>Liw4! zBh(HqCLLU@Utf-gw09=M)}EzmBxc&3=B>lns~; zm(jFS4R~Xe>~O z1l5C_&*mx&BU?2loCfbNc^p!?-h5R{XG0Y=sgTP>Le7E~isJ;$T6Wa5#o7TTc)5vV zL7hj@N;sh`XXS>dQS*IqJ73gqFW+8#AG$bXd$^bO`)PG|P5k&fuhUN;@GbVcCv7t+ z%5G`2o?wnTdOUObF!P?2rH>eVALaQr$4*AVDMkv?&v$Qj{uj{y;^_YsIwDe#AEfs5 zuYz5E%eH7Ooq0YhLcGtenx%@+7pY)AA;4I@9HcLSm65C=N*_CLhew=SjD?aMMCXFJ zQyjDcV{U3A8HqH$0QEBT)NCdm(4uuKV+u6YBw)>&S|}~TlsL(rzQ|7LfSYW)Ozjg8 zK|ndRA?E?8jDWHFq@P1IT@pM7RGrF*WCEj}R2m zW$@wxpSjD+YX>O%gn-#=Q#pjUkaUncx#(6`*=BmqkTGD2?I5z>j_6Jd$C;UBt6b3n zzUzkgl>@fTYM-m^z$?UGvqqtf$f}oMSSn`)$C$pFMDLP@ul_f$8wiO@yG!F_Nin;3 znt=^0Cg$k|8W!qGi%iUqBAeX7jMi-MjsZGXVTEED7cJm%Gd^hjsOdrL%kzu^O5R|F@4# z+jcia-h6!Kt$`XF&96)LPT(^!*i=P4pp$VLjuGPZar8;Ot&%(#*SODb;H<`u-PY95>f!Nmp7z}};FfwQ5+L`m z&E*o#=EY{520~K=NN~QkusKy;0Tss+xtufYvmJ8CfT`wYzckU7EO7@ zVuH1_$XRCt;TZ*_FIw)Emd++awKhX!HBO+fC5`}40vP5yHfP=5eZuiAf3d8@ARAeP zxR35qUSwJ@<_ky-@mCcvm&zjH-E?dD?WPdfxF8cyqVZXQ9S90a6}%!14t1iRuUuSD z?Xyb*XFD|4=4n((QV1Zzpk9>_&p$PeOyWNML2BOoS}5vpZs2d!KV^>rgXjY*RFu7j zzSwi)ld7W9rUlFy>_MK#*;MaRg#~^1f^KKTVb38u2GH_qkHNuwH7$uRuX*6o5zLli z*-;&bjLx0^y19gT-T|Vg&C2%X#T*V41|m~ikjc1_Jd zBGM6B#hUjk<_6qImRGXx|MEeWREEf(6w(qLWx%8N3 zMe=>0b>C2=bqyi$y_I)v)YgQJA=E$+#ua!j#zGs~!f^#U;n6bL)hQFxq5FB@C>Ebh z8V4+S#mn8Qs>+aW(tVTHB{He0Hi?p@32=r%Id1VP;y^m7yg-e5#pVjd5~O4pAvR22 zmvt^xGWg9|_wc5M=!5L9S5+3$J+N?ur6(9m^j_rgz@+7ZJFS~()IDNICB~e*+phb0 zPq(rCISXmkufPX~qgAtBgU~%c6B5Iwj&(axV56WWH>E#nW%V z{|@gRVJ@)5#M073YGr6L>L*FGMw8=vW(BvG@{gKn7Q2}+FMFLngw~3>%DA(g!$>W9 zdqccT;AE-8Kk5-;jC{sc@89k9u+lbm8-%8#gaK3%{GueNH#t983RIGU;6cYUpkvzn z@9tdVKZf73Zpg}*YIcWh+)_!<1SK>PSo^)(zE)BMBfhdln*ur$0Zw9Tb~HiEH2XH9 zPmo~u)Yo;k#zY1qvT_wy)Q!hu6-R-ljA@&+#LIk9N}3GvZ(9gDj@RjD5u;PilDkm7 z(sy|mX)uDYPt|uln%NZ&k3D&7A9z29q9M^TVqSh6l_cZp0SD*~`kFqNhVWZT7+HcT>ez z6I$cfb)RGob+|XGE8*-5++}ykq0QHtKNS8Tr6MRCcayW(=ukYBpI+ne=i7VAWdm`$ zQHJ|2DP6(SPB!Z2BaZa5TtHf?v1#r5b|xQZ#Tp?S%`|-BTF9L67Cg*bsCwyb_7~wD zvV|v;-whS;^Yd%usBeP^Low(n=L@cdbV&#O>-U?i`b&*8L#NX()`HWJy-x{T{@R`g zO3shNOoO3ai3qO%!b~)Ugs=)z{k1KJ7#FRoTj$uI*VDs4@g4;ryI^)zx4lG^uWB+_ z2B3NoIP!+U!9DlpqtxBK@D!Ds05r;f9%idI8-7Z}t-FkB1+1DQ!i^orEj#H~I}ius ztffdS-J4I>AqY)gI4JV8BKWc=kv9aMynOKf0s)gs&6Vxv;oo0#5HlUDZ>)a5xHV}u zS`n-Om*)+;y}`Ja?kO;;eemuGo3P23CCY))!^Q0gGp!R|9vF*x_*S28JhhYSKCw|% z(Q+z(yvj)V#v1z4p>4|Smn{&82}mm%m+|0er%5(kO%e=#yuJzU+t|d{sLDD{dCc9k zA$_di%4~HDL@2Q0s!c1`q3jC2z3Hq@-wEB+JIvwfkulWnqU|Dx>@PB(nM~(QKu_yO zcAJ+0+kcS0Ddc6z{}^ds2wu86(mvhQp6}5(QrqA8`0R78)`vex4u&nFwtBzE)t0Rv znQjpq;0NCkG5iX>JVT`7zojVbl#c3DCqtOMoZoF;$GGRWJik!g{GA19^?iD`N$>+b zQMQh~r@9ItM=P8I6Hm4bS~AgdR)-{g$V_IB{e#q$d$zGp5&-KUGg-5cy?dkbo6lmM zn{+lOTR#tqsj@l^-L&MS#_v_w4C~Y@0sL^KM*<&T+iQ9eW098>~%d&AfyQp#NtQOZDhm= zdZE5-4R#-nhjCG_y}iT>l#i#x?@r!af^pJFt&`#Ryw1Y2=nY5i;r~A353xN5`=Vtgf?)*}TZ3M=#W&-P@jYdQzod^}!NMtZs#h^e@fxRa1hN z7d3w08{dzW(>m7D{(@}^j<_^vnY5^73SbEl2Ik%64CFY5g>YeX2%oz>4twgzR_nN> z4?gJ#;)UU%tli`Eiu{6OHV;=r2~J39_AX?hcv*J{?7xh+veV{BYRKWFekJ|X)h*2(5 zt{?G|%8+|ROVLC-8d=?J(n)wZbxbc1nxtD5i@G>_%Z2cveCfqchRZ!`NAey;tp!R+ znmtuY`44O?p-JvCHPWwAA~%|iA}_HCU+gk9O|4>p7_pezu8?esoDL5QgLUAcWy}SB zP?w&>XYHIn5BO~9r3qex01q$MG@vd+2qS114Kt_lK?scm=g*@6RJSrV++XR9k&g&F zYBdoG9&+Li>NPQZxR5$3dvS*x{s>T3Qm*Bse1|>M*8gssw>yMJwvgU$fko%)ZFXQD zx8Lu3Zv@w=H%1(kz)2}LaDm7yL7?G8RPNtp;;*b1kFhBpPW`FC5|v=&^KWT^a^=GP z8;`pYN-Er7?No0Mxqb|WHz>;lZaLH6_oQDToPB|w#^|Syq~yK-xcw|d5PqmBd&xgY zd`D~lqduO~c4!2i%$~U1)%(BWwETi_0gmZzA5Q2(Tkm{3fgg#B2Fu5#{{H85JsT@* zyF!$L-+k;En5T|#qIc67U)xU#1`0sQnU{KG(M z<2h?{dJU_D4D_~X_xC>oRu5NXIq@H5l{ONd=rjJo_j_Gv?^0jlzYzUHF9HkkIv-NE zyfDOSCcFb)5eq8Mhqqc^vX5)?!T#HvQ{yQ6u#rT#w8 zXn9K&&zRO5@Y3z0Ziq3VCc=}tI!tIBM1_a49Om?Zy784iZ2c{ZL~~Cb0vFN!Lb<_d z0hGf>Q6htQKceS3sM`Uo2}t2yKcx(F|BuR z2i#K3{!%}Jm_H2HivJsRA30sG1~v}^R=3)g1u0rZ{*pT(|8E}=kKzC7y+2J*_#n~T z=9mBI`@qHW;>f?dB>I>tf$Emg`d}QCC`i7k^-nV*?_T`3uH4d!6_pkC6ytfOZPK@H zjz_jid~dtnS*$omG)GkRKfrnHQ4aWZ1KJ87yhU%^cU|HCYE-#y#M+S7?dSEs*8T7r z;o2$XfQyZUhEq@?e`ti$15}-3c~kigD)RdeQlbpt7WyONAlwA_3hN#CKbs2P|h3 zI;A3Nq;Bs>IX7uZmm<3pg2S_e68{@!zpve+;x~P#Wb}zK zm00#GQs9=*P`tfH4XLAIB(YzJ)N|OTOLF@=E%yvnVGuYayGo&gJTvpkK>N&PH?aP; zL&jc1Y*x$EM&~K+)$Hx)zp3cpy@c`5DSmf)|7P<)%)|BC=^=)4ucO8>*LPIsGMyP@ z!(*+GfQ{xjn_cYCds3Py&qZR7D^&r6sDk>DAlL628yMZ3O2aZtvp`oV;$U`=4iYQ1 zjy)GEpn@?6q;}Bhk`^Ehg{CgV@1j>%39!%srezE%Gz*zcbHMj+><;FCGk0ipSwpvK zx@DfdU-?d2q30HHJW=~BmmvFK8?j-lCkd13uVSaUe7hItnq0(-NSlp{RkuFy zU!>^@-zD7m@FAL?(HhgRsqvo`MO5{J)p>j3TV-#yGq5=<6Iez)vQk7DMSmgopUt87NS`AC1)a|W2!nNLl&2<^PzA%2j6I~D~=!vtJUnVRMi87r5N+vaa=`GYUKF60CLlFbaB zabW%0?pMpU6^y@QL3PW)xb8atloaO{Z_`nO+q729#jwFEXpj3>oe`I0bkrhJShdVMbO>Okh#2(+YFoy4eDGcb1UeLrwLFCjQ~?D)6drV_mpjr#xH5_$BLRaDZNqu zgOtT-zEsL-^`6sO%k(9C27Y(W*G)F&1VnsEAd&KYP~I|fiwuAm)oqXF=i1)F@#bXE zAik&Rlm4CsR6xH3M`m#1a`EZBmAynycme|I+JWm2bb5O@$H1NSVHO&TsJt?UDTPw6 zmZDNt0*sQL50#Ap@%^qNLc7%pN@Y3IYDguYmEI{6t}ULuf69}VdTU!2r&x7lp@(v03ZUdPT*Y35@gUM7wKIY23Ua>fJTK~oWg+&` zMB>oVta{M`44@@I05%XET;iaLs+CHIBtx?e|J~uP*zu&!`s89^SBEO{G600!>;Ec6 z<2c#Rrz^u5E35EqBbYC*5c0r)xdq=;bG=U6e6766UX##CA2mCL-%X83{Kn$4>-zE2 zJ`fkq9b6XlQz1ownyV;CoGu>`ZR=oC0doS|-b=Kk0X0P|UzUC}S#xdtN*cM!UTMaL zn*~eh%8jn=5-B6oa%%fDoDXG(L~m5AT;2B*lAOKxgA|<|gs?-P&>S7kZ4j8rK`>5j(M5e?}_296IJ2sQf`lH1V` z46t^O9FySMt-NW!<0R_;*&7QX*P$Sk>!w$F2&u!}{@#4NC_En#^~ItRzxkEYZC_C= z%AP)}^}ccqzC$(Ll}meJil<~8EY91VU@lg88Jg5nwo~aCB(+%}`e6La(}{oWY%$Sd zb17Q>br*|oc~wh2;~;U1~A9qMWMaJMMNUPQpaefa7IpZyP%gp4BZ z`^)1i#IFOJZm|j1m+!WsU9S8G5-m11G|fMSNv(v)df2v&?6*8^uMJ(GtR2zYT)%nR zt`?O@TbW4ZLS#V5o0kk{m{NlzOSjJpk!bpVF=tA6l5rF18b~50{Va8VeQ8q(a{leV zxO*uP>_H)N(C)Kh5Z~V%87htg9%WL?KpbKaH;zjkTT)C%ZFTj-OzAXX{!{6=^iva= zJ%^~t5H~%%?uQ-t9<;A3@@PXH?%V)52;KYL2ljyoOe zp&mg)HbqsN?sb&PvKsM(oUsBNME&*W4DzSB?`$7yMReS^C~{#_w$SX>i4x{ge>KeU zLL|dNRkzRJ(Pwep@V0gJnFejatLT|Dhju;LSV*(sZv_PJC0w%pv3lMz z{yXnieaJIz1rmouEiyqne+SuZHQf!G(e}?V-NGvzs;MI0FdIlJyRG(P*4t1-oVhrL z5MmR9kyG8SZ)Hj+FENRbOA%i_%`$81h>TLeC~{yVyi%27@8cvQ(FAwZIAzpBzj}kxrf&$M3?W1I6;Zf zsZqMBBzR@&;KTa6uRkCA7rQe86y4g!#;UKP4-dxdJI`tO9;r875;2d*o2M0mS8%4b zf5k|z_-b+}xT#gq%-b3*bybf~i|d`aofJj{tL7q-`{XuE7SJ<&|E8UJ1ZzGeJrrmDLHa!V5&|2oyDO`>82oV-0LwK$iAg<6wNLGN5)e8Xw>MAk zDusFPIO%L?OkYc|*?H=vt44CESEiNlnm5D1b?^@v8y`|;=xRPd9N%xc{lM-tn+mLl zf3yfp>Y+o;My&LgZe@CI(GTXb6ZP9H!R%LoJ)eZ?Vz#FJT2A&5y!mZ*-`N!=P-@ATHsz%wns0x5D=N$q5$^3zG7XQ=l_X#8=%0=1UiRLPdEr1p$he zFLb$@B?D@n!huC|-v*0>CLinFmW&Od*DL+=wh>A#98aNs~Y zl7HsJgSE(?nJqJiUhpQU6Z;eK7v`TTD`>n5Osp}PO+QktzhV?^l~_nI|HuzJqS^A= zPtq=O69%Z&=(8=dNHkDR@CWHV;Qe8&5>7^9Ck4e(v z45xN7GGlR~2R7L4r|&`_Lj;$f9>$lWnZpGfTY>3o*d8)khiBzD-{B81EL|H+r~!0B zD;DL|{mIKf?GfJh%Xwtl9IdnenpFZ&pv(W^*Cz_nj=mQs{pM~T2%};&n7T`A;rvrL z*~-K5xbF{1ck%By(6@L<;mJ|v#)Zijj>WUNyxX9Q8?x+os(|6IqZe3)DDlcvOQT|5Hq?`I6SaQ)FxJb>EZCp^Tw%U5eR4PlgkdpGh?oHMzxvBcUJjcWv&Mb zqU&+lTTrq^%yCX%XR4jl>HVTPmzXV8saH@Kd2HAhMnoLfQGonLWBNSgpkH>0>S#X?`?mQ#u^{Pf= zU|L-`{-|1nIFzSLJxk^iT3lS+=@(J4dV-~RUVxS3Sz_rVgQnB_I!~%!cvX`;Y-=Yy zV7q**L>kMKWe&SMx^KHPg0sYl5o2JP>IY4)TfKN`CyW}zIc+|d%w667atT<%j&`r~ z0G0CHqxAP#q0AvrFu?qSgi_uRK85*PxRATDNom73lD)%10s4bU5!vwtCm4tRSz$+k zjtO&uqWk$J%B)3)Y#>YTpI z4}5ccT?35lN3Qn)=x~Z#Wk=<870>@H5pV@s#@PUtFz>X5Ag9$ zo59VO9E8O$mM}Ow)}l-;*iaN7`@+V%(S*j?D2vKy+X+x}`+D{cu(Ys{ukw1^VRy9% zpUOTVf!0QMbwXY~blGUWxmJLcaK`l9Jwo-xhi{SWtcf$kgypC-RL`JYs4xEMzVD3S zH_}yn%b8DkINs0R2SM5sR)iGnU$lUABm|FhHQGi&s;#rxJxv~e>qxl$9h{wUB>U{% zGyhzdC?-b?_Ki8o%;(q%&S*v__0e+K)`2kx>LGF>2}LhC^>wM@DaFwlzly%sq|GCW zQl}OlEoxP~s=<+O`^fS_`A#*Saa2jMFKw4ImH1UOu@JGC&XIcSR-S#;@zHOU%(OkV zW{AWs3NRkMNyxA0iOoafI!kuTkak8P8DyczZnujwjy*kIG!SO}+JMvp7i^8 zthkJN!TuqL1z)35cIyR!o5vYrII7=+e(V^?nTsr0&y=t>BicYiA=1(>nwj~FQbL5g zEe8pwp9&ROe8xaz0-4DA_g}8OxUe4Mr3x?T9IKf0JGb?*<4Yz$q_ zbNY&j6ky-7;-ZG{;3vOWxQxPhL321H!-Tq1K0P^Q-0 zxVgx$8ZS6`G8%QkuM^>kxVRykFNRPpu(@TTy?sNueE|@ccoVrhDo6u}^YEo<2vknf4D7rV#oI&5&ZDZJcd9 z7re8_L~{mb1BE8Q8=(;{X0H1EF`{d z=o7|eu^}C+NxjsoAA8q?*pvFH+i33_+Dh$izjlRuS(~3YzV^9!t@|Gw)%k^w8Evnb zo%e3}5y}^l%9Y&0olm_l`9m@f{Cmy!UPSBLgiWva9XGLWyeL(_k>~$yO2Way)USdw zKe@Qh@$-}}J{c>zJ>S27ZSLw#%)yV?WH-jisSlf#jDXpEp6U0@^^AM=w1UFklk2MA zT{Dw94yMZ7enV$|Z>`LJ`hen%;Xh!$&-3@f99wtVm!wata8}6k&gu6^Nv?nMvHgbo zkJ&ndf`tz_-ak&hiRCW6^K!P&bA`0g-6Kl#JRqwHM=mE$+C^<=0^u0er)AR9_X+)p4jo7u<>jQ_#`mpQp)zq#YlG|2 zQ#JgvF0LXr6DhS1!*C#Kyf)|cBwhGV1N;(&C@qEZ>!gSywv)(0@Egh!VehY-bFee( z0BkmS%guEyKkUV?Mt_iUB;W6(F7k`fr$JErQ0vRDV_E;be+gXp{RN`|PC z@>@>ZI2oT3x%f=>VXxhABctbdS0O#)zMRL+Wez8qc=!5gZ*bZDE?;bw8FLz_Q4L_? zesC399z$kiwLwsBQ;C7xG!IXkNW6TgSfh#DV8#IJ3}k^gS!>EAQeXeIbdA+~4*9RH zR=~9XwhberSBg+cKA^GSIh~LMYQAW0&!wL1Rg}H*wm9|z)d7BRM&sX$ox~rJ#Vq}Q5Lc7#LgJWH_M5%{6_fwMubC%N!sCSHk zq09F(Rb(gK$+#Y#c(f1y&dE*&I#WlW0!1#io}8>;haSIRt5T@=sbTdvDh8OZYevbQ z{9P(S1sYq)RY_mWq^N-OdPj$Yy#6Or{u7DT=RZhVS8oo-w#3uJdEVdL6yr0>`jubg zJk~`1j63CvI9diKmhhelCg0pw`*DFjz)$Ve%e+ksY=Cl;%O9`ZREFb8Z*lba!;b|u zna-#NDql2nh9S;cdV8TR8eNOLjIu*!if1?U)`xe?Ng3ZSsyWJ`vO|RTIeEHQI<6|n zAdj#*Bi#)|>Ldk>u*7=A)8h|guyi54nfQZLe*XMu6f#$TG{h08p2|p^fey;8Y-Vv= zv_h|BikD->O2k96B*~Is$t_<#Wx(TBF0lw?3FjXsfa!5*@q2Tvyy|B#@F`&vrheHB zF6P}1QGHnt42|phi4GpZk)iSk`NmDqV|>a5^!t^mN`P>_-b8*?qMl*JREu6iqQKdjr5m@~HvGI z=3Jm>CEw81Z^C3l*wE zR)W;d4H*-Fub6ZNtNhcqIxAJ;snW;3Une=E@E(?NuU!))CmY}&AZlV@4?u761T00L zRR7IgT3FH65wGpC%tn9Z!DVVf3ceXQKD+WLzNY2TC{E%K4V)92;&?HfoUM|L5}md% zt%fCLQfEhWr@~~zDk-438wyLEdd^csu(mL47X7AZ`@Lei-W(o4eb9EyWozq)D2AaqX%@#D5#@q%FLjT z+kwCRCmAy~)98}~-aBIqRy_+?5Ca)?LKQ>(2xGXeg?Y*S=3|C zlv?u1$N86m#)Jkn0yqzp-9nM^T+CRFDSRSE5#&*9tYxm2gW5(oMJxDSNEw5$vPiFJ z`S-eAfigrBaKl$7EtXV9tR$Gu5k|&*ZS~mw~myJwwVt?r@wj~@i)a31atNpAlhNw|2E1}DzF^W^B z-6-WG#s!_-tTGZjMp=xJ!)++<@Rdak%Sjy4%H1ctk;F297)j)!}&EG;}uUmAP%TG5?LyP(`GWhBmI?a_o&%WOA#5b&H?-c8`!?Wi!bT)ly z)Op7ns4&vb8f>#U92a5LAef-_c>+y-OnyA>EJ$OxpEblA7!BqXo)IOtCpA7-NfIml zx?(>qz6Wn1HP`AY53DV25sZJm$LA1I%$hYw>#0U&M_xnG93}gtbn>NbF4qMfdQ(}b zTEPUCd~HhRr}}uY(E2hWwFIB?UG`gID$UMW!HjjBRx8RlP`AD_^?NZ5JKi_i!LIT} z6Vw^;!+hcyC;L5{PkANpQ8C_G*tRrHucPwX{K~bh1;$j~qYAQ|*t`YPlx@v~BpMSz zrWZf&VzQ1T|NrFZr5XBusNaAzhUk#H_#=iW{Yc}OI3H1E1b2Mc1W!yAQr_Y4Tz#I#QlX6y{$_qf* zHAPHs)s|n1gZFkdBc7^rFH5-$(_(TWv%eXmZH2t1q00rwo{fN4*~p|gqnP)p$y5Gt ztYSq@Gt<3ySdyGp&F2G=aHDTwae4uSF(jop@(hnYX%l@Kd!Q?x(o@v?Uf6C$o3fU+ zF&&~2dU#d`)ytrTd!y1$^lqH;JG#hVhBc-F%jnG|UgXUP4CPA&p3o3Y{m>b`-%%1z z`%uxs_l?V5gyj5%(i@fDJ-`hiiO4-)_5o8*V>y0+9T7Xr3`HBc2U|_Qu!H|2!c|5V zZqikgj>1V^QaGk|@IjCe4GtT+PX5q2VhOv5JH*K49V-)gSlUkV7k%LXF+041l-;!~ zwQlO9lRfL^mkI{gYevOf>&2@1`m&j9rcVjqJ>BJ|7xoZwz;b^6^dcizoM4)KLYt_g zvQ1?GMO|O4rF~WJnLkfmLr|`*rd@PTY52IK|4L|#^h!B@@^QNfKSA)ucnZOw&cIMi zAoGleU8Qwb;G0br NI%=8ya?C*68+O&D=xx+ndHNhq2Y`vxKxbEYg83@id`0F_{7iX7))B4!3R?;Fs44> zkrDeOQ@V+1z=tnHUXbzyKODbD4NhwR7vr0-Icvck;MkY$J}#mehi+9eGP~mdL^H_K zLD0tBhu(|JwpvN;kM6H6p<5~(A3~vSPdt&gv)NBm48y1br4k-`yIw{l9OrZ)Y%T$W z8`L&Y%l|v<{|e!MSHl0-=I{;!gCDCCSLyP(?jdhKNoo7%rkhdmQOcClIE~?(wD;PA zXm;a^&Wr`3KRdIf(Y&)*2@g-B%j!Yk75LUtZt&V+m(aX3#4%*Yc*mHfS~&Ry zwd2>Q`BuHC)wmRC#-5q~k~LVVjY$a?+ktNEf!bR$_%8;X*&a;AkWY=|cB8pO>cjmf zYq|2(8)Glae!Bz#hXmx> zI32Z(FtF5R?pek~itfW=PpFv%qo#%8wY)*f8Y%Ib`WdvbrYh%ZT3Qhk$JkNE@=4!@ zV~z{&ST?ytBCN+&o`oF-E0R&3limH)L&kLd#ZV7i)eFveit~x6;EQ0YUhwV&xhU+A z@5RN=mtDo~3880s@znfApZStkZJw7H5t{3jd@&XJ7(1m*LG`2QwS_4Kr8}R6QKI^$ z3|-zI4V8X32F>LaJi`1{ZOSR5ZTxXQ+2zpBG)5__duc_yTD)v*^7j5GpSws4h|iG*^~)KN*BHy}(}$g>+{(D+ONR zjSG7a5*67=@&+{ScAGRj3sPC0xSn6~^nl?_!@jWG@SUb%Y4+Vnh>pwGZj;#&(ozKw z%9m<;YlyjMJvQ~$3}D|sp5}@E)~5Uftg6J&MWSTQ(7VVKwex`|TZ7&%+WY}4Uevlh z@H9><;C(oC*1(&ax^j+*QWqhTlAl_T_VP%rNw zZ2I7UEp%Lw(4;S?_JHF}TkiXqT_KI2kYl2Lr690DIN;!AY9BC1Ag2Hvw1x!+?KUUW zGfkvditZqjHC^gH1vrK72b*w^tEvaVYzBL?iYai47ptV3sG4BsqkaS)(c1+XgWU> ziRC0RwM7ZTydb}?P+Srm4^}GyUn9N_2P-J?7*%WWTUALGA$FEX;Y?|e_@Jpw&TGXO z==C?{^gy=8hH%OpZhdoF#ptII>|J~k7+S;}8>^0tw8&5!1D#cO+#Lvv=iw3{gV<~tj>Uk(&DM^IPeCt&lMVYt=oKsf}| z`e{Hu-OF=ZSfqQK6{KJuOI6Kx(8Hmt%ozl-)Gzmg!qUQm`;8=c7ZxBJniXLEwP!)< z*~b(8XBuEF*xUcPcS$RmYWH6Ww+uQut)!g{WJaxmQV9xb#?N2+faT8eyNxM}l}8GO zLo>2%$|0&uLxD+nIqe?pH0H#^`>vuJ-+@b0)^bYPX%aTTEUqUJRc}Czaj)NO&0?aK z2Lm&gdM$4FvJ)~Vo1#q(%sl#)E8>6JAVxxQ96L9O(K6yM#*Xjz*VD}xN-HE%nmhx- z*X}8F-3snGnqmJRuPeHQ#G(E8EPAw-;A+9TG5*4J%*O zcMA$%MHVRylk*LsaZB12=OGyxo!;ord$Dhl_L^v+J$zg zC@A9AoVQqh=rU_BF&axa-Ga_}+@&<|VMkDnN(VS4rH<1E{t*xkr@h}-w-8YpdIdl1 zV=Oa7u=l2EN#?cw>@wd(HyRGZyjxQGn5BB{sE*Q#c*)tzqxzOg-cp;DnjjW>E$weT zX&($$8ZzzX7f#O6w^4L7eV-Z-P5_HP8#s#z*_y8SiiWk&SMYY5G=B^!yVd;ZXt>u6ebqP}1Q?o0?ENQp;tm-JOq)_Q+T=Sa8>;W#|5ZK#Q-@fEZKkFYeRi7;Wt&L!k8QtXCAK zExNfY@~#F}8iP@Oq)i0dMT;<}FLyMqd;j2B7AE-n^NTl!>Pi@2Zp>Yrp=(ZnT9e#0 z-ytW?qKuqgG>zqTD!IBh?oEp?+|$3kI(Iu~3F5juV-zUD5x>q(+~^#H71-MyII)U_ zu9&p(JAdE6fsN_3q5t9;dy#1DoE)MQM;pM7J)p1g{7_pN$1u%LU%Kt&?%wTov;v~H z`QJ+W2mhhdrbrUCGG^-iy`{qP?%dAK}}aCNw?^@bi#id&T%Uczfe<%W|*7NAj3Rplhj?kt;ol`Ak6E#5m_SIbkIh5ExP} zVV-w**jVTT4zUDZZ-uT3i9KbD8pwh7HNR*luR9@XkxG;aJ6wT>2_5Qqq7>*ZiyOD| z5^jxt&JP9FAL|Vzp3!}!30kWwph9+LEZQ!dA?_)5V8o9FM8ezeeh5%8&N~qMNcwKGq2V(v7&3Mr2v3l2hg-A9~j^{l089rXw)m` zN!SCK{+wRyv?)Dq2ZAz4HHP~>KlF7b1^A0_?h zOY)XW&n>)jxNv-`Y#q}8gXkUlAz$g+&|wd7%bf#5+QB_iM@*L73O10}4C2XgFgei4 zgf-(#WC5gTd^#l(@w}+ygkY8%VAEo>$!f{&(+^RR)2vR3eL+;$8>4M-;K(op9rxwQ z*EjZm{^FB}x!>X)D>thY8+*`S45i^Q3M^aqWN5aN1&%iRT3DYR-{F27=9%P`RxWr(OPjv!*2t5 zny2Ku?VMr$7M`;Eb{vLn@v72D~@azZ( ztn>bJ%8`AKI2?5~wH*|NW;-sk?5_XbgCxfb(3a+cwgp+DgVaT|D@XGrtr2^=c4p(u z1tB4ns|2hO72L&h6E-A)GFJTBHzGN4Q26;1-tE~pK zv@=aDDxn9V2kbbKw0`k>;Y~yqXEhOQ-pmJ^n2!Cwq_#B|QcsN{u>5l@7Cv>?Rx$vg zFqxhovTp^G`MD;1)lOH=c)Ikiyf}p6M{(Ay$LEm zr)No2{b0$*$0sLl)D+KjbC*PH4-OW7(7WpfokXlMsvg3fK7Z~!klJ!cUHEaPtac_m z>FY^)esUQA{3#xq|7r)8;|UQ=Q?&Y)JVJ_W@8jfGTna_0eND+Ar^@js<&XdK{^eZB z);}e}ldocVgxef}%SfwY+ZkkcGP}K7(mVf;Vt$UXFi6EWEgoS}22xlVo7qXuESk|q z>vJH;W&Tq72D+ndioMZsiCyvyGtZdEg!7?2WfK|ALj#kUJw^7OIK52@6rWB`dq{a3 z%{EV3EVyz&e8p_T#5@Ko6otzgp>7owVfjZuyVoTH$VGG=x3p%*+0WdFt)OV(gk=`# zw6{;EWwz7|N9WCKI)*P!9vY+0p=-}1@nz5a2wquWrCS3u==x&m`+P#jxl!V z&J#~o;#+T}6WTIgQ)`@b6vn!ip9J-Xm6(rj0cD@;?v#y{KmQ;K+8XXCSade1`BmY= z=!<-N`XkgX>s%#q_{pBI0oowR^mGc_l4YBrXpjsk$rDy}iDw~20}76HzbS8O5&dyP zJ@ATG<&MVddx2NN@PM*Xev!saOzT1)t*jKfGJve$$MSvMd zo^Oxgj@Z!J`1OnbG=2jx)|N>MY7YWEF_2B^5d$X3;{(uNVh39CgRn2X-)qq zUS-MO2`k7RO`@2=0O|fa;SDY!lE*2SaY8Jnf%(@dp9N56-2r&d|74?M>aIQxnXHSB z29L?d^8EE~Zk>L4oD=PpbvqL&RtwjCuf6U@^k&R1>)%(Ky-%L@S^6S?cUmUFl6rWX zH18_F?&dT@AdYS7H9kJs_pypyL)|Eg6m$eqP%0K(k20xXNvfF$l z%`L|wtYvtfC_$FH5&Bdnb_j>W2H?dS`@lgPSUzGnD~_x4GoD;qOhXJ|A-IA?;vr7; z7vma6tM)s`1aaV3UcrzQmtd@lleOQw`6IX-D;78VXnJ+0v1(#`&8>XDSl$LxgB7%S3Q@He8h52uJAkY4>xi4*8Ei?bWZqzU;=w z*ZCtBt$(+_TbL3>QL3Eh#4#wbUd+in0q{r*FadlF2P=rbLB~+cm7j*pta;~9_RDe< z+O>0j$k61t>QpNHMbsZA71f-p*8>&g+Csy~u?xO9b_P|gz5VqeG+B$}KT5cQWuXbZ z%Td%egp7u==76_!97qbMrou%*dIP zr+QNDMX!A5A67b%6+&eb6DkuL{5co*$w0vx09|pAeeBh+tYoiD@{i+a@5t|CNN?rr z3Y!ULX=KJsV6`pPeILv|8b>}jRWsz;Mf%A}(B$H8x*C~|2LoBD<+i|fmuZE1n*cxC zn@3+IRSLN^y^a))qJn0**gI2j-{DE_z6PBgk#vP34uBHk*Br737d=^ng3HZ*7jr+z zSn}8O>dRRV8SGqTJG0sLUN_k8v7_r|#{GEq{$lth?QGmB(?Pf%cx}!5d3~M7>_G7o=JD3ydE=%v9ITOg7(VVp>fZgrgXwJiZRi(2U~diG>WdOo>=(5IjOdamj@ ze#D?(G4p2#(0L7#99bj#CB1N47AZSBV_BnfsyqEb=KpQ%hJSYU)pzUxUh*##!_QX) zL+j327?J%SIFThbdrOMocMCvoA6J?1A?kxQV8cfjnJHFjfUN*4ge~)?o}MT=B5;Ij zf0~CAGKjMR_!s(lsGh?6K|@6@;B$eU zod^C;mq-4JCLDe)H45 zc7mk0uFvyTETb51z{%PS(5c1>2>XkXGtc;cqEuvz_cm_9e^IKasj1?Y6DL3M_ekj; z1rsXs6Th(T4I&UuN=%ZCbC##suMRJdoa+l;g3*tVWY0yJcnU2#gjjdLo590#98))- zoIr=n-OGU`D#Xc&RYdRE#{fl3ttN(_(sTR0yyS#&v4h~ir4-sU4_trb_uvykRjdMg zQ3klABTi9H_zViprWpYO`BLP`;815L^l;sfJZNq0$gvQY?$BBKz3vX0LbFn8z|gVX zHOg3?&fX0G#K0mxL#_8?zztUUcLw;!71)EI!%^H;;GgO)`=AjSRsqgM((j?@nJDcY zvJLwy@m2vZ(Jj{S{GD7pk^{n%N_7Hrdu|Dfn4byO-eUxg&y-^0yqRx zAW!iDjo9aP+i?b%04d!l(4k`oI_vk|G`+E@Jphg$H^w#qaTVC3K8T%H8z7*2jUpu(nx%i)nS6c+me+>vq4dxJ9r_bA&o zijOl~@;fcQqBWkP=21UZe>q?J+2WO>f_|~x77S(}w3PU5OvYlp`*@21`wCdvz%P*; zmpkyrKQt&2><;-*z*j1;?JYDBX!h76QWlj#{n^+(Wm~$`;}<8n+L~{zjf}x*B@#at z+Q=Ikbu2J#i>9XkQvl|74z|hipv5+A%t|{C`(W;}y@-#REyx(Z&zXH@xS=OcvC5K~ zV|U@-eOV4gQqvseO`USPhZdwdY<)ZD!;s*R+metTg7Ip7H^dbIbgQwkEDnlST&Hgc zcZME8;hkWx$ha#AxwuDe6qA0N981H=RKVVwKkq~Gh<|sh>B|h4#lxykMwxoU_vfg` zQL#iv^ygWoOSNzEi@z${kiq%^>BaT3_yA6#1KeLpnMop)pcXo>Ln;OKjC)#huU zUhf{ggx)MEgBSd$xxMNxbZISUX7g2Jl$hgBZkt&dAKFj7IUZ3T4ay60S8BP$GpPJ5 z);~pv7rF`lhUo35GhvK|$i4oNnvIOxz7?vtmb^BYV;C9Dc$nQ$b5I4L-p&)iA4cb( zYfWfT*1sr(2Q~U4M$w^SbMpG?1`DnnyZi6kR8+3s%Ab!#UJ76QkMLYghot%8KT^MG z8hK(n+oly_u!F(f(cDpNO)QnMQQ2;bq%#$1eim{e9QG+i%lMN`QBj{=8ecFf7jASj zI{LkCwesuT<3ABMQ*7k`p~BEPPw0Fvh24*LfUXc~p65z&Ef5do=pxk!Y{dM*4}w!{ zRm7}=> zWG?S5^LEWLweul=25FS`m5-d^6q;kt#R;TCgMWrjRd=#~ zNc^4DoM*Up`lB5GL2YCDSZGepK7Jyr9UM}GE(P#QP=Z){OV4%&X>h!;qZp}XIV*;< z%If8*A_M%lsj3q3GJGUwD41JTSEMc09`){?gSP*D0L{ur%V)}U`inS6l!A~2MDW*B zCY0FWkT2a1?qfp~0m+7(da_ptc!oEkeD^&Q)_dnR3->JO!q`w~CcPz49a56=LEml< zB7{wOgexMk?^OLc>8!-RZu)%`IU8o?ha82Jb5UapMdGRrX+67%kicvOCEmFWxqZ+6YKF zRKeO-aP5Vl`%Xo8LkMksg%|Q?E_0L3G>%;V@s=MvUoCoX_16xcm7ZPH{g$YL$z=SO z*3Jv+bK8N0xl5xt^V$J z&4WWwCJ0zxEU)FmnqN!8_jNlbwx_fQ?7>jdv`8i`WSDV3YKE9n)YAV18B>^wL;Njy zC>Oj~pY+}k%v z+p>^(6(y3{VE84MV0!r~43_;v3;Ev@<7d zKx-IDL#@K+b^s&37}PZCnj_wp1)X`|3t%y*a+^7`Cp$QkkH3Ab;QR}wk^fKa_E=FQ z{a}?hRw8XZVpr}?Uu5*})XT2x{<+VJ2H{PJLC^oWjKj(XJZE$r;11h#i+Phtnu+tB&CjK?2k&3{b!jprb@;Hx&0MW+c?oItn*r9D7YyI z5C7~xU2~5uOm&}B0#OoGpv~ErT0@TTt-$#BipEQ^ST5-n$o6F&um=4l{Sn&kD-4~J zQbh#Mg9Fh&g|q-L3(FaBCFdn-Py`C^2Lh*1O%M<<%Jw!+h&CsAD1q)PezXTK{3CXP zTKe~(#%<^g$G9AuD{g}WQ{6erGQ-5aLZ5au_&C}l_QQM0XT~VGmljA-zfX-ra+2#zt*O5b8=>)xepq!xmtcX!&Hz#5gL7){YY=7ZG z4nQ;p5Nt1MPr(VI4&n9}tLIIX2XLJV|GxnXwPrI3--}TA?_3nkC^}{VPD=QKuF!e^I-rE} z;3RN%674cZ8Tii)tei!W{T}(Cxpy114jr7Ng~DZ%fQ~2iqv^;=NwLw}bl^amqX)kl z-#l<5aeM1YhoDB99yCWLY@r2`#{s&#jY5rh=ng@@mAFeTc^{(Zyzic~yFJ~12Y`4k zfClF$fh$0{Zb(9c0DAgM^za2>f97;xS&3)vH30H~ZIS<2$>rzmDI9+q$Z;5>&J+P2 zLQWFEEF=Mr=gQ!~S~Q3pl#M`HZz~{uyf@zT%wR%~?yqQ5#O~Yv`Qv-e&;w!sIt^0` z6b(_(25abT1wm;yih{Xq^cTbDlP*D{7Z~k;pr(6?lZcpQ}5}e6tf*7(>`9?d%YmfN0r` z~o^Z&{6=D?4 z{FH{2UP%p}HW1{c-g;-YmIT$JB~k-$koKVZC!_olNE6~p3^jtrb$*nZAhX(VULC^k z^1MD{$L63^kwL&|q~NnRdlQEXMf9Gj$@y>J++B|I>{M8oAvWa5i<ksq=cTcRQhd{KH96~*Tf`|@JTysHsyvUr zq+rhK&Sw`Xd;=VO!|+Av7%s|ckJ|Dj<|`(kmCTexA*?wDhmNC_?F<8YsNtjeqo1Er z*bR58cMdD3c9X+O0^57pT$;Hn%7ccfb0#!)JoWLh0X-Fs4G9ei6M?M?x>`no%2b73 zX!rS}kv53r{n1a3p_#X~BmLcADukrGv8*{U+F$hn>pM8k0VmU2ARS(aD~T{DEJ!n) zLj;K` zSmZRDeQ{K^2yZMmt4QoLlNgiz>iTqhct!R!jVqP^7_El7j%5OkJomUV-+*@hYwEx{ zTnVT4$NGSi&8?~_LjF$X44P!VZtU`Z?yL>MyUwmi}z(+3YN+7#vc46>+MU2QI4uSjH2RS!{f_V zSkJU~rtc0MTIW7Ea4 zpO<046G(#>^{`T@=ao*=>i4L~QsQ@?l2W~l2rZ_c#j{=zm@0o-pRdGzoD-u2E?XCY zMuL_nfnH8Fpz*6Mw(k zjx~CwH9do(YA@ykaS%{yIF#}c;+SDh0yBP4ggo-D_!j@T^%tc&GE&a-4?$JWQ6pLx zUq}>+F%?9lt15*5Vw4AnTfDzFo-`Rm9|yaj@t?&p0j!yZDp$+@z9!LsnKYP!p^c4E z(;&o|xJs_Lu7HW_R^rP1*!1L_bgypu8Qh^yMml5`{a@}evu_H5lUEq^Y9*dKYi&kp z3O!{g-9fJ+z^%31DW!zjdURvo+;S(OmXVk>a0B&N&QRs2$D{>8L~_WMUchHwPhKs8 z2Aw*C*h-&SDyqO%5W}e)XQa81t3?S!eI`)=-du|=L{x7Xta!rd_-=R6xR0-oeyhe0 zB_3y)+9f;=oGDE($3Mu{7d1hc?d&~hOOJ=vy6Gw)cNX9goBSQ9!micCZ^6Jw`GF~y(cFxZi$zG zNC4!!JA8&pLO3@kT{H+GNsJ0{Spe2bFntHj&HIRro+12Eqh+)OQnAp{n)}X3H-dM7 z$sDbB0EShM)`VQChRumD5RXJ zrFBWvgkS>f4F*jtyWUOtUgclH$$>AxifP5z#e95*n5_6;ayyBxFPz+1B1S2uOdpDO zm{$K{bgSLY`#p$~lwhb5BCN2Z!ZUi}C#8LyLe!PR&2ysn2E`XhzPk>NNTd)ej^u$9 zd|$1PNMj@NX7OGkpzw|iMsUa$qy-$JL5wt+i0wqc%} ze=+NvtB3BRBEUvoG#SX*FI(wpHy3&j!HzJU-!vv1W zFM~t2;ozAOpsa5wa)J>kH}CTZ=(gjGnwDeY&a0@Zgu)}hA>Zo}mstINh#h|LKk!S{ zNZl)#k-Qe{f8YB_mko;`^q6@1gK%6-&(g*F@wmW(d~fqivMbS*b{m4Vz5R8-%Cdik3c_t3MjDdDQKDdB_Jeu197De_IHHBOQ7&sRBbN6ygexEx5%C8iw7PvBV;N<*$045^AjtfUJ}0&4}NT5TsK z^<}pb4;E5O+z;n6R^;jmXc0?N*@&}2j2zZsdF8(tZ~Nkssc9VkLp$8AI5JRSr3 zKvg}YV90l9x~GOLJ|`%NL1I$`ijqQr5a+MpWynb>25kZg1$p?P6m4zYW44^DDSG-C zonL`w%!iPjUeq8;+&Kf8*bwy>6T7gRhLe{H>5dTQiR z56<>wflgfTbqoQe#2>nVl3PR40QWW|H1`;q-i#KN<7F~`orE)Lc^takQTFkgXTq23 z`b+iUnt7`>_;JR zaU7bs-KOsF7X!3A!jSDBz##aCKXeXv} zRmmKL@Kk^_>ed1dfpVLLa`*QV>X5t&HUnCC(1DW?&Je{Uu$;Ec1^qxor+5z#SLn_x z5o-O!@5jHHF<;9geJ|=ap|fCGl)_`v9|RMXb1mEw$^{h&6pHmhr8S6*%N)|qycYB@ zx<44i+rgV#_xUY*ZaF(ci%k2FOL>~*%7zj1rs*e6{bv|NQS!rJ9o`AuWvz73s!KNmW!i;h;+b^^V91XWM==C^78D7%6(}{fk}5TLrJ8h^ zag=rp80ec^J#3r1vh7JV+?mrYCa;c|JG$QYjZ zwZ;fZ+T#IF+8$In{)A#FvT7$#K`o`J5XcF@TOlr@0E<&4r-KLjId8U;u9svGE+O`-wU zFu9rsWlSo}k6_yjY^$))v$WAtUwqq7xYUYjBAr3_Q-K63KfUjsY9)#>Da71N9cXro zseMw%F3sLhUgk@@BUROcy^nXcj$F*;+OH^ zYM=}?Q8y4^TqA9sJMK*A|Gi>EF1fr1Y;L1N-}H9Mu%Q%apDsvs#8>>F->$>PCbKol_Wu=+Yj0}qGPbCZ-slO*luzL+^#JN__ zO*M;J{X~yp`4btcY`$HilzBzO;O+{YwkIk+8|AzN1>iON0S9JJXxxW#Bu^=Z?KYVkL6;9n+&H!^j$w_FU&JCjjrX2re!btM z>6)M>&2cNTC*_&2HxJMKoToLiXZ-b$EMB1wD1XD_C48EcM9!EaP`b3QI`YB~Vr` zit6EfBwstt`tr%`Frc@pW@8BlxnrR?JQi@$u1PQL#5cLfT3q1P<|CzH8mBk zb@NlqVS86_s}058!L3aO>ah~=bfgA^avPn@5nQDLI)G3iy+0W}S<+Fr52?>Pg~>69 z(laa5cg!X3m6p+^78#vc_`Q4bgigZ5)ai9`Z{O6kYEcg$ z>hr+Nf7?W2V&E#ES<%>2z}CmhCsT-V35mjiW| zZ5F|smO7%dcplvq;g8c^VCULlTdE>we;0vH{$eQDy*(=yy8nyu zPm^=NdQz!7W0UnVhNzLL6y%3saEPi#?nCPhbN=Y_3aR8WRz88!LO5d=;70*|sndLK zui%du22e1ELiIbF!SNzc99L4S|2{>cUYZiAt(L03bN1m^yk9~StrH7V#~)K6rL9)2 zH-HdHcUWuvPp!$3i$7PBLW%uHNAmLbmcjQZ^6CAnro7Zsx}=`^;}_X5ea%WDQRc zfl@tUh@fQ1=E=^6DY%3(^-X^W7?X^dX5KH-gzui~Y-HRh$o5|T;-73?-Bj5v`&Jd8 z>SCESf7feu&mxw3wtfM^TY;I)-u{g)c2wJ?rv)^fXBY;lSre_(k+3 zPYz#pgw(4d>xy1qKjd}XY;&V& zdK+)QawnrJ*9M79t=sV#iby;nk+QGeY-Hu8~qA)|^{8>;= z*0(uE8Ww-rRR7+os$_!{Gk2$ypY{jZEncwkVPG@qx-Zo83>$RDl7C8Hk| zVY0O8V>{ywI$^9r?D4W?ax0Zi{D>6AHiM`uui_Dov*~p>o`3aqd;lisxxDflU`0<8$)CCmCCA@l!cc65)Y< z`+U_=T>ks4_&+#y*%U>cil8o*q^%BQ?=<-B`Af+@RDCdwS!^NpGJ7dV|9`RfR$p;7 zQM@1|0TLj=3DS6QZQLyccXw-CgETI|-L3K9){Qsr?hvGL5;RC~*KfFU=g!N#&YE=} z<`1Y^b*j$UXV>08=|xV$W#xeo&zZ2XyJ1sVJ#=(}IC&zY@s*VMtNSd9<_<wsV!M zZyKnsek$uUmI@81IN@kyyYR0Ol9kshjxPAG(i$Dg3B0jQn@Ijm#Sot(cdc8!;`C=> z%&@+6;SGeeb+M7??uKZljOG{dWu#@jK!WZYe{y8u<#8sZuMEMRA+-oHubWKOR%i=o z%Ex11OGMS;L0Dsai?#Gc@WJfbks55EBQ_!_sYW@N^8pqtZcfJq;2jKyy_cV?c2m?Y zVFZ0~0DUqQM>3aOP)O9Sg=iKu0}e3!_Lqp^f`Q%_h0yC%+wW0L! z_UG*#I{PVni@&RnU+(oDogQpU*8`MuKumv@6Ey`hTqw*i_be3}S@EB_3+o{gzY*7{69b}`NBywak0L>F0t=`#h)x)7H z`xa};Og>j9NSMEf7%f3Ij>%-JjR>AwVS+*@6JZHVOg7<=$^v%P(`EMHLNu~Ij0)4? zS@a#e_Nc6msvs@LIk+=C(YMK$GN-=8Q#w<&d5}LBi@zJiNj?RVJhcFzf&|qMPkdDPPK3*yheyQ zizDB-&&pA9(hlujG_%L~TYn?ViE4K0g!_>Ud*p3|XFc*u(=Zy|Tl1Nlfio=sJURYV zu~D*r#H;(4AM-7Z+3x`zr1x_gYvK}Bg8$+Dac9;zV0qEfXY`|ic|Z3RZUIf+?$W#H zkA5{{V@$8dZg7deH z8PD+?f=IYbWcIc$?#DlCph@sAu2fkA#&rzLx8!_O_iI7gdU_O+V4OqLSSsQT`co`s zkXC%~otXbWJuo6+m6I_`HHuv%Sey4Aj1e^CrlfTNzj#Y)#B5~98l@|jNDv;qELTq> z0`w!v6b;oq#AeCVNZ|mbsmDvZE?e=!bPiU*`f`!=^7%mfRl{hp4qq?*`?7TAZ+HxZ z2ECmd)Ez3>!eo8GI-FzV#^kw$-=eW|6XvXJCqk4-b?RfC(kxw3k(5A4;_IaX(Mt&o zAx>Dd;(;K9x2HrQ4_^NFBflFOl(6>(%8SQP1(TYtk!)|B!NDh2tz#x5=JZb6&cpT{D=r^1!E;981j8 zYL0f_%YQkkD*8wWpixLFbKjxpy}y1GjN|(xMx21s%$#OkQlv|w&L~Onj?CVJms7o! z0~rMv%ZmDL1ei0NBdz>dMCh}5T$a_k5V*1wZY8-F*sB{%bb4@5+!Ql$zIDO= z9jt0zv2?m_)@#|bbI4e70q&VFL}Ny~U*3F&^yo1+87Nx%jVrJn@%pK;H$XLy2q@#r zhSUWs6XVA2czygp4Mb1ftZWFjXJ2?0pX(cgD&9{#3BF|w(qD*3CS-}<9g&?zW6+Rpd?<%FyZ-Q&7YrwtWIZQ&rN z%f53?LXKi}C)&>7T6Dg|J>EUXuUSUFWei3^;L?3B5X7W(HLeUp!gV@dyixHUqwLMt;KGEKGi>}fhG&1Zdo^1|KY23AkN08Av2V=h>3Slzmqo)rY|5`@s zw}|fbs?*)c97CqFh-}J1(usVO$$*kbB*S?T1Ch~^Q}+3x;w6D6ohSbF_}i@ea+8pA zI7Mc9OSRn3EtPHs;dG01eLUcZvpkG(u3LT~31mdp{88=GA8UZFB#Sg3R$LgN4wL+m z{O-zC<$`u0Thsnqh7b<@bj~5g!&|x8ulvY({nqYl#BK^J?`v zWDiQ$UL$6ls#uXDi-7_wwN+3 z61ekfA0dC%WwJBjRzt3R7H_U$4!6ZLN6MZ_uD`P5gp$@GC%0L~oJ1w_QvZS+A%|W1$eSeFlD2MN*%X zb=`w>8NIl?W4V7fmN@Jkrq9H|)30Inb&#ODD_ahoq?J3?$JCXySKyXwOdi3d=!oI- z=&0oh;aJNUZ_N^``yEpSA9>cJ)mw@CJ#&8hM*7|Rd>&4kzqD@5Zr?%!c0Ls1-24>P zmmylC6EV`-bdj$N3lG*dFd|QV(0Gg4_&lVpfzz47C2Zm5&8F+iwp-max8%*DJ(EFE zi1W~9p=RW(Sr?fbr5icy$gl6J=dkT&5qV_6)YVqWHXjiXh6nYnfmu42VwmQs##gYaY-kXMa7+!4BhH3QvN@U>Kuuv(m+W;L(hsy*Oldu{7^ zF21p`D4myauA_mD}AisvWlc`;s7mfaEqY?}742mAIu|Xs}zaL z0@AE?8fV|<+p{?FpPu=lP-*3yu8KsxH%&3HG33yEowDgSIzdcI6ib`TKde&e=72X~=cd-kW^tYr`O>LD#OL>l)|6Ig@vd z1sF%DX#j`#AdD&R>{~Qas_>fFwlRm;=4_@NEogk2WqS4Wmq}z@qNSA=&VH7$v&$_l z($Z~ozIJTzlFVr>GEO3cq862(+|bxS@%^^u$E-Y4%ONb-xtfALrSNh(PwtK%zP78e zpE)f~trvXhs-&;yn$^HV8a@kV2O$iNTfARhyN3_@k3!PyA62u!F8mK(D?10luOS$` zsKy;CE|-iEC4fzoyeN_2dLy4CzI$2=Uc?ph#gW|qe{w!cvG1Tb; zS;G=X>JX0WO;+MzQrB!2Y|XQrk;w?ZrN2Zh{=72S?ZTt^Rx;Kljx-WlW^LYKG}YS& z_80PNIm5TTf6iH8_N=;ntf2aqLv2WvR`HIxq9$urQz{5Pl9Ksm#hyzqXl!ocLtDob z%FFe#|KZ73XKjKQhBda@cXgqe`y#owZLN)EZv0)87q<~8=0kiRO-zD+q0KfYLgEKj ztM%{!w$#(ON6mzQM-)-aP)-tAJX2D%U8Sv6a5?IT^}BT-Od|*CPT%iq&58{ zzoaO3Ytpxw^%RB1;itIrHK#!R)f$C9_YPge`aalCvyEocV|w7+lh|858}jJEXrOp| zuv9s#5MtsKj#vB$>c-d$up0SYq(H?Q`;Em}!r2brqN3C6hQOT4!4#nLN-q83Q#@Hp z)yFVcIAZQ9E2LXBVaQs{ERs-VAv1H%Q=IX|e&wTq_6W*E@^I$8_wbh-qr*(}uVNb^ zbj=^r5+=xe5|=1gPb?k-jj|ouy-V=un2y~0r`^$dV|{?TI3ym|&EN4HD2s1dw@a6j z^$wt~3DajsZgw{A1cu{>QS8v#pH`-5vNVtc?JuuY(u+7Nnuu9J!t%`IQlh&%GUOxb zt0Lt`YWKJXJkfRcO?w1QQ%_XhZliy`@Bzv6vC01QPZ9%E2>`L53xauYK`3!)%&he zo;3{+O{P|gzfA2q}ts&n>wnaeAlUV4>FW4}D zAfa3Sa+BAt83O_XQtJW~)xb-sg8JsP=zGS4X6aXP_*b)D`;_t?x$=)00(ZtL0j-SttQ%Sxz_{%0#~;0X)7H z_)(q+(AMTnD>A9nshm~Siv#VJdMsK`*iq%34?5)De)Hjf1oXP@2IEnEv%A??^-=8MXV(2Jdi7=AQcnLRNd@%`uC_~s6Je& z*yeWdpLJ1nL1VOE)A=jPX$VSj6UNdG(Ne>=;4$nk zQ>_n`LGPXp_4=$pqviaU@d7sUuheIioS`m0Djd;N-|4dM2GOOErqD{zN|pc9)n?`q z`fr&uyStys36ieOo{NQIUFwDFkVg&mvKYQS2iwF7=-={t0%A5-nBP#upzJD$Qu^)>6#Moe0s5ew7SJK5C|)@ z<1#?oh;1&kXT(dWeGbC|Xa*<{#7=G3Xew1k_$24U>=iyUM$@C|;o1Y)CB?V*^Emao z6zI3uXJF=6Tl$yq*rv84df*58(dE)DWVR^qO5CG(Iu2*=kagYUm$kvwZ}UVqcZI<` z8B@*dKKgh|2n((iuif^jsAz;ha9H?oUI+*;k=tI>xK3t0mwRho%sEn2f8-n4iv2>2 z=7*W?^*bAjo71^)U!GeLYMke*fj|}VsHlLe!oZ?<+vk(dk7%SrBvR(I84c1tenq!a zJtz5j9+3%aL7%}hL8kES${PT*1RJw<`KOCQj1=aAtuiM`G z`58}N??Kb^Wm*rg6HZHM9=sYhCoDTrudZ@`VWy=|x<4;cRPxMHJQUJT%UbtKJ%X>{ zH%EiGRZVtj@`DCe*@C!jj8|= zo=nP~@rJ1bbN482IG)^^A3otdzsOt<4%#QFshwxB`(m8nPut9mD+%3Z=Cjd|_kpy* zW>Ie38;TzwP6v^3U_Al%v6J}9))RKQb}-z&(=$wGccmG-nsM_++gybq*c60^H+emdcMq>dmu z-E{bSedC)Z5b-IbA!9cmTM1gQw(8}1EM#5~Cl_CChrw*l#)n}#TbKP0CW6m zLLXZz^}g)~>o~-8AerT7aS2usYxcxP2ff5It8t_1oH&yFWC6wA$R#h*I}IFb9lxp*E$}GQG(zJh9&Vlx8Jg*`b)Je%50nXM%nd3<$M54xg@K{JJlb3 z(y+M%yH=a%+GIM8gZYu}!-dWh%4ZLGVN7sHpwj>)q2)^*=BrFlbM-fGp}*OsZsajl zmSUQ6p--@Mt3C`B8a1i&*xfwyzMX&V*pMRW6E?eA2QA!uOhPTYL0biNybmdQ{JKQUk+UiNwdy9{<56S;l9JOda)!+9O4S5y%K8G9du++Ls%vNY#_=f7xzAi_jpOkL!~abkn++n z%0^Ymg=6I)gOv1(qAjPzXtCu1pte+A*~)Wb;z$^kX?Vb5Jkv(#X<>M&Ixu*2n<{ve zdg=PdKvC%2^u^4ct5z~2AlD%wIK~&vrfKUFERI~? zZd;4R87BV+Q9WtRzsj<(h zW_w8PO*Gv)V$w*UAwDJZzi~vH$|&#bY?VI$aQAj#qr7O=$HhelWtzIfSL}nXUe#y=iau&p%+?ty3mfhvoLu+Cjf` zqw8$-w(^r;J0_-{>Tx4$XW69zn4MyS(qOrQzsn3U-LMM-5yIAu?1h_m&_ z2#i)fxLHztTGK8au02#|#;gox50NlPOH0;$%5<-A4HO;O2HaMaCGK(M9C!8?^g$!z z1vHLlY~C1@)ox7Z$GcaFD;{$p`0ID$A0 z4q^?fYw}^MaH-!G&rfZNfoNrsyS!<#tt)^T8%>*I3B(Ua$dEe0l4=6rHrGtthF`Mf z6@7TdeRSc+hS%@V6k3$^dik)3nT{*$=>uke+c0&|I-#e{kkRtQP@5RVTPvem+8;Us zhh1L;WGMf#To9UCX?-O^A!mAxwr{9>g3a9zmuQRqX|`#{f~Z57DsnVbI&?a}+B4v& zG$p>{tXV3 z1Miw+1LMC!fy9?$iw46q{~;09nJk3Fd%bX3c0==VevE=TUwT+34t^}1-JW- zXIOJLex1OSQANU_Wp!nof%|bM!lr5No0j|zx0$xKA|)EGbVrTHIjZ<^PB=-|(wGkA z=w{^JJOA?vw7M@EhhdG`l{nsL`otn3VU`Te!+W(iWX6LA@(fXPS_TE)cukgyaS{dP zsmchJ(1B0Xj;@Zs{r-qh)}++@QEKyjN8Mp=@IIclfv^BOKIOJJ_X6Ye-4ab*Rvn_fn6K!#qhw=fuqcR%6>@#HxKV>INQ&-4oM6a$i!3?>XSM8|f~2 znAu$$?C1mCiUxU@cd~+J=jSiI*sInV_n!C@A2E);SU4@!vyZ$2RWh}(lkn#?B4)f# z-IQDvhz)UEl*bbT3)WClEjSTYq90&#;EHXe#+g;y9?n1UN9C*nvvR(zi+8Vxlu5*P zQgl_H!GoW~o+(di=)78eD*ozdMVA|qbN#_uxcVv)B>b}QReBcmFop|Qjz4AT- zkG&rff+ccc_vD=e|L#`Lo-P%FVzeSv3Tln;fI<>k|K|QfA`*F(+X~n@w{)m{xS1`j zWv=G~KY+Lj6+vG!^H!uhFUfxOC~Z^M_wnX@zU{n(vhQ7imdOgikr&UE<8H!k-?#m* z1PA|g?qvH@V5t$fA3YwK1f0BrNTSL398XI-w0AQ{eUCSfH{jdUWx?y)EOP+m^`8UpO~b*?x<=vG3X%LM($KH($t;dDas$*fBv^v8XAcjTVV(v~-G8>J z8jQro?#~2t`Tn}~a59bVAe-XfO3&SPC0`r40W*nRvi~{GOZ@yIX~@)M>-cTO_xWU8 zBN1c%A+PNk$kWw8_byYfpNf-1g4w#PXL=ve9YiSMbeopPZkpcaaNA$huDsfOP~+b< z#kr*G8F4#J;7PnC=&zg*TRzt5lzx3J=&$t17k4@1uh_(@q1G%-`Ktr3Gb zPuWh^dIf~Etawwp2JLCMBwWeZC4a2kr2^@y82ZsdRSz1VsmG-`T+Kyto;zw9L=}ct zl`wb*mSoNqHsV$_P%XeFDCm5{jrslwKlA`k&}IDld7@C47&VR9A19Mq@GC`!*rasi z0qY0Lpoi8NmA_ys)Gye%Txf!^UfizP7~NCS0r}s2$(KTEHu_#Sm^ZAwIl7;doaXAv zd2FH!axn1ptB+IQs7au5-Ib6D9?F(SsW0*;Q%dO{yvZGc!K;KASET8 zghQ@|^Dpv7=40>WM-@EPF_NM;2l{0e)Mg$PUDTHB@2TV5DS^ob5;4>t7zf-E2lev5 zd9!Gyg(Xa~RoM_8MBW>{JG!asG1_Bx+H03M)OMv#r$jdgxoD!cB4h(pj3=s$FXG(i z2qt*$yDJRva$srF!e{yKWvg6Sm^(sBo1&xkV_c&l#ZuQQG=c}jz!KwzPYc&*$h;p4?rD*U@bxcju# z@hXNAzrN-hI0K5k?ocoWau5>H&HGp>DZe#aVcpS-J++SdM@4$Uh%nNY>bj|IrqRPi ze}2x)OjVvp;{0IwVTnH~B9l8S!D?+?^kg$`GA8T`MON^|md5uis0wCZ_Gt$6fHo z!{Nx`Zfm{S)6t{XTp$5Zb#3KYUZ%BNe#{*)S5G3?UUZzU)+K@}5nj|w{xzzo}Rn66siSQG?$|QiE+5Pv#a`Yvd@z6H~Ba*l{ zIx-yqX+M;9-LZc4OY2P99RK=>rFW@7qf1h9wA%lSvuKiV_IiqC0x}EFgJ@Ru7JM&lh?AYYK5B_(&JilC{+ict3oY9&+^%93#)=jLCN%8UYU3>ps zGhUmKa{$5oa=X(D#OZPsV0!O6aQEB0F3n|wy=3N`oLIH1MyC8E{h4QZL8Qx|?0+Ru zfTFzN9ah&HyA#xyY6u%U=%h<${kVLHG1}!nBtO9$Z4}YeQUyIo&a{A272W|eam+zy z(&g7x*6F@?-|fY*Zur=3JaI{oTT=H6Nd%{R%a%5Bfvyw=@L#)o#B8 z97z|V34F;f;_6o>llW)0C0un;Gccvk=EcL!YXr-BCLRzR!@NDBTc>@xE|-Vp`S5s* zlzMd!my^CK^c$>RZbW6Tp#vHW<9qVp(e+Paoa+6pQhUY;%Z%Zz6SiYaFV(YH-FgzktG|*Y_q+a0Aogb)vid_w!xNjRmHz%A$VD2>ct6&I*ake{j_vi% zar>Ja+!><=Izb~W^{KNHdE{!O@iKRl&qYxpd3db?E?cAkrcxA{Wg_{sIYZ8l}q2Hpm7&6c353CiN_`Z}wp&oiCvP1l|$Bv2Zp@*A29O$faW zH`#nr`0`-n>_4}#T%G+OQL{2kBx;atEVSX^V{_M)5OGdMbT<{Dw$A$7enCWZ#j7XQ z8ua0m(LzCQ*mrYF*iR$jC0nIr_N;rC@AO{CckiDHhqV3gP&MVHA>ZGdPsGb2D|bh^ z%4LyrN^hNhJ9T#J3t@>wV+mYd=2BDBbWBX!L~dgF7#I;k6g2d3%1%CHTX|skv!;kN zl36#CY9iHTCcjpO_&#Ua;*kAa75zP{{~wZ!^CRBC^YW(8Bhmg7`*go5h(oAU)41Qb zD@tbL#UHfXD{eCnIFu7(UGeD$uA%!%O?%BvSb5=?DOssFk{;T>xQY{VLbQ)ruVzgdXc8{paK!NHCH~^7O00Bs+RhAU>|zXtxByIcoFfw=4o>y)X9N5ioz7ZO`$a6{j*D!jjWj}$rli=q**|8R%7 zI&%UV11c-iJ!;M{(^A`;Qj7N#jf7j#FAKXG`7%0smLW@#L_lYE0qiY6#UKubnNdotRGj`o=0SKjKvu)%yQDq%F~ihWkJC57zOyB`0(9 z{8zdZo$QZgYWWT>^l~%jmj_%k&KvBng0WXVk2Jv=;^{rP@8!7}@>_dBIqF~Q^OxcDt(Q><`j*=`e)L~V8V)#+a`zB3PcDJT z%gj^GZ-2$$$b_GymFZ-}sW0YCwCVqDZ>t;{+zb2JJ}U&$C&Y=+w{~rDSXo%XC^bkM{kEG+nJWvnWtAG$Z3obksQE^AgKiv>qhed= z{q&rualqD^*aj(S`&0VsJ<;C5{{zjMA3Q^)7(9uKhB(*eu_Je`{HMBYy+(guYDMkOO5?HdDylSDhU9WsqQsS7 zDETV2Pk$1cI-*-GY3CYERhjE4GhIG0T&Y&pBy_vEC@_Wu&HQBOA7yZ;bJz0!kNf}k<^OtLMxPxAk~TKg#zKxW-wM&3PGg+& z>OvzM~byW;~*)&$MAqxq^@(2Q#aTr5V78T)^#yORyV0$((7t|0NL^_b;Z)wqGyi$tHzq{D}!^utYVs&iwA5!h|_N#88#DL}Dk5QF1B7~QZfJX_-t2ccxl;>+8 zwKy#YosqvSlf2N_R)dG)!6#O}@5Vw|TuQi?svEA%&xhBevI!jk#isscuD^710{QKn zhTe}|QTYC&ke8@!FiW*`flTURtC@b_yoC$N&hVFlm&+7!-St~z5$3@EkZ}4>$=Ki8 zrL~sXQo7EkUiJQ*&*@3;!CDb_CX-2#Khg4i0ctr{r)#EyK<`}?>1wFp>yl6uO29i>AiXYuH1+_tYOUF={cKD?cIBi-;nfI}^+m5rl;VIEnn4Oeyb z-)fHaKIi>Pevw^_<;C~r9kiXWbXjVt6By*h5x}sm_>}gDAd}V6@e4mso^#s2OjuI; z=%dB8K^2RXnUF_W${+kD821%JU~Ufj8x=nXkl|=1@;1u}(~1>zhm>UNW3)>*5)65!&;L*q4}HvF0kHBMK_PS0_o4ntd*7C%z|;_;%q=eO zuI&4u@g((#ugZ*yahT$d{j9bAgl!@OvB??j>H^PI&iAE(4Z^M}=k4kLAvM{)B!8YT z9F83lE<|VIc~)r0Sg;PN`P4j@4-zD$AEW8uAhm9#Op?Lb(!)iyC}0eh8~ME_VF`yHaTF)A0?{F|WERMHB6 zgF(i9c(~lvkqA9@+fqN!L#HSfzNybryydDXU5t2plIXuO%rMQAy>50SCFqY%O^73t${ zpV-1Mg9)rc{^=v1k9@}nX`c1_O1+p}HLMe<0>>>0BxjV?80;pZPK4 z3}Jp&*i1{Ua)l2mwi%APX>>hyWmofd$>y?)EjLaZs5GOx7=TF$y&r?-=OyBW)B5b# z!Klp^vd-zLXs~9z%RgeVUfs8!@BSVwlcw2d)TkgiH@h5G>Cqs@hW0uKFy1dV6|4Q0 z-C_!eJ~gvlW)C5Hp6^0aemLlJ)bw%GuB~%r(J>YHq&D<(kjGWL2Y5n< zLId2OUkkhZ4BQ4LFa$@(1*)I)UF-d^?}uIeU789Xy@>k5xG7Ne*=d{J&W>YQdTuO0 z$!8g50UYw&CqAxxN#glTy*{DW;Xz4OBgv+V0)O;(dIgcRJC7Z(G#!!L4`Y z@u%uU!rVf??H|MD_sv8{FwtbyQyi(hSi%iV^8>6SSg#~ zoIwlXmx9xgHcy_MNdiWS=omO6H&h?p^Nt{u&XdDvNC1(woa)$Z{(MMVz-%y+s>j_Z zP8>Q%fT^}h1Fy6qU{NCkKZ~5H9DsQ&2LQH}qcWOJ2cAd)BGWe(+uv`lA`FB_G6u|6 zr<_#HmYYh(4&Yjw%wS&(!jhjx#Y7FSAglXQeh-}_bBPdKryhZN@j$Uo1i&D) z@pKbP>;!=rfYeMdzas2hb>;0KoTyFjMj%AfE>sM!OmYMrcfJRUkM2M8Dd{1tpz4c{ zeALOM<_KFFv}T zxq}Y$>MQZjw;7+L05GdR_JkLu~_Cg_wdKE6abpOIhedf;o<;$hJoSG*O<(#^j z=vyiMyde}yy*JL&+-A$rpIjf(Y(d0PS}?(p>U1%Rd6#(6myR&GOYH6p~LMi4MxD}OeXwi48^ zC-uh_`Nkn>AusWxEJ)mBdhvt48z3c+k|}eYFz026sLPn8%9J)5K`J|PJnuTVWTK&&; zBh{Xe;O`Puu!T=&Uvaqru8ZfcfsH5Mhe2xv!{$N!_hWmo<+JiIq%oJqKLmEYW2)al zMoc8vJ;6i+*IH<*4PVs2ozcAOy<)<$j`7&PEVFgSFlePct2QfG5F^#3 z%E>a9ir1Dhm}rITK+%^!kj;X1q1}?;a4BQ%@al^r6A6&)yTPl3w{d*d>+=EjJNEDy z1(y7-H2FKX3funC{g!sGVLEd7*wr<;vCfaRP0s#2_=1++3bxu?U9}q_-Nnbv$_^R+ z&9;eAwH1l<;NWqDo7Lm!$FiR13lxaP?;}pUEx3uh(z^JUdyBQU*Qk6KQ*@T%sZ_Mi6)T%Ev}Ti_Iz)3Yng?savN9m z)=11J6%rWvEI3vX`4JWmiVX?A`03n#eUl&NI33YyTUx=1Qf*)deIWTRm66nJP(q$5 zcS2cofAZ)T*N({)^cSXOe9dCa%!2|d=*S|pe1E;>=(32Gm0?$wVY?V2!JWn{WnIUI}=dmN|0R)H2)Kjlv-I{PWH7ua?M!_ls z-#&_Qo|(5ERKFeX>O(ZpDLn08;ToI1z~kWwi!oKi=0KKGkfZyEw6kx zRY((C&c=Q#L_nL8ysWeo*gi-Uvaae8J|pD2iBUkO7T*zT+5FH%9k)vU6x#YpW)4o2 zqwsK)HAVjv05c?sDC^R$e7z{5*>-G9zuIg;@nADL*F*2a8%gM@=6+x$UE|I6XB*m4 zH4B26DOEF)Z&$BgPaiF{wN^JPMiqW_fR$3?JDX$oF2Q!3&mI0~ylJ!*)yz5y-!v3q zIBc}JrA(xAS78QY!Y$76uq4cQNh6ON6A}Guc`bEXk_Ss;4;I=VS*ewwJ%&&CkTUSRgP48xnXK&Okt6X{0*ZL2GIxwlz9Vhqlnd+ab+R+>LY~v>2 zxk^mhnz@6>sfN+D`qzL)nzXx?z_|=(b<8GM>*!47Y?eqnnwaRJvrO#y_@$6v8cDyP z_NlFQ>tOv?1n-V|_*7DN37SyZul45T8k7lQmLckE??Jt#sdwIuc}z9HjFS7EccS-FkK8qWogWn zsNyi6{;C%h`x}4WI+)%MZd39P( zP}2}Pw2fkx!WD$%)kVM zC$2dKqt<-YD5ge-9#$cEq#wGV+V06`sIeQq*Ve>BIV2$?ZKiMNbo&U9QwjN! zD+z@vTIS+=w-=K;35I;@*N<%cVo^5__0;$2=%ne;Oyrtd&s$q}Pw@;YKVNz+77cP- zy(VV#i(SJ`uk_zR$Ilzq4la}3J@ehw836c`Vg9jDj=64akdQa#Lc~O%pUsYuHhO^f zzP7CA%{!Tl*0>j8jh79R<0heWh880tN#6@;yjM4oGbEntxB%SB(6*$Dj|25_y{oat zMxd6u#VUj4-Ff^*#f6%NavZ9f22TP`$Suafx@;>8@r?=u-#dm-KLn|h5}3q*5VOyI zvCaQCO$41Z)nGAq<*o-K?il6T!qW6r1(6W0g*=#?$UoEtkAb=L3HLFn-Tzwi|3h+o zZNmaxGoCZJUTGZF0-jk6+PHgdy83#SnlKb(pDyJzdvAc##TY;zte4`z(Kb zs=_Z47KFqvP7M4{r$FVoq<9o>=L_^SVGFNHSMLk;H_Sx-I3jxkTq1i-cA+8lx`sZ$ zimXrN_-t&24|4wpZ*LV8#}~Ezk`NMtyGw9)_u#>OU~pz|4ek;wxVyXC;7)=KGC;7w zA;I0<{)hLi@7$a^*WX=Nb=SV=wW@3PUeELVT=iy-=3Qmv>`!WK>3Za49{s6$CWv*U zfXRZPOdt&-{HmY@S#4q&cTi_2Qp`=p8cZ-&Q8E@80mHNF1?psH z!8SiH;t5|j|3e_Vc#VDw$@5Ly;(8`bc&%6$;<&d6JT>ZX)C*1aj!!R~C^rRSM5mL+clNL?=D8QqYH!Ev(PBc!mWpMRq)>Ssg7_@R=?8_-5}7kd$h!5mt1cTc zJG>7emPDyspse81L0Z&m?ge++MK08Xpi$*3LY`G6Y&Cvurp>lTaVEX1F8-6Rex>et z&2+t*wk_CoSr?OUHW|_Mr_0U!N4CH_X{hLb2qZib3%UJ$6C5x9Ygp?3{ZeTc-FsJC zC#ouy1{%{LNz|+&z_s4?8(~4pCzue4`Xj&1Gi;Perq#&H!*|F8D`k$p!AR_$XCh3R zn->_&5tG@T{Hyfk71M0t_rD8%u0>(TyRoT=FYZTi--wvv@FbaQ_4{{~L;2R^uo{-g zIVptN?n%;bmbU&sjnt88JX*_@;pq9v6s&H+BA|LIHkK4y&bN0XQmla8WK?~Iz1H0q z_|AabG7ag$fS6=qac;@Mw|!Z&<&T9P^RLlv6}S^Hap~QL(Q`n!w@aF!G^KHFG~7jJ z&C-#7Ieet_J!TzC&1X(r!A$3_3ToT1M?G=Ns8<}97P{ElnuM}3!{yc=7Qzb5tc5)| zY{;pNihM5+i{qBZ_Q$B3V}tK>&Q~%DFh`+FEOO=YhQTR}Ar}D+b^Q?6Gh_I-$p+)Q zdF#U-|1^6{t-gZP6v=a_Q1}AxXsjKIN{ksSF*DPSRz{0kRv0$redj@Q<49NDJIOXw zv|X-Z1k6%i2uR%JVv#s2@NcK|JwgtJYC3L|vcZ&l^IByCu%FsZ1nj z8eE>b+!4{WQd#%|;JS-%cTP#5qKMP+yF(o2a#T5VGew^D)Pr9tz-_Q>CYg@`f?6d$E?j zH=AoY>-B+t%SzJ~+FuzH?>J0r5XY7;JDDz&QR~pZ<24hzYSHWqt=sTxoa=Od3_s0- z`9DT;gqjg-;fOyv&VGx!7dI*Y%jK@H8?{b7UmIotHJgQZJ`te$W>_6G7q~AAqse@S zad2tg4G_UgVYQnMbE{)}a~kdyy)6;TM%UrLrV?eK1Sc-7r0Z?#-*lS;?spt-w3`kQ zPDa*S-xc1?gOJ3v-ZY$COTzAF)6E?^S!r{a(!u`WtuiqO!gy*KDUxWvWz_JlQoNl8 z)}br)0copsrisQU^5{{wA3HYalxqt+Q4!bQVx zs+JnkedL^t?NLeYnjxOy?Vi*bc!GOVeKpGW<4*S(02naFatk>0-zu$K7|^!)`0NV{ zcm4D+E~6`~#Mo&zNApCBlq=>TiTN$x2=Xe;9CTR-9R=qSFfH9}iN8jJ=)ZLGyVOaG z;N9BB1iGH8yrpNdYqfZ|t@$H?DZOrQDO%pl^!&q%$6Th_*yKeb@}GMmccMbPaXWO` zTh~<%t?qSv|A9uRAeVYU8knOQaQ8diN4j5{V}7_iCF1TqPiSa^YX==U$>c1!$rQMsH4CkSo&~I1O%>v zAmn{&8f+{Y5*c~x&08?jxHt<he@HP$h zN(9m6|7^S{42{Rly}^U#+<;@_F7QU3nXdkPS#sX`|32O@(#m8CS@`;nVpUn$4tE*k zJ2?0-cs}0R0Yq-xbtlm~$|M8Dl*3!>1<9d(H-1Fq} zbd+c-y0&`6AE_P)J34TTlew`sdq2Eli}6ITvn}t~3-ma3C)8WNT#T(9mRildTS@G( zN0dIR8dUTvY2Iu(weI)bvn>t$Y}ET;QR#McgT5w~@pMCAg51wGOzVHWR+fl=?$@XG z3v`$~f!{4#ZGbW!H&9;de#=U5$2m1?^Yy6NjVR*oeLVNSLyPK~lG%k2!Y_LeeBW<; z`t=Ot@dbZ3u(9-^1l)ct5zGQ7Iu`VcmeO=Cexzj4NQP2tZH)4@K%`zm_`P7HW0Hm- znkqwDe)1k{0MskOoT{(l=SY(MJM)uyU1%(gRODZXQEw$6TG^$O-tOl=A(xID-H3v$ z#uNVgpU`s4;WaC(h(-sG2`kH&&dIFTg%nHfeNyTF5JIY^qDPbu>XL!NWA1UA00k=X z{(mhG23VamJk-Q!kwe*}?is6m2(rvf6c;`9D{tX&n^&1i-VB~Ao21+=c6-P&4vHWB zi&BG*Hq>T6hb9ogu!xi+BV`V0dC313f%P(SL0%sg-7G7^6K6&glm@|zgfzPTw>RZK zR1O?*Mm=Ws`gJldPaK?^-Ty;iZHe(!3v%~lJ1}=N(EM#1C;r`3`G@>0?%OPnJ|?WP zEp_PwQI-j+-OQ<&%Y7DvYh8Goj;17n08+V7X>~0Y%QpQFV$Zi^s+wD4E=G!U5{vyW zO-hp$ctPt*D=R#T2ZO;LV6eN)7tw&^>hMv$N|M1W0e9xMeFsZN1v~OK`$HMEB5ARE zl$@E2p`~N4ggRD>k80NQ)z=%ky`9f4n>0X)OsBe?9t>nqPBH;gp}5RPTx#iS=nJA6 zyD4jl>lEOqP2jWdpK$p?1hFk>yVZBcCvtrr`^hfrvykmN!(qKtYj{nU>fm0+&%wXOO1Sx-_74@Sgl<0QMpP-SL zg_g0IJa!eIzkzoo|J6_MH1{QWp`3AdjKfL9nM+_f^9#*O#Rt|+vF@N3`G|wEmoml< zje^J4l(q$zJq?h)$gkl58{(IiIwAXB4g$cKRK>Q_TnRvxcaCK!t>y?_UM>`x*a z;h$-ZqJ3k$%+M484)42&;*(BZC?$f4JP<-DdXWG#<`U^(Nn>9UW9YKy%<%ObRYn+f zc(*W({9_^BIN;7{f2)J=^0nqp3Rqy zh7c{06S6q zQ7$#hAW(6=mm!PWH%cKxJ!%B^sf@p$?agoDKU=jf$|afVu-U7dgVz+fF6-Ng019Z{ zQd+-l4w|~Wjq^~^KowfU*4eeH4`IDK({R{|^+^)Su_pc@D{UKJ&NNK)%8uvzxe!`z zyJ(HDQyP07E~O7aQVRl98pGsIGWF`PL&$7gVjGSB(x)tlUsrrus{Uan4a&_ywe3_% z#r*9m?JUxGO`El?=$Rf@TZOCUWx6BC&QYgY3CbV$4!}B%$NlR@Gi-asNb)?0E{yZu<7Wre-mpiH_ZOwY;7 zTvNNQgb4OS3M6IjmJfG+F7T_0GV`T!Oj#%EqELz&Yn&|qnd4K?cJI%BQ>?P?S{}H_ zv7ND_&1bW#V=8u$(}ges^mcpJ4ZmwIq8B(jaBn_ot2}uD6G!WEFmMs0*>BUqM#-79 z@5^-$zM`{;Z2fI>Tow0mIH@OMH)EbwZW0_@`dr19-cR5E_fdTbN$HFGtfw;HlimxM zEhS8Pk2JO?A#~I}{9d>gGL!tLRa)5B(}At?sN~_hVfVVeDkGTGiE1-FRV29FM?n++q~F+t`bYx1NQz%C*u@VXfI zT0iIj5WIOZ=r!^5`T5YYrBSYuH&N&>(tB3k;P&+RLMFFLCSqcHDLAqvxqs%R8N*%<)xz_l^kN97O ztaq%x(YXG}fw)nv_vyy~=c*_Y@h_gf1PW_Tf<< zC0HGl{hpu_Xq;>7iAV3xf&!-pp#{P1Tw)__7lC9LC_8vt)$_wGU!NW9&_bFNR2^&0 z9dq@xN_=UWoyQ((e!N>BGref5&FaTP0!`?&G_p|2d{i!%jGNve)8ARwE;r!FDs#yR zJ4zZI+B(JrS1~J8w$-xC2P_ogXP=v^nRX~15$KZ4pDz5)BMH^bSeRdJsasFpS%#m8 z1G;^osTJK4JW(p+n#%E%srvG+WAOls5ucv`a{BD?0@|BJH^eYeXx<>nd?Hjw$u?V? zLoai!CUdp;TJ4XGN4`@4_ZE!kajCmlRG>S&w3=MC`keqDDBw1( zn6Ay#o9L+=eHV&OWu;ZCIJTIoham z^%tojY|La_wuNqwK(@;X#U=Y2=ZGGc=|r%zBl|0XcJN2TPQ;RCs(l?0)kji&_Bw3v z2AN?MJ;Sd_lKimz)zPm*YYZ!;Bl%h2XnZ4WXFq71;+jW9Q>F0?ijS)=nf&=0w&S!9 zY5O5=0{0QtZ!4nkzm8gH7@%Y-XE3S$XgQrqmVvGw)MJ=xo~%L$u2he>UmrBG9ZQ#8 z=rJk5HvR4!E;VRKH~3TI@8;FSll|nmmtF(8Q_IK-motbidBo8Nz5wpuXJ$#`kbdj3 zl}(1}WW7j_JZ`S+F6DDUAFLH)N@D#E{+oeR^?LZbRjw9~6dD27o>m^mx zgl+X3rHJnk_rLzS{o9c9+c9}xj^t({_2TA;(g?kRC9kO1Ba8QjlIixr*-9eUnZ3$f zJEg*NxyvCzGs~Tjo72g$KmS{pogUW&U!~>uDKFgEon=m~Kgc!Rxl5SlOHFPlko>m4 zHebMFo{uvPyPevui<^u;TdNSsQ?$Jm%Cu-?SHv7cn5zuL*)UZ-61s;B}zKfaTn6}9R}C#s6?iBil(OChMZotaK0VI&3c@xJ+C; zzy53K{+3fAkk7nM<*uvP$wZr|S!q@YB+sT6sP z(vcKfctOz@vPlgj&`wX&#e7BLduGO783R&P&Sg3Lcpc=nFV6tS*0a!RJ5uAa!unE_ z0DfkYDb-*0KO?4GwM5%l^Eg#YJHwI3HuI#Mpo?6ql*pW1pz2Kw+vOlb{&&GjS}F5L z`Yng`OfYXc(#k(z1^2`GNV=zgK2mgznO;eWMlMawihk0wpJ_Jjk)AlL|PvBp||s#-gW7B^sdg`-MAd`j_VK9||{ zW>4;+yQlpHZ*7^IzY_HaX*6`1VUQb$C>^t4dP`s&))Q;t=l{U$uPkdaFW7d{^fh9b z+B_~B!2Ts)_RnG;XV6q*CR7|Xo2o70|B_)b%h%<#{MtD{U7TF#=omOJ|#@?hvk7tB#0Mf0$0>2=yD zv61s1!tu%0bWMIQmdS}7bi^>QiZVK0b_3DfQ9n7Y{TJ2xH&Hz$a!$MaBp;s7%NdR+a(W+4 z{TQpuEp%;Wd+HMHWs;XQtoeY#q2PpJKQ?Ldb;Am=o{K3^nrRyZK0U4ooEUWLD92v^ z(u;p((EQ+^gfbK0bro;#JX;MT5@8UQS0T1V7g`em37dhGX7Z-@@A5W04Kiv}W&CcM zq;lJD?;>q8uco}-gunv89Yb@%hHBJ`gV$RA!oV?}->E#~TSRZ$NCQ%2jK@bNmp0Wr zeWmW^zvZ|Sw)S_+HF3f^bXW44T_f_RBWe_MdYL0AC?o_89^nIoR3f3j1K+t;;*!M6 z(yJS54b>^^zV_|^Bs3YEfp}X+w=uDQH8Nh#LU45~yJsbM6wCxHSyUq*8DYgh>J8aCFpjO>1wM9qhGU8YMBncVT&0+ml(Z@tqZM@F? zG=tV53-AHJnu=2M^IC%0^NYf>f4A&uzniGzo=Ck)5=SHZU1>ijmErJCbR zPFaq@bw>bJU013)17YiZH!2G@dctn6V-wb^_c5xiQn8$s8q?iAqa$-AECxf-3*g59 zDz=~uArl?tv0T_G4^70lww`dVdOI5Ge0FDT;n4>UNhLPA#KkBQ-1^@#&Kdt9e0|H) zv@DLX{GZwyBsJ*lH#LtrZ0jnK8vpw3!BjKu459{s|MpO2zy<%WR~O1@4j0i){Iz+8 za8&oF&5qPm-o!Csf^Rd8f$am#NWZnQ?dS*2?u@P5FBT<)uxJDO9;^ePw6Mq^GID3| zvCw55PEeA9dmWf7W#71HLLB|(1fZGSjwy%5ISQclSo-(_PZa|&8m$*#S86yS;&lGN zS!*i#%61ga2sKf#l&%lpX+7I?ZgbH6Wno6(FkNlg|Ah%?DrLBnP1usmN}f!rYF^w& zRtnfLH>f#+Q?(qII!S}L78I!>?Qtf*6roBHpJ9tn66tlT@{p+h_=%5#Z!>Pnmk_Sv z9-8wZgD-?fmq1QIC~PFilcvDkseY3;b+;k8@joT&RqOxQsD zn!URsEZ%HBBkw}g1x~v#+s6BeDj_l!6S}?Yr1#Np$Jhv;?@0#jJFwUDbzc{7w1hZr zP;g((e`#c=WjTkg_{~F3$8;x}p;W6W5F9ca^OJr4H$}4S;Sg~6a>7v)xb8F=ZT-Nudggpcm!^DotO{v7-K^+2m!B)`KqVqq@XlaR`&F zVaH^V0uCZm%B1~!9p;QB=7eindj6AZx7m2y*nSY#Ex+R9HKh4aq)cDolg?+vMNJy+ zH|~mDuOTJ-jUrcf6QF3pnBi~St6UK`fdkC1%*`H9P1?)Ok~Tt7Eby->vs+w3AZJp& zIu-1as^hM$;SRRU)lYT!T#BaS!7(UKxFCWva_ClQDj+nF?yP;DNyepXado&-%i`Jn!1T@2B{SF7gxG8Zc$7$uJL|xK+C~#it=F9P4{y1Zas%@yjO!{$snf zQ*kX(PMJch_Gs}B3P`rCFW!&PAGt&H8pJ!=Z zx0#SjwgL^TwT|bDQZ8Kz7ngcBm0Aw_P<6|qzRv{!pfyW_)06pnAVgAfc&zVCWRUTk zduX*kK%UUr=~lDQM84VM1OJv@qX)LjxpyVi)=2pMuhAdzu8AdjC#F^G#sN8?{K!j` zx?4wO8ew@V{L{BMtr?HuaC8(KS=K8h)C3u|f{W%)f5$++PW1sS&6p}r!qvn-oR8E* zx7*Jj&}4<(PEInV?B_(dA3yk5V_ZM${ZQ*ij0rK$Hf44(;dNP>tLfa+TpLSe*>--A zG|S{3R?WFS9sqtS_6U0|lu2cnT61vY&n-^Kq8l5hRusccsw zqV55PvJiLQ5-2b7aJOdLM9%3ER3Xv)!DUS2`-u3V)&$Fi;G~Psh?&~?gw9^}EQwilEUXk#W$()bvF4lUwN(h{rd1BYnIdTu z9;HSMx$LMc)P+K~If?N_#TDF$0W(qHlc3as^c=|?nSEI(TOc9BljT$vO8`iCs<5Achd-0(6r83~O-B8dXDRwt(W&9A;`nIp{<)b@XAj zD7n1JQHNLzln?SbxY-g+;j-d^4P3nOR*LKHmeWG9^vrXOW<0oiSOdflEi3g+v2_1d zw(Ds7mSQFH<3qGC4|3m2P+mEo+p7Doy-n%8E-sz|f)L{OR_N{xeE{SV_XDr7Zd={3 z*N&AotV4K>uJvQBbVeCw8{~(iyjMKaqt}{l))k~Yp^XMK(_6G8B=IPby&ETv%b-TL z@h1A&vP+*>(Kr53CjJHm%~$$C*2g*vA@7WXuG(TAEEye{`j2E&%5|d|=ak`x9k*%P zvojpHGkqU)jvoEzLL^!y*Y%gV!!l!(j-XG=AS|TN)6B}KCj8?>^0M1Hl|*ySR9HcW z`|hkxrvmbP93-aAgcg5+@*nFxu!geJDIbsNs``@mJ3o>8sUb9L-ZJ`|CDyHb)kWL=D3W<3hPQ5ohiWe2QPE1vgUJX~Zt!|GFk zZX%u>1}e<9I&OBLq40i9s;>7u=i$<2`{aCc&0Cp})HW}BPu99v|0^7SltduP1{WfZ z0f9)_2auKV^vmKhmaL>jYeDo1Zg6V*OO ze0KWNap%aUR7J5a)?Tk+QBg*~R4xE(#BB|+tTQdgm4dtV4E;?C$hfe<#qg)nl`PCD z<3}W0H2LgXy^iDA*#hw|0~a91TY>SPUV20=56c9ECu!)6q^}@zs}1qJvSco4N_1xK zOf(FTTSN8FGWvCoK?`J$Eb3hU*vypQ4>;%iLW4)F? zDmggaVVzqu0=m}27H>Zle>t+0wIB8?7+{SK=c1?>dvca$O3_P?gz;o@e-%#B(j}x| z!uP$)dP-Iz5q|g)*ZKYJobevh@8x9Ihn47>FtK7~f|_<(2i?B8>D zXBqZZ-2aYPZI~v;*5wZ3#%XIR%k?5+50NRUws_KzZsG}}Mz&?eUhyim-7`!aUvui6 z9ABQCV@qMcwA$ySyZD`BJ^jJ-suv@Oe&F@HA$0$ z?3PBXxPy)e9~tlxP|Gcgh(SYn8SjVRSa5JTLZouKK(zXo+4dRV!P|^{C&J`7cr%!L z{;IooLJYeCiXlzecCuM0A7XyHItGhp$KU+*^I9oaWC;N$>D((6w%Cy1n7CZWMS;_i zmK~!-0g?HRq89~+;MctW@)d!`Iw;2D2X-tqO|yKbN?#Qeb24eXQwA2ab(LLnfK6H^ zhv#3!m!BQFT9y;Ic>Di0bpr`q`a|{Ukx}rl;-?bc1}-$$UJVpzMJ% zqqC&0t_HBT@?Xjp!mC~C4_&q9>u#`9B&)rkI?7sz-#M+`AWOnk^wsGnYqbeWB-ge( zn>ozm;ug&Fbh-Mcj;QSlDT{IVW*ZgF)r2!2Ys zlqjeK6VFf~D+Do$RG*F-z7@EDvdzCrzyS9ExLctSu?%vZ0TKlpj6R5aj#zR+iA%#J zt zONxr962zALk+fZx>oOd$#{utC<;FK6_(T(-ui~$Hf!sQUmlyxtOHL&K??*J}ypJ40 z!|lkksz)5jB7i#UL7$KtrDFT|1l=ICv!yMr+Kp}i%Z$XeYMvzFA0;SoVvcXw?LUO7 zluZ9q<}}3_n|i9K5pZ?q0FpwsW7er+WH~2->iKqyW5)WX{?A!1;<>jdUuCr%N%{0? zE(sTq|D@IAR+mX>+)Od=+8>C+K~c4cB|SrbY6hfG=I3vpfVgho`TVhE#Z17d{z_p# zkgQm9$epEXD6jr7U1@AK$MkBS`nSW{c}U7gHIZ44ZGRqmtE&(I=pkE%-QiyJci!`- zn&x;LJSF18Y205P-Fs4w*8{)*V{mYOlY}Zx{D)w_zD4uQ6#m*S>gsgP$8pp&?3uRK z_NrAdugi0z}bi50UF+i+wCu=d=qyYiGPtC^ZXXMz!~KdH>i$Qs*RM zDieM%nV^4Rmub)Ph9s=4qAi|gZT)6o+?Eg8*CwsYrR8XyQ*e-rf9KrUOEwFiX^+?+RAqC(%4iN4dC>YLcHjanr&SMuJ<# zwte5sqH(&Cxy=EdGi=dN%!xR8L_Ku27A_@RbHQl2-cnZ7`GUnXU;FN4uP%oGoXIJE zyH$=FP#$qNi|%wIovobKn~D}&{-|Dj-RVo?RH9Mi3~N_r`=52R6{`S8y7lv1Jvu|= zb}F*pr|r1sW06lvRGYB*xu3^_@7gH5Naw<#ysP3l$mXR+LP7W}26`;ghcK91$@ z_v+jb?xS>4#LY$l44O*YQ8XC^WtsQEVjoK0NiMqQq&cN`1a6>#55aiV;!kGGr^45o z>GE=?iY*a~zp3U@v5dhype<%}o0(3B#l3prFk`)HGw!XB?ba=sw!@(wGYr6pY~lcm-@YsHqUeXx z;0;l}3HwgCShR^^xYTU%ceSzMZWv~ehF;OOjxY*IAEi_6`jR$8{0V|wpe zV8r#Kzj*!VQs49)yTt=KpVO8LrbA`F($Sx$7(1(qLAZ#ciV|Mis3J{OT7kLUbq323 zp+G(_ND2R}`L8HKZWTZJI^sq>E;rusV#+VCK^yqN=xJ`Eh|=0GJ0o~D!9p5qen7V@dVTMGX=&6j^suk^V>q7K&qRe3!}_=#0D^CeOrCOneO zX^cRw9qW!mar{fuasoJgq;Wm8fZr@0~UNVZxuH>;-!AR^A_t%Sy95lL?|`jqC#h9iG^EX2T$EFQ=c-Dr4l1 zzr{3L;f5W+F;M|++7fdS-<(npGVJ`+^_sD*5=gr~91DLd>>5@1 zPIyUo*yhJzqWlQ4QB84(iC}UR<44S9HWm|O2?e{X2bTUu__x9iLz;|Em+@p0{udT@ zs@l%E{qb+!H2)r3k&e?92UyZ}4T(Yf0_p5vJh;*DVw$0&7N#kHxzc68xyeWd->jA z0({qO3ajxEPK{zuZs^XUXLBW@(dW3J1MUWi7SiClTQo2U3@k z^-F4Ao?z8I8$iuj>gGx3S2WiwhpYWPLu;!AA0kk|t;rP5Tw?eBdEabZGg`4poZsYA zX@C;tXXVaO`q*E{mx0DjO7mHl8r|?Nuc$@E%ZZwfq)~M$y`zH^-GZmI_-{A7%AY6m zaxh95G!wm!Yu8FsVJ+(A1_=vgsVuIde7uf%sa{|Pw`7uGVvpLi!KM1xU46!^H6`i* zTqaH0SRIF~g19cM0q%NhyffMGbk>0q_i=(6y2et|9zMV>nKF1q!g2m-zagGOphD5t zhGLT0RadCBW(}HdKp0jPKx?-eAKB%z2&2t3>0*J`!!ha=cEB#3WP0TelAzjV{+1Me z0k)g<59LfDmp`JZ-^W|Spaj4%CKJwodX~$-HxIQ&wX{=UfX3=pECL1T0`#Z}AqZl3 zLU3L_F`5(i*2{5^T_(GEs=obPqcL_nOzh29k$ucco2_v%OB0TUrhq1i*^&I)Jm?MC zkX;E3Vv7lDH}|aQISoH!mUFjBpHF*KQM5?^oWXM zj78}59fq~gZH4RK;SJK~$=4YeT>cw*6MM3b!n2*A19|Y`z^eH#25z zo)V^4JpD^{c(zM77@Vu@a6cX(F|vcR=*EU@DA?mYpebL#_&dtc&-6LK%nMZk_nVG4 z`dyj>HiG(Qk9P?w+!VIyhAoJ&%9{HOmnMC%b?y?$JW?fy9ymbCmS%Zr=*uhyoU zdp*(Ui;?Y@w9iL}XE?Svj}oR=xwY;~S^mh6Gz2We2jqKWwo@B$OKRVM(H-vvU{&>; z)tlMNg+NXsfu82n=2e`lhOMB0o>(m*0xc2mWhB;X)I76Ziz=bZ>*h@4WDz`WQm%FO z#6Tlu^=daI`kwF7sPmwyE^j0a`{n*^|X3G59fs4PUBgURET`Qa(wbmEtkmZo;8_+5s6i>}4AUPq79M`M( zT(2^qS);5xs2oGOtXNe^72e}p42&|2HM?m!UIE_Bd1KCmfgEcX_Ak<5iv~4TQUU zvYn9u(Cv&ym0f~FltMp#rpYytk6r12fhcf6>!U%Ssv#t#|4+N#jkY6TQq#eY%24Vg z%tsP9a&TNTub^)uPFF)WKON@TIcF)abbjTjuU1kOKx)u8*Tbb(x(!W{5bCrf1H~Ly9_$PZHR?=iS;Rd`<%;ki15V_8Z zD3sY_sn3qic9xxUK`sJL{7S{evkp(X&WF$)XM$AyeVsIXhS;!VyTw{KjcuE~?ULc* z!DqdEy}~~%FQPD*jJ$W|2{!f~kEnxAXhZXY?eZsKzehCK!6_2c&SBzM>?k^xIeC8I z$Bw=Nfr!pL9HqX9ENlRS+T4YU(!aNf+#X?FSaMU$aD1b`NOiNuYvUo&)TyQWOG@Xg z#8oRHgABMg$!_1A+VA-bzZ2*+~084)|}6Ae;IR8z7&sv7~0S(b9Q5NSR!X@)oS_cSd1^wE0yhm zKxNM#e3HsGTqJ5}7zVp&0UBcz#Vkyr)j>UOhp8-IqW#${se#i=xLl+y8FxGnEGInp z+YVb72Ta#YTQ)#j8~D3xQ#a&8VbG^ai+E=rdv+Emm&y1Bj1K{@BDZWiQ@4ekWJGrl zNDMAl|Eb6C-pf-`YX%Y=<3C<4Tb{qXkA5;|tCiVfez*Mti!{}K-m0I$oXE}oD?M-q z!*Ft2Vh@#%BzlOZ5$Hr|bAKl;C4#oh+{^H$fvVk)7!E;i^XO;Rsl$OTHSZL4>QY#~ z@w4oZZxd7GDexYqNLkm~T++R7ZWh#MDSX{aW$MYYP>>^JPFf@sr3Paf=Jo^`JgbI#|1*bXJ! zMi-CHb#gq}VDnEFX@#7n3AM>+9MXRzl&15D!+yDhV>P_`d}$6h25xufTh?8 z%{_4(p9{4~wjv~|dXT=l6^-v5m|<;xtX(U>TFL!~P6ro1 zdAzR04~sY`Q?3CA+@&%-IM*_%SJ$3X)6Ee%!l)|xw?@6*vi)F3xUKmJmrEFm9f*`t zm{!iyHmKfM{e_`Kxi*)ZNejd{#gy^2 zim3D3i>6mT=s+ctqjRH0vDElO^4QJZh`p7qBqPU_->6QtSn9Z$2q#^`)7_z>NZ5pR}v zH7s>Xn8CGR3+i-Df}p1`C$yrad8m$*;WdTv*rEQp=Q-P-qQH8XB4m4O;i9c0ySjYK zvdY<&r@G#yxO08af4Uc*RpvJ00`zO7C@nw;c{w;iu5rd!HEh{eEkJ1e<$c?2D#iaf zAU4z}e3?FFpajD8U@9HpX$L?OB4$>+RBriiUfHqlB*Zw}N;LW-lm<^ZODe0NdOVX( z`aQh>`J$xE*1cL8IlfVmcc#dCetKx5hstKi2xys^Fyx>ZTNzp5uMtphrW5RSudG(@ zaXb~A6>%Ikb1kGRuN;3nzAoPY(r)n&SS zAc^i0_=CU(+n5lG3mP|N0lAOr9Eq-9*6}hMv|~}`ELdL?xlW=Vy~V`VA=`^47J|vW+1rLx$J`B|{L3H8{C4ad0B%6!{|KE<}CzV8nQ!eWeA1 z!NtRG?kgXaOn$#hD@7HGmsgYj>59&7I?VGK2sIwoNRw-k5&QnZ*44qy%)Zb?>0z?+Y;hJOkGwRWCzL%$AAbA4&eL(TS4E?f-|@XF7Bvl{#IMs@XiqY z@(&U?VxSIt^nDNLpia!=g!;Ox-wkzlWod~~B-J%qOVmGQ=?e45A5@=gapbn$^3#wz zeHmF$Fb62K;z@KlBUd`_(Sxx!VjS!q7w;C>pC{e3JcO%lwi|uRdpGb40iSaN2>Q4B zP>RRgIhxq=d>OrR9F#abL`X_b+pkkiIWSGPkKoc)3VI#2GSMkbq-~^S?@O)RGVO$; zt0A_dF}#~CHp+Y}Uj}n-aRvY~pLy>h7HXaXNWUZ)E8%7gi4|ZdXVw^of2*uEC0Q&l z45?9ta1J&Qtuk;mBLPn6B1Ra+B>NO#mFB_XitDx)%;-vG

JOF;m3i=B2=NAuvzC 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

Cr~j$@1K)comjKd(D6B9X6ih`I;41Dft^dUttt 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 literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..53a43cb --- /dev/null +++ b/package.json @@ -0,0 +1,88 @@ +{ + "name": "@testing-library/react", + "version": "0.0.0-semantically-released", + "description": "Simple and complete React DOM testing utilities that encourage good testing practices.", + "main": "dist/index.js", + "module": "dist/@testing-library/react.esm.js", + "engines": { + "node": ">=8" + }, + "scripts": { + "prebuild": "rimraf dist", + "build": "npm-run-all --parallel build:main build:bundle:main build:bundle:pure", + "build:main": "kcd-scripts build --no-clean", + "build:bundle:main": "kcd-scripts build --bundle --no-clean", + "build:bundle:pure": "cross-env BUILD_FILENAME_SUFFIX=.pure BUILD_INPUT=src/pure.js kcd-scripts build --bundle --no-clean", + "lint": "kcd-scripts lint", + "test": "kcd-scripts test", + "test:update": "npm test -- --updateSnapshot --coverage", + "validate": "kcd-scripts validate", + "setup": "npm install && npm run validate -s" + }, + "husky": { + "hooks": { + "pre-commit": "kcd-scripts pre-commit" + } + }, + "files": [ + "dist", + "cleanup-after-each.js", + "dont-cleanup-after-each.js", + "pure.js" + ], + "keywords": [ + "testing", + "react", + "ui", + "dom", + "jsdom", + "unit", + "integration", + "functional", + "end-to-end", + "e2e" + ], + "author": "Kent C. Dodds (http://kentcdodds.com/)", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.6.0", + "@testing-library/dom": "^6.3.0", + "@types/testing-library__react": "^9.1.0" + }, + "devDependencies": { + "@reach/router": "^1.2.1", + "@testing-library/jest-dom": "^4.1.0", + "cross-env": "^6.0.0", + "kcd-scripts": "^1.7.0", + "npm-run-all": "^4.1.5", + "react": "^16.9.0", + "react-dom": "^16.9.0", + "rimraf": "^3.0.0" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + }, + "eslintConfig": { + "extends": "./node_modules/kcd-scripts/eslint.js", + "rules": { + "react/prop-types": "off", + "import/no-unassigned-import": "off", + "import/named": "off" + } + }, + "eslintIgnore": [ + "node_modules", + "coverage", + "dist", + "*.d.ts" + ], + "repository": { + "type": "git", + "url": "https://github.com/testing-library/react-testing-library.git" + }, + "bugs": { + "url": "https://github.com/testing-library/react-testing-library/issues" + }, + "homepage": "https://github.com/testing-library/react-testing-library#readme" +} diff --git a/pure.js b/pure.js new file mode 100644 index 0000000..75dc045 --- /dev/null +++ b/pure.js @@ -0,0 +1,2 @@ +// makes it so people can import from '@testing-library/react/pure' +module.exports = require('./dist/pure') diff --git a/src/__mocks__/axios.js b/src/__mocks__/axios.js new file mode 100644 index 0000000..3097038 --- /dev/null +++ b/src/__mocks__/axios.js @@ -0,0 +1,8 @@ +module.exports = { + get: jest.fn(() => Promise.resolve({data: {}})), +} + +// Note: +// For now we don't need any other method (POST/PUT/PATCH), what we have already works fine. +// We will add more methods only if we need to. +// For reference please read: https://github.com/testing-library/react-testing-library/issues/2 diff --git a/src/__tests__/__snapshots__/render.js.snap b/src/__tests__/__snapshots__/render.js.snap new file mode 100644 index 0000000..eaf4144 --- /dev/null +++ b/src/__tests__/__snapshots__/render.js.snap @@ -0,0 +1,12 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`supports fragments 1`] = ` + +

+ +`; diff --git a/src/__tests__/act.js b/src/__tests__/act.js new file mode 100644 index 0000000..2adcee9 --- /dev/null +++ b/src/__tests__/act.js @@ -0,0 +1,45 @@ +import React from 'react' +import {render, fireEvent} from '../' + +test('render calls useEffect immediately', () => { + const effectCb = jest.fn() + function MyUselessComponent() { + React.useEffect(effectCb) + return null + } + render() + expect(effectCb).toHaveBeenCalledTimes(1) +}) + +test('findByTestId returns the element', async () => { + const ref = React.createRef() + const {findByTestId} = render(
) + expect(await findByTestId('foo')).toBe(ref.current) +}) + +test('fireEvent triggers useEffect calls', () => { + const effectCb = jest.fn() + function Counter() { + React.useEffect(effectCb) + const [count, setCount] = React.useState(0) + return + } + const { + container: {firstChild: buttonNode}, + } = render() + + effectCb.mockClear() + fireEvent.click(buttonNode) + expect(buttonNode).toHaveTextContent('1') + expect(effectCb).toHaveBeenCalledTimes(1) +}) + +test('calls to hydrate will run useEffects', () => { + const effectCb = jest.fn() + function MyUselessComponent() { + React.useEffect(effectCb) + return null + } + render(, {hydrate: true}) + expect(effectCb).toHaveBeenCalledTimes(1) +}) diff --git a/src/__tests__/auto-cleanup-skip.js b/src/__tests__/auto-cleanup-skip.js new file mode 100644 index 0000000..e5ef35a --- /dev/null +++ b/src/__tests__/auto-cleanup-skip.js @@ -0,0 +1,18 @@ +import React from 'react' + +let render +beforeAll(() => { + process.env.RTL_SKIP_AUTO_CLEANUP = 'true' + const rtl = require('../') + render = rtl.render +}) + +// This one verifies that if RTL_SKIP_AUTO_CLEANUP is set +// then we DON'T auto-wire up the afterEach for folks +test('first', () => { + render(
hi
) +}) + +test('second', () => { + expect(document.body.innerHTML).toEqual('
hi
') +}) diff --git a/src/__tests__/auto-cleanup.js b/src/__tests__/auto-cleanup.js new file mode 100644 index 0000000..1d0a795 --- /dev/null +++ b/src/__tests__/auto-cleanup.js @@ -0,0 +1,13 @@ +import React from 'react' +import {render} from '../' + +// This just verifies that by importing RTL in an +// environment which supports afterEach (like jest) +// we'll get automatic cleanup between tests. +test('first', () => { + render(
hi
) +}) + +test('second', () => { + expect(document.body.innerHTML).toEqual('') +}) diff --git a/src/__tests__/cleanup.js b/src/__tests__/cleanup.js new file mode 100644 index 0000000..ec2a057 --- /dev/null +++ b/src/__tests__/cleanup.js @@ -0,0 +1,28 @@ +import React from 'react' +import {render, cleanup} from '../' + +test('cleans up the document', () => { + const spy = jest.fn() + const divId = 'my-div' + + class Test extends React.Component { + componentWillUnmount() { + expect(document.getElementById(divId)).toBeInTheDocument() + spy() + } + + render() { + return
+ } + } + + render() + cleanup() + expect(document.body.innerHTML).toBe('') + expect(spy).toHaveBeenCalledTimes(1) +}) + +test('cleanup does not error when an element is not a child', () => { + render(
, {container: document.createElement('div')}) + cleanup() +}) diff --git a/src/__tests__/debug.js b/src/__tests__/debug.js new file mode 100644 index 0000000..ad3b859 --- /dev/null +++ b/src/__tests__/debug.js @@ -0,0 +1,39 @@ +import React from 'react' +import {render} from '../' + +beforeEach(() => { + jest.spyOn(console, 'log').mockImplementation(() => {}) +}) + +afterEach(() => { + console.log.mockRestore() +}) + +test('debug pretty prints the container', () => { + const HelloWorld = () =>

Hello World

+ const {debug} = render() + debug() + expect(console.log).toHaveBeenCalledTimes(1) + expect(console.log).toHaveBeenCalledWith( + expect.stringContaining('Hello World'), + ) +}) + +test('debug pretty prints multiple containers', () => { + const HelloWorld = () => ( + <> +

Hello World

+

Hello World

+ + ) + const {getAllByTestId, debug} = render() + const multipleElements = getAllByTestId('testId') + debug(multipleElements) + + expect(console.log).toHaveBeenCalledTimes(2) + expect(console.log).toHaveBeenCalledWith( + expect.stringContaining('Hello World'), + ) +}) + +/* eslint no-console:0 */ diff --git a/src/__tests__/end-to-end.js b/src/__tests__/end-to-end.js new file mode 100644 index 0000000..4cdfc32 --- /dev/null +++ b/src/__tests__/end-to-end.js @@ -0,0 +1,39 @@ +import React from 'react' +import {render, wait} from '../' + +const fetchAMessage = () => + new Promise(resolve => { + // we are using random timeout here to simulate a real-time example + // of an async operation calling a callback at a non-deterministic time + const randomTimeout = Math.floor(Math.random() * 100) + setTimeout(() => { + resolve({returnedMessage: 'Hello World'}) + }, randomTimeout) + }) + +class ComponentWithLoader extends React.Component { + state = {loading: true} + async componentDidMount() { + const data = await fetchAMessage() + this.setState({data, loading: false}) // eslint-disable-line + } + render() { + if (this.state.loading) { + return
Loading...
+ } + return ( +
+ Loaded this message: {this.state.data.returnedMessage}! +
+ ) + } +} + +test('it waits for the data to be loaded', async () => { + const {queryByText, queryByTestId} = render() + + expect(queryByText('Loading...')).toBeTruthy() + + await wait(() => expect(queryByText('Loading...')).toBeNull()) + expect(queryByTestId('message').textContent).toMatch(/Hello World/) +}) diff --git a/src/__tests__/events.js b/src/__tests__/events.js new file mode 100644 index 0000000..afe2193 --- /dev/null +++ b/src/__tests__/events.js @@ -0,0 +1,178 @@ +import React from 'react' +import {render, fireEvent} from '../' + +const eventTypes = [ + { + type: 'Clipboard', + events: ['copy', 'paste'], + elementType: 'input', + }, + { + type: 'Composition', + events: ['compositionEnd', 'compositionStart', 'compositionUpdate'], + elementType: 'input', + }, + { + type: 'Keyboard', + events: ['keyDown', 'keyPress', 'keyUp'], + elementType: 'input', + init: {keyCode: 13}, + }, + { + type: 'Focus', + events: ['focus', 'blur'], + elementType: 'input', + }, + { + type: 'Form', + events: ['focus', 'blur'], + elementType: 'input', + }, + { + type: 'Focus', + events: ['input', 'invalid'], + elementType: 'input', + }, + { + type: 'Focus', + events: ['submit'], + elementType: 'form', + }, + { + type: 'Mouse', + events: [ + 'click', + 'contextMenu', + 'doubleClick', + 'drag', + 'dragEnd', + 'dragEnter', + 'dragExit', + 'dragLeave', + 'dragOver', + 'dragStart', + 'drop', + 'mouseDown', + 'mouseEnter', + 'mouseLeave', + 'mouseMove', + 'mouseOut', + 'mouseOver', + 'mouseUp', + ], + elementType: 'button', + }, + { + type: 'Selection', + events: ['select'], + elementType: 'input', + }, + { + type: 'Touch', + events: ['touchCancel', 'touchEnd', 'touchMove', 'touchStart'], + elementType: 'button', + }, + { + type: 'UI', + events: ['scroll'], + elementType: 'div', + }, + { + type: 'Wheel', + events: ['wheel'], + elementType: 'div', + }, + { + type: 'Media', + events: [ + 'abort', + 'canPlay', + 'canPlayThrough', + 'durationChange', + 'emptied', + 'encrypted', + 'ended', + 'error', + 'loadedData', + 'loadedMetadata', + 'loadStart', + 'pause', + 'play', + 'playing', + 'progress', + 'rateChange', + 'seeked', + 'seeking', + 'stalled', + 'suspend', + 'timeUpdate', + 'volumeChange', + 'waiting', + ], + elementType: 'video', + }, + { + type: 'Image', + events: ['load', 'error'], + elementType: 'img', + }, + { + type: 'Animation', + events: ['animationStart', 'animationEnd', 'animationIteration'], + elementType: 'div', + }, + { + type: 'Transition', + events: ['transitionEnd'], + elementType: 'div', + }, +] + +eventTypes.forEach(({type, events, elementType, init}) => { + describe(`${type} Events`, () => { + events.forEach(eventName => { + const propName = `on${eventName.charAt(0).toUpperCase()}${eventName.slice( + 1, + )}` + + it(`triggers ${propName}`, () => { + const ref = React.createRef() + const spy = jest.fn() + + render( + React.createElement(elementType, { + [propName]: spy, + ref, + }), + ) + + fireEvent[eventName](ref.current, init) + expect(spy).toHaveBeenCalledTimes(1) + }) + }) + }) +}) + +test('onChange works', () => { + const handleChange = jest.fn() + const { + container: {firstChild: input}, + } = render() + fireEvent.change(input, {target: {value: 'a'}}) + expect(handleChange).toHaveBeenCalledTimes(1) +}) + +test('calling `fireEvent` directly works too', () => { + const handleEvent = jest.fn() + const { + container: {firstChild: button}, + } = render( + +
+ ) + } +} + +const wait = time => new Promise(resolve => setTimeout(resolve, time)) + +test('unmounts a component', async () => { + jest.spyOn(console, 'error').mockImplementation(() => {}) + const {unmount, getByText, container} = render() + fireEvent.click(getByText('Start')) + unmount() + // hey there reader! You don't need to have an assertion like this one + // this is just me making sure that the unmount function works. + // You don't need to do this in your apps. Just rely on the fact that this works. + expect(container.innerHTML).toBe('') + // just wait to see if the interval is cleared or not + // if it's not, then we'll call setState on an unmounted component + // and get an error. + // eslint-disable-next-line no-console + await wait(() => expect(console.error).not.toHaveBeenCalled()) +}) diff --git a/src/act-compat.js b/src/act-compat.js new file mode 100644 index 0000000..d758a97 --- /dev/null +++ b/src/act-compat.js @@ -0,0 +1,135 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import * as testUtils from 'react-dom/test-utils' + +const reactAct = testUtils.act +const actSupported = reactAct !== undefined + +// act is supported react-dom@16.8.0 +// so for versions that don't have act from test utils +// we do this little polyfill. No warnings, but it's +// better than nothing. +function actPolyfill(cb) { + ReactDOM.unstable_batchedUpdates(cb) + ReactDOM.render(
, document.createElement('div')) +} + +const act = reactAct || actPolyfill + +let youHaveBeenWarned = false +let isAsyncActSupported = null + +function asyncAct(cb) { + if (actSupported === true) { + if (isAsyncActSupported === null) { + return new Promise((resolve, reject) => { + // patch console.error here + const originalConsoleError = console.error + console.error = function error(...args) { + /* if console.error fired *with that specific message* */ + /* istanbul ignore next */ + const firstArgIsString = typeof args[0] === 'string' + if ( + firstArgIsString && + args[0].indexOf( + 'Warning: Do not await the result of calling ReactTestUtils.act', + ) === 0 + ) { + // v16.8.6 + isAsyncActSupported = false + } else if ( + firstArgIsString && + args[0].indexOf( + 'Warning: The callback passed to ReactTestUtils.act(...) function must not return anything', + ) === 0 + ) { + // no-op + } else { + originalConsoleError.apply(console, args) + } + } + let cbReturn, result + try { + result = reactAct(() => { + cbReturn = cb() + return cbReturn + }) + } catch (err) { + console.error = originalConsoleError + reject(err) + return + } + + result.then( + () => { + console.error = originalConsoleError + // if it got here, it means async act is supported + isAsyncActSupported = true + resolve() + }, + err => { + console.error = originalConsoleError + isAsyncActSupported = true + reject(err) + }, + ) + + // 16.8.6's act().then() doesn't call a resolve handler, so we need to manually flush here, sigh + + if (isAsyncActSupported === false) { + console.error = originalConsoleError + /* istanbul ignore next */ + if (!youHaveBeenWarned) { + // if act is supported and async act isn't and they're trying to use async + // act, then they need to upgrade from 16.8 to 16.9. + // This is a seemless upgrade, so we'll add a warning + console.error( + `It looks like you're using a version of react-dom that supports the "act" function, but not an awaitable version of "act" which you will need. Please upgrade to at least react-dom@16.9.0 to remove this warning.`, + ) + youHaveBeenWarned = true + } + + cbReturn.then(() => { + // a faux-version. + // todo - copy https://github.com/facebook/react/blob/master/packages/shared/enqueueTask.js + Promise.resolve().then(() => { + // use sync act to flush effects + act(() => {}) + resolve() + }) + }, reject) + } + }) + } else if (isAsyncActSupported === false) { + // use the polyfill directly + let result + act(() => { + result = cb() + }) + return result.then(() => { + return Promise.resolve().then(() => { + // use sync act to flush effects + act(() => {}) + }) + }) + } + // all good! regular act + return act(cb) + } + // use the polyfill + let result + act(() => { + result = cb() + }) + return result.then(() => { + return Promise.resolve().then(() => { + // use sync act to flush effects + act(() => {}) + }) + }) +} + +export default act +export {asyncAct} + +/* eslint no-console:0 */ diff --git a/src/flush-microtasks.js b/src/flush-microtasks.js new file mode 100644 index 0000000..a34b5e8 --- /dev/null +++ b/src/flush-microtasks.js @@ -0,0 +1,47 @@ +/* istanbul ignore file */ +// the part of this file that we need tested is definitely being run +// and the part that is not cannot easily have useful tests written +// anyway. So we're just going to ignore coverage for this file +/** + * copied from React's enqueueTask.js + */ + +let didWarnAboutMessageChannel = false +let enqueueTask +try { + // read require off the module object to get around the bundlers. + // we don't want them to detect a require and bundle a Node polyfill. + const requireString = `require${Math.random()}`.slice(0, 7) + const nodeRequire = module && module[requireString] + // assuming we're in node, let's try to get node's + // version of setImmediate, bypassing fake timers if any. + enqueueTask = nodeRequire('timers').setImmediate +} catch (_err) { + // we're in a browser + // we can't use regular timers because they may still be faked + // so we try MessageChannel+postMessage instead + enqueueTask = callback => { + if (didWarnAboutMessageChannel === false) { + didWarnAboutMessageChannel = true + // eslint-disable-next-line no-console + console.error( + typeof MessageChannel !== 'undefined', + 'This browser does not have a MessageChannel implementation, ' + + 'so enqueuing tasks via await act(async () => ...) will fail. ' + + 'Please file an issue at https://github.com/facebook/react/issues ' + + 'if you encounter this warning.', + ) + } + const channel = new MessageChannel() + channel.port1.onmessage = callback + channel.port2.postMessage(undefined) + } +} + +export default function flushMicroTasks() { + return { + then(resolve) { + enqueueTask(resolve) + }, + } +} diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..5e94267 --- /dev/null +++ b/src/index.js @@ -0,0 +1,16 @@ +import flush from './flush-microtasks' +import {cleanup} from './pure' + +// if we're running in a test runner that supports afterEach +// then we'll automatically run cleanup afterEach test +// this ensures that tests run in isolation from each other +// if you don't like this then either import the `pure` module +// or set the RTL_SKIP_AUTO_CLEANUP env variable to 'true'. +if (typeof afterEach === 'function' && !process.env.RTL_SKIP_AUTO_CLEANUP) { + afterEach(async () => { + await flush() + cleanup() + }) +} + +export * from './pure' diff --git a/src/pure.js b/src/pure.js new file mode 100644 index 0000000..1b1838b --- /dev/null +++ b/src/pure.js @@ -0,0 +1,157 @@ +import React from 'react' +import ReactDOM from 'react-dom' +import { + getQueriesForElement, + prettyDOM, + fireEvent as dtlFireEvent, + configure as configureDTL, +} from '@testing-library/dom' +import act, {asyncAct} from './act-compat' + +configureDTL({ + asyncWrapper: async cb => { + let result + await asyncAct(async () => { + result = await cb() + }) + return result + }, +}) + +const mountedContainers = new Set() + +function render( + ui, + { + container, + baseElement = container, + queries, + hydrate = false, + wrapper: WrapperComponent, + } = {}, +) { + if (!baseElement) { + // default to document.body instead of documentElement to avoid output of potentially-large + // head elements (such as JSS style blocks) in debug output + baseElement = document.body + } + if (!container) { + container = baseElement.appendChild(document.createElement('div')) + } + + // we'll add it to the mounted containers regardless of whether it's actually + // added to document.body so the cleanup method works regardless of whether + // they're passing us a custom container or not. + mountedContainers.add(container) + + const wrapUiIfNeeded = innerElement => + WrapperComponent + ? React.createElement(WrapperComponent, null, innerElement) + : innerElement + + act(() => { + if (hydrate) { + ReactDOM.hydrate(wrapUiIfNeeded(ui), container) + } else { + ReactDOM.render(wrapUiIfNeeded(ui), container) + } + }) + + return { + container, + baseElement, + debug: (el = baseElement) => + Array.isArray(el) + ? // eslint-disable-next-line no-console + el.forEach(e => console.log(prettyDOM(e))) + : // eslint-disable-next-line no-console, + console.log(prettyDOM(el)), + unmount: () => ReactDOM.unmountComponentAtNode(container), + rerender: rerenderUi => { + render(wrapUiIfNeeded(rerenderUi), {container, baseElement}) + // Intentionally do not return anything to avoid unnecessarily complicating the API. + // folks can use all the same utilities we return in the first place that are bound to the container + }, + asFragment: () => { + /* istanbul ignore if (jsdom limitation) */ + if (typeof document.createRange === 'function') { + return document + .createRange() + .createContextualFragment(container.innerHTML) + } + + const template = document.createElement('template') + template.innerHTML = container.innerHTML + return template.content + }, + ...getQueriesForElement(baseElement, queries), + } +} + +function cleanup() { + mountedContainers.forEach(cleanupAtContainer) +} + +// maybe one day we'll expose this (perhaps even as a utility returned by render). +// but let's wait until someone asks for it. +function cleanupAtContainer(container) { + ReactDOM.unmountComponentAtNode(container) + if (container.parentNode === document.body) { + document.body.removeChild(container) + } + mountedContainers.delete(container) +} + +// react-testing-library's version of fireEvent will call +// dom-testing-library's version of fireEvent wrapped inside +// an "act" call so that after all event callbacks have been +// been called, the resulting useEffect callbacks will also +// be called. +function fireEvent(...args) { + let returnValue + act(() => { + returnValue = dtlFireEvent(...args) + }) + return returnValue +} + +Object.keys(dtlFireEvent).forEach(key => { + fireEvent[key] = (...args) => { + let returnValue + act(() => { + returnValue = dtlFireEvent[key](...args) + }) + return returnValue + } +}) + +// React event system tracks native mouseOver/mouseOut events for +// running onMouseEnter/onMouseLeave handlers +// @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/EnterLeaveEventPlugin.js#L24-L31 +fireEvent.mouseEnter = fireEvent.mouseOver +fireEvent.mouseLeave = fireEvent.mouseOut + +fireEvent.select = (node, init) => { + // React tracks this event only on focused inputs + node.focus() + + // React creates this event when one of the following native events happens + // - contextMenu + // - mouseUp + // - dragEnd + // - keyUp + // - keyDown + // so we can use any here + // @link https://github.com/facebook/react/blob/b87aabdfe1b7461e7331abb3601d9e6bb27544bc/packages/react-dom/src/events/SelectEventPlugin.js#L203-L224 + fireEvent.keyUp(node, init) +} + +// just re-export everything from dom-testing-library +export * from '@testing-library/dom' +export {render, cleanup, fireEvent, act} + +// NOTE: we're not going to export asyncAct because that's our own compatibility +// thing for people using react-dom@16.8.0. Anyone else doesn't need it and +// people should just upgrade anyway. + +/* eslint func-name-matching:0 */ diff --git a/tests/setup-env.js b/tests/setup-env.js new file mode 100644 index 0000000..264828a --- /dev/null +++ b/tests/setup-env.js @@ -0,0 +1 @@ +import '@testing-library/jest-dom/extend-expect'