/** * Observe how the user enters content into the comment form in order to determine whether it's a bot or not. * * Note that no actual input is being saved here, only counts and timings between events. */ ( function() { // Passive event listeners are guaranteed to never call e.preventDefault(), // but they're not supported in all browsers. Use this feature detection // to determine whether they're available for use. var supportsPassive = false; try { var opts = Object.defineProperty( {}, 'passive', { get : function() { supportsPassive = true; } } ); window.addEventListener( 'testPassive', null, opts ); window.removeEventListener( 'testPassive', null, opts ); } catch ( e ) {} function init() { var input_begin = ''; var keydowns = {}; var lastKeyup = null; var lastKeydown = null; var keypresses = []; var modifierKeys = []; var correctionKeys = []; var lastMouseup = null; var lastMousedown = null; var mouseclicks = []; var mousemoveTimer = null; var lastMousemoveX = null; var lastMousemoveY = null; var mousemoveStart = null; var mousemoves = []; var touchmoveCountTimer = null; var touchmoveCount = 0; var lastTouchEnd = null; var lastTouchStart = null; var touchEvents = []; var scrollCountTimer = null; var scrollCount = 0; var correctionKeyCodes = [ 'Backspace', 'Delete', 'ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'Home', 'End', 'PageUp', 'PageDown' ]; var modifierKeyCodes = [ 'Shift', 'CapsLock' ]; var forms = document.querySelectorAll( 'form[method=post]' ); for ( var i = 0; i < forms.length; i++ ) { var form = forms[i]; var formAction = form.getAttribute( 'action' ); // Ignore forms that POST directly to other domains; these could be things like payment forms. if ( formAction ) { // Check that the form is posting to an external URL, not a path. if ( formAction.indexOf( 'http://' ) == 0 || formAction.indexOf( 'https://' ) == 0 ) { if ( formAction.indexOf( 'http://' + window.location.hostname + '/' ) != 0 && formAction.indexOf( 'https://' + window.location.hostname + '/' ) != 0 ) { continue; } } } form.addEventListener( 'submit', function () { var ak_bkp = prepare_timestamp_array_for_request( keypresses ); var ak_bmc = prepare_timestamp_array_for_request( mouseclicks ); var ak_bte = prepare_timestamp_array_for_request( touchEvents ); var ak_bmm = prepare_timestamp_array_for_request( mousemoves ); var input_fields = { // When did the user begin entering any input? 'bib': input_begin, // When was the form submitted? 'bfs': Date.now(), // How many keypresses did they make? 'bkpc': keypresses.length, // How quickly did they press a sample of keys, and how long between them? 'bkp': ak_bkp, // How quickly did they click the mouse, and how long between clicks? 'bmc': ak_bmc, // How many mouseclicks did they make? 'bmcc': mouseclicks.length, // When did they press modifier keys (like Shift or Capslock)? 'bmk': modifierKeys.join( ';' ), // When did they correct themselves? e.g., press Backspace, or use the arrow keys to move the cursor back 'bck': correctionKeys.join( ';' ), // How many times did they move the mouse? 'bmmc': mousemoves.length, // How many times did they move around using a touchscreen? 'btmc': touchmoveCount, // How many times did they scroll? 'bsc': scrollCount, // How quickly did they perform touch events, and how long between them? 'bte': ak_bte, // How many touch events were there? 'btec' : touchEvents.length, // How quickly did they move the mouse, and how long between moves? 'bmm' : ak_bmm }; var akismet_field_prefix = 'ak_'; if ( this.getElementsByClassName ) { // Check to see if we've used an alternate field name prefix. We store this as an attribute of the container around some of the Akismet fields. var possible_akismet_containers = this.getElementsByClassName( 'akismet-fields-container' ); for ( var containerIndex = 0; containerIndex < possible_akismet_containers.length; containerIndex++ ) { var container = possible_akismet_containers.item( containerIndex ); if ( container.getAttribute( 'data-prefix' ) ) { akismet_field_prefix = container.getAttribute( 'data-prefix' ); break; } } } for ( var field_name in input_fields ) { var field = document.createElement( 'input' ); field.setAttribute( 'type', 'hidden' ); field.setAttribute( 'name', akismet_field_prefix + field_name ); field.setAttribute( 'value', input_fields[ field_name ] ); this.appendChild( field ); } }, supportsPassive ? { passive: true } : false ); form.addEventListener( 'keydown', function ( e ) { // If you hold a key down, some browsers send multiple keydown events in a row. // Ignore any keydown events for a key that hasn't come back up yet. if ( e.key in keydowns ) { return; } var keydownTime = ( new Date() ).getTime(); keydowns[ e.key ] = [ keydownTime ]; if ( ! input_begin ) { input_begin = keydownTime; } // In some situations, we don't want to record an interval since the last keypress -- for example, // on the first keypress, or on a keypress after focus has changed to another element. Normally, // we want to record the time between the last keyup and this keydown. But if they press a // key while already pressing a key, we want to record the time between the two keydowns. var lastKeyEvent = Math.max( lastKeydown, lastKeyup ); if ( lastKeyEvent ) { keydowns[ e.key ].push( keydownTime - lastKeyEvent ); } lastKeydown = keydownTime; }, supportsPassive ? { passive: true } : false ); form.addEventListener( 'keyup', function ( e ) { if ( ! ( e.key in keydowns ) ) { // This key was pressed before this script was loaded, or a mouseclick happened during the keypress, or... return; } var keyupTime = ( new Date() ).getTime(); if ( 'TEXTAREA' === e.target.nodeName || 'INPUT' === e.target.nodeName ) { if ( -1 !== modifierKeyCodes.indexOf( e.key ) ) { modifierKeys.push( keypresses.length - 1 ); } else if ( -1 !== correctionKeyCodes.indexOf( e.key ) ) { correctionKeys.push( keypresses.length - 1 ); } else { // ^ Don't record timings for keys like Shift or backspace, since they // typically get held down for longer than regular typing. var keydownTime = keydowns[ e.key ][0]; var keypress = []; // Keypress duration. keypress.push( keyupTime - keydownTime ); // Amount of time between this keypress and the previous keypress. if ( keydowns[ e.key ].length > 1 ) { keypress.push( keydowns[ e.key ][1] ); } keypresses.push( keypress ); } } delete keydowns[ e.key ]; lastKeyup = keyupTime; }, supportsPassive ? { passive: true } : false ); form.addEventListener( "focusin", function ( e ) { lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); form.addEventListener( "focusout", function ( e ) { lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); } document.addEventListener( 'mousedown', function ( e ) { lastMousedown = ( new Date() ).getTime(); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'mouseup', function ( e ) { if ( ! lastMousedown ) { // If the mousedown happened before this script was loaded, but the mouseup happened after... return; } var now = ( new Date() ).getTime(); var mouseclick = []; mouseclick.push( now - lastMousedown ); if ( lastMouseup ) { mouseclick.push( lastMousedown - lastMouseup ); } mouseclicks.push( mouseclick ); lastMouseup = now; // If the mouse has been clicked, don't record this time as an interval between keypresses. lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'mousemove', function ( e ) { if ( mousemoveTimer ) { clearTimeout( mousemoveTimer ); mousemoveTimer = null; } else { mousemoveStart = ( new Date() ).getTime(); lastMousemoveX = e.offsetX; lastMousemoveY = e.offsetY; } mousemoveTimer = setTimeout( function ( theEvent, originalMousemoveStart ) { var now = ( new Date() ).getTime() - 500; // To account for the timer delay. var mousemove = []; mousemove.push( now - originalMousemoveStart ); mousemove.push( Math.round( Math.sqrt( Math.pow( theEvent.offsetX - lastMousemoveX, 2 ) + Math.pow( theEvent.offsetY - lastMousemoveY, 2 ) ) ) ); if ( mousemove[1] > 0 ) { // If there was no measurable distance, then it wasn't really a move. mousemoves.push( mousemove ); } mousemoveStart = null; mousemoveTimer = null; }, 500, e, mousemoveStart ); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchmove', function ( e ) { if ( touchmoveCountTimer ) { clearTimeout( touchmoveCountTimer ); } touchmoveCountTimer = setTimeout( function () { touchmoveCount++; }, 500 ); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchstart', function ( e ) { lastTouchStart = ( new Date() ).getTime(); }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'touchend', function ( e ) { if ( ! lastTouchStart ) { // If the touchstart happened before this script was loaded, but the touchend happened after... return; } var now = ( new Date() ).getTime(); var touchEvent = []; touchEvent.push( now - lastTouchStart ); if ( lastTouchEnd ) { touchEvent.push( lastTouchStart - lastTouchEnd ); } touchEvents.push( touchEvent ); lastTouchEnd = now; // Don't record this time as an interval between keypresses. lastKeydown = null; lastKeyup = null; keydowns = {}; }, supportsPassive ? { passive: true } : false ); document.addEventListener( 'scroll', function ( e ) { if ( scrollCountTimer ) { clearTimeout( scrollCountTimer ); } scrollCountTimer = setTimeout( function () { scrollCount++; }, 500 ); }, supportsPassive ? { passive: true } : false ); } /** * For the timestamp data that is collected, don't send more than `limit` data points in the request. * Choose a random slice and send those. */ function prepare_timestamp_array_for_request( a, limit ) { if ( ! limit ) { limit = 100; } var rv = ''; if ( a.length > 0 ) { var random_starting_point = Math.max( 0, Math.floor( Math.random() * a.length - limit ) ); for ( var i = 0; i < limit && i < a.length; i++ ) { rv += a[ random_starting_point + i ][0]; if ( a[ random_starting_point + i ].length >= 2 ) { rv += "," + a[ random_starting_point + i ][1]; } rv += ";"; } } return rv; } if ( document.readyState !== 'loading' ) { init(); } else { document.addEventListener( 'DOMContentLoaded', init ); } })(); Thiên táng hình thức mai táng "kì lạ" của người Tây Tạng

Thiên táng hình thức mai táng “kì lạ” của người Tây Tạng

Vùng đất Tây Tạng có rất nhiều điều kỳ bí và tục lệ thiên táng được xem là một trong những ẩn số trong văn hóa phong tục nơi đây.

Coi trọng nghi thức

Theo truyền thống và văn hóa lâu đời ở Tây Tạng, người dân rất đề cao nghi thức tang lễ. Việc chăm sóc cần thận dành cho người qua đời.

Những truyền thống liên quan đến sự chết ở Tây Tạng phản ánh sự hội tụ của niềm tin và thực hành bản địa kết hợp với Phật giáo trong suốt thời gian hơn một ngàn năm qua. Nhiều nghi thức được diễn ra để đảm bảo người ra đi có một hành trình thuận lợi trong kiếp sống mới.

Thành ngữ Tây Tạng có câu: “Người nào ý thức được sự sống sẽ ý thức được cả sự chết“. Câu hỏi đặt ra làm thế nào để ý thức được sự sống. Người Tây Tạng trả lời câu hỏi này qua thành ngữ: “Biết cách ý thức sự sống là một công phu, và nếu nó là một công phu, người ta có thể tập luyện được“.

Giải mã bí ẩn tục lệ thiên táng kỳ lạ của người Tây Tạng - Ảnh 2.

Nhiều sách vở truyền thống Tây Tạng đã đề cập đến công phu này. Nhiều người cho rằng cõi sống và cõi chết rất xa cách nhau, nhưng riêng người Tây Tạng lại cho rằng hai cõi này gần nhau trong gang tấc, đến độ có thể giơ tay ra nắm bắt lấy nhau.

Người Tây Tạng cho rằng phương pháp hiệu quả nhất để định hướng hành trình cho một người lúc lâm chung là thực hành phowa (tib. འཕོ་བ་; sa. saṃkrānti), tiếng Việt là “phép chuyển di tâm thức” . Đây là phương pháp giúp thần thức của người lâm chung rời khỏi cơ thể qua huyệt bách hội nằm ở đỉnh đầu.

Theo Phật giáo Kim Cương thừa, vào lúc chết thần thức sẽ thoát ra qua một trong 10 “lỗ mở” của thân (hậu môn, bộ phận sinh dục, miệng, hai lỗ mũi, hai lỗ tai, hai con mắt, và huyệt bách hội trên đỉnh đầu).

Nếu thần thức của người chết thoát ra qua những lỗ ở phần trên cơ thể, thí dụ như qua huyệt bách hội, sẽ giúp người đó được tái sinh vào một cảnh giới cao hơn.

Quy định kỳ lạ

Theo truyền thống Tây Tạng, khi gia đình có người đang hấp hối, không ai được động vào xác chừng nào nghi thức phowa chưa được thực hiện.

Một Lạt-ma được xem là thành thạo về phowa sẽ được mời thực hiện tại chỗ nghi lễ này cho người hấp hối. Qua những lời chỉ dẫn và bằng một phương pháp xoa bóp đặc biệt, vị Lạt-ma này sẽ hướng dẫn thần thức người đang hấp hối di chuyển từ từ lên phía đỉnh đầu.

Khi thần thức đã chuyển hết được lên đầu thì vị Lạtma sẽ tập trung ý chí phát ra âm thanh “Hik-Phat” để mở lỗ mở trên đỉnh đầu cho thần thức thoát ra ngoài. Sau vài giờ mới được phép động vào xác chết, và người có nhiệm vụ đầu tiên sẽ chạm vào đỉnh đầu, một dấu hiệu nói lên sự rời đi của thần thức do phowa tạo ra.

Sau đó xác chết sẽ được tắm bằng nước thơm, bọc bằng vải sạch, miệng được nhét bơ. Xác còn được buộc bằng những sợi dây làm từ thớ cây để giữ cho nó bất động, phòng khi nó trở thành một thây ma sống lại (zombie).

Giải mã bí ẩn thiên táng

Trong hành trình cuối cùng, xác người chết sẽ rời khỏi nhà trước khi trời sáng. Ngoài các phương thức mai táng phổ biến là địa táng hay thủy táng, phương thức được ưa chuộng ở Tây Tạng là hỏa táng và thiên táng.

Thiên táng (tib. jhator བྱ་གཏོར་, eng. sky burial) là một thực hành tang lễ tại Tây Tạng, trong đó xác người chết được mang lên núi, để tự phân hủy khi tiếp xúc với thiên nhiên, hoặc bị ăn thịt bởi các động vật như chim kền kền, bởi vậy “thiên táng” còn có tên khác là “điểu táng“.

Thiên táng được coi là một trong những hình thức mai táng kỳ dị và bí ẩn bậc nhất trên thế giới.

Giải mã bí ẩn tục lệ thiên táng kỳ lạ của người Tây Tạng - Ảnh 3.

Có hai hình thức thiên táng: cơ bản và long trọng. Những người dân du mục và dân làng ở vùng hẻo lánh thường sử dụng thiên táng cơ bản. Người chết đơn giản được mang lên núi để lũ kền kền tự tìm đến. Cách thứ hai phức tạp và mang tính nghi thức hơn.

Như đã nói, Lạt-ma sẽ cầu nguyện cho người quá cố được đặt ở tư thế ngồi suốt 24 giờ. Thi thể được cầu nguyện, tắm rửa sạch sẽ và bọc trong vải trắng. Người ta sẽ bẻ quặp hai đầu gối lên phía trên, phần đầu cho gập xuống ngực rồi bỏ vào bao vải.

Giải mã bí ẩn tục lệ thiên táng kỳ lạ của người Tây Tạng - Ảnh 4.

Xong đâu đó, họ buộc nó vào một đòn khiêng rồi đem đặt ở phòng trước nhà; đến ngày phát tang, họ khiêng xác chết đến một gò đất rộng hoặc đến một nơi hoang dã trên núi cao để mai táng. Hành trình đến nơi mai táng bắt đầu lúc sáng sớm.

Các thành viên trong gia đình đi cùng để tụng kinh và chơi nhạc đám ma, nhưng phải giữ một khoảng cách nhất định với người chết.

Thi thể người chết được đặt nằm sấp xuống mặt đá, các “rogyapa” (người xử lý xác chết) sẽ đốt cây bách xù để tạo mùi thu hút đàn kền kền và bắt đầu công việc của mình với một con dao sắc bén.

Từ tóc đến nội tạng, cuối cùng là tay chân của người quá cố được bóc tách và ném cho đám kền kền đói xúm lại. Rogyapa tiếp tục đập dập bộ xương còn lại, sau đó trộn với bột lúa mạch để đàn chim dễ “tiêu thụ” hơn.

Sau đám tang, vị Lạt-ma sẽ tiếp tục cầu nguyện và hành lễ trong bảy tuần liên tiếp (49 ngày). Một hình nộm bằng rơm hay gỗ được mang đến tượng trưng cho xác chết. Vị Lạt-ma lấy một mảnh giấy vẽ mặt người chết dán lên hình nộm rồi ngồi đó tiếp tục hướng dẫn.

Sau 49 ngày, ông đốt tấm giấy phủ mặt hình nộm như một hình thức cho biết người chết đã cắt đứt mọi liên lạc với người sống. Trong nghi lễ cuối cùng này, mọi người trong gia đình xúm quanh lại và nói những câu đã soạn sẵn mà người châu Âu có thể cho là ngô nghê, giả dụ như:

Này anh kia, anh đã chết rồi, đã đi thật xa rồi. Anh không còn dính dáng đến cái nhà này nữa. Hãy mau mau ăn bữa cơm chót rồi lên đường, từ nay đừng có trở về đây“…

49 ngày là quãng thời gian trùng với phong tục của rất nhiều truyền thống ở các nước phương Đông khác, chẳng hạn như Việt Nam.

Giải mã bí ẩn tục lệ thiên táng kỳ lạ của người Tây Tạng - Ảnh 5.

Cơ thể chỉ giống như chiếc xe để chuyên chở linh hồn trong quan niệm của người Tây Tạng. Ảnh: Everplans

Thiên táng có vẻ như một tập tục “man rợ”. Tuy nhiên, người Tây Tạng lại cho rằng cơ thể con người chỉ là phương tiện, như chiếc xe để chuyên chở linh hồn.

Một khi chiếc xe đó đã quá rệu rạo và linh hồn đã rời bỏ nó, thì nó không còn giá trị gì nữa và nên bỏ đi, trong cách hào phóng nhất là dùng làm thức ăn cho các loài chúng sinh khác.

Tại sao người Tây Tạng chọn hình thức thiên táng cho người quá cố?

Trên thực tế, người Tây Tạng xem thiên táng như một nghi thức hết sức trang trọng, là thứ cúng dường cuối cùng và rốt ráo nhất mà một người có thể thực hiện: hy sinh chính xương thịt của mình cho những sinh linh bị đói, và những loài này sẽ đưa người quá cố về những cõi trời thanh tịnh.

Về mặt lịch sử địa chất, cao nguyên Tây Tạng là hệ sinh thái tồn tại ở nơi cao nhất trên thế giới. Đất đá ở đây cứng lạnh. Người Tây Tạng không thể tiến hành chôn cất dưới lớp đá cứng hay băng lạnh, còn đất thì đắt đỏ. Việc hỏa táng cũng rất khó khăn vì gỗ cây, nhiên liệu đốt rất khan hiếm.

Trong khi đó, những đàn kền kền đói lượn khắp bầu trời, và sói lang thang quanh vùng. Với những đặc điểm địa lý đó, thiên táng xem ra là hợp lý nhất với họ.

Dù nhìn nhận của mọi người về tục lệ thiên táng huyền bí có đôi phần “man rợ” nhưng đây vẫn là một trong những nét văn hóa truyền thống thấm nhuần trong đời sống của người dân Tây Tạng.

Theo:http://dichvutangle.vn/

Xem thêm:

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

MR PHƯƠNG 0965.435.666