CINXE.COM

Inventions and Innovations | The Canadian Encyclopedia

<!DOCTYPE html> <html lang="en"> <head> <!-- Google Tag Manager --> <script async> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NT3GRKD'); </script> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-NT3GRKD" height="0" width="0" style="display:none;visibility:hidden" ></iframe> </noscript> <!-- End Google Tag Manager --> <!-- Push user ID --> <script> if (document.querySelector('.mainUserSubMenu') !== null) { dataLayer.push({ 'userID': '' }); } </script> <script> const Laravel = { csrfToken: "67QHGLafIRVNbsvH0DQ9cZRX68cSLSA7bcVH8Uul", locale: "en" }; </script> <title>Inventions and Innovations | The Canadian Encyclopedia</title> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="manifest" href="https://www.thecanadianencyclopedia.ca/manifest.json"> <meta name="description" content="History, politics, arts, science &amp; more: the Canadian Encyclopedia is your reference on Canada. Articles, timelines &amp; resources for teachers, students &amp; public."> <link rel="apple-touch-icon" sizes="57x57" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-57x57.png?v=f22552fe571739798798bb695565903f"> <link rel="apple-touch-icon" sizes="60x60" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-60x60.png?v=f417df6dda9ce41f908afc590778f94b"> <link rel="apple-touch-icon" sizes="72x72" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-72x72.png?v=3af0c2e4ca8c973438f91f44e7a58d6c"> <link rel="apple-touch-icon" sizes="76x76" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-76x76.png?v=41438835e152256cf9b311eb7eb116c0"> <link rel="apple-touch-icon" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-precomposed.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="apple-touch-icon" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="apple-touch-icon" sizes="114x114" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-114x114.png?v=91501eda47ce85d33e0feae1630a4e99"> <link rel="apple-touch-icon" sizes="120x120" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-120x120.png?v=43adb2769c1827f1dda68db736544ec4"> <link rel="apple-touch-icon" sizes="144x144" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-144x144.png?v=670a8df278b4101e8bf081d7b9ebb258"> <link rel="apple-touch-icon" sizes="152x152" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-152x152.png?v=db581da4dde2d406e52a132691b14680"> <link rel="apple-touch-icon" sizes="180x180" href="https://www.thecanadianencyclopedia.ca/images/favicon/apple-icon-180x180.png?v=8d4920caa59ad54fb454f2cd80ebfc1c"> <link rel="icon" type="image/png" sizes="192x192" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-192x192.png?v=6d047b2f33e6b90d2af0b41ac01b0566"> <link rel="icon" type="image/png" sizes="36x36" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-36x36.png?v=3e9842d534281da81a0f4b4c81a17592"> <link rel="icon" type="image/png" sizes="48x48" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-48x48.png?v=7eb74dc9409ece0737d81a8ba5841bf7"> <link rel="icon" type="image/png" sizes="72x72" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-72x72.png?v=3af0c2e4ca8c973438f91f44e7a58d6c"> <link rel="icon" type="image/png" sizes="36x36" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-36x36.png?v=3e9842d534281da81a0f4b4c81a17592"> <link rel="icon" type="image/png" sizes="44x44" href="https://www.thecanadianencyclopedia.ca/images/favicon/android-icon-44x44.png"> <link rel="icon" type="image/png" sizes="96x96" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-96x96.png?v=a46206812744ada382bc23a1bc4f1357"> <link rel="icon" type="image/png" sizes="96x96" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-96x96.png?v=a46206812744ada382bc23a1bc4f1357"> <link rel="icon" type="image/png" sizes="16x16" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon-16x16.png?v=ff43d9c7c67bb75a3d9a471a65e6724f"> <link rel="manifest" href="https://www.thecanadianencyclopedia.ca/images/favicon/manifest.json?v=de0c530598b698ec2dbe765b440b7479"> <meta name="msapplication-TileColor" content="#ffffff"> <meta name="msapplication-TileImage" content="/ms-icon-144x144.png')}}"> <meta name="theme-color" content="#ffffff"> <link rel="shortcut icon" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon.ico?v=45c5ae5e358dcde8acbbf3140859fb18" type="image/x-icon"> <link rel="icon" href="https://www.thecanadianencyclopedia.ca/images/favicon/favicon.ico?v=45c5ae5e358dcde8acbbf3140859fb18" type="image/x-icon"> <link rel="canonical" href="https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations"> <link rel="alternate" hreflang="fr" href="https://www.thecanadianencyclopedia.ca/fr/naviguer/choses/science-technologie/inventions-et-innovations"> <!-- preload fonts --> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Roman.ttf?v=da5cf4834925266e3fe9373d7c20987a" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Bold.ttf?v=3ad7881260304548a929a8add091efad" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-Italic.ttf?v=a670bc7591f940131b96c1427a8bfcf9" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/publico/Publico-BoldItalic.ttf?v=1e6ee343e8f0d8d4784e7adaf55be5ed" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Roman.ttf?v=c4ed2390b8880049113ca6b174e5393e" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Heavy.ttf?v=6880b7f440fee3d3d23778d295fda4fc" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-Oblique.ttf?v=b934234a7cf41ebc3b0ed646c856d94a" as="font" type="font/ttf" crossorigin> <link rel="preload" href="https://www.thecanadianencyclopedia.ca/fonts/avenir/Avenir-HeavyOblique.ttf?v=86f5c8cc80dbc9fdac444dacf0798808" as="font" type="font/ttf" crossorigin> <!-- end preload fonts --> <link rel="stylesheet" type="text/css" href="https://www.thecanadianencyclopedia.ca/css/styles.css?v=d49542238e3b3e929d3830648a711e8e"> <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.20.0/ui/trumbowyg.min.css"> <script> // Polyfill if IE11 var isIE11 = !!window.MSInputMethodContext && !!document.documentMode; if (isIE11) { document.write('<script src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.min.js"><\/script>'); } if ('serviceWorker' in navigator ) { window.addEventListener('load', function() { navigator.serviceWorker.register('/service-worker.js').then(function(registration) { // Registration was successful console.log('ServiceWorker registration successful with scope: ', registration.scope); }, function(err) { // registration failed :( console.log('ServiceWorker registration failed: ', err); }); }); } </script> <script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script> </head> <body id="body" data-lang="en" class="haveSidebar en browsepage "> <script> const Laravel = { csrfToken: "67QHGLafIRVNbsvH0DQ9cZRX68cSLSA7bcVH8Uul", locale: "en" }; </script> <header id="header" class="header"> <nav class="nav" role="navigation"> <div class="nav-menu--top"> <div class="nav-logo--en"> <a aria-label="The Canadian Encyclopedia homepage" class="nav-logo__link" href="https://www.thecanadianencyclopedia.ca/en"> </a> </div> <button class="nav-icon--search js-search-tab" aria-label="Search in Canadian Encyclopedia"></button> <button id="nav-menu-toggle" class="nav-icon--hamburger-menu" aria-label="open main navigation"> <div class="icon-container"> <span class="top"></span> <span class="middle"></span> <span class="bottom"></span> </div> </button> </div> <div id="nav-mid" class="nav-menu--mid"> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> topics </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--topics dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <section id="People" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/people" aria-label="Browse topic: People"> People </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section People"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> <section id="Places" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/places" aria-label="Browse topic: Places"> Places </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section Places"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> <section id="Things" class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <div class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/browse/things" aria-label="Browse topic: Things"> Things </a> <button class="sub-menu__button dropdown-toggler accordion-toggler" aria-label="expand section Things"> <span class="toggle-icon"></span> </button> </div> <ul class="sub-menu nested dropdown-body" aria-expanded="false"> </ul> </section> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Collections </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/collections"> All Collections </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/the-memory-project"> The Memory Project </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/cdc"> Canada During Covid </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x479/MemoryProject/TCECollectionArchiveCollage-2.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x479/MemoryProject/TCECollectionArchiveCollage-2.png" alt="" /> </div> <a href="https://www.thecanadianencyclopedia.ca/en/collection/the-memory-project-archive-collection" class="sub-menu__image__link"> Explore the The Memory Project Archive collection <span class="link-arrow"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Educators </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#education-guides"> Education Guides </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#primary-sources"> Primary Sources </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/educators#interactive-resources"> Interactive Resources </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/cc-quiz-citizenship"> The Challenge </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/cc_43.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/cc_43.png" alt="" /> </div> <a href="https://www.thecanadianencyclopedia.ca/en/collection/citizenship" class="sub-menu__image__link"> Explore the Citizenship Challenge collection <span class="link-arrow"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Timelines </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines"> All Timelines </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/people"> People </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/places"> Places </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/timelines/things"> Things </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/49936680-e046-4501-8593-85b8bc94d071.jpg" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/media/media/49936680-e046-4501-8593-85b8bc94d071.jpg" alt=""/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/timeline/lgbtq2" class="sub-menu__image__link">Explore the 2SLGBTQ+ History timeline <span class="link-arrow" aria-hidden="true"></span> </a> </div> </div> </div> </section> <section class="nav-menu--mid__item dropdown-group"> <button class="nav-menu--mid__item__heading dropdown-toggler" aria-haspopup="true" > <span class="top-level-link"> Quizzes </span> <span class="toggle-icon"></span> </button> <div class="sub-menu--cta dropdown-body" aria-expanded="false"> <div class="sub-menu__container"> <ul class="sub-menu__wrapper nav-menu--mid__item dropdown-group"> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quizzes"> Quizzes </a> </li> <li class="sub-menu__heading"> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/cc-quiz-citizenship"> The Challenge </a> </li> </ul> <div class="sub-menu__image"> <div class="image-container"> <img src="https://d14fiu1i7ba797.cloudfront.net/950x579/can_quiz.png" data-src="https://d14fiu1i7ba797.cloudfront.net/950x579/can_quiz.png" alt=""/> </div> <a href="https://www.thecanadianencyclopedia.ca/en/quiz/timeline" class="sub-menu__image__link">Timeline <span class="link-arrow"></span> </a> </div> </div> </div> </section> <button class="nav-icon--search js-search-tab" aria-label="Search in Canadian Encyclopedia"></button> </div> <ul id="nav-low" class="nav-menu--low"> <li class="nav-menu--low__item"> <a class="articleNavPopupEvent btn-login nav-link" href="#" data-target="popup-login" data-toggle="modal" aria-haspopup="dialog"> Sign in </a> </li> <li class="nav-menu--low__item"> <a class="nav-link help-btn" href="/en/about/faq" id="nav-help"> <i class="i-help"></i>Help </a> </li> <li class="nav-menu--low__item--btn"> <a class="b b-sm b-monochrome b-icon-heart" href="https://www.thecanadianencyclopedia.ca/en/donate" target="_blank"> Donate </a> </li> <li class="nav-menu--low__item--lang-toggle"> <a class="nav-link" href="https://www.thecanadianencyclopedia.ca/fr/naviguer/choses/science-technologie/inventions-et-innovations" aria-label="Toggle site language">fr</a> </li> </ul> </nav> </header> <div id="search" class="searchContainer" > <div class="searchPanel"> <div class="searchPanel-head"> <img src="https://www.thecanadianencyclopedia.ca/images/logo-tce.svg?v=96550f8de20f4537bc4ad37b01dff7f1" alt="The Canadian Encyclopedia"> <h2 class="searchPanel-title">Search The Canadian Encyclopedia</h2> </div> <div class="searchPanel-input-wrap"> <form id="form-search" name="form-search" method="get" data-action="https://www.thecanadianencyclopedia.ca/en/search"> <input data-getsearchroute="https://www.thecanadianencyclopedia.ca/en/json/search" name="query" type="text" class="input-search input-xl input-fullSpan searchPanel-input" id="inputSearch" /> <button class="searchPanel-searchBtn"> <img src="https://www.thecanadianencyclopedia.ca/images/i-search.svg?v=a1e99ea3dd07831352832b022428584e" alt="Search"> </button> <button class="searchPanel-exit"> <img src="https://www.thecanadianencyclopedia.ca/images/i-exit.svg?v=2601c4155c28e62e1eb2ebc7de9bd1ee" alt="Exit search"> </button> </form> <ul class="search-results"> </ul> </div> <p aria-hidden="true" role="alert" class="searchPanel-errorMsg">Enter your search term</p> <div></div> </div> </div> <div id="popup-login" class="modal"> <div class="popup-wrapper"> <div class="popup-content"> <div class="popup-connect"> <h2 class="popup-title">Login</h2> <form method="POST" action="https://www.thecanadianencyclopedia.ca/en/members" accept-charset="UTF-8" id="tceLogin" class="form"><input name="_token" type="hidden" value="67QHGLafIRVNbsvH0DQ9cZRX68cSLSA7bcVH8Uul"> <div class="input-group"> <div class="input-group"> <input class="form-login-email form-control input input-fullSpan" placeholder="Email" name="email" type="email" value=""> <span class="glyphicon glyphicon-envelope form-control-feedback"></span> </div> <div class="input-group"> <input class="form-login-password form-control form-password input input-fullSpan" placeholder="Password" name="password" type="password" value=""> <span class="glyphicon glyphicon-envelope form-control-feedback"></span> </div> </div> <div class="js-login-error error"></div> <div class="popup-login-option"> <div class="popup-helpers-container"> <div class="form-remember"> <input name="remember_me" type="checkbox" value="1"> <label for="remember_me">Remember me</label> </div> <div class="form-forgot-pass"> <a href="https://www.thecanadianencyclopedia.ca/auth/password/reset" class="b-link">I forgot my password</a><br> </div> </div> <input class="b b-md b-invert btn-login-submit" type="submit" value="Submit"> <p class="text-line">or</p> <a href="https://www.thecanadianencyclopedia.ca/auth/facebook" class="btn btn-facebook"><img src="https://www.thecanadianencyclopedia.ca/images/i-facebook-white.svg?v=3decbb62f20c49bf2a86d220cbf213d8" alt="Share on Facebook" title="Share on Facebook"> Login With Facebook</a> <a href="https://www.thecanadianencyclopedia.ca/auth/twitter" class="btn btn-twitter"><img src="https://www.thecanadianencyclopedia.ca/images/i-twitter-x-white.svg?v=762dd4e2da316070386a19085588add2" alt="Share on X" title="Share on X"> Login With X</a> </div> </form> </div> <div class="popup-body login-popup-body"> <a class="popup-close" data-dismiss="modal"></a> <h3>Why sign up?</h3> <p>Signing up enhances your TCE experience with the ability to save items to your personal reading list, and access the interactive map.</p> <a href="https://www.thecanadianencyclopedia.ca/en/members/register" class="b b-md b-primary">Create Account </a> </div> </div> </div> </div> <div class="sidebarGrid"> <div class="sidebarContainerDesktop"> <aside class="sb-anchor sb-browse"> <input type="hidden" class="sidebarActiveElem" value='["d775e412-5c51-43b7-bd3b-af7378bb333b","adf7e497-fe5a-4aaf-920c-423b1d2a5a66","efb96394-79d0-4974-924a-2cf70714d55c"]'> <sidebar sb-header="Browse by category"> <div class='sb-cat-top sb-group' data-id='people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people'><span>People</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architects-builders-planners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/architects-builders-planners'><span>Architects, Builders & Planners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='artists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/artists'><span>Artists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='classical-musicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/classical-musicians'><span>Classical Musicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='composers-and-conductors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/composers-and-conductors'><span>Composers and Conductors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/educators'><span>Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='film-television'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/film-television'><span>Film & Television</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='food-cuisine'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/food-cuisine'><span>Food/Cuisine</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities-in-the-arts-diverse-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/minorities-in-the-arts-diverse-communities'><span>Minorities in the Arts/ Diverse Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-educators'><span>Music Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-groups'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-groups'><span>Music Groups</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/music-industry'><span>Music Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='musicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/musicians'><span>Musicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='performers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/performers'><span>Performers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='radio'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/radio'><span>Radio</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='singers-songwriters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/singers-songwriters'><span>Singers & Songwriters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='theatre'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/theatre'><span>Theatre</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/women'><span>Women</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='writers-academics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/arts-culture/writers-academics'><span>Writers & Academics</span></a></div></div></div><div class='sb-subcat sb-group' data-id='business-economics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics'><span>Business & Economics</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='businessmen'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/businessmen'><span>Businessmen</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='businesswomen'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/businesswomen'><span>Businesswomen</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/economists'><span>Economists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='entrepreneurs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/entrepreneurs'><span>Entrepreneurs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='philanthropists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/business-economics/philanthropists'><span>Philanthropists</span></a></div></div></div><div class='sb-subcat sb-group' data-id='communities-sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology'><span>Communities & Sociology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='american-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/american-canadians'><span>American Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='arab-and-middle-east-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/arab-and-middle-east-canadians'><span>Arab and Middle-East Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='asian-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/asian-canadians'><span>Asian Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='black-and-african-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/black-and-african-canadians'><span>Black and African Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/education'><span>Education</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='european-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/european-canadians'><span>European Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='faith-based-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/faith-based-communities'><span>Faith-based Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='francophones'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/francophones'><span>Francophones</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/historical-figures'><span>Historical Figures</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigrants-and-refugees'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/immigrants-and-refugees'><span>Immigrants and Refugees</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lgbtq2s'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/lgbtq2s'><span>LGBTQ2S</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='latin-american-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/latin-american-canadians'><span>Latin American Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='leaders-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/leaders-activists'><span>Leaders & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/communities-sociology/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education'><span>Education</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='archivists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/archivists'><span>Archivists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='curators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/curators'><span>Curators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/historians'><span>Historians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lgbtq2s'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/lgbtq2s'><span>LGBTQ2S</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teachers-educators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/teachers-educators'><span>Teachers & Educators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/education/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='history-historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures'><span>History/Historical Figures</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='atlantic-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/atlantic-canada'><span>Atlantic Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='confederation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/confederation'><span>Confederation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='fur-trade'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/fur-trade'><span>Fur Trade</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/indigenous-people'><span>Indigenous People</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lower-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/lower-canada'><span>Lower Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/military'><span>Military</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-france'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/new-france'><span>New France</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='upper-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/upper-canada'><span>Upper Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='western-and-northwestern-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/western-and-northwestern-canada'><span>Western and Northwestern Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/history-historical-figures/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='air-force'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/air-force'><span>Air Force</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='army'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/army'><span>Army</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-asian-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-asian-canadians'><span>Asian Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='black-canadians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/black-canadians'><span>Black Canadians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='british-colonial-forces'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/british-colonial-forces'><span>British Colonial Forces</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/colonial'><span>Colonial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='first-world-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/first-world-war'><span>First World War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-peoples'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/indigenous-peoples'><span>Indigenous Peoples</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='korean-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/korean-war'><span>Korean War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='medical-personnel'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/medical-personnel'><span>Medical Personnel</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='navy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/navy'><span>Navy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='north-west-rebellion'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/north-west-rebellion'><span>North-West Rebellion</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peacekeeping-and-the-united-nations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/peacekeeping-and-the-united-nations'><span>Peacekeeping and the United Nations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-prisoners-of-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-prisoners-of-war'><span>Prisoners of War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='second-world-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/second-world-war'><span>Second World War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='south-african-war'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/south-african-war'><span>South African War</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='victoria-cross-recipients'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/victoria-cross-recipients'><span>Victoria Cross Recipients</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-war-brides'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/mp-war-brides'><span>War Brides</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='war-in-afghanistan'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/war-in-afghanistan'><span>War in Afghanistan</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/military/women'><span>Women</span></a></div></div></div><div class='sb-subcat sb-group' data-id='nature-geography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography'><span>Nature & Geography</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='biologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/biologists'><span>Biologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/chemists'><span>Chemists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/earth-scientists'><span>Earth scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='environmentalists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/environmentalists'><span>Environmentalists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geographers-cartographers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/geographers-cartographers'><span>Geographers & Cartographers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physicists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/physicists'><span>Physicists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='zoologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/nature-geography/zoologists'><span>Zoologists</span></a></div></div></div><div class='sb-subcat sb-group' data-id='politics-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law'><span>Politics & Law</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='civil-servants'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/civil-servants'><span>Civil Servants</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commissioners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/commissioners'><span>Commissioners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='criminals-and-outlaws'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/criminals-and-outlaws'><span>Criminals and Outlaws</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='diplomats-ambassadors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/diplomats-ambassadors'><span>Diplomats & Ambassadors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='governor-generals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/governor-generals'><span>Governor Generals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-people'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/indigenous-people'><span>Indigenous People</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='judges'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/judges'><span>Judges</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='labour-leaders'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/labour-leaders'><span>Labour Leaders</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-enforcement'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/law-enforcement'><span>Law Enforcement</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lawyers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/lawyers'><span>Lawyers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lieutenant-governors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/lieutenant-governors'><span>Lieutenant-Governors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/political-scientists'><span>Political Scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='politicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/politicians'><span>Politicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='premiers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/premiers'><span>Premiers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prime-ministers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/prime-ministers'><span>Prime Ministers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rebels-and-resistance-leaders'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/rebels-and-resistance-leaders'><span>Rebels and Resistance Leaders</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='reformers-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/reformers-activists'><span>Reformers & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='royals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/royals'><span>Royals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='senators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/senators'><span>Senators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='spies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/spies'><span>Spies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/women'><span>Women</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='wrongly-convicted'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/politics-law/wrongly-convicted'><span>Wrongly Convicted</span></a></div></div></div><div class='sb-subcat sb-group' data-id='science-technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology'><span>Science & Technology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architects-builders-planners'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/architects-builders-planners'><span>Architects, Builders & Planners</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='astronauts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/astronauts'><span>Astronauts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='aviators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/aviators'><span>Aviators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='biologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/biologists'><span>Biologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/chemists'><span>Chemists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='computer-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/computer-scientists'><span>Computer Scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/earth-scientists'><span>Earth scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='engineers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/engineers'><span>Engineers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='explorers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/explorers'><span>Explorers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geographers-cartographers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/geographers-cartographers'><span>Geographers & Cartographers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='health-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/health-scientists'><span>Health scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='healthcare-professionals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/healthcare-professionals'><span>Healthcare professionals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-figures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/historical-figures'><span>Historical figures</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inventors-and-innovators'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/inventors-and-innovators'><span>Inventors and Innovators</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mathematicians'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/mathematicians'><span>Mathematicians</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities-in-stem'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/minorities-in-stem'><span>Minorities in STEM</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='paleontologists-archaeologists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/paleontologists-archaeologists'><span>Paleontologists & Archaeologists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physicists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/physicists'><span>Physicists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='reformers-activists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/reformers-activists'><span>Reformers & Activists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-scientists'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/social-scientists'><span>Social scientists</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women-in-stem'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/science-technology/women-in-stem'><span>Women in STEM</span></a></div></div></div><div class='sb-subcat sb-group' data-id='sports-recreation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation'><span>Sports & Recreation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='athletes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/athletes'><span>Athletes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='coaches-and-managers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/coaches-and-managers'><span>Coaches and Managers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='competitors'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/competitors'><span>Competitors</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='minorities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/minorities'><span>Minorities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='women'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/people/sports-recreation/women'><span>Women</span></a></div></div></div></div><div class='sb-cat-top sb-group' data-id='places'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places'><span>Places</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architecture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/architecture'><span>Architecture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='halls-theatres'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/halls-theatres'><span>Halls & Theatres</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='museums-galleries-archives'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/museums-galleries-archives'><span>Museums, Galleries & Archives</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='schools-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/arts-culture/schools-institutions'><span>Schools & Institutions</span></a></div></div></div><div class='sb-subcat sb-group' data-id='buildings-monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments'><span>Buildings & Monuments</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architectural-landmarks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/architectural-landmarks'><span>Architectural Landmarks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='buildings'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/buildings'><span>Buildings</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='cenotaphs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/cenotaphs'><span>Cenotaphs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hospitals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/hospitals'><span>Hospitals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='memorials'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/memorials'><span>Memorials</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/monuments'><span>Monuments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='province'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/province'><span>Province</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='stadiums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/stadiums'><span>Stadiums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='territory'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/buildings-monuments/territory'><span>Territory</span></a></div></div></div><div class='sb-subcat sb-group' data-id='cities-populated-places'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places'><span>Cities & Populated Places</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='cities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/cities'><span>Cities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='districts-and-municipalities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/districts-and-municipalities'><span>Districts and municipalities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='indigenous-reserves-settlements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/indigenous-reserves-settlements'><span>Indigenous Reserves & Settlements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='neighbourhoods'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/neighbourhoods'><span>Neighbourhoods</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='towns'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/towns'><span>Towns</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='villages'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/cities-populated-places/villages'><span>Villages</span></a></div></div></div><div class='sb-subcat sb-group' data-id='geographical-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features'><span>Geographical features</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='boundaries-geographical-names'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/boundaries-geographical-names'><span>Boundaries & Geographical Names</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='capes-peninsulas'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/capes-peninsulas'><span>Capes & Peninsulas</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='coastal-regions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/coastal-regions'><span>Coastal Regions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inland-waters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/inland-waters'><span>Inland Waters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='islands'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/islands'><span>Islands</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lakes-reservoirs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/lakes-reservoirs'><span>Lakes & Reservoirs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='land-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/land-features'><span>Land Features</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='landforms'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/landforms'><span>Landforms</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mountains'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/mountains'><span>Mountains</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='oceans'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/oceans'><span>Oceans</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='passes-trails'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/passes-trails'><span>Passes & Trails</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peninsulas'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/peninsulas'><span>Peninsulas</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prairie'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/prairie'><span>Prairie</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='regions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/regions'><span>Regions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rivers'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/rivers'><span>Rivers</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='valleys'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/valleys'><span>Valleys</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='waterfalls'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/geographical-features/waterfalls'><span>Waterfalls</span></a></div></div></div><div class='sb-subcat sb-group' data-id='historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites'><span>Historic sites</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='archeological-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/archeological-sites'><span>Archeological sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='exploration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/exploration'><span>Exploration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='heritage-buildings'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/heritage-buildings'><span>Heritage buildings</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national-historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/national-historic-sites'><span>National historic sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/provincial-historic-sites'><span>Provincial historic sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='traditional-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/traditional-territories'><span>Traditional Territories</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unesco-world-heritage-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/historic-sites/unesco-world-heritage-sites'><span>UNESCO World Heritage Sites</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='battlefields'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/battlefields'><span>Battlefields</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='canadian-forces-bases'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/canadian-forces-bases'><span>Canadian Forces Bases</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='memorials'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/memorials'><span>Memorials</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='monuments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/military/monuments'><span>Monuments</span></a></div></div></div><div class='sb-subcat sb-group' data-id='parks-nature-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves'><span>Parks & Nature Reserves</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='canals-waterways'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/canals-waterways'><span>Canals & Waterways</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='city-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/city-parks'><span>City parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/national-parks'><span>National parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nature-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/nature-reserves'><span>Nature Reserves</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-parks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/provincial-parks'><span>Provincial parks</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unesco-world-biosphere-reserves'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/parks-nature-reserves/unesco-world-biosphere-reserves'><span>UNESCO World Biosphere Reserves</span></a></div></div></div><div class='sb-subcat sb-group' data-id='provinces-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories'><span>Provinces & Territories</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='alberta'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/alberta'><span>Alberta</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='british-columbia'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/british-columbia'><span>British Columbia</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='manitoba'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/manitoba'><span>Manitoba</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-brunswick'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/new-brunswick'><span>New Brunswick</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='newfoundland-and-labrador'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/newfoundland-and-labrador'><span>Newfoundland and Labrador</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='northwest-territories'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/northwest-territories'><span>Northwest Territories</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nova-scotia'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/nova-scotia'><span>Nova Scotia</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='nunavut'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/nunavut'><span>Nunavut</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='ontario'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/ontario'><span>Ontario</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prince-edward-island'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/prince-edward-island'><span>Prince Edward Island</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='quebec'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/quebec'><span>Quebec</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='saskatchewan'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/saskatchewan'><span>Saskatchewan</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='yukon-territory'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/provinces-territories/yukon-territory'><span>Yukon Territory</span></a></div></div></div><div class='sb-subcat sb-group' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation'><span>Transportation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='airports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/airports'><span>Airports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='bridges'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/bridges'><span>Bridges</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='passes-trails'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/passes-trails'><span>Passes & Trails</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='railroad'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/railroad'><span>Railroad</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='roads-highways'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/roads-highways'><span>Roads & Highways</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='waterways-docks'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/places/transportation/waterways-docks'><span>Waterways & Docks</span></a></div></div></div></div><div class='sb-cat-top sb-group' data-id='things'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things'><span>Things</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-group' data-id='arts-culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture'><span>Arts & Culture</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='architecture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/architecture'><span>Architecture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='awards'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/awards'><span>Awards</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='communications'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/communications'><span>Communications</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='culture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/culture'><span>Culture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='dance'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/dance'><span>Dance</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='entertainment'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/entertainment'><span>Entertainment</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='festivals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/festivals'><span>Festivals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='food'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/food'><span>Food</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='literature'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/literature'><span>Literature</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/music'><span>Music</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-movements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/organizations-movements'><span>Organizations & Movements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='performances'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/performances'><span>Performances</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='religion-philosophy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/religion-philosophy'><span>Religion & Philosophy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='visual-art'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/arts-culture/visual-art'><span>Visual Art</span></a></div></div></div><div class='sb-subcat sb-group' data-id='business-economics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics'><span>Business & Economics</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='companies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/companies'><span>Companies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/economy'><span>Economy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='finance'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/finance'><span>Finance</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='laws-programs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/laws-programs'><span>Laws & Programs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='money'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/money'><span>Money</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/policy'><span>Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='public-utility'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/public-utility'><span>Public Utility</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='taxation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/taxation'><span>Taxation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='trade'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/trade'><span>Trade</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unions-labour'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/business-economics/unions-labour'><span>Unions & Labour</span></a></div></div></div><div class='sb-subcat sb-group' data-id='communities-sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology'><span>Communities & Sociology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='crime'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/crime'><span>Crime</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='demography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/demography'><span>Demography</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/disasters'><span>Disasters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='diverse-communities'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/diverse-communities'><span>Diverse Communities</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='holidays-commemoration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/holidays-commemoration'><span>Holidays & Commemoration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/immigration'><span>Immigration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='languages'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/languages'><span>Languages</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-movements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/organizations-movements'><span>Organizations & Movements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='prejudice'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/prejudice'><span>Prejudice</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='protests'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/protests'><span>Protests</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='religion'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/religion'><span>Religion</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='royal-commissions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/royal-commissions'><span>Royal Commissions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-events'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-events'><span>Social Events</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-issues'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-issues'><span>Social Issues</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-laws-programs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-laws-programs'><span>Social Laws & Programs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-trends'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/social-trends'><span>Social Trends</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='sociology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/sociology'><span>Sociology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='unions-labour-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/unions-labour-organizations'><span>Unions & Labour Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='urban-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/communities-sociology/urban-affairs'><span>Urban Affairs</span></a></div></div></div><div class='sb-subcat sb-group' data-id='education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education'><span>Education</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='educational-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/educational-institutions'><span>Educational Institutions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='interactive-resources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/interactive-resources'><span>Interactive Resources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='libraries-library-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/libraries-library-science'><span>Libraries & Library Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='music-education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/music-education'><span>Music Education</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='primary-sources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/primary-sources'><span>Primary Sources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teaching-and-learning'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/teaching-and-learning'><span>Teaching and Learning</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='types-of-education'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/education/types-of-education'><span>Types of Education</span></a></div></div></div><div class='sb-subcat sb-group' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history'><span>History</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='atlantic-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/atlantic-canada'><span>Atlantic Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='business'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/business'><span>Business</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='classics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/classics'><span>Classics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/colonies'><span>Colonies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commemorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/commemorations'><span>Commemorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='constitution'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/constitution'><span>Constitution</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/disasters'><span>Disasters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='economic'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/economic'><span>Economic</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='exploration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/exploration'><span>Exploration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='firsts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/firsts'><span>Firsts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='folklore'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/folklore'><span>Folklore</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historic-sites'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/historic-sites'><span>Historic Sites</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='historical-theses'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/historical-theses'><span>Historical Theses</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='lower-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/lower-canada'><span>Lower Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='medals-emblems-heraldry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/medals-emblems-heraldry'><span>Medals, Emblems & Heraldry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/military'><span>Military</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='national'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/national'><span>National</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='new-france'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/new-france'><span>New France</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='politics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/politics'><span>Politics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/provincial'><span>Provincial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rebellions-riots'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/rebellions-riots'><span>Rebellions & Riots</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='regional'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/regional'><span>Regional</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='social-history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/social-history'><span>Social History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='territorial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/territorial'><span>Territorial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='upper-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/upper-canada'><span>Upper Canada</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='western-and-northwestern-canada'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/history/western-and-northwestern-canada'><span>Western and Northwestern Canada</span></a></div></div></div><div class='sb-subcat sb-group' data-id='military'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military'><span>Military</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='mp-air-force'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-air-force'><span>Air Force</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-aircraft'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-aircraft'><span>Aircraft</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-armaments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-armaments'><span>Armaments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='armed-forces'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/armed-forces'><span>Armed Forces</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-armoured-vehicles'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-armoured-vehicles'><span>Armoured Vehicles</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-army'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-army'><span>Army</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='colonial'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/colonial'><span>Colonial</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commemorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/commemorations'><span>Commemorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='defence'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/defence'><span>Defence</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-documents'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-documents'><span>Documents</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='forts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/forts'><span>Forts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-medals-decorations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-medals-decorations'><span>Medals & Decorations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='military-engagements'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/military-engagements'><span>Military Engagements</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-navy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-navy'><span>Navy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations-and-regiments'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/organizations-and-regiments'><span>Organizations and Regiments</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='peacekeeping'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/peacekeeping'><span>Peacekeeping</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-ships'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-ships'><span>Ships</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-socializing'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-socializing'><span>Socializing</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/technology'><span>Technology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mp-trench-warfare'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/mp-trench-warfare'><span>Trench Warfare</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='wars'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/military/wars'><span>Wars</span></a></div></div></div><div class='sb-subcat sb-group' data-id='nature-geography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography'><span>Nature & Geography</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='agriculture'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/agriculture'><span>Agriculture</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='animals'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/animals'><span>Animals</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='climate'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/climate'><span>Climate</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='disasters-extreme-weather'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/disasters-extreme-weather'><span>Disasters/Extreme Weather</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='environment'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/environment'><span>Environment</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='geology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/geology'><span>Geology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hydrology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/hydrology'><span>Hydrology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='land-features'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/land-features'><span>Land Features</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mining-and-metallurgy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/mining-and-metallurgy'><span>Mining and Metallurgy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='natural-resources'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/natural-resources'><span>Natural resources</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='plants'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/plants'><span>Plants</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/transportation'><span>Transportation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='urban-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/nature-geography/urban-affairs'><span>Urban Affairs</span></a></div></div></div><div class='sb-subcat sb-group' data-id='politics-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law'><span>Politics & Law</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='acts-statutes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/acts-statutes'><span>Acts & Statutes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='agents-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/agents-organizations'><span>Agents & Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='charters'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/charters'><span>Charters</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='commissions-reports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/commissions-reports'><span>Commissions & Reports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='courts'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/courts'><span>Courts</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='federal-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/federal-institutions-and-offices'><span>Federal Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='government'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/government'><span>Government</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='immigration'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/immigration'><span>Immigration</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='international-affairs'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/international-affairs'><span>International Affairs</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='international-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/international-organizations'><span>International Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='judiciary'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/judiciary'><span>Judiciary</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-cases'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-cases'><span>Law Cases</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-enforcement'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-enforcement'><span>Law Enforcement</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='law-and-policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/law-and-policy'><span>Law and Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='legislation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/legislation'><span>Legislation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='municipal-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/municipal-institutions-and-offices'><span>Municipal Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='parliamentary-institutions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/parliamentary-institutions'><span>Parliamentary Institutions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='police-and-security'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/police-and-security'><span>Police and Security</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-events'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/political-events'><span>Political Events</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='political-statutes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/political-statutes'><span>Political Statutes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='protests-and-strikes'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/protests-and-strikes'><span>Protests and Strikes</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='provincial-institutions-and-offices'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/provincial-institutions-and-offices'><span>Provincial Institutions and Offices</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='public-policy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/public-policy'><span>Public Policy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='rights'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/rights'><span>Rights</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='treaties'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/treaties'><span>Treaties</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='types-of-law'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/politics-law/types-of-law'><span>Types of Law</span></a></div></div></div><div class='sb-subcat sb-group' data-id='science-technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology'><span>Science & Technology</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='biology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/biology'><span>Biology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='chemistry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/chemistry'><span>Chemistry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='climate-and-climatology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/climate-and-climatology'><span>Climate and Climatology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='communications'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/communications'><span>Communications</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='computer-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/computer-science'><span>Computer Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='demography'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/demography'><span>Demography</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='earth-sciences'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/earth-sciences'><span>Earth Sciences</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='energy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/energy'><span>Energy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='engineering'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/engineering'><span>Engineering</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='health-medicine'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/health-medicine'><span>Health & Medicine</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='hydrology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/hydrology'><span>Hydrology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='industry'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/industry'><span>Industry</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='institutions-and-organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/institutions-and-organizations'><span>Institutions and Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='inventions-and-innovations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations'><span>Inventions and Innovations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mathematics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/mathematics'><span>Mathematics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='mining-and-metallurgy'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/mining-and-metallurgy'><span>Mining and Metallurgy</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='physics'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/physics'><span>Physics</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='pseudo-science'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/pseudo-science'><span>Pseudo-Science</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='technology'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/technology'><span>Technology</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='tools'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/tools'><span>Tools</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='transportation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/transportation'><span>Transportation</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='weights-measures'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/weights-measures'><span>Weights & Measures</span></a></div></div></div><div class='sb-subcat sb-group' data-id='sports-recreation'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation'><span>Sports & Recreation</span></a><button class=''><img alt='toggler-icon' src='/images/i-arrow-toggle.svg' class='accordion-toggler-icon' class='toggler-icon'>toggler</button></div><div class='sb-subcat sb-subcat-last ' data-id='awards-and-trophies'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/awards-and-trophies'><span>Awards and Trophies</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='events-and-competitions'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/events-and-competitions'><span>Events and Competitions</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='halls-museums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/halls-museums'><span>Halls & Museums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='history'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/history'><span>History</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='organizations'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/organizations'><span>Organizations</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='sports'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/sports'><span>Sports</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='stadiums'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/stadiums'><span>Stadiums</span></a></div></div><div class='sb-subcat sb-subcat-last ' data-id='teams'><div class='sb-tab sb-tab--separator'><a href='https://www.thecanadianencyclopedia.ca/en/browse/things/sports-recreation/teams'><span>Teams</span></a></div></div></div></div> </sidebar> </aside> </div> <div class="content-container-desktop"> <main class="main-grid search-listing-result"> <div class="main-grid__content--wide"> <h1>Browse "Inventions and Innovations"</h1> <div class="browse__results-counter text-xsmall uppercase" > Displaying 1-15 of 36 results </div> <form class="form-inline main-grid__content--wide" id="browse_filter"> <div class="js-search-filter-container browse__filters"> <select aria-label="Search" class="input" disabled> <option aria-label="Search" disabled="disabled" value="" selected="selected">DIG DEEPER</option> </select> <select aria-label="Search" class="input" name="type"> <option disabled selected>FILTER BY CONTENT TYPE</option> <option value="article">Articles</option> <option value="timeline">Timelines</option> <option value="collection">Collections</option> <option value="study-guide">Education Guides</option> <option value="quiz">Quizzes</option> <option value="primary-source">Primary Sources</option> <option value="memory-project">Memory Project Archive</option> <option value="video">Videos</option> <option value="podcast">Podcasts</option> </select> <div> <button class="b b-md b-invert" type="submit">Apply filters</button> </div> </div> </form> <div class="browse__results"> <ul class='browse__results__list'> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/accommodation"> Accommodation </a> </h4> <p class="result__summary">Accommodation, first successful steamboat built entirely in North America. It was launched 19 August 1809 at Montréal, its engines having been constructed at the Forges Saint-Maurice, Trois-Rivières.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1260136231 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1260136231")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Accommodation"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/association-canadienne-francaise-pour-lavancement-des-sciences-acfas"> Association canadienne-française pour l&#039;avancement des sciences (Acfas) </a> </h4> <p class="result__summary">Created in 1923, l'Association canadienne-française pour l'avancement des sciences (Acfas) played a major role in the emergence of a French-speaking scientific community.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1753161913 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1753161913")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Association canadienne-française pour l&#039;avancement des sciences (Acfas)"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/avro-arrow"> Avro Arrow </a> </h4> <p class="result__summary">The Avro Canada CF-105 Arrow (the Arrow) was a supersonic interceptor jet aircraft designed and built in the 1950s by A.V. Roe Canada (Avro). The Arrow was one of the most advanced aircraft of its era, helping to establish Canada as a world leader in scientific research and development. Though the Arrow was widely praised for its power and beauty, the program was cancelled in February 1959 by the government of Prime Minister John Diefenbaker. This resulted in the loss of at least 25,000 direct and indirect jobs. Many believe that the Arrow’s cancellation was a betrayal of Canada’s aerospace industry. Others assert that the jet was extravagant and had little chance of competing with impending innovations. At best, Avro and the Arrow were historic examples of Canadian ingenuity and intriguing case studies of unrealized potential.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-978982806 data-indent-pad=" ">"<span class=sf-dump-str title="95 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/AvroArrow/AvroArrowTweetOnly.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-978982806")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/AvroArrow/AvroArrowTweetOnly.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/new_article_images/AvroArrow/AvroArrowTweetOnly.jpg" alt="Avro Arrow"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Editorial</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/avro-iarrowi-there-never-was-an-iarrowi-feature"> The Avro Arrow is Cancelled </a> </h4> <p class="result__summary">The following article is an editorial written by The Canadian Encyclopedia staff. Editorials are not usually updated.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1206606808 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/25cf1480-ddea-403e-8607-2241587bcf3d.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1206606808")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/25cf1480-ddea-403e-8607-2241587bcf3d.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/25cf1480-ddea-403e-8607-2241587bcf3d.jpg" alt="The Avro Arrow is Cancelled"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/babiche"> Babiche </a> </h4> <p class="result__summary">Babiche is a type of string traditionally made by Indigenous peoples from rawhide and had multiple uses, such as to lace snowshoes, fishing nets, drumheads and the like. Though typically considered a French Canadian term, babiche is an Algonquian word, loosely translating to “cord” (in Mi’kmaq, ababich) or “thread” (in Ojibwa, assabâbish).</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1899796942 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/03dfd24b-95c1-44ad-8ce5-d0ecf4578831.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1899796942")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/03dfd24b-95c1-44ad-8ce5-d0ecf4578831.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/03dfd24b-95c1-44ad-8ce5-d0ecf4578831.jpg" alt="Babiche"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/bioness"> BIONESS </a> </h4> <p class="result__summary">BIONESS (Bedford Institute of Oceanography Net and Environmental Sampling System) is a multiple-net sampler for ZOOPLANKTON and micronekton (pelagic animals 1-10 cm in length). It uses a new design concept, with nets arranged horizontally rather than vertically, as in earlier multiple-net samplers.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-767542784 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-767542784")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="BIONESS"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/birchbark-canoe"> Birchbark Canoe </a> </h4> <p class="result__summary">The birchbark canoe was the principal means of water transportation for Indigenous peoples of the Eastern Woodlands, and later voyageurs, who used it extensively in the fur trade in Canada. Light and maneuverable, birchbark canoes were perfectly adapted to summer travel through the network of shallow streams, ponds, lakes and swift rivers of the Canadian Shield. As the fur trade declined in the 19th century, the canoe became more of a recreational vehicle. Though most canoes are no longer constructed of birchbark, its enduring historical legacy and its popularity as a pleasure craft have made it a Canadian cultural icon.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-2143782382 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/50d0c290-345d-4655-b501-3cfa471dfdb7.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-2143782382")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/50d0c290-345d-4655-b501-3cfa471dfdb7.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/50d0c290-345d-4655-b501-3cfa471dfdb7.jpg" alt="Birchbark Canoe"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/calendar"> Calendar </a> </h4> <p class="result__summary">In Canada the Gregorian calendar is in use under the terms of the 1750 British Act for Regulating the Commencement of the Year, and for Correcting the Calendar Now in Use, which switched the official English calendar from the Julian to the Gregorian form in 1752.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1962236413 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1962236413")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Calendar"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Collection</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/collection/canada-during-covid"> Canada During COVID-19 </a> </h4> <p class="result__summary">Countries, communities, and individuals around the world are grappling with the COVID-19 pandemic. How will historians remember this time in history? Canada During COVID-19: A Living Archive is meant to capture the experiences of everyday Canadians as they live through this challenging time.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-579465568 data-indent-pad=" ">"<span class=sf-dump-str title="153 characters">https://d3d0lqu00lnqvz.cloudfront.net/user_canada_during_covid_submissions_imported/101037588_640061359916207_6879182772136426658_n_17903881852466121.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-579465568")</script> https://d3d0lqu00lnqvz.cloudfront.net/user_canada_during_covid_submissions_imported/101037588_640061359916207_6879182772136426658_n_17903881852466121.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/user_canada_during_covid_submissions_imported/101037588_640061359916207_6879182772136426658_n_17903881852466121.jpg" alt="Canada During COVID-19"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/cardiac-pacemaker"> Cardiac Pacemaker </a> </h4> <p class="result__summary">In 1950, one of Canada’s greatest medical innovations was developed at the University of Toronto’s Banting Institute. Cardiac surgeon, Dr. Wilfred Bigelow and research fellow, Dr. John Carter Callaghan were trying to understand how hypothermia (see Cold-Weather Injuries) could slow the beating of an animal’s heart before surgery. They were also looking for a way to stimulate the heart when it faltered as it cooled. This largely unknown area of research could have tremendous applications for humans. The doctors partnered with Dr. John A. Hopps from the National Research Council of Canada, who created a portable artificial external pacemaker. It was designed to send electric pulses to the heart, which caused the heart to contract and pump blood to the body. The device was successfully tested on a dog in 1950. This landmark discovery paved the way for the use of implantable pacemakers in humans.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-174815699 data-indent-pad=" ">"<span class=sf-dump-str title="107 characters">https://d3d0lqu00lnqvz.cloudfront.net/CardiacPacemaker/1985.0610-defibrillator-pacemaker-alfoldi-photo1.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-174815699")</script> https://d3d0lqu00lnqvz.cloudfront.net/CardiacPacemaker/1985.0610-defibrillator-pacemaker-alfoldi-photo1.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/CardiacPacemaker/1985.0610-defibrillator-pacemaker-alfoldi-photo1.jpg" alt="Cardiac Pacemaker"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Macleans</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/cloned-sheep-raises-ethical-issues"> Cloned Sheep Raises Ethical Issues </a> </h4> <p class="result__summary">She does not look like a circus freak or a monster or an omen of evil. Her eyes and ears have a pinkish hue - just like they are supposed to.This article was originally published in Maclean's Magazine on March 10, 1997</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1280472693 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1280472693")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Cloned Sheep Raises Ethical Issues"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Macleans</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/cloning-sheep"> Cloning Sheep </a> </h4> <p class="result__summary">For more than a decade, scientists have been using genetic technology to produce biologically identical copies, or clones, of animals. In theory, cloning can be used to improve sheep and cattle breeds by ensuring that the animals' most desirable genetic characteristics are passed on.This article was originally published in Maclean's Magazine on March 18, 1996</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-794236024 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-794236024")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Cloning Sheep"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/dating-in-archaeology"> Dating in Archaeology </a> </h4> <p class="result__summary"> For those researchers working in the field of human history, the chronology of events remains a major element of reflection. Archaeologists have access to various techniques for dating archaeological sites or the objects found on those sites.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1659443163 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/5f50dd82-a267-475e-8f6b-4e5dcc32b135.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1659443163")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/5f50dd82-a267-475e-8f6b-4e5dcc32b135.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/5f50dd82-a267-475e-8f6b-4e5dcc32b135.jpg" alt="Dating in Archaeology"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/dugout-canoe"> Dugout Canoe </a> </h4> <p class="result__summary">A dugout canoe was a common type of canoe, traditionally used by ​Indigenous peoples and early settlers wherever the size of tree growth made construction possible. The dugout canoe was most popular along the West Coast, where waters teeming with sea life—whales, seals,  sea lions, salmon,  halibut, herring, eulachon and shellfish—sustained a complex maritime culture. (See also Northwest Coast Indigenous Peoples in Canada.) </p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-847121632 data-indent-pad=" ">"<span class=sf-dump-str title="90 characters">https://d3d0lqu00lnqvz.cloudfront.net/media/media/bf947505-9d11-4814-8e02-371873d5aa8c.jpg</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-847121632")</script> https://d3d0lqu00lnqvz.cloudfront.net/media/media/bf947505-9d11-4814-8e02-371873d5aa8c.jpg <img src="https://d3d0lqu00lnqvz.cloudfront.net/media/media/bf947505-9d11-4814-8e02-371873d5aa8c.jpg" alt="Dugout Canoe"> </div> </li> <li class="result"> <div class="content"> <p class="result__type">Article</p> <h4 class="result__title"> <a href="https://www.thecanadianencyclopedia.ca/en/article/early-warning-radar"> Early-Warning Radar </a> </h4> <p class="result__summary">Air-defence radar stations were first established in Canada along the Atlantic and Pacific coasts in 1942, but were dismantled following the defeat of Germany and Japan in 1945.</p> </div> <div class="image-container"> <script> Sfdump = window.Sfdump || (function (doc) { doc.documentElement.classList.add('sf-js-enabled'); var rxEsc = /([.*+?^${}()|\[\]\/\\])/g, idRx = /\bsf-dump-\d+-ref[012]\w+\b/, keyHint = 0 <= navigator.platform.toUpperCase().indexOf('MAC') ? 'Cmd' : 'Ctrl', addEventListener = function (e, n, cb) { e.addEventListener(n, cb, false); }; if (!doc.addEventListener) { addEventListener = function (element, eventName, callback) { element.attachEvent('on' + eventName, function (e) { e.preventDefault = function () {e.returnValue = false;}; e.target = e.srcElement; callback(e); }); }; } function toggle(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className, arrow, newClass; if (/\bsf-dump-compact\b/.test(oldClass)) { arrow = '&#9660;'; newClass = 'sf-dump-expanded'; } else if (/\bsf-dump-expanded\b/.test(oldClass)) { arrow = '&#9654;'; newClass = 'sf-dump-compact'; } else { return false; } if (doc.createEvent && s.dispatchEvent) { var event = doc.createEvent('Event'); event.initEvent('sf-dump-expanded' === newClass ? 'sfbeforedumpexpand' : 'sfbeforedumpcollapse', true, false); s.dispatchEvent(event); } a.lastChild.innerHTML = arrow; s.className = s.className.replace(/\bsf-dump-(compact|expanded)\b/, newClass); if (recursive) { try { a = s.querySelectorAll('.'+oldClass); for (s = 0; s < a.length; ++s) { if (-1 == a[s].className.indexOf(newClass)) { a[s].className = newClass; a[s].previousSibling.lastChild.innerHTML = arrow; } } } catch (e) { } } return true; }; function collapse(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-expanded\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function expand(a, recursive) { var s = a.nextSibling || {}, oldClass = s.className; if (/\bsf-dump-compact\b/.test(oldClass)) { toggle(a, recursive); return true; } return false; }; function collapseAll(root) { var a = root.querySelector('a.sf-dump-toggle'); if (a) { collapse(a, true); expand(a); return true; } return false; } function reveal(node) { var previous, parents = []; while ((node = node.parentNode || {}) && (previous = node.previousSibling) && 'A' === previous.tagName) { parents.push(previous); } if (0 !== parents.length) { parents.forEach(function (parent) { expand(parent); }); return true; } return false; } function highlight(root, activeNode, nodes) { resetHighlightedNodes(root); Array.from(nodes||[]).forEach(function (node) { if (!/\bsf-dump-highlight\b/.test(node.className)) { node.className = node.className + ' sf-dump-highlight'; } }); if (!/\bsf-dump-highlight-active\b/.test(activeNode.className)) { activeNode.className = activeNode.className + ' sf-dump-highlight-active'; } } function resetHighlightedNodes(root) { Array.from(root.querySelectorAll('.sf-dump-str, .sf-dump-key, .sf-dump-public, .sf-dump-protected, .sf-dump-private')).forEach(function (strNode) { strNode.className = strNode.className.replace(/\bsf-dump-highlight\b/, ''); strNode.className = strNode.className.replace(/\bsf-dump-highlight-active\b/, ''); }); } return function (root, x) { root = doc.getElementById(root); var indentRx = new RegExp('^('+(root.getAttribute('data-indent-pad') || ' ').replace(rxEsc, '\\$1')+')+', 'm'), options = {"maxDepth":1,"maxStringLength":160,"fileLinkFormat":false}, elt = root.getElementsByTagName('A'), len = elt.length, i = 0, s, h, t = []; while (i < len) t.push(elt[i++]); for (i in x) { options[i] = x[i]; } function a(e, f) { addEventListener(root, e, function (e, n) { if ('A' == e.target.tagName) { f(e.target, e); } else if ('A' == e.target.parentNode.tagName) { f(e.target.parentNode, e); } else { n = /\bsf-dump-ellipsis\b/.test(e.target.className) ? e.target.parentNode : e.target; if ((n = n.nextElementSibling) && 'A' == n.tagName) { if (!/\bsf-dump-toggle\b/.test(n.className)) { n = n.nextElementSibling || n; } f(n, e, true); } } }); }; function isCtrlKey(e) { return e.ctrlKey || e.metaKey; } function xpathString(str) { var parts = str.match(/[^'"]+|['"]/g).map(function (part) { if ("'" == part) { return '"\'"'; } if ('"' == part) { return "'\"'"; } return "'" + part + "'"; }); return "concat(" + parts.join(",") + ", '')"; } function xpathHasClass(className) { return "contains(concat(' ', normalize-space(@class), ' '), ' " + className +" ')"; } a('mouseover', function (a, e, c) { if (c) { e.target.style.cursor = "pointer"; } }); a('click', function (a, e, c) { if (/\bsf-dump-toggle\b/.test(a.className)) { e.preventDefault(); if (!toggle(a, isCtrlKey(e))) { var r = doc.getElementById(a.getAttribute('href').slice(1)), s = r.previousSibling, f = r.parentNode, t = a.parentNode; t.replaceChild(r, a); f.replaceChild(a, s); t.insertBefore(s, r); f = f.firstChild.nodeValue.match(indentRx); t = t.firstChild.nodeValue.match(indentRx); if (f && t && f[0] !== t[0]) { r.innerHTML = r.innerHTML.replace(new RegExp('^'+f[0].replace(rxEsc, '\\$1'), 'mg'), t[0]); } if (/\bsf-dump-compact\b/.test(r.className)) { toggle(s, isCtrlKey(e)); } } if (c) { } else if (doc.getSelection) { try { doc.getSelection().removeAllRanges(); } catch (e) { doc.getSelection().empty(); } } else { doc.selection.empty(); } } else if (/\bsf-dump-str-toggle\b/.test(a.className)) { e.preventDefault(); e = a.parentNode.parentNode; e.className = e.className.replace(/\bsf-dump-str-(expand|collapse)\b/, a.parentNode.className); } }); elt = root.getElementsByTagName('SAMP'); len = elt.length; i = 0; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; if ('SAMP' == elt.tagName) { a = elt.previousSibling || {}; if ('A' != a.tagName) { a = doc.createElement('A'); a.className = 'sf-dump-ref'; elt.parentNode.insertBefore(a, elt); } else { a.innerHTML += ' '; } a.title = (a.title ? a.title+'\n[' : '[')+keyHint+'+click] Expand all children'; a.innerHTML += elt.className == 'sf-dump-compact' ? '<span>&#9654;</span>' : '<span>&#9660;</span>'; a.className += ' sf-dump-toggle'; x = 1; if ('sf-dump' != elt.parentNode.className) { x += elt.parentNode.getAttribute('data-depth')/1; } } else if (/\bsf-dump-ref\b/.test(elt.className) && (a = elt.getAttribute('href'))) { a = a.slice(1); elt.className += ' sf-dump-hover'; elt.className += ' '+a; if (/[\[{]$/.test(elt.previousSibling.nodeValue)) { a = a != elt.nextSibling.id && doc.getElementById(a); try { s = a.nextSibling; elt.appendChild(a); s.parentNode.insertBefore(a, s); if (/^[@#]/.test(elt.innerHTML)) { elt.innerHTML += ' <span>&#9654;</span>'; } else { elt.innerHTML = '<span>&#9654;</span>'; elt.className = 'sf-dump-ref'; } elt.className += ' sf-dump-toggle'; } catch (e) { if ('&' == elt.innerHTML.charAt(0)) { elt.innerHTML = '&#8230;'; elt.className = 'sf-dump-ref'; } } } } } if (doc.evaluate && Array.from && root.children.length > 1) { root.setAttribute('tabindex', 0); SearchState = function () { this.nodes = []; this.idx = 0; }; SearchState.prototype = { next: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx < (this.nodes.length - 1) ? this.idx + 1 : 0; return this.current(); }, previous: function () { if (this.isEmpty()) { return this.current(); } this.idx = this.idx > 0 ? this.idx - 1 : (this.nodes.length - 1); return this.current(); }, isEmpty: function () { return 0 === this.count(); }, current: function () { if (this.isEmpty()) { return null; } return this.nodes[this.idx]; }, reset: function () { this.nodes = []; this.idx = 0; }, count: function () { return this.nodes.length; }, }; function showCurrent(state) { var currentNode = state.current(), currentRect, searchRect; if (currentNode) { reveal(currentNode); highlight(root, currentNode, state.nodes); if ('scrollIntoView' in currentNode) { currentNode.scrollIntoView(true); currentRect = currentNode.getBoundingClientRect(); searchRect = search.getBoundingClientRect(); if (currentRect.top < (searchRect.top + searchRect.height)) { window.scrollBy(0, -(searchRect.top + searchRect.height + 5)); } } } counter.textContent = (state.isEmpty() ? 0 : state.idx + 1) + ' of ' + state.count(); } var search = doc.createElement('div'); search.className = 'sf-dump-search-wrapper sf-dump-search-hidden'; search.innerHTML = ' <input type="text" class="sf-dump-search-input"> <span class="sf-dump-search-count">0 of 0<\/span> <button type="button" class="sf-dump-search-input-previous" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 1331l-166 165q-19 19-45 19t-45-19L896 965l-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> <button type="button" class="sf-dump-search-input-next" tabindex="-1"> <svg viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1683 808l-742 741q-19 19-45 19t-45-19L109 808q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z"\/><\/svg> <\/button> '; root.insertBefore(search, root.firstChild); var state = new SearchState(); var searchInput = search.querySelector('.sf-dump-search-input'); var counter = search.querySelector('.sf-dump-search-count'); var searchInputTimer = 0; var previousSearchQuery = ''; addEventListener(searchInput, 'keyup', function (e) { var searchQuery = e.target.value; /* Don't perform anything if the pressed key didn't change the query */ if (searchQuery === previousSearchQuery) { return; } previousSearchQuery = searchQuery; clearTimeout(searchInputTimer); searchInputTimer = setTimeout(function () { state.reset(); collapseAll(root); resetHighlightedNodes(root); if ('' === searchQuery) { counter.textContent = '0 of 0'; return; } var classMatches = [ "sf-dump-str", "sf-dump-key", "sf-dump-public", "sf-dump-protected", "sf-dump-private", ].map(xpathHasClass).join(' or '); var xpathResult = doc.evaluate('.//span[' + classMatches + '][contains(translate(child::text(), ' + xpathString(searchQuery.toUpperCase()) + ', ' + xpathString(searchQuery.toLowerCase()) + '), ' + xpathString(searchQuery.toLowerCase()) + ')]', root, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null); while (node = xpathResult.iterateNext()) state.nodes.push(node); showCurrent(state); }, 400); }); Array.from(search.querySelectorAll('.sf-dump-search-input-next, .sf-dump-search-input-previous')).forEach(function (btn) { addEventListener(btn, 'click', function (e) { e.preventDefault(); -1 !== e.target.className.indexOf('next') ? state.next() : state.previous(); searchInput.focus(); collapseAll(root); showCurrent(state); }) }); addEventListener(root, 'keydown', function (e) { var isSearchActive = !/\bsf-dump-search-hidden\b/.test(search.className); if ((114 === e.keyCode && !isSearchActive) || (isCtrlKey(e) && 70 === e.keyCode)) { /* F3 or CMD/CTRL + F */ if (70 === e.keyCode && document.activeElement === searchInput) { /* * If CMD/CTRL + F is hit while having focus on search input, * the user probably meant to trigger browser search instead. * Let the browser execute its behavior: */ return; } e.preventDefault(); search.className = search.className.replace(/\bsf-dump-search-hidden\b/, ''); searchInput.focus(); } else if (isSearchActive) { if (27 === e.keyCode) { /* ESC key */ search.className += ' sf-dump-search-hidden'; e.preventDefault(); resetHighlightedNodes(root); searchInput.value = ''; } else if ( (isCtrlKey(e) && 71 === e.keyCode) /* CMD/CTRL + G */ || 13 === e.keyCode /* Enter */ || 114 === e.keyCode /* F3 */ ) { e.preventDefault(); e.shiftKey ? state.previous() : state.next(); collapseAll(root); showCurrent(state); } } }); } if (0 >= options.maxStringLength) { return; } try { elt = root.querySelectorAll('.sf-dump-str'); len = elt.length; i = 0; t = []; while (i < len) t.push(elt[i++]); len = t.length; for (i = 0; i < len; ++i) { elt = t[i]; s = elt.innerText || elt.textContent; x = s.length - options.maxStringLength; if (0 < x) { h = elt.innerHTML; elt[elt.innerText ? 'innerText' : 'textContent'] = s.substring(0, options.maxStringLength); elt.className += ' sf-dump-str-collapse'; elt.innerHTML = '<span class=sf-dump-str-collapse>'+h+'<a class="sf-dump-ref sf-dump-str-toggle" title="Collapse"> &#9664;</a></span>'+ '<span class=sf-dump-str-expand>'+elt.innerHTML+'<a class="sf-dump-ref sf-dump-str-toggle" title="'+x+' remaining characters"> &#9654;</a></span>'; } } } catch (e) { } }; })(document); </script><style> .sf-js-enabled pre.sf-dump .sf-dump-compact, .sf-js-enabled .sf-dump-str-collapse .sf-dump-str-collapse, .sf-js-enabled .sf-dump-str-expand .sf-dump-str-expand { display: none; } .sf-dump-hover:hover { background-color: #B729D9; color: #FFF !important; border-radius: 2px; } pre.sf-dump { display: block; white-space: pre; padding: 5px; overflow: initial !important; } pre.sf-dump:after { content: ""; visibility: hidden; display: block; height: 0; clear: both; } pre.sf-dump span { display: inline-flex; } pre.sf-dump a { text-decoration: none; cursor: pointer; border: 0; outline: none; color: inherit; } pre.sf-dump img { max-width: 50em; max-height: 50em; margin: .5em 0 0 0; padding: 0; background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAHUlEQVQY02O8zAABilCaiQEN0EeA8QuUcX9g3QEAAjcC5piyhyEAAAAASUVORK5CYII=) #D3D3D3; } pre.sf-dump .sf-dump-ellipsis { display: inline-block; overflow: visible; text-overflow: ellipsis; max-width: 5em; white-space: nowrap; overflow: hidden; vertical-align: top; } pre.sf-dump .sf-dump-ellipsis+.sf-dump-ellipsis { max-width: none; } pre.sf-dump code { display:inline; padding:0; background:none; } .sf-dump-public.sf-dump-highlight, .sf-dump-protected.sf-dump-highlight, .sf-dump-private.sf-dump-highlight, .sf-dump-str.sf-dump-highlight, .sf-dump-key.sf-dump-highlight { background: rgba(111, 172, 204, 0.3); border: 1px solid #7DA0B1; border-radius: 3px; } .sf-dump-public.sf-dump-highlight-active, .sf-dump-protected.sf-dump-highlight-active, .sf-dump-private.sf-dump-highlight-active, .sf-dump-str.sf-dump-highlight-active, .sf-dump-key.sf-dump-highlight-active { background: rgba(253, 175, 0, 0.4); border: 1px solid #ffa500; border-radius: 3px; } pre.sf-dump .sf-dump-search-hidden { display: none !important; } pre.sf-dump .sf-dump-search-wrapper { font-size: 0; white-space: nowrap; margin-bottom: 5px; display: flex; position: -webkit-sticky; position: sticky; top: 5px; } pre.sf-dump .sf-dump-search-wrapper > * { vertical-align: top; box-sizing: border-box; height: 21px; font-weight: normal; border-radius: 0; background: #FFF; color: #757575; border: 1px solid #BBB; } pre.sf-dump .sf-dump-search-wrapper > input.sf-dump-search-input { padding: 3px; height: 21px; font-size: 12px; border-right: none; border-top-left-radius: 3px; border-bottom-left-radius: 3px; color: #000; min-width: 15px; width: 100%; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous { background: #F2F2F2; outline: none; border-left: none; font-size: 0; line-height: 0; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next { border-top-right-radius: 3px; border-bottom-right-radius: 3px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-next > svg, pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-input-previous > svg { pointer-events: none; width: 12px; height: 12px; } pre.sf-dump .sf-dump-search-wrapper > .sf-dump-search-count { display: inline-block; padding: 0 5px; margin: 0; border-left: none; line-height: 21px; font-size: 12px; }pre.sf-dump, pre.sf-dump .sf-dump-default{background-color:#18171B; color:#FF8400; line-height:1.2em; font:12px Menlo, Monaco, Consolas, monospace; word-wrap: break-word; white-space: pre-wrap; position:relative; z-index:99999; word-break: break-all}pre.sf-dump .sf-dump-num{font-weight:bold; color:#1299DA}pre.sf-dump .sf-dump-const{font-weight:bold}pre.sf-dump .sf-dump-str{font-weight:bold; color:#56DB3A}pre.sf-dump .sf-dump-note{color:#1299DA}pre.sf-dump .sf-dump-ref{color:#A0A0A0}pre.sf-dump .sf-dump-public{color:#FFFFFF}pre.sf-dump .sf-dump-protected{color:#FFFFFF}pre.sf-dump .sf-dump-private{color:#FFFFFF}pre.sf-dump .sf-dump-meta{color:#B729D9}pre.sf-dump .sf-dump-key{color:#56DB3A}pre.sf-dump .sf-dump-index{color:#1299DA}pre.sf-dump .sf-dump-ellipsis{color:#FF8400}pre.sf-dump .sf-dump-ns{user-select:none;}pre.sf-dump .sf-dump-ellipsis-note{color:#1299DA}</style><pre class=sf-dump id=sf-dump-1479962706 data-indent-pad=" ">"<span class=sf-dump-str title="100 characters">https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9</span>"<span style="color: #A0A0A0;"> // resources/views/front/categories/view.blade.php</span> </pre><script>Sfdump("sf-dump-1479962706")</script> https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9 <img src="https://www.thecanadianencyclopedia.ca/images/tce_placeholder.jpg?v=e9dca980c9bdb3aa11e832e7ea94f5d9" alt="Early-Warning Radar"> </div> </li> </ul> </div> <div class="pagination_widget"> <ul class="pagination"> <li class="page-item disabled"><span class="page-link">&laquo;</span></li> <li class="page-item active"><span class="page-link">1</span></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations?query=&amp;page=2">2</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations?query=&amp;page=3">3</a></li> <li class="page-item"><a class="page-link" href="https://www.thecanadianencyclopedia.ca/en/browse/things/science-technology/inventions-and-innovations?query=&amp;page=2" rel="next">&raquo;</a></li> </ul> </div> </div> </main> </div> </div> <footer id="footer"> <div class="full-width footer-first-part"> <div class="wrap--narrow"> <div class="footer-information grid--col2"> <div class="divider"> <h6>Updates? Omissions? Article suggestions?</h6> <a href="https://www.thecanadianencyclopedia.ca/en/contact" class="b b-md b-primary">We want to hear from you</a> </div> <div> <h6>Did you like your experience?</h6> <a href="https://www.cognitoforms.com/HistoricaCanada1/TheCanadianEncyclopediaUserSurvey" target="_blank" class="b b-md b-primary">Take our survey</a> </div> </div> </div> </div> <div class="full-width full-width-grey footer-second-part"> <div class="wrap--narrow footer-sub-first"> <div class="footer-utilities grid--col3"> <div class="randomize-12"> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>62 379</b> images</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>25 521</b> articles</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>64</b> collections</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>4 172</b> primary sources</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>46</b> quizzes</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>73</b> timelines</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>83</b> studyguides</div> <div class="footer-articles-count randomBlock" style="display: none;">We have <b>5 169</b> authors</div> </div> <div class="divider uppercase text-xsmall footer-social "></div> <div class="uppercase footer-social"> <span>Follow us elsewhere</span> <ul> <li><a href="https://twitter.com/HistoricaCanada" class="footer-social-twitter" target="_blank"><i class="i i-invert i-twitter"></i>Twitter</a></li> <li><a href="https://www.facebook.com/TheCanadianEncyclopedia" class="footer-social-facebook" target="_blank"><i class="i i-invert i-facebook"></i>Facebook</a></li> <li><a href="https://www.youtube.com/channel/UCtagGjDO8X1rBROhmSQXZsA" class="footer-social-youtube" target="_blank"><i class="i i-invert i-youtube"></i>Youtube</a></li> </ul> </div> </div> </div> <div class="wrap--narrow container-grey top-divider-footerlinks footer-sub-second"> <div class="footer-link"> <ul class="list list-inline list-background-invert"> <li><a href="https://www.thecanadianencyclopedia.ca/en/about">About</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/contributors">Contribute</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/contact">Contact</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/sitemap">Sitemap</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/en/privacy-policy">privacy policy</a></li> <li><a href="https://www.thecanadianencyclopedia.ca/images/pdf/en/aoda_2023.pdf?v=77bccd03de4270ae1fbba4cea45a2197">accessibility</a></li> </ul> </div> </div> <div class="wrap--narrow container-grey top-divider footer-sub-third"> <div class="footer-sitemap grid--col12"> <div class="footer-copyright"> <a href="/en/copyright">The Canadian Encyclopedia © 2024 <span class="copyright-separator-spacing">|</span> Historica Canada</a> </div> <div class="footer-canada-logos"> <ul> <li tabindex="0" class="footer-image-submenu"> <img src="https://www.thecanadianencyclopedia.ca/images/historica-canada-logo.png?v=d8609094fb353837d01f458c7a6f905b" alt="Historica Canada" title="Historica Canada" loading="lazy">  <ul class="external_links"> <li><a href="https://www.historicacanada.ca/" target="_blank">Historica Canada</a></li> <li><a href="/en/quiz/cc-quiz-citizenship" target="_blank">Citizenship challenge</a></li> <li><a href="https://www.historicacanada.ca/heritageminutes" target="_blank">Heritage minutes</a></li> <li><a href="http://www.thememoryproject.com/" target="_blank">The memory project</a></li> </ul> </li> <li><a href="https://www.canada.ca/en.html" target="_blank"><img src="https://www.thecanadianencyclopedia.ca/images/gov-canada.svg?v=fdda8701f4d83ce99144e160774c2965" alt="Funding by the gouvernment of Canada" title="Funding by the gouvernment of Canada" loading="lazy"></a></li> </ul> </div> </div> </div> </div> </footer> <div id="highlight-menu" style="display:none;"> <a href="#">Suggest an Edit</a> <div class="caret"></div> </div> <div id="overlayPopup"></div> <div id="definitionOverlayPopup"></div> <div id="overlay"></div> <div class="fullpageLoader"> <svg class="circular-loader" viewBox="25 25 50 50"> <circle class="loader-path" cx="50" cy="50" r="20" fill="none" stroke="#FFFFFF" stroke-width="4" /> </svg> </div> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/manifest.js?v=069add80cc340895762d04c204a6279a"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/vendor.js?v=bad4c73f65ec1c7706543fa4a9ea4830"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/app.js?v=efc40233a3006944c927943e0b78a15c"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/layout.js?v=beaebd25c9a5059050695d1edaf766de"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/header.js?v=5244f0ce969d84d34f640d056c0fe0d9"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/event-bus.js?v=5e4c1d3e6f42f0c3e6c9410dd9164894"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/image-scale.js?v=9c719b6e3da705632a5f6afd99100d6d"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/sidebar.js?v=055046a71e350608040bcb584ac4ae68"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/lazyload.min.js?v=c1238b309b71a0d2a1f46179635b599d"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/paginations.js?v=99f58d2977f14337f4359d5e79d26cbc"></script> <script type="text/javascript" src="https://www.thecanadianencyclopedia.ca/js/search.js?v=c7c70246f5f7881af57df6d9ed1d3e16"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10