CINXE.COM
Ben Williams – The Conversation
<!DOCTYPE html> <html lang="en-GLOBAL" class="no-js"> <head> <link rel="canonical" href="https://theconversation.com/profiles/ben-williams-155992" /> <script> window.GTM = window.GTM || {}; window.GTM.pageType = "author_profile"; </script> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="theme-color" content="#d8352a"> <meta name="msapplication-navbutton-color" content="#d8352a"> <meta charset="utf-8"> <meta property="fb:app_id" content="127105130696839"> <meta name="current-region" content="global"> <meta http-equiv="Content-Language" content="en-GLOBAL"> <meta name="description" content="Ben Williams’ profile on The Conversation" /> <meta property="og:site_name" content="The Conversation" /> <meta property="og:title" content="Ben Williams" /> <meta property="og:description" content="Ben Williams — Profile on The Conversation" /> <meta property="og:type" content="profile" /> <meta property="og:image" content="https://cdn.theconversation.com/avatars/155992/width238/image-20150411-2072-nuw88y.jpg" /> <meta property="og:updated_time" content="2024-01-09T22:31:56Z" /> <meta property="og:url" content="https://theconversation.com/profiles/ben-williams-155992" /> <meta name="twitter:card" content="summary" /> <meta name="twitter:creator" content="@benwill1973" /> <script> //<![CDATA[ window.public_path = "https://cdn.theconversation.com/static/tc/"; window.TC = {}; window.TC.Config = {"cookie_domain":".theconversation.com","image_cdn_domain":"images.theconversation.com","analytics_url":"https://analytics.theconversation.com","sharejs_init_delay_ms":0,"recaptcha":{"enabled":true,"siteKey":"6Lf3Oc0UAAAAAIbME3Lv7iS7EVeuQzpru1Jbij5N"}}; //]]> </script> <!-- refspec 49c090425dba2513eb757b31bee53f35cdc9a26e --> <title>Ben Williams – The Conversation</title> <style media="screen"> @font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:100;src:local("Montserrat Thin "),local("Montserrat-Thin"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-a5bfe500a212b55e1d97ab22ec963cc2.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100-f3fd3a8cda2788c9187834cf76d76d57.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:100;src:local("Montserrat Thin italic"),local("Montserrat-Thinitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-c4fd7303dedad09a44867a2c79296456.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-100italic-8545c5c9716e859e79c61d608b561504.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:200;src:local("Montserrat Extra Light "),local("Montserrat-Extra Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-11e53b4b006a3bacb5b027c6a9bb64ce.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200-b6f663e2de4a8379688cdba1b954edbc.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:200;src:local("Montserrat Extra Light italic"),local("Montserrat-Extra Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-32131f2a84c4a3abee7d2fd2b49850ad.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-200italic-cd7b7fa2da727185e9a74724658bcc65.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:300;src:local("Montserrat Light "),local("Montserrat-Light"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-c587fd5d56f85fb730092fc82551b5a1.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300-46b5c290e8fd38b7639e3f9383c2ac56.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:300;src:local("Montserrat Light italic"),local("Montserrat-Lightitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-ca09533c023a3a9df2fb0167c26e0fdb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-300italic-f56d740b2c209398b341cc025a9c77d6.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:400;src:local("Montserrat Regular "),local("Montserrat-Regular"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-504499c7e16ee847a32a7a8bf6923a79.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400-7710fcbaccd9837e1c5e7e819bf1d230.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:400;src:local("Montserrat Regular italic"),local("Montserrat-Regularitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-920286bb1fd8ffb693ef17a42546ee3a.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-400italic-035e0faa25a71eeab032f07cf5490eef.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:500;src:local("Montserrat Medium "),local("Montserrat-Medium"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-6fd836a65acf6d59bd2f5e0be5717207.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500-561e37f444fecedbe680a382e941392a.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:500;src:local("Montserrat Medium italic"),local("Montserrat-Mediumitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-44f475da8da3427ecc77a4450f00452c.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-500italic-4d2fdf6bcf6c74b893e69fec9c8907e5.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:600;src:local("Montserrat SemiBold "),local("Montserrat-SemiBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-c18b4ac34e93857f7437c28f94923dc0.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600-010ceaeb92611d327450a647f8ce6017.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:600;src:local("Montserrat SemiBold italic"),local("Montserrat-SemiBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-2dbbde16b836db7a390a71d3aa2a232e.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-600italic-045adf4940dd14d523350697cd984663.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:700;src:local("Montserrat Bold "),local("Montserrat-Bold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-66fd2310725b78026454e50d0dd9effc.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700-a7a97263d97c409f1a624f88d4f8f00e.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:700;src:local("Montserrat Bold italic"),local("Montserrat-Bolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-a9005293d3425d6e611c7c5f451d6f68.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-700italic-2413952457cc83b0bc6fe20b12ffa15b.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:800;src:local("Montserrat ExtraBold "),local("Montserrat-ExtraBold"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-abbac7439df45ab1a1e316d480a5c281.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800-5e564db333b8b21c83b84ed531d94eb2.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:800;src:local("Montserrat ExtraBold italic"),local("Montserrat-ExtraBolditalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-4dac3f51b5a7a0609d210cc4fd4d5980.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-800italic-61120b3c6f076e91b0a7e86ac6966634.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:normal;font-weight:900;src:local("Montserrat Black "),local("Montserrat-Black"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-041d8fc07df6765187171717d5b810fb.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900-c440708c3b73b3d9cea7e345718de728.woff) format("woff")}@font-face{font-display:swap;font-family:Montserrat;font-style:italic;font-weight:900;src:local("Montserrat Black italic"),local("Montserrat-Blackitalic"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-3028f5dd9ff9ce34cb18fac0f6ffbbda.woff2) format("woff2"),url(https://cdn.theconversation.com/static/tc/typeface-montserrat/files/montserrat-latin-900italic-1d7048d5048513c46705b15fb67a4379.woff) format("woff")}@keyframes (progress){to{background-position:-60px 0}}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}body,html{height:100%;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0}caption,td,th{font-weight:400;text-align:left}table,td,th{vertical-align:middle}blockquote:after,blockquote:before,q:after,q:before{content:""}blockquote,q{quotes:"" ""}img{-ms-interpolation-mode:bicubic}a img{border:none}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ol,nav ul{list-style:none}del{text-decoration:line-through}sup{vertical-align:super}sub,sup{font-size:smaller}sub{vertical-align:sub}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}input,select{vertical-align:middle}[class*=" icon-"],[class^=icon-],h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:TCFont-Regular;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f612b8e50274f80fce402eb6dd5356ea.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-b820d37bb7b5e511344449a3bb688f10.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/tcfont-regular-f5cd784c207a3587678e5864b0e6a5ce.ttf) format("truetype")}[class*=" icon-"],[class^=icon-]{display:inline-block;font-family:TCFont-Regular;font-size:1.231em;font-style:normal!important;font-weight:400!important;position:relative;top:-.1em;vertical-align:middle;width:1.231em}[class*=" icon-"].icon-comments:before,[class^=icon-].icon-comments:before{content:""}[class*=" icon-"].icon-twitter:before,[class^=icon-].icon-twitter:before{color:#000;content:""}[class*=" icon-"].icon-email:before,[class^=icon-].icon-email:before{content:""}[class*=" icon-"].icon-facebook:before,[class^=icon-].icon-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-maximise:before,[class^=icon-].icon-maximise:before{content:""}[class*=" icon-"].icon-republish:before,[class^=icon-].icon-republish:before{content:""}[class*=" icon-"].icon-globe:before,[class^=icon-].icon-globe:before{content:""}[class*=" icon-"].icon-delete:before,[class^=icon-].icon-delete:before{content:""}[class*=" icon-"].icon-add:before,[class^=icon-].icon-add:before{content:""}[class*=" icon-"].icon-layout:before,[class^=icon-].icon-layout:before{content:""}[class*=" icon-"].icon-article-published:before,[class*=" icon-"].icon-article:before,[class^=icon-].icon-article-published:before,[class^=icon-].icon-article:before{content:""}[class*=" icon-"].icon-article-check:before,[class^=icon-].icon-article-check:before{content:""}[class*=" icon-"].icon-chart:before,[class^=icon-].icon-chart:before{content:""}[class*=" icon-"].icon-reader:before,[class^=icon-].icon-reader:before{content:""}[class*=" icon-"].icon-readers:before,[class^=icon-].icon-readers:before{content:""}[class*=" icon-"].icon-subtract:before,[class^=icon-].icon-subtract:before{content:""}[class*=" icon-"].icon-comment:before,[class^=icon-].icon-comment:before{content:""}[class*=" icon-"].icon-search:before,[class^=icon-].icon-search:before{content:""}[class*=" icon-"].icon-help:before,[class^=icon-].icon-help:before{content:""}[class*=" icon-"].icon-rss:before,[class^=icon-].icon-rss:before{color:#eb7f3e;content:""}[class*=" icon-"].icon-rss-non-coloured:before,[class^=icon-].icon-rss-non-coloured:before{content:""}[class*=" icon-"].icon-favourite:before,[class^=icon-].icon-favourite:before{content:""}[class*=" icon-"].icon-location:before,[class^=icon-].icon-location:before{content:""}[class*=" icon-"].icon-time:before,[class^=icon-].icon-time:before{content:""}[class*=" icon-"].icon-friend-of-tc:before,[class^=icon-].icon-friend-of-tc:before{content:""}[class*=" icon-"].icon-friend-of-tc-outer:before,[class^=icon-].icon-friend-of-tc-outer:before{content:""}[class*=" icon-"].icon-friend-of-tc-heart:before,[class^=icon-].icon-friend-of-tc-heart:before{content:""}[class*=" icon-"].icon-check:before,[class^=icon-].icon-check:before{content:""}[class*=" icon-"].icon-favourite-add:before,[class^=icon-].icon-favourite-add:before{content:""}[class*=" icon-"].icon-followed:before,[class^=icon-].icon-followed:before{content:""}[class*=" icon-"].icon-skype:before,[class^=icon-].icon-skype:before{content:""}[class*=" icon-"].icon-media-enquiries:before,[class*=" icon-"].icon-phone:before,[class*=" icon-"].icon-work-phone:before,[class^=icon-].icon-media-enquiries:before,[class^=icon-].icon-phone:before,[class^=icon-].icon-work-phone:before{content:""}[class*=" icon-"].icon-mobile:before,[class^=icon-].icon-mobile:before{content:""}[class*=" icon-"].icon-private:before,[class^=icon-].icon-private:before{content:""}[class*=" icon-"].icon-public:before,[class^=icon-].icon-public:before{content:""}[class*=" icon-"].icon-topics:before,[class^=icon-].icon-topics:before{content:""}[class*=" icon-"].icon-menu:before,[class^=icon-].icon-menu:before{content:""}[class*=" icon-"].icon-external-link:before,[class^=icon-].icon-external-link:before{content:""}[class*=" icon-"].icon-trash:before,[class^=icon-].icon-trash:before{content:""}[class*=" icon-"].icon-image:before,[class*=" icon-"].icon-picture:before,[class^=icon-].icon-image:before,[class^=icon-].icon-picture:before{content:""}[class*=" icon-"].icon-edit:before,[class^=icon-].icon-edit:before{content:""}[class*=" icon-"].icon-heading:before,[class^=icon-].icon-heading:before{content:""}[class*=" icon-"].icon-bold:before,[class^=icon-].icon-bold:before{content:""}[class*=" icon-"].icon-italic:before,[class^=icon-].icon-italic:before{content:""}[class*=" icon-"].icon-link:before,[class^=icon-].icon-link:before{content:""}[class*=" icon-"].icon-video:before,[class^=icon-].icon-video:before{content:""}[class*=" icon-"].icon-fullscreen:before,[class^=icon-].icon-fullscreen:before{content:""}[class*=" icon-"].icon-close-fullscreen:before,[class^=icon-].icon-close-fullscreen:before{content:""}[class*=" icon-"].icon-favourite-minus:before,[class^=icon-].icon-favourite-minus:before{content:""}[class*=" icon-"].icon-envelope:before,[class^=icon-].icon-envelope:before{content:""}[class*=" icon-"].icon-simple-check:before,[class^=icon-].icon-simple-check:before{content:""}[class*=" icon-"].icon-calendar:before,[class^=icon-].icon-calendar:before{content:""}[class*=" icon-"].icon-the-conversation:before,[class^=icon-].icon-the-conversation:before{content:""}[class*=" icon-"].icon-lock:before,[class^=icon-].icon-lock:before{content:""}[class*=" icon-"].icon-unlock:before,[class^=icon-].icon-unlock:before{content:""}[class*=" icon-"].icon-audio:before,[class^=icon-].icon-audio:before{content:""}[class*=" icon-"].icon-chevron-right:before,[class^=icon-].icon-chevron-right:before{content:""}[class*=" icon-"].icon-caret-down:before,[class^=icon-].icon-caret-down:before{content:""}[class*=" icon-"].icon-caret-left:before,[class^=icon-].icon-caret-left:before{content:""}[class*=" icon-"].icon-caret-right:before,[class^=icon-].icon-caret-right:before{content:""}[class*=" icon-"].icon-caret-up:before,[class^=icon-].icon-caret-up:before{content:""}[class*=" icon-"].icon-pastespecial:before,[class^=icon-].icon-pastespecial:before{content:""}[class*=" icon-"].icon-linkedin:before,[class^=icon-].icon-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-pause:before,[class^=icon-].icon-pause:before{content:""}[class*=" icon-"].icon-cog:before,[class^=icon-].icon-cog:before{content:""}[class*=" icon-"].icon-orcid:before,[class^=icon-].icon-orcid:before{color:#a6ce39;content:""}[class*=" icon-"].icon-music:before,[class^=icon-].icon-music:before{content:""}[class*=" icon-"].icon-print:before,[class^=icon-].icon-print:before{content:""}[class*=" icon-"].icon-google-plus:before,[class^=icon-].icon-google-plus:before{color:#de4931;content:""}[class*=" icon-"].icon-home:before,[class^=icon-].icon-home:before{content:""}[class*=" icon-"].icon-facebook-simple:before,[class^=icon-].icon-facebook-simple:before{color:#3a5a93;content:""}[class*=" icon-"].icon-tag:before,[class^=icon-].icon-tag:before{content:""}[class*=" icon-"].icon-left-guillemet:before,[class^=icon-].icon-left-guillemet:before{content:""}[class*=" icon-"].icon-input:before,[class^=icon-].icon-input:before{content:""}[class*=" icon-"].icon-whatsapp:before,[class^=icon-].icon-whatsapp:before{color:#455a64;content:""}[class*=" icon-"].icon-fb-messenger:before,[class^=icon-].icon-fb-messenger:before{color:#0084ff;content:""}[class*=" icon-"].icon-youtube:before,[class^=icon-].icon-youtube:before{color:red;content:""}[class*=" icon-"].icon-auth-facebook:before,[class^=icon-].icon-auth-facebook:before{color:#3a5a93;content:""}[class*=" icon-"].icon-auth-twitter:before,[class^=icon-].icon-auth-twitter:before{color:#000;content:""}[class*=" icon-"].icon-auth-linkedin:before,[class^=icon-].icon-auth-linkedin:before{color:#0181b2;content:""}[class*=" icon-"].icon-auth-google:before,[class^=icon-].icon-auth-google:before{color:#de4931;content:""}.icon-combine .icon-friend-of-tc-heart{margin-top:.045em;position:absolute}span.icon-combine-heart{display:inline-block;font-size:inherit;height:inherit;padding-left:10px;position:relative}span.icon-combine-heart i{left:0;position:absolute;text-align:center;top:0}i.icon-conversation-red{color:#d8372c}.vivus-icon-examples li{float:left;height:25px;list-style:none;padding:10px 0;width:25%}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-979b88dad081c654981a0c29d46e27bc.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-6fbec92a1e6cb891ff0da1af2e97a523.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-regular-116bba3f2aa32286b63c594118c67f74.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-9f88f945d8445fa58978dfbc4bce5ae9.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-98b8244fa821eed601d3d92165b098c6.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bold-1c63ea5a813372cc806d3885496b3308.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-760c6e0b5a6ab858f15ea6cc6a864a40.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-022309ef5c47fb36921851f730a90a84.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-italic-e6cc30071bd07d243648b875a10a6c02.ttf) format("truetype")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot);src:url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-4fc9003b7c507a3909502ccc05a9cf2a.eot?#iefix) format("embedded-opentype"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-005508da94d530c4715b860b63e014bc.woff) format("woff"),url(https://cdn.theconversation.com/static/tc/stylesheets/carlton/fonts/librebaskerville-bolditalic-d0e7fc2079d2288a9c737a386bd46401.ttf) format("truetype")}@media only screen and (max-width:599px){body{font-size:16px;height:100%;line-height:22px;width:100%}body #page-wrapper.overlay-visible{height:100%;overflow:hidden}body .handheld{display:block}body p{padding:0}body.pages-show .highlight-panel{display:none}body.pages-show .page-layout.section .handheld-analysis,body.pages-show .page-layout.section .series{display:block}body.pages-show .page-layout.section .handheld-ad,body.pages-show .page-layout.section .handheld-briefs{display:none}body.pages-show .page-layout.section.handheld-display-research .handheld-briefs,body.pages-show .page-layout.section.handheld-display-research .handheld-research{display:block}body.pages-show .page-layout.section.handheld-display-research #special_section,body.pages-show .page-layout.section.handheld-display-research .handheld-ad,body.pages-show .page-layout.section.handheld-display-research .series,body.pages-show .page-layout.section.handheld-display-research section#research-news .bordered{display:none}body.pages-show .page-layout.section.handheld-display-columns .handheld-ad,body.pages-show .page-layout.section.handheld-display-columns .handheld-columnists{display:block}body #analysis-and-comment .bordered,body #columnists .bordered,body #eb,body #editors-picks,body #members-footer,body #misc-sidebar,body #partners-footer,body #primary-navigation,body #research-news .bordered,body .masthead-search,body.pages-show .page-layout.section.handheld-display-columns #special_section,body.pages-show .page-layout.section.handheld-display-columns .handheld-briefs,body.pages-show .page-layout.section.handheld-display-columns .series{display:none}body .wrapper{margin:0;padding-left:10px;padding-right:10px;width:auto}body.search-index #search_form #search-header{background:none;padding:0}body.search-index #search_form #search-header .search-form{padding-bottom:0}body.search-index #search_form #search-header .search-form label{box-sizing:border-box;padding:6px 0 0 8px}body.search-index #search_form #search-header .search-form input{-webkit-appearance:none;box-sizing:border-box;font-size:20px;min-width:100%;padding:4px 8px 4px 35px;width:100%}body.search-index #search_form #search-header .search-form input[type=submit]{left:-110%;position:absolute}body.search-index #search_form #search-header .search-form nav,body.search-index #search_form aside#search-sidebar{display:none}body.search-index #search_form section#search-results{margin-top:12px}body.search-index #search_form section#search-results h1{font-size:20px;text-align:left}body footer#footer{padding:5px 0}body footer#footer a{letter-spacing:normal;margin-right:10px}body footer#footer p.copyright{clear:both;float:none;font-size:12px;letter-spacing:normal;margin-bottom:0;padding:5px 0;text-align:center}body footer#footer p.copyright span{display:block}body footer#footer p.copyright span+span{margin-top:3px}body footer#footer p.copyright a{display:inline}body footer#footer p.copyright .comma{display:none}body #outer{padding-top:12px}body #outer>.wrapper{padding-bottom:0}body #outer .sidebar-link-list{display:none}body.pages .page-layout.section nav#tabbed-navigation{display:table}body h1.page-header{font-size:20px!important;line-height:1.3!important;width:100%}body h2{font-size:18px;line-height:1.3}body.partners.partners-index .partner article:after,body.partners.partners-index .partner:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}body.info.info-contact_us #email tr th{border:0!important;display:block;padding-bottom:10px!important}body.info.info-contact_us #email tr td{border-bottom:1px solid #d7d7db;border-top:0!important;display:block;margin:0!important;padding-top:0!important}body article aside.share{clear:both}body article aside.share li{float:left;margin-right:5px}body article aside.share li .button{font-size:10px;margin-bottom:0;padding-right:8px}body .content-list figure{display:none}body.columns-show article{margin-bottom:1em}body.columns-show .pagination{font-size:.9em;margin-bottom:1em}}@media only screen and (min-width:1466px){html body .article-section article h2{font-size:20px}html body .article-section .lead-story h2{font-size:30px}html body .article-section .c-format h2{font-size:12px}html body.profiles-dashboards-show .metrics-wrapper .metrics-column{width:50%}html body .donations-video iframe{height:279px}}.vivus-grid-example{background-color:#212121;color:#fff;display:block;margin-bottom:20px;padding:20px;text-align:center}body{min-width:992px}.wrapper{margin:0 auto;position:relative;width:972px}.wrapper:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.wrapper [class*=" grid-"],.wrapper [class^=grid-]{float:left;margin-right:20px}.wrapper .grid-one{width:42px}.wrapper .grid-two{width:104px}.wrapper .grid-three{width:166px}.wrapper .grid-four{width:228px}.wrapper .grid-five{width:290px}.wrapper .grid-six{width:352px}.wrapper .grid-seven{width:414px}.wrapper .grid-eight{width:476px}.wrapper .grid-nine{width:538px}.wrapper .grid-ten{width:600px}.wrapper .grid-eleven{width:662px}.wrapper .grid-twelve{width:724px}.wrapper .grid-thirteen{width:786px}.wrapper .grid-fourteen{width:848px}.wrapper .grid-fifteen{width:910px}.wrapper .grid-sixteen{width:972px}.wrapper .grid-prepend-one{margin-left:62px}.wrapper .grid-prepend-two{margin-left:124px}.wrapper .grid-prepend-three{margin-left:186px}.wrapper .grid-prepend-four{margin-left:248px}.wrapper .grid-prepend-five{margin-left:310px}.wrapper .grid-prepend-six{margin-left:372px}.wrapper .grid-prepend-seven{margin-left:434px}.wrapper .grid-prepend-eight{margin-left:496px}.wrapper .grid-prepend-nine{margin-left:558px}.wrapper .grid-prepend-ten{margin-left:620px}.wrapper .grid-prepend-eleven{margin-left:682px}.wrapper .grid-prepend-twelve{margin-left:744px}.wrapper .grid-prepend-thirteen{margin-left:806px}.wrapper .grid-prepend-fourteen{margin-left:868px}.wrapper .grid-prepend-fifteen{margin-left:930px}.wrapper .grid-prepend-sixteen{margin-left:992px}.wrapper .grid-append-one{margin-right:62px}.wrapper .grid-append-two{margin-right:124px}.wrapper .grid-append-three{margin-right:186px}.wrapper .grid-append-four{margin-right:248px}.wrapper .grid-append-five{margin-right:310px}.wrapper .grid-append-six{margin-right:372px}.wrapper .grid-append-seven{margin-right:434px}.wrapper .grid-append-eight{margin-right:496px}.wrapper .grid-append-nine{margin-right:558px}.wrapper .grid-append-ten{margin-right:620px}.wrapper .grid-append-eleven{margin-right:682px}.wrapper .grid-append-twelve{margin-right:744px}.wrapper .grid-append-thirteen{margin-right:806px}.wrapper .grid-append-fourteen{margin-right:868px}.wrapper .grid-append-fifteen{margin-right:930px}.wrapper .grid-append-sixteen{margin-right:992px}.wrapper .grid-last{margin-right:0}.wrapper .grid-left{float:left}.wrapper .grid-right{float:right}@media only screen and (max-width:599px){body{min-width:100%}.wrapper,.wrapper .grid-eight,.wrapper .grid-eleven,.wrapper .grid-fifteen,.wrapper .grid-five,.wrapper .grid-four,.wrapper .grid-fourteen,.wrapper .grid-nine,.wrapper .grid-one,.wrapper .grid-seven,.wrapper .grid-six,.wrapper .grid-sixteen,.wrapper .grid-ten,.wrapper .grid-thirteen,.wrapper .grid-three,.wrapper .grid-twelve,.wrapper .grid-two{width:100%}.wrapper .grid-prepend-eight,.wrapper .grid-prepend-eleven,.wrapper .grid-prepend-fifteen,.wrapper .grid-prepend-five,.wrapper .grid-prepend-four,.wrapper .grid-prepend-fourteen,.wrapper .grid-prepend-nine,.wrapper .grid-prepend-one,.wrapper .grid-prepend-seven,.wrapper .grid-prepend-six,.wrapper .grid-prepend-sixteen,.wrapper .grid-prepend-ten,.wrapper .grid-prepend-thirteen,.wrapper .grid-prepend-three,.wrapper .grid-prepend-twelve,.wrapper .grid-prepend-two{margin-left:0}.wrapper .grid-append-eight,.wrapper .grid-append-eleven,.wrapper .grid-append-fifteen,.wrapper .grid-append-five,.wrapper .grid-append-four,.wrapper .grid-append-fourteen,.wrapper .grid-append-nine,.wrapper .grid-append-one,.wrapper .grid-append-seven,.wrapper .grid-append-six,.wrapper .grid-append-sixteen,.wrapper .grid-append-ten,.wrapper .grid-append-thirteen,.wrapper .grid-append-three,.wrapper .grid-append-twelve,.wrapper .grid-append-two{margin-right:0}}@media only screen and (min-width:1466px){body{min-width:1376px}.wrapper{width:1356px}.wrapper .grid-one{width:66px}.wrapper .grid-two{width:152px}.wrapper .grid-three{width:238px}.wrapper .grid-four{width:324px}.wrapper .grid-five{width:410px}.wrapper .grid-six{width:496px}.wrapper .grid-seven{width:582px}.wrapper .grid-eight{width:668px}.wrapper .grid-nine{width:754px}.wrapper .grid-ten{width:840px}.wrapper .grid-eleven{width:926px}.wrapper .grid-twelve{width:1012px}.wrapper .grid-thirteen{width:1098px}.wrapper .grid-fourteen{width:1184px}.wrapper .grid-fifteen{width:1270px}.wrapper .grid-sixteen{width:1356px}.wrapper .grid-prepend-one{margin-left:86px}.wrapper .grid-prepend-two{margin-left:172px}.wrapper .grid-prepend-three{margin-left:258px}.wrapper .grid-prepend-four{margin-left:344px}.wrapper .grid-prepend-five{margin-left:430px}.wrapper .grid-prepend-six{margin-left:516px}.wrapper .grid-prepend-seven{margin-left:602px}.wrapper .grid-prepend-eight{margin-left:688px}.wrapper .grid-prepend-nine{margin-left:774px}.wrapper .grid-prepend-ten{margin-left:860px}.wrapper .grid-prepend-eleven{margin-left:946px}.wrapper .grid-prepend-twelve{margin-left:1032px}.wrapper .grid-prepend-thirteen{margin-left:1118px}.wrapper .grid-prepend-fourteen{margin-left:1204px}.wrapper .grid-prepend-fifteen{margin-left:1290px}.wrapper .grid-prepend-sixteen{margin-left:1376px}.wrapper .grid-append-one{margin-right:86px}.wrapper .grid-append-two{margin-right:172px}.wrapper .grid-append-three{margin-right:258px}.wrapper .grid-append-four{margin-right:344px}.wrapper .grid-append-five{margin-right:430px}.wrapper .grid-append-six{margin-right:516px}.wrapper .grid-append-seven{margin-right:602px}.wrapper .grid-append-eight{margin-right:688px}.wrapper .grid-append-nine{margin-right:774px}.wrapper .grid-append-ten{margin-right:860px}.wrapper .grid-append-eleven{margin-right:946px}.wrapper .grid-append-twelve{margin-right:1032px}.wrapper .grid-append-thirteen{margin-right:1118px}.wrapper .grid-append-fourteen{margin-right:1204px}.wrapper .grid-append-fifteen{margin-right:1290px}.wrapper .grid-append-sixteen{margin-right:1376px}.wrapper .large-grid-one{width:66px}.wrapper .large-grid-two{width:152px}.wrapper .large-grid-three{width:238px}.wrapper .large-grid-four{width:324px}.wrapper .large-grid-five{width:410px}.wrapper .large-grid-six{width:496px}.wrapper .large-grid-seven{width:582px}.wrapper .large-grid-eight{width:668px}.wrapper .large-grid-nine{width:754px}.wrapper .large-grid-ten{width:840px}.wrapper .large-grid-eleven{width:926px}.wrapper .large-grid-twelve{width:1012px}.wrapper .large-grid-thirteen{width:1098px}.wrapper .large-grid-fourteen{width:1184px}.wrapper .large-grid-fifteen{width:1270px}.wrapper .large-grid-sixteen{width:1356px}.wrapper .large-grid-prepend-one{margin-left:86px}.wrapper .large-grid-prepend-two{margin-left:172px}.wrapper .large-grid-prepend-three{margin-left:258px}.wrapper .large-grid-prepend-four{margin-left:344px}.wrapper .large-grid-prepend-five{margin-left:430px}.wrapper .large-grid-prepend-six{margin-left:516px}.wrapper .large-grid-prepend-seven{margin-left:602px}.wrapper .large-grid-prepend-eight{margin-left:688px}.wrapper .large-grid-prepend-nine{margin-left:774px}.wrapper .large-grid-prepend-ten{margin-left:860px}.wrapper .large-grid-prepend-eleven{margin-left:946px}.wrapper .large-grid-prepend-twelve{margin-left:1032px}.wrapper .large-grid-prepend-thirteen{margin-left:1118px}.wrapper .large-grid-prepend-fourteen{margin-left:1204px}.wrapper .large-grid-prepend-fifteen{margin-left:1290px}.wrapper .large-grid-prepend-sixteen{margin-left:1376px}.wrapper .large-grid-append-one{margin-right:86px}.wrapper .large-grid-append-two{margin-right:172px}.wrapper .large-grid-append-three{margin-right:258px}.wrapper .large-grid-append-four{margin-right:344px}.wrapper .large-grid-append-five{margin-right:430px}.wrapper .large-grid-append-six{margin-right:516px}.wrapper .large-grid-append-seven{margin-right:602px}.wrapper .large-grid-append-eight{margin-right:688px}.wrapper .large-grid-append-nine{margin-right:774px}.wrapper .large-grid-append-ten{margin-right:860px}.wrapper .large-grid-append-eleven{margin-right:946px}.wrapper .large-grid-append-twelve{margin-right:1032px}.wrapper .large-grid-append-thirteen{margin-right:1118px}.wrapper .large-grid-append-fourteen{margin-right:1204px}.wrapper .large-grid-append-fifteen{margin-right:1290px}.wrapper .large-grid-append-sixteen{margin-right:1376px}}#header{background:#f2f2f3;border-bottom:5px solid #f2f2f3;border-top:1px solid #d7d7db;padding-top:24px}#header.condensed{border-bottom:1px solid #d7d7db;padding-top:17px}#header.condensed #masthead{margin-bottom:18px}#header.condensed .masthead-home-link{display:block;float:left;top:3px;width:260px}#header.condensed .masthead-home-link img{width:100%}#header.condensed .masthead-tagline{display:none}@media only screen and (max-width:599px){#header,#header.condensed{border:none;padding:0}#header .wrapper,#header.condensed .wrapper{position:static}#header #masthead,#header.condensed #masthead{margin:0}}#masthead{margin:0 0 24px;position:relative}#masthead .masthead-home-link{color:#4b4b4e;display:block;float:left;font-family:Helvetica Neue,sans-serif;font-size:32px;font-weight:700;height:29px;margin-bottom:0;position:relative;text-transform:uppercase;width:350px}#masthead .masthead-home-link img{display:block}html.no-svg #masthead .masthead-home-link{background:url(https://cdn.theconversation.com/static/tc/logos/logo-no-svg-44adbb10155a857a2ee142b13158122f.png) 0 0 no-repeat;height:30px;width:262px}html.no-svg #masthead .masthead-home-link img{display:none}#masthead .masthead-tagline{clear:left;color:#4b4b4e;float:left;font-size:12px;font-weight:400;height:18px;padding-top:4px;width:300px}#masthead .masthead-search{float:right;margin-left:20px;margin-top:-3px}#masthead .masthead-search input{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;display:block;font-size:12px;line-height:16px;min-width:280px;padding:7px 6px 6px 26px;position:relative}#masthead .masthead-search input:focus{border-color:#d7d7db;outline:none}#masthead .masthead-search label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}#masthead .masthead-search label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}#masthead .masthead-search .button,#masthead .masthead-search legend{display:none}@media only screen and (max-width:599px){#masthead{display:none}}#topbar{background:#fff;height:46px;line-height:18px;position:relative;z-index:25}.topbar-module{float:left}.topbar-button-list{list-style:none}.topbar-button-list li{float:left;margin-right:8px}.topbar-button-list li:first-child{margin-left:8px}.topbar-button-list a{border-radius:16px;display:block;height:32px;line-height:32px;margin:7px 0;text-align:center;width:32px}.topbar-button-list i{font-size:16px;line-height:16px;margin:0 auto;top:2px;vertical-align:baseline}.topbar-button-list i:before{color:#fff}.topbar-stay-informed{float:right}.topbar-stay-informed .topbar-button-text{color:#fff;display:none;padding:0 6px 0 0}.topbar-stay-informed .topbar-button.with-label a{padding:0 6px;width:auto}.topbar-stay-informed .topbar-button i:before{color:#fff}.topbar-stay-informed .newsletter a{background:#d8372c}.topbar-stay-informed .newsletter a:hover{background:#b12a20}.topbar-stay-informed .facebook a{background:#3a5a93}.topbar-stay-informed .facebook a:hover{background:#4971b7}.topbar-stay-informed .twitter a{background:#00b0e9}.topbar-stay-informed .twitter a:hover{background:#1dc8ff}.topbar-stay-informed .rss a{background:#eb7f3e}.topbar-stay-informed .rss a:hover{background:#f09e6c}.topbar-stay-informed .linkedin a{background:#0181b2}.topbar-stay-informed .linkedin a:hover{background:#01a6e5}.topbar-stay-informed .googleplus a{background:#de4931}.topbar-stay-informed .googleplus a:hover{background:#e5705d}.topbar-item-list{list-style:none}.topbar-item-list li{border-left:1px solid #d7d7db;float:left}.topbar-item-list li:first-child{border-left:0;padding-left:0}.topbar-item-list li a{color:#4b4b4e;display:block;height:18px;padding:15px 10px 13px;transition:background .3s}.topbar-item-list li a:active,.topbar-item-list li a:focus,.topbar-item-list li a:hover{background:#f2f2f3;color:#000}.topbar-item-list .tc-donate{background-color:#d8372c}.topbar-item-list .tc-donate a{color:#fff;font-weight:700;padding:14px 10px}.topbar-item-list .tc-donate a:active,.topbar-item-list .tc-donate a:focus,.topbar-item-list .tc-donate a:hover{background:#990a00;color:#fff}.topbar-dropdown a{color:#4b4b4e;display:block;height:18px;padding:15px 15px 13px;position:relative;transition:background .3s;white-space:nowrap;z-index:200}.topbar-dropdown a:active,.topbar-dropdown a:focus,.topbar-dropdown a:hover{background:#f2f2f3;color:#000}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-open{bottom:0;display:none;left:0;position:absolute;right:0;text-indent:-10000px;top:0}.topbar-dropdown .menu-button-close,.topbar-dropdown .menu-button-close:focus,.topbar-dropdown .menu-button-close:hover,.topbar-dropdown .menu-button-open,.topbar-dropdown .menu-button-open:focus,.topbar-dropdown .menu-button-open:hover{background:url(https://cdn.theconversation.com/static/tc/"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") repeat 0 0}.topbar-dropdown .menu-button-contents{display:block;height:18px;padding:15px 6px 13px 15px;position:relative}.topbar-dropdown .menu-button-text{float:left;max-width:150px;overflow:hidden;padding-right:6px;position:relative;text-overflow:ellipsis;white-space:nowrap}.topbar-dropdown .drop-down-caret{color:transparent;font-size:1em;opacity:.6;top:-2px}.js .topbar-dropdown .drop-down-caret{color:inherit}.topbar-dropdown.open .menu{display:block;z-index:8}.topbar-dropdown.open .menu-button-contents{border-bottom:1px solid #fff;margin-bottom:-1px;position:relative;z-index:10}.topbar-dropdown .menu{background:#fff;border:1px solid #f1f1f2;border-radius:0 0 2px 2px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);box-sizing:border-box;display:none;left:0;margin-right:-1px;min-width:100%;position:absolute;top:46px}.topbar-mobile-home-link{color:#4b4b4e;display:none;font-family:Helvetica Neue,sans-serif;font-size:18px;font-weight:700;height:46px;margin-left:25%;text-transform:uppercase;width:50%;z-index:100}.topbar-mobile-home-link img{position:relative;top:50%;transform:translateY(-50%);width:100%}.topbar-home-link{text-align:center}.topbar-dashboard-link{float:right}.topbar-dashboard-link a{border-left:1px solid #f2f2f3;border-right:1px solid #f2f2f3}.topbar-label{padding:15px 0 13px 10px}.topbar-edition-selector{border-right:1px solid #f2f2f3;height:46px;position:relative}.topbar-edition-selector .current-region{color:#d8372c}.topbar-account-nav{border-right:1px solid #f2f2f3;float:right;position:relative}.editing-page .topbar-account-nav{border-right:0}.topbar-account-nav img{border-radius:32px;display:inline;height:36px;margin-top:-10px;width:36px}.topbar-account-nav .dashboard{display:none}.topbar-account-nav .activity-count{background:#d8372c;border:1px solid #d8372c;border-radius:10px;color:#fff;font-size:11px;font-weight:700;height:14px;line-height:14px;padding:2px 6px;position:absolute;right:-11px;top:3px;z-index:12}@media only screen and (min-width:1466px){.topbar-stay-informed .topbar-button-text{display:inline}}@media only screen and (max-width:599px){.topbar-admin-shortcuts,.topbar-dashboard-link,.topbar-edition-selector,.topbar-edition-selector-title,.topbar-home-link,.topbar-promotional-links,.topbar-stay-informed{display:none}#topbar{border-bottom:1px solid #f2f2f3;font-size:12px}#topbar .wrapper{padding-left:10px;padding-right:10px}#topbar .topbar-mobile-home-link{display:block}#topbar .author-signup,#topbar .reader-signup{display:none}.topbar-account-nav{border-right:0;display:block;position:absolute;right:0;top:0}.topbar-account-nav .activity-count{right:33px}.topbar-account-nav.open .menu-button-contents{border-left:1px solid #f2f2f3}.topbar-account-nav .menu-button-contents{padding-left:6px}.topbar-account-nav .menu-button-name{display:none}.topbar-account-nav .menu{border-right:0;left:auto;right:1px}.topbar-account-nav .dashboard{display:block}.topbar-account-nav .menu-button{padding-left:0}}#page-wrapper,body,html{height:100%}body{background-color:#fff;line-height:18px}#page-wrapper{display:flex;flex-direction:column}#outer{flex:1;padding-top:48px}#outer>.wrapper{padding-bottom:48px}#footers{flex-shrink:0}.handheld{display:none}h1 a:hover{text-decoration:none}div.crop{overflow:hidden}table.grid td,table.grid tr{border-bottom:1px solid #000}input::-moz-placeholder{color:#62626a}input::placeholder{color:#62626a}input.placeholder{color:#62626a}input:focus::-moz-placeholder{color:#d7d7db}input:focus::placeholder{color:#d7d7db}input:focus.placeholder{color:#d7d7db}.fluid-width-video-wrapper{margin-bottom:18px}audio{display:none;height:0;visibility:hidden;width:0}.placeholder-container{background-color:var(--background-color);position:relative}.placeholder-container:before{content:"";float:left;height:0;margin-left:-1px;padding-top:var(--aspect-ratio-percent);width:1px}.placeholder-container:after{clear:both;content:"";display:table}.placeholder-container iframe,.placeholder-container img{bottom:0;height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:.1;position:absolute!important;right:0;top:0;transition:opacity .5s;width:100%}.placeholder-container iframe.lazyloaded,.placeholder-container img.lazyloaded{filter:blur(0);opacity:1}.placeholder-container img{background-color:#fff}html{-webkit-text-size-adjust:100%}body,input,select,textarea{color:#000;font-family:Helvetica Neue,sans-serif;font-size:13px}.text-center{text-align:center}span.nobr{white-space:nowrap}p{margin-bottom:18px}p.fine-print{font-size:11px!important}strong{font-weight:700}blockquote,em{font-style:italic}blockquote{clear:both;color:#4b4b4e;margin-bottom:18px;padding:9px 18px 12px;text-align:center}blockquote p:last-child,blockquote>blockquote:last-child{margin-bottom:0}blockquote,blockquote.left{border-left:4px solid #d7d7db;text-align:left}blockquote.right{border-right:4px solid #d7d7db;text-align:right}blockquote.feature{border-bottom:4px solid #f2f2f3;border-left:none;border-top:4px solid #f2f2f3;color:#000;font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:32px;font-style:normal;font-weight:700;margin:18px 0 36px;padding:30px 0 24px;position:relative;text-align:left;text-transform:uppercase}blockquote.feature p:first-child{text-indent:50px}blockquote.feature:before{color:#d7d7db;content:"“";font-size:125px;left:0;position:absolute;top:62px}blockquote.feature,blockquote.feature p{line-height:36px}blockquote.feature cite{font-size:24px}blockquote.feature cite:before{content:"— "}blockquote cite{color:#4b4b4e;font-style:normal}blockquote,h1,h2,h3,h4,h5,h6{-webkit-text-rendering:optimizeLegibility;-moz-text-rendering:optimizeLegibility;-ms-text-rendering:optimizeLegibility;-o-text-rendering:optimizeLegibility;text-rendering:optimizeLegibility}h1.legacy.slammed,h2.slammed,h3.slammed,h4.legacy.slammed,h5.slammed,h6.slammed{margin-bottom:0}h1.legacy.border,h2.border,h3.border,h4.legacy.border,h5.border,h6.border{border-bottom:1px solid #d7d7db;padding-bottom:.33em}h1.legacy{font-size:28px;font-weight:700;line-height:36px;margin-bottom:18px}h1.legacy.page-header{border-bottom:1px solid #d7d7db;margin-bottom:36px;padding-bottom:9px}h1.legacy.page-header span{color:#d7d7db}h2{font-size:23px}h2,h3{font-weight:700;margin-bottom:12px}h3{color:#000;font-size:15px;line-height:18px}h4.legacy{color:#000;font-size:10px;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}h6{color:#d7d7db}hr{border:none;border-top:1px solid #d7d7db;clear:both;margin-bottom:18px}.link,a{color:#085d91;outline:none;text-decoration:none}.link:hover,a:hover{color:#003461;text-decoration:none}.link:focus,a:focus{outline:none}.link:visited,a:visited{color:#4b4b4e}.link:visited:hover,a:visited:hover{color:#085d91}nav ol li,nav ul li{list-style:none;margin-left:0}ul li{margin-left:0}ul.fine-print li{font-size:11px}ul.semantic li{list-style-type:none;margin-left:0}ol li{margin-left:0}ol.fine-print li{font-size:11px}ol.semantic li{list-style-type:none;margin-left:0}dl dt{clear:left;float:left;font-weight:700}dl dd{float:left;margin-left:1em;text-align:left}.league-gothic{font-family:LeagueGothicRegular,League Gothic,Impact,sans-serif;font-size:30px;font-size-adjust:.455;font-weight:400;line-height:40px;text-rendering:optimizeLegibility}.meslo{font-family:MesloLGMDZ,Monaco,monospace}.figure,figure{display:block;position:relative}.figure:after,figure:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.figure iframe,figure iframe{display:block}.figure .figcaption,.figure figcaption,figure .figcaption,figure figcaption{color:#212121;display:block;font-size:13px;line-height:18px;padding-top:6px}.figure .figcaption a,.figure figcaption a,figure .figcaption a,figure figcaption a{font-weight:400!important}.figure .figcaption .attribution,.figure .figcaption .attribution a,.figure figcaption .attribution,.figure figcaption .attribution a,figure .figcaption .attribution,figure .figcaption .attribution a,figure figcaption .attribution,figure figcaption .attribution a{color:#212121}.figure .figcaption .attribution a:focus,.figure .figcaption .attribution a:hover,.figure figcaption .attribution a:focus,.figure figcaption .attribution a:hover,figure .figcaption .attribution a:focus,figure .figcaption .attribution a:hover,figure figcaption .attribution a:focus,figure figcaption .attribution a:hover{color:#085d91}article header p.byline{color:#4b4b4e;font-size:11px;line-height:18px;margin-bottom:0;padding:2px 0}.callout{background:#f2f2f3;border-top:4px solid #d7d7db;color:#000;display:block;margin:1em 0;padding:.5em 1em}.right{float:right}.left{float:left}.clear{clear:both}.clear-left{clear:left}.clear-right{clear:right}.clearfix:after,.clearfix:before{content:" ";display:block;height:0;visibility:hidden}.clearfix:after{clear:both}.clearfix{zoom:1}@keyframes pulse{40%{transform:scale(1)}47%{transform:scale(1.03)}55%{transform:scale(1)}to{transform:scale(1)}}.information{background:#f2f2f3 url(https://cdn.theconversation.com/static/tc/icons/alert-instructions-76f48e944055d94f9ad902aca4ffe1f1.png) no-repeat 15px 13px;border-radius:2px;color:#4b4b4e;padding:12px 12px 12px 42px}.information a{color:inherit;font-weight:700}.information p{margin-bottom:0}.information p+p{margin-top:1em}.information .button{margin:-3px 6px}.information ul{list-style-position:inside}.information.prominent{background-color:#f2f2f3;border:1px solid #d7d7db}.information.success{background-color:#29a37a;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-success-cefcd0dc236e8d3c0a77863b29040399.png);color:#fff}.information.error{background-color:#d8372c;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-error-f95893328ecf3dd6c51eba085c089084.png);color:#fff}.information.warning{background-color:#ffda75;background-image:url(https://cdn.theconversation.com/static/tc/icons/alert-information-30e614f3f403049753170ccd98ce7053.png);color:#000}.formtastic .information{padding:12px 12px 12px 42px}p.flash{animation-duration:5s;animation-iteration-count:infinite;animation-name:pulse;animation-timing-function:ease-in-out;backface-visibility:hidden;background-color:#f2f2f3;border:1px solid #d7d7db;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:none;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);color:#000;filter:url(https://cdn.theconversation.com/static/tc/"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='grayscale'><feColorMatrix type='matrix' values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0'/></filter></svg>#grayscale");font-size:13px;left:50%;margin-left:-240px;padding:10px 20px;position:fixed;text-align:center;top:0;transform-style:preserve-3d;width:440px;z-index:30000}@media only screen and (max-width:599px){p.flash{margin-left:-37%;padding:10px 2%;width:70%}}p.flash.hidden{top:-200px;transition:top .5s}p.flash.show{top:0;transition:top .5s}p.flash.notice{background-color:#29a37a;border-color:#29a37a;color:#fff;font-weight:700}p.flash.warning{background-color:#ffda75;border-color:#ffda75}p.flash.alert{background-color:#d8372c;border-color:#d8372c;color:#fff;font-weight:700}#masthead{padding-top:5px}#masthead a.masthead-home-link{height:40px;margin-top:-8px}#masthead .masthead-search #q{box-sizing:border-box}#primary-navigation{position:relative}#primary-navigation:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}#primary-navigation ol{float:left;list-style:none;margin-bottom:-4px;width:100%;z-index:3}#primary-navigation li{float:left;margin-right:.8em}#primary-navigation li:last-child{margin-right:0}#primary-navigation li.custom-nav-link{float:right;margin-left:20px}#primary-navigation a{border-bottom:5px solid transparent;color:#4b4b4e;display:block;float:left;font-size:13px;font-weight:700;line-height:26px;margin-bottom:-1px;padding-bottom:5px}#primary-navigation a.current,#primary-navigation a:hover{border-color:#d8372c;text-decoration:none}#primary-navigation a:hover{color:#4b4b4e}#primary-navigation a.current{color:#212121}#primary-navigation span span{color:#4b4b4e}@media only screen and (min-width:1466px){#primary-navigation li{margin-right:1.2em}#primary-navigation a{font-size:14px}}.region-select{background:#fff;border:1px solid #d7d7db;border-radius:.25rem;float:left;height:28px;margin:10px 10px 0 0;overflow:hidden;position:relative;width:140px}.region-select:after{bottom:0;color:#d7d7db;content:"";font-family:TCFont-Regular;line-height:2;position:absolute;right:10px;top:0}.region-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;-moz-outline:none;-moz-user-focus:none;background:transparent;border:none;box-shadow:none;color:#383838;display:block;font-size:inherit;height:28px;outline:none;padding:5px 7px;position:absolute;text-indent:.01px;text-overflow:"";width:120%;z-index:1}.region-select select:-moz-focusring{color:transparent}.region-select select::-ms-expand{display:none}.search-form legend{display:none}.search-form .input-wrapper{position:relative}.search-form .input-wrapper input[type=text],.search-form .input-wrapper label{display:block;font-size:12px;line-height:16px}.search-form .input-wrapper label{color:#4b4b4e;padding:8px 0 0 12px;position:absolute;z-index:3}.search-form .input-wrapper label i:before{color:#4b4b4e;font-size:14px;left:-4px;position:relative;top:0}.search-form .input-wrapper input[type=text]{background-color:#fff;border:1px solid #d7d7db;border-radius:2px;min-width:280px;padding:7px 6px 6px 26px;position:relative}.search-form .input-wrapper input[type=text]:focus{border-color:#293299;outline:none}#small-sidebar{background:#fff;background-clip:padding-box;border-top:46px solid transparent;box-sizing:border-box;display:none;font-family:Noto Sans,sans-serif;height:0;overflow-y:auto;position:absolute;top:0;transition:height .55s cubic-bezier(.32,.08,.24,1);width:100%;z-index:11;-webkit-overflow-scrolling:touch}#small-sidebar.visible{height:100%}#small-sidebar.visible .small-sidebar-group{opacity:1;top:0}.new-header #small-sidebar{border-top:96px solid transparent;z-index:9}#small-sidebar-close-button,#small-sidebar-open-button{color:#383838;display:none;font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700;line-height:46px;padding:0 12px;position:absolute;top:auto;transition:opacity .275s}.new-header #small-sidebar-close-button,.new-header #small-sidebar-open-button{color:#000;font-family:Montserrat;line-height:57px;padding:0 16px;top:44px}#small-sidebar-open-button{opacity:1;z-index:101}#small-sidebar-close-button,#small-sidebar-open-button.visible{opacity:0;z-index:100}#small-sidebar-close-button.visible{opacity:1;z-index:101}.small-sidebar-editions .region-select{border:none;box-sizing:border-box;height:33px;margin:0;width:100%}.small-sidebar-editions .region-select:after{color:#727272;line-height:1em;padding:10px;pointer-events:none;right:0;top:0}.small-sidebar-editions select{font-size:15px;height:33px;padding:0 4px}#small-sidebar-search form{position:relative}#small-sidebar-search input{border:none;border-radius:.25rem;box-sizing:border-box;font-size:15px;height:33px;width:100%}#small-sidebar-search input::-moz-placeholder{color:#383838;opacity:1}#small-sidebar-search input::placeholder{color:#383838;opacity:1}#small-sidebar-search input:focus::-moz-placeholder{opacity:.2}#small-sidebar-search input:focus::placeholder{opacity:.2}#small-sidebar-search button{background:none;border:none;border-radius:2px;color:#fff;cursor:pointer;height:29px;padding:7px 0;position:absolute;right:2px;top:2px;transition:background .3s;width:33px}#small-sidebar-search button .icon-search{color:#727272;font-size:22px}#small-sidebar-search input,.small-sidebar-editions .region-select{border:1px solid #d7d7db;border-radius:.25rem;float:none;height:auto;width:100%}#small-region-select-dropdown,#small-sidebar-search input{font-family:Noto Sans,sans-serif;font-size:14px;height:auto;padding:10px 12px;position:static;width:100%}.small-sidebar-group{opacity:0;padding:12px;position:relative;top:-50px;transition:opacity 1.1s cubic-bezier(.32,.08,.24,1) .198s,top .55s cubic-bezier(.32,.08,.24,1)}.small-sidebar-group:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group+.small-sidebar-group{margin-top:0}.small-sidebar-group h3{color:#383838;font-size:14px;font-weight:700;line-height:1;margin:0 0 8px;padding:0}.small-sidebar-group h3:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.small-sidebar-group ul{list-style:none}.small-sidebar-group li{margin:5px 0 0}.small-sidebar-group a{color:#383838;display:block;font-size:20px;font-weight:700;line-height:1;margin:0 0 .8em;padding:.2em 0;position:relative}.small-sidebar-group a.active{border-left:6px solid #d7d7db;margin-left:-12px;padding-left:6px}.small-sidebar-group .icon-chevron-right{font-size:14px;line-height:1;position:absolute;right:2px;top:10px}.sections-sidebar-group a{font-family:Montserrat,sans-serif}@media only screen and (max-width:599px){#small-sidebar,#small-sidebar-close-button,#small-sidebar-open-button{display:block}}#topbar .topbar-stay-informed a{border-right:1px solid #f1f1f2}#topbar .topbar-dashboard-link a{border-left:0}#topbar .topbar-account-nav h4{padding:0 15px}#topbar .topbar-admin-shortcuts{border-right:1px solid #f1f1f2;float:right}#topbar .topbar-account-nav .menu{left:auto;min-width:125%;right:0}#topbar .menu-button-contents{cursor:pointer}@media only screen and (max-width:599px){#topbar{border-bottom:none}#topbar #topbar-dynamic-content.language-override-es .reader-signin{font-size:11px}#topbar .topbar-account-nav{font-family:Noto Sans,sans-serif;font-size:14px;font-weight:700}#topbar .topbar-account-nav li{border-left:none}#topbar .topbar-account-nav li a{color:#383838}#topbar .topbar-account-nav .metrics{display:none}}.content-authors{font-size:12px}.content-authors h3{font-size:11px}.content-authors a{font-weight:700}.content-authors .institution_name{color:#4b4b4e;font-weight:400}.content-authors-synopsis{display:none}.content-authors-synopsis i{border:1px solid #d7d7db;border-radius:50%;color:#4b4b4e;height:16px;line-height:16px;margin-right:6px;text-align:center;width:16px}.content-authors-synopsis .icon-caret-up{display:none}.content-authors-group{margin-bottom:36px}.content-authors-group ol{list-style:none;padding-top:6px}.content-authors-group li{clear:left}.content-authors-group li+li{margin-top:24px}.content-authors-group img{border-radius:50%;display:block;float:left;margin:0 12px 18px 0;width:48px}.content-post .team-blog .content-authors-group img{display:block}.content-post .content-authors-group img{display:none}.content-post .content-authors-group .role{margin-left:0}.content-authors-group .role{color:#4b4b4e;font-size:11px;line-height:1.4;margin-left:60px}@media only screen and (max-width:599px){.content-authors h3{margin-left:0}.content-authors-synopsis{display:block;margin-bottom:12px}.content-authors-group{display:none}.content-authors-group img{margin-left:0}.open .icon-caret-down{display:none}.open .icon-caret-up{display:inline-block}.open .content-authors-group{display:block}}@media only screen and (min-width:1466px){.content-authors-group .role{line-height:1.4}}.content-body{font-family:Libre Baskerville,serif;font-size:18px;line-height:1.6;padding-bottom:12px}.content-body .figcaption a,.content-body a,.content-body figcaption a{white-space:pre-wrap;word-wrap:break-word;color:#4b4b4e;text-decoration:underline}.content-body .figcaption a:hover,.content-body a:hover,.content-body figcaption a:hover{color:#293299}.content-body .figcaption a:visited,.content-body a:visited,.content-body figcaption a:visited{color:#4b4b4e}.content-body .figcaption a:visited:hover,.content-body a:visited:hover,.content-body figcaption a:visited:hover{color:#293299}.content-body blockquote{border-left:8px solid #d7d7db}.content-body ol,.content-body ul{margin-bottom:18px;padding-left:2em}.content-body table{border:1px solid #d7d7db;border-collapse:collapse;border-spacing:0;empty-cells:show;font-family:Helvetica Neue,sans-serif;font-size:13px;margin-bottom:18px;width:100%}.content-body table thead th{font-weight:700;vertical-align:top}.content-body table tbody td,.content-body table thead th{border:1px solid #d7d7db;padding:.5em 1em}.content-body figure{margin-bottom:18px}.content-body figure table{margin-bottom:0}.content-body figure.align-right{clear:right;float:right;margin-left:20px;width:237px}.content-body figure.align-left{clear:left;float:left;margin-right:20px;width:237px}.content-body figure.align-center img{width:100%}.content-body figure a,.content-body figure img{display:block;max-width:100%;text-decoration:none}.content-body figure figcaption{color:#4b4b4e;cursor:default;font-family:Helvetica Neue,sans-serif}.content-body figure figcaption a{display:inline}.content-topics{margin-bottom:12px}.content-topics ul{margin-left:25px}@media only screen and (max-width:599px){.content-body{font-size:16px;line-height:1.6}.content-body blockquote{margin-left:-10px}.content-body figure.align-left,.content-body figure.align-right{margin-bottom:12px;width:100%}.content-body figure.align-left img,.content-body figure.align-right img{width:100%}}.content-column-header{margin-top:1px;position:relative}.content-column-header .column-header{background-color:#f2f2f3;border-bottom:1px solid #e5e5e6;color:#383838;display:block;height:118px}.content-column-header .column-header:after{clear:both;content:".";display:block;font-size:0;height:0;visibility:hidden}.content-column-header .column-header:hover h3{text-decoration:underline}.content-column-header .content-column-feed{cursor:pointer;display:block;padding-top:5px;position:absolute;right:0;text-align:center;top:18px;z-index:7}.content-column-header .content-column-feed-itunes{top:54px}.content-column-header img{border:1px solid #fff;border-radius:50%;float:left;margin-top:15px;width:90px}.content-column-header h3{font-size:27px;padding-top:40px}@media only screen and (max-width:599px){.content-column-header .column-header{height:auto}.content-column-header .content-column-feed{right:10px}.content-column-header .content-column-feed span{display:none}.content-column-header .content-column-image{position:absolute}.content-column-header .content-column-image img{width:60px}.content-column-header .content-column-title{float:none;margin-left:80px;margin-right:45px;width:auto}.content-column-header h3{font-size:22px;line-height:1.2;margin-bottom:6px;padding-top:20px}.content-column-header .byline{font-size:12px;line-height:1.4;margin-bottom:20px}}.content-column-podcast-header{border-bottom:1px solid #d7d7db;color:#4b4b4e;font-size:18px;font-weight:700;padding:20px 0}.content-column-podcast-header a{color:inherit}.content-column-podcast-header a:hover{color:#212121;text-decoration:underline}.content-column-podcast-header .podcast-link-title{display:block;font-size:28px;line-height:28px;margin-top:18px}@media only screen and (max-width:599px){.podcast-info .image{display:none}}.content-disclosure-statement{margin-bottom:36px}.content-disclosure-statement h3{font-size:11px}.content-disclosure-statement p{margin-bottom:0}.content-disclosure-statement p+p{margin-top:18px}@media only screen and (max-width:599px){.content-disclosure-statement{display:none;line-height:1.4;margin-left:0}.open .content-disclosure-statement{display:block}}.content-header{padding-bottom:36px;padding-top:36px}.content-header-container h1{color:#383838;font-family:Montserrat,sans-serif;font-size:38px;line-height:normal;margin:0 0 12px}.content-header-container time{color:#4b4b4e;font-size:13px}.content-header-container .time-separator{color:#4b4b4e;font-size:11px;padding-left:2px;padding-right:4px}@media only screen and (max-width:599px){.content-header{padding-bottom:0;padding-top:12px}.content-header-container h1{font-size:28px;line-height:1.4;margin-bottom:0}.content-header-container .time-separator{display:none}.content-header-container .timestamps{padding:12px 0}.content-header-container time{display:block}}.content-lead-image{padding-bottom:36px}.content-lead-image img{display:block;width:100%}@media only screen and (max-width:599px){.content-lead-image{padding-bottom:0}}.content-partners{margin-bottom:36px}.content-partners h3{font-size:11px}.content-partners .disclosure-logo{display:table;text-align:center;width:100%}.content-partners .logo{display:table-cell;vertical-align:middle;width:120px}.content-partners .funding-statement,.content-partners .partners-jobs-links{border-bottom:1px solid #f2f2f3;margin-bottom:12px;padding-bottom:12px}.content-partners img{margin:0 auto;max-width:120px;width:100%}.conversation-partners{margin-bottom:36px}.conversation-partners h3{font-size:11px}@media only screen and (max-width:599px){.content-partners{display:none;line-height:1.4;margin-left:0}.content-partners .disclosure-logo{display:none}.open .content-partners{display:block}.conversation-partners{display:none}.open .conversation-partners{display:block}}.content-social-distribution{font-size:11px;padding-bottom:36px;padding-top:5px}.content-social-distribution div{padding-bottom:10px;position:relative}.content-social-distribution a{color:#4b4b4e}.content-social-distribution a:hover{color:#000}.content-social-distribution i{font-size:12px}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:none}.content-social-distribution .data-count{border:1px solid #d7d7db;border-radius:2px;color:#4b4b4e;padding:0 3px;position:absolute;right:0;top:0}.gallery-content .content-social-distribution{display:none}@media only screen and (max-width:599px){.content-social-distribution{border-bottom:1px solid #d7d7db;border-top:1px solid #d7d7db;clear:both;display:flex;margin:0 0 12px;padding:6px 0;width:100%}.content-social-distribution div{flex:1;padding:3px 0;text-align:center}.content-social-distribution div+div{border-left:1px solid #d7d7db}.content-social-distribution .fb-messenger,.content-social-distribution .whatsapp{display:block}.content-social-distribution a{display:block;width:100%}.content-social-distribution i{font-size:20px;top:0}.content-social-distribution i.icon-facebook{top:.1em}.content-social-distribution span,.data-count,.print{display:none}}#article .content-sidebar{float:right;position:relative}.content-sidebar{font-size:11px;margin-bottom:60px}.content-sidebar section.column-authors,.content-sidebar section.column-banner{margin-left:0}.content-sidebar .related-topics a{font-weight:700}.content-sidebar .byline{color:#4b4b4e;font-size:13px;margin-bottom:12px;margin-top:12px}.column-banner{margin-bottom:36px}.column-banner .byline{color:#4b4b4e;font-size:11px;font-style:italic;margin-bottom:12px;margin-top:12px}.column-title{border-bottom:1px solid #f2f2f3;display:block;height:108px;margin-bottom:12px;margin-top:28px;position:relative}.column-title:after{border-bottom:1px solid #f2f2f3;bottom:-3px;content:"";position:absolute;width:100%}.column-title h3{bottom:1px;font-size:15px;margin:0;padding-bottom:12px;padding-right:80px;position:absolute}.column-title img{bottom:0;position:absolute;right:0}@media only screen and (max-width:599px){.content-sidebar{margin-bottom:0;margin-left:0}.content-sidebar section{margin-left:0}}.content-translations{margin-bottom:36px}.content-translations ul{list-style:none}.content-translations-toggle{display:none}@media only screen and (max-width:599px){.content-translations{position:absolute;right:0;top:0}.content-translations h3,.content-translations ul{display:none}.content-translations.open{background:#fff;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);min-width:50%;padding:10px;position:absolute;right:0;top:-10px;z-index:100}.content-translations.open h3,.content-translations.open ul{display:block}.content-translations.open .content-translations-toggle{top:0}.content-translations.open .content-translations-toggle .icon-caret-up{display:inline-block}.content-translations.open .content-translations-toggle .icon-caret-down{display:none}.content-translations-toggle{display:block;font-size:20px;height:40px;line-height:40px;position:absolute;right:0;text-align:center;top:-10px;width:60px}.content-translations-toggle img{vertical-align:middle;width:26px}.content-translations-toggle i{border:1px solid #b0b3ba;border-radius:50%;color:#b0b3ba;font-size:15px;height:16px;line-height:16px;text-align:center;width:16px}.content-translations-toggle .icon-caret-down{display:inline-block}.content-translations-toggle .icon-caret-up{display:none}}body.refresh-article #outer{padding:0}body.refresh-article .audio-player{margin-bottom:36px}body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image{display:none}@media only screen and (max-width:599px){body.refresh-article .has-desktop-magazine .content-header,body.refresh-article .has-desktop-magazine .content-lead-image,body.refresh-article .normal .content-header,body.refresh-article .normal .content-lead-image{display:block}}.magazine{display:none;padding-bottom:24px}.has-desktop-magazine .magazine{display:block}.magazine .image{background-position:50%;background-repeat:no-repeat;background-size:cover;-ms-behavior:url(https://cdn.theconversation.com/static/tc/stylesheets/backgroundsize.min-fd1df32bcabf45d9ca0f1696b9e81652.htc);height:600px}.magazine .image .placeholder-container,.magazine .image img{display:none}.magazine .wrapper{height:100%}.magazine-title{bottom:0;position:absolute;width:100%}.magazine-title header{bottom:70px;position:absolute}.magazine-title .content-header-block{border-left:24px solid #fff;display:inline-block;left:-12px;line-height:normal;padding:4px 0 0;position:relative}.magazine-title h1{background-color:#fff;color:#383838;display:inline;left:-1px;line-height:normal;margin:0;padding:4px 0 6px;position:relative}.magazine-title strong{left:-12px;position:relative;z-index:10}.magazine-title time{background-color:#fff;color:#4b4b4e;display:inline-block;font-size:13px;margin:-1px 0 0 -12px;padding:6px 12px}.magazine-title .time-separator{display:none}@media only screen and (max-width:599px){.magazine{padding-bottom:0}.has-desktop-magazine .magazine{display:none}.has-mobile-magazine .magazine{display:block}.magazine .image{background-image:none!important;height:auto}.magazine .image img{display:block;width:100%}.magazine .image .placeholder-container{display:block}.magazine-header{height:auto}.magazine-title{position:relative}.magazine-title header{bottom:auto;position:relative}.magazine-title .content-header-block{border-left:none;display:block;left:auto}.magazine-title h1{background:transparent;display:block;padding-bottom:0}.magazine-title h1 strong{left:0}.magazine-title .timestamps{padding:12px 0}.magazine-title time{display:block;margin:0;padding:0}}.content-gallery-item{background:#f2f2f3;clear:both;margin:0 0 40px;padding:10px 10px 0}.content-gallery-item img{display:block;max-height:90%;max-width:100%}.content-gallery-item figcaption{color:#4b4b4e;font-size:15px;font-weight:700;line-height:1.4;padding:20px 20px 20px 50px;position:relative}.content-gallery-item figcaption .count{color:#4b4b4e;left:5px;position:absolute;text-align:right;width:35px}.content-gallery-item figcaption .source{color:#62626a;font-weight:700;padding-left:.75em}.content-gallery-item:last-child{cursor:n-resize}.content-gallery-cover.loading{background-color:rgba(0,0,0,.9)}.gallery-cover{background:rgba(0,0,0,.9);height:150%;left:0;transition:opacity .35s ease-out;z-index:1000}.gallery-content,.gallery-cover{bottom:0;opacity:1;position:fixed;top:0;width:100%}.gallery-content{overflow:scroll;padding-top:38px;transition:opacity .75s ease-in .3s;z-index:1001}.gallery-content .close-gallery{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);position:fixed;right:26px;top:10px}.gallery-content.hidden,.gallery-cover.hidden{opacity:0}.gallery-content-inner{color:#fff;margin:0 auto;width:75%}.gallery-content-inner header h1{color:#fff}.gallery-content-inner header time{color:#62626a}.gallery-content-inner .content-gallery-item{background:transparent;cursor:default}.gallery-content-inner .content-gallery-item img{background:#fff;margin:0;padding:5px}.gallery-content-inner .content-gallery-item:last-child{cursor:default}.gallery-content-inner .content-gallery-item:last-child img{cursor:n-resize}.gallery-content-inner .content-gallery-item figcaption{color:#fff}.gallery-content-inner .content-gallery-item figcaption .count,.gallery-content-inner .content-gallery-item figcaption .source{color:hsla(0,0%,100%,.6)}#article .post-navigation{clear:both;margin-bottom:20px}#article .post-navigation ol{display:flex;flex-wrap:wrap}#article .post-navigation li{display:flex;float:left;width:50%}#article .post-navigation li:first-child .post-navigation-option{margin-right:10px}#article .post-navigation li:first-child .post-navigation-option:before{content:"";left:-20px;padding-left:10px;text-align:left}#article .post-navigation li:last-child .post-navigation-option{margin-left:10px}#article .post-navigation li:last-child .post-navigation-option:before{content:"";padding-right:10px;right:-20px;text-align:right}#article .post-navigation .post-navigation-option{background:#fff;border:1px solid #d7d7db;position:relative;transform-style:preserve-3d;width:100%}#article .post-navigation .post-navigation-option:before{background:inherit;border:1px solid #d7d7db;border-radius:50%;font-family:TCFont-Regular;height:40px;line-height:40px;position:absolute;top:50%;transform:translateY(-50%);width:30px;z-index:1}#article .post-navigation .post-navigation-option .article{background:inherit;display:block;min-height:65px;padding:20px;position:relative;z-index:2}#article .post-navigation .empty{opacity:0}#article .post-navigation h4{letter-spacing:normal}#article .post-navigation time{color:#4b4b4e;display:block;font-size:11px}#article .content-sidebar.column-sidebar .content-authors{margin-top:60px}@media only screen and (max-width:599px){#article .content-sidebar.column-sidebar .content-authors{margin-top:12px}} /*# sourceMappingURL=webpacked-critical-d0f67762b617f895.css.map*/ </style> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-core-47e6f4c4100d0bb0.css" media="screen" preload="false" /> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-secondary-ec12e0f39d6a94e4.css" media="screen" /> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-author-cd07b375bcc2a7a0.css" media="screen" /> <link rel="stylesheet" href="https://cdn.theconversation.com/static/tc/webpacked-print-53ada9a8162f5384.css" media="print" /> <link rel="icon" sizes="192x192" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/web-app-logo-192x192-2d05bdd6de6328146de80245d4685946.png"> <link rel="shortcut icon" href="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/favicon-cdcdc0dd51ffe5238483c3f27fd2eb57.ico"> <script> (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-WX8PHK9'); </script> <script> window.GTM = window.GTM || {} window.GTM.CustomDimensions = {"UserType":"Reader","RegionCode":"global"} </script> <script type="text/javascript" charset="utf-8"> window.didomiOnReady = window.didomiOnReady || []; window.DIDOMI = { ENABLED: false, THE_CONVERSATION_SDK_ID: "c:theconver-dUNGGyiP", THE_CONVERSATION_PROMOS_PURPOSE: "theconver-AA8pWL4T", } </script> <script> window.didomiEventListeners = window.didomiEventListeners || []; window.didomiEventListeners.push({ event: 'consent.changed', listener: function () { window.dispatchEvent(new CustomEvent('didomi:consent.changed')) } }); </script> </head> <body class="region_global profiles profiles-show presenting-profile"> <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-WX8PHK9" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript> <div> <a id="small-sidebar-open-button" href="#"> Menu </a> <a id="small-sidebar-close-button" href="#"> Close </a> <div id="small-sidebar"> <nav id="small-sidebar-search" class="small-sidebar-group"> <form action="/search"> <input type="text" name="q" placeholder="Search analysis, academics…"> <button type="submit" aria-label="Search"><span class="icon-search"></span></button> </form> </nav> <nav class="small-sidebar-group sections-sidebar-group"> <ul> <li class="home-page "> <a class="" href="/global">Home</a> </li> </ul> </nav> <nav class="small-sidebar-group small-sidebar-editions"> <h3>Edition</h3> <fieldset class="region-select"> <select id="small-region-select-dropdown"> <option data-code="AFRICA" value="/africa"> Africa </option> <option data-code="AU" value="/au"> Australia </option> <option data-code="BR" value="/br"> Brasil </option> <option data-code="CA" value="/ca"> Canada </option> <option data-code="CA-FR" value="/ca-fr"> Canada (français) </option> <option data-code="ES" value="/es"> España </option> <option data-code="EUROPE" value="/europe"> Europe </option> <option data-code="FR" value="/fr"> France </option> <option data-code="GLOBAL" value="/global" selected="selected"> Global </option> <option data-code="ID" value="/id"> Indonesia </option> <option data-code="NZ" value="/nz"> New Zealand </option> <option data-code="UK" value="/uk"> United Kingdom </option> <option data-code="US" value="/us"> United States </option> </select> </fieldset> </nav> </div> </div> <div id="page-wrapper"> <section id="topbar"> <div class="wrapper clearfix"> <a class="topbar-mobile-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <nav class="topbar-module"> <ul class="topbar-item-list"> <li class="topbar-home-link"> <a aria-label="Home" href="/global"> <i class="icon-home"></i> </a> </li> <li class="topbar-edition-selector-title topbar-label">Edition:</li> </ul> </nav> <nav class="topbar-edition-selector topbar-dropdown topbar-module"> <a class="menu-button-open" href="/global">Available editions</a> <div class="menu-button-contents"> <span class="menu-button-text"> <span class="current-region">Global</span> </span> <i class="icon-caret-down drop-down-caret"></i> </div> <ul class="menu"> <li class="region africa"> <a title="Africa edition" href="/africa">Africa</a> </li> <li class="region au"> <a title="Australia edition" href="/au">Australia</a> </li> <li class="region br"> <a title="Brasil edition" href="/br">Brasil</a> </li> <li class="region ca"> <a title="Canada edition" href="/ca">Canada</a> </li> <li class="region ca-fr"> <a title="Canada (français) edition" href="/ca-fr">Canada (français)</a> </li> <li class="region es"> <a title="España edition" href="/es">España</a> </li> <li class="region europe"> <a title="Europe edition" href="/europe">Europe</a> </li> <li class="region fr"> <a title="France edition" href="/fr">France</a> </li> <li class="region id"> <a title="Indonesia edition" href="/id">Indonesia</a> </li> <li class="region nz"> <a title="New Zealand edition" href="/nz">New Zealand</a> </li> <li class="region uk"> <a title="United Kingdom edition" href="/uk">United Kingdom</a> </li> <li class="region us"> <a title="United States edition" href="/us">United States</a> </li> </ul> </nav> <nav class="topbar-promotional-links topbar-module"> <ul class="topbar-item-list"> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&utm_content=newsletter&utm_medium=TopBar&utm_source=theconversation.com"> Get newsletter </a> </li> </ul> </nav> <div id="topbar-dynamic-content" class="language-override-en"> <nav class="topbar-account-nav topbar-dropdown topbar-module"> <ul class="topbar-item-list auth"> <li class="author-signup"> <a href="/become-an-author">Become an author</a> </li> <li class="reader-signup"> <a href="/sign_up?return_to=%2Fprofiles%2Fben-williams-155992">Sign up as a reader</a> </li> <li class="reader-signin"> <a href="/sign_in?return_to=%2Fprofiles%2Fben-williams-155992">Sign in</a> </li> </ul> </nav> </div> </div> </section> <section id="header" class="condensed"> <div class="wrapper nocontent"> <header id="masthead" class="clearfix"> <a class="masthead-home-link" href="/global"> <img alt="The Conversation" src="https://cdn.theconversation.com/static/tc/@theconversation/ui/dist/esm/logos/logo-en-b159aca2598f351db37072c75294e4c8.svg" /> </a> <form class="masthead-search" action="/global/search" accept-charset="UTF-8" method="get"> <fieldset> <legend>Search</legend> <div class="row"> <div class="input-wrapper"> <label for="q"><i class="icon-search"></i></label> <input type="text" name="q" id="q" value="" placeholder="Search analysis, research, academics…" /> </div> <button type="submit" class="button" value="Search"></button> </div> </fieldset> </form> <div class="masthead-tagline"> Academic rigour, journalistic flair </div> </header> </div> </section> <div id="outer"> <header class="profile-header"> <div class="wrapper"> <div class="grid-three profile-avatar"> <figure> <img alt="" src="https://cdn.theconversation.com/avatars/155992/width238/image-20150411-2072-nuw88y.jpg" /> </figure> </div> <div class="grid-eight profile-name"> <h1 class="legacy slammed">Ben Williams</h1> </div> <div class="profile-stats grid-prepend-one grid-four grid-last"> <a class="grid-two" rel="nofollow" href="/profiles/ben-williams-155992/articles"> <h2>32</h2> <span>Articles</span> </a> <a class="grid-two grid-last" rel="nofollow" href="/profiles/ben-williams-155992/activities?filter=comments"> <h2>14</h2> <span>Comments</span> </a></div> </div> </header> <div class="profile-body wrapper"> <div class="grid-eleven"> <div class="profile-occupation grid-eight grid-prepend-three"> Associate Tutor in Politics and Social Sciences, <a href="/institutions/edge-hill-university-1356">Edge Hill University</a> </div> <div id="tab-content" class="large-grid-eight large-grid-prepend-three"> <nav class="tabbed tabbed-profile-navigation clear"> <a class="tab active active" href="/profiles/ben-williams-155992">Profile</a> <a class="tab " rel="nofollow" href="/profiles/ben-williams-155992/articles">Articles</a> <a class="tab " rel="nofollow" href="/profiles/ben-williams-155992/activities">Activity</a> </nav> <div class="profile-bio "> <p>My main academic focus is on post-war British politics, and in particular the key ideologies and theories that shape policy-making. My PhD research focused on the evolution and development of Conservative social policy after the party lost office in 1997, and how social policy in particular changed and evolved over the next two decades, incorporating thirteen years of opposition and five years of coalition government. Specific focus was given to core policy developments such as free schools, The Big Society and NHS restructuring.</p> <p>This academic background has enhanced my teaching specialisms which include the policy agendas of UK political parties and their ideological traditions. I have also taken such theoretical information and applied it to the teaching and study of international politics, specifically how various political ideologies and traditions have shaped the global political scene and international relations also. </p> <p>Key education and main publications:</p> <p>B.A (Hons.) University of Liverpool (1995)- Modern History and Politics</p> <p>MA, Politics and Irish Studies, University of Liverpool (2009)</p> <p>PhD, 'Warm Words or real change?: Conservative social policy since 1997', University of Liverpool (2013)</p> <p>Author of 'The Evolution of Conservative Party Social Policy' (2015)</p> <p>Co-author (with Kevin Hickson), 'John Major: An Unsuccessful Prime Minister?' (2017)</p> <p>Member of the Higher Education Academy (HEA)</p> <p>Author of various articles, contributor to academic textbooks, and provider of political media commentary. </p> <p>https://scholar.google.com/citations?user=1AKf6ZrToX8C</p> </div> <div class="profile-credentials"> <h2 class="border">Experience</h2> <ul> <li> <div class="year grid-two"> 2023–present </div> <div class="credential large-grid-six grid-nine grid-last"> Associate Lecturer (Politics & Social Sciences), Edge Hill University </div> </li> <li> <div class="year grid-two"> 2023–present </div> <div class="credential large-grid-six grid-nine grid-last"> Associate Lecturer (Politics), Manchester Met University </div> </li> <li> <div class="year grid-two"> 2013–2023 </div> <div class="credential large-grid-six grid-nine grid-last"> Lecturer in Politics, University of Salford </div> </li> </ul> <h2 class="border">Education</h2> <ul> <li> <div class="year grid-two"> 2013 </div> <div class="credential large-grid-six grid-nine grid-last"> University of Liverpool, PhD </div> </li> </ul> </div> </div> </div> <div class="grid-four grid-prepend-one grid-last"> <div class="profile-user-details"> <button disabled class="button large contact-button-placeholder" style="opacity:0;"> </button> <ul class="profile-details clear"> <li> <a href="https://www.twitter.com/benwill1973"> <i class="icon-twitter"></i> @benwill1973 </a> </li> <li> <a href="/profiles/ben-williams-155992/articles.atom"> <i class="icon-rss"></i> Article Feed </a> </li> <li> <i class="icon-email"></i> Williabe@edgehill.ac.uk </li> <li> For media enquiries,<br /> <a href="mailto:williabe@edgehill.ac.uk"> <i class="icon-email"></i> williabe@edgehill.ac.uk </a> </li> <li> <i class="icon-time"></i> Joined <time datetime="2015-02-20T12:21:20Z" data-format="tc_date">February 20, 2015</time> </li> </ul> </div> <div class="profile-institution"> <a class="institution-logo" href="/institutions/edge-hill-university-1356"> <img alt="Institution logo" src="https://images.theconversation.com/institutions/1356/logos/logo-1669288188.jpg?ixlib=rb-4.1.0&q=45&auto=format&w=170&h=170" /> </a> </div> </div> </div> </div> <div id="footers"> <section class="footer-primary"> <div class="wrapper nocontent"> <section class="community footer-link-list grid-five large-grid-four"> <nav> <ul> <li> <a href="https://drive.google.com/file/d/1DUkhOcnF1Ef1MpuKtGr7rbBAawO4XV48">Editorial Policies</a> </li> <li> <a href="/global/community-standards">Community standards</a> </li> <li> <a href="/global/republishing-guidelines">Republishing guidelines</a> </li> <li> <a href="https://analytics.theconversation.com/global">Analytics</a> </li> <li> <a href="/global/feeds">Our feeds</a> </li> <li> <a title="Sign up to receive our daily email newsletter" href="/global/newsletters/global-perspectives-6?utm_campaign=System&utm_content=newsletter&utm_medium=Footer&utm_source=theconversation.com">Get newsletter</a> </li> </ul> </nav> </section> <section class="company footer-link-list grid-five large-grid-seven"> <nav> <ul> <li> <a href="/global/who-we-are">Who we are</a> </li> <li> <a href="/global/charter">Our charter</a> </li> <li> <a href="/global/team">Our team</a> </li> <li> <a href="/global/partners">Partners and funders</a> </li> <li> <a href="/global/resources-for-media">Resource for media</a> </li> <li> <a href="/global/contact-us">Contact us</a> </li> </ul> </nav> </section> <section class="grid-six large-grid-five grid-last"> <div class="sitewide-social-media"> <ul> <li class="facebook"> <a title="The Conversation on Facebook" rel="me" href="https://facebook.com/TheConversationGlobal">​</a> </li> <li class="twitter"> <a title="The Conversation on X (formerly Twitter)" rel="me" href="https://twitter.com/_TCGlobal">​</a> </li> <li class="linkedin"> <a title="The Conversation on LinkedIn" rel="me" href="https://www.linkedin.com/company/the-conversation-media-group">​</a> </li> </ul> </div> </section> </div> </section> <footer id="footer"> <div class="wrapper flex flex-col mx-auto pt-4 text-2xs md:flex-row 2xl:text-xs"> <nav class="flex flex-col gap-4 text-center md:flex-row"> <a class="mb-2" href="/global/privacy-policy">Privacy policy</a> <a class="mb-2" href="/global/terms-and-conditions">Terms and conditions</a> <a class="mb-2" href="/global/corrections">Corrections</a> </nav> <p class="copyright mx-auto mt-4 md:mt-0 lg:mr-0 lg:ml-auto"> Copyright © 2010–2024, <a href="https://theconversation.com/global/who-we-are">The Conversation</a> </p> </div> </footer> </div> </div> <script src="https://cdn.theconversation.com/static/tc/application-9107e171e49f64dbd0ca.js"></script> <script src="https://cdn.theconversation.com/static/tc/gtm_data_layer-2f5b94c0bf06c1289d2a.js"></script> <script> //<![CDATA[ TC.locale = "en-GLOBAL"; TC.env = "production"; TC.pageType = "profiles#show"; TC.localePath = "https://cdn.theconversation.com/static/tc/en-GLOBAL-3f973178b4f674265ca7f44b89f60e4e.json"; TC.bugsnagConfig = {"apiKey":"e6966b978008ed1612ea7793efb88e93","appVersion":"49c090425dba2513eb757b31bee53f35cdc9a26e","collectUserIp":false,"releaseStage":"production","notifyReleaseStages":["development","staging","production"]}; TC.init = function() { TC.page = new TC.ProfilePage({ contactable: true, availableFor: [{"label":"General","id":"general","slug":"general","name":"General"},{"label":"Media request","id":"media_request","slug":"media-request","name":"Media request"},{"label":"Speaking request","id":"speaking_request","slug":"speaking-request","name":"Speaking request"},{"label":"Consulting / Advising","id":"consulting_advising","slug":"consulting-advising","name":"Consulting / Advising"},{"label":"Research collaboration","id":"research_collaboration","slug":"research-collaboration","name":"Research collaboration"},{"label":"Research supervision","id":"research_supervision","slug":"research-supervision","name":"Research supervision"}], user_id: 155992, is_author: true, currentUserCanContactAuthors: false }); } //]]> </script> <script> //<![CDATA[ "use strict";(self.webpackChunktc=self.webpackChunktc||[]).push([[952],{51250:function(e,t,s){s(52146).A.init(TC.localePath,TC.locale,!1,TC.init)},52146:function(e,t,s){s.d(t,{A:function(){return P}});var i=s(23029),n=s(92901),o=[],r=o.forEach,a=o.slice;function l(e,t,s,i){var n=e.read.bind(e);if(2!==n.length)n(t,s,i);else try{var o=n(t,s);o&&"function"==typeof o.then?o.then((function(e){return i(null,e)})).catch(i):i(null,o)}catch(e){i(e)}}var c=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};(0,i.A)(this,e),this.backends=[],this.type="backend",this.allOptions=n,this.init(t,s)}return(0,n.A)(e,[{key:"init",value:function(e){var t=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this.services=e,this.options=function(e){return r.call(a.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(s,this.options||{},{handleEmptyResourcesAsFailed:!0,cacheHitMode:"none"}),this.allOptions=i,this.options.backends&&this.options.backends.forEach((function(s,n){var o;t.backends[n]=t.backends[n]||((o=s)?"function"==typeof o?new o:o:null),t.backends[n].init(e,t.options.backendOptions&&t.options.backendOptions[n]||{},i)})),this.services&&this.options.reloadInterval&&setInterval((function(){return t.reload()}),this.options.reloadInterval)}},{key:"read",value:function(e,t,s){var i=this,n=this.backends.length,o=function s(n,o){if(!(n<0)){var r=i.backends[n];r.save?(r.save(e,t,o),s(n-1,o)):s(n-1,o)}};!function r(a){if(a>=n)return s(new Error("non of the backend loaded data",!0));var c=a===n-1,u=i.options.handleEmptyResourcesAsFailed&&!c?0:-1,h=i.backends[a];h.read?l(h,e,t,(function(n,c,p){if(!n&&c&&Object.keys(c).length>u){if(s(null,c,a),o(a-1,c),h.save&&i.options.cacheHitMode&&["refresh","refreshAndUpdateStore"].indexOf(i.options.cacheHitMode)>-1){if(p&&i.options.refreshExpirationTime&&p+i.options.refreshExpirationTime>Date.now())return;var d=i.backends[a+1];d&&d.read&&l(d,e,t,(function(s,n){s||n&&(Object.keys(n).length<=u||(o(a,n),"refreshAndUpdateStore"===i.options.cacheHitMode&&i.services&&i.services.resourceStore&&i.services.resourceStore.addResourceBundle(e,t,n)))}))}}else r(a+1)})):r(a+1)}(0)}},{key:"create",value:function(e,t,s,i){var n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.backends.forEach((function(r){if(r.create){var a=r.create.bind(r);if(a.length<6)try{var l;(l=5===a.length?a(e,t,s,i,o):a(e,t,s,i))&&"function"==typeof l.then?l.then((function(e){return n(null,e)})).catch(n):n(null,l)}catch(e){n(e)}else a(e,t,s,i,n,o)}}))}},{key:"reload",value:function(){var e=this,t=this.services,s=t.backendConnector,i=t.languageUtils,n=t.logger,o=s.language;if(!o||"cimode"!==o.toLowerCase()){var r=[],a=function(e){i.toResolveHierarchy(e).forEach((function(e){r.indexOf(e)<0&&r.push(e)}))};a(o),this.allOptions.preload&&this.allOptions.preload.forEach((function(e){return a(e)})),r.forEach((function(t){e.allOptions.ns.forEach((function(e){s.read(t,e,"read",null,null,(function(i,o){i&&n.warn("loading namespace ".concat(e," for language ").concat(t," failed"),i),!i&&o&&n.log("loaded namespace ".concat(e," for language ").concat(t),o),s.loaded("".concat(t,"|").concat(e),i,o)}))}))}))}}}]),e}();c.type="backend";var u=s(72635),h=s(64467);function p(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,i)}return s}function d(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?p(Object(s),!0).forEach((function(t){(0,h.A)(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):p(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}var g=function(){function e(t){(0,i.A)(this,e),this.store=t.store}return(0,n.A)(e,[{key:"setItem",value:function(e,t){if(this.store)try{this.store.setItem(e,t)}catch(e){}}},{key:"getItem",value:function(e,t){if(this.store)try{return this.store.getItem(e,t)}catch(e){}}}]),e}();var f=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=d(d(d({},function(){var e=null;try{e=window.localStorage}catch(e){"undefined"!=typeof window&&console.log("Failed to load local storage.",e)}return{prefix:"i18next_res_",expirationTime:6048e5,defaultVersion:void 0,versions:{},store:e}}()),this.options),t),this.storage=new g(this.options)}},{key:"read",value:function(e,t,s){var i=Date.now();if(!this.storage.store)return s(null,null);var n=this.storage.getItem("".concat(this.options.prefix).concat(e,"-").concat(t));if(n){n=JSON.parse(n);var o=this.getVersion(e);if(n.i18nStamp&&n.i18nStamp+this.options.expirationTime>i&&o===n.i18nVersion){var r=n.i18nStamp;return delete n.i18nVersion,delete n.i18nStamp,s(null,n,r)}}return s(null,null)}},{key:"save",value:function(e,t,s){if(this.storage.store){s.i18nStamp=Date.now();var i=this.getVersion(e);i&&(s.i18nVersion=i),this.storage.setItem("".concat(this.options.prefix).concat(e,"-").concat(t),JSON.stringify(s))}}},{key:"getVersion",value:function(e){return this.options.versions[e]||this.options.defaultVersion}}]),e}();f.type="backend";var v=s(62046),m=s(80030),y=s(82284),b=[],x=b.forEach,k=b.slice;function S(e,t){if(t&&"object"===(0,y.A)(t)){var s="",i=encodeURIComponent;for(var n in t)s+="&"+i(n)+"="+i(t[n]);if(!s)return e;e=e+(-1!==e.indexOf("?")?"&":"?")+s.slice(1)}return e}function O(e,t,s,i,n){i&&"object"===(0,y.A)(i)&&(n||(i._t=new Date),i=S("",i).slice(1)),t.queryStringParams&&(e=S(e,t.queryStringParams));try{var o;(o=XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP.3.0")).open(i?"POST":"GET",e,1),t.crossDomain||o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.withCredentials=!!t.withCredentials,i&&o.setRequestHeader("Content-type","application/x-www-form-urlencoded"),o.overrideMimeType&&o.overrideMimeType("application/json");var r=t.customHeaders;if(r="function"==typeof r?r():r)for(var a in r)o.setRequestHeader(a,r[a]);o.onreadystatechange=function(){o.readyState>3&&s&&s(o.responseText,o)},o.send(i)}catch(e){console&&console.log(e)}}var w=function(){function e(t){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};(0,i.A)(this,e),this.init(t,s),this.type="backend"}return(0,n.A)(e,[{key:"init",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.services=e,this.options=function(e){return x.call(k.call(arguments,1),(function(t){if(t)for(var s in t)void 0===e[s]&&(e[s]=t[s])})),e}(t,this.options||{},{loadPath:"/locales/{{lng}}/{{ns}}.json",addPath:"/locales/add/{{lng}}/{{ns}}",allowMultiLoading:!1,parse:JSON.parse,parsePayload:function(e,t,s){return(0,h.A)({},t,s||"")},crossDomain:!1,ajax:O})}},{key:"readMulti",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath(e,t));var n=this.services.interpolator.interpolate(i,{lng:e.join("+"),ns:t.join("+")});this.loadUrl(n,s)}},{key:"read",value:function(e,t,s){var i=this.options.loadPath;"function"==typeof this.options.loadPath&&(i=this.options.loadPath([e],[t]));var n=this.services.interpolator.interpolate(i,{lng:e,ns:t});this.loadUrl(n,s)}},{key:"loadUrl",value:function(e,t){var s=this;this.options.ajax(e,this.options,(function(i,n){if(n.status>=500&&n.status<600)return t("failed loading "+e,!0);if(n.status>=400&&n.status<500)return t("failed loading "+e,!1);var o,r;try{o=s.options.parse(i,e)}catch(t){r="failed parsing "+e+" to json"}if(r)return t(r,!1);t(null,o)}))}},{key:"create",value:function(e,t,s,i){var n=this;"string"==typeof e&&(e=[e]);var o=this.options.parsePayload(t,s,i);e.forEach((function(e){var s=n.services.interpolator.interpolate(n.options.addPath,{lng:e,ns:t});n.options.ajax(s,n.options,(function(e,t){}),o)}))}}]),e}();w.type="backend";var L=w;function R(e,t){for(var s=0;s<t.length;s++){var i=t[s];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}var P=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e)}var t,s,i;return t=e,i=[{key:"init",value:function(e,t,s,i){var n,o,r,a=[];(0,v.A)()&&a.push(f),a.push(L),u.Ay.use(c).init({backend:{backends:a,backendOptions:[{versions:(n={},o=t,r=e,o in n?Object.defineProperty(n,o,{value:r,enumerable:!0,configurable:!0,writable:!0}):n[o]=r,n)},{crossDomain:s,loadPath:e}]},lng:t},(function(e){e&&e.length&&(0,m.A)("/no_js_locale?message=".concat(e[0]));try{i()}catch(e){throw(0,m.A)("/js_init_failure?message=".concat(e)),e}}))}},{key:"t",value:function(){return u.Ay.t.apply(u.Ay,arguments)||(arguments.length<=0?void 0:arguments[0])}}],(s=null)&&R(t.prototype,s),i&&R(t,i),e}()},62046:function(e,t,s){function i(){var e="local-storage-availability-test";try{return window.localStorage.setItem(e,e),window.localStorage.getItem(e),window.localStorage.removeItem(e),!0}catch(e){return!1}}s.d(t,{A:function(){return i}})},80030:function(e,t){t.A=function(e){var t=!1;window.XMLHttpRequest?t=new XMLHttpRequest:window.ActiveXObject&&(t=new ActiveXObject("Microsoft.XMLHTTP")),!1!==t&&(t.open("GET",e,!0),t.send())}},23029:function(e,t,s){function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}s.d(t,{A:function(){return i}})},92901:function(e,t,s){s.d(t,{A:function(){return o}});var i=s(20816);function n(e,t){for(var s=0;s<t.length;s++){var n=t[s];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,(0,i.A)(n.key),n)}}function o(e,t,s){return t&&n(e.prototype,t),s&&n(e,s),Object.defineProperty(e,"prototype",{writable:!1}),e}},64467:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(20816);function n(e,t,s){return(t=(0,i.A)(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}},20816:function(e,t,s){s.d(t,{A:function(){return n}});var i=s(82284);function n(e){var t=function(e,t){if("object"!=(0,i.A)(e)||!e)return e;var s=e[Symbol.toPrimitive];if(void 0!==s){var n=s.call(e,t||"default");if("object"!=(0,i.A)(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==(0,i.A)(t)?t:t+""}},82284:function(e,t,s){function i(e){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i(e)}s.d(t,{A:function(){return i}})},72635:function(e,t,s){s.d(t,{Ay:function(){return K}});const i=e=>"string"==typeof e,n=()=>{let e,t;const s=new Promise(((s,i)=>{e=s,t=i}));return s.resolve=e,s.reject=t,s},o=e=>null==e?"":""+e,r=/###/g,a=e=>e&&e.indexOf("###")>-1?e.replace(r,"."):e,l=e=>!e||i(e),c=(e,t,s)=>{const n=i(t)?t.split("."):t;let o=0;for(;o<n.length-1;){if(l(e))return{};const t=a(n[o]);!e[t]&&s&&(e[t]=new s),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++o}return l(e)?{}:{obj:e,k:a(n[o])}},u=(e,t,s)=>{const{obj:i,k:n}=c(e,t,Object);if(void 0!==i||1===t.length)return void(i[n]=s);let o=t[t.length-1],r=t.slice(0,t.length-1),a=c(e,r,Object);for(;void 0===a.obj&&r.length;)o=`${r[r.length-1]}.${o}`,r=r.slice(0,r.length-1),a=c(e,r,Object),a?.obj&&void 0!==a.obj[`${a.k}.${o}`]&&(a.obj=void 0);a.obj[`${a.k}.${o}`]=s},h=(e,t)=>{const{obj:s,k:i}=c(e,t);if(s)return s[i]},p=(e,t,s)=>{for(const n in t)"__proto__"!==n&&"constructor"!==n&&(n in e?i(e[n])||e[n]instanceof String||i(t[n])||t[n]instanceof String?s&&(e[n]=t[n]):p(e[n],t[n],s):e[n]=t[n]);return e},d=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");var g={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};const f=e=>i(e)?e.replace(/[&<>"'\/]/g,(e=>g[e])):e;const v=[" ",",","?","!",";"],m=new class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){const t=this.regExpMap.get(e);if(void 0!==t)return t;const s=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,s),this.regExpQueue.push(e),s}}(20),y=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:".";if(!e)return;if(e[t])return e[t];const i=t.split(s);let n=e;for(let e=0;e<i.length;){if(!n||"object"!=typeof n)return;let t,o="";for(let r=e;r<i.length;++r)if(r!==e&&(o+=s),o+=i[r],t=n[o],void 0!==t){if(["string","number","boolean"].indexOf(typeof t)>-1&&r<i.length-1)continue;e+=r-e+1;break}n=t}return n},b=e=>e?.replace("_","-"),x={type:"logger",log(e){this.output("log",e)},warn(e){this.output("warn",e)},error(e){this.output("error",e)},output(e,t){console?.[e]?.apply?.(console,t)}};class k{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.init(e,t)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||"i18next:",this.logger=e||x,this.options=t,this.debug=t.debug}log(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"log","",!0)}warn(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","",!0)}error(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"error","")}deprecate(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.forward(t,"warn","WARNING DEPRECATED: ",!0)}forward(e,t,s,n){return n&&!this.debug?null:(i(e[0])&&(e[0]=`${s}${this.prefix} ${e[0]}`),this.logger[t](e))}create(e){return new k(this.logger,{prefix:`${this.prefix}:${e}:`,...this.options})}clone(e){return(e=e||this.options).prefix=e.prefix||this.prefix,new k(this.logger,e)}}var S=new k;class O{constructor(){this.observers={}}on(e,t){return e.split(" ").forEach((e=>{this.observers[e]||(this.observers[e]=new Map);const s=this.observers[e].get(t)||0;this.observers[e].set(t,s+1)})),this}off(e,t){this.observers[e]&&(t?this.observers[e].delete(t):delete this.observers[e])}emit(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];if(this.observers[e]){Array.from(this.observers[e].entries()).forEach((e=>{let[t,i]=e;for(let e=0;e<i;e++)t(...s)}))}if(this.observers["*"]){Array.from(this.observers["*"].entries()).forEach((t=>{let[i,n]=t;for(let t=0;t<n;t++)i.apply(i,[e,...s])}))}}}class w extends O{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:["translation"],defaultNS:"translation"};super(),this.data=e||{},this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),void 0===this.options.ignoreJSONStructure&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.indexOf(e)<0&&this.options.ns.push(e)}removeNamespaces(e){const t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,r=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure;let a;e.indexOf(".")>-1?a=e.split("."):(a=[e,t],s&&(Array.isArray(s)?a.push(...s):i(s)&&o?a.push(...s.split(o)):a.push(s)));const l=h(this.data,a);return!l&&!t&&!s&&e.indexOf(".")>-1&&(e=a[0],t=a[1],s=a.slice(2).join(".")),!l&&r&&i(s)?y(this.data?.[e]?.[t],s,o):l}addResource(e,t,s,i){let n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1};const o=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator;let r=[e,t];s&&(r=r.concat(o?s.split(o):s)),e.indexOf(".")>-1&&(r=e.split("."),i=t,t=r[1]),this.addNamespaces(t),u(this.data,r,i),n.silent||this.emit("added",e,t,s,i)}addResources(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(const n in s)(i(s[n])||Array.isArray(s[n]))&&this.addResource(e,t,n,s[n],{silent:!0});n.silent||this.emit("added",e,t,s)}addResourceBundle(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1,skipCopy:!1},r=[e,t];e.indexOf(".")>-1&&(r=e.split("."),i=s,s=t,t=r[1]),this.addNamespaces(t);let a=h(this.data,r)||{};o.skipCopy||(s=JSON.parse(JSON.stringify(s))),i?p(a,s,n):a={...a,...s},u(this.data,r,a),o.silent||this.emit("added",e,t,s)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit("removed",e,t)}hasResourceBundle(e,t){return void 0!==this.getResource(e,t)}getResourceBundle(e,t){return t||(t=this.options.defaultNS),this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){const t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find((e=>t[e]&&Object.keys(t[e]).length>0))}toJSON(){return this.data}}var L={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,s,i,n){return e.forEach((e=>{t=this.processors[e]?.process(t,s,i,n)??t})),t}};const R={};class P extends O{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};super(),((e,t,s)=>{e.forEach((e=>{t[e]&&(s[e]=t[e])}))})(["resourceStore","languageUtils","pluralResolver","interpolator","backendConnector","i18nFormat","utils"],e,this),this.options=t,void 0===this.options.keySeparator&&(this.options.keySeparator="."),this.logger=S.create("translator")}changeLanguage(e){e&&(this.language=e)}exists(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==e)return!1;const s=this.resolve(e,t);return void 0!==s?.res}extractFromKey(e,t){let s=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===s&&(s=":");const n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator;let o=t.ns||this.options.defaultNS||[];const r=s&&e.indexOf(s)>-1,a=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||((e,t,s)=>{t=t||"",s=s||"";const i=v.filter((e=>t.indexOf(e)<0&&s.indexOf(e)<0));if(0===i.length)return!0;const n=m.getRegExp(`(${i.map((e=>"?"===e?"\\?":e)).join("|")})`);let o=!n.test(e);if(!o){const t=e.indexOf(s);t>0&&!n.test(e.substring(0,t))&&(o=!0)}return o})(e,s,n));if(r&&!a){const t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:i(o)?[o]:o};const r=e.split(s);(s!==n||s===n&&this.options.ns.indexOf(r[0])>-1)&&(o=r.shift()),e=r.join(n)}return{key:e,namespaces:i(o)?[o]:o}}translate(e,t,s){if("object"!=typeof t&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),"object"==typeof t&&(t={...t}),t||(t={}),null==e)return"";Array.isArray(e)||(e=[String(e)]);const n=void 0!==t.returnDetails?t.returnDetails:this.options.returnDetails,o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,{key:r,namespaces:a}=this.extractFromKey(e[e.length-1],t),l=a[a.length-1],c=t.lng||this.language,u=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if("cimode"===c?.toLowerCase()){if(u){const e=t.nsSeparator||this.options.nsSeparator;return n?{res:`${l}${e}${r}`,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:`${l}${e}${r}`}return n?{res:r,usedKey:r,exactUsedKey:r,usedLng:c,usedNS:l,usedParams:this.getUsedParamsDetails(t)}:r}const h=this.resolve(e,t);let p=h?.res;const d=h?.usedKey||r,g=h?.exactUsedKey||r,f=Object.prototype.toString.apply(p),v=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,m=!this.i18nFormat||this.i18nFormat.handleAsObject,y=!i(p)&&"boolean"!=typeof p&&"number"!=typeof p;if(!(m&&p&&y&&["[object Number]","[object Function]","[object RegExp]"].indexOf(f)<0)||i(v)&&Array.isArray(p))if(m&&i(v)&&Array.isArray(p))p=p.join(v),p&&(p=this.extendTranslation(p,e,t,s));else{let n=!1,a=!1;const u=void 0!==t.count&&!i(t.count),d=P.hasDefaultValue(t),g=u?this.pluralResolver.getSuffix(c,t.count,t):"",f=t.ordinal&&u?this.pluralResolver.getSuffix(c,t.count,{ordinal:!1}):"",v=u&&!t.ordinal&&0===t.count,m=v&&t[`defaultValue${this.options.pluralSeparator}zero`]||t[`defaultValue${g}`]||t[`defaultValue${f}`]||t.defaultValue;!this.isValidLookup(p)&&d&&(n=!0,p=m),this.isValidLookup(p)||(a=!0,p=r);const y=(t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&a?void 0:p,b=d&&m!==p&&this.options.updateMissing;if(a||n||b){if(this.logger.log(b?"updateKey":"missingKey",c,l,r,b?m:p),o){const e=this.resolve(r,{...t,keySeparator:!1});e&&e.res&&this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.")}let e=[];const s=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if("fallback"===this.options.saveMissingTo&&s&&s[0])for(let t=0;t<s.length;t++)e.push(s[t]);else"all"===this.options.saveMissingTo?e=this.languageUtils.toResolveHierarchy(t.lng||this.language):e.push(t.lng||this.language);const i=(e,s,i)=>{const n=d&&i!==p?i:y;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,s,n,b,t):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,s,n,b,t),this.emit("missingKey",e,l,s,p)};this.options.saveMissing&&(this.options.saveMissingPlurals&&u?e.forEach((e=>{const s=this.pluralResolver.getSuffixes(e,t);v&&t[`defaultValue${this.options.pluralSeparator}zero`]&&s.indexOf(`${this.options.pluralSeparator}zero`)<0&&s.push(`${this.options.pluralSeparator}zero`),s.forEach((s=>{i([e],r+s,t[`defaultValue${s}`]||m)}))})):i(e,r,m))}p=this.extendTranslation(p,e,t,h,s),a&&p===r&&this.options.appendNamespaceToMissingKey&&(p=`${l}:${r}`),(a||n)&&this.options.parseMissingKeyHandler&&(p=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}:${r}`:r,n?p:void 0))}else{if(!t.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn("accessing an object - but returnObjects options is not enabled!");const e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(d,p,{...t,ns:a}):`key '${r} (${this.language})' returned an object instead of string.`;return n?(h.res=e,h.usedParams=this.getUsedParamsDetails(t),h):e}if(o){const e=Array.isArray(p),s=e?[]:{},i=e?g:d;for(const e in p)if(Object.prototype.hasOwnProperty.call(p,e)){const n=`${i}${o}${e}`;s[e]=this.translate(n,{...t,joinArrays:!1,ns:a}),s[e]===n&&(s[e]=p[e])}p=s}}return n?(h.res=p,h.usedParams=this.getUsedParamsDetails(t),h):p}extendTranslation(e,t,s,n,o){var r=this;if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...s},s.lng||this.language||n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!s.skipInterpolation){s.interpolation&&this.interpolator.init({...s,interpolation:{...this.options.interpolation,...s.interpolation}});const a=i(e)&&(void 0!==s?.interpolation?.skipOnVariables?s.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables);let l;if(a){const t=e.match(this.interpolator.nestingRegexp);l=t&&t.length}let c=s.replace&&!i(s.replace)?s.replace:s;if(this.options.interpolation.defaultVariables&&(c={...this.options.interpolation.defaultVariables,...c}),e=this.interpolator.interpolate(e,c,s.lng||this.language||n.usedLng,s),a){const t=e.match(this.interpolator.nestingRegexp);l<(t&&t.length)&&(s.nest=!1)}!s.lng&&n&&n.res&&(s.lng=this.language||n.usedLng),!1!==s.nest&&(e=this.interpolator.nest(e,(function(){for(var e=arguments.length,i=new Array(e),n=0;n<e;n++)i[n]=arguments[n];return o?.[0]!==i[0]||s.context?r.translate(...i,t):(r.logger.warn(`It seems you are nesting recursively key: ${i[0]} in key: ${t[0]}`),null)}),s)),s.interpolation&&this.interpolator.reset()}const a=s.postProcess||this.options.postProcess,l=i(a)?[a]:a;return null!=e&&l?.length&&!1!==s.applyPostProcessor&&(e=L.handle(l,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...n,usedParams:this.getUsedParamsDetails(s)},...s}:s,this)),e}resolve(e){let t,s,n,o,r,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i(e)&&(e=[e]),e.forEach((e=>{if(this.isValidLookup(t))return;const l=this.extractFromKey(e,a),c=l.key;s=c;let u=l.namespaces;this.options.fallbackNS&&(u=u.concat(this.options.fallbackNS));const h=void 0!==a.count&&!i(a.count),p=h&&!a.ordinal&&0===a.count,d=void 0!==a.context&&(i(a.context)||"number"==typeof a.context)&&""!==a.context,g=a.lngs?a.lngs:this.languageUtils.toResolveHierarchy(a.lng||this.language,a.fallbackLng);u.forEach((e=>{this.isValidLookup(t)||(r=e,R[`${g[0]}-${e}`]||!this.utils?.hasLoadedNamespace||this.utils?.hasLoadedNamespace(r)||(R[`${g[0]}-${e}`]=!0,this.logger.warn(`key "${s}" for languages "${g.join(", ")}" won't get resolved as namespace "${r}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")),g.forEach((s=>{if(this.isValidLookup(t))return;o=s;const i=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(i,c,s,e,a);else{let e;h&&(e=this.pluralResolver.getSuffix(s,a.count,a));const t=`${this.options.pluralSeparator}zero`,n=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(h&&(i.push(c+e),a.ordinal&&0===e.indexOf(n)&&i.push(c+e.replace(n,this.options.pluralSeparator)),p&&i.push(c+t)),d){const s=`${c}${this.options.contextSeparator}${a.context}`;i.push(s),h&&(i.push(s+e),a.ordinal&&0===e.indexOf(n)&&i.push(s+e.replace(n,this.options.pluralSeparator)),p&&i.push(s+t))}}let r;for(;r=i.pop();)this.isValidLookup(t)||(n=r,t=this.getResource(s,e,r,a))})))}))})),{res:t,usedKey:s,exactUsedKey:n,usedLng:o,usedNS:r}}isValidLookup(e){return!(void 0===e||!this.options.returnNull&&null===e||!this.options.returnEmptyString&&""===e)}getResource(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,s,i):this.resourceStore.getResource(e,t,s,i)}getUsedParamsDetails(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=["defaultValue","ordinal","context","replace","lng","lngs","fallbackLng","ns","keySeparator","nsSeparator","returnObjects","returnDetails","joinArrays","postProcess","interpolation"],s=e.replace&&!i(e.replace);let n=s?e.replace:e;if(s&&void 0!==e.count&&(n.count=e.count),this.options.interpolation.defaultVariables&&(n={...this.options.interpolation.defaultVariables,...n}),!s){n={...n};for(const e of t)delete n[e]}return n}static hasDefaultValue(e){const t="defaultValue";for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&t===s.substring(0,12)&&void 0!==e[s])return!0;return!1}}class j{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=S.create("languageUtils")}getScriptPartFromCode(e){if(!(e=b(e))||e.indexOf("-")<0)return null;const t=e.split("-");return 2===t.length?null:(t.pop(),"x"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join("-")))}getLanguagePartFromCode(e){if(!(e=b(e))||e.indexOf("-")<0)return e;const t=e.split("-");return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(i(e)&&e.indexOf("-")>-1){let t=Intl.getCanonicalLocales(e)[0];return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return("languageOnly"===this.options.load||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(e)>-1}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach((e=>{if(t)return;const s=this.formatLanguageCode(e);this.options.supportedLngs&&!this.isSupportedCode(s)||(t=s)})),!t&&this.options.supportedLngs&&e.forEach((e=>{if(t)return;const s=this.getLanguagePartFromCode(e);if(this.isSupportedCode(s))return t=s;t=this.options.supportedLngs.find((e=>e===s?e:e.indexOf("-")<0&&s.indexOf("-")<0?void 0:e.indexOf("-")>0&&s.indexOf("-")<0&&e.substring(0,e.indexOf("-"))===s||0===e.indexOf(s)&&s.length>1?e:void 0))})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t}getFallbackCodes(e,t){if(!e)return[];if("function"==typeof e&&(e=e(t)),i(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let s=e[t];return s||(s=e[this.getScriptPartFromCode(t)]),s||(s=e[this.formatLanguageCode(t)]),s||(s=e[this.getLanguagePartFromCode(t)]),s||(s=e.default),s||[]}toResolveHierarchy(e,t){const s=this.getFallbackCodes(t||this.options.fallbackLng||[],e),n=[],o=e=>{e&&(this.isSupportedCode(e)?n.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return i(e)&&(e.indexOf("-")>-1||e.indexOf("_")>-1)?("languageOnly"!==this.options.load&&o(this.formatLanguageCode(e)),"languageOnly"!==this.options.load&&"currentOnly"!==this.options.load&&o(this.getScriptPartFromCode(e)),"currentOnly"!==this.options.load&&o(this.getLanguagePartFromCode(e))):i(e)&&o(this.formatLanguageCode(e)),s.forEach((e=>{n.indexOf(e)<0&&o(this.formatLanguageCode(e))})),n}}const $={zero:0,one:1,two:2,few:3,many:4,other:5},C={select:e=>1===e?"one":"other",resolvedOptions:()=>({pluralCategories:["one","other"]})};class N{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.languageUtils=e,this.options=t,this.logger=S.create("pluralResolver"),this.pluralRulesCache={}}addRule(e,t){this.rules[e]=t}clearCache(){this.pluralRulesCache={}}getRule(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const s=b("dev"===e?"en":e),i=t.ordinal?"ordinal":"cardinal",n=JSON.stringify({cleanedCode:s,type:i});if(n in this.pluralRulesCache)return this.pluralRulesCache[n];let o;try{o=new Intl.PluralRules(s,{type:i})}catch(s){if(!Intl)return this.logger.error("No Intl support, please use an Intl polyfill!"),C;if(!e.match(/-|_/))return C;const i=this.languageUtils.getLanguagePartFromCode(e);o=this.getRule(i,t)}return this.pluralRulesCache[n]=o,o}needsPlural(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(e,s).map((e=>`${t}${e}`))}getSuffixes(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=this.getRule(e,t);return s||(s=this.getRule("dev",t)),s?s.resolvedOptions().pluralCategories.sort(((e,t)=>$[e]-$[t])).map((e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:""}${e}`)):[]}getSuffix(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const i=this.getRule(e,s);return i?`${this.options.prepend}${s.ordinal?`ordinal${this.options.prepend}`:""}${i.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix("dev",t,s))}}const E=function(e,t,s){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:".",o=!(arguments.length>4&&void 0!==arguments[4])||arguments[4],r=((e,t,s)=>{const i=h(e,s);return void 0!==i?i:h(t,s)})(e,t,s);return!r&&o&&i(s)&&(r=y(e,s,n),void 0===r&&(r=y(t,s,n))),r},A=e=>e.replace(/\$/g,"$$$$");class T{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=S.create("interpolator"),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};e.interpolation||(e.interpolation={escapeValue:!0});const{escape:t,escapeValue:s,useRawValueToEscape:i,prefix:n,prefixEscaped:o,suffix:r,suffixEscaped:a,formatSeparator:l,unescapeSuffix:c,unescapePrefix:u,nestingPrefix:h,nestingPrefixEscaped:p,nestingSuffix:g,nestingSuffixEscaped:v,nestingOptionsSeparator:m,maxReplaces:y,alwaysFormat:b}=e.interpolation;this.escape=void 0!==t?t:f,this.escapeValue=void 0===s||s,this.useRawValueToEscape=void 0!==i&&i,this.prefix=n?d(n):o||"{{",this.suffix=r?d(r):a||"}}",this.formatSeparator=l||",",this.unescapePrefix=c?"":u||"-",this.unescapeSuffix=this.unescapePrefix?"":c||"",this.nestingPrefix=h?d(h):p||d("$t("),this.nestingSuffix=g?d(g):v||d(")"),this.nestingOptionsSeparator=m||",",this.maxReplaces=y||1e3,this.alwaysFormat=void 0!==b&&b,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){const e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,"g");this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}(.+?)${this.nestingSuffix}`)}interpolate(e,t,s,n){let r,a,l;const c=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},u=e=>{if(e.indexOf(this.formatSeparator)<0){const i=E(t,c,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,s,{...n,...t,interpolationkey:e}):i}const i=e.split(this.formatSeparator),o=i.shift().trim(),r=i.join(this.formatSeparator).trim();return this.format(E(t,c,o,this.options.keySeparator,this.options.ignoreJSONStructure),r,s,{...n,...t,interpolationkey:o})};this.resetRegExp();const h=n?.missingInterpolationHandler||this.options.missingInterpolationHandler,p=void 0!==n?.interpolation?.skipOnVariables?n.interpolation.skipOnVariables:this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>A(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?A(this.escape(e)):A(e)}].forEach((t=>{for(l=0;r=t.regex.exec(e);){const s=r[1].trim();if(a=u(s),void 0===a)if("function"==typeof h){const t=h(e,r,n);a=i(t)?t:""}else if(n&&Object.prototype.hasOwnProperty.call(n,s))a="";else{if(p){a=r[0];continue}this.logger.warn(`missed to pass in variable ${s} for interpolating ${e}`),a=""}else i(a)||this.useRawValueToEscape||(a=o(a));const c=t.safeValue(a);if(e=e.replace(r[0],c),p?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,l++,l>=this.maxReplaces)break}})),e}nest(e,t){let s,n,r,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const l=(e,t)=>{const s=this.nestingOptionsSeparator;if(e.indexOf(s)<0)return e;const i=e.split(new RegExp(`${s}[ ]*{`));let n=`{${i[1]}`;e=i[0],n=this.interpolate(n,r);const o=n.match(/'/g),a=n.match(/"/g);((o?.length??0)%2==0&&!a||a.length%2!=0)&&(n=n.replace(/'/g,'"'));try{r=JSON.parse(n),t&&(r={...t,...r})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${s}${n}`}return r.defaultValue&&r.defaultValue.indexOf(this.prefix)>-1&&delete r.defaultValue,e};for(;s=this.nestingRegexp.exec(e);){let c=[];r={...a},r=r.replace&&!i(r.replace)?r.replace:r,r.applyPostProcessor=!1,delete r.defaultValue;let u=!1;if(-1!==s[0].indexOf(this.formatSeparator)&&!/{.*}/.test(s[1])){const e=s[1].split(this.formatSeparator).map((e=>e.trim()));s[1]=e.shift(),c=e,u=!0}if(n=t(l.call(this,s[1].trim(),r),r),n&&s[0]===e&&!i(n))return n;i(n)||(n=o(n)),n||(this.logger.warn(`missed to resolve ${s[1]} for nesting ${e}`),n=""),u&&(n=c.reduce(((e,t)=>this.format(e,t,a.lng,{...a,interpolationkey:s[1].trim()})),n.trim())),e=e.replace(s[0],n),this.regexp.lastIndex=0}return e}}const D=e=>{const t={};return(s,i,n)=>{let o=n;n&&n.interpolationkey&&n.formatParams&&n.formatParams[n.interpolationkey]&&n[n.interpolationkey]&&(o={...o,[n.interpolationkey]:void 0});const r=i+JSON.stringify(o);let a=t[r];return a||(a=e(b(i),n),t[r]=a),a(s)}};class I{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.logger=S.create("formatter"),this.options=e,this.formats={number:D(((e,t)=>{const s=new Intl.NumberFormat(e,{...t});return e=>s.format(e)})),currency:D(((e,t)=>{const s=new Intl.NumberFormat(e,{...t,style:"currency"});return e=>s.format(e)})),datetime:D(((e,t)=>{const s=new Intl.DateTimeFormat(e,{...t});return e=>s.format(e)})),relativetime:D(((e,t)=>{const s=new Intl.RelativeTimeFormat(e,{...t});return e=>s.format(e,t.range||"day")})),list:D(((e,t)=>{const s=new Intl.ListFormat(e,{...t});return e=>s.format(e)}))},this.init(e)}init(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};this.formatSeparator=t.interpolation.formatSeparator||","}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=D(t)}format(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};const n=t.split(this.formatSeparator);if(n.length>1&&n[0].indexOf("(")>1&&n[0].indexOf(")")<0&&n.find((e=>e.indexOf(")")>-1))){const e=n.findIndex((e=>e.indexOf(")")>-1));n[0]=[n[0],...n.splice(1,e)].join(this.formatSeparator)}return n.reduce(((e,t)=>{const{formatName:n,formatOptions:o}=(e=>{let t=e.toLowerCase().trim();const s={};if(e.indexOf("(")>-1){const i=e.split("(");t=i[0].toLowerCase().trim();const n=i[1].substring(0,i[1].length-1);"currency"===t&&n.indexOf(":")<0?s.currency||(s.currency=n.trim()):"relativetime"===t&&n.indexOf(":")<0?s.range||(s.range=n.trim()):n.split(";").forEach((e=>{if(e){const[t,...i]=e.split(":"),n=i.join(":").trim().replace(/^'+|'+$/g,""),o=t.trim();s[o]||(s[o]=n),"false"===n&&(s[o]=!1),"true"===n&&(s[o]=!0),isNaN(n)||(s[o]=parseInt(n,10))}}))}return{formatName:t,formatOptions:s}})(t);if(this.formats[n]){let t=e;try{const r=i?.formatParams?.[i.interpolationkey]||{},a=r.locale||r.lng||i.locale||i.lng||s;t=this.formats[n](e,a,{...o,...i,...r})}catch(e){this.logger.warn(e)}return t}return this.logger.warn(`there was no format function for ${n}`),e}),e)}}class V extends O{constructor(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};super(),this.backend=e,this.store=t,this.services=s,this.languageUtils=s.languageUtils,this.options=i,this.logger=S.create("backendConnector"),this.waitingReads=[],this.maxParallelReads=i.maxParallelReads||10,this.readingCalls=0,this.maxRetries=i.maxRetries>=0?i.maxRetries:5,this.retryTimeout=i.retryTimeout>=1?i.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(s,i.backend,i)}queueLoad(e,t,s,i){const n={},o={},r={},a={};return e.forEach((e=>{let i=!0;t.forEach((t=>{const r=`${e}|${t}`;!s.reload&&this.store.hasResourceBundle(e,t)?this.state[r]=2:this.state[r]<0||(1===this.state[r]?void 0===o[r]&&(o[r]=!0):(this.state[r]=1,i=!1,void 0===o[r]&&(o[r]=!0),void 0===n[r]&&(n[r]=!0),void 0===a[t]&&(a[t]=!0)))})),i||(r[e]=!0)})),(Object.keys(n).length||Object.keys(o).length)&&this.queue.push({pending:o,pendingCount:Object.keys(o).length,loaded:{},errors:[],callback:i}),{toLoad:Object.keys(n),pending:Object.keys(o),toLoadLanguages:Object.keys(r),toLoadNamespaces:Object.keys(a)}}loaded(e,t,s){const i=e.split("|"),n=i[0],o=i[1];t&&this.emit("failedLoading",n,o,t),!t&&s&&this.store.addResourceBundle(n,o,s,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&s&&(this.state[e]=0);const r={};this.queue.forEach((s=>{((e,t,s,i)=>{const{obj:n,k:o}=c(e,t,Object);n[o]=n[o]||[],n[o].push(s)})(s.loaded,[n],o),((e,t)=>{void 0!==e.pending[t]&&(delete e.pending[t],e.pendingCount--)})(s,e),t&&s.errors.push(t),0!==s.pendingCount||s.done||(Object.keys(s.loaded).forEach((e=>{r[e]||(r[e]={});const t=s.loaded[e];t.length&&t.forEach((t=>{void 0===r[e][t]&&(r[e][t]=!0)}))})),s.done=!0,s.errors.length?s.callback(s.errors):s.callback())})),this.emit("loaded",r),this.queue=this.queue.filter((e=>!e.done))}read(e,t,s){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,n=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.retryTimeout,o=arguments.length>5?arguments[5]:void 0;if(!e.length)return o(null,{});if(this.readingCalls>=this.maxParallelReads)return void this.waitingReads.push({lng:e,ns:t,fcName:s,tried:i,wait:n,callback:o});this.readingCalls++;const r=(r,a)=>{if(this.readingCalls--,this.waitingReads.length>0){const e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}r&&a&&i<this.maxRetries?setTimeout((()=>{this.read.call(this,e,t,s,i+1,2*n,o)}),n):o(r,a)},a=this.backend[s].bind(this.backend);if(2!==a.length)return a(e,t,r);try{const s=a(e,t);s&&"function"==typeof s.then?s.then((e=>r(null,e))).catch(r):r(null,s)}catch(e){r(e)}}prepareLoading(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn("No backend was added via i18next.use. Will not load resources."),n&&n();i(e)&&(e=this.languageUtils.toResolveHierarchy(e)),i(t)&&(t=[t]);const o=this.queueLoad(e,t,s,n);if(!o.toLoad.length)return o.pending.length||n(),null;o.toLoad.forEach((e=>{this.loadOne(e)}))}load(e,t,s){this.prepareLoading(e,t,{},s)}reload(e,t,s){this.prepareLoading(e,t,{reload:!0},s)}loadOne(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const s=e.split("|"),i=s[0],n=s[1];this.read(i,n,"read",void 0,void 0,((s,o)=>{s&&this.logger.warn(`${t}loading namespace ${n} for language ${i} failed`,s),!s&&o&&this.logger.log(`${t}loaded namespace ${n} for language ${i}`,o),this.loaded(e,s,o)}))}saveMissing(e,t,s,i,n){let o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{},r=arguments.length>6&&void 0!==arguments[6]?arguments[6]:()=>{};if(!this.services?.utils?.hasLoadedNamespace||this.services?.utils?.hasLoadedNamespace(t)){if(null!=s&&""!==s){if(this.backend?.create){const a={...o,isUpdate:n},l=this.backend.create.bind(this.backend);if(l.length<6)try{let n;n=5===l.length?l(e,t,s,i,a):l(e,t,s,i),n&&"function"==typeof n.then?n.then((e=>r(null,e))).catch(r):r(null,n)}catch(e){r(e)}else l(e,t,s,i,r,a)}e&&e[0]&&this.store.addResource(e[0],t,s,i)}}else this.logger.warn(`did not save key "${s}" as the namespace "${t}" was not yet loaded`,"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")}}const F=()=>({debug:!1,initAsync:!0,ns:["translation"],defaultNS:["translation"],fallbackLng:["dev"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:"all",preload:!1,simplifyPluralSuffix:!0,keySeparator:".",nsSeparator:":",pluralSeparator:"_",contextSeparator:"_",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:"fallback",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if("object"==typeof e[1]&&(t=e[1]),i(e[1])&&(t.defaultValue=e[1]),i(e[2])&&(t.tDescription=e[2]),"object"==typeof e[2]||"object"==typeof e[3]){const s=e[3]||e[2];Object.keys(s).forEach((e=>{t[e]=s[e]}))}return t},interpolation:{escapeValue:!0,format:e=>e,prefix:"{{",suffix:"}}",formatSeparator:",",unescapePrefix:"-",nestingPrefix:"$t(",nestingSuffix:")",nestingOptionsSeparator:",",maxReplaces:1e3,skipOnVariables:!0}}),M=e=>(i(e.ns)&&(e.ns=[e.ns]),i(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),i(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs?.indexOf?.("cimode")<0&&(e.supportedLngs=e.supportedLngs.concat(["cimode"])),"boolean"==typeof e.initImmediate&&(e.initAsync=e.initImmediate),e),U=()=>{};class H extends O{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;var s;if(super(),this.options=M(e),this.services={},this.logger=S,this.modules={external:[]},s=this,Object.getOwnPropertyNames(Object.getPrototypeOf(s)).forEach((e=>{"function"==typeof s[e]&&(s[e]=s[e].bind(s))})),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout((()=>{this.init(e,t)}),0)}}init(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},s=arguments.length>1?arguments[1]:void 0;this.isInitializing=!0,"function"==typeof t&&(s=t,t={}),!t.defaultNS&&!1!==t.defaultNS&&t.ns&&(i(t.ns)?t.defaultNS=t.ns:t.ns.indexOf("translation")<0&&(t.defaultNS=t.ns[0]));const o=F();this.options={...o,...this.options,...M(t)},this.options.interpolation={...o.interpolation,...this.options.interpolation},void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator);const r=e=>e?"function"==typeof e?new e:e:null;if(!this.options.isClone){let t;this.modules.logger?S.init(r(this.modules.logger),this.options):S.init(null,this.options),t=this.modules.formatter?this.modules.formatter:I;const s=new j(this.options);this.store=new w(this.options.resources,this.options);const i=this.services;i.logger=S,i.resourceStore=this.store,i.languageUtils=s,i.pluralResolver=new N(s,{prepend:this.options.pluralSeparator,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!t||this.options.interpolation.format&&this.options.interpolation.format!==o.interpolation.format||(i.formatter=r(t),i.formatter.init(i,this.options),this.options.interpolation.format=i.formatter.format.bind(i.formatter)),i.interpolator=new T(this.options),i.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},i.backendConnector=new V(r(this.modules.backend),i.resourceStore,i,this.options),i.backendConnector.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.languageDetector&&(i.languageDetector=r(this.modules.languageDetector),i.languageDetector.init&&i.languageDetector.init(i,this.options.detection,this.options)),this.modules.i18nFormat&&(i.i18nFormat=r(this.modules.i18nFormat),i.i18nFormat.init&&i.i18nFormat.init(this)),this.translator=new P(this.services,this.options),this.translator.on("*",(function(t){for(var s=arguments.length,i=new Array(s>1?s-1:0),n=1;n<s;n++)i[n-1]=arguments[n];e.emit(t,...i)})),this.modules.external.forEach((e=>{e.init&&e.init(this)}))}if(this.format=this.options.interpolation.format,s||(s=U),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){const e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&"dev"!==e[0]&&(this.options.lng=e[0])}this.services.languageDetector||this.options.lng||this.logger.warn("init: no languageDetector is used and no lng is defined");["getResource","hasResourceBundle","getResourceBundle","getDataByLanguage"].forEach((t=>{this[t]=function(){return e.store[t](...arguments)}}));["addResource","addResources","addResourceBundle","removeResourceBundle"].forEach((t=>{this[t]=function(){return e.store[t](...arguments),e}}));const a=n(),l=()=>{const e=(e,t)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn("init: i18next is already initialized. You should call init just once!"),this.isInitialized=!0,this.options.isClone||this.logger.log("initialized",this.options),this.emit("initialized",this.options),a.resolve(t),s(e,t)};if(this.languages&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?l():setTimeout(l,0),a}loadResources(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U;const s=i(e)?e:this.language;if("function"==typeof e&&(t=e),!this.options.resources||this.options.partialBundledLanguages){if("cimode"===s?.toLowerCase()&&(!this.options.preload||0===this.options.preload.length))return t();const e=[],i=t=>{if(!t)return;if("cimode"===t)return;this.services.languageUtils.toResolveHierarchy(t).forEach((t=>{"cimode"!==t&&e.indexOf(t)<0&&e.push(t)}))};if(s)i(s);else{this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e=>i(e)))}this.options.preload?.forEach?.((e=>i(e))),this.services.backendConnector.load(e,this.options.ns,(e=>{e||this.resolvedLanguage||!this.language||this.setResolvedLanguage(this.language),t(e)}))}else t(null)}reloadResources(e,t,s){const i=n();return"function"==typeof e&&(s=e,e=void 0),"function"==typeof t&&(s=t,t=void 0),e||(e=this.languages),t||(t=this.options.ns),s||(s=U),this.services.backendConnector.reload(e,t,(e=>{i.resolve(),s(e)})),i}use(e){if(!e)throw new Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");if(!e.type)throw new Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");return"backend"===e.type&&(this.modules.backend=e),("logger"===e.type||e.log&&e.warn&&e.error)&&(this.modules.logger=e),"languageDetector"===e.type&&(this.modules.languageDetector=e),"i18nFormat"===e.type&&(this.modules.i18nFormat=e),"postProcessor"===e.type&&L.addPostProcessor(e),"formatter"===e.type&&(this.modules.formatter=e),"3rdParty"===e.type&&this.modules.external.push(e),this}setResolvedLanguage(e){if(e&&this.languages&&!(["cimode","dev"].indexOf(e)>-1))for(let e=0;e<this.languages.length;e++){const t=this.languages[e];if(!(["cimode","dev"].indexOf(t)>-1)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}}changeLanguage(e,t){var s=this;this.isLanguageChangingTo=e;const o=n();this.emit("languageChanging",e);const r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},a=(e,i)=>{i?(r(i),this.translator.changeLanguage(i),this.isLanguageChangingTo=void 0,this.emit("languageChanged",i),this.logger.log("languageChanged",i)):this.isLanguageChangingTo=void 0,o.resolve((function(){return s.t(...arguments)})),t&&t(e,(function(){return s.t(...arguments)}))},l=t=>{e||t||!this.services.languageDetector||(t=[]);const s=i(t)?t:this.services.languageUtils.getBestMatchFromCodes(t);s&&(this.language||r(s),this.translator.language||this.translator.changeLanguage(s),this.services.languageDetector?.cacheUserLanguage?.(s)),this.loadResources(s,(e=>{a(e,s)}))};return e||!this.services.languageDetector||this.services.languageDetector.async?!e&&this.services.languageDetector&&this.services.languageDetector.async?0===this.services.languageDetector.detect.length?this.services.languageDetector.detect().then(l):this.services.languageDetector.detect(l):l(e):l(this.services.languageDetector.detect()),o}getFixedT(e,t,s){var n=this;const o=function(e,t){let i;if("object"!=typeof t){for(var r=arguments.length,a=new Array(r>2?r-2:0),l=2;l<r;l++)a[l-2]=arguments[l];i=n.options.overloadTranslationOptionHandler([e,t].concat(a))}else i={...t};i.lng=i.lng||o.lng,i.lngs=i.lngs||o.lngs,i.ns=i.ns||o.ns,""!==i.keyPrefix&&(i.keyPrefix=i.keyPrefix||s||o.keyPrefix);const c=n.options.keySeparator||".";let u;return u=i.keyPrefix&&Array.isArray(e)?e.map((e=>`${i.keyPrefix}${c}${e}`)):i.keyPrefix?`${i.keyPrefix}${c}${e}`:e,n.t(u,i)};return i(e)?o.lng=e:o.lngs=e,o.ns=t,o.keyPrefix=s,o}t(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.translator?.translate(...t)}exists(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return this.translator?.exists(...t)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn("hasLoadedNamespace: i18next was not initialized",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty",this.languages),!1;const s=t.lng||this.resolvedLanguage||this.languages[0],i=!!this.options&&this.options.fallbackLng,n=this.languages[this.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=this.services.backendConnector.state[`${e}|${t}`];return-1===s||0===s||2===s};if(t.precheck){const e=t.precheck(this,o);if(void 0!==e)return e}return!!this.hasResourceBundle(s,e)||(!(this.services.backendConnector.backend&&(!this.options.resources||this.options.partialBundledLanguages))||!(!o(s,e)||i&&!o(n,e)))}loadNamespaces(e,t){const s=n();return this.options.ns?(i(e)&&(e=[e]),e.forEach((e=>{this.options.ns.indexOf(e)<0&&this.options.ns.push(e)})),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}loadLanguages(e,t){const s=n();i(e)&&(e=[e]);const o=this.options.preload||[],r=e.filter((e=>o.indexOf(e)<0&&this.services.languageUtils.isSupportedCode(e)));return r.length?(this.options.preload=o.concat(r),this.loadResources((e=>{s.resolve(),t&&t(e)})),s):(t&&t(),Promise.resolve())}dir(e){if(e||(e=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language)),!e)return"rtl";const t=this.services?.languageUtils||new j(F());return["ar","shu","sqr","ssh","xaa","yhd","yud","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","afb","ajp","apc","apd","arb","arq","ars","ary","arz","auz","avl","ayh","ayl","ayn","ayp","bbz","pga","he","iw","ps","pbt","pbu","pst","prp","prd","ug","ur","ydd","yds","yih","ji","yi","hbo","men","xmn","fa","jpr","peo","pes","prs","dv","sam","ckb"].indexOf(t.getLanguagePartFromCode(e))>-1||e.toLowerCase().indexOf("-arab")>1?"rtl":"ltr"}static createInstance(){return new H(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},arguments.length>1?arguments[1]:void 0)}cloneInstance(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:U;const s=e.forkResourceStore;s&&delete e.forkResourceStore;const i={...this.options,...e,isClone:!0},n=new H(i);void 0===e.debug&&void 0===e.prefix||(n.logger=n.logger.clone(e));return["store","services","language"].forEach((e=>{n[e]=this[e]})),n.services={...this.services},n.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},s&&(n.store=new w(this.store.data,i),n.services.resourceStore=n.store),n.translator=new P(n.services,i),n.translator.on("*",(function(e){for(var t=arguments.length,s=new Array(t>1?t-1:0),i=1;i<t;i++)s[i-1]=arguments[i];n.emit(e,...s)})),n.init(i,t),n.translator.options=i,n.translator.backendConnector.services.utils={hasLoadedNamespace:n.hasLoadedNamespace.bind(n)},n}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}const K=H.createInstance();K.createInstance=H.createInstance;K.createInstance,K.dir,K.init,K.loadResources,K.reloadResources,K.use,K.changeLanguage,K.getFixedT,K.t,K.exists,K.setDefaultNamespace,K.hasLoadedNamespace,K.loadNamespaces,K.loadLanguages}},function(e){var t;t=51250,e(e.s=t)}]); //# sourceMappingURL=i18n_init-115e8b97572e00d91d6f.js.map //]]> </script> <script src="https://cdn.theconversation.com/static/tc/runtime-2f27a134152327f5fe56.js"></script> </body> </html>