CINXE.COM
2011 November
<!DOCTYPE html> <html dir="ltr" lang="en-US"> <head><meta charset="UTF-8" /><script>if(navigator.userAgent.match(/MSIE|Internet Explorer/i)||navigator.userAgent.match(/Trident\/7\..*?rv:11/i)){var href=document.location.href;if(!href.match(/[?&]nowprocket/)){if(href.indexOf("?")==-1){if(href.indexOf("#")==-1){document.location.href=href+"?nowprocket=1"}else{document.location.href=href.replace("#","?nowprocket=1#")}}else{if(href.indexOf("#")==-1){document.location.href=href+"&nowprocket=1"}else{document.location.href=href.replace("#","&nowprocket=1#")}}}}</script><script>(()=>{class RocketLazyLoadScripts{constructor(){this.v="1.2.6",this.triggerEvents=["keydown","mousedown","mousemove","touchmove","touchstart","touchend","wheel"],this.userEventHandler=this.t.bind(this),this.touchStartHandler=this.i.bind(this),this.touchMoveHandler=this.o.bind(this),this.touchEndHandler=this.h.bind(this),this.clickHandler=this.u.bind(this),this.interceptedClicks=[],this.interceptedClickListeners=[],this.l(this),window.addEventListener("pageshow",(t=>{this.persisted=t.persisted,this.everythingLoaded&&this.m()})),this.CSPIssue=sessionStorage.getItem("rocketCSPIssue"),document.addEventListener("securitypolicyviolation",(t=>{this.CSPIssue||"script-src-elem"!==t.violatedDirective||"data"!==t.blockedURI||(this.CSPIssue=!0,sessionStorage.setItem("rocketCSPIssue",!0))})),document.addEventListener("DOMContentLoaded",(()=>{this.k()})),this.delayedScripts={normal:[],async:[],defer:[]},this.trash=[],this.allJQueries=[]}p(t){document.hidden?t.t():(this.triggerEvents.forEach((e=>window.addEventListener(e,t.userEventHandler,{passive:!0}))),window.addEventListener("touchstart",t.touchStartHandler,{passive:!0}),window.addEventListener("mousedown",t.touchStartHandler),document.addEventListener("visibilitychange",t.userEventHandler))}_(){this.triggerEvents.forEach((t=>window.removeEventListener(t,this.userEventHandler,{passive:!0}))),document.removeEventListener("visibilitychange",this.userEventHandler)}i(t){"HTML"!==t.target.tagName&&(window.addEventListener("touchend",this.touchEndHandler),window.addEventListener("mouseup",this.touchEndHandler),window.addEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.addEventListener("mousemove",this.touchMoveHandler),t.target.addEventListener("click",this.clickHandler),this.L(t.target,!0),this.S(t.target,"onclick","rocket-onclick"),this.C())}o(t){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler),t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.M()}h(){window.removeEventListener("touchend",this.touchEndHandler),window.removeEventListener("mouseup",this.touchEndHandler),window.removeEventListener("touchmove",this.touchMoveHandler,{passive:!0}),window.removeEventListener("mousemove",this.touchMoveHandler)}u(t){t.target.removeEventListener("click",this.clickHandler),this.L(t.target,!1),this.S(t.target,"rocket-onclick","onclick"),this.interceptedClicks.push(t),t.preventDefault(),t.stopPropagation(),t.stopImmediatePropagation(),this.M()}O(){window.removeEventListener("touchstart",this.touchStartHandler,{passive:!0}),window.removeEventListener("mousedown",this.touchStartHandler),this.interceptedClicks.forEach((t=>{t.target.dispatchEvent(new MouseEvent("click",{view:t.view,bubbles:!0,cancelable:!0}))}))}l(t){EventTarget.prototype.addEventListenerWPRocketBase=EventTarget.prototype.addEventListener,EventTarget.prototype.addEventListener=function(e,i,o){"click"!==e||t.windowLoaded||i===t.clickHandler||t.interceptedClickListeners.push({target:this,func:i,options:o}),(this||window).addEventListenerWPRocketBase(e,i,o)}}L(t,e){this.interceptedClickListeners.forEach((i=>{i.target===t&&(e?t.removeEventListener("click",i.func,i.options):t.addEventListener("click",i.func,i.options))})),t.parentNode!==document.documentElement&&this.L(t.parentNode,e)}D(){return new Promise((t=>{this.P?this.M=t:t()}))}C(){this.P=!0}M(){this.P=!1}S(t,e,i){t.hasAttribute&&t.hasAttribute(e)&&(event.target.setAttribute(i,event.target.getAttribute(e)),event.target.removeAttribute(e))}t(){this._(this),"loading"===document.readyState?document.addEventListener("DOMContentLoaded",this.R.bind(this)):this.R()}k(){let t=[];document.querySelectorAll("script[type=rocketlazyloadscript][data-rocket-src]").forEach((e=>{let i=e.getAttribute("data-rocket-src");if(i&&!i.startsWith("data:")){0===i.indexOf("//")&&(i=location.protocol+i);try{const o=new URL(i).origin;o!==location.origin&&t.push({src:o,crossOrigin:e.crossOrigin||"module"===e.getAttribute("data-rocket-type")})}catch(t){}}})),t=[...new Map(t.map((t=>[JSON.stringify(t),t]))).values()],this.T(t,"preconnect")}async R(){this.lastBreath=Date.now(),this.j(this),this.F(this),this.I(),this.W(),this.q(),await this.A(this.delayedScripts.normal),await this.A(this.delayedScripts.defer),await this.A(this.delayedScripts.async);try{await this.U(),await this.H(this),await this.J()}catch(t){console.error(t)}window.dispatchEvent(new Event("rocket-allScriptsLoaded")),this.everythingLoaded=!0,this.D().then((()=>{this.O()})),this.N()}W(){document.querySelectorAll("script[type=rocketlazyloadscript]").forEach((t=>{t.hasAttribute("data-rocket-src")?t.hasAttribute("async")&&!1!==t.async?this.delayedScripts.async.push(t):t.hasAttribute("defer")&&!1!==t.defer||"module"===t.getAttribute("data-rocket-type")?this.delayedScripts.defer.push(t):this.delayedScripts.normal.push(t):this.delayedScripts.normal.push(t)}))}async B(t){if(await this.G(),!0!==t.noModule||!("noModule"in HTMLScriptElement.prototype))return new Promise((e=>{let i;function o(){(i||t).setAttribute("data-rocket-status","executed"),e()}try{if(navigator.userAgent.indexOf("Firefox/")>0||""===navigator.vendor||this.CSPIssue)i=document.createElement("script"),[...t.attributes].forEach((t=>{let e=t.nodeName;"type"!==e&&("data-rocket-type"===e&&(e="type"),"data-rocket-src"===e&&(e="src"),i.setAttribute(e,t.nodeValue))})),t.text&&(i.text=t.text),i.hasAttribute("src")?(i.addEventListener("load",o),i.addEventListener("error",(function(){i.setAttribute("data-rocket-status","failed-network"),e()})),setTimeout((()=>{i.isConnected||e()}),1)):(i.text=t.text,o()),t.parentNode.replaceChild(i,t);else{const i=t.getAttribute("data-rocket-type"),s=t.getAttribute("data-rocket-src");i?(t.type=i,t.removeAttribute("data-rocket-type")):t.removeAttribute("type"),t.addEventListener("load",o),t.addEventListener("error",(i=>{this.CSPIssue&&i.target.src.startsWith("data:")?(console.log("WPRocket: data-uri blocked by CSP -> fallback"),t.removeAttribute("src"),this.B(t).then(e)):(t.setAttribute("data-rocket-status","failed-network"),e())})),s?(t.removeAttribute("data-rocket-src"),t.src=s):t.src="data:text/javascript;base64,"+window.btoa(unescape(encodeURIComponent(t.text)))}}catch(i){t.setAttribute("data-rocket-status","failed-transform"),e()}}));t.setAttribute("data-rocket-status","skipped")}async A(t){const e=t.shift();return e&&e.isConnected?(await this.B(e),this.A(t)):Promise.resolve()}q(){this.T([...this.delayedScripts.normal,...this.delayedScripts.defer,...this.delayedScripts.async],"preload")}T(t,e){var i=document.createDocumentFragment();t.forEach((t=>{const o=t.getAttribute&&t.getAttribute("data-rocket-src")||t.src;if(o&&!o.startsWith("data:")){const s=document.createElement("link");s.href=o,s.rel=e,"preconnect"!==e&&(s.as="script"),t.getAttribute&&"module"===t.getAttribute("data-rocket-type")&&(s.crossOrigin=!0),t.crossOrigin&&(s.crossOrigin=t.crossOrigin),t.integrity&&(s.integrity=t.integrity),i.appendChild(s),this.trash.push(s)}})),document.head.appendChild(i)}j(t){let e={};function i(i,o){return e[o].eventsToRewrite.indexOf(i)>=0&&!t.everythingLoaded?"rocket-"+i:i}function o(t,o){!function(t){e[t]||(e[t]={originalFunctions:{add:t.addEventListener,remove:t.removeEventListener},eventsToRewrite:[]},t.addEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.add.apply(t,arguments)},t.removeEventListener=function(){arguments[0]=i(arguments[0],t),e[t].originalFunctions.remove.apply(t,arguments)})}(t),e[t].eventsToRewrite.push(o)}function s(e,i){let o=e[i];e[i]=null,Object.defineProperty(e,i,{get:()=>o||function(){},set(s){t.everythingLoaded?o=s:e["rocket"+i]=o=s}})}o(document,"DOMContentLoaded"),o(window,"DOMContentLoaded"),o(window,"load"),o(window,"pageshow"),o(document,"readystatechange"),s(document,"onreadystatechange"),s(window,"onload"),s(window,"onpageshow");try{Object.defineProperty(document,"readyState",{get:()=>t.rocketReadyState,set(e){t.rocketReadyState=e},configurable:!0}),document.readyState="loading"}catch(t){console.log("WPRocket DJE readyState conflict, bypassing")}}F(t){let e;function i(e){return t.everythingLoaded?e:e.split(" ").map((t=>"load"===t||0===t.indexOf("load.")?"rocket-jquery-load":t)).join(" ")}function o(o){function s(t){const e=o.fn[t];o.fn[t]=o.fn.init.prototype[t]=function(){return this[0]===window&&("string"==typeof arguments[0]||arguments[0]instanceof String?arguments[0]=i(arguments[0]):"object"==typeof arguments[0]&&Object.keys(arguments[0]).forEach((t=>{const e=arguments[0][t];delete arguments[0][t],arguments[0][i(t)]=e}))),e.apply(this,arguments),this}}o&&o.fn&&!t.allJQueries.includes(o)&&(o.fn.ready=o.fn.init.prototype.ready=function(e){return t.domReadyFired?e.bind(document)(o):document.addEventListener("rocket-DOMContentLoaded",(()=>e.bind(document)(o))),o([])},s("on"),s("one"),t.allJQueries.push(o)),e=o}o(window.jQuery),Object.defineProperty(window,"jQuery",{get:()=>e,set(t){o(t)}})}async H(t){const e=document.querySelector("script[data-webpack]");e&&(await async function(){return new Promise((t=>{e.addEventListener("load",t),e.addEventListener("error",t)}))}(),await t.K(),await t.H(t))}async U(){this.domReadyFired=!0;try{document.readyState="interactive"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),document.dispatchEvent(new Event("rocket-DOMContentLoaded")),await this.G(),window.dispatchEvent(new Event("rocket-DOMContentLoaded"))}async J(){try{document.readyState="complete"}catch(t){}await this.G(),document.dispatchEvent(new Event("rocket-readystatechange")),await this.G(),document.rocketonreadystatechange&&document.rocketonreadystatechange(),await this.G(),window.dispatchEvent(new Event("rocket-load")),await this.G(),window.rocketonload&&window.rocketonload(),await this.G(),this.allJQueries.forEach((t=>t(window).trigger("rocket-jquery-load"))),await this.G();const t=new Event("rocket-pageshow");t.persisted=this.persisted,window.dispatchEvent(t),await this.G(),window.rocketonpageshow&&window.rocketonpageshow({persisted:this.persisted}),this.windowLoaded=!0}m(){document.onreadystatechange&&document.onreadystatechange(),window.onload&&window.onload(),window.onpageshow&&window.onpageshow({persisted:this.persisted})}I(){const t=new Map;document.write=document.writeln=function(e){const i=document.currentScript;i||console.error("WPRocket unable to document.write this: "+e);const o=document.createRange(),s=i.parentElement;let n=t.get(i);void 0===n&&(n=i.nextSibling,t.set(i,n));const c=document.createDocumentFragment();o.setStart(c,0),c.appendChild(o.createContextualFragment(e)),s.insertBefore(c,n)}}async G(){Date.now()-this.lastBreath>45&&(await this.K(),this.lastBreath=Date.now())}async K(){return document.hidden?new Promise((t=>setTimeout(t))):new Promise((t=>requestAnimationFrame(t)))}N(){this.trash.forEach((t=>t.remove()))}static run(){const t=new RocketLazyLoadScripts;t.p(t)}}RocketLazyLoadScripts.run()})();</script> <!-- Global Site Tag (gtag.js) - Google Analytics --> <script type="rocketlazyloadscript" data-rocket-src="https://www.googletagmanager.com/gtag/js?id=UA-4975786-4" async></script> <script type="rocketlazyloadscript"> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-4975786-4'); </script> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link href="https://primaltrek.com/blog/wp-content/thesis/skins/classic-r/css.css" rel="stylesheet" /> <title>2011 November</title> <meta name="robots" content="noindex, noodp, noydir" /> <link href="https://primaltrek.com/blog/feed/" rel="alternate" type="application/rss+xml" title="Primal Trek feed" /> <link href="https://primaltrek.com/blog/xmlrpc.php" rel="pingback" /> <meta name='robots' content='max-image-preview:large' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <style id='wp-emoji-styles-inline-css' type='text/css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='wp-block-library-css' href='https://primaltrek.com/blog/wp-includes/css/dist/block-library/style.min.css?ver=6.7.2' type='text/css' media='all' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel="https://api.w.org/" href="https://primaltrek.com/blog/wp-json/" /><noscript><style id="rocket-lazyload-nojs-css">.rll-youtube-player, [data-lazy-src]{display:none !important;}</style></noscript><link href="https://primaltrek.com/blog/wp-content/uploads/2013/11/favicon.ico" rel="shortcut icon" /> <noscript><style>.menu { display: block; }</style></noscript></head> <body class="template-month"> <div data-rocket-location-hash="93b9c55a76db46220508acbe442d05f2" class="container"> <span class="menu_control">≡ Menu</span> <ul id="menu-home" class="menu"><li id="menu-item-6343" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-6343"><a href="https://primaltrek.com">Home</a></li> <li id="menu-item-6344" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-6344"><a href="https://primaltrek.com/blog/about-me/">ABOUT ME</a></li> </ul> <div data-rocket-location-hash="b9268b4432fe0746a994bae6f90d5f50" id="header" class="header"> <div data-rocket-location-hash="696b1c560abf5a44324f237b6a87c67d" id="site_title">Primal Trek</div> <div data-rocket-location-hash="286d2406dbbc084b5f3bca3c546609b6" id="site_tagline">a journey through Chinese culture</div> </div> <div data-rocket-location-hash="4d1b0565a2cfe76418efcf78086d3f61" class="columns"> <div data-rocket-location-hash="5ae7e3edf258b48cd17dc707fb7fef9c" class="content"> <div class="archive_intro post_box grt top"> <h1 class="archive_title headline">November 2011</h1> </div> <div id="post-3012" class="post_box grt top" itemscope itemtype="https://schema.org/Article"> <div class="headline_area"> <h2 class="headline" itemprop="headline"><a href="https://primaltrek.com/blog/2011/11/29/the-huainanzi-and-vietnamese-coins/" rel="bookmark">The Huainanzi and Vietnamese Coins</a></h2> <div class="byline small"> <span class="post_author_intro">by</span> <span class="post_author" itemprop="author">Gary Ashkenazy</span> <meta itemprop="datePublished" content="2011-11-29" /> <meta itemprop="dateModified" content="2020-12-11" /> <span class="post_date_intro">on</span> <span class="post_date" title="2011-11-29">November 29, 2011</span> </div> </div> <a class="thumb_link" href="https://primaltrek.com/blog/2011/11/29/the-huainanzi-and-vietnamese-coins/" title="read more"><img class="thumb alignleft frame" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="The Huainanzi and Vietnamese Coins thumbnail" itemprop="thumbnailUrl" data-lazy-src="http://primaltrek.com/mingmingtongbaorev1.jpg" /><noscript><img class="thumb alignleft frame" src="http://primaltrek.com/mingmingtongbaorev1.jpg" alt="The Huainanzi and Vietnamese Coins thumbnail" itemprop="thumbnailUrl" /></noscript></a> <div class="post_content post_excerpt" itemprop="description"> <p>The huainanzi (淮南子), variously translated as “The Masters of Huainan”, “The Huainan Philosophers” and “The Book of the Master of Huainan”, is an ancient Chinese philosophical work on the proper way for a monarch to govern. The huainanzi also records some of China’s most ancient myths and stories including “Nu Wa Repairs the Sky” (nu [...]</p> </div> <meta itemprop="interactionCount" content="UserComments:0" /> <span class="bracket">{</span> <a class="num_comments_link" href="https://primaltrek.com/blog/2011/11/29/the-huainanzi-and-vietnamese-coins/#commentform" rel="nofollow"><span class="num_comments">0</span> comments</a> <span class="bracket">}</span> </div> <div id="post-2915" class="post_box grt" itemscope itemtype="https://schema.org/Article"> <div class="headline_area"> <h2 class="headline" itemprop="headline"><a href="https://primaltrek.com/blog/2011/11/14/ancient-chinese-mirrors-donated-to-shanghai-museum/" rel="bookmark">Ancient Chinese Mirrors Donated To Shanghai Museum</a></h2> <div class="byline small"> <span class="post_author_intro">by</span> <span class="post_author" itemprop="author">Gary Ashkenazy</span> <meta itemprop="datePublished" content="2011-11-14" /> <meta itemprop="dateModified" content="2020-12-11" /> <span class="post_date_intro">on</span> <span class="post_date" title="2011-11-14">November 14, 2011</span> </div> </div> <a class="thumb_link" href="https://primaltrek.com/blog/2011/11/14/ancient-chinese-mirrors-donated-to-shanghai-museum/" title="read more"><img class="thumb alignleft frame" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Ancient Chinese Mirrors Donated To Shanghai Museum thumbnail" itemprop="thumbnailUrl" data-lazy-src="http://primaltrek.com/hanmirror1.jpg" /><noscript><img class="thumb alignleft frame" src="http://primaltrek.com/hanmirror1.jpg" alt="Ancient Chinese Mirrors Donated To Shanghai Museum thumbnail" itemprop="thumbnailUrl" /></noscript></a> <div class="post_content post_excerpt" itemprop="description"> <p>An outstanding private collection of ancient Chinese bronze mirrors owned by Lloyd Cotsen is being donated to the Shanghai Museum according to press releases issued in China and by The Huntington in San Marino, California. Lloyd Cotsen, a successful American entrepreneur and noted philanthropist, began collecting ancient Chinese mirrors in the 1950’s after being exposed [...]</p> </div> <meta itemprop="interactionCount" content="UserComments:0" /> <span class="bracket">{</span> <a class="num_comments_link" href="https://primaltrek.com/blog/2011/11/14/ancient-chinese-mirrors-donated-to-shanghai-museum/#commentform" rel="nofollow"><span class="num_comments">0</span> comments</a> <span class="bracket">}</span> </div> <div id="post-2845" class="post_box grt" itemscope itemtype="https://schema.org/Article"> <div class="headline_area"> <h2 class="headline" itemprop="headline"><a href="https://primaltrek.com/blog/2011/11/12/ancient-coins-discovered-in-golden-horse-river/" rel="bookmark">Ancient Coins Discovered in Golden Horse River</a></h2> <div class="byline small"> <span class="post_author_intro">by</span> <span class="post_author" itemprop="author">Gary Ashkenazy</span> <meta itemprop="datePublished" content="2011-11-12" /> <meta itemprop="dateModified" content="2020-12-11" /> <span class="post_date_intro">on</span> <span class="post_date" title="2011-11-12">November 12, 2011</span> </div> </div> <a class="thumb_link" href="https://primaltrek.com/blog/2011/11/12/ancient-coins-discovered-in-golden-horse-river/" title="read more"><img class="thumb alignleft frame" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Ancient Coins Discovered in Golden Horse River thumbnail" itemprop="thumbnailUrl" data-lazy-src="http://primaltrek.com/rivercoins1a.jpg" /><noscript><img class="thumb alignleft frame" src="http://primaltrek.com/rivercoins1a.jpg" alt="Ancient Coins Discovered in Golden Horse River thumbnail" itemprop="thumbnailUrl" /></noscript></a> <div class="post_content post_excerpt" itemprop="description"> <p>More than 100 local villagers were seen busily overturning rocks in a small flood plain area of Sichuan Province’s “Golden Horse River” (金马河) once word spread that a large number of ancient Chinese coins had been discovered, according to a report by the Sichuan News Network (四川新闻网). Villagers of the Wenjiang District (温江区) of Chengdu [...]</p> </div> <meta itemprop="interactionCount" content="UserComments:0" /> <span class="bracket">{</span> <a class="num_comments_link" href="https://primaltrek.com/blog/2011/11/12/ancient-coins-discovered-in-golden-horse-river/#commentform" rel="nofollow"><span class="num_comments">0</span> comments</a> <span class="bracket">}</span> </div> <div id="post-2760" class="post_box grt" itemscope itemtype="https://schema.org/Article"> <div class="headline_area"> <h2 class="headline" itemprop="headline"><a href="https://primaltrek.com/blog/2011/11/03/chinas-biggest-ancient-coin/" rel="bookmark">China’s Biggest Ancient Coin</a></h2> <div class="byline small"> <span class="post_author_intro">by</span> <span class="post_author" itemprop="author">Gary Ashkenazy</span> <meta itemprop="datePublished" content="2011-11-03" /> <meta itemprop="dateModified" content="2020-12-11" /> <span class="post_date_intro">on</span> <span class="post_date" title="2011-11-03">November 3, 2011</span> </div> </div> <a class="thumb_link" href="https://primaltrek.com/blog/2011/11/03/chinas-biggest-ancient-coin/" title="read more"><img class="thumb alignleft frame" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="China’s Biggest Ancient Coin thumbnail" itemprop="thumbnailUrl" data-lazy-src="http://primaltrek.com/jiajingtongbao1.jpg" /><noscript><img class="thumb alignleft frame" src="http://primaltrek.com/jiajingtongbao1.jpg" alt="China’s Biggest Ancient Coin thumbnail" itemprop="thumbnailUrl" /></noscript></a> <div class="post_content post_excerpt" itemprop="description"> <p>The official New China News Agency (新华社) revealed in 1997 that Chinese archaeologists working in the southwestern province of Yunnan had unearthed a huge Ming Dynasty coin which was described as the largest and heaviest ancient Chinese coin ever found. The coin was cast during the reign of Emperor Shi Zong (1522-1567) to commemorate the [...]</p> </div> <meta itemprop="interactionCount" content="UserComments:0" /> <span class="bracket">{</span> <a class="num_comments_link" href="https://primaltrek.com/blog/2011/11/03/chinas-biggest-ancient-coin/#commentform" rel="nofollow"><span class="num_comments">0</span> comments</a> <span class="bracket">}</span> </div> <div id="post-2689" class="post_box grt" itemscope itemtype="https://schema.org/Article"> <div class="headline_area"> <h2 class="headline" itemprop="headline"><a href="https://primaltrek.com/blog/2011/11/02/coffin-contains-coin-instead-of-corpse/" rel="bookmark">Coffin Contains Coin Instead of Corpse</a></h2> <div class="byline small"> <span class="post_author_intro">by</span> <span class="post_author" itemprop="author">Gary Ashkenazy</span> <meta itemprop="datePublished" content="2011-11-02" /> <meta itemprop="dateModified" content="2020-12-11" /> <span class="post_date_intro">on</span> <span class="post_date" title="2011-11-02">November 2, 2011</span> </div> </div> <a class="thumb_link" href="https://primaltrek.com/blog/2011/11/02/coffin-contains-coin-instead-of-corpse/" title="read more"><img class="thumb alignleft frame" src="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E" alt="Coffin Contains Coin Instead of Corpse thumbnail" itemprop="thumbnailUrl" data-lazy-src="http://primaltrek.com/fatmandollar1.jpg" /><noscript><img class="thumb alignleft frame" src="http://primaltrek.com/fatmandollar1.jpg" alt="Coffin Contains Coin Instead of Corpse thumbnail" itemprop="thumbnailUrl" /></noscript></a> <div class="post_content post_excerpt" itemprop="description"> <p>An article in the Suqian Evening News (宿迁晚报) reported an unusual discovery. Chinese archaeologists excavating a multiple tomb site in Suqian (宿迁), a city in northern Jiangsu Province (江苏), unearthed a coffin with no corpse. The only thing inside the casket was a coin. Most of the tombs being excavated at the site date from [...]</p> </div> <meta itemprop="interactionCount" content="UserComments:0" /> <span class="bracket">{</span> <a class="num_comments_link" href="https://primaltrek.com/blog/2011/11/02/coffin-contains-coin-instead-of-corpse/#commentform" rel="nofollow"><span class="num_comments">0</span> comments</a> <span class="bracket">}</span> </div> </div> <div data-rocket-location-hash="d5bf9b362f33a4a86573fa136917f78d" class="sidebar"> <div class="widget widget_categories" id="categories-3"><p class="widget_title">Categories</p> <ul> <li class="cat-item cat-item-3"><a href="https://primaltrek.com/blog/category/chinese-charms/">Chinese charms</a> (45) </li> <li class="cat-item cat-item-12"><a href="https://primaltrek.com/blog/category/chinese-chess-xiangqi/">Chinese chess (xiangqi)</a> (3) </li> <li class="cat-item cat-item-4"><a href="https://primaltrek.com/blog/category/chinese-coins/">Chinese coins</a> (90) </li> <li class="cat-item cat-item-11"><a href="https://primaltrek.com/blog/category/chinese-mirrors/">Chinese mirrors</a> (3) </li> <li class="cat-item cat-item-8"><a href="https://primaltrek.com/blog/category/chinese-paper-money/">Chinese paper money</a> (3) </li> <li class="cat-item cat-item-16"><a href="https://primaltrek.com/blog/category/horse-coins/">Horse coins</a> (3) </li> <li class="cat-item cat-item-10"><a href="https://primaltrek.com/blog/category/japanese-charms/">Japanese charms</a> (3) </li> <li class="cat-item cat-item-17"><a href="https://primaltrek.com/blog/category/japanese-coins/">Japanese coins</a> (1) </li> <li class="cat-item cat-item-9"><a href="https://primaltrek.com/blog/category/korean-charms/">Korean charms</a> (2) </li> <li class="cat-item cat-item-14"><a href="https://primaltrek.com/blog/category/silk-road-coins/">Silk Road coins</a> (2) </li> <li class="cat-item cat-item-1"><a href="https://primaltrek.com/blog/category/uncategorized/">Uncategorized</a> (17) </li> <li class="cat-item cat-item-13"><a href="https://primaltrek.com/blog/category/vietnamese-charms/">Vietnamese coins and charms</a> (2) </li> </ul> </div><div class="widget widget_archive" id="archives-3"><p class="widget_title">Archives</p> <ul> <li><a href='https://primaltrek.com/blog/2021/03/'>March 2021</a> (3)</li> <li><a href='https://primaltrek.com/blog/2021/02/'>February 2021</a> (2)</li> <li><a href='https://primaltrek.com/blog/2021/01/'>January 2021</a> (3)</li> <li><a href='https://primaltrek.com/blog/2020/12/'>December 2020</a> (2)</li> <li><a href='https://primaltrek.com/blog/2016/11/'>November 2016</a> (2)</li> <li><a href='https://primaltrek.com/blog/2016/10/'>October 2016</a> (2)</li> <li><a href='https://primaltrek.com/blog/2016/02/'>February 2016</a> (3)</li> <li><a href='https://primaltrek.com/blog/2016/01/'>January 2016</a> (1)</li> <li><a href='https://primaltrek.com/blog/2015/10/'>October 2015</a> (1)</li> <li><a href='https://primaltrek.com/blog/2015/09/'>September 2015</a> (2)</li> <li><a href='https://primaltrek.com/blog/2015/08/'>August 2015</a> (3)</li> <li><a href='https://primaltrek.com/blog/2015/07/'>July 2015</a> (3)</li> <li><a href='https://primaltrek.com/blog/2015/06/'>June 2015</a> (3)</li> <li><a href='https://primaltrek.com/blog/2015/05/'>May 2015</a> (3)</li> <li><a href='https://primaltrek.com/blog/2015/04/'>April 2015</a> (1)</li> <li><a href='https://primaltrek.com/blog/2015/03/'>March 2015</a> (2)</li> <li><a href='https://primaltrek.com/blog/2015/02/'>February 2015</a> (2)</li> <li><a href='https://primaltrek.com/blog/2015/01/'>January 2015</a> (2)</li> <li><a href='https://primaltrek.com/blog/2014/12/'>December 2014</a> (3)</li> <li><a href='https://primaltrek.com/blog/2014/11/'>November 2014</a> (1)</li> <li><a href='https://primaltrek.com/blog/2013/12/'>December 2013</a> (1)</li> <li><a href='https://primaltrek.com/blog/2013/11/'>November 2013</a> (1)</li> <li><a href='https://primaltrek.com/blog/2013/10/'>October 2013</a> (2)</li> <li><a href='https://primaltrek.com/blog/2013/09/'>September 2013</a> (3)</li> <li><a href='https://primaltrek.com/blog/2013/08/'>August 2013</a> (1)</li> <li><a href='https://primaltrek.com/blog/2013/07/'>July 2013</a> (2)</li> <li><a href='https://primaltrek.com/blog/2013/06/'>June 2013</a> (2)</li> <li><a href='https://primaltrek.com/blog/2013/05/'>May 2013</a> (5)</li> <li><a href='https://primaltrek.com/blog/2013/04/'>April 2013</a> (3)</li> <li><a href='https://primaltrek.com/blog/2013/03/'>March 2013</a> (1)</li> <li><a href='https://primaltrek.com/blog/2013/02/'>February 2013</a> (3)</li> <li><a href='https://primaltrek.com/blog/2013/01/'>January 2013</a> (4)</li> <li><a href='https://primaltrek.com/blog/2012/12/'>December 2012</a> (2)</li> <li><a href='https://primaltrek.com/blog/2012/11/'>November 2012</a> (2)</li> <li><a href='https://primaltrek.com/blog/2012/10/'>October 2012</a> (2)</li> <li><a href='https://primaltrek.com/blog/2012/09/'>September 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/08/'>August 2012</a> (2)</li> <li><a href='https://primaltrek.com/blog/2012/07/'>July 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/06/'>June 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/05/'>May 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/04/'>April 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/03/'>March 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2012/02/'>February 2012</a> (2)</li> <li><a href='https://primaltrek.com/blog/2012/01/'>January 2012</a> (1)</li> <li><a href='https://primaltrek.com/blog/2011/12/'>December 2011</a> (2)</li> <li><a href='https://primaltrek.com/blog/2011/11/' aria-current="page">November 2011</a> (5)</li> <li><a href='https://primaltrek.com/blog/2011/10/'>October 2011</a> (5)</li> <li><a href='https://primaltrek.com/blog/2011/09/'>September 2011</a> (8)</li> <li><a href='https://primaltrek.com/blog/2011/08/'>August 2011</a> (6)</li> <li><a href='https://primaltrek.com/blog/2011/07/'>July 2011</a> (7)</li> <li><a href='https://primaltrek.com/blog/2011/06/'>June 2011</a> (8)</li> <li><a href='https://primaltrek.com/blog/2011/05/'>May 2011</a> (16)</li> </ul> </div> </div> </div> <div data-rocket-location-hash="027bee8e91fb0268a1da600109edaec3" class="footer"> </div> </div> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="rocket-browser-checker-js-after"> /* <![CDATA[ */ "use strict";var _createClass=function(){function defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}}return function(Constructor,protoProps,staticProps){return protoProps&&defineProperties(Constructor.prototype,protoProps),staticProps&&defineProperties(Constructor,staticProps),Constructor}}();function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}var RocketBrowserCompatibilityChecker=function(){function RocketBrowserCompatibilityChecker(options){_classCallCheck(this,RocketBrowserCompatibilityChecker),this.passiveSupported=!1,this._checkPassiveOption(this),this.options=!!this.passiveSupported&&options}return _createClass(RocketBrowserCompatibilityChecker,[{key:"_checkPassiveOption",value:function(self){try{var options={get passive(){return!(self.passiveSupported=!0)}};window.addEventListener("test",null,options),window.removeEventListener("test",null,options)}catch(err){self.passiveSupported=!1}}},{key:"initRequestIdleCallback",value:function(){!1 in window&&(window.requestIdleCallback=function(cb){var start=Date.now();return setTimeout(function(){cb({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-start))}})},1)}),!1 in window&&(window.cancelIdleCallback=function(id){return clearTimeout(id)})}},{key:"isDataSaverModeOn",value:function(){return"connection"in navigator&&!0===navigator.connection.saveData}},{key:"supportsLinkPrefetch",value:function(){var elem=document.createElement("link");return elem.relList&&elem.relList.supports&&elem.relList.supports("prefetch")&&window.IntersectionObserver&&"isIntersecting"in IntersectionObserverEntry.prototype}},{key:"isSlowConnection",value:function(){return"connection"in navigator&&"effectiveType"in navigator.connection&&("2g"===navigator.connection.effectiveType||"slow-2g"===navigator.connection.effectiveType)}}]),RocketBrowserCompatibilityChecker}(); /* ]]> */ </script> <script type="text/javascript" id="rocket-preload-links-js-extra"> /* <![CDATA[ */ var RocketPreloadLinksConfig = {"excludeUris":"\/blog(\/(?:.+\/)?feed(?:\/(?:.+\/?)?)?$|\/(?:.+\/)?embed\/|\/(index.php\/)?(.*)wp-json(\/.*|$))|\/refer\/|\/go\/|\/recommend\/|\/recommends\/","usesTrailingSlash":"1","imageExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php","fileExt":"jpg|jpeg|gif|png|tiff|bmp|webp|avif|pdf|doc|docx|xls|xlsx|php|html|htm","siteUrl":"https:\/\/primaltrek.com\/blog","onHoverDelay":"100","rateThrottle":"3"}; /* ]]> */ </script> <script type="rocketlazyloadscript" data-rocket-type="text/javascript" id="rocket-preload-links-js-after"> /* <![CDATA[ */ (function() { "use strict";var r="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},e=function(){function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(e,t,n){return t&&i(e.prototype,t),n&&i(e,n),e}}();function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var t=function(){function n(e,t){i(this,n),this.browser=e,this.config=t,this.options=this.browser.options,this.prefetched=new Set,this.eventTime=null,this.threshold=1111,this.numOnHover=0}return e(n,[{key:"init",value:function(){!this.browser.supportsLinkPrefetch()||this.browser.isDataSaverModeOn()||this.browser.isSlowConnection()||(this.regex={excludeUris:RegExp(this.config.excludeUris,"i"),images:RegExp(".("+this.config.imageExt+")$","i"),fileExt:RegExp(".("+this.config.fileExt+")$","i")},this._initListeners(this))}},{key:"_initListeners",value:function(e){-1<this.config.onHoverDelay&&document.addEventListener("mouseover",e.listener.bind(e),e.listenerOptions),document.addEventListener("mousedown",e.listener.bind(e),e.listenerOptions),document.addEventListener("touchstart",e.listener.bind(e),e.listenerOptions)}},{key:"listener",value:function(e){var t=e.target.closest("a"),n=this._prepareUrl(t);if(null!==n)switch(e.type){case"mousedown":case"touchstart":this._addPrefetchLink(n);break;case"mouseover":this._earlyPrefetch(t,n,"mouseout")}}},{key:"_earlyPrefetch",value:function(t,e,n){var i=this,r=setTimeout(function(){if(r=null,0===i.numOnHover)setTimeout(function(){return i.numOnHover=0},1e3);else if(i.numOnHover>i.config.rateThrottle)return;i.numOnHover++,i._addPrefetchLink(e)},this.config.onHoverDelay);t.addEventListener(n,function e(){t.removeEventListener(n,e,{passive:!0}),null!==r&&(clearTimeout(r),r=null)},{passive:!0})}},{key:"_addPrefetchLink",value:function(i){return this.prefetched.add(i.href),new Promise(function(e,t){var n=document.createElement("link");n.rel="prefetch",n.href=i.href,n.onload=e,n.onerror=t,document.head.appendChild(n)}).catch(function(){})}},{key:"_prepareUrl",value:function(e){if(null===e||"object"!==(void 0===e?"undefined":r(e))||!1 in e||-1===["http:","https:"].indexOf(e.protocol))return null;var t=e.href.substring(0,this.config.siteUrl.length),n=this._getPathname(e.href,t),i={original:e.href,protocol:e.protocol,origin:t,pathname:n,href:t+n};return this._isLinkOk(i)?i:null}},{key:"_getPathname",value:function(e,t){var n=t?e.substring(this.config.siteUrl.length):e;return n.startsWith("/")||(n="/"+n),this._shouldAddTrailingSlash(n)?n+"/":n}},{key:"_shouldAddTrailingSlash",value:function(e){return this.config.usesTrailingSlash&&!e.endsWith("/")&&!this.regex.fileExt.test(e)}},{key:"_isLinkOk",value:function(e){return null!==e&&"object"===(void 0===e?"undefined":r(e))&&(!this.prefetched.has(e.href)&&e.origin===this.config.siteUrl&&-1===e.href.indexOf("?")&&-1===e.href.indexOf("#")&&!this.regex.excludeUris.test(e.href)&&!this.regex.images.test(e.href))}}],[{key:"run",value:function(){"undefined"!=typeof RocketPreloadLinksConfig&&new n(new RocketBrowserCompatibilityChecker({capture:!0,passive:!0}),RocketPreloadLinksConfig).init()}}]),n}();t.run(); }()); /* ]]> */ </script> <script>window.lazyLoadOptions=[{elements_selector:"img[data-lazy-src],.rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,callback_loaded:function(element){if(element.tagName==="IFRAME"&&element.dataset.rocketLazyload=="fitvidscompatible"){if(element.classList.contains("lazyloaded")){if(typeof window.jQuery!="undefined"){if(jQuery.fn.fitVids){jQuery(element).parent().fitVids()}}}}}},{elements_selector:".rocket-lazyload",data_src:"lazy-src",data_srcset:"lazy-srcset",data_sizes:"lazy-sizes",class_loading:"lazyloading",class_loaded:"lazyloaded",threshold:300,}];window.addEventListener('LazyLoad::Initialized',function(e){var lazyLoadInstance=e.detail.instance;if(window.MutationObserver){var observer=new MutationObserver(function(mutations){var image_count=0;var iframe_count=0;var rocketlazy_count=0;mutations.forEach(function(mutation){for(var i=0;i<mutation.addedNodes.length;i++){if(typeof mutation.addedNodes[i].getElementsByTagName!=='function'){continue} if(typeof mutation.addedNodes[i].getElementsByClassName!=='function'){continue} images=mutation.addedNodes[i].getElementsByTagName('img');is_image=mutation.addedNodes[i].tagName=="IMG";iframes=mutation.addedNodes[i].getElementsByTagName('iframe');is_iframe=mutation.addedNodes[i].tagName=="IFRAME";rocket_lazy=mutation.addedNodes[i].getElementsByClassName('rocket-lazyload');image_count+=images.length;iframe_count+=iframes.length;rocketlazy_count+=rocket_lazy.length;if(is_image){image_count+=1} if(is_iframe){iframe_count+=1}}});if(image_count>0||iframe_count>0||rocketlazy_count>0){lazyLoadInstance.update()}});var b=document.getElementsByTagName("body")[0];var config={childList:!0,subtree:!0};observer.observe(b,config)}},!1)</script><script data-no-minify="1" async src="https://primaltrek.com/blog/wp-content/plugins/wp-rocket/assets/js/lazyload/17.8.3/lazyload.min.js"></script><script type="rocketlazyloadscript">(function(d,g){d[g]||(d[g]=function(g){return this.querySelectorAll("."+g)},Element.prototype[g]=d[g])})(document,"getElementsByClassName");(function(){var classes = document.getElementsByClassName('menu_control');for (i = 0; i < classes.length; i++) {classes[i].onclick = function() {var menu = this.nextElementSibling;if (/show_menu/.test(menu.className))menu.className = menu.className.replace('show_menu', '').trim();else menu.className += ' show_menu';if (/menu_control_triggered/.test(this.className))this.className = this.className.replace('menu_control_triggered', '').trim();else this.className += ' menu_control_triggered';};}})();</script> <script>var rocket_beacon_data = {"ajax_url":"https:\/\/primaltrek.com\/blog\/wp-admin\/admin-ajax.php","nonce":"27d83b0a8d","url":"https:\/\/primaltrek.com\/blog\/2011\/11","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":true,"lrc":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800}</script><script data-name="wpr-wpr-beacon" src='https://primaltrek.com/blog/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script></body> </html> <!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me -->