1
<html id="main_html_root">
2
<head>
3
<title>
4
SuttaCentral</title>
5
<meta charset="UTF-8">
6
<meta name="theme-color" content="rgba(206, 132, 0, 1)">
7
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,user-scalable=yes">
8
<meta name="mobile-web-app-capable" content="yes">
9
<meta name="apple-mobile-web-app-capable" content="yes">
10
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
11
<meta name="apple-mobile-web-app-title" content="SuttaCentral">
12
<meta name="msapplication-TileImage" content="/img/mstile-144x144.png">
13
<meta name="msapplication-TileColor" content="#ffffff">
14
<meta name="msapplication-tap-highlight" content="no">
15
<meta name="title" content="SuttaCentral">
16
<meta name="description" content="Early Buddhist texts from the Tipitaka (Tripitaka). Suttas (sutras) with the Buddha's teachings on mindfulness, insight, wisdom, and meditation.">
17
<meta name="image" content="https://i.vimeocdn.com/portrait/23756910_500x500.jpg">
18
<meta name="keywords" content="Buddha, Buddhism, Buddhist, sutta, sutra, tipitaka, tripitaka, wisdom, teaching, mindfulness, meditation, scripture, canon, Pali, Sanskrit, Tibetan, Chinese, insight, vipassana">
19
<meta itemprop="name" content="SuttaCentral">
20
<meta itemprop="description" content="Early Buddhist texts from the Tipitaka (Tripitaka). Suttas (sutras) with the Buddha's teachings on mindfulness, insight, wisdom, and meditation.">
21
<meta itemprop="image" content="https://i.vimeocdn.com/portrait/23756910_500x500.jpg">
22
<meta name="twitter:card" content="summary">
23
<meta name="twitter:title" content="SuttaCentral">
24
<meta name="twitter:description" content="Early Buddhist texts from the Tipitaka (Tripitaka). Suttas (sutras) with the Buddha's teachings.">
25
<meta name="twitter:player" content="https://player.vimeo.com/video/257038431">
26
<meta name="twitter:image:alt" content="SuttaCentral">
27
<meta property="og:title" content="SuttaCentral">
28
<meta property="og:description" content="Early Buddhist texts from the Tipitaka (Tripitaka). Suttas (sutras) with the Buddha's teachings on mindfulness, insight, wisdom, and meditation.">
29
<meta property="og:image" content="https://suttacentral.net/img/social_image.png">
30
<meta property="og:url" content="https://suttacentral.net/">
31
<meta property="og:site_name" content="SuttaCentral">
32
<meta property="og:type" content="website">
33
<link rel="icon" href="/img/favicon.ico">
34
<link rel="apple-touch-icon" sizes="180x180" href="/img/apple-touch-icon.png">
35
<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon-32x32.png">
36
<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon-16x16.png">
37
<link rel="manifest" href="/manifest.json">
38
<link href="https://fonts.googleapis.com/css?family=Noto+Sans|Noto+Serif" rel="stylesheet">
39
<link rel="canonical" href="https://suttacentral.net/">
40
<script>
41
!function(a){"use strict";function b(a,b,c,e){var f=b&&b.prototype instanceof d?b:d,g=Object.create(f.prototype),h=new m(e||[]);return g._invoke=i(a,c,h),g}function c(a,b,c){try{return{type:"normal",arg:a.call(b,c)}}catch(a){return{type:"throw",arg:a}}}function d(){}function e(){}function f(){}function g(a){["next","throw","return"].forEach(function(b){a[b]=function(a){return this._invoke(b,a)}})}function h(a){function b(d,e,f,g){var h=c(a[d],a,e);if("throw"===h.type)g(h.arg);else{var i=h.arg,j=i.value;return j&&"object"===typeof j&&q.call(j,"__await")?Promise.resolve(j.__await).then(function(a){b("next",a,f,g)},function(a){b("throw",a,f,g)}):Promise.resolve(j).then(function(a){i.value=a,f(i)},g)}}function d(a,c){function d(){return new Promise(function(d,e){b(a,c,d,e)})}return e=e?e.then(d,d):d()}var e;this._invoke=d}function i(a,b,d){var e="suspendedStart";return function(f,g){if(e==="executing")throw new Error("Generator is already running");if("completed"===e){if("throw"===f)throw g;return o()}for(d.method=f,d.arg=g;;){var h=d.delegate;if(h){var i=j(h,d);if(i){if(i===x)continue;return i}}if("next"===d.method)d.sent=d._sent=d.arg;else if("throw"===d.method){if("suspendedStart"===e)throw e="completed",d.arg;d.dispatchException(d.arg)}else"return"===d.method&&d.abrupt("return",d.arg);e="executing";var k=c(a,b,d);if("normal"===k.type){if(e=d.done?"completed":"suspendedYield",k.arg===x)continue;return{value:k.arg,done:d.done}}"throw"===k.type&&(e="completed",d.method="throw",d.arg=k.arg)}}}function j(a,b){var d=a.iterator[b.method];if(void 0===d){if(b.delegate=null,"throw"===b.method){if(a.iterator.return&&(b.method="return",b.arg=void 0,j(a,b),"throw"===b.method))return x;b.method="throw",b.arg=new TypeError("The iterator does not provide a 'throw' method")}return x}var e=c(d,a.iterator,b.arg);if("throw"===e.type)return b.method="throw",b.arg=e.arg,b.delegate=null,x;var f=e.arg;if(!f)return b.method="throw",b.arg=new TypeError("iterator result is not an object"),b.delegate=null,x;if(f.done)b[a.resultName]=f.value,b.next=a.nextLoc,"return"!==b.method&&(b.method="next",b.arg=void 0);else return f;return b.delegate=null,x}function k(a){var b={tryLoc:a[0]};1 in a&&(b.catchLoc=a[1]),2 in a&&(b.finallyLoc=a[2],b.afterLoc=a[3]),this.tryEntries.push(b)}function l(a){var b=a.completion||{};b.type="normal",delete b.arg,a.completion=b}function m(a){this.tryEntries=[{tryLoc:"root"}],a.forEach(k,this),this.reset(!0)}function n(a){if(a){var b=a[s];if(b)return b.call(a);if("function"===typeof a.next)return a;if(!isNaN(a.length)){var c=-1,d=function b(){for(;++c<a.length;)if(q.call(a,c))return b.value=a[c],b.done=!1,b;return b.value=void 0,b.done=!0,b};return d.next=d}}return{next:o}}function o(){return{value:void 0,done:!0}}var p=Object.prototype,q=p.hasOwnProperty,r="function"===typeof Symbol?Symbol:{},s=r.iterator||"@@iterator",t=r.asyncIterator||"@@asyncIterator",u=r.toStringTag||"@@toStringTag",v="object"===typeof module,w=a.regeneratorRuntime;if(w)return void(v&&(module.exports=w));w=a.regeneratorRuntime=v?module.exports:{},w.wrap=b;var x={},y={};y[s]=function(){return this};var z=Object.getPrototypeOf,A=z&&z(z(n([])));A&&A!==p&&q.call(A,s)&&(y=A);var B=f.prototype=d.prototype=Object.create(y);e.prototype=B.constructor=f,f.constructor=e,f[u]=e.displayName="GeneratorFunction",w.isGeneratorFunction=function(a){var b="function"===typeof a&&a.constructor;return!!b&&(b===e||"GeneratorFunction"===(b.displayName||b.name))},w.mark=function(a){return Object.setPrototypeOf?Object.setPrototypeOf(a,f):(a.__proto__=f,!(u in a)&&(a[u]="GeneratorFunction")),a.prototype=Object.create(B),a},w.awrap=function(a){return{__await:a}},g(h.prototype),h.prototype[t]=function(){return this},w.AsyncIterator=h,w.async=function(a,c,d,e){var f=new h(b(a,c,d,e));return w.isGeneratorFunction(c)?f:f.next().then(function(a){return a.done?a.value:f.next()})},g(B),B[u]="Generator",B[s]=function(){return this},B.toString=function(){return"[object Generator]"},w.keys=function(a){var b=[];for(var c in a)b.push(c);return b.reverse(),function c(){for(;b.length;){var d=b.pop();if(d in a)return c.value=d,c.done=!1,c}return c.done=!0,c}},w.values=n,m.prototype={constructor:m,reset:function(a){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(l),!a)for(var b in this)"t"===b.charAt(0)&&q.call(this,b)&&!isNaN(+b.slice(1))&&(this[b]=void 0)},stop:function(){this.done=!0;var a=this.tryEntries[0],b=a.completion;if("throw"===b.type)throw b.arg;return this.rval},dispatchException:function(a){function b(b,d){return f.type="throw",f.arg=a,c.next=b,d&&(c.method="next",c.arg=void 0),!!d}if(this.done)throw a;for(var c=this,d=this.tryEntries.length-1;0<=d;--d){var e=this.tryEntries[d],f=e.completion;if("root"===e.tryLoc)return b("end");if(e.tryLoc<=this.prev){var g=q.call(e,"catchLoc"),h=q.call(e,"finallyLoc");if(g&&h){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);if(this.prev<e.finallyLoc)return b(e.finallyLoc)}else if(g){if(this.prev<e.catchLoc)return b(e.catchLoc,!0);}else if(!h)throw new Error("try statement without catch or finally");else if(this.prev<e.finallyLoc)return b(e.finallyLoc)}}},abrupt:function(a,b){for(var c,d=this.tryEntries.length-1;0<=d;--d)if(c=this.tryEntries[d],c.tryLoc<=this.prev&&q.call(c,"finallyLoc")&&this.prev<c.finallyLoc){var e=c;break}e&&("break"===a||"continue"===a)&&e.tryLoc<=b&&b<=e.finallyLoc&&(e=null);var f=e?e.completion:{};return f.type=a,f.arg=b,e?(this.method="next",this.next=e.finallyLoc,x):this.complete(f)},complete:function(a,b){if("throw"===a.type)throw a.arg;return"break"===a.type||"continue"===a.type?this.next=a.arg:"return"===a.type?(this.rval=this.arg=a.arg,this.method="return",this.next="end"):"normal"===a.type&&b&&(this.next=b),x},finish:function(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.finallyLoc===a)return this.complete(b.completion,b.afterLoc),l(b),x},catch:function(a){for(var b,c=this.tryEntries.length-1;0<=c;--c)if(b=this.tryEntries[c],b.tryLoc===a){var d=b.completion;if("throw"===d.type){var e=d.arg;l(b)}return e}throw new Error("illegal catch attempt")},delegateYield:function(a,b,c){return this.delegate={iterator:n(a),resultName:b,nextLoc:c},"next"===this.method&&(this.arg=void 0),x}}}(function(){return this}()||Function("return this")());</script>
42
<script>
43
(function(a){function b(a){return q.typeof="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?b=function(a){return typeof a}:b=function(a){return a&&"function"===typeof Symbol&&a.constructor===Symbol&&a!==Symbol.prototype?"symbol":typeof a},b(a)}function c(a){function b(d,e){try{var f=a[d](e),g=f.value,h=g instanceof q.AwaitValue;Promise.resolve(h?g.wrapped:g).then(function(a){return h?void b("next",a):void c(f.done?"return":"normal",a)},function(a){b("throw",a)})}catch(a){c("throw",a)}}function c(a,c){switch(a){case"return":d.resolve({value:c,done:!0});break;case"throw":d.reject(c);break;default:d.resolve({value:c,done:!1});}d=d.next,d?b(d.key,d.arg):e=null}var d,e;this._invoke=function(a,c){return new Promise(function(f,g){var h={key:a,arg:c,resolve:f,reject:g,next:null};e?e=e.next=h:(d=e=h,b(a,c))})},"function"!==typeof a.return&&(this.return=void 0)}function d(a,b){for(var c,d=0;d<b.length;d++)c=b[d],c.enumerable=c.enumerable||!1,c.configurable=!0,"value"in c&&(c.writable=!0),Object.defineProperty(a,c.key,c)}function e(a,b){for(var c in b){var d=b[c];d.configurable=d.enumerable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,c,d)}if(Object.getOwnPropertySymbols)for(var e=Object.getOwnPropertySymbols(b),f=0;f<e.length;f++){var g=e[f],d=b[g];d.configurable=d.enumerable=!0,"value"in d&&(d.writable=!0),Object.defineProperty(a,g,d)}return a}function f(a,b,c){return b in a?Object.defineProperty(a,b,{value:c,enumerable:!0,configurable:!0,writable:!0}):a[b]=c,a}function g(){return q.extends=g=Object.assign||function(a){for(var b,c=1;c<arguments.length;c++)for(var d in b=arguments[c],b)Object.prototype.hasOwnProperty.call(b,d)&&(a[d]=b[d]);return a},g.apply(this,arguments)}function h(a){return q.getPrototypeOf=h=Object.setPrototypeOf?Object.getPrototypeOf:function(a){return a.__proto__||Object.getPrototypeOf(a)},h(a)}function i(a,b){return q.setPrototypeOf=i=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a},i(a,b)}function j(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(a){return!1}}function k(){return q.construct=j()?k=Reflect.construct:k=function(b,c,d){var e=[null];e.push.apply(e,c);var a=Function.bind.apply(b,e),f=new a;return d&&q.setPrototypeOf(f,d.prototype),f},k.apply(null,arguments)}function l(a){var b="function"===typeof Map?new Map:void 0;return q.wrapNativeSuper=l=function(a){function c(){return q.construct(a,arguments,q.getPrototypeOf(this).constructor)}if(null===a)return null;if("function"!==typeof a)throw new TypeError("Super expression must either be null or a function");if("undefined"!==typeof b){if(b.has(a))return b.get(a);b.set(a,c)}return c.prototype=Object.create(a.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}}),q.setPrototypeOf(c,a)},l(a)}function m(a,b,c){return q.get="undefined"!==typeof Reflect&&Reflect.get?m=Reflect.get:m=function(a,b,c){var d=q.superPropBase(a,b);if(d){var e=Object.getOwnPropertyDescriptor(d,b);return e.get?e.get.call(c):e.value}},m(a,b,c||a)}function n(a,b,c,d){return n="undefined"!==typeof Reflect&&Reflect.set?Reflect.set:function(a,b,c,d){var e,f=q.superPropBase(a,b);if(f){if(e=Object.getOwnPropertyDescriptor(f,b),e.set)return e.set.call(d,c),!0;if(!e.writable)return!1}if(e=Object.getOwnPropertyDescriptor(d,b),e){if(!e.writable)return!1;e.value=c,Object.defineProperty(d,b,e)}else q.defineProperty(d,b,c);return!0},n(a,b,c,d)}function o(a,b,c,d,e){var f=n(a,b,c,d||a);if(!f&&e)throw new Error("failed to set property");return c}function p(a){if(Symbol.iterator in Object(a)||"[object Arguments]"===Object.prototype.toString.call(a))return Array.from(a)}var q=a.babelHelpers={};q.typeof=b,q.asyncIterator=function(a){var b;if("function"===typeof Symbol){if(Symbol.asyncIterator&&(b=a[Symbol.asyncIterator],null!=b))return b.call(a);if(Symbol.iterator&&(b=a[Symbol.iterator],null!=b))return b.call(a)}throw new TypeError("Object is not async iterable")},q.AwaitValue=function(a){this.wrapped=a},"function"===typeof Symbol&&Symbol.asyncIterator&&(c.prototype[Symbol.asyncIterator]=function(){return this}),c.prototype.next=function(a){return this._invoke("next",a)},c.prototype.throw=function(a){return this._invoke("throw",a)},c.prototype.return=function(a){return this._invoke("return",a)},q.AsyncGenerator=c,q.wrapAsyncGenerator=function(a){return function(){return new q.AsyncGenerator(a.apply(this,arguments))}},q.awaitAsyncGenerator=function(a){return new q.AwaitValue(a)},q.asyncGeneratorDelegate=function(a,b){function c(c,d){return e=!0,d=new Promise(function(b){b(a[c](d))}),{done:!1,value:b(d)}}var d={},e=!1;return"function"===typeof Symbol&&Symbol.iterator&&(d[Symbol.iterator]=function(){return this}),d.next=function(a){return e?(e=!1,a):c("next",a)},"function"===typeof a.throw&&(d.throw=function(a){if(e)throw e=!1,a;return c("throw",a)}),"function"===typeof a.return&&(d.return=function(a){return c("return",a)}),d},q.asyncToGenerator=function(a){return function(){var b=this,c=arguments;return new Promise(function(d,e){function f(a,b){try{var c=i[a](b),f=c.value}catch(a){return void e(a)}c.done?d(f):Promise.resolve(f).then(g,h)}function g(a){f("next",a)}function h(a){f("throw",a)}var i=a.apply(b,c);g()})}},q.classCallCheck=function(a,b){if(!(a instanceof b))throw new TypeError("Cannot call a class as a function")},q.createClass=function(a,b,c){return b&&d(a.prototype,b),c&&d(a,c),a},q.defineEnumerableProperties=e,q.defaults=function(a,b){for(var c=Object.getOwnPropertyNames(b),d=0;d<c.length;d++){var e=c[d],f=Object.getOwnPropertyDescriptor(b,e);f&&f.configurable&&a[e]===void 0&&Object.defineProperty(a,e,f)}return a},q.defineProperty=f,q.extends=g,q.objectSpread=function(a){for(var b=1;b<arguments.length;b++){var c=null==arguments[b]?{}:arguments[b],d=Object.keys(c);"function"===typeof Object.getOwnPropertySymbols&&(d=d.concat(Object.getOwnPropertySymbols(c).filter(function(a){return Object.getOwnPropertyDescriptor(c,a).enumerable}))),d.forEach(function(b){q.defineProperty(a,b,c[b])})}return a},q.inherits=function(a,b){if("function"!==typeof b&&null!==b)throw new TypeError("Super expression must either be null or a function");a.prototype=Object.create(b&&b.prototype,{constructor:{value:a,writable:!0,configurable:!0}}),b&&q.setPrototypeOf(a,b)},q.getPrototypeOf=h,q.setPrototypeOf=i,q.construct=k,q.wrapNativeSuper=l,q.instanceof=function(a,b){return null!=b&&"undefined"!==typeof Symbol&&b[Symbol.hasInstance]?b[Symbol.hasInstance](a):a instanceof b},q.interopRequireDefault=function(a){return a&&a.__esModule?a:{default:a}},q.interopRequireWildcard=function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)if(Object.prototype.hasOwnProperty.call(a,c)){var d=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(a,c):{};d.get||d.set?Object.defineProperty(b,c,d):b[c]=a[c]}return b.default=a,b},q.newArrowCheck=function(a,b){if(a!==b)throw new TypeError("Cannot instantiate an arrow function")},q.objectDestructuringEmpty=function(a){if(null==a)throw new TypeError("Cannot destructure undefined")},q.objectWithoutProperties=function(a,b){if(null==a)return{};var c,d,e={},f=Object.keys(a);for(d=0;d<f.length;d++)c=f[d],0<=b.indexOf(c)||(e[c]=a[c]);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(a);for(d=0;d<g.length;d++)c=g[d],!(0<=b.indexOf(c))&&Object.prototype.propertyIsEnumerable.call(a,c)&&(e[c]=a[c])}return e},q.assertThisInitialized=function(a){if(void 0===a)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return a},q.possibleConstructorReturn=function(a,b){return b&&("object"===typeof b||"function"===typeof b)?b:q.assertThisInitialized(a)},q.superPropBase=function(a,b){for(;!Object.prototype.hasOwnProperty.call(a,b)&&(a=q.getPrototypeOf(a),null!==a););return a},q.get=m,q.set=o,q.taggedTemplateLiteral=function(a,b){return b||(b=a.slice(0)),Object.freeze(Object.defineProperties(a,{raw:{value:Object.freeze(b)}}))},q.temporalRef=function(a,b){if(a===q.temporalUndefined)throw new ReferenceError(b+" is not defined - temporal dead zone");else return a},q.readOnlyError=function(a){throw new Error("\""+a+"\" is read-only")},q.temporalUndefined={},q.slicedToArray=function(a,b){return q.arrayWithHoles(a)||q.iterableToArrayLimit(a,b)||q.nonIterableRest()},q.toArray=function(a){return q.arrayWithHoles(a)||q.iterableToArray(a)||q.nonIterableRest()},q.toConsumableArray=function(a){return q.arrayWithoutHoles(a)||q.iterableToArray(a)||q.nonIterableSpread()},q.arrayWithoutHoles=function(a){if(Array.isArray(a)){for(var b=0,c=Array(a.length);b<a.length;b++)c[b]=a[b];return c}},q.arrayWithHoles=function(a){if(Array.isArray(a))return a},q.iterableToArray=p,q.iterableToArrayLimit=function(a,b){var c=[],d=!0,e=!1,f=void 0;try{for(var g,h=a[Symbol.iterator]();!(d=(g=h.next()).done)&&(c.push(g.value),!(b&&c.length===b));d=!0);}catch(a){e=!0,f=a}finally{try{d||null==h["return"]||h["return"]()}finally{if(e)throw f}}return c},q.nonIterableSpread=function(){throw new TypeError("Invalid attempt to spread non-iterable instance")},q.nonIterableRest=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")},q.toPropertyKey=function(a){return"symbol"===typeof a?a:a+""}})("undefined"===typeof global?self:global);</script>
44
<script>
45
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;ga("create","UA-39277629-1","auto");ga("send","pageview");</script>
46
<script async="" src="https://www.google-analytics.com/analytics.js">
47
</script>
48
<script>
49
var head=document.querySelector("head");if(!Array.prototype.includes){var script=document.createElement("script");script.src="/polyfills/arrayIncludes.js";head.appendChild(script)}if(!Object.entries){var script=document.createElement("script");script.src="/polyfills/objectEntries.js";head.appendChild(script)}if(!String.prototype.includes){var script=document.createElement("script");script.src="/polyfills/stringIncludes.js";head.appendChild(script)}</script>
50
<script src="/node_modules/raven-js/dist/raven.min.js">
51
</script>
52
<script>
53
Raven.config("https://c7d8c1d86423434b8965874d954ba735@sentry.io/358981",{release:"1.0.0",environment:-1===window.location.href.indexOf("suttacentral")?"development":"production"}).install();</script>
54
<script>
55
var head=document.querySelector("head");if(!Array.prototype.includes){var script=document.createElement("script");script.src="/polyfills/arrayIncludes.js";head.appendChild(script)}if(!Object.entries){var script=document.createElement("script");script.src="/polyfills/objectEntries.js";head.appendChild(script)}if(!String.prototype.includes){var script=document.createElement("script");script.src="/polyfills/stringIncludes.js";head.appendChild(script)}</script>
56
<style>
57
body{margin:0;height:100%;background-color:var(--sc-primary-background-color);color:var(--sc-primary-text-color);}.unsupported-browser-splash-screen{height:100%;width:100%;background-color:#f5f5f5;color:rgb(33, 33, 33);text-align:center;font-family:"Skolar Sans PE", "Noto Sans", sans-serif;}.center{position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);}.margin-md{margin:32px;}.hidden{display:none;}a{color:rgba(206, 132, 0, 1);text-decoration:none;}a:hover{text-decoration:underline;}button{background:none !important;border:none;padding:0 !important;color:rgba(206, 132, 0, 1);font-family:"Skolar Sans PE", "Noto Sans", sans-serif;cursor:pointer;font-size:16px;}button:hover{text-decoration:underline;}</style>
58
</head>
59
<body>
60
<script>
61
if(!window.customElements){document.write("<!--")}</script>
62
<script type="text/javascript" src="/bower_components/webcomponentsjs/custom-elements-es5-adapter.js">
63
</script>
64
<!--! do not remove -->
65
<script src="/bower_components/webcomponentsjs/webcomponents-loader.js">
66
</script>
67
<sc-drawer-layout unresolved="">
68
</sc-drawer-layout>
69
<link rel="import" href="/elements/sc-drawer-layout.html">
70
<script>
71
window.addEventListener("WebComponentsReady",function(){document.createElement=Document.prototype.createElement});</script>
72
<script async="">
73
if("serviceWorker"in navigator){window.addEventListener("load",function(){navigator.serviceWorker.register("/sw-generated.js").catch(function(err){console.log("The precaching service worker did not load correctly!"+"Local resources will not be cached for offline use."+"Ignore this if you are running in development mode.",err)})})}</script>
74
<div class="unsupported-browser-splash-screen hidden">
75
<div class="center">
76
<div class="logo-image-container">
77
</div>
78
<h1>
79
Oh no!</h1>
80
<h3>
81
It looks like you're using an unsupported browser.</h3>
82
<h3>
83
The site works well on <a href="https://www.mozilla.org/en-US/firefox/new/">
84
Firefox</a>
85
, <a href="https://www.google.com/chrome/">
86
Chrome</a>
87
, <a href="https://www.opera.com/">
88
Opera</a>
89
, or <a href="https://www.apple.com/lae/safari/">
90
Safari</a>
91
.</h3>
92
<h3>
93
Edge support is coming soon. IE will not be supported.</h3>
94
<hr>
95
<div class="margin-md">
96
<a href="https://legacy.suttacentral.net">
97
Proceed to the legacy version of SuttaCentral</a>
98
</div>
99
<div class="margin-md">
100
<button class="link" onclick="appendSiteContent()">
101
Try using the modern version anyway</button>
102
</div>
103
</div>
104
</div>
105
<script defer="">
106
var isIE=function(){var ua=window.navigator.userAgent,msie=ua.indexOf("MSIE ");if(0<msie){return parseInt(ua.substring(msie+5,ua.indexOf(".",msie)),10)}var trident=ua.indexOf("Trident/");if(0<trident){var rv=ua.indexOf("rv:");return parseInt(ua.substring(rv+3,ua.indexOf(".",rv)),10)}var edge=ua.indexOf("Edge/");if(0<edge){return parseInt(ua.substring(edge+5,ua.indexOf(".",edge)),10)}return!1},showUnsupportedBrowserSplashScreen=function(shouldShow){var unsupportedBrowserSplashScreen=document.querySelector(".unsupported-browser-splash-screen");if(shouldShow){unsupportedBrowserSplashScreen.classList.remove("hidden")}else{unsupportedBrowserSplashScreen.classList.add("hidden")}},appendSiteContent=function(){var mainElement=document.createElement("sc-drawer-layout"),body=document.querySelector("body");body.appendChild(mainElement);showUnsupportedBrowserSplashScreen(!1)},removeSiteContent=function(){var mainElement=document.querySelector("sc-drawer-layout");mainElement.parentNode.removeChild(mainElement)};if(isIE()){showUnsupportedBrowserSplashScreen(!0);var logoImg=document.createElement("img");logoImg.src="img/android-chrome-192x192.png";document.querySelector(".logo-image-container").appendChild(logoImg);removeSiteContent()}document.addEventListener("metadata",function(e){var metaData=e.detail;if(metaData){var url="https://suttacentral.net"+window.location.pathname;document.head.querySelector("[rel=canonical]").href=url;document.head.querySelector("title").innerText=metaData.pageTitle;document.head.querySelector("[property='og:url']").content=url;document.head.querySelector("[property='og:title']").content=metaData.title;document.head.querySelector("[property='og:description']").content=metaData.description;document.head.querySelector("[name='title']").content=metaData.title;document.head.querySelector("[name='description']").content=metaData.description;document.head.querySelector("[name='twitter:title']").content=metaData.title;document.head.querySelector("[name='twitter:description']").content=metaData.description.substring(0,120);document.head.querySelector("[itemprop='name']").content=metaData.title;document.head.querySelector("[itemprop='description']").content=metaData.description}});document.addEventListener("keyword-metadata",function(e){var metaData=e.detail;if(metaData){document.head.querySelector("[name='keywords']").content=metaData.keywords}});</script>
107
<noscript>
108
Please enable JavaScript to view this website.</noscript>
109
</body>
110
</html>